mbox series

[v2,0/5] Renesas RZ/G2L CANFD support

Message ID 20210719143811.2135-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Headers show
Series Renesas RZ/G2L CANFD support | expand

Message

Prabhakar Mahadev Lad July 19, 2021, 2:38 p.m. UTC
Hi All,

This patch series adds CANFD support to Renesas RZ/G2L family.

CANFD block on RZ/G2L SoC is almost identical to one found on
R-Car Gen3 SoC's. On RZ/G2L SoC interrupt sources for each channel
are split into individual sources.

Cheers,
Prabhakar

Changes for v2:
* Added interrupt-names property and marked it as required for 
  RZ/G2L family
* Added descriptions for reset property
* Re-used irq handlers on RZ/G2L SoC
* Added new enum for chip_id
* Dropped R9A07G044_LAST_CORE_CLK
* Dropped patch (clk: renesas: r9a07g044-cpg: Add clock and reset
  entries for CANFD) as its been merged into renesas tree

Lad Prabhakar (5):
  dt-bindings: net: can: renesas,rcar-canfd: Document RZ/G2L SoC
  can: rcar_canfd: Add support for RZ/G2L family
  dt-bindings: clk: r9a07g044-cpg: Add entry for P0_DIV2 core clock
  clk: renesas: r9a07g044-cpg: Add entry for fixed clock P0_DIV2
  arm64: dts: renesas: r9a07g044: Add CANFD node

 .../bindings/net/can/renesas,rcar-canfd.yaml  |  66 ++++++-
 arch/arm64/boot/dts/renesas/r9a07g044.dtsi    |  42 +++++
 drivers/clk/renesas/r9a07g044-cpg.c           |   3 +-
 drivers/net/can/rcar/rcar_canfd.c             | 178 +++++++++++++++---
 include/dt-bindings/clock/r9a07g044-cpg.h     |   1 +
 5 files changed, 252 insertions(+), 38 deletions(-)


base-commit: 2734d6c1b1a089fb593ef6a23d4b70903526fe0c

Comments

Geert Uytterhoeven July 20, 2021, 10:20 a.m. UTC | #1
Hi Prabhakar,

On Mon, Jul 19, 2021 at 4:39 PM Lad Prabhakar
<prabhakar.mahadev-lad.rj@bp.renesas.com> wrote:
> Add CANFD binding documentation for Renesas RZ/G2L SoC.

>

> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>


Thanks for your patch!

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Just some bikeshedding on the exact naming below ;-)

> --- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml

> +++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml

> @@ -91,6 +92,59 @@ required:

>    - channel0

>    - channel1

>

> +if:

> +  properties:

> +    compatible:

> +      contains:

> +        enum:

> +          - renesas,rzg2l-canfd

> +then:

> +  properties:

> +    interrupts:

> +      items:

> +        - description: CAN global error interrupt

> +        - description: CAN receive FIFO interrupt

> +        - description: CAN0 error interrupt

> +        - description: CAN0 transmit interrupt

> +        - description: CAN0 transmit/receive FIFO receive completion interrupt

> +        - description: CAN1 error interrupt

> +        - description: CAN1 transmit interrupt

> +        - description: CAN1 transmit/receive FIFO receive completion interrupt

> +

> +    interrupt-names:

> +      items:

> +        - const: g_error

> +        - const: g_rx_fifo

> +        - const: can0_error


s/error/err/?

> +        - const: can0_tx

> +        - const: can0_tx_rx_fifo_receive_completion

> +        - const: can1_error

> +        - const: can1_tx

> +        - const: can1_tx_rx_fifo_receive_completion


s/receive/rx/?

Some are also a bit long to type.
Perhaps use naming closer to the User's Manual?

INTRCANGERR => g_err
INTRCANGRECC => g_recc
INTRCAN0ERR => ch0_err
INTRCAN0REC => ch0_rec
INTRCAN0TRX => ch0_trx
INTRCAN1ERR => ch1_err
INTRCAN1REC => ch1_rec
INTRCAN1TRX => ch1_trx

These do not have "_int" suffixes...

> +

> +    resets:

> +      items:

> +        - description: CANFD_RSTP_N

> +        - description: CANFD_RSTC_N

> +

> +  required:

> +    - interrupt-names

> +else:

> +  properties:

> +    interrupts:

> +      items:

> +        - description: Channel interrupt

> +        - description: Global interrupt

> +

> +    interrupt-names:

> +      items:

> +        - const: ch_int

> +        - const: g_int


... and these do have "_int" suffixes.

> +

> +    resets:

> +      items:

> +        - description: CANFD reset

> +

>  unevaluatedProperties: false


Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Philipp Zabel July 20, 2021, 10:22 a.m. UTC | #2
Hi Lad,

On Mon, 2021-07-19 at 15:38 +0100, Lad Prabhakar wrote:
> Add CANFD binding documentation for Renesas RZ/G2L SoC.

> 

> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>

> ---

>  .../bindings/net/can/renesas,rcar-canfd.yaml  | 66 +++++++++++++++++--

>  1 file changed, 60 insertions(+), 6 deletions(-)

> 

> diff --git a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml

> index 0b33ba9ccb47..4fb6dd370904 100644

> --- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml

> +++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml

> @@ -30,13 +30,15 @@ properties:

>                - renesas,r8a77995-canfd     # R-Car D3

>            - const: renesas,rcar-gen3-canfd # R-Car Gen3 and RZ/G2

>  

> +      - items:

> +          - enum:

> +              - renesas,r9a07g044-canfd    # RZ/G2{L,LC}

> +          - const: renesas,rzg2l-canfd     # RZ/G2L family

> +

>    reg:

>      maxItems: 1

>  

> -  interrupts:

> -    items:

> -      - description: Channel interrupt

> -      - description: Global interrupt

> +  interrupts: true

>  

>    clocks:

>      maxItems: 3

> @@ -50,8 +52,7 @@ properties:

>    power-domains:

>      maxItems: 1

>  

> -  resets:

> -    maxItems: 1

> +  resets: true

>  

>    renesas,no-can-fd:

>      $ref: /schemas/types.yaml#/definitions/flag

> @@ -91,6 +92,59 @@ required:

>    - channel0

>    - channel1

>  

> +if:

> +  properties:

> +    compatible:

> +      contains:

> +        enum:

> +          - renesas,rzg2l-canfd

> +then:

> +  properties:

> +    interrupts:

> +      items:

> +        - description: CAN global error interrupt

> +        - description: CAN receive FIFO interrupt

> +        - description: CAN0 error interrupt

> +        - description: CAN0 transmit interrupt

> +        - description: CAN0 transmit/receive FIFO receive completion interrupt

> +        - description: CAN1 error interrupt

> +        - description: CAN1 transmit interrupt

> +        - description: CAN1 transmit/receive FIFO receive completion interrupt

> +

> +    interrupt-names:

> +      items:

> +        - const: g_error

> +        - const: g_rx_fifo

> +        - const: can0_error

> +        - const: can0_tx

> +        - const: can0_tx_rx_fifo_receive_completion

> +        - const: can1_error

> +        - const: can1_tx

> +        - const: can1_tx_rx_fifo_receive_completion

> +

> +    resets:

> +      items:

> +        - description: CANFD_RSTP_N

> +        - description: CANFD_RSTC_N


Do you know what the "P" and "C" stands for? It would be nice if the
description could tell us what the reset lines are used for.

I would prefer if you used these names (or shortened versions, for
example "rstp_n", "rstc_n") as "reset-names" and let the driver
reference the resets by name instead of by index.

regards
Philipp
Geert Uytterhoeven July 20, 2021, 10:39 a.m. UTC | #3
On Mon, Jul 19, 2021 at 4:39 PM Lad Prabhakar
<prabhakar.mahadev-lad.rj@bp.renesas.com> wrote:
> Add P0_DIV2 core clock required for CANFD module. CANFD core clock is

