+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? > if (portchange & USB_PORT_STAT_C_RESET) { > debug("port %d reset change\n", i + 1); > usb_clear_port_feature(dev, i + 1, USB_PORT_FEAT_C_RESET); > -- Regards, Bin