ehci: mx7: fix otg id detection
authorPeng Fan <van.freenix@gmail.com>
Mon, 20 Jun 2016 01:43:09 +0000 (09:43 +0800)
committerMarek Vasut <marex@denx.de>
Fri, 24 Jun 2016 22:57:10 +0000 (00:57 +0200)
The USBNC_PHYCFG2_ACAENB bit should be cleared to enable the
OTG ID detection, not set it. When the bit is set, the ACA
Resistance Detection is enabled, which disables the OTG ID
detection, because the internal pull up is off.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
drivers/usb/host/ehci-mx6.c

index cc3b11ce4e481823d453479dbbaf2c41d924575f..069f116ed2de0e18aa4d0286e47ce7afd180bf82 100644 (file)
@@ -208,8 +208,11 @@ static void usb_power_config(int index)
                        (0x10000 * index) + USBNC_OFFSET);
        void __iomem *phy_cfg2 = (void __iomem *)(&usbnc->phy_cfg2);
 
-       /* Enable usb_otg_id detection */
-       setbits_le32(phy_cfg2, USBNC_PHYCFG2_ACAENB);
+       /*
+        * Clear the ACAENB to enable usb_otg_id detection,
+        * otherwise it is the ACA detection enabled.
+        */
+       clrbits_le32(phy_cfg2, USBNC_PHYCFG2_ACAENB);
 }
 
 int usb_phy_mode(int port)