-
Notifications
You must be signed in to change notification settings - Fork 143
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
Add SAMD5x/E5x and all missing SAMx7x devices #827
Conversation
@salkinium In a lot of places we are making the assumption that device families have unique device name prefixes. For SAM this is not true, e.g. |
The auto-generated HAL matrix table makes not much sense anymore with these devices added. The shown device families are D21, E, G55, S, V70. |
That's fine by me. |
c5ca24d
to
ed3c76e
Compare
db44fa5
to
ce65fd8
Compare
b82ef5f
to
27b972a
Compare
0fef8a1
to
0572fc7
Compare
Do you already want review feedback at this point? |
I would appreciate a first review. Keep in mind that I haven't updated the PR description yet. There is a lot more stuff in there than mentioned. |
Just FYI, the diff does not correctly show that in this commit the uart drivers have been renamed. It might look like entirely new code in the diff but it isn't. |
- Parse synchronous APB clock enable information from device headers - Add GCLK API to enable / disable bus clocks This change applies to all SAM devices with GCLK peripheral.
Extended and refactored GCLK driver. All implicit assumption that should be in user code were removed from the driver. Clock generators can be freely configured from user code. Features: - Flexible generator configuration - Clock sources and peripheral sinks from device data - External crystal, external 32k crystal support - Internal oscillator configuration - Dfll48 open/closed loop configuration
setInput(InputType) erroneously reset the type to floating after enabling pull-ups.
55e5c31
to
8c9b4d8
Compare
In case a header version with a variant suffix and one without exist it was not defined which one was selected.
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.
Thanks a lot! I will merge this at the latest tomorrow together with the modm-devices PR and update the Q3 release.
@rleh do you still want to review this PR? |
sam
->sam-sercom
samg
->sam
Not all devices which belong to one logical family share a common name prefix (e.g. the E70/S70/V70/V71 device family). The identifier scheme is changed to
SAMx7x have both UART and USART peripherals with the same id. The driver is adapted to provide
:platform:uart:*
and:platform:usart:*
modules. This driver is also shared with the SAMG devices. For implementation simplicity and consistency I have changed the SAMG USART peripheral to also use the:platform:usart
module and naming (see this commit). This is a breaking change. Would that be fine with you @mcbridejc @salkinium ?I have also renamed the previous "samg" UART driver to "sam" because this one is used by all SAM devices without SERCOM peripheral. The SERCOM based driver driver is renamed from "sam" to "sam-sercom". That renaming is a bit too much for github to display correctly in the diff.