-----Original Message----- From: Marek Vasut <ma...@denx.de> Sent: 2019年12月16日 16:33 To: Bin Meng <bmeng...@gmail.com>; Yinbo Zhu <yinbo....@nxp.com> Cc: U-Boot Mailing List <u-boot@lists.denx.de>; Peter Chen <peter.c...@nxp.com>; Xiaobo Xie <xiaobo....@nxp.com>; Joe Hershberger <joe.hershber...@ni.com>; Jiafei Pan <jiafei....@nxp.com>; Ran Wang <ran.wan...@nxp.com>; Jun Li <jun...@nxp.com> Subject: [EXT] Re: [PATCH v1] T1024RDB: USB: Add a 10808 us delay in usb_scan_port
Caution: EXT Email On 12/16/19 4:17 AM, Bin Meng wrote: > +Marek, > > On Mon, Dec 16, 2019 at 11:13 AM Yinbo Zhu <yinbo....@nxp.com> wrote: >> >> T1024RDB usb controller doesn't detect usb device at first usb start >> Add a delay that is greater than 10808 us can fix that issue, which >> delay if is less than 10808 us, issue is probabilistic occurrence >> >> => usb start >> starting USB... >> USB0: USB EHCI 1.00 >> USB1: USB EHCI 1.00 >> scanning bus 0 for devices... 1 USB Device(s) found scanning bus 1 >> for devices... 1 USB Device(s) found >> scanning usb for storage devices... 0 Storage Device(s) found >> => usb stop stopping USB.. >> => usb start >> starting USB... >> USB0: USB EHCI 1.00 >> USB1: USB EHCI 1.00 >> scanning bus 0 for devices... 2 USB Device(s) found scanning bus 1 >> for devices... 1 USB Device(s) found >> scanning usb for storage devices... 1 Storage Device(s) found >> => >> >> Signed-off-by: Yinbo Zhu <yinbo....@nxp.com> >> --- >> common/usb_hub.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/common/usb_hub.c b/common/usb_hub.c index >> 33aaeb8e44..6dd06696b2 100644 >> --- a/common/usb_hub.c >> +++ b/common/usb_hub.c >> @@ -486,6 +486,9 @@ static int usb_scan_port(struct usb_device_scan >> *usb_scan) >> return 0; >> } >> >> +#ifdef CONFIG_TARGET_T1024RDB >> + udelay(10808); >> +#endif > > This looks like a workaround. Is this a silicon errata? > Does setting usb_pgood_delay to e.g. 2000 help ? Hi Marek Casut, Thanks your feedback, I test it 2000, usb start can list device, in fact, 120 is enough, In addition, if it is some usb storage issue, I think add it into bootargs it is reasonable, but I test some usb storage, It is all encounter issue, so I think add it that delay into usb driver code. => setenv usb_pgood_delay 120 => usb start starting USB... USB0: USB EHCI 1.00 USB1: USB EHCI 1.00 scanning bus 0 for devices... 2 USB Device(s) found scanning bus 1 for devices... 1 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found => Thanks, Yinbo