rockchip: backport upstream usb3 support for nanopc t6

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Tianling Shen 2024-11-17 15:18:18 +08:00
parent ae0de89864
commit 5347be4854
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
4 changed files with 91 additions and 88 deletions

View File

@ -0,0 +1,87 @@
From a6ae420439dc47a58550a6e61e596e9dd1562caf Mon Sep 17 00:00:00 2001
From: Rick Wertenbroek <rick.wertenbroek@gmail.com>
Date: Wed, 6 Nov 2024 14:03:13 +0100
Subject: [PATCH] arm64: dts: rockchip: enable USB3 on NanoPC-T6
Enable the USB3 port on FriendlyELEC NanoPC-T6.
Signed-off-by: Rick Wertenbroek <rick.wertenbroek@gmail.com>
Link: https://lore.kernel.org/r/20241106130314.1289055-1-rick.wertenbroek@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
.../boot/dts/rockchip/rk3588-nanopc-t6.dtsi | 36 +++++++++++++++++++
1 file changed, 36 insertions(+)
--- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
@@ -160,6 +160,20 @@
vin-supply = <&vcc5v0_sys>;
};
+ vbus5v0_usb: vbus5v0-usb-regulator {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb5v_pwren>;
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-name = "vbus5v0_usb";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <&vcc5v0_sys>;
+ };
+
vcc3v3_pcie2x1l0: vcc3v3-pcie2x1l0-regulator {
compatible = "regulator-fixed";
enable-active-high;
@@ -577,6 +591,10 @@
rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
};
+ usb5v_pwren: usb5v_pwren {
+ rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+
usbc0_int: usbc0-int {
rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
};
@@ -976,6 +994,14 @@
status = "okay";
};
+&u2phy1 {
+ status = "okay";
+};
+
+&u2phy1_otg {
+ status = "okay";
+};
+
&u2phy2_host {
status = "okay";
};
@@ -1015,6 +1041,11 @@
};
};
+&usbdp_phy1 {
+ phy-supply = <&vbus5v0_usb>;
+ status = "okay";
+};
+
&usb_host0_ehci {
status = "okay";
};
@@ -1035,6 +1066,11 @@
};
};
+&usb_host1_xhci {
+ dr_mode = "host";
+ status = "okay";
+};
+
&usb_host1_ehci {
status = "okay";
};

View File

@ -47,7 +47,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
status = "okay";
--- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
@@ -602,8 +602,7 @@
@@ -620,8 +620,7 @@
no-sd;
non-removable;
max-frequency = <200000000>;
@ -57,7 +57,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
status = "okay";
};
@@ -615,7 +614,7 @@
@@ -633,7 +632,7 @@
disable-wp;
no-mmc;
no-sdio;

View File

@ -1,84 +0,0 @@
--- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
@@ -118,6 +118,28 @@
vin-supply = <&vcc12v_dcin>;
};
+ vcc5v0_usb: vcc5v0-usb-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc5v0_usb";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <&vcc5v0_sys>;
+ };
+
+ vcc5v0_host_30: vcc5v0-host-30-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc5v0_host_30";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
+ vin-supply = <&vcc5v0_usb>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&vcc5v0_host30_en>;
+ };
+
/* vcc4v0_sys powers the RK806, RK860's */
vcc4v0_sys: vcc4v0-sys-regulator {
compatible = "regulator-fixed";
@@ -583,6 +605,10 @@
usbc0_int: usbc0-int {
rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
};
+
+ vcc5v0_host30_en: vcc5v0-host30-en {
+ rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
};
};
@@ -978,6 +1004,11 @@
status = "okay";
};
+&u2phy1_otg {
+ phy-supply = <&vcc5v0_host_30>;
+ status = "okay";
+};
+
&u2phy2_host {
status = "okay";
};
@@ -986,6 +1017,10 @@
status = "okay";
};
+&u2phy1 {
+ status = "okay";
+};
+
&u2phy2 {
status = "okay";
};
@@ -1017,6 +1052,10 @@
};
};
+&usbdp_phy1 {
+ status = "okay";
+};
+
&usb_host0_ehci {
status = "okay";
};
@@ -1044,3 +1083,7 @@
&usb_host1_ohci {
status = "okay";
};
+
+&usb_host1_xhci {
+ status = "okay";
+};

View File

@ -382,7 +382,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
&pcie30phy {
--- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
@@ -518,6 +518,20 @@
@@ -510,6 +510,20 @@
pinctrl-names = "default";
pinctrl-0 = <&pcie2_0_rst>;
status = "okay";
@ -403,7 +403,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
};
&pcie2x1l1 {
@@ -534,6 +548,20 @@
@@ -526,6 +540,20 @@
pinctrl-names = "default";
pinctrl-0 = <&pcie2_2_rst>;
status = "okay";