|
@@ -380,6 +380,14 @@ int ehci_hcd_init(int index, enum usb_init_type init,
|
|
|
if (index > 3)
|
|
|
return -EINVAL;
|
|
|
|
|
|
+ if (CONFIG_IS_ENABLED(IMX_MODULE_FUSE)) {
|
|
|
+ if (usb_fused((ulong)ehci)) {
|
|
|
+ printf("SoC fuse indicates USB@0x%lx is unavailable.\n",
|
|
|
+ (ulong)ehci);
|
|
|
+ return -ENODEV;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
ret = ehci_mx6_common_init(ehci, index);
|
|
|
if (ret)
|
|
|
return ret;
|
|
@@ -577,6 +585,14 @@ static int ehci_usb_probe(struct udevice *dev)
|
|
|
struct ehci_hcor *hcor;
|
|
|
int ret;
|
|
|
|
|
|
+ if (CONFIG_IS_ENABLED(IMX_MODULE_FUSE)) {
|
|
|
+ if (usb_fused((ulong)ehci)) {
|
|
|
+ printf("SoC fuse indicates USB@0x%lx is unavailable.\n",
|
|
|
+ (ulong)ehci);
|
|
|
+ return -ENODEV;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
priv->ehci = ehci;
|
|
|
priv->portnr = dev->seq;
|
|
|
priv->init_type = type;
|