* [PATCH 0/3] Add USB2.0 support for RZ/G3E
@ 2026-08-18 14:28 Tommaso Merciai
2026-08-18 14:28 ` [PATCH 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes Tommaso Merciai
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Tommaso Merciai @ 2026-08-18 14:28 UTC (permalink / raw)
To: tomm.merciai, prabhakar.mahadev-lad.rj
Cc: linux-renesas-soc, biju.das.jz, Tommaso Merciai,
Geert Uytterhoeven, Magnus Damm, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, linux-kernel
Dear All,
This patch series adds USB2.0 support for the Renesas R9A09G047 SoC and
enables it on the RZ/G3E SMARK II board.
Kind regards,
Tommaso
Tommaso Merciai (3):
arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes
arm64: dts: renesas: r9a09g047: Add USB2.0 support
arm64: dts: renesas: r9a09g047e57-smarc: Enable USB2.0 support
arch/arm64/boot/dts/renesas/r9a08g046.dtsi | 25 ++++
arch/arm64/boot/dts/renesas/r9a09g047.dtsi | 124 ++++++++++++++++++
.../boot/dts/renesas/r9a09g047e57-smarc.dts | 45 +++++++
.../boot/dts/renesas/renesas-smarc2.dtsi | 25 ++++
4 files changed, 219 insertions(+)
--
2.54.0
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes 2026-08-18 14:28 [PATCH 0/3] Add USB2.0 support for RZ/G3E Tommaso Merciai @ 2026-08-18 14:28 ` Tommaso Merciai 2026-08-18 14:35 ` sashiko-bot 2026-08-24 14:36 ` Geert Uytterhoeven 2026-08-18 14:29 ` [PATCH 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support Tommaso Merciai 2026-08-18 14:29 ` [PATCH 3/3] arm64: dts: renesas: r9a09g047e57-smarc: Enable " Tommaso Merciai 2 siblings, 2 replies; 9+ messages in thread From: Tommaso Merciai @ 2026-08-18 14:28 UTC (permalink / raw) To: tomm.merciai, prabhakar.mahadev-lad.rj Cc: linux-renesas-soc, biju.das.jz, Tommaso Merciai, Geert Uytterhoeven, Magnus Damm, Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree, linux-kernel The USB2.0 wiring on the RZ SMARC Carrier-II board is the same for the RZ/G3E and RZ/G3L SoMs, so the nodes belong in the shared renesas-smarc2.dtsi. Enabling them there breaks the RZ/G3L SMARC EVK build, as the r9a08g046 (RZ/G3L) SoC DTSI describes neither the USB2.0 host (OHCI/EHCI) nor function (HSUSB) instances: Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:94.1-7 Label or path ehci0 not found Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:99.1-7 Label or path ehci1 not found Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:104.1-8 Label or path hsusb0 not found Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:114.1-7 Label or path ohci0 not found Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:119.1-7 Label or path ohci1 not found Add minimal placeholder nodes carrying only the reg property. The remaining properties will be filled in once USB2.0 support for RZ/G3L is complete. Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> --- arch/arm64/boot/dts/renesas/r9a08g046.dtsi | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi index c63a857f0e5b..5951a68c981c 100644 --- a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi +++ b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi @@ -1001,6 +1001,31 @@ queue3 { }; }; + ohci0: usb@11e10000 { + reg = <0 0x11e10000 0 0x100>; + /* placeholder */ + }; + + ohci1: usb@11e90000 { + reg = <0 0x11e90000 0 0x100>; + /* placeholder */ + }; + + ehci0: usb@11e10100 { + reg = <0 0x11e10100 0 0x100>; + /* placeholder */ + }; + + ehci1: usb@11e90100 { + reg = <0 0x11e90100 0 0x100>; + /* placeholder */ + }; + + hsusb0: usb@11e30000 { + reg = <0 0x11e30000 0 0x10000>; + /* placeholder */ + }; + pcie: pcie@11e40000 { reg = <0 0x11e40000 0 0x10000>; ranges = <0x02000000 0 0x30000000 0 0x30000000 0 0x08000000>; -- 2.54.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes 2026-08-18 14:28 ` [PATCH 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes Tommaso Merciai @ 2026-08-18 14:35 ` sashiko-bot 2026-08-24 14:36 ` Geert Uytterhoeven 1 sibling, 0 replies; 9+ messages in thread From: sashiko-bot @ 2026-08-18 14:35 UTC (permalink / raw) To: Tommaso Merciai; +Cc: robh, devicetree, conor+dt, wsa+renesas Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: - [Medium] Placeholder DT nodes omit mandatory properties (e.g. `compatible`), causing schema validation failures. - [Low] Newly added USB device tree nodes are not sorted by unit-address. -- --- Patch [1]: [PATCH 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes --- commit cc298f15a0f37ec626ccaf22949b2e2fb488034f Author: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes This commit adds placeholder USB2.0 devicetree nodes to the RZ/G3L SoC DTSI. It resolves build errors caused by the shared SMARC Carrier-II board file enabling these nodes. The nodes currently only contain the reg property. > diff --git a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi > index c63a857f0e5b0..5951a68c981cb 100644 > --- a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi > +++ b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi [ ... ] > @@ -1001,6 +1001,31 @@ queue3 { > }; > }; > > + ohci0: usb@11e10000 { > + reg = <0 0x11e10000 0 0x100>; > + /* placeholder */ > + }; [Severity: Medium] Will these placeholder nodes cause devicetree schema validation failures? Since they omit mandatory properties like compatible strings, compiling the devicetree with dtbs_check enabled might produce structurally invalid nodes. Because the shared board file enables them, they could be treated as malformed active devices. Could the basic required properties be included now? > + > + ohci1: usb@11e90000 { > + reg = <0 0x11e90000 0 0x100>; > + /* placeholder */ > + }; > + > + ehci0: usb@11e10100 { [Severity: Low] This isn't a bug, but should these nodes be sorted by their unit-address? The ohci1 node at usb@11e90000 is placed before ehci0 at usb@11e10100, which breaks the ascending numerical address ordering convention. Sorting them as usb@11e10000, usb@11e10100, usb@11e30000, pcie@11e40000, usb@11e90000, and usb@11e90100 might be preferred. > + reg = <0 0x11e10100 0 0x100>; > + /* placeholder */ > + }; > + > + ehci1: usb@11e90100 { > + reg = <0 0x11e90100 0 0x100>; > + /* placeholder */ > + }; -- Sashiko AI review · https://sashiko.dev/#/patchset/cover.1787062965.git.tommaso.merciai.xr@bp.renesas.com?part=1 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes 2026-08-18 14:28 ` [PATCH 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes Tommaso Merciai 2026-08-18 14:35 ` sashiko-bot @ 2026-08-24 14:36 ` Geert Uytterhoeven 2026-08-24 15:21 ` Biju Das 2026-08-25 10:12 ` Tommaso Merciai 1 sibling, 2 replies; 9+ messages in thread From: Geert Uytterhoeven @ 2026-08-24 14:36 UTC (permalink / raw) To: Tommaso Merciai Cc: tomm.merciai, prabhakar.mahadev-lad.rj, linux-renesas-soc, biju.das.jz, Magnus Damm, Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree, linux-kernel Hi Tommaso, On Tue, 18 Aug 2026 at 16:29, Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> wrote: > The USB2.0 wiring on the RZ SMARC Carrier-II board is the same for the > RZ/G3E and RZ/G3L SoMs, so the nodes belong in the shared > renesas-smarc2.dtsi. Enabling them there breaks the RZ/G3L SMARC EVK > build, as the r9a08g046 (RZ/G3L) SoC DTSI describes neither the USB2.0 > host (OHCI/EHCI) nor function (HSUSB) instances: > > Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:94.1-7 Label or path ehci0 not found > Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:99.1-7 Label or path ehci1 not found > Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:104.1-8 Label or path hsusb0 not found > Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:114.1-7 Label or path ohci0 not found > Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:119.1-7 Label or path ohci1 not found > > Add minimal placeholder nodes carrying only the reg property. > The remaining properties will be filled in once USB2.0 support for > RZ/G3L is complete. > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > --- > arch/arm64/boot/dts/renesas/r9a08g046.dtsi | 25 ++++++++++++++++++++++ FTR, this conflicts with Biju's "[PATCH v7 6/9] arm64: dts: renesas: r9a08g046: Add USB2.0 host/phy device nodes". which does add the real device nodes. [1] https://lore.kernel.org/20260812141940.246223-7-biju.das.jz@bp.renesas.com 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 ^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes 2026-08-24 14:36 ` Geert Uytterhoeven @ 2026-08-24 15:21 ` Biju Das 2026-08-25 10:12 ` Tommaso Merciai 1 sibling, 0 replies; 9+ messages in thread From: Biju Das @ 2026-08-24 15:21 UTC (permalink / raw) To: geert, Tommaso Merciai Cc: Tommaso Merciai, Prabhakar Mahadev Lad, linux-renesas-soc@vger.kernel.org, magnus.damm, Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Hi Geert, Thanks for the feedback. > -----Original Message----- > From: Geert Uytterhoeven <geert@linux-m68k.org> > Sent: 24 August 2026 15:36 > Subject: Re: [PATCH 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes > > Hi Tommaso, > > On Tue, 18 Aug 2026 at 16:29, Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> wrote: > > The USB2.0 wiring on the RZ SMARC Carrier-II board is the same for the > > RZ/G3E and RZ/G3L SoMs, so the nodes belong in the shared > > renesas-smarc2.dtsi. Enabling them there breaks the RZ/G3L SMARC EVK > > build, as the r9a08g046 (RZ/G3L) SoC DTSI describes neither the USB2.0 > > host (OHCI/EHCI) nor function (HSUSB) instances: > > > > Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:94.1-7 Label or > > path ehci0 not found > > Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:99.1-7 Label or > > path ehci1 not found > > Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:104.1-8 Label > > or path hsusb0 not found > > Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:114.1-7 Label > > or path ohci0 not found > > Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:119.1-7 Label > > or path ohci1 not found > > > > Add minimal placeholder nodes carrying only the reg property. > > The remaining properties will be filled in once USB2.0 support for > > RZ/G3L is complete. > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > --- > > arch/arm64/boot/dts/renesas/r9a08g046.dtsi | 25 > > ++++++++++++++++++++++ > > FTR, this conflicts with Biju's "[PATCH v7 6/9] arm64: dts: renesas: > r9a08g046: Add USB2.0 host/phy device nodes". which does add the real device nodes. > > [1] https://lore.kernel.org/20260812141940.246223-7-biju.das.jz@bp.renesas.com For RZ/G3E only DT patches are pending, whereas for RZ/G3L USB reset/regulator/ power sequence patches are pending that is the reason Tommaso posted like this as I mentioned him, I will rebase on top of his patch series. Cheers, Biju ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes 2026-08-24 14:36 ` Geert Uytterhoeven 2026-08-24 15:21 ` Biju Das @ 2026-08-25 10:12 ` Tommaso Merciai 1 sibling, 0 replies; 9+ messages in thread From: Tommaso Merciai @ 2026-08-25 10:12 UTC (permalink / raw) To: Geert Uytterhoeven Cc: tomm.merciai, prabhakar.mahadev-lad.rj, linux-renesas-soc, biju.das.jz, Magnus Damm, Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree, linux-kernel Hi Geert, Thanks for your review. On Mon, Aug 24, 2026 at 04:36:10PM +0200, Geert Uytterhoeven wrote: > Hi Tommaso, > > On Tue, 18 Aug 2026 at 16:29, Tommaso Merciai > <tommaso.merciai.xr@bp.renesas.com> wrote: > > The USB2.0 wiring on the RZ SMARC Carrier-II board is the same for the > > RZ/G3E and RZ/G3L SoMs, so the nodes belong in the shared > > renesas-smarc2.dtsi. Enabling them there breaks the RZ/G3L SMARC EVK > > build, as the r9a08g046 (RZ/G3L) SoC DTSI describes neither the USB2.0 > > host (OHCI/EHCI) nor function (HSUSB) instances: > > > > Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:94.1-7 Label or path ehci0 not found > > Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:99.1-7 Label or path ehci1 not found > > Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:104.1-8 Label or path hsusb0 not found > > Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:114.1-7 Label or path ohci0 not found > > Error: arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi:119.1-7 Label or path ohci1 not found > > > > Add minimal placeholder nodes carrying only the reg property. > > The remaining properties will be filled in once USB2.0 support for > > RZ/G3L is complete. > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > --- > > arch/arm64/boot/dts/renesas/r9a08g046.dtsi | 25 ++++++++++++++++++++++ > > FTR, this conflicts with Biju's "[PATCH v7 6/9] arm64: dts: renesas: > r9a08g046: Add USB2.0 host/phy device nodes". which does add the real > device nodes. > > [1] https://lore.kernel.org/20260812141940.246223-7-biju.das.jz@bp.renesas.com I will send v2 picking [2] and [3] from [1], then I will rework [4] to properly disable common nodes from arch/arm64/boot/dts/renesas/r9a08g046l48-smarc.dts. In this way we can drop this patch. [2] https://lore.kernel.org/all/20260812141940.246223-7-biju.das.jz@bp.renesas.com/ [3] https://lore.kernel.org/all/20260812141940.246223-8-biju.das.jz@bp.renesas.com/ [4] https://patchwork.kernel.org/project/linux-renesas-soc/patch/c2a9a45078773cd022cfec77578ed68c57921c73.1787062965.git.tommaso.merciai.xr@bp.renesas.com/ Kind regards, Tommaso > > 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 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support 2026-08-18 14:28 [PATCH 0/3] Add USB2.0 support for RZ/G3E Tommaso Merciai 2026-08-18 14:28 ` [PATCH 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes Tommaso Merciai @ 2026-08-18 14:29 ` Tommaso Merciai 2026-08-18 14:38 ` sashiko-bot 2026-08-18 14:29 ` [PATCH 3/3] arm64: dts: renesas: r9a09g047e57-smarc: Enable " Tommaso Merciai 2 siblings, 1 reply; 9+ messages in thread From: Tommaso Merciai @ 2026-08-18 14:29 UTC (permalink / raw) To: tomm.merciai, prabhakar.mahadev-lad.rj Cc: linux-renesas-soc, biju.das.jz, Tommaso Merciai, Geert Uytterhoeven, Magnus Damm, Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree, linux-kernel The Renesas RZ/G3E ("R9A09G047") SoC supports 1x channel with OTG/DRD and 1x channel with host interface. Add the EHCI, OHCI, USB2.0 PHY and reset control nodes for USB2.0 channels in R9A09G047 SoC DTSI. Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> --- arch/arm64/boot/dts/renesas/r9a09g047.dtsi | 124 +++++++++++++++++++++ 1 file changed, 124 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/r9a09g047.dtsi b/arch/arm64/boot/dts/renesas/r9a09g047.dtsi index 73757e8e2197..e26d43538ad8 100644 --- a/arch/arm64/boot/dts/renesas/r9a09g047.dtsi +++ b/arch/arm64/boot/dts/renesas/r9a09g047.dtsi @@ -1773,6 +1773,130 @@ usb3_phy: usb-phy@15870000 { status = "disabled"; }; + ohci0: usb@15800000 { + compatible = "generic-ohci"; + reg = <0 0x15800000 0 0x100>; + interrupts = <GIC_SPI 742 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 0xb3>, <&cpg CPG_MOD 0xb6>; + resets = <&usb20phyrst>, <&cpg 0xac>; + phys = <&usb2_phy0 1>; + phy-names = "usb"; + power-domains = <&cpg>; + status = "disabled"; + }; + + ohci1: usb@15810000 { + compatible = "generic-ohci"; + reg = <0 0x15810000 0 0x100>; + interrupts = <GIC_SPI 747 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 0xb4>, <&cpg CPG_MOD 0xb7>; + resets = <&usb21phyrst>, <&cpg 0xad>; + phys = <&usb2_phy1 1>; + phy-names = "usb"; + power-domains = <&cpg>; + status = "disabled"; + }; + + ehci0: usb@15800100 { + compatible = "generic-ehci"; + reg = <0 0x15800100 0 0x100>; + interrupts = <GIC_SPI 743 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 0xb3>, <&cpg CPG_MOD 0xb6>; + resets = <&usb20phyrst>, <&cpg 0xac>; + phys = <&usb2_phy0 2>; + phy-names = "usb"; + companion = <&ohci0>; + power-domains = <&cpg>; + status = "disabled"; + }; + + ehci1: usb@15810100 { + compatible = "generic-ehci"; + reg = <0 0x15810100 0 0x100>; + interrupts = <GIC_SPI 748 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 0xb4>, <&cpg CPG_MOD 0xb7>; + resets = <&usb21phyrst>, <&cpg 0xad>; + phys = <&usb2_phy1 2>; + phy-names = "usb"; + companion = <&ohci1>; + power-domains = <&cpg>; + status = "disabled"; + }; + + usb2_phy0: usb-phy@15800200 { + compatible = "renesas,usb2-phy-r9a09g047", + "renesas,usb2-phy-r9a09g057"; + reg = <0 0x15800200 0 0x700>; + interrupts = <GIC_SPI 745 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 0xb3>, + <&cpg CPG_CORE R9A09G047_USB2_0_CLK_CORE0>; + clock-names = "fck", "usb_x1"; + resets = <&usb20phyrst>, <&cpg 0xac>; + #phy-cells = <1>; + power-domains = <&cpg>; + mux-states = <&usb20phyrst 1>; + status = "disabled"; + + usb2_phy0_vbus_otg: vbus-regulator { + regulator-name = "USB2PHY0-VBUS-OTG"; + }; + }; + + usb2_phy1: usb-phy@15810200 { + compatible = "renesas,usb2-phy-r9a09g047", + "renesas,usb2-phy-r9a09g057"; + reg = <0 0x15810200 0 0x700>; + interrupts = <GIC_SPI 750 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 0xb4>, + <&cpg CPG_CORE R9A09G047_USB2_0_CLK_CORE1>; + clock-names = "fck", "usb_x1"; + resets = <&usb21phyrst>, <&cpg 0xad>; + #phy-cells = <1>; + power-domains = <&cpg>; + mux-states = <&usb21phyrst 0>; + status = "disabled"; + }; + + hsusb0: usb@15820000 { + compatible = "renesas,usbhs-r9a09g047", + "renesas,rzg2l-usbhs"; + reg = <0 0x15820000 0 0x10000>; + interrupts = <GIC_SPI 751 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 752 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 753 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 754 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 0xb3>, <&cpg CPG_MOD 0xb5>; + resets = <&usb20phyrst>, <&cpg 0xae>; + phys = <&usb2_phy0 3>; + phy-names = "usb"; + power-domains = <&cpg>; + status = "disabled"; + }; + + usb20phyrst: reset-controller@15830000 { + compatible = "renesas,r9a09g047-usb2phy-reset", + "renesas,r9a09g057-usb2phy-reset"; + reg = <0 0x15830000 0 0x10000>; + clocks = <&cpg CPG_MOD 0xb6>; + resets = <&cpg 0xaf>; + power-domains = <&cpg>; + #reset-cells = <0>; + #mux-state-cells = <1>; + status = "disabled"; + }; + + usb21phyrst: reset-controller@15840000 { + compatible = "renesas,r9a09g047-usb2phy-reset", + "renesas,r9a09g057-usb2phy-reset"; + reg = <0 0x15840000 0 0x10000>; + clocks = <&cpg CPG_MOD 0xb7>; + resets = <&cpg 0xaf>; + power-domains = <&cpg>; + #reset-cells = <0>; + #mux-state-cells = <1>; + status = "disabled"; + }; + sdhi0: mmc@15c00000 { compatible = "renesas,sdhi-r9a09g047", "renesas,sdhi-r9a09g057"; reg = <0x0 0x15c00000 0 0x10000>; -- 2.54.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support 2026-08-18 14:29 ` [PATCH 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support Tommaso Merciai @ 2026-08-18 14:38 ` sashiko-bot 0 siblings, 0 replies; 9+ messages in thread From: sashiko-bot @ 2026-08-18 14:38 UTC (permalink / raw) To: Tommaso Merciai; +Cc: robh, wsa+renesas, conor+dt, devicetree Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Low] Device Tree nodes are not sorted by unit-address. -- --- Patch [2]: [PATCH 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support --- commit d34912c9041670ddb50206c7be9fec96e890adfb Author: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> arm64: dts: renesas: r9a09g047: Add USB2.0 support This commit adds support for the USB2.0 channels on the Renesas RZ/G3E SoC, including EHCI, OHCI, PHY, and reset control nodes. > diff --git a/arch/arm64/boot/dts/renesas/r9a09g047.dtsi b/arch/arm64/boot/dts/renesas/r9a09g047.dtsi > --- a/arch/arm64/boot/dts/renesas/r9a09g047.dtsi > +++ b/arch/arm64/boot/dts/renesas/r9a09g047.dtsi > @@ -1773,6 +1773,130 @@ usb3_phy: usb-phy@15870000 { > status = "disabled"; > }; > > + ohci0: usb@15800000 { > + compatible = "generic-ohci"; [ ... ] > + ohci1: usb@15810000 { > + compatible = "generic-ohci"; [ ... ] > + ehci0: usb@15800100 { [Severity: Low] This isn't a bug, but should these newly added device tree nodes be sorted by their unit-address? The new nodes (starting with usb@15800000) are appended after the existing usb-phy@15870000 node, which breaks the ascending unit-address order. Additionally, within the new block itself, the nodes appear to be grouped by peripheral type rather than being sorted numerically by their unit-address, resulting in usb@15810000 being placed before usb@15800100. -- Sashiko AI review · https://sashiko.dev/#/patchset/cover.1787062965.git.tommaso.merciai.xr@bp.renesas.com?part=2 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 3/3] arm64: dts: renesas: r9a09g047e57-smarc: Enable USB2.0 support 2026-08-18 14:28 [PATCH 0/3] Add USB2.0 support for RZ/G3E Tommaso Merciai 2026-08-18 14:28 ` [PATCH 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes Tommaso Merciai 2026-08-18 14:29 ` [PATCH 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support Tommaso Merciai @ 2026-08-18 14:29 ` Tommaso Merciai 2 siblings, 0 replies; 9+ messages in thread From: Tommaso Merciai @ 2026-08-18 14:29 UTC (permalink / raw) To: tomm.merciai, prabhakar.mahadev-lad.rj Cc: linux-renesas-soc, biju.das.jz, Tommaso Merciai, Geert Uytterhoeven, Magnus Damm, Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree, linux-kernel Enable USB2.0 support on the RZ/G3E EVK board. The USB1B_1A_HOST and USB5_4_HOST connectors support host operation only, while USB0_OTG supports both host and peripheral operation. Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> --- .../boot/dts/renesas/r9a09g047e57-smarc.dts | 45 +++++++++++++++++++ .../boot/dts/renesas/renesas-smarc2.dtsi | 25 +++++++++++ 2 files changed, 70 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts b/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts index 4eed095b683b..7dd508b5eb0e 100644 --- a/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts +++ b/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts @@ -296,6 +296,28 @@ sd1-data { }; }; + usb20_pins: usb20 { + ovc { + pinmux = <RZG3E_PORT_PINMUX(0, 0, 12)>; /* OVC */ + bias-pull-up; + }; + + vbus { + pinmux = <RZG3E_PORT_PINMUX(0, 1, 12)>; /* VBUS */ + }; + }; + + usb21_pins: usb21 { + ovc { + pinmux = <RZG3E_PORT_PINMUX(G, 6, 12)>; /* OVC */ + bias-pull-up; + }; + + vbus { + pinmux = <RZG3E_PORT_PINMUX(K, 3, 12)>; /* VBUS */ + }; + }; + usb3_pins: usb3 { pinmux = <RZG3E_PORT_PINMUX(4, 1, 12)>, /* USB30_VBUSEN */ <RZG3E_PORT_PINMUX(4, 0, 12)>; /* USB30_OVRCURN */ @@ -392,6 +414,29 @@ &ssi4 { shared-pin; }; +&usb20phyrst { + status = "okay"; +}; + +&usb21phyrst { + status = "okay"; +}; + +&usb2_phy0 { + pinctrl-0 = <&usb20_pins>; + pinctrl-names = "default"; + + vbus-supply = <&usb2_phy0_vbus_otg>; + status = "okay"; +}; + +&usb2_phy1 { + pinctrl-0 = <&usb21_pins>; + pinctrl-names = "default"; + + status = "okay"; +}; + &usb3_phy { status = "okay"; }; diff --git a/arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi b/arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi index 696a933af808..e07fd9396adb 100644 --- a/arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi +++ b/arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi @@ -91,11 +91,36 @@ &canfd { status = "okay"; }; +&ehci0 { + dr_mode = "otg"; + status = "okay"; +}; + +&ehci1 { + dr_mode = "host"; + status = "okay"; +}; + +&hsusb0 { + dr_mode = "otg"; + status = "okay"; +}; + &i2c0 { status = "okay"; clock-frequency = <400000>; }; +&ohci0 { + dr_mode = "otg"; + status = "okay"; +}; + +&ohci1 { + dr_mode = "host"; + status = "okay"; +}; + &pcie { status = "okay"; }; -- 2.54.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-08-25 10:13 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-08-18 14:28 [PATCH 0/3] Add USB2.0 support for RZ/G3E Tommaso Merciai 2026-08-18 14:28 ` [PATCH 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes Tommaso Merciai 2026-08-18 14:35 ` sashiko-bot 2026-08-24 14:36 ` Geert Uytterhoeven 2026-08-24 15:21 ` Biju Das 2026-08-25 10:12 ` Tommaso Merciai 2026-08-18 14:29 ` [PATCH 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support Tommaso Merciai 2026-08-18 14:38 ` sashiko-bot 2026-08-18 14:29 ` [PATCH 3/3] arm64: dts: renesas: r9a09g047e57-smarc: Enable " Tommaso Merciai
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox