aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Ford <aford173@gmail.com>2022-02-19 17:08:42 -0600
committerMarek Vasut <marex@denx.de>2022-02-23 05:25:17 +0100
commitac0c125b7e1ae028fff0d1528351a7272de9ec2b (patch)
tree92add69c555a850d9e601458a2490b5a254fa579
parent0935dbf4c9d97574d04e6d2e1bda2abd7135c073 (diff)
downloadu-boot-ac0c125b7e1ae028fff0d1528351a7272de9ec2b.zip
u-boot-ac0c125b7e1ae028fff0d1528351a7272de9ec2b.tar.gz
u-boot-ac0c125b7e1ae028fff0d1528351a7272de9ec2b.tar.bz2
usb: ehci-omap: Move omap_ehci_hcd_init to omap_ehci_probe
The OMAP3 hierarchy has the ehci node as a sub-node of the usbhshost. The usbhshost node contains an ohci and an ehci subnode. The configuration of the ehci belongs in the EHCI node and not its parent. Move it to the proper probe. usb start starting USB... Bus ehci@48064800: USB EHCI 1.00 Bus usb_otg_hs@480ab000: Port not available. scanning bus ehci@48064800 for devices... 3 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found Signed-off-by: Adam Ford <aford173@gmail.com>
-rw-r--r--drivers/usb/host/ehci-omap.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
index d34c0ad..5f79279 100644
--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -312,7 +312,7 @@ static int omap_usbhs_probe(struct udevice *dev)
omap_usbhs_set_mode(i, mode);
}
- return omap_ehci_hcd_init(0, &usbhs_bdata);
+ return 0;
}
static const struct udevice_id omap_usbhs_dt_ids[] = {
@@ -355,6 +355,7 @@ static int omap_ehci_probe(struct udevice *dev)
struct ehci_omap_priv_data *priv = dev_get_priv(dev);
struct ehci_hccr *hccr;
struct ehci_hcor *hcor;
+ int ret;
priv->ehci = dev_read_addr_ptr(dev);
priv->portnr = dev_seq(dev);
@@ -363,6 +364,10 @@ static int omap_ehci_probe(struct udevice *dev)
hccr = (struct ehci_hccr *)&priv->ehci->hccapbase;
hcor = (struct ehci_hcor *)&priv->ehci->usbcmd;
+ ret = omap_ehci_hcd_init(0, &usbhs_bdata);
+ if (ret)
+ return ret;
+
return ehci_register(dev, hccr, hcor, NULL, 0, USB_INIT_HOST);
}