summaryrefslogtreecommitdiff
path: root/drivers/usb/host/ehci-mxs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/ehci-mxs.c')
-rw-r--r--drivers/usb/host/ehci-mxs.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/usb/host/ehci-mxs.c b/drivers/usb/host/ehci-mxs.c
index 4d652b32dbe..6b8d969bb00 100644
--- a/drivers/usb/host/ehci-mxs.c
+++ b/drivers/usb/host/ehci-mxs.c
@@ -77,6 +77,16 @@ static int ehci_mxs_toggle_clock(const struct ehci_mxs_port *port, int enable)
return 0;
}
+int __weak board_ehci_hcd_init(int port)
+{
+ return 0;
+}
+
+int __weak board_ehci_hcd_exit(int port)
+{
+ return 0;
+}
+
int ehci_hcd_init(int index, enum usb_init_type init,
struct ehci_hccr **hccr, struct ehci_hcor **hcor)
{
@@ -90,6 +100,10 @@ int ehci_hcd_init(int index, enum usb_init_type init,
return -EINVAL;
}
+ ret = board_ehci_hcd_init(index);
+ if (ret)
+ return ret;
+
port = &mxs_port[index];
/* Reset the PHY block */
@@ -154,5 +168,7 @@ int ehci_hcd_stop(int index)
/* Disable USB clock */
ret = ehci_mxs_toggle_clock(port, 0);
+ board_ehci_hcd_exit(index);
+
return ret;
}