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

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.de


Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
parent eabb53f5
Loading
Loading
Loading
Loading
+58 −0
Original line number Diff line number Diff line
@@ -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";