OSDN Git Service

arm64: dts: rockchip: add Quartz64-A usb2 support
authorPeter Geis <pgwipeout@gmail.com>
Wed, 15 Dec 2021 21:02:52 +0000 (16:02 -0500)
committerHeiko Stuebner <heiko@sntech.de>
Sun, 23 Jan 2022 12:36:39 +0000 (13:36 +0100)
Add the nodes and regulators to enable usb2 support on the Quartz64
Model A.

Signed-off-by: Peter Geis <pgwipeout@gmail.com>
Tested-by: Michael Riesch <michael.riesch@wolfvision.net>
Link: https://lore.kernel.org/r/20211215210252.120923-9-pgwipeout@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts

index 166399b..f1d6bf1 100644 (file)
                vin-supply = <&vcc12v_dcin>;
        };
 
+       /* all four ports are controlled by one gpio
+        * the host ports are sourced from vcc5v0_usb
+        * the otg port is sourced from vcc5v0_midu
+        */
+       vcc5v0_usb20_host: vcc5v0_usb20_host {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&vcc5v0_usb20_host_en>;
+               regulator-name = "vcc5v0_usb20_host";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               vin-supply = <&vcc5v0_usb>;
+       };
+
        vcc3v3_sd: vcc3v3_sd {
                compatible = "regulator-fixed";
                enable-active-low;
                };
        };
 
+       usb2 {
+               vcc5v0_usb20_host_en: vcc5v0-usb20-host-en {
+                       rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        vcc_sd {
                vcc_sd_h: vcc-sd-h {
                        rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
 &uart2 {
        status = "okay";
 };
+
+&u2phy1_host {
+       phy-supply = <&vcc5v0_usb20_host>;
+       status = "okay";
+};
+
+&u2phy1_otg {
+       phy-supply = <&vcc5v0_usb20_host>;
+       status = "okay";
+};
+
+&u2phy1 {
+       status = "okay";
+};
+
+&usb_host0_ehci {
+       status = "okay";
+};
+
+&usb_host0_ohci {
+       status = "okay";
+};
+
+&usb_host1_ehci {
+       status = "okay";
+};
+
+&usb_host1_ohci {
+       status = "okay";
+};