USB port regulators should be controlled by PHYs so we remove always-on property and let PHYs manage the regulator. Typec port has misconfugred phy-supply and now that we are removing regulator-always-on, we need to fix the phy-supply so the PHYs are able to turn power to type-c port. Signed-off-by: Shantur Rathore <i@xxxxxxxxxxx> --- + devicetree After this patch the ports were confirmed to power up and down in u-boot when doing usb start and usb stop. At boot the regulators were off, the devices connected weren't powered up, on usb start the PHYs are able to power on the ports and on usb stop they were powered down. At the boot, the ports were powered down which was again powered up by Linux kernel when booting up. arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi index bca2b50e0a..bd2824aa48 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi @@ -192,7 +192,6 @@ vcc5v0_host: vcc5v0-host-regulator { pinctrl-names = "default"; pinctrl-0 = <&vcc5v0_host_en>; regulator-name = "vcc5v0_host"; - regulator-always-on; vin-supply = <&vcc5v0_usb>; }; @@ -203,7 +202,6 @@ vcc5v0_typec: vcc5v0-typec-regulator { pinctrl-names = "default"; pinctrl-0 = <&vcc5v0_typec_en>; regulator-name = "vcc5v0_typec"; - regulator-always-on; vin-supply = <&vcc5v0_usb>; }; @@ -863,7 +861,7 @@ u2phy0_otg: otg-port { }; u2phy0_host: host-port { - phy-supply = <&vcc5v0_host>; + phy-supply = <&vcc5v0_typec>; status = "okay"; }; }; -- 2.40.1