-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Add basic SAM E54 support and SAM E54 Xplained board #3046
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
I suggest filling |
Initially I wrote this so that SAMD51 and SAME54 preprocessor defines were both defined for the new board. This is tricky because when you write the #if blocks to do something different, you have to put the SAME54 block first, so I think it's not a good idea. I'm rewriting it so that SAMx5FAM is defined for both systems, and then just one of SAMD51 or SAME54 is defined. Thoughts @dhalbert @tannewt ? Especially if you want to intervene on the naming, sooner is better. This'll require additional changes in peripherals submodule too. |
Discussion is in adafruit/samd-peripherals#33 |
This introduces the new macro SAM_D5X_E5X. This is mostly the same as SAMD51 before, except in a few places where a special case for SAME54 is required
Few peripherals are actually tested. However, USB, I2C and GPIO seem to work. Most pins are silkscreened with the "PX00" style, so the board module only includes the small number that are screened differently. The default SPI, I2C, and UART are the ones on the EXT2 header. This is arbitrary, but the I2C on this connector is shared with the on-board I2C devices and the PCC header, making it the most versatile.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
Is this all ready or does it need submodules samd-peripherals and/or asf4 updated?
I verified that the asf4 and peripherals submodule commits are within the circuitpython and master branches of those repos respectively. |
Few peripherals are actually tested. However, USB, I2C and GPIO seem to work.
The default SPI, I2C, and UART are the ones on the EXT2 header. This is arbitrary, but the I2C on this connector is shared with the on-board I2C devices and the PCC header, making it the most versatile.
Only 16MiB of the 32MiB (256Mbit) flash is supported, due to the supervisor code for flash assuming 24-bit addresses.
This depends on adafruit/samd-peripherals#33 and adafruit/asf4#35 which are in draft status at the moment. I figure this PR is likely to be a better place to discuss the issues before moving them out of draft status.
The main reason I'm working on this is because this board has an SD card slot wired for SDIO, so it will resolve any questions about correct wiring in #2863.