[PATCH v4 3/3] arm64: dts: renesas: r9a09g047e57-smarc: Enable USB2.0 support
From: Tommaso Merciai
Date: Mon Sep 21 2026 - 18:32:39 EST
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@xxxxxxxxxxxxxx>
---
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