]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: rockchip: complete USB nodes on ROCK 4D
authorNicolas Frattaroli <nicolas.frattaroli@collabora.com>
Mon, 30 Jun 2025 15:36:34 +0000 (17:36 +0200)
committerHeiko Stuebner <heiko@sntech.de>
Fri, 11 Jul 2025 13:25:40 +0000 (15:25 +0200)
The ROCK 4D uses both USB controllers, and both of which in host mode.
However, it still names one of the supplies for them "OTG" in the
schematic.

Fix the "host" supply's input, and add the "otg" supply. Enable the
remaining USB PHY nodes, and the first controller node as well.

Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Link: https://lore.kernel.org/r/20250630-rock4d-reg-usb-wifi-v1-2-1057f412d98c@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts

index ee0822cd4f35d037625976425fc447ced403b121..87bc9004fca158a01a185210423638d16ccc7865 100644 (file)
                regulator-min-microvolt = <5000000>;
                regulator-max-microvolt = <5000000>;
                regulator-name = "vcc5v0_host";
-               vin-supply = <&vcc_5v0_device>;
+               vin-supply = <&vcc_5v0_sys>;
+       };
+
+       vcc_5v0_otg: regulator-vcc-5v0-otg {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&usb_otg_pwren>;
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-name = "vcc5v0_otg";
+               vin-supply = <&vcc_5v0_sys>;
        };
 
        vcc_5v0_sys: regulator-vcc-5v0-sys {
 
        usb {
                usb_host_pwren: usb-host-pwren {
-                       rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
+                       rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_down>;
+               };
+               usb_otg_pwren: usb-otg-pwren {
+                       rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_down>;
+
                };
        };
 };
        status = "okay";
 };
 
+&u2phy0_otg {
+       phy-supply = <&vcc_5v0_otg>;
+       status = "okay";
+};
+
 &u2phy1 {
        status = "okay";
 };
 
+&u2phy1_otg {
+       phy-supply = <&vcc_5v0_host>;
+       status = "okay";
+};
+
 &uart0 {
        pinctrl-0 = <&uart0m0_xfer>;
        status = "okay";
        status = "okay";
 };
 
+&usbdp_phy {
+       status = "okay";
+};
+
+&usb_drd0_dwc3 {
+       dr_mode = "host";
+       status = "okay";
+};
+
 &usb_drd1_dwc3 {
        dr_mode = "host";
        status = "okay";