From f8a05151b9c1513aec11df2a60be7f0b3d417c9b Mon Sep 17 00:00:00 2001 From: Meng Dongyang Date: Thu, 2 Nov 2017 12:05:57 +0800 Subject: [PATCH] phy: rockchip-inno-usb2: add vbus control when set phy mode The vbus may need control by u2phy when force. This patch control vbus when set phy mode. Change-Id: I237e9e3688b257689c79040f19642cea5365d409 Signed-off-by: Meng Dongyang --- drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c index 40e6bfb77b53..f9b7d7d8dfd3 100644 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c @@ -754,9 +754,13 @@ static int rockchip_usb2phy_set_mode(struct phy *phy, enum phy_mode mode) * fallthrough */ case PHY_MODE_USB_DEVICE: + gpiod_set_value_cansleep(rport->vbus_drv_gpio, 0); + extcon_set_state_sync(rphy->edev, EXTCON_USB_VBUS_EN, false); vbus_det_en = true; break; case PHY_MODE_USB_HOST: + gpiod_set_value_cansleep(rport->vbus_drv_gpio, 1); + extcon_set_state_sync(rphy->edev, EXTCON_USB_VBUS_EN, true); /* fallthrough */ case PHY_MODE_INVALID: vbus_det_en = false;