diff options
author | Tim Harvey <tharvey@gateworks.com> | 2023-04-28 11:50:30 -0700 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2023-05-02 10:57:32 +0200 |
commit | bb6ea0fe9290b4d64df8e716b58515b5325c2ea5 (patch) | |
tree | 31d23e8c39e139c12e2c60271f75c8a0075252bc | |
parent | 61712787651bab960f43981de5cc05e07288e6b0 (diff) | |
download | u-boot-bb6ea0fe9290b4d64df8e716b58515b5325c2ea5.zip u-boot-bb6ea0fe9290b4d64df8e716b58515b5325c2ea5.tar.gz u-boot-bb6ea0fe9290b4d64df8e716b58515b5325c2ea5.tar.bz2 |
usb: ehci-mx6: move phy setup before register access
For the CONFIG_PHY case, move the PHY setup before the register access.
This avoids a hang when updating the imx8mm.dtsi which moves the
USB OTG power-domains to the PHY.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Tested-by: Fabio Estevam <festevam@denx.de>
-rw-r--r-- | drivers/usb/host/ehci-mx6.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c index 91633f0..fae2083 100644 --- a/drivers/usb/host/ehci-mx6.c +++ b/drivers/usb/host/ehci-mx6.c @@ -703,6 +703,10 @@ static int ehci_usb_probe(struct udevice *dev) usb_internal_phy_clock_gate(priv->phy_addr, 1); usb_phy_enable(ehci, priv->phy_addr); #endif +#else + ret = generic_setup_phy(dev, &priv->phy, 0); + if (ret) + goto err_regulator; #endif #if CONFIG_IS_ENABLED(DM_REGULATOR) @@ -725,12 +729,6 @@ static int ehci_usb_probe(struct udevice *dev) mdelay(10); -#if defined(CONFIG_PHY) - ret = generic_setup_phy(dev, &priv->phy, 0); - if (ret) - goto err_regulator; -#endif - hccr = (struct ehci_hccr *)((uintptr_t)&ehci->caplength); hcor = (struct ehci_hcor *)((uintptr_t)hccr + HC_LENGTH(ehci_readl(&(hccr)->cr_capbase))); |