[PATCH v2 0/5] can: flexcan: Add NXP S32N79 SoC support
From: Ciprian Costea
Date: Thu Mar 19 2026 - 06:09:44 EST
From: Ciprian Marian Costea <ciprianmarian.costea@xxxxxxxxxxx>
This patch series adds FlexCAN support for the NXP S32N79 SoC.
The S32N79 is an automotive-grade processor from NXP with multiple
FlexCAN instances. The FlexCAN IP integration on S32N79 differs from
other SoCs in the interrupt routing - it uses two separate interrupt
lines:
- one interrupt for mailboxes 0-127
- one interrupt for bus error detection and device state changes
The CAN controllers are connected through an irqsteer interrupt
controller in the RCU (Resource Control Unit) domain.
This series:
1. Adds dt-bindings documentation for S32N79 FlexCAN
2. Introduces FLEXCAN_QUIRK_IRQ_BERR to handle the two-interrupt
configuration
3. Adds S32N79 device data and compatible string to the driver
4. Adds FlexCAN device tree nodes for S32N79 SoC
5. Enables FlexCAN devices on the S32N79-RDB board
Tested on S32N79-RDB board with CAN and CAN FD communication.
v2 -> v1
- Renamed FLEXCAN_QUIRK_NR_IRQ_2 to FLEXCAN_QUIRK_IRQ_BERR to better
describe the actual hardware feature
- Appended new quirk at the end
- Switched from platform_get_irq to platform_get_irq_byname usage
- Updated interrupt description in dt-bindings
Ciprian Marian Costea (5):
dt-bindings: can: fsl,flexcan: add NXP S32N79 SoC support
can: flexcan: add FLEXCAN_QUIRK_IRQ_BERR quirk
can: flexcan: add NXP S32N79 SoC support
arm64: dts: s32n79: add FlexCAN nodes
arm64: dts: s32n79: enable FlexCAN devices
.../bindings/net/can/fsl,flexcan.yaml | 30 ++++++++++-
arch/arm64/boot/dts/freescale/s32n79-rdb.dts | 12 +++++
arch/arm64/boot/dts/freescale/s32n79.dtsi | 50 +++++++++++++++++++
drivers/net/can/flexcan/flexcan-core.c | 31 ++++++++++--
drivers/net/can/flexcan/flexcan.h | 2 +
5 files changed, 121 insertions(+), 4 deletions(-)
--
2.43.0