arm64: dts: rockchip: add USB2 to rk3588-rock5b
authorSebastian Reichel <sebastian.reichel@collabora.com>
Wed, 12 Jul 2023 16:51:05 +0000 (18:51 +0200)
committerHeiko Stuebner <heiko@sntech.de>
Fri, 14 Jul 2023 15:33:15 +0000 (17:33 +0200)
Enable USB2 (EHCI and OCHI mode) support for the Radxa ROCK 5 Model B.
This adds USB support on the M.2 Key E, both USB2 ports and USB2 mode
for the upper USB3 port (the one further away from the PCB).

The lower USB3 (closer to the PCB) and the USB-C ports use the RK3588
USB TypeC host controller, which is not yet supported upstream.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20230712165106.65603-4-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts

index 9cea262998b4273abb9a9b4ca0b489cc76d8ccdc..6be7599034119b073ae5453360b4ff84dd018c03 100644 (file)
                #cooling-cells = <2>;
        };
 
+       vcc5v0_host: vcc5v0-host-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc5v0_host";
+               regulator-boot-on;
+               regulator-always-on;
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               enable-active-high;
+               gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&vcc5v0_host_en>;
+               vin-supply = <&vcc5v0_sys>;
+       };
+
        vcc5v0_sys: vcc5v0-sys-regulator {
                compatible = "regulator-fixed";
                regulator-name = "vcc5v0_sys";
                        rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
+
+       usb {
+               vcc5v0_host_en: vcc5v0-host-en {
+                       rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
 };
 
 &pwm1 {
        pinctrl-0 = <&uart2m0_xfer>;
        status = "okay";
 };
+
+&u2phy2 {
+       status = "okay";
+};
+
+&u2phy2_host {
+       /* connected to USB hub, which is powered by vcc5v0_sys */
+       phy-supply = <&vcc5v0_sys>;
+       status = "okay";
+};
+
+&u2phy3 {
+       status = "okay";
+};
+
+&u2phy3_host {
+       phy-supply = <&vcc5v0_host>;
+       status = "okay";
+};
+
+&usb_host0_ehci {
+       status = "okay";
+};
+
+&usb_host0_ohci {
+       status = "okay";
+};
+
+&usb_host1_ehci {
+       status = "okay";
+};
+
+&usb_host1_ohci {
+       status = "okay";
+};