On Mon, May 19, 2014 at 1:21 PM, Stephen Warren <swar...@wwwdotorg.org> wrote: > From: Stephen Warren <swar...@nvidia.com> > > Now that we wait the correct specification-mandated time at the end of > usb_hub_power_on(), I suspect that CONFIG_USB_HUB_MIN_POWER_ON_DELAY has > no purpose. > > For cm_t35.h, we already wait longer than the original MIN_POWER_ON_DELAY, > so this change is safe. > > For gw_ventana.h, we will wait as long as the original MIN_POWER_ON_DELAY > iff pgood_delay was at least 200ms. I'm not sure if this is the case or > not, hence I've CC'd relevant people to test this change. > > Cc: Igor Grinberg <grinb...@compulab.co.il> > Cc: Tim Harvey <thar...@gateworks.com> > Signed-off-by: Stephen Warren <swar...@nvidia.com> > --- > README | 3 --- > common/usb_hub.c | 6 +----- > include/configs/cm_t35.h | 2 -- > include/configs/gw_ventana.h | 1 - > 4 files changed, 1 insertion(+), 11 deletions(-) > > diff --git a/README b/README > index d8fcd95f9423..091897227c52 100644 > --- a/README > +++ b/README > @@ -1432,9 +1432,6 @@ The following options need to be configured: > CONFIG_USB_EHCI_TXFIFO_THRESH enables setting of the > txfilltuning field in the EHCI controller on reset. > > - CONFIG_USB_HUB_MIN_POWER_ON_DELAY defines the minimum > - interval for usb hub power-on delay.(minimum 100msec) > - > - USB Device: > Define the below if you wish to use the USB console. > Once firmware is rebuilt from a serial console issue the > diff --git a/common/usb_hub.c b/common/usb_hub.c > index 4875a51aceaf..2add4b97920f 100644 > --- a/common/usb_hub.c > +++ b/common/usb_hub.c > @@ -35,10 +35,6 @@ > #include <asm/4xx_pci.h> > #endif > > -#ifndef CONFIG_USB_HUB_MIN_POWER_ON_DELAY > -#define CONFIG_USB_HUB_MIN_POWER_ON_DELAY 1000 > -#endif > - > #define USB_BUFSIZ 512 > > static struct usb_hub_device hub_dev[USB_MAX_HUB]; > @@ -142,7 +138,7 @@ static void usb_hub_power_on(struct usb_hub_device *hub) > * Wait for power to become stable, > * plus spec-defined max time for device to connect > */ > - mdelay(pgood_delay + CONFIG_USB_HUB_MIN_POWER_ON_DELAY); > + mdelay(pgood_delay + 1000); > } > > void usb_hub_reset(void) > diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h > index aae05e033303..f6acf6920524 100644 > --- a/include/configs/cm_t35.h > +++ b/include/configs/cm_t35.h > @@ -104,8 +104,6 @@ > #define CONFIG_USB_DEVICE > #define CONFIG_USB_TTY > #define CONFIG_SYS_CONSOLE_IS_IN_ENV > -/* This delay is really for slow-to-power-on USB sticks, not the hub */ > -#define CONFIG_USB_HUB_MIN_POWER_ON_DELAY 500 > > /* commands to include */ > #include <config_cmd_default.h> > diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h > index 33983907f228..188871630bd3 100644 > --- a/include/configs/gw_ventana.h > +++ b/include/configs/gw_ventana.h > @@ -188,7 +188,6 @@ > #define CONFIG_USB_ETH_CDC > #define CONFIG_NETCONSOLE > #define CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP > -#define CONFIG_USB_HUB_MIN_POWER_ON_DELAY 1200 > > /* serial console (ttymxc1,115200) */ > #define CONFIG_CONS_INDEX 1 > -- > 1.8.1.5 >
Stephen, Sorry for the late reply - I'm just getting around to testing this (and I realize that Marek already committed it which is ok by me). I have a variety of USB Mass Storage devices that I tested when I was looking at this and out of about 12 devices I found I had 1 'usb stick' that requires 2100ms in order to respond and be successfully scanned: 048d:1327 Integrated Technology Express, Inc 32GB USB stick. I also found that rotational media (ie Seagate and Western Digital USB drives) would not respond in 1000ms either which didn't surprise me as I figured they needed some extra spin-up time. For all other devices I had I found that 1000ms was adequate. So do these devices I mention simply violate the USB spec? I wonder if the delay should be able to be overridden with an env var or an argument to 'usb start' to account for devices like this? Regards, Tim _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot