aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/ehci-uniphier.c5
-rw-r--r--drivers/usb/host/xhci-uniphier.c5
-rw-r--r--drivers/usb/musb-new/sunxi.c52
3 files changed, 44 insertions, 18 deletions
diff --git a/drivers/usb/host/ehci-uniphier.c b/drivers/usb/host/ehci-uniphier.c
index b5ec296918..846bf509d6 100644
--- a/drivers/usb/host/ehci-uniphier.c
+++ b/drivers/usb/host/ehci-uniphier.c
@@ -1,6 +1,7 @@
/*
* Copyright (C) 2014 Panasonic Corporation
- * Author: Masahiro Yamada <yamada.m@jp.panasonic.com>
+ * Copyright (C) 2015 Socionext Inc.
+ * Author: Masahiro Yamada <yamada.masahiro@socionext.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
@@ -16,7 +17,7 @@
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)
{
diff --git a/drivers/usb/host/xhci-uniphier.c b/drivers/usb/host/xhci-uniphier.c
index 08b15e0ad1..e0ef322172 100644
--- a/drivers/usb/host/xhci-uniphier.c
+++ b/drivers/usb/host/xhci-uniphier.c
@@ -1,6 +1,7 @@
/*
* Copyright (C) 2015 Panasonic Corporation
- * Author: Masahiro Yamada <yamada.m@jp.panasonic.com>
+ * Copyright (C) 2015 Socionext Inc.
+ * Author: Masahiro Yamada <yamada.masahiro@socionext.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
@@ -19,7 +20,7 @@ static int get_uniphier_xhci_base(int index, struct xhci_hccr **base)
int count;
count = fdtdec_find_aliases_for_id(gd->fdt_blob, "usb",
- COMPAT_PANASONIC_XHCI, node_list,
+ COMPAT_SOCIONEXT_XHCI, node_list,
ARRAY_SIZE(node_list));
if (index >= count)
diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c
index fe45db1e06..4d8c15a5e0 100644
--- a/drivers/usb/musb-new/sunxi.c
+++ b/drivers/usb/musb-new/sunxi.c
@@ -27,6 +27,15 @@
#include <asm-generic/gpio.h>
#include "linux-compat.h"
#include "musb_core.h"
+#ifdef CONFIG_AXP152_POWER
+#include <axp152.h>
+#endif
+#ifdef CONFIG_AXP209_POWER
+#include <axp209.h>
+#endif
+#ifdef CONFIG_AXP221_POWER
+#include <axp221.h>
+#endif
/******************************************************************************
******************************************************************************
@@ -228,29 +237,44 @@ static int sunxi_musb_init(struct musb *musb)
if (is_host_enabled(musb)) {
int vbus_det = sunxi_name_to_gpio(CONFIG_USB0_VBUS_DET);
- if (vbus_det == -1) {
- eprintf("Error invalid Vusb-det pin\n");
- return -EINVAL;
- }
- err = gpio_request(vbus_det, "vbus0_det");
- if (err)
- return err;
+#ifdef AXP_VBUS_DETECT
+ if (!strcmp(CONFIG_USB0_VBUS_DET, "axp_vbus_detect")) {
+ err = axp_get_vbus();
+ if (err < 0)
+ return err;
+ } else {
+#endif
+ if (vbus_det == -1) {
+ eprintf("Error invalid Vusb-det pin\n");
+ return -EINVAL;
+ }
+
+ err = gpio_request(vbus_det, "vbus0_det");
+ if (err)
+ return err;
+
+ err = gpio_direction_input(vbus_det);
+ if (err) {
+ gpio_free(vbus_det);
+ return err;
+ }
+
+ err = gpio_get_value(vbus_det);
+ if (err) {
+ gpio_free(vbus_det);
+ return -EIO;
+ }
- err = gpio_direction_input(vbus_det);
- if (err) {
gpio_free(vbus_det);
- return err;
+#ifdef AXP_VBUS_DETECT
}
+#endif
- err = gpio_get_value(vbus_det);
if (err) {
eprintf("Error: A charger is plugged into the OTG\n");
- gpio_free(vbus_det);
return -EIO;
}
-
- gpio_free(vbus_det);
}
err = sunxi_usbc_request_resources(0);