summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2016-03-04 20:53:50 -0500
committerTom Rini <trini@konsulko.com>2016-03-04 20:53:50 -0500
commit08b24722f0ac9159697360faed35d12852592eb3 (patch)
tree5284391a49e5ccd14f18e00a4782776f9c64e69b
parentb112b007162f5d7d523b135b413a37ced15793f9 (diff)
parentb5ab663a6956e47180706b897bc9567335257d58 (diff)
Merge branch 'master' of git://git.denx.de/u-boot-usb
-rw-r--r--drivers/usb/gadget/composite.c8
-rw-r--r--drivers/usb/host/dwc2.c4
-rw-r--r--drivers/usb/host/dwc2.h2
3 files changed, 12 insertions, 2 deletions
diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c
index 60f9272ae6..d0ee7847b9 100644
--- a/drivers/usb/gadget/composite.c
+++ b/drivers/usb/gadget/composite.c
@@ -1077,6 +1077,8 @@ static struct usb_gadget_driver composite_driver = {
*/
int usb_composite_register(struct usb_composite_driver *driver)
{
+ int res;
+
if (!driver || !driver->dev || !driver->bind || composite)
return -EINVAL;
@@ -1084,7 +1086,11 @@ int usb_composite_register(struct usb_composite_driver *driver)
driver->name = "composite";
composite = driver;
- return usb_gadget_register_driver(&composite_driver);
+ res = usb_gadget_register_driver(&composite_driver);
+ if (res != 0)
+ composite = NULL;
+
+ return res;
}
/**
diff --git a/drivers/usb/host/dwc2.c b/drivers/usb/host/dwc2.c
index c6727c381c..b2f4bc685a 100644
--- a/drivers/usb/host/dwc2.c
+++ b/drivers/usb/host/dwc2.c
@@ -263,7 +263,9 @@ static void dwc_otg_core_init(struct dwc2_core_regs *regs)
/* Program the ULPI External VBUS bit if needed */
#ifdef CONFIG_DWC2_PHY_ULPI_EXT_VBUS
- usbcfg |= DWC2_GUSBCFG_ULPI_EXT_VBUS_DRV;
+ usbcfg |= (DWC2_GUSBCFG_ULPI_EXT_VBUS_DRV |
+ DWC2_GUSBCFG_ULPI_INT_VBUS_INDICATOR |
+ DWC2_GUSBCFG_INDICATOR_PASSTHROUGH);
#else
usbcfg &= ~DWC2_GUSBCFG_ULPI_EXT_VBUS_DRV;
#endif
diff --git a/drivers/usb/host/dwc2.h b/drivers/usb/host/dwc2.h
index 594757b609..4482dc621d 100644
--- a/drivers/usb/host/dwc2.h
+++ b/drivers/usb/host/dwc2.h
@@ -152,6 +152,8 @@ struct dwc2_core_regs {
#define DWC2_GUSBCFG_ULPI_INT_VBUS_INDICATOR_OFFSET 21
#define DWC2_GUSBCFG_TERM_SEL_DL_PULSE (1 << 22)
#define DWC2_GUSBCFG_TERM_SEL_DL_PULSE_OFFSET 22
+#define DWC2_GUSBCFG_INDICATOR_PASSTHROUGH (1 << 24)
+#define DWC2_GUSBCFG_INDICATOR_PASSTHROUGH_OFFSET 24
#define DWC2_GUSBCFG_IC_USB_CAP (1 << 26)
#define DWC2_GUSBCFG_IC_USB_CAP_OFFSET 26
#define DWC2_GUSBCFG_IC_TRAFFIC_PULL_REMOVE (1 << 27)