usb: hub: make minimum power-on delay configurable

This patch makes the minimum power-on delay for USB HUB
become configurable. The original design waits at least
100 msec here, but some EHCI controlers(e.g. Faraday EHCI)
are known to require much longer delay interval.

Signed-off-by: Kuo-Jung Su <dantesu@faraday-tech.com>
CC: Marek Vasut <marex@denx.de>
This commit is contained in:
Kuo-Jung Su 2013-05-15 15:29:22 +08:00 committed by Marek Vasut
parent 1dde1423ad
commit aa1550588c
2 changed files with 9 additions and 2 deletions

3
README
View File

@ -1261,6 +1261,9 @@ The following options need to be configured:
CONFIG_USB_EHCI_TXFIFO_THRESH enables setting of the CONFIG_USB_EHCI_TXFIFO_THRESH enables setting of the
txfilltuning field in the EHCI controller on reset. 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: - USB Device:
Define the below if you wish to use the USB console. Define the below if you wish to use the USB console.
Once firmware is rebuilt from a serial console issue the Once firmware is rebuilt from a serial console issue the

View File

@ -53,6 +53,10 @@
#include <asm/4xx_pci.h> #include <asm/4xx_pci.h>
#endif #endif
#ifndef CONFIG_USB_HUB_MIN_POWER_ON_DELAY
#define CONFIG_USB_HUB_MIN_POWER_ON_DELAY 100
#endif
#define USB_BUFSIZ 512 #define USB_BUFSIZ 512
static struct usb_hub_device hub_dev[USB_MAX_HUB]; static struct usb_hub_device hub_dev[USB_MAX_HUB];
@ -148,8 +152,8 @@ static void usb_hub_power_on(struct usb_hub_device *hub)
debug("port %d returns %lX\n", i + 1, dev->status); debug("port %d returns %lX\n", i + 1, dev->status);
} }
/* Wait at least 100 msec for power to become stable */ /* Wait for power to become stable */
mdelay(max(pgood_delay, (unsigned)100)); mdelay(max(pgood_delay, CONFIG_USB_HUB_MIN_POWER_ON_DELAY));
} }
void usb_hub_reset(void) void usb_hub_reset(void)