|
@@ -7,8 +7,9 @@
|
|
|
|
|
|
#include <common.h>
|
|
|
#include <linux/err.h>
|
|
|
+#include <asm/io.h>
|
|
|
#include <usb.h>
|
|
|
-#include <mach/ehci-uniphier.h>
|
|
|
+#include <mach/mio-regs.h>
|
|
|
#include <fdtdec.h>
|
|
|
#include "ehci.h"
|
|
|
|
|
@@ -35,6 +36,18 @@ static int get_uniphier_ehci_base(int index, struct ehci_hccr **base)
|
|
|
return -ENODEV; /* not found */
|
|
|
}
|
|
|
|
|
|
+static void uniphier_ehci_reset(int index, int on)
|
|
|
+{
|
|
|
+ u32 tmp;
|
|
|
+
|
|
|
+ tmp = readl(MIO_USB_RSTCTRL(index));
|
|
|
+ if (on)
|
|
|
+ tmp &= ~MIO_USB_RSTCTRL_XRST;
|
|
|
+ else
|
|
|
+ tmp |= MIO_USB_RSTCTRL_XRST;
|
|
|
+ writel(tmp, MIO_USB_RSTCTRL(index));
|
|
|
+}
|
|
|
+
|
|
|
int ehci_hcd_init(int index, enum usb_init_type init, struct ehci_hccr **hccr,
|
|
|
struct ehci_hcor **hcor)
|
|
|
{
|