usb: rockchip-inno-usb2: check EXTCON_USB_VBUS_EN state in otg sm work
authorWu Liang feng <wulf@rock-chips.com>
Sat, 15 Oct 2016 04:18:43 +0000 (12:18 +0800)
committerWu Liang feng <wulf@rock-chips.com>
Sun, 16 Oct 2016 06:39:59 +0000 (14:39 +0800)
If extcon cable state is EXTCON_USB_VBUS_EN, it also means
that otg host connected, don't need to do charge detection.

Change-Id: Ie7c97c4cd0cfd2688edbfb3bbff93d2f58e9ef9a
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
drivers/phy/phy-rockchip-inno-usb2.c

index e9a5f51c91463cf8f3e1bf52ce6681eeeeec5f8f..5f0066206483601a53354e2a51177d4bcfdb83e1 100644 (file)
@@ -603,7 +603,9 @@ static void rockchip_usb2phy_otg_sm_work(struct work_struct *work)
                        rockchip_usb2phy_power_off(rport->phy);
                /* fall through */
        case OTG_STATE_B_IDLE:
-               if (extcon_get_cable_state_(rphy->edev, EXTCON_USB_HOST) > 0) {
+               if (extcon_get_cable_state_(rphy->edev, EXTCON_USB_HOST) > 0 ||
+                   extcon_get_cable_state_(rphy->edev,
+                                           EXTCON_USB_VBUS_EN) > 0) {
                        dev_dbg(&rport->phy->dev, "usb otg host connect\n");
                        rport->state = OTG_STATE_A_HOST;
                        rockchip_usb2phy_power_on(rport->phy);