> sourced from P0_DIV2 referenced from HW manual Rev.0.50.

>

> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>


Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

i.e. will queue in renesas-r9a07g044-dt-binding-defs, to be shared by
renesas-clk-for-v5.15 and renesas-devel for v5.15.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Lad, Prabhakar July 20, 2021, 2:31 p.m. UTC | #4
Hi Philipp,

Thank you for the review.

On Tue, Jul 20, 2021 at 11:22 AM Philipp Zabel <p.zabel@pengutronix.de> wrote:
>

> Hi Lad,

>

> On Mon, 2021-07-19 at 15:38 +0100, Lad Prabhakar wrote:

> > Add CANFD binding documentation for Renesas RZ/G2L SoC.

> >

> > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

> > Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>

> > ---

> >  .../bindings/net/can/renesas,rcar-canfd.yaml  | 66 +++++++++++++++++--

> >  1 file changed, 60 insertions(+), 6 deletions(-)

> >

> > diff --git a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml

> > index 0b33ba9ccb47..4fb6dd370904 100644

> > --- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml

> > +++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml

> > @@ -30,13 +30,15 @@ properties:

> >                - renesas,r8a77995-canfd     # R-Car D3

> >            - const: renesas,rcar-gen3-canfd # R-Car Gen3 and RZ/G2

> >

> > +      - items:

> > +          - enum:

> > +              - renesas,r9a07g044-canfd    # RZ/G2{L,LC}

> > +          - const: renesas,rzg2l-canfd     # RZ/G2L family

> > +

> >    reg:

> >      maxItems: 1

> >

> > -  interrupts:

> > -    items:

> > -      - description: Channel interrupt

> > -      - description: Global interrupt

> > +  interrupts: true

> >

> >    clocks:

> >      maxItems: 3

> > @@ -50,8 +52,7 @@ properties:

> >    power-domains:

> >      maxItems: 1

> >

> > -  resets:

> > -    maxItems: 1

> > +  resets: true

> >

> >    renesas,no-can-fd:

> >      $ref: /schemas/types.yaml#/definitions/flag

> > @@ -91,6 +92,59 @@ required:

> >    - channel0

> >    - channel1

> >

> > +if:

> > +  properties:

> > +    compatible:

> > +      contains:

> > +        enum:

> > +          - renesas,rzg2l-canfd

> > +then:

> > +  properties:

> > +    interrupts:

> > +      items:

> > +        - description: CAN global error interrupt

> > +        - description: CAN receive FIFO interrupt

> > +        - description: CAN0 error interrupt

> > +        - description: CAN0 transmit interrupt

> > +        - description: CAN0 transmit/receive FIFO receive completion interrupt

> > +        - description: CAN1 error interrupt

> > +        - description: CAN1 transmit interrupt

> > +        - description: CAN1 transmit/receive FIFO receive completion interrupt

> > +

> > +    interrupt-names:

> > +      items:

> > +        - const: g_error

> > +        - const: g_rx_fifo

> > +        - const: can0_error

> > +        - const: can0_tx

> > +        - const: can0_tx_rx_fifo_receive_completion

> > +        - const: can1_error

> > +        - const: can1_tx

> > +        - const: can1_tx_rx_fifo_receive_completion

> > +

> > +    resets:

> > +      items:

> > +        - description: CANFD_RSTP_N

> > +        - description: CANFD_RSTC_N

>

> Do you know what the "P" and "C" stands for? It would be nice if the

> description could tell us what the reset lines are used for.

>

unfortunately the HW manual does not mention  anything about "P" and "C" :(

> I would prefer if you used these names (or shortened versions, for

> example "rstp_n", "rstc_n") as "reset-names" and let the driver

> reference the resets by name instead of by index.

>

OK will do that and maxItems:2 for resets.

@Geert, for R-Car Gen3 does "canfd_rst" (as it's a module reset)
sounds good for reset-names? Or do you have any other suggestions?

Cheers,
Prabhakar
Lad, Prabhakar July 20, 2021, 2:37 p.m. UTC | #5
Hi Geert,

Thank you for the review.

On Tue, Jul 20, 2021 at 11:21 AM Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
>
> Hi Prabhakar,
>
> On Mon, Jul 19, 2021 at 4:39 PM Lad Prabhakar
> <prabhakar.mahadev-lad.rj@bp.renesas.com> wrote:
> > Add CANFD binding documentation for Renesas RZ/G2L SoC.
> >
> > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> > Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
>
> Thanks for your patch!
>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> Just some bikeshedding on the exact naming below ;-)
>
> > --- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
> > +++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
> > @@ -91,6 +92,59 @@ required:
> >    - channel0
> >    - channel1
> >
> > +if:
> > +  properties:
> > +    compatible:
> > +      contains:
> > +        enum:
> > +          - renesas,rzg2l-canfd
> > +then:
> > +  properties:
> > +    interrupts:
> > +      items:
> > +        - description: CAN global error interrupt
> > +        - description: CAN receive FIFO interrupt
> > +        - description: CAN0 error interrupt
> > +        - description: CAN0 transmit interrupt
> > +        - description: CAN0 transmit/receive FIFO receive completion interrupt
> > +        - description: CAN1 error interrupt
> > +        - description: CAN1 transmit interrupt
> > +        - description: CAN1 transmit/receive FIFO receive completion interrupt
> > +
> > +    interrupt-names:
> > +      items:
> > +        - const: g_error
> > +        - const: g_rx_fifo
> > +        - const: can0_error
>
> s/error/err/?
>
> > +        - const: can0_tx
> > +        - const: can0_tx_rx_fifo_receive_completion
> > +        - const: can1_error
> > +        - const: can1_tx
> > +        - const: can1_tx_rx_fifo_receive_completion
>
> s/receive/rx/?
>
> Some are also a bit long to type.
> Perhaps use naming closer to the User's Manual?
>
> INTRCANGERR => g_err
> INTRCANGRECC => g_recc
> INTRCAN0ERR => ch0_err
> INTRCAN0REC => ch0_rec
> INTRCAN0TRX => ch0_trx
> INTRCAN1ERR => ch1_err
> INTRCAN1REC => ch1_rec
> INTRCAN1TRX => ch1_trx
>
> These do not have "_int" suffixes...
>
Agreed thanks for the input.

> > +
> > +    resets:
> > +      items:
> > +        - description: CANFD_RSTP_N
> > +        - description: CANFD_RSTC_N
> > +
> > +  required:
> > +    - interrupt-names
> > +else:
> > +  properties:
> > +    interrupts:
> > +      items:
> > +        - description: Channel interrupt
> > +        - description: Global interrupt
> > +
> > +    interrupt-names:
> > +      items:
> > +        - const: ch_int
> > +        - const: g_int
>
> ... and these do have "_int" suffixes.
>
indeed

Cheers,
Prabhakar
> > +
> > +    resets:
> > +      items:
> > +        - description: CANFD reset
> > +
> >  unevaluatedProperties: false
>
> Gr{oetje,eeting}s,
>
>                         Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds
Geert Uytterhoeven July 20, 2021, 3:11 p.m. UTC | #6
Hi Prabhakar,

On Tue, Jul 20, 2021 at 4:31 PM Lad, Prabhakar
<prabhakar.csengg@gmail.com> wrote:
> On Tue, Jul 20, 2021 at 11:22 AM Philipp Zabel <p.zabel@pengutronix.de> wrote:

> > On Mon, 2021-07-19 at 15:38 +0100, Lad Prabhakar wrote:

> > > Add CANFD binding documentation for Renesas RZ/G2L SoC.

> > >

> > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

> > > Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>


> > > --- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml

> > > +++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml


> > > +    resets:

> > > +      items:

> > > +        - description: CANFD_RSTP_N

> > > +        - description: CANFD_RSTC_N

> >

> > Do you know what the "P" and "C" stands for? It would be nice if the

> > description could tell us what the reset lines are used for.

> >

> unfortunately the HW manual does not mention  anything about "P" and "C" :(

>

> > I would prefer if you used these names (or shortened versions, for

> > example "rstp_n", "rstc_n") as "reset-names" and let the driver

> > reference the resets by name instead of by index.

> >

> OK will do that and maxItems:2 for resets.

>

> @Geert, for R-Car Gen3 does "canfd_rst" (as it's a module reset)

> sounds good for reset-names? Or do you have any other suggestions?


I wouldn't bother with reset-names on R-Car, as there is only a
single reset.

BTW, does there exist a generally-accepted reset-equivalent of "fck"
("Functional ClocK")?

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Lad, Prabhakar July 20, 2021, 3:56 p.m. UTC | #7
Hi Geert,

On Tue, Jul 20, 2021 at 4:11 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>
> Hi Prabhakar,
>
> On Tue, Jul 20, 2021 at 4:31 PM Lad, Prabhakar
> <prabhakar.csengg@gmail.com> wrote:
> > On Tue, Jul 20, 2021 at 11:22 AM Philipp Zabel <p.zabel@pengutronix.de> wrote:
> > > On Mon, 2021-07-19 at 15:38 +0100, Lad Prabhakar wrote:
> > > > Add CANFD binding documentation for Renesas RZ/G2L SoC.
> > > >
> > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> > > > Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
>
> > > > --- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
> > > > +++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
>
> > > > +    resets:
> > > > +      items:
> > > > +        - description: CANFD_RSTP_N
> > > > +        - description: CANFD_RSTC_N
> > >
> > > Do you know what the "P" and "C" stands for? It would be nice if the
> > > description could tell us what the reset lines are used for.
> > >
> > unfortunately the HW manual does not mention  anything about "P" and "C" :(
> >
> > > I would prefer if you used these names (or shortened versions, for
> > > example "rstp_n", "rstc_n") as "reset-names" and let the driver
> > > reference the resets by name instead of by index.
> > >
> > OK will do that and maxItems:2 for resets.
> >
> > @Geert, for R-Car Gen3 does "canfd_rst" (as it's a module reset)
> > sounds good for reset-names? Or do you have any other suggestions?
>
> I wouldn't bother with reset-names on R-Car, as there is only a
> single reset.
>
OK will keep "description: CANFD reset" for R-Car as done in the
current patch and just add reset-names only for RZ/G2L SoC.

> BTW, does there exist a generally-accepted reset-equivalent of "fck"
> ("Functional ClocK")?
>
None that I am aware of (Couple of binding docs have "rst"), but maybe
Philipp could have some suggestions.

Cheers,
Prabhakar

> Gr{oetje,eeting}s,
>
>                         Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds
Philipp Zabel July 20, 2021, 4:33 p.m. UTC | #8
Hi Prabhakar,

On Tue, 2021-07-20 at 15:31 +0100, Lad, Prabhakar wrote:
> Hi Philipp,
> 
> Thank you for the review.
> 
> On Tue, Jul 20, 2021 at 11:22 AM Philipp Zabel <p.zabel@pengutronix.de> wrote:
> > Hi Lad,

Sorry I mixed up your name.

> > On Mon, 2021-07-19 at 15:38 +0100, Lad Prabhakar wrote:
> > > Add CANFD binding documentation for Renesas RZ/G2L SoC.
> > > 
> > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> > > Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
> > > ---
> > >  .../bindings/net/can/renesas,rcar-canfd.yaml  | 66 +++++++++++++++++--
> > >  1 file changed, 60 insertions(+), 6 deletions(-)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
> > > index 0b33ba9ccb47..4fb6dd370904 100644
> > > --- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
> > > +++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
> > > @@ -30,13 +30,15 @@ properties:
> > >                - renesas,r8a77995-canfd     # R-Car D3
> > >            - const: renesas,rcar-gen3-canfd # R-Car Gen3 and RZ/G2
> > > 
> > > +      - items:
> > > +          - enum:
> > > +              - renesas,r9a07g044-canfd    # RZ/G2{L,LC}
> > > +          - const: renesas,rzg2l-canfd     # RZ/G2L family
> > > +
> > >    reg:
> > >      maxItems: 1
> > > 
> > > -  interrupts:
> > > -    items:
> > > -      - description: Channel interrupt
> > > -      - description: Global interrupt
> > > +  interrupts: true
> > > 
> > >    clocks:
> > >      maxItems: 3
> > > @@ -50,8 +52,7 @@ properties:
> > >    power-domains:
> > >      maxItems: 1
> > > 
> > > -  resets:
> > > -    maxItems: 1
> > > +  resets: true
> > > 
> > >    renesas,no-can-fd:
> > >      $ref: /schemas/types.yaml#/definitions/flag
> > > @@ -91,6 +92,59 @@ required:
> > >    - channel0
> > >    - channel1
> > > 
> > > +if:
> > > +  properties:
> > > +    compatible:
> > > +      contains:
> > > +        enum:
> > > +          - renesas,rzg2l-canfd
> > > +then:
> > > +  properties:
> > > +    interrupts:
> > > +      items:
> > > +        - description: CAN global error interrupt
> > > +        - description: CAN receive FIFO interrupt
> > > +        - description: CAN0 error interrupt
> > > +        - description: CAN0 transmit interrupt
> > > +        - description: CAN0 transmit/receive FIFO receive completion interrupt
> > > +        - description: CAN1 error interrupt
> > > +        - description: CAN1 transmit interrupt
> > > +        - description: CAN1 transmit/receive FIFO receive completion interrupt
> > > +
> > > +    interrupt-names:
> > > +      items:
> > > +        - const: g_error
> > > +        - const: g_rx_fifo
> > > +        - const: can0_error
> > > +        - const: can0_tx
> > > +        - const: can0_tx_rx_fifo_receive_completion
> > > +        - const: can1_error
> > > +        - const: can1_tx
> > > +        - const: can1_tx_rx_fifo_receive_completion
> > > +
> > > +    resets:
> > > +      items:
> > > +        - description: CANFD_RSTP_N
> > > +        - description: CANFD_RSTC_N
> > 
> > Do you know what the "P" and "C" stands for? It would be nice if the
> > description could tell us what the reset lines are used for.
> > 
> unfortunately the HW manual does not mention  anything about "P" and "C" :(

Yes, unfortunately this is all too common.

> > I would prefer if you used these names (or shortened versions, for
> > example "rstp_n", "rstc_n") as "reset-names" and let the driver
> > reference the resets by name instead of by index.
> > 
> OK will do that and maxItems:2 for resets.
> 
> @Geert, for R-Car Gen3 does "canfd_rst" (as it's a module reset)
> sounds good for reset-names? Or do you have any other suggestions?

I agree with Geert here. Assuming no second reset will be discovered for
R-Car Gen3 later, there is no need to invent a name.

regards
Philipp
Philipp Zabel July 20, 2021, 4:33 p.m. UTC | #9
Hi Geert,

On Tue, 2021-07-20 at 17:11 +0200, Geert Uytterhoeven wrote:
[...]
> I wouldn't bother with reset-names on R-Car, as there is only a

> single reset.

> 

> BTW, does there exist a generally-accepted reset-equivalent of "fck"

> ("Functional ClocK")?


Not really. There is "rst", which seems to be slightly more popular than
"reset". Some bindings use "core" to differentiate between the
functional reset and peripheral resets like bus or phy resets.

Ideally the reset-names would match the names of the reset inputs in the
IP core documentation (not the global names of the reset signals in the
SoC documentation). But more often than not they are not known.

regards
Philipp