sunxi: Add INITIAL_USB_SCAN_DELAY Kconfig option

Some boards have on board usb devices which need longer than the USB
spec's 1 second to connect from board powerup. Add a config option which
when non 0 adds an extra delay before the first usb bus scan.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
This commit is contained in:
Hans de Goede 2016-04-01 22:39:26 +02:00
parent bbf8bef196
commit 2c3c3ecb59
2 changed files with 16 additions and 0 deletions

View File

@ -85,6 +85,8 @@ static struct sunxi_usb_phy {
#endif
};
static int initial_usb_scan_delay = CONFIG_INITIAL_USB_SCAN_DELAY;
static int get_vbus_gpio(int index)
{
switch (index) {
@ -269,6 +271,11 @@ void sunxi_usb_phy_power_on(int index)
{
struct sunxi_usb_phy *phy = &sunxi_usb_phy[index];
if (initial_usb_scan_delay) {
mdelay(initial_usb_scan_delay);
initial_usb_scan_delay = 0;
}
phy->power_on_count++;
if (phy->power_on_count != 1)
return;

View File

@ -312,6 +312,15 @@ config MMC_SUNXI_SLOT_EXTRA
slot or emmc on mmc1 - mmc3. Setting this to 1, 2 or 3 will enable
support for this.
config INITIAL_USB_SCAN_DELAY
int "delay initial usb scan by x ms to allow builtin devices to init"
default 0
---help---
Some boards have on board usb devices which need longer than the
USB spec's 1 second to connect from board powerup. Set this config
option to a non 0 value to add an extra delay before the first usb
bus scan.
config USB0_VBUS_PIN
string "Vbus enable pin for usb0 (otg)"
default ""