diff mbox series

[3/3] arm64: dts: renesas: rzg2l-smarc: Enable MTU3a counter using DT overlay

Message ID 20230417090159.191346-3-biju.das.jz@bp.renesas.com (mailing list archive)
State Rejected
Delegated to: Geert Uytterhoeven
Headers show
Series [1/3] arm64: dts: renesas: r9a07g044: Add MTU3a node | expand

Commit Message

Biju Das April 17, 2023, 9:01 a.m. UTC
Enable mtu3 node using dt overlay and disable scif2 node and delete
{sd1_mux,sd1_mux_uhs} nodes as the pins are shared with mtu3 external
clock input pins and Z phase signal(MTIOC1A).

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
 arch/arm64/boot/dts/renesas/Makefile          |  2 +
 .../boot/dts/renesas/rzg2l-smarc-pmod.dtso    | 43 +++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso

Comments

Geert Uytterhoeven April 20, 2023, 3:40 p.m. UTC | #1
Hi Biju,

On Mon, Apr 17, 2023 at 11:02 AM Biju Das <biju.das.jz@bp.renesas.com> wrote:
> Enable mtu3 node using dt overlay and disable scif2 node and delete
> {sd1_mux,sd1_mux_uhs} nodes as the pins are shared with mtu3 external
> clock input pins and Z phase signal(MTIOC1A).
>
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>

Thanks for your patch!

> --- /dev/null
> +++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> @@ -0,0 +1,43 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Device Tree Source for the RZ/{G2L,V2L} SMARC EVK PMOD parts

Please add a comment here to document what exactly this provides.

> + *
> + * Copyright (C) 2023 Renesas Electronics Corp.
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
> +
> +&mtu3 {
> +       pinctrl-0 = <&mtu3_pins>;
> +       pinctrl-names = "default";
> +
> +       status = "okay";
> +};
> +
> +&pinctrl {
> +       mtu3_pins: mtu3 {
> +               mtu3-zphase-clk {
> +                       pinmux = <RZG2L_PORT_PINMUX(19, 0, 3)>; /* MTIOC1A */
> +               };

Unless I'm missing something, this signal is not available on the PMOD
connector?

> +
> +               mtu3-ext-clk-input-pin {
> +                       pinmux = <RZG2L_PORT_PINMUX(48, 0, 4)>, /* MTCLKA */
> +                                <RZG2L_PORT_PINMUX(48, 1, 4)>; /* MTCLKB */
> +               };

So this provides two external clock inputs on the pins on the PMOD
connector that usually provides a UART?

> +       };
> +};
> +
> +&scif2 {
> +       status = "disabled";
> +};
> +
> +&sdhi1_pins {
> +       /delete-node/ sd1_mux;
> +};
> +
> +&sdhi1_pins_uhs {
> +       /delete-node/ sd1_mux_uhs;
> +};

As you disable CD functionality, don't you need to add "broken-cd" to
the sdhi1 node?

Gr{oetje,eeting}s,

                        Geert
Biju Das April 20, 2023, 3:49 p.m. UTC | #2
Hi Geert,

Thanks for the feedback.

> -----Original Message-----
> From: Geert Uytterhoeven <geert@linux-m68k.org>
> Sent: Thursday, April 20, 2023 4:40 PM
> To: Biju Das <biju.das.jz@bp.renesas.com>
> Cc: Rob Herring <robh+dt@kernel.org>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@linaro.org>; Geert Uytterhoeven
> <geert+renesas@glider.be>; Magnus Damm <magnus.damm@gmail.com>; linux-
> renesas-soc@vger.kernel.org; devicetree@vger.kernel.org; Prabhakar Mahadev
> Lad <prabhakar.mahadev-lad.rj@bp.renesas.com>
> Subject: Re: [PATCH 3/3] arm64: dts: renesas: rzg2l-smarc: Enable MTU3a
> counter using DT overlay
> 
> Hi Biju,
> 
> On Mon, Apr 17, 2023 at 11:02 AM Biju Das <biju.das.jz@bp.renesas.com>
> wrote:
> > Enable mtu3 node using dt overlay and disable scif2 node and delete
> > {sd1_mux,sd1_mux_uhs} nodes as the pins are shared with mtu3 external
> > clock input pins and Z phase signal(MTIOC1A).
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> 
> Thanks for your patch!
> 
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> > @@ -0,0 +1,43 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Device Tree Source for the RZ/{G2L,V2L} SMARC EVK PMOD parts
> 
> Please add a comment here to document what exactly this provides.

OK will add.

> 
> > + *
> > + * Copyright (C) 2023 Renesas Electronics Corp.
> > + */
> > +
> > +/dts-v1/;
> > +/plugin/;
> > +
> > +#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
> > +
> > +&mtu3 {
> > +       pinctrl-0 = <&mtu3_pins>;
> > +       pinctrl-names = "default";
> > +
> > +       status = "okay";
> > +};
> > +
> > +&pinctrl {
> > +       mtu3_pins: mtu3 {
> > +               mtu3-zphase-clk {
> > +                       pinmux = <RZG2L_PORT_PINMUX(19, 0, 3)>; /* MTIOC1A
> */
> > +               };
> 
> Unless I'm missing something, this signal is not available on the PMOD
> connector?

Yes, it is not available on the PMOD connector. SD card detection signal,
is muxed with MTIOC1A (Z Phase signal). So for counter use case, we use it
as MTIOC1A pins.

> 
> > +
> > +               mtu3-ext-clk-input-pin {
> > +                       pinmux = <RZG2L_PORT_PINMUX(48, 0, 4)>, /* MTCLKA
> */
> > +                                <RZG2L_PORT_PINMUX(48, 1, 4)>; /* MTCLKB
> */
> > +               };
> 
> So this provides two external clock inputs on the pins on the PMOD connector
> that usually provides a UART?

Yes that is correct. UART signals are muxed with external phase clock inputs.
So for counter use case, using this overlay, we use it is as external phase clock inputs.

> 
> > +       };
> > +};
> > +
> > +&scif2 {
> > +       status = "disabled";
> > +};
> > +
> > +&sdhi1_pins {
> > +       /delete-node/ sd1_mux;
> > +};
> > +
> > +&sdhi1_pins_uhs {
> > +       /delete-node/ sd1_mux_uhs;
> > +};
> 
> As you disable CD functionality, don't you need to add "broken-cd" to the
> sdhi1 node?

OK, will add "broken-cd" to sdhi1 node while using this overlay.

Cheers,
Biju
Geert Uytterhoeven April 20, 2023, 5:15 p.m. UTC | #3
Hi Biju,

On Thu, Apr 20, 2023 at 5:49 PM Biju Das <biju.das.jz@bp.renesas.com> wrote:
> > -----Original Message-----
> > From: Geert Uytterhoeven <geert@linux-m68k.org>
> > Sent: Thursday, April 20, 2023 4:40 PM
> > To: Biju Das <biju.das.jz@bp.renesas.com>
> > Cc: Rob Herring <robh+dt@kernel.org>; Krzysztof Kozlowski
> > <krzysztof.kozlowski+dt@linaro.org>; Geert Uytterhoeven
> > <geert+renesas@glider.be>; Magnus Damm <magnus.damm@gmail.com>; linux-
> > renesas-soc@vger.kernel.org; devicetree@vger.kernel.org; Prabhakar Mahadev
> > Lad <prabhakar.mahadev-lad.rj@bp.renesas.com>
> > Subject: Re: [PATCH 3/3] arm64: dts: renesas: rzg2l-smarc: Enable MTU3a
> > counter using DT overlay
> >
> > Hi Biju,
> >
> > On Mon, Apr 17, 2023 at 11:02 AM Biju Das <biju.das.jz@bp.renesas.com>
> > wrote:
> > > Enable mtu3 node using dt overlay and disable scif2 node and delete
> > > {sd1_mux,sd1_mux_uhs} nodes as the pins are shared with mtu3 external
> > > clock input pins and Z phase signal(MTIOC1A).
> > >
> > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>

> > > --- /dev/null
> > > +++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> > > @@ -0,0 +1,43 @@
> > > +// SPDX-License-Identifier: GPL-2.0
> > > +/*
> > > + * Device Tree Source for the RZ/{G2L,V2L} SMARC EVK PMOD parts
> > > + *
> > > + * Copyright (C) 2023 Renesas Electronics Corp.
> > > + */
> > > +
> > > +/dts-v1/;
> > > +/plugin/;
> > > +
> > > +#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
> > > +
> > > +&mtu3 {
> > > +       pinctrl-0 = <&mtu3_pins>;
> > > +       pinctrl-names = "default";
> > > +
> > > +       status = "okay";
> > > +};
> > > +
> > > +&pinctrl {
> > > +       mtu3_pins: mtu3 {
> > > +               mtu3-zphase-clk {
> > > +                       pinmux = <RZG2L_PORT_PINMUX(19, 0, 3)>; /* MTIOC1A
> > */
> > > +               };
> >
> > Unless I'm missing something, this signal is not available on the PMOD
> > connector?
>
> Yes, it is not available on the PMOD connector. SD card detection signal,
> is muxed with MTIOC1A (Z Phase signal). So for counter use case, we use it
> as MTIOC1A pins.

As the signal is not available on the PMOD connector, can't you just ignore
the Z Phase signal, and keep the SD card CD signal available instead?

Gr{oetje,eeting}s,

                        Geert
Biju Das April 20, 2023, 6:16 p.m. UTC | #4
Hi Geert,

> -----Original Message-----
> From: Geert Uytterhoeven <geert@linux-m68k.org>
> Sent: Thursday, April 20, 2023 6:15 PM
> To: Biju Das <biju.das.jz@bp.renesas.com>
> Cc: Rob Herring <robh+dt@kernel.org>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@linaro.org>; Magnus Damm <magnus.damm@gmail.com>;
> linux-renesas-soc@vger.kernel.org; devicetree@vger.kernel.org; Prabhakar
> Mahadev Lad <prabhakar.mahadev-lad.rj@bp.renesas.com>
> Subject: Re: [PATCH 3/3] arm64: dts: renesas: rzg2l-smarc: Enable MTU3a
> counter using DT overlay
> 
> Hi Biju,
> 
> On Thu, Apr 20, 2023 at 5:49 PM Biju Das <biju.das.jz@bp.renesas.com> wrote:
> > > -----Original Message-----
> > > From: Geert Uytterhoeven <geert@linux-m68k.org>
> > > Sent: Thursday, April 20, 2023 4:40 PM
> > > To: Biju Das <biju.das.jz@bp.renesas.com>
> > > Cc: Rob Herring <robh+dt@kernel.org>; Krzysztof Kozlowski
> > > <krzysztof.kozlowski+dt@linaro.org>; Geert Uytterhoeven
> > > <geert+renesas@glider.be>; Magnus Damm <magnus.damm@gmail.com>;
> > > linux- renesas-soc@vger.kernel.org; devicetree@vger.kernel.org;
> > > Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@bp.renesas.com>
> > > Subject: Re: [PATCH 3/3] arm64: dts: renesas: rzg2l-smarc: Enable
> > > MTU3a counter using DT overlay
> > >
> > > Hi Biju,
> > >
> > > On Mon, Apr 17, 2023 at 11:02 AM Biju Das
> > > <biju.das.jz@bp.renesas.com>
> > > wrote:
> > > > Enable mtu3 node using dt overlay and disable scif2 node and
> > > > delete {sd1_mux,sd1_mux_uhs} nodes as the pins are shared with
> > > > mtu3 external clock input pins and Z phase signal(MTIOC1A).
> > > >
> > > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> 
> > > > --- /dev/null
> > > > +++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> > > > @@ -0,0 +1,43 @@
> > > > +// SPDX-License-Identifier: GPL-2.0
> > > > +/*
> > > > + * Device Tree Source for the RZ/{G2L,V2L} SMARC EVK PMOD parts
> > > > + *
> > > > + * Copyright (C) 2023 Renesas Electronics Corp.
> > > > + */
> > > > +
> > > > +/dts-v1/;
> > > > +/plugin/;
> > > > +
> > > > +#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
> > > > +
> > > > +&mtu3 {
> > > > +       pinctrl-0 = <&mtu3_pins>;
> > > > +       pinctrl-names = "default";
> > > > +
> > > > +       status = "okay";
> > > > +};
> > > > +
> > > > +&pinctrl {
> > > > +       mtu3_pins: mtu3 {
> > > > +               mtu3-zphase-clk {
> > > > +                       pinmux = <RZG2L_PORT_PINMUX(19, 0, 3)>; /*
> > > > +MTIOC1A
> > > */
> > > > +               };
> > >
> > > Unless I'm missing something, this signal is not available on the
> > > PMOD connector?
> >
> > Yes, it is not available on the PMOD connector. SD card detection
> > signal, is muxed with MTIOC1A (Z Phase signal). So for counter use
> > case, we use it as MTIOC1A pins.
> 
> As the signal is not available on the PMOD connector, can't you just ignore
> the Z Phase signal, and keep the SD card CD signal available instead?


Some customers are using Z phase signal in their product to clear the counter.
Maybe we define a macro in overlay, by default Z phase signal is disabled.

Is it ok?

Note:-
I use SD card removal/insert which changes the Z phase signal level for
clearing the counter.


Cheers,
Biju
Geert Uytterhoeven April 21, 2023, 7:27 a.m. UTC | #5
Hi Biju,

On Thu, Apr 20, 2023 at 8:16 PM Biju Das <biju.das.jz@bp.renesas.com> wrote:
> > -----Original Message-----
> > From: Geert Uytterhoeven <geert@linux-m68k.org>
> > Sent: Thursday, April 20, 2023 6:15 PM
> > To: Biju Das <biju.das.jz@bp.renesas.com>
> > Cc: Rob Herring <robh+dt@kernel.org>; Krzysztof Kozlowski
> > <krzysztof.kozlowski+dt@linaro.org>; Magnus Damm <magnus.damm@gmail.com>;
> > linux-renesas-soc@vger.kernel.org; devicetree@vger.kernel.org; Prabhakar
> > Mahadev Lad <prabhakar.mahadev-lad.rj@bp.renesas.com>
> > Subject: Re: [PATCH 3/3] arm64: dts: renesas: rzg2l-smarc: Enable MTU3a
> > counter using DT overlay
> >
> > Hi Biju,
> >
> > On Thu, Apr 20, 2023 at 5:49 PM Biju Das <biju.das.jz@bp.renesas.com> wrote:
> > > > -----Original Message-----
> > > > From: Geert Uytterhoeven <geert@linux-m68k.org>
> > > > Sent: Thursday, April 20, 2023 4:40 PM
> > > > To: Biju Das <biju.das.jz@bp.renesas.com>
> > > > Cc: Rob Herring <robh+dt@kernel.org>; Krzysztof Kozlowski
> > > > <krzysztof.kozlowski+dt@linaro.org>; Geert Uytterhoeven
> > > > <geert+renesas@glider.be>; Magnus Damm <magnus.damm@gmail.com>;
> > > > linux- renesas-soc@vger.kernel.org; devicetree@vger.kernel.org;
> > > > Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@bp.renesas.com>
> > > > Subject: Re: [PATCH 3/3] arm64: dts: renesas: rzg2l-smarc: Enable
> > > > MTU3a counter using DT overlay
> > > >
> > > > Hi Biju,
> > > >
> > > > On Mon, Apr 17, 2023 at 11:02 AM Biju Das
> > > > <biju.das.jz@bp.renesas.com>
> > > > wrote:
> > > > > Enable mtu3 node using dt overlay and disable scif2 node and
> > > > > delete {sd1_mux,sd1_mux_uhs} nodes as the pins are shared with
> > > > > mtu3 external clock input pins and Z phase signal(MTIOC1A).
> > > > >
> > > > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> >
> > > > > --- /dev/null
> > > > > +++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> > > > > @@ -0,0 +1,43 @@
> > > > > +// SPDX-License-Identifier: GPL-2.0
> > > > > +/*
> > > > > + * Device Tree Source for the RZ/{G2L,V2L} SMARC EVK PMOD parts
> > > > > + *
> > > > > + * Copyright (C) 2023 Renesas Electronics Corp.
> > > > > + */
> > > > > +
> > > > > +/dts-v1/;
> > > > > +/plugin/;
> > > > > +
> > > > > +#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
> > > > > +
> > > > > +&mtu3 {
> > > > > +       pinctrl-0 = <&mtu3_pins>;
> > > > > +       pinctrl-names = "default";
> > > > > +
> > > > > +       status = "okay";
> > > > > +};
> > > > > +
> > > > > +&pinctrl {
> > > > > +       mtu3_pins: mtu3 {
> > > > > +               mtu3-zphase-clk {
> > > > > +                       pinmux = <RZG2L_PORT_PINMUX(19, 0, 3)>; /*
> > > > > +MTIOC1A
> > > > */
> > > > > +               };
> > > >
> > > > Unless I'm missing something, this signal is not available on the
> > > > PMOD connector?
> > >
> > > Yes, it is not available on the PMOD connector. SD card detection
> > > signal, is muxed with MTIOC1A (Z Phase signal). So for counter use
> > > case, we use it as MTIOC1A pins.
> >
> > As the signal is not available on the PMOD connector, can't you just ignore
> > the Z Phase signal, and keep the SD card CD signal available instead?
>
>
> Some customers are using Z phase signal in their product to clear the counter.
> Maybe we define a macro in overlay, by default Z phase signal is disabled.
>
> Is it ok?
>
> Note:-
> I use SD card removal/insert which changes the Z phase signal level for
> clearing the counter.

After giving this some more thought, I don't think this overlay belongs
upstream: it does not just enable hardware support, but provides a
way to test hardware, by redefining the meaning of signals on the
PMOD interface.

Do you agree?

I can add (a future version of) the overlay file (without the build
glue) to my topic/renesas-overlays branch[1], though.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git/log/?h=topic/renesas-overlays

Gr{oetje,eeting}s,

                        Geert
Biju Das April 21, 2023, 7:45 a.m. UTC | #6
Hi Geert,

> > > > > Enable MTU3a counter using DT overlay
> > > > >
> > > > > Hi Biju,
> > > > >
> > > > > On Mon, Apr 17, 2023 at 11:02 AM Biju Das
> > > > > <biju.das.jz@bp.renesas.com>
> > > > > wrote:
> > > > > > Enable mtu3 node using dt overlay and disable scif2 node and
> > > > > > delete {sd1_mux,sd1_mux_uhs} nodes as the pins are shared with
> > > > > > mtu3 external clock input pins and Z phase signal(MTIOC1A).
> > > > > >
> > > > > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > >
> > > > > > --- /dev/null
> > > > > > +++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> > > > > > @@ -0,0 +1,43 @@
> > > > > > +// SPDX-License-Identifier: GPL-2.0
> > > > > > +/*
> > > > > > + * Device Tree Source for the RZ/{G2L,V2L} SMARC EVK PMOD
> > > > > > +parts
> > > > > > + *
> > > > > > + * Copyright (C) 2023 Renesas Electronics Corp.
> > > > > > + */
> > > > > > +
> > > > > > +/dts-v1/;
> > > > > > +/plugin/;
> > > > > > +
> > > > > > +#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
> > > > > > +
> > > > > > +&mtu3 {
> > > > > > +       pinctrl-0 = <&mtu3_pins>;
> > > > > > +       pinctrl-names = "default";
> > > > > > +
> > > > > > +       status = "okay";
> > > > > > +};
> > > > > > +
> > > > > > +&pinctrl {
> > > > > > +       mtu3_pins: mtu3 {
> > > > > > +               mtu3-zphase-clk {
> > > > > > +                       pinmux = <RZG2L_PORT_PINMUX(19, 0,
> > > > > > +3)>; /* MTIOC1A
> > > > > */
> > > > > > +               };
> > > > >
> > > > > Unless I'm missing something, this signal is not available on
> > > > > the PMOD connector?
> > > >
> > > > Yes, it is not available on the PMOD connector. SD card detection
> > > > signal, is muxed with MTIOC1A (Z Phase signal). So for counter use
> > > > case, we use it as MTIOC1A pins.
> > >
> > > As the signal is not available on the PMOD connector, can't you just
> > > ignore the Z Phase signal, and keep the SD card CD signal available
> instead?
> >
> >
> > Some customers are using Z phase signal in their product to clear the
> counter.
> > Maybe we define a macro in overlay, by default Z phase signal is disabled.
> >
> > Is it ok?
> >
> > Note:-
> > I use SD card removal/insert which changes the Z phase signal level
> > for clearing the counter.
> 
> After giving this some more thought, I don't think this overlay belongs
> upstream: it does not just enable hardware support, but provides a way to
> test hardware, by redefining the meaning of signals on the PMOD interface.
> 

> Do you agree?

Like any other PMOD interface, we can test real counter device with PMOD interface[1]

https://www.mouser.co.uk/ProductDetail/Alps-Alpine/EC11E15244B2?qs=m0BA540hBPfDpUEkDmFV5A%3D%3D

I have used this device for testing as well, later I switched to gpios for generating phase signals.

> 
> I can add (a future version of) the overlay file (without the build
> glue) to my topic/renesas-overlays branch[1], though.
> 

Without any hassles, if anyone wants to test counter interface using RZ/{G2L,G2LC,G2UL,Five, V2L}
SMARC EVK then I am ok for adding it to topic/renesas-overlays branch.

I believe the current overlay patch will provide that flexibility.

Cheers,
Biju
Geert Uytterhoeven June 8, 2023, 6:57 a.m. UTC | #7
Hi Biju,

On Mon, Apr 17, 2023 at 11:02 AM Biju Das <biju.das.jz@bp.renesas.com> wrote:
> Enable mtu3 node using dt overlay and disable scif2 node and delete
> {sd1_mux,sd1_mux_uhs} nodes as the pins are shared with mtu3 external
> clock input pins and Z phase signal(MTIOC1A).
>
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
>  arch/arm64/boot/dts/renesas/Makefile          |  2 +
>  .../boot/dts/renesas/rzg2l-smarc-pmod.dtso    | 43 +++++++++++++++++++
>  2 files changed, 45 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
>
> diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
> index f130165577a8..57727bcd1334 100644
> --- a/arch/arm64/boot/dts/renesas/Makefile
> +++ b/arch/arm64/boot/dts/renesas/Makefile
> @@ -81,8 +81,10 @@ dtb-$(CONFIG_ARCH_R9A07G043) += r9a07g043-smarc-pmod.dtbo
>  dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044c2-smarc.dtb
>  dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044l2-smarc.dtb
>  dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044l2-smarc-cru-csi-ov5645.dtbo
> +dtb-$(CONFIG_ARCH_R9A07G044) += rzg2l-smarc-pmod.dtbo
>
>  dtb-$(CONFIG_ARCH_R9A07G054) += r9a07g054l2-smarc.dtb
> +dtb-$(CONFIG_ARCH_R9A07G054) += rzg2l-smarc-pmod.dtbo
>
>  dtb-$(CONFIG_ARCH_R9A09G011) += r9a09g011-v2mevk2.dtb
>
> diff --git a/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso b/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> new file mode 100644
> index 000000000000..a502faf6e1ad
> --- /dev/null
> +++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> @@ -0,0 +1,43 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Device Tree Source for the RZ/{G2L,V2L} SMARC EVK PMOD parts
> + *
> + * Copyright (C) 2023 Renesas Electronics Corp.
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
> +
> +&mtu3 {
> +       pinctrl-0 = <&mtu3_pins>;
> +       pinctrl-names = "default";
> +
> +       status = "okay";
> +};
> +
> +&pinctrl {
> +       mtu3_pins: mtu3 {
> +               mtu3-zphase-clk {
> +                       pinmux = <RZG2L_PORT_PINMUX(19, 0, 3)>; /* MTIOC1A */
> +               };
> +
> +               mtu3-ext-clk-input-pin {
> +                       pinmux = <RZG2L_PORT_PINMUX(48, 0, 4)>, /* MTCLKA */
> +                                <RZG2L_PORT_PINMUX(48, 1, 4)>; /* MTCLKB */
> +               };
> +       };
> +};
> +
> +&scif2 {
> +       status = "disabled";
> +};
> +
> +&sdhi1_pins {
> +       /delete-node/ sd1_mux;
> +};
> +
> +&sdhi1_pins_uhs {
> +       /delete-node/ sd1_mux_uhs;
> +};

I'm afraid deleting nodes in the base DT from an overlay does not work...

Gr{oetje,eeting}s,

                        Geert
Biju Das June 8, 2023, 7:08 a.m. UTC | #8
Hi Geert,

Thanks for the feedback.

> Subject: Re: [PATCH 3/3] arm64: dts: renesas: rzg2l-smarc: Enable MTU3a
> counter using DT overlay
> 
> Hi Biju,
> 
> On Mon, Apr 17, 2023 at 11:02 AM Biju Das <biju.das.jz@bp.renesas.com>
> wrote:
> > Enable mtu3 node using dt overlay and disable scif2 node and delete
> > {sd1_mux,sd1_mux_uhs} nodes as the pins are shared with mtu3 external
> > clock input pins and Z phase signal(MTIOC1A).
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > ---
> >  arch/arm64/boot/dts/renesas/Makefile          |  2 +
> >  .../boot/dts/renesas/rzg2l-smarc-pmod.dtso    | 43 +++++++++++++++++++
> >  2 files changed, 45 insertions(+)
> >  create mode 100644 arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> >
> > diff --git a/arch/arm64/boot/dts/renesas/Makefile
> > b/arch/arm64/boot/dts/renesas/Makefile
> > index f130165577a8..57727bcd1334 100644
> > --- a/arch/arm64/boot/dts/renesas/Makefile
> > +++ b/arch/arm64/boot/dts/renesas/Makefile
> > @@ -81,8 +81,10 @@ dtb-$(CONFIG_ARCH_R9A07G043) +=
> > r9a07g043-smarc-pmod.dtbo
> >  dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044c2-smarc.dtb
> >  dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044l2-smarc.dtb
> >  dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044l2-smarc-cru-csi-ov5645.dtbo
> > +dtb-$(CONFIG_ARCH_R9A07G044) += rzg2l-smarc-pmod.dtbo
> >
> >  dtb-$(CONFIG_ARCH_R9A07G054) += r9a07g054l2-smarc.dtb
> > +dtb-$(CONFIG_ARCH_R9A07G054) += rzg2l-smarc-pmod.dtbo
> >
> >  dtb-$(CONFIG_ARCH_R9A09G011) += r9a09g011-v2mevk2.dtb
> >
> > diff --git a/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> > b/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> > new file mode 100644
> > index 000000000000..a502faf6e1ad
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> > @@ -0,0 +1,43 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Device Tree Source for the RZ/{G2L,V2L} SMARC EVK PMOD parts
> > + *
> > + * Copyright (C) 2023 Renesas Electronics Corp.
> > + */
> > +
> > +/dts-v1/;
> > +/plugin/;
> > +
> > +#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
> > +
> > +&mtu3 {
> > +       pinctrl-0 = <&mtu3_pins>;
> > +       pinctrl-names = "default";
> > +
> > +       status = "okay";
> > +};
> > +
> > +&pinctrl {
> > +       mtu3_pins: mtu3 {
> > +               mtu3-zphase-clk {
> > +                       pinmux = <RZG2L_PORT_PINMUX(19, 0, 3)>; /*
> MTIOC1A */
> > +               };
> > +
> > +               mtu3-ext-clk-input-pin {
> > +                       pinmux = <RZG2L_PORT_PINMUX(48, 0, 4)>, /*
> MTCLKA */
> > +                                <RZG2L_PORT_PINMUX(48, 1, 4)>; /*
> MTCLKB */
> > +               };
> > +       };
> > +};
> > +
> > +&scif2 {
> > +       status = "disabled";
> > +};
> > +
> > +&sdhi1_pins {
> > +       /delete-node/ sd1_mux;
> > +};
> > +
> > +&sdhi1_pins_uhs {
> > +       /delete-node/ sd1_mux_uhs;
> > +};
> 
> I'm afraid deleting nodes in the base DT from an overlay does not work...

It doesn't give any pin conflicts.  I will recheck and confirm.

When I tested, it clears the counter, when I remove/insert SD card as the
counter clearing source is P19_0 function3.

What about disabling SDHI1?? As pins shared between MTU3a and SDHI1,
When we use this overlay, we enable only MTU3a and disable SDHI1.

For a normal customer use case, SDHI1 will be always enabled.
But they may use different pins if they use both SDHI1 and MTU3a Z-Phase signal.

Cheers,
Biju
Biju Das June 8, 2023, 7:46 a.m. UTC | #9
Hi Geert,

> Subject: Re: [PATCH 3/3] arm64: dts: renesas: rzg2l-smarc: Enable MTU3a
> counter using DT overlay
> 
> Hi Biju,
> 
> On Mon, Apr 17, 2023 at 11:02 AM Biju Das <biju.das.jz@bp.renesas.com>
> wrote:
> > Enable mtu3 node using dt overlay and disable scif2 node and delete
> > {sd1_mux,sd1_mux_uhs} nodes as the pins are shared with mtu3 external
> > clock input pins and Z phase signal(MTIOC1A).
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > ---
> >  arch/arm64/boot/dts/renesas/Makefile          |  2 +
> >  .../boot/dts/renesas/rzg2l-smarc-pmod.dtso    | 43 +++++++++++++++++++
> >  2 files changed, 45 insertions(+)
> >  create mode 100644 arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> >
> > diff --git a/arch/arm64/boot/dts/renesas/Makefile
> > b/arch/arm64/boot/dts/renesas/Makefile
> > index f130165577a8..57727bcd1334 100644
> > --- a/arch/arm64/boot/dts/renesas/Makefile
> > +++ b/arch/arm64/boot/dts/renesas/Makefile
> > @@ -81,8 +81,10 @@ dtb-$(CONFIG_ARCH_R9A07G043) +=
> > r9a07g043-smarc-pmod.dtbo
> >  dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044c2-smarc.dtb
> >  dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044l2-smarc.dtb
> >  dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044l2-smarc-cru-csi-ov5645.dtbo
> > +dtb-$(CONFIG_ARCH_R9A07G044) += rzg2l-smarc-pmod.dtbo
> >
> >  dtb-$(CONFIG_ARCH_R9A07G054) += r9a07g054l2-smarc.dtb
> > +dtb-$(CONFIG_ARCH_R9A07G054) += rzg2l-smarc-pmod.dtbo
> >
> >  dtb-$(CONFIG_ARCH_R9A09G011) += r9a09g011-v2mevk2.dtb
> >
> > diff --git a/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> > b/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> > new file mode 100644
> > index 000000000000..a502faf6e1ad
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
> > @@ -0,0 +1,43 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Device Tree Source for the RZ/{G2L,V2L} SMARC EVK PMOD parts
> > + *
> > + * Copyright (C) 2023 Renesas Electronics Corp.
> > + */
> > +
> > +/dts-v1/;
> > +/plugin/;
> > +
> > +#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
> > +
> > +&mtu3 {
> > +       pinctrl-0 = <&mtu3_pins>;
> > +       pinctrl-names = "default";
> > +
> > +       status = "okay";
> > +};
> > +
> > +&pinctrl {
> > +       mtu3_pins: mtu3 {
> > +               mtu3-zphase-clk {
> > +                       pinmux = <RZG2L_PORT_PINMUX(19, 0, 3)>; /*
> MTIOC1A */
> > +               };
> > +
> > +               mtu3-ext-clk-input-pin {
> > +                       pinmux = <RZG2L_PORT_PINMUX(48, 0, 4)>, /*
> MTCLKA */
> > +                                <RZG2L_PORT_PINMUX(48, 1, 4)>; /*
> MTCLKB */
> > +               };
> > +       };
> > +};
> > +
> > +&scif2 {
> > +       status = "disabled";
> > +};
> > +
> > +&sdhi1_pins {
> > +       /delete-node/ sd1_mux;
> > +};
> > +
> > +&sdhi1_pins_uhs {
> > +       /delete-node/ sd1_mux_uhs;
> > +};
> 
> I'm afraid deleting nodes in the base DT from an overlay does not work...

Is it ok, if I use MACRO instead of overlay and MACRO is disabled for MTU3a by default?
5.10 cip kernel doesn't support overlay. Hence the question.

Cheers,
Biju
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
index f130165577a8..57727bcd1334 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -81,8 +81,10 @@  dtb-$(CONFIG_ARCH_R9A07G043) += r9a07g043-smarc-pmod.dtbo
 dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044c2-smarc.dtb
 dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044l2-smarc.dtb
 dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044l2-smarc-cru-csi-ov5645.dtbo
+dtb-$(CONFIG_ARCH_R9A07G044) += rzg2l-smarc-pmod.dtbo
 
 dtb-$(CONFIG_ARCH_R9A07G054) += r9a07g054l2-smarc.dtb
+dtb-$(CONFIG_ARCH_R9A07G054) += rzg2l-smarc-pmod.dtbo
 
 dtb-$(CONFIG_ARCH_R9A09G011) += r9a09g011-v2mevk2.dtb
 
diff --git a/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso b/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
new file mode 100644
index 000000000000..a502faf6e1ad
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc-pmod.dtso
@@ -0,0 +1,43 @@ 
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree Source for the RZ/{G2L,V2L} SMARC EVK PMOD parts
+ *
+ * Copyright (C) 2023 Renesas Electronics Corp.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
+
+&mtu3 {
+	pinctrl-0 = <&mtu3_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
+
+&pinctrl {
+	mtu3_pins: mtu3 {
+		mtu3-zphase-clk {
+			pinmux = <RZG2L_PORT_PINMUX(19, 0, 3)>; /* MTIOC1A */
+		};
+
+		mtu3-ext-clk-input-pin {
+			pinmux = <RZG2L_PORT_PINMUX(48, 0, 4)>, /* MTCLKA */
+				 <RZG2L_PORT_PINMUX(48, 1, 4)>; /* MTCLKB */
+		};
+	};
+};
+
+&scif2 {
+	status = "disabled";
+};
+
+&sdhi1_pins {
+	/delete-node/ sd1_mux;
+};
+
+&sdhi1_pins_uhs {
+	/delete-node/ sd1_mux_uhs;
+};