diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/phy/allwinner/phy-sun4i-usb.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c index 2e969ab91e3..6428163c188 100644 --- a/drivers/phy/allwinner/phy-sun4i-usb.c +++ b/drivers/phy/allwinner/phy-sun4i-usb.c @@ -224,6 +224,12 @@ static int sun4i_usb_phy_power_on(struct phy *phy) initial_usb_scan_delay = 0; } + /* For phy0 only turn on Vbus if we don't have an ext. Vbus */ + if (phy->id == 0 && sun4i_usb_phy_vbus_detect(phy)) { + dev_warn(phy->dev, "External vbus detected, not enabling our own vbus\n"); + return 0; + } + if (dm_gpio_is_valid(&usb_phy->gpio_vbus)) dm_gpio_set_value(&usb_phy->gpio_vbus, 1); |