In order to keep OTG ID detection even when in Host mode, the ID line of
the PHY (if the current phy is an OTG one) pull-up should be kept
enable in both modes.

This fixes OTG switch on GXL, GXM & AXG platforms, otherwise once switched
to Host, the ID detection doesn't work anymore to switch back to Device.

Signed-off-by: Neil Armstrong <[email protected]>
Reviewed-by: Kevin Hilman <[email protected]>
Reviewed-by: Martin Blumenstingl <[email protected]>
---
 drivers/phy/amlogic/phy-meson-gxl-usb2.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/phy/amlogic/phy-meson-gxl-usb2.c 
b/drivers/phy/amlogic/phy-meson-gxl-usb2.c
index 43ec9bf24abf..6e862ea60d8f 100644
--- a/drivers/phy/amlogic/phy-meson-gxl-usb2.c
+++ b/drivers/phy/amlogic/phy-meson-gxl-usb2.c
@@ -158,7 +158,8 @@ static int phy_meson_gxl_usb2_set_mode(struct phy *phy,
                                   U2P_R0_DM_PULLDOWN);
                regmap_update_bits(priv->regmap, U2P_R0, U2P_R0_DP_PULLDOWN,
                                   U2P_R0_DP_PULLDOWN);
-               regmap_update_bits(priv->regmap, U2P_R0, U2P_R0_ID_PULLUP, 0);
+               regmap_update_bits(priv->regmap, U2P_R0, U2P_R0_ID_PULLUP,
+                                  U2P_R0_ID_PULLUP);
                break;
 
        case PHY_MODE_USB_DEVICE:
-- 
2.22.0

Reply via email to