2022-02-25 15:41:12

by Michael Riesch

[permalink] [raw]
Subject: [PATCH 0/2] arm64: dts: rockchip: add usb3 support to rk356x

Hi all,

This series introduces the USB 3.0 xHCI controller nodes and enables
them on the RK3568 EVB1.

While USB 3.0 host and gadget operation have been tested successfully
on the EVB1, the dtbs_check complains about several issues. However,
since several issues pop up with RK3399 dtbs as well there
might be something strange with the binding and/or existing board
dts files. In this regard I could use a few pointers.

Looking forward to your comments!

Best regards,
Michael

Michael Riesch (2):
arm64: dts: rockchip: add the usb3 nodes to rk356x
arm64: dts: rockchip: add usb3 support to rk3568-evb1-v10

.../boot/dts/rockchip/rk3568-evb1-v10.dts | 49 ++++++++++++++++
arch/arm64/boot/dts/rockchip/rk3568.dtsi | 5 ++
arch/arm64/boot/dts/rockchip/rk356x.dtsi | 58 +++++++++++++++++++
3 files changed, 112 insertions(+)

--
2.30.2


2022-02-25 16:15:02

by Michael Riesch

[permalink] [raw]
Subject: [PATCH 2/2] arm64: dts: rockchip: add usb3 support to rk3568-evb1-v10

The Rockchip RK3568 EVB1 features one USB 3.0 device-only
(USB 2.0 OTG) port and one USB 3.0 host-only port.
Activate the USB 3.0 controller nodes and phy nodes in the
device tree.

Signed-off-by: Sascha Hauer <[email protected]>
Signed-off-by: Michael Riesch <[email protected]>
---
.../boot/dts/rockchip/rk3568-evb1-v10.dts | 49 +++++++++++++++++++
1 file changed, 49 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
index a794a0ea5c70..dad3d2682b02 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
@@ -103,6 +103,18 @@ vcc5v0_usb_host: vcc5v0-usb-host {
vin-supply = <&vcc5v0_usb>;
};

+ vcc5v0_usb_otg: vcc5v0-usb-otg {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&vcc5v0_usb_otg_en>;
+ regulator-name = "vcc5v0_usb_otg";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <&vcc5v0_usb>;
+ };
+
vcc3v3_lcd0_n: vcc3v3-lcd0-n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
@@ -136,6 +148,14 @@ regulator-state-mem {
};
};

+&combphy0 {
+ status = "okay";
+};
+
+&combphy1 {
+ status = "okay";
+};
+
&cpu0 {
cpu-supply = <&vdd_cpu>;
};
@@ -507,6 +527,9 @@ usb {
vcc5v0_usb_host_en: vcc5v0_usb_host_en {
rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
};
+ vcc5v0_usb_otg_en: vcc5v0_usb_otg_en {
+ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
};
};

@@ -560,6 +583,10 @@ &uart2 {
status = "okay";
};

+&usb_host0_dwc3 {
+ extcon = <&usb2phy0>;
+};
+
&usb_host0_ehci {
status = "okay";
};
@@ -568,6 +595,10 @@ &usb_host0_ohci {
status = "okay";
};

+&usb_host0_xhci {
+ status = "okay";
+};
+
&usb_host1_ehci {
status = "okay";
};
@@ -576,6 +607,24 @@ &usb_host1_ohci {
status = "okay";
};

+&usb_host1_xhci {
+ status = "okay";
+};
+
+&usb2phy0 {
+ status = "okay";
+};
+
+&usb2phy0_host {
+ phy-supply = <&vcc5v0_usb_host>;
+ status = "okay";
+};
+
+&usb2phy0_otg {
+ vbus-supply = <&vcc5v0_usb_otg>;
+ status = "okay";
+};
+
&usb2phy1 {
status = "okay";
};
--
2.30.2