* [PATCH v4 0/3] Add USB2.0 support for RZ/G3E
@ 2026-09-21 22:26 Tommaso Merciai
2026-09-21 22:26 ` [PATCH v4 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-09-21 22:26 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
v3->v4:
- Readded v1 RZ/G3L placeholder patch.
- Drop usb21_pins.
- Collected tag.
v2->v3:
- No changes just rebased on top of next-20260908.
v1->v2:
- Included PATCH v7 7/9 and PATCH v7 6/9 from
v7: https://lore.kernel.org/all/20260812141940.246223-1-biju.das.jz@bp.renesas.com/
- Drop placeholder patch
- PATCH 4/4: Disabled RZ/G3L common nodes from r9a08g046l48-smarc.dts.
Update commit body, and improved usb20_pins, usb21_pins comments.
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 ++++
.../boot/dts/renesas/r9a08g046l48-smarc.dts | 20 +++
arch/arm64/boot/dts/renesas/r9a09g047.dtsi | 124 ++++++++++++++++++
.../boot/dts/renesas/r9a09g047e57-smarc.dts | 31 +++++
.../boot/dts/renesas/renesas-smarc2.dtsi | 25 ++++
5 files changed, 225 insertions(+)
--
2.54.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v4 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes
2026-09-21 22:26 [PATCH v4 0/3] Add USB2.0 support for RZ/G3E Tommaso Merciai
@ 2026-09-21 22:26 ` Tommaso Merciai
2026-09-23 9:40 ` Geert Uytterhoeven
2026-09-21 22:26 ` [PATCH v4 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support Tommaso Merciai
2026-09-21 22:26 ` [PATCH v4 3/3] arm64: dts: renesas: r9a09g047e57-smarc: Enable " Tommaso Merciai
2 siblings, 1 reply; 9+ messages in thread
From: Tommaso Merciai @ 2026-09-21 22:26 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>
---
v3->v4:
- No change, re-sent from v1.
- Link to v1: https://lore.kernel.org/all/aec1fce5558c6c88725fe710a2f9e4b1eb9e8d64.1787062965.git.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 98424a97f169..29a5de27852e 100644
--- a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
+++ b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
@@ -1266,6 +1266,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
* [PATCH v4 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support
2026-09-21 22:26 [PATCH v4 0/3] Add USB2.0 support for RZ/G3E Tommaso Merciai
2026-09-21 22:26 ` [PATCH v4 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes Tommaso Merciai
@ 2026-09-21 22:26 ` Tommaso Merciai
2026-09-21 22:37 ` sashiko-bot
2026-09-23 9:42 ` Geert Uytterhoeven
2026-09-21 22:26 ` [PATCH v4 3/3] arm64: dts: renesas: r9a09g047e57-smarc: Enable " Tommaso Merciai
2 siblings, 2 replies; 9+ messages in thread
From: Tommaso Merciai @ 2026-09-21 22:26 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.
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
---
v3->v4:
- Collected tag.
v2->v3:
- No changes just rebased on top of next-20260908.
v1->v2:
- No changes
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 72120e2abf8b..56ceedfb8ae8 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
* [PATCH v4 3/3] arm64: dts: renesas: r9a09g047e57-smarc: Enable USB2.0 support
2026-09-21 22:26 [PATCH v4 0/3] Add USB2.0 support for RZ/G3E Tommaso Merciai
2026-09-21 22:26 ` [PATCH v4 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes Tommaso Merciai
2026-09-21 22:26 ` [PATCH v4 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support Tommaso Merciai
@ 2026-09-21 22:26 ` Tommaso Merciai
2026-09-23 9:42 ` Geert Uytterhoeven
2 siblings, 1 reply; 9+ messages in thread
From: Tommaso Merciai @ 2026-09-21 22:26 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.
renesas-smarc2.dtsi is shared by all boards based on the RZ SMARC
Carrier II Board. USB2.0 is not yet supported on the RZ/G3L SMARC
EVK, so disable the common USB2.0 nodes in its board DTS until proper
support is added.
Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
---
v3->v4:
- Drop usb21_pins.
v2->v3:
- No changes just rebased on top of next-20260908.
v1->v2:
- Disabled RZ/G3L common nodes from r9a08g046l48-smarc.dts in this way
we can drop placeholder patch.
- Update commit body.
- Improved usb20_pins, usb21_pins comments.
.../boot/dts/renesas/r9a08g046l48-smarc.dts | 20 ++++++++++++
.../boot/dts/renesas/r9a09g047e57-smarc.dts | 31 +++++++++++++++++++
.../boot/dts/renesas/renesas-smarc2.dtsi | 25 +++++++++++++++
3 files changed, 76 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/r9a08g046l48-smarc.dts b/arch/arm64/boot/dts/renesas/r9a08g046l48-smarc.dts
index 5289efd1a430..ccd6e6394532 100644
--- a/arch/arm64/boot/dts/renesas/r9a08g046l48-smarc.dts
+++ b/arch/arm64/boot/dts/renesas/r9a08g046l48-smarc.dts
@@ -71,6 +71,18 @@ codec_dai: codec {
#endif
};
+&ehci0 {
+ status = "disabled";
+};
+
+&ehci1 {
+ status = "disabled";
+};
+
+&hsusb0 {
+ status = "disabled";
+};
+
&i2c2 {
pinctrl-0 = <&i2c2_pins>;
pinctrl-names = "default";
@@ -122,6 +134,14 @@ &keys {
#endif
};
+&ohci0 {
+ status = "disabled";
+};
+
+&ohci1 {
+ status = "disabled";
+};
+
&pinctrl {
audio_clk_pins: audio-clock {
pinmux = <RZG3L_PORT_PINMUX(H, 4, 6)>, /* AUDIO_CLK_B */
diff --git a/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts b/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts
index 14f5834082fa..095acb87c20c 100644
--- a/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts
+++ b/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts
@@ -301,6 +301,17 @@ sd1-data {
};
};
+ usb20_pins: usb20 {
+ ovc {
+ pinmux = <RZG3E_PORT_PINMUX(0, 0, 12)>; /* USB20_OVRCURN */
+ bias-pull-up;
+ };
+
+ vbus {
+ pinmux = <RZG3E_PORT_PINMUX(0, 1, 12)>; /* USB20_VBUSEN */
+ };
+ };
+
usb3_pins: usb3 {
pinmux = <RZG3E_PORT_PINMUX(4, 1, 12)>, /* USB30_VBUSEN */
<RZG3E_PORT_PINMUX(4, 0, 12)>; /* USB30_OVRCURN */
@@ -397,6 +408,26 @@ &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 {
+ 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 826a11ab93c7..234ca287ed28 100644
--- a/arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi
+++ b/arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi
@@ -84,11 +84,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
* Re: [PATCH v4 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support
2026-09-21 22:26 ` [PATCH v4 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support Tommaso Merciai
@ 2026-09-21 22:37 ` sashiko-bot
2026-09-22 13:31 ` Geert Uytterhoeven
2026-09-23 9:42 ` Geert Uytterhoeven
1 sibling, 1 reply; 9+ messages in thread
From: sashiko-bot @ 2026-09-21 22:37 UTC (permalink / raw)
To: Tommaso Merciai; +Cc: wsa+renesas, robh, conor+dt, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] dts: nodes not sorted by unit address
--
commit db8934356239e961e6360c8c46e87d977245ad6d
Author: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
arm64: dts: renesas: r9a09g047: Add USB2.0 support
The Renesas RZ/G3E (R9A09G047) SoC supports one channel with OTG/DRD and one
channel with host interface. This commit adds the EHCI, OHCI, USB2.0 PHY,
and reset control nodes for USB2.0 channels in the R9A09G047 SoC DTSI.
> diff --git a/arch/arm64/boot/dts/renesas/r9a09g047.dtsi b/arch/arm64/boot/dts/renesas/r9a09g047.dtsi
> index 72120e2abf8b4..56ceedfb8ae88 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 {
[Severity: Low]
This isn't a bug, but should the newly added nodes be sorted by unit address?
The ohci0 node at address 15800000 is being placed after the existing usb3_phy
node at 15870000.
> + compatible = "generic-ohci";
> + reg = <0 0x15800000 0 0x100>;
[ ... ]
> + ohci1: usb@15810000 {
> + compatible = "generic-ohci";
> + reg = <0 0x15810000 0 0x100>;
[ ... ]
> + power-domains = <&cpg>;
> + status = "disabled";
> + };
> +
> + ehci0: usb@15800100 {
[Severity: Low]
Similarly, should ehci0 at address 15800100 be placed before ohci1 at 15810000
to maintain unit address sorting among the newly added nodes?
> + compatible = "generic-ehci";
> + reg = <0 0x15800100 0 0x100>;
--
Sashiko AI review · https://sashiko.dev/#/patchset/cover.1790005703.git.tommaso.merciai.xr@bp.renesas.com?part=2
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support
2026-09-21 22:37 ` sashiko-bot
@ 2026-09-22 13:31 ` Geert Uytterhoeven
0 siblings, 0 replies; 9+ messages in thread
From: Geert Uytterhoeven @ 2026-09-22 13:31 UTC (permalink / raw)
To: sashiko-reviews; +Cc: Tommaso Merciai, wsa+renesas, robh, conor+dt, devicetree
Hi Sashiko,
On Tue, 22 Sept 2026 at 00:47, <sashiko-bot@kernel.org> wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [Low] dts: nodes not sorted by unit address
> --
>
> commit db8934356239e961e6360c8c46e87d977245ad6d
> Author: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
>
> arm64: dts: renesas: r9a09g047: Add USB2.0 support
>
> The Renesas RZ/G3E (R9A09G047) SoC supports one channel with OTG/DRD and one
> channel with host interface. This commit adds the EHCI, OHCI, USB2.0 PHY,
> and reset control nodes for USB2.0 channels in the R9A09G047 SoC DTSI.
>
> > diff --git a/arch/arm64/boot/dts/renesas/r9a09g047.dtsi b/arch/arm64/boot/dts/renesas/r9a09g047.dtsi
> > index 72120e2abf8b4..56ceedfb8ae88 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 {
>
> [Severity: Low]
> This isn't a bug, but should the newly added nodes be sorted by unit address?
> The ohci0 node at address 15800000 is being placed after the existing usb3_phy
> node at 15870000.
Yes, that is indeed the wrong location.
>
> > + compatible = "generic-ohci";
> > + reg = <0 0x15800000 0 0x100>;
>
> [ ... ]
>
> > + ohci1: usb@15810000 {
> > + compatible = "generic-ohci";
> > + reg = <0 0x15810000 0 0x100>;
>
> [ ... ]
>
> > + power-domains = <&cpg>;
> > + status = "disabled";
> > + };
> > +
> > + ehci0: usb@15800100 {
>
> [Severity: Low]
> Similarly, should ehci0 at address 15800100 be placed before ohci1 at 15810000
> to maintain unit address sorting among the newly added nodes?
No. Nodes should be sorted by unit address, but nodes of the same type
should be grouped together.
>
> > + compatible = "generic-ehci";
> > + reg = <0 0x15800100 0 0x100>;
>
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 v4 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes
2026-09-21 22:26 ` [PATCH v4 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes Tommaso Merciai
@ 2026-09-23 9:40 ` Geert Uytterhoeven
0 siblings, 0 replies; 9+ messages in thread
From: Geert Uytterhoeven @ 2026-09-23 9:40 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
On Tue, 22 Sept 2026 at 00:27, 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>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
i.e. will queue in renesas-devel for v7.4.
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 v4 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support
2026-09-21 22:26 ` [PATCH v4 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support Tommaso Merciai
2026-09-21 22:37 ` sashiko-bot
@ 2026-09-23 9:42 ` Geert Uytterhoeven
1 sibling, 0 replies; 9+ messages in thread
From: Geert Uytterhoeven @ 2026-09-23 9:42 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
On Tue, 22 Sept 2026 at 00:27, Tommaso Merciai
<tommaso.merciai.xr@bp.renesas.com> wrote:
> 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.
>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> --- 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 {
Moving up to preserve sort order while queuing in renesas-devel
for v7.4.
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 v4 3/3] arm64: dts: renesas: r9a09g047e57-smarc: Enable USB2.0 support
2026-09-21 22:26 ` [PATCH v4 3/3] arm64: dts: renesas: r9a09g047e57-smarc: Enable " Tommaso Merciai
@ 2026-09-23 9:42 ` Geert Uytterhoeven
0 siblings, 0 replies; 9+ messages in thread
From: Geert Uytterhoeven @ 2026-09-23 9:42 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
On Tue, 22 Sept 2026 at 00:27, Tommaso Merciai
<tommaso.merciai.xr@bp.renesas.com> wrote:
> 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.
>
> renesas-smarc2.dtsi is shared by all boards based on the RZ SMARC
> Carrier II Board. USB2.0 is not yet supported on the RZ/G3L SMARC
> EVK, so disable the common USB2.0 nodes in its board DTS until proper
> support is added.
>
> Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> ---
> v3->v4:
> - Drop usb21_pins.
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
i.e. will queue in renesas-devel for v7.4.
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
end of thread, other threads:[~2026-09-23 9:43 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-21 22:26 [PATCH v4 0/3] Add USB2.0 support for RZ/G3E Tommaso Merciai
2026-09-21 22:26 ` [PATCH v4 1/3] arm64: dts: renesas: r9a08g046: Add USB2.0 placeholder nodes Tommaso Merciai
2026-09-23 9:40 ` Geert Uytterhoeven
2026-09-21 22:26 ` [PATCH v4 2/3] arm64: dts: renesas: r9a09g047: Add USB2.0 support Tommaso Merciai
2026-09-21 22:37 ` sashiko-bot
2026-09-22 13:31 ` Geert Uytterhoeven
2026-09-23 9:42 ` Geert Uytterhoeven
2026-09-21 22:26 ` [PATCH v4 3/3] arm64: dts: renesas: r9a09g047e57-smarc: Enable " Tommaso Merciai
2026-09-23 9:42 ` Geert Uytterhoeven
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox