summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2019-04-11 14:29:37 -0400
committerTom Rini <trini@konsulko.com>2019-04-11 14:29:37 -0400
commit02f173ca156cee8526dff87603d5e446b443cde3 (patch)
tree87bb57919f1a78d8e983aa948bc89deca7005e37 /drivers
parentf95fdf237d8de9bf4dac4e4449015692c2283ac4 (diff)
parent69535b33bc1fce43dcc10b646cf44db81cffa131 (diff)
Merge branch 'master' of git://git.denx.de/u-boot-usb
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/host/ehci-mx6.c29
-rw-r--r--drivers/usb/host/usb-uclass.c12
2 files changed, 19 insertions, 22 deletions
diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c
index 948394709f7..33abfeada07 100644
--- a/drivers/usb/host/ehci-mx6.c
+++ b/drivers/usb/host/ehci-mx6.c
@@ -18,6 +18,7 @@
#include <dm.h>
#include <asm/mach-types.h>
#include <power/regulator.h>
+#include <linux/usb/otg.h>
#include "ehci.h"
@@ -483,23 +484,23 @@ static int ehci_usb_phy_mode(struct udevice *dev)
static int ehci_usb_ofdata_to_platdata(struct udevice *dev)
{
struct usb_platdata *plat = dev_get_platdata(dev);
- const char *mode;
+ enum usb_dr_mode dr_mode;
- mode = fdt_getprop(gd->fdt_blob, dev_of_offset(dev), "dr_mode", NULL);
- if (mode) {
- if (strcmp(mode, "peripheral") == 0)
- plat->init_type = USB_INIT_DEVICE;
- else if (strcmp(mode, "host") == 0)
- plat->init_type = USB_INIT_HOST;
- else if (strcmp(mode, "otg") == 0)
- return ehci_usb_phy_mode(dev);
- else
- return -EINVAL;
+ dr_mode = usb_get_dr_mode(dev_of_offset(dev));
- return 0;
- }
+ switch (dr_mode) {
+ case USB_DR_MODE_HOST:
+ plat->init_type = USB_INIT_HOST;
+ break;
+ case USB_DR_MODE_PERIPHERAL:
+ plat->init_type = USB_INIT_DEVICE;
+ break;
+ case USB_DR_MODE_OTG:
+ case USB_DR_MODE_UNKNOWN:
+ return ehci_usb_phy_mode(dev);
+ };
- return ehci_usb_phy_mode(dev);
+ return 0;
}
static int ehci_usb_probe(struct udevice *dev)
diff --git a/drivers/usb/host/usb-uclass.c b/drivers/usb/host/usb-uclass.c
index 611ea97a724..6e118b5a8ff 100644
--- a/drivers/usb/host/usb-uclass.c
+++ b/drivers/usb/host/usb-uclass.c
@@ -210,7 +210,7 @@ static void usb_scan_bus(struct udevice *bus, bool recurse)
assert(recurse); /* TODO: Support non-recusive */
- printf("scanning bus %d for devices... ", bus->seq);
+ printf("scanning bus %s for devices... ", bus->name);
debug("\n");
ret = usb_scan_device(bus, 0, USB_SPEED_FULL, &dev);
if (ret)
@@ -242,7 +242,6 @@ int usb_init(void)
struct usb_bus_priv *priv;
struct udevice *bus;
struct uclass *uc;
- int count = 0;
int ret;
asynch_allowed = 1;
@@ -255,8 +254,7 @@ int usb_init(void)
uclass_foreach_dev(bus, uc) {
/* init low_level USB */
- printf("USB%d: ", count);
- count++;
+ printf("Bus %s: ", bus->name);
#ifdef CONFIG_SANDBOX
/*
@@ -327,10 +325,8 @@ int usb_init(void)
remove_inactive_children(uc, bus);
/* if we were not able to find at least one working bus, bail out */
- if (!count)
- printf("No controllers found\n");
- else if (controllers_initialized == 0)
- printf("USB error: all controllers failed lowlevel init\n");
+ if (controllers_initialized == 0)
+ printf("No working controllers found\n");
return usb_started ? 0 : -1;
}