public inbox for imx@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH v3 0/6] can: flexcan: Add NXP S32N79 SoC support
@ 2026-03-23 13:58 Ciprian Costea
  2026-03-23 13:58 ` [PATCH v3 1/6] can: flexcan: use dedicated IRQ handlers for multi-IRQ platforms Ciprian Costea
                   ` (7 more replies)
  0 siblings, 8 replies; 15+ messages in thread
From: Ciprian Costea @ 2026-03-23 13:58 UTC (permalink / raw)
  To: Marc Kleine-Budde, Vincent Mailhol, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Frank Li, Sascha Hauer,
	Fabio Estevam
  Cc: Pengutronix Kernel Team, linux-can, devicetree, linux-kernel, imx,
	linux-arm-kernel, NXP S32 Linux Team, Christophe Lizzi,
	Alberto Ruiz, Enric Balletbo, Eric Chanudet,
	Ciprian Marian Costea

From: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com>

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. Splits flexcan_irq() into dedicated handlers for multi-IRQ platforms
  2. Adds dt-bindings documentation for S32N79 FlexCAN
  3. Introduces FLEXCAN_QUIRK_IRQ_BERR to handle the two-interrupt
     configuration
  4. Adds S32N79 device data and compatible string to the driver
  5. Adds FlexCAN device tree nodes for S32N79 SoC
  6. Enables FlexCAN devices on the S32N79-RDB board

Tested on S32N79-RDB board with CAN and CAN FD communication.

v3 -> v2
- Split flexcan_irq() into dedicated handlers (flexcan_irq_mb,
  flexcan_irq_boff, flexcan_irq_berr) to fix duplicate event
  processing when multiple IRQ lines run concurrently (new patch).
- Added flexcan_irq_esr() handler composing state + berr for S32N79
- Ordered quirks used by s32n devtype data by value.

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 (6):
  can: flexcan: use dedicated IRQ handlers for multi-IRQ platforms
  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        | 180 ++++++++++++++++--
 drivers/net/can/flexcan/flexcan.h             |   2 +
 5 files changed, 253 insertions(+), 21 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2026-03-25 12:46 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-23 13:58 [PATCH v3 0/6] can: flexcan: Add NXP S32N79 SoC support Ciprian Costea
2026-03-23 13:58 ` [PATCH v3 1/6] can: flexcan: use dedicated IRQ handlers for multi-IRQ platforms Ciprian Costea
2026-03-24 11:56   ` Marc Kleine-Budde
2026-03-24 12:30     ` Ciprian Marian Costea
2026-03-24 13:44       ` Marc Kleine-Budde
2026-03-23 13:58 ` [PATCH v3 2/6] dt-bindings: can: fsl,flexcan: add NXP S32N79 SoC support Ciprian Costea
2026-03-23 19:35   ` Conor Dooley
2026-03-23 13:58 ` [PATCH v3 3/6] can: flexcan: add FLEXCAN_QUIRK_IRQ_BERR quirk Ciprian Costea
2026-03-23 13:58 ` [PATCH v3 4/6] can: flexcan: add NXP S32N79 SoC support Ciprian Costea
2026-03-23 13:58 ` [PATCH v3 5/6] arm64: dts: s32n79: add FlexCAN nodes Ciprian Costea
2026-03-23 13:58 ` [PATCH v3 6/6] arm64: dts: s32n79: enable FlexCAN devices Ciprian Costea
2026-03-24 11:58 ` [PATCH v3 0/6] can: flexcan: Add NXP S32N79 SoC support Marc Kleine-Budde
2026-03-24 12:18   ` Ciprian Marian Costea
2026-03-24 13:46 ` Marc Kleine-Budde
2026-03-25 12:45   ` Ciprian Marian Costea

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox