From: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com>
Add NXP S32N79 SoC compatible string and interrupt properties.
On S32N79, FlexCAN IP is integrated with two interrupt lines:
one for the mailbox interrupts (0-127) and one for signaling
errors and bus state changes.
Co-developed-by: Andra-Teodora Ilie <andra.ilie@nxp.com>
Signed-off-by: Andra-Teodora Ilie <andra.ilie@nxp.com>
Co-developed-by: Larisa Grigore <larisa.grigore@nxp.com>
Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com>
---
.../bindings/net/can/fsl,flexcan.yaml | 30 ++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml b/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml
index f81d56f7c12a..131fae2739fa 100644
--- a/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml
+++ b/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml
@@ -26,6 +26,7 @@ properties:
- fsl,ls1021ar2-flexcan
- fsl,lx2160ar1-flexcan
- nxp,s32g2-flexcan
+ - nxp,s32n79-flexcan
- items:
- enum:
- fsl,imx53-flexcan
@@ -173,11 +174,38 @@ allOf:
- const: mb-1
required:
- interrupt-names
- else:
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: nxp,s32n79-flexcan
+ then:
+ properties:
+ interrupts:
+ items:
+ - description: Message Buffer interrupt for mailboxes 0-127
+ - description: Bus Error interrupt
+ interrupt-names:
+ items:
+ - const: mb-0
+ - const: berr
+ required:
+ - interrupt-names
+
+ - if:
+ not:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - nxp,s32g2-flexcan
+ - nxp,s32n79-flexcan
+ then:
properties:
interrupts:
maxItems: 1
interrupt-names: false
+
- if:
required:
- xceiver-supply
--
2.43.0
On 18.03.2026 10:22:11, Ciprian Costea wrote: > From: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> > > Add NXP S32N79 SoC compatible string and interrupt properties. > > On S32N79, FlexCAN IP is integrated with two interrupt lines: > one for the mailbox interrupts (0-127) and one for signaling > errors and bus state changes. Comment from patch#2 applies here, too: Usually it's "bus error" and "state changes", as the errors happen visible for everyone on the bus, while the state change is local to the controller (every controller has it's own state). > Co-developed-by: Andra-Teodora Ilie <andra.ilie@nxp.com> > Signed-off-by: Andra-Teodora Ilie <andra.ilie@nxp.com> > Co-developed-by: Larisa Grigore <larisa.grigore@nxp.com> > Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com> > Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> > --- > .../bindings/net/can/fsl,flexcan.yaml | 30 ++++++++++++++++++- > 1 file changed, 29 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml b/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml > index f81d56f7c12a..131fae2739fa 100644 > --- a/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml > +++ b/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml > @@ -26,6 +26,7 @@ properties: > - fsl,ls1021ar2-flexcan > - fsl,lx2160ar1-flexcan > - nxp,s32g2-flexcan > + - nxp,s32n79-flexcan > - items: > - enum: > - fsl,imx53-flexcan > @@ -173,11 +174,38 @@ allOf: > - const: mb-1 > required: > - interrupt-names > - else: > + - if: > + properties: > + compatible: > + contains: > + const: nxp,s32n79-flexcan > + then: > + properties: > + interrupts: > + items: > + - description: Message Buffer interrupt for mailboxes 0-127 > + - description: Bus Error interrupt It's a combined Device state change and Bus Error detection interrupt? > + interrupt-names: > + items: > + - const: mb-0 > + - const: berr > + required: > + - interrupt-names > + > + - if: > + not: > + properties: > + compatible: > + contains: > + enum: > + - nxp,s32g2-flexcan > + - nxp,s32n79-flexcan Is there else if or something like that in YAML? > + then: > properties: > interrupts: > maxItems: 1 > interrupt-names: false > + > - if: > required: > - xceiver-supply > -- > 2.43.0 > > > regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung Nürnberg | Phone: +49-5121-206917-129 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
On 3/18/2026 12:47 PM, Marc Kleine-Budde wrote: > On 18.03.2026 10:22:11, Ciprian Costea wrote: >> From: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> >> >> Add NXP S32N79 SoC compatible string and interrupt properties. >> >> On S32N79, FlexCAN IP is integrated with two interrupt lines: >> one for the mailbox interrupts (0-127) and one for signaling >> errors and bus state changes. > Hello Marc, Thank you for your review. Correct, I will update the commit message in V2 to clearly state the two different CAN concepts (bus error vs device state changes -- not bus state changes). > Comment from patch#2 applies here, too: > > Usually it's "bus error" and "state changes", as the errors happen > visible for everyone on the bus, while the state change is local to the > controller (every controller has it's own state). > >> Co-developed-by: Andra-Teodora Ilie <andra.ilie@nxp.com> >> Signed-off-by: Andra-Teodora Ilie <andra.ilie@nxp.com> >> Co-developed-by: Larisa Grigore <larisa.grigore@nxp.com> >> Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com> >> Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@oss.nxp.com> >> --- >> .../bindings/net/can/fsl,flexcan.yaml | 30 ++++++++++++++++++- >> 1 file changed, 29 insertions(+), 1 deletion(-) >> >> diff --git a/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml b/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml >> index f81d56f7c12a..131fae2739fa 100644 >> --- a/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml >> +++ b/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml >> @@ -26,6 +26,7 @@ properties: >> - fsl,ls1021ar2-flexcan >> - fsl,lx2160ar1-flexcan >> - nxp,s32g2-flexcan >> + - nxp,s32n79-flexcan >> - items: >> - enum: >> - fsl,imx53-flexcan >> @@ -173,11 +174,38 @@ allOf: >> - const: mb-1 >> required: >> - interrupt-names >> - else: >> + - if: >> + properties: >> + compatible: >> + contains: >> + const: nxp,s32n79-flexcan >> + then: >> + properties: >> + interrupts: >> + items: >> + - description: Message Buffer interrupt for mailboxes 0-127 >> + - description: Bus Error interrupt > > It's a combined Device state change and Bus Error detection interrupt? > I will update the description in V2 to: 'Bus Error detection and Device state change interrupt'. >> + interrupt-names: >> + items: >> + - const: mb-0 >> + - const: berr >> + required: >> + - interrupt-names >> + >> + - if: >> + not: >> + properties: >> + compatible: >> + contains: >> + enum: >> + - nxp,s32g2-flexcan >> + - nxp,s32n79-flexcan > > Is there else if or something like that in YAML? > AFAIK, dt-schema YAML doesn't have else if. The negated if (not/contains/enum) seems to be the standard approach used elsewhere in the dt-bindings tree, e.g., in [1], [2], [3]. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/thermal/rcar-thermal.yaml#n70 [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/phy/realtek,usb2phy.yaml#n151 [3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml#n148 Best Regards, Ciprian >> + then: >> properties: >> interrupts: >> maxItems: 1 >> interrupt-names: false >> + >> - if: >> required: >> - xceiver-supply >> -- >> 2.43.0 >> >> >> > > regards, > Marc > > -- > Pengutronix e.K. | Marc Kleine-Budde | > Embedded Linux | https://www.pengutronix.de | > Vertretung Nürnberg | Phone: +49-5121-206917-129 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
© 2016 - 2026 Red Hat, Inc.