Commit d7b83921 authored by Heiko Stuebner's avatar Heiko Stuebner Committed by Heiko Stuebner

arm64: dts: rockchip: add dual-role usb3 hosts to rk3588 Tiger-Haikou

Apart from the host-only usb3 controller (host2) the rk3588 also provides
two dual-role controllers. On the Tiger-Haikou combination these are
connected to the lower usb3-host port in host-only mode and the micro-usb3
port for dual-role operation.

Add the necessary controllers, phys to the Tiger-Haikou board and enable
the usb-id extcon.
Signed-off-by: default avatarHeiko Stuebner <heiko.stuebner@cherry.de>
Reviewed-by: default avatarQuentin Schulz <quentin.schulz@theobroma-systems.com>
Link: https://lore.kernel.org/r/20240422163951.2604273-4-heiko@sntech.deSigned-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
parent eabb53f5
...@@ -113,6 +113,16 @@ vcc5v0_baseboard: vcc5v0-baseboard-regulator { ...@@ -113,6 +113,16 @@ vcc5v0_baseboard: vcc5v0-baseboard-regulator {
vin-supply = <&dc_12v>; vin-supply = <&dc_12v>;
}; };
vcc5v0_otg: vcc5v0-otg-regulator {
compatible = "regulator-fixed";
enable-active-high;
gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&otg_vbus_drv>;
regulator-name = "vcc5v0_otg";
regulator-always-on;
};
vcc5v0_usb: vcc5v0-usb-regulator { vcc5v0_usb: vcc5v0-usb-regulator {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "vcc5v0_usb"; regulator-name = "vcc5v0_usb";
...@@ -137,6 +147,10 @@ &combphy2_psu { ...@@ -137,6 +147,10 @@ &combphy2_psu {
status = "okay"; status = "okay";
}; };
&extcon_usb3 {
status = "okay";
};
&gmac0 { &gmac0 {
status = "okay"; status = "okay";
}; };
...@@ -199,6 +213,13 @@ haikou_keys_pin: haikou-keys-pin { ...@@ -199,6 +213,13 @@ haikou_keys_pin: haikou-keys-pin {
<3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>; <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;
}; };
}; };
usb2 {
otg_vbus_drv: otg-vbus-drv {
rockchip,pins =
<1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
}; };
&sdmmc { &sdmmc {
...@@ -214,6 +235,23 @@ &sdmmc { ...@@ -214,6 +235,23 @@ &sdmmc {
status = "okay"; status = "okay";
}; };
&u2phy0 {
status = "okay";
};
&u2phy0_otg {
phy-supply = <&vcc5v0_otg>;
status = "okay";
};
&u2phy1 {
status = "okay";
};
&u2phy1_otg {
status = "okay";
};
&u2phy2 { &u2phy2 {
status = "okay"; status = "okay";
}; };
...@@ -236,6 +274,13 @@ &uart2 { ...@@ -236,6 +274,13 @@ &uart2 {
&uart5 { &uart5 {
rts-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>; rts-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>;
};
&usbdp_phy0 {
status = "okay";
};
&usbdp_phy1 {
status = "okay"; status = "okay";
}; };
...@@ -249,6 +294,13 @@ &usb_host0_ohci { ...@@ -249,6 +294,13 @@ &usb_host0_ohci {
status = "okay"; status = "okay";
}; };
/* host0_xhci on Q7_USB_P1, usb3-otg port */
&usb_host0_xhci {
dr_mode = "otg";
extcon = <&extcon_usb3>;
status = "okay";
};
/* host1 on Q7_USB_P3, usb2 port */ /* host1 on Q7_USB_P3, usb2 port */
&usb_host1_ehci { &usb_host1_ehci {
status = "okay"; status = "okay";
...@@ -259,6 +311,12 @@ &usb_host1_ohci { ...@@ -259,6 +311,12 @@ &usb_host1_ohci {
status = "okay"; status = "okay";
}; };
/* host1_xhci on Q7_USB_P0, lower usb3 port */
&usb_host1_xhci {
dr_mode = "host";
status = "okay";
};
/* host2 on Q7_USB_P2, upper usb3 port */ /* host2 on Q7_USB_P2, upper usb3 port */
&usb_host2_xhci { &usb_host2_xhci {
status = "okay"; status = "okay";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment