]> git.sur5r.net Git - u-boot/blobdiff - drivers/usb/host/ehci-uniphier.c
spi: zynq_[q]spi: Use BIT macro
[u-boot] / drivers / usb / host / ehci-uniphier.c
index 68959efb20eb24f51a9d2dd92953ff3d478477b1..c3f827ca0ae517ada98d3cb3e982beaae27b858b 100644 (file)
@@ -1,21 +1,21 @@
 /*
- * Copyright (C) 2014 Panasonic Corporation
- *   Author: Masahiro Yamada <yamada.m@jp.panasonic.com>
+ * Copyright (C) 2014-2015 Masahiro Yamada <yamada.masahiro@socionext.com>
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
 #include <linux/err.h>
+#include <linux/io.h>
 #include <usb.h>
-#include <mach/ehci-uniphier.h>
+#include <mach/mio-regs.h>
 #include <fdtdec.h>
 #include "ehci.h"
 
 DECLARE_GLOBAL_DATA_PTR;
 
 #define FDT            gd->fdt_blob
-#define COMPAT         "panasonic,uniphier-ehci"
+#define COMPAT         "socionext,uniphier-ehci"
 
 static int get_uniphier_ehci_base(int index, struct ehci_hccr **base)
 {
@@ -35,6 +35,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)
 {