[U-Boot] [PATCH] usb: Add delay to fix USB 2.0 stick enumeration failure on LS208xA

Marek Vasut marex at denx.de
Mon Nov 13 16:54:23 UTC 2017


On 11/13/2017 10:43 AM, Ran Wang wrote:
> Hi Marek,
> 
>> -----Original Message-----
>> From: Marek Vasut [mailto:marex at denx.de]
>> Sent: Monday, November 13, 2017 5:34 PM
>> To: Ran Wang <ran.wang_1 at nxp.com>; Bin Meng <bmeng.cn at gmail.com>;
>> Heiko Schocher <hs at denx.de>
>> Cc: u-boot at lists.denx.de
>> Subject: Re: [PATCH] usb: Add delay to fix USB 2.0 stick enumeration failure
>> on LS208xA
>>
>> On 11/13/2017 10:00 AM, Ran Wang wrote:
>>> Force delay 10ms between each control messages to fix Transcend and
>>> Kingston DT 101 G2 USB2.0 stick fail to be enumerated by LS208xA.
>>
>> That means everyone else also suffers this burden, even though it's a
>> problem specific to LS208x ? 
> 
> Actually I want to add a macro/flag to restrict the scope of effect but don't know how. 
> Could you give me some example to let it take effect on specific boards?
> 
>> What is the real problem here ?
>>
> 
> So far the root cause is not clear yet due to lack of debugging method. Suspect
> there are some (HW) compatibility issue here.

I think you should first figure out what the problem is.

>  
> Best Regards
> Ran
>>> Signed-off-by: Ran Wang <ran.wang_1 at nxp.com>
>>> ---
>>>  common/usb.c | 3 +++
>>>  1 file changed, 3 insertions(+)
>>>
>>> diff --git a/common/usb.c b/common/usb.c index 0904259757..eeacc80b9e
>>> 100644
>>> --- a/common/usb.c
>>> +++ b/common/usb.c
>>> @@ -223,6 +223,9 @@ int usb_control_msg(struct usb_device *dev,
>> unsigned int pipe,
>>>  		return -EINVAL;
>>>  	}
>>>
>>> +	/* Add delay to support more devices' enumeration */
>>> +	mdelay(10);
>>> +
>>>  	/* set setup command */
>>>  	setup_packet->requesttype = requesttype;
>>>  	setup_packet->request = request;
>>>
>>
>>
>> --
>> Best regards,
>> Marek Vasut


-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list