]> git.sur5r.net Git - u-boot/commitdiff
sunxi: Add INITIAL_USB_SCAN_DELAY Kconfig option
authorHans de Goede <hdegoede@redhat.com>
Fri, 1 Apr 2016 20:39:26 +0000 (22:39 +0200)
committerHans de Goede <hdegoede@redhat.com>
Tue, 12 Apr 2016 06:58:03 +0000 (08:58 +0200)
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>
arch/arm/mach-sunxi/usb_phy.c
board/sunxi/Kconfig

index b258ce4443cb5eaa98fe0d5bbd385795cee60497..f9993d28755149717095e31a4b847c6a30f58cc7 100644 (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;
index 464fa0fa58349ba15793eb27eca370ff4e7d23e0..fa7872031b9d62680e344ac55bbece198ca75eb8 100644 (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 ""