diff options
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/host/ehci-generic.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/ohci-generic.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/xhci-dwc3.c | 3 |
3 files changed, 5 insertions, 2 deletions
diff --git a/drivers/usb/host/ehci-generic.c b/drivers/usb/host/ehci-generic.c index 0270f3bc95..682a070306 100644 --- a/drivers/usb/host/ehci-generic.c +++ b/drivers/usb/host/ehci-generic.c @@ -96,7 +96,7 @@ static int ehci_usb_probe(struct udevice *dev) if (err < 0) break; err = clk_enable(&priv->clocks[i]); - if (err) { + if (err && err != -ENOSYS) { dev_err(dev, "failed to enable clock %d\n", i); clk_free(&priv->clocks[i]); goto clk_err; diff --git a/drivers/usb/host/ohci-generic.c b/drivers/usb/host/ohci-generic.c index 24b5c3156f..916ea0b955 100644 --- a/drivers/usb/host/ohci-generic.c +++ b/drivers/usb/host/ohci-generic.c @@ -95,7 +95,7 @@ static int ohci_usb_probe(struct udevice *dev) break; err = clk_enable(&priv->clocks[i]); - if (err) { + if (err && err != -ENOSYS) { dev_err(dev, "failed to enable clock %d\n", i); clk_free(&priv->clocks[i]); goto clk_err; diff --git a/drivers/usb/host/xhci-dwc3.c b/drivers/usb/host/xhci-dwc3.c index 9e8cae7ae4..55a1b22cf6 100644 --- a/drivers/usb/host/xhci-dwc3.c +++ b/drivers/usb/host/xhci-dwc3.c @@ -150,6 +150,9 @@ static int xhci_dwc3_probe(struct udevice *dev) if (dev_read_bool(dev, "snps,dis-u2-freeclk-exists-quirk")) reg &= ~DWC3_GUSB2PHYCFG_U2_FREECLK_EXISTS; + if (dev_read_bool(dev, "snps,dis_u2_susphy_quirk")) + reg &= ~DWC3_GUSB2PHYCFG_SUSPHY; + writel(reg, &dwc3_reg->g_usb2phycfg[0]); dr_mode = usb_get_dr_mode(dev_of_offset(dev)); |