summaryrefslogtreecommitdiff
path: root/drivers/usb/host/ehci-arc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/ehci-arc.c')
-rw-r--r--drivers/usb/host/ehci-arc.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/usb/host/ehci-arc.c b/drivers/usb/host/ehci-arc.c
index 99d6772302de..524e3bf9f444 100644
--- a/drivers/usb/host/ehci-arc.c
+++ b/drivers/usb/host/ehci-arc.c
@@ -32,7 +32,6 @@
#include <linux/fsl_devices.h>
#include <linux/usb/otg.h>
#include <linux/usb/fsl_xcvr.h>
-#include <asm/arch/fsl_usb.h>
#include "ehci-fsl.h"
@@ -87,10 +86,6 @@ static int usb_hcd_fsl_probe(const struct hc_driver *driver,
return -ENODEV;
}
- retval = fsl_platform_verify(pdev);
- if (retval)
- return retval;
-
/*
* do platform specific init: check the clock, grab/config pins, etc.
*/
@@ -129,7 +124,11 @@ static int usb_hcd_fsl_probe(const struct hc_driver *driver,
* host port doesn't make it thru initializtion.
* ehci_halt(), called by ehci_fsl_setup() returns -ETIMEDOUT
*/
- fsl_platform_set_host_mode(hcd);
+ if (pdata->xcvr_ops && pdata->xcvr_ops->set_host)
+ pdata->xcvr_ops->set_host();
+
+ /* set host mode */
+ writel(readl(hcd->regs + 0x1a8) | USBMODE_CM_HC, hcd->regs + 0x1a8);
retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
if (retval != 0) {
@@ -206,7 +205,6 @@ static void usb_hcd_fsl_remove(struct usb_hcd *hcd,
/* called after powerup, by probe or system-pm "wakeup" */
static int ehci_fsl_reinit(struct ehci_hcd *ehci)
{
- fsl_platform_usb_setup(ehci_to_hcd(ehci));
ehci_port_power(ehci, 0);
return 0;
@@ -261,7 +259,7 @@ static const struct hc_driver ehci_arc_hc_driver = {
* generic hardware linkage
*/
.irq = ehci_irq,
- .flags = FSL_PLATFORM_HC_FLAGS,
+ .flags = HCD_USB2 | HCD_MEMORY,
/*
* basic lifecycle operations