[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260111-poetic-dark-butterfly-97993f@quoll>
Date: Sun, 11 Jan 2026 11:14:01 +0100
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Prabhakar <prabhakar.csengg@...il.com>
Cc: Marc Kleine-Budde <mkl@...gutronix.de>,
Vincent Mailhol <mailhol@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Geert Uytterhoeven <geert+renesas@...der.be>, Magnus Damm <magnus.damm@...il.com>, linux-can@...r.kernel.org,
devicetree@...r.kernel.org, linux-renesas-soc@...r.kernel.org, linux-kernel@...r.kernel.org,
Biju Das <biju.das.jz@...renesas.com>, Fabrizio Castro <fabrizio.castro.jz@...esas.com>,
Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
Subject: Re: [PATCH v3 3/4] dt-bindings: can: renesas,rcar-canfd: Document
RZ/T2H and RZ/N2H SoCs
On Fri, Jan 09, 2026 at 12:51:27PM +0000, Prabhakar wrote:
> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
>
> Document the CAN-FD controller used on the RZ/T2H and RZ/N2H SoCs. The
> CAN-FD IP is largely compatible with the R-Car Gen4 block, but differs
> in that AFLPN and CFTML are different, there is no reset line for the IP,
> and it only supports two channels.
>
> The schema already enforces reset-names only for RZ/G2L and RZ/G3E and
> disallows it for all other SoCs, so only the resets property is explicitly
> marked as unsupported for RZ/T2H and RZ/N2H.
>
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@...der.be>
> ---
> v2->v3:
> - Grouped single compatible entries into an enum.
> - Updated commit message about disallowing reset-names property.
> - Added Reviewed-by tag.
>
> v1->v2:
> - No changes made.
> ---
> .../bindings/net/can/renesas,rcar-canfd.yaml | 29 +++++++++++++++++--
> 1 file changed, 27 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
> index fb709cfd26d7..ceb072e0a304 100644
> --- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
> +++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
> @@ -42,7 +42,10 @@ properties:
> - renesas,r9a07g054-canfd # RZ/V2L
> - const: renesas,rzg2l-canfd # RZ/G2L family
>
> - - const: renesas,r9a09g047-canfd # RZ/G3E
> + - items:
The convention is enum and that's what I asked. I know it is a nit, but
if I give review now for this code which I disagreed, my disagreement
won't be ever recorded and people in future work will base on this less
preferred syntax.
So again:
- enum:
- foo
- bar
> + - enum:
> + - renesas,r9a09g047-canfd # RZ/G3E
> + - renesas,r9a09g077-canfd # RZ/T2H
>
> - items:
> - enum:
> @@ -50,6 +53,10 @@ properties:
> - renesas,r9a09g057-canfd # RZ/V2H(P)
> - const: renesas,r9a09g047-canfd
>
> + - items:
> + - const: renesas,r9a09g087-canfd # RZ/N2H
> + - const: renesas,r9a09g077-canfd
> +
> reg:
> maxItems: 1
>
> @@ -179,7 +186,6 @@ required:
> - clocks
> - clock-names
> - power-domains
> - - resets
> - assigned-clocks
> - assigned-clock-rates
> - channel0
> @@ -243,11 +249,30 @@ allOf:
> minItems: 2
> maxItems: 2
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: renesas,r9a09g077-canfd
> + then:
> + properties:
> + interrupts:
> + maxItems: 8
> +
> + interrupt-names:
> + maxItems: 8
> +
> + resets: false
> + else:
> + required:
> + - resets
I do not think you are making this binding easy to maintain. You have
now multiple separate ifs AND two ifs with "else:" condition. Try to
understand which condition/description applies to "rcar-gen3". Does it
require resets? Let's look for the compatible in the file - you find
"if:" block requiring reset-names but no "require" for resets. Odd.
As I said last time, these should be alwaysy synced.
The binding was not in a good shape before but you are not improving it.
Best regards,
Krzysztof
Powered by blists - more mailing lists