-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
drivers: can: add support for Nordic nRF MCAN #73386
Conversation
aec56dd
to
1740b4c
Compare
The new version is required for the introduction of nRF MCAN: zephyrproject-rtos/zephyr#73386 Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
>=5.3.0 is required for proper CAN support. Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Add binding for Nordic CAN peripheral, based on the Bosch MCAN IP. Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Define CAN120 instance. Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Configure CAN120 MCAN core registers as non-cachable to prevent D-Cache from inhibiting volatile accesses to the CAN120 MCAN registers. Also apply non-cachable attribute to the message ram region. Even though the MCAN driver handles cache invalidation/flushing, MPU faults are still triggered (to be investigated). Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
So that we can configure CAN pins. Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Add driver for the Nordic CAN peripheral, based on Bosch MCAN IP. Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Enable canpll (required to clock CAN), and can120 instance, routed to pins P9.4 and P9.5. Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
last push: added |
#define CAN_INTEN offsetof(NRF_CAN_Type, INTEN) | ||
|
||
struct can_nrf_config { | ||
uint32_t wrapper; |
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.
Just out of curiosity, what is this wrapper? Is it something related to multicore and irq?
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.
nope, it's just the nordic-specific thin layer on top of the Bosch MCAN IP (eg IRQ enablement, events, etc.)
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.A datasheet would be nice. When is it released?
The new version is required for the introduction of nRF MCAN: zephyrproject-rtos/zephyr#73386 Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Late this year! |
No description provided.