diff mbox

[U-Boot,V2,2/2] ehci: mx7: fix otg id detection

Message ID 1466386989-1366-2-git-send-email-peng.fan@nxp.com
State Accepted
Commit 57de41e9c944af8d2c7bfcc2358414c5dd8c39df
Delegated to: Stefano Babic
Headers show

Commit Message

Peng Fan June 20, 2016, 1:43 a.m. UTC
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>
---

V2:
 split from V1 to a single patch.

 drivers/usb/host/ehci-mx6.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Marek Vasut June 20, 2016, 1:58 p.m. UTC | #1
On 06/20/2016 03:43 AM, Peng Fan wrote:
> 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>
> ---

Applied, thanks

> V2:
>  split from V1 to a single patch.
> 
>  drivers/usb/host/ehci-mx6.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c
> index cc3b11c..069f116 100644
> --- a/drivers/usb/host/ehci-mx6.c
> +++ b/drivers/usb/host/ehci-mx6.c
> @@ -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)
>
diff mbox

Patch

diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c
index cc3b11c..069f116 100644
--- a/drivers/usb/host/ehci-mx6.c
+++ b/drivers/usb/host/ehci-mx6.c
@@ -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)