Message ID | 20250220130427.217342-3-biju.das.jz@bp.renesas.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | Add support for RZ/G3E CANFD | expand |
On Thu, Feb 20, 2025 at 01:04:18PM +0000, Biju Das wrote: > Document support for the CAN-FD Interface on the RZ/G3E (R9A09G047) SoC, > which supports up to six channels. > > The CAN-FD module on RZ/G3E is very similar to the one on both R-Car V4H > and RZ/G2L, but differs in some hardware parameters: > * No external clock, but instead has ram clock. > * Support up to 6 channels. > * 20 interrupts. > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> > --- > v1->v2: > * No change. > --- > .../bindings/net/can/renesas,rcar-canfd.yaml | 67 +++++++++++++++++-- > 1 file changed, 62 insertions(+), 5 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml > index f87f90f431e5..189d5303ad75 100644 > --- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml > +++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml > @@ -42,6 +42,8 @@ properties: > - renesas,r9a07g054-canfd # RZ/V2L > - const: renesas,rzg2l-canfd # RZ/G2L family > > + - const: renesas,r9a09g047-canfd # RZ/G3E > + > reg: > maxItems: 1 > > @@ -59,6 +61,19 @@ properties: > - description: CAN1 error interrupt > - description: CAN1 transmit interrupt > - description: CAN1 transmit/receive FIFO receive completion interrupt > + - description: CAN2 error interrupt > + - description: CAN2 transmit interrupt > + - description: CAN2 transmit/receive FIFO receive completion interrupt > + - description: CAN3 error interrupt > + - description: CAN3 transmit interrupt > + - description: CAN3 transmit/receive FIFO receive completion interrupt > + - description: CAN4 error interrupt > + - description: CAN4 transmit interrupt > + - description: CAN4 transmit/receive FIFO receive completion interrupt > + - description: CAN5 error interrupt > + - description: CAN5 transmit interrupt > + - description: CAN5 transmit/receive FIFO receive completion interrupt > + minItems: 8 > > interrupt-names: > oneOf: > @@ -74,15 +89,33 @@ properties: > - const: ch1_err > - const: ch1_rec > - const: ch1_trx > + - const: ch2_err > + - const: ch2_rec > + - const: ch2_trx > + - const: ch3_err > + - const: ch3_rec > + - const: ch3_trx > + - const: ch4_err > + - const: ch4_rec > + - const: ch4_trx > + - const: ch5_err > + - const: ch5_rec > + - const: ch5_trx > + minItems: 8 > > clocks: > maxItems: 3 > > clock-names: > - items: > - - const: fck > - - const: canfd > - - const: can_clk > + oneOf: > + - items: > + - const: fck > + - const: canfd > + - const: can_clk > + - items: > + - const: fck > + - const: ram_clk > + - const: can_clk > > power-domains: > maxItems: 1 > @@ -173,7 +206,9 @@ allOf: > properties: > compatible: > contains: > - const: renesas,rzg2l-canfd > + enum: > + - renesas,r9a09g047-canfd > + - renesas,rzg2l-canfd > then: > properties: > resets: > @@ -187,6 +222,19 @@ allOf: > required: > - reset-names > > + - if: > + properties: > + compatible: > + contains: > + const: renesas,r9a09g047-canfd > + then: > + properties: > + interrupts: > + maxItems: 20 > + > + interrupt-names: > + maxItems: 20 Should these be minItems instead of maxItems? The list has 20 elements at the moment (right?) so you're not adding any restriction here. > + > - if: > properties: > compatible: > @@ -219,6 +267,15 @@ allOf: > patternProperties: > "^channel[4-7]$": false > > + - if: > + properties: > + compatible: > + contains: > + const: renesas,r9a09g047-canfd > + then: > + patternProperties: > + "^channel[6-7]$": false > + > unevaluatedProperties: false > > examples: > -- > 2.43.0 >
Hi Conor Dooley, Thanks for the feedback. > -----Original Message----- > From: Conor Dooley <conor@kernel.org> > Sent: 21 February 2025 17:54 > Subject: Re: [PATCH v2 2/7] dt-bindings: can: renesas,rcar-canfd: Document RZ/G3E support > > On Thu, Feb 20, 2025 at 01:04:18PM +0000, Biju Das wrote: > > Document support for the CAN-FD Interface on the RZ/G3E (R9A09G047) > > SoC, which supports up to six channels. > > > > The CAN-FD module on RZ/G3E is very similar to the one on both R-Car > > V4H and RZ/G2L, but differs in some hardware parameters: > > * No external clock, but instead has ram clock. > > * Support up to 6 channels. > > * 20 interrupts. > > > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> > > --- > > v1->v2: > > * No change. > > --- > > .../bindings/net/can/renesas,rcar-canfd.yaml | 67 > > +++++++++++++++++-- > > 1 file changed, 62 insertions(+), 5 deletions(-) > > > > diff --git > > a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml > > b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml > > index f87f90f431e5..189d5303ad75 100644 > > --- > > a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml > > +++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yam > > +++ l > > @@ -42,6 +42,8 @@ properties: > > - renesas,r9a07g054-canfd # RZ/V2L > > - const: renesas,rzg2l-canfd # RZ/G2L family > > > > + - const: renesas,r9a09g047-canfd # RZ/G3E > > + > > reg: > > maxItems: 1 > > > > @@ -59,6 +61,19 @@ properties: > > - description: CAN1 error interrupt > > - description: CAN1 transmit interrupt > > - description: CAN1 transmit/receive FIFO receive > > completion interrupt > > + - description: CAN2 error interrupt > > + - description: CAN2 transmit interrupt > > + - description: CAN2 transmit/receive FIFO receive completion interrupt > > + - description: CAN3 error interrupt > > + - description: CAN3 transmit interrupt > > + - description: CAN3 transmit/receive FIFO receive completion interrupt > > + - description: CAN4 error interrupt > > + - description: CAN4 transmit interrupt > > + - description: CAN4 transmit/receive FIFO receive completion interrupt > > + - description: CAN5 error interrupt > > + - description: CAN5 transmit interrupt > > + - description: CAN5 transmit/receive FIFO receive completion interrupt > > + minItems: 8 > > > > interrupt-names: > > oneOf: > > @@ -74,15 +89,33 @@ properties: > > - const: ch1_err > > - const: ch1_rec > > - const: ch1_trx > > + - const: ch2_err > > + - const: ch2_rec > > + - const: ch2_trx > > + - const: ch3_err > > + - const: ch3_rec > > + - const: ch3_trx > > + - const: ch4_err > > + - const: ch4_rec > > + - const: ch4_trx > > + - const: ch5_err > > + - const: ch5_rec > > + - const: ch5_trx > > + minItems: 8 > > > > clocks: > > maxItems: 3 > > > > clock-names: > > - items: > > - - const: fck > > - - const: canfd > > - - const: can_clk > > + oneOf: > > + - items: > > + - const: fck > > + - const: canfd > > + - const: can_clk > > + - items: > > + - const: fck > > + - const: ram_clk > > + - const: can_clk > > > > power-domains: > > maxItems: 1 > > @@ -173,7 +206,9 @@ allOf: > > properties: > > compatible: > > contains: > > - const: renesas,rzg2l-canfd > > + enum: > > + - renesas,r9a09g047-canfd > > + - renesas,rzg2l-canfd > > then: > > properties: > > resets: > > @@ -187,6 +222,19 @@ allOf: > > required: > > - reset-names > > > > + - if: > > + properties: > > + compatible: > > + contains: > > + const: renesas,r9a09g047-canfd > > + then: > > + properties: > > + interrupts: > > + maxItems: 20 > > + > > + interrupt-names: > > + maxItems: 20 > > Should these be minItems instead of maxItems? The list has 20 elements at the moment (right?) so > you're not adding any restriction here. Yes, it should be minItems. Cheers, Biju > > > + > > - if: > > properties: > > compatible: > > @@ -219,6 +267,15 @@ allOf: > > patternProperties: > > "^channel[4-7]$": false > > > > + - if: > > + properties: > > + compatible: > > + contains: > > + const: renesas,r9a09g047-canfd > > + then: > > + patternProperties: > > + "^channel[6-7]$": false > > + > > unevaluatedProperties: false > > > > examples: > > -- > > 2.43.0 > >
On Fri, Feb 21, 2025 at 05:53:43PM +0000, Conor Dooley wrote: > On Thu, Feb 20, 2025 at 01:04:18PM +0000, Biju Das wrote: > > Document support for the CAN-FD Interface on the RZ/G3E (R9A09G047) SoC, > > which supports up to six channels. > > > > The CAN-FD module on RZ/G3E is very similar to the one on both R-Car V4H > > and RZ/G2L, but differs in some hardware parameters: > > * No external clock, but instead has ram clock. > > * Support up to 6 channels. > > * 20 interrupts. > > > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> > > --- > > v1->v2: > > * No change. > > --- > > .../bindings/net/can/renesas,rcar-canfd.yaml | 67 +++++++++++++++++-- > > 1 file changed, 62 insertions(+), 5 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml > > index f87f90f431e5..189d5303ad75 100644 > > --- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml > > +++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml > > @@ -42,6 +42,8 @@ properties: > > - renesas,r9a07g054-canfd # RZ/V2L > > - const: renesas,rzg2l-canfd # RZ/G2L family > > > > + - const: renesas,r9a09g047-canfd # RZ/G3E > > + > > reg: > > maxItems: 1 > > > > @@ -59,6 +61,19 @@ properties: > > - description: CAN1 error interrupt > > - description: CAN1 transmit interrupt > > - description: CAN1 transmit/receive FIFO receive completion interrupt > > + - description: CAN2 error interrupt > > + - description: CAN2 transmit interrupt > > + - description: CAN2 transmit/receive FIFO receive completion interrupt > > + - description: CAN3 error interrupt > > + - description: CAN3 transmit interrupt > > + - description: CAN3 transmit/receive FIFO receive completion interrupt > > + - description: CAN4 error interrupt > > + - description: CAN4 transmit interrupt > > + - description: CAN4 transmit/receive FIFO receive completion interrupt > > + - description: CAN5 error interrupt > > + - description: CAN5 transmit interrupt > > + - description: CAN5 transmit/receive FIFO receive completion interrupt > > + minItems: 8 > > > > interrupt-names: > > oneOf: > > @@ -74,15 +89,33 @@ properties: > > - const: ch1_err > > - const: ch1_rec > > - const: ch1_trx > > + - const: ch2_err > > + - const: ch2_rec > > + - const: ch2_trx > > + - const: ch3_err > > + - const: ch3_rec > > + - const: ch3_trx > > + - const: ch4_err > > + - const: ch4_rec > > + - const: ch4_trx > > + - const: ch5_err > > + - const: ch5_rec > > + - const: ch5_trx > > + minItems: 8 > > > > clocks: > > maxItems: 3 > > > > clock-names: > > - items: > > - - const: fck > > - - const: canfd > > - - const: can_clk > > + oneOf: > > + - items: > > + - const: fck > > + - const: canfd > > + - const: can_clk > > + - items: > > + - const: fck > > + - const: ram_clk > > + - const: can_clk > > > > power-domains: > > maxItems: 1 > > @@ -173,7 +206,9 @@ allOf: > > properties: > > compatible: > > contains: > > - const: renesas,rzg2l-canfd > > + enum: > > + - renesas,r9a09g047-canfd > > + - renesas,rzg2l-canfd > > then: > > properties: > > resets: > > @@ -187,6 +222,19 @@ allOf: > > required: > > - reset-names > > > > + - if: > > + properties: > > + compatible: > > + contains: > > + const: renesas,r9a09g047-canfd > > + then: > > + properties: > > + interrupts: > > + maxItems: 20 > > + > > + interrupt-names: > > + maxItems: 20 > > Should these be minItems instead of maxItems? The list has 20 elements > at the moment (right?) so you're not adding any restriction here. And the existing platforms need to have 'maxItems: 8'.
diff --git a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml index f87f90f431e5..189d5303ad75 100644 --- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml +++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml @@ -42,6 +42,8 @@ properties: - renesas,r9a07g054-canfd # RZ/V2L - const: renesas,rzg2l-canfd # RZ/G2L family + - const: renesas,r9a09g047-canfd # RZ/G3E + reg: maxItems: 1 @@ -59,6 +61,19 @@ properties: - description: CAN1 error interrupt - description: CAN1 transmit interrupt - description: CAN1 transmit/receive FIFO receive completion interrupt + - description: CAN2 error interrupt + - description: CAN2 transmit interrupt + - description: CAN2 transmit/receive FIFO receive completion interrupt + - description: CAN3 error interrupt + - description: CAN3 transmit interrupt + - description: CAN3 transmit/receive FIFO receive completion interrupt + - description: CAN4 error interrupt + - description: CAN4 transmit interrupt + - description: CAN4 transmit/receive FIFO receive completion interrupt + - description: CAN5 error interrupt + - description: CAN5 transmit interrupt + - description: CAN5 transmit/receive FIFO receive completion interrupt + minItems: 8 interrupt-names: oneOf: @@ -74,15 +89,33 @@ properties: - const: ch1_err - const: ch1_rec - const: ch1_trx + - const: ch2_err + - const: ch2_rec + - const: ch2_trx + - const: ch3_err + - const: ch3_rec + - const: ch3_trx + - const: ch4_err + - const: ch4_rec + - const: ch4_trx + - const: ch5_err + - const: ch5_rec + - const: ch5_trx + minItems: 8 clocks: maxItems: 3 clock-names: - items: - - const: fck - - const: canfd - - const: can_clk + oneOf: + - items: + - const: fck + - const: canfd + - const: can_clk + - items: + - const: fck + - const: ram_clk + - const: can_clk power-domains: maxItems: 1 @@ -173,7 +206,9 @@ allOf: properties: compatible: contains: - const: renesas,rzg2l-canfd + enum: + - renesas,r9a09g047-canfd + - renesas,rzg2l-canfd then: properties: resets: @@ -187,6 +222,19 @@ allOf: required: - reset-names + - if: + properties: + compatible: + contains: + const: renesas,r9a09g047-canfd + then: + properties: + interrupts: + maxItems: 20 + + interrupt-names: + maxItems: 20 + - if: properties: compatible: @@ -219,6 +267,15 @@ allOf: patternProperties: "^channel[4-7]$": false + - if: + properties: + compatible: + contains: + const: renesas,r9a09g047-canfd + then: + patternProperties: + "^channel[6-7]$": false + unevaluatedProperties: false examples:
Document support for the CAN-FD Interface on the RZ/G3E (R9A09G047) SoC, which supports up to six channels. The CAN-FD module on RZ/G3E is very similar to the one on both R-Car V4H and RZ/G2L, but differs in some hardware parameters: * No external clock, but instead has ram clock. * Support up to 6 channels. * 20 interrupts. Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> --- v1->v2: * No change. --- .../bindings/net/can/renesas,rcar-canfd.yaml | 67 +++++++++++++++++-- 1 file changed, 62 insertions(+), 5 deletions(-)