[U-Boot] [PATCH] ehci: mx7: Fix OTG ID detection

Peng Fan van.freenix at gmail.com
Sun Jun 19 12:32:18 CEST 2016


Hi Marek,
On Sat, Jun 18, 2016 at 12:48:07AM +0200, Marek Vasut wrote:
>On 06/17/2016 08:19 AM, Peng Fan wrote:
>> From: Ye Li <ye.li at nxp.com>
>> 
>> 1. The offset for phy_status register in usbnc_regs is not correct.
>> 2. We should clear the USBNC_PHYCFG2_ACAENB bit 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.
>
>So this is one patch which does two things? This should be split into
>two patches then.

Ok. Will fix in V2.

>
>> Signed-off-by: Peng Fan <peng.fan at nxp.com>
>> Signed-off-by: Ye Li <ye.li at nxp.com>
>> Cc: Marek Vasut <marex at denx.de>
>> Cc: Mateusz Kulikowski <mateusz.kulikowski at gmail.com>
>> Cc: Stefan Agner <stefan at agner.ch>
>> ---
>>  drivers/usb/host/ehci-mx6.c | 10 +++++++---
>>  1 file changed, 7 insertions(+), 3 deletions(-)
>> 
>> diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c
>> index bb48d0d..922ef29 100644
>> --- a/drivers/usb/host/ehci-mx6.c
>> +++ b/drivers/usb/host/ehci-mx6.c
>> @@ -194,8 +194,9 @@ struct usbnc_regs {
>>  	u32 reserve1[10];
>>  	u32 phy_cfg1;
>>  	u32 phy_cfg2;
>> +	u32 reserve2[1];
>>  	u32 phy_status;
>> -	u32 reserve2[4];
>> +	u32 reserve3[4];
>
>This will also shift all the registers below by 8 bytes, is that correct ?

Yeah. correct.

Thanks,
Peng.

>
>>  	u32 adp_cfg1;
>>  	u32 adp_cfg2;
>>  	u32 adp_status;
>> @@ -207,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)
>> 
>
>
>-- 
>Best regards,
>Marek Vasut


More information about the U-Boot mailing list