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 {
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 {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_usb";
......@@ -137,6 +147,10 @@ &combphy2_psu {
status = "okay";
};
&extcon_usb3 {
status = "okay";
};
&gmac0 {
status = "okay";
};
......@@ -199,6 +213,13 @@ haikou_keys_pin: haikou-keys-pin {
<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 {
......@@ -214,6 +235,23 @@ &sdmmc {
status = "okay";
};
&u2phy0 {
status = "okay";
};
&u2phy0_otg {
phy-supply = <&vcc5v0_otg>;
status = "okay";
};
&u2phy1 {
status = "okay";
};
&u2phy1_otg {
status = "okay";
};
&u2phy2 {
status = "okay";
};
......@@ -236,6 +274,13 @@ &uart2 {
&uart5 {
rts-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>;
};
&usbdp_phy0 {
status = "okay";
};
&usbdp_phy1 {
status = "okay";
};
......@@ -249,6 +294,13 @@ &usb_host0_ohci {
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 */
&usb_host1_ehci {
status = "okay";
......@@ -259,6 +311,12 @@ &usb_host1_ohci {
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 */
&usb_host2_xhci {
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