From: Tirumala Marri <tma...@apm.com>

Enable gadget support

Signed-off-by: Tirumala R Marri <tma...@apm.com>
Signed-off-by: Fushen Chen <fc...@apm.com>
Signed-off-by: Mark Miesfeld <mmiesf...@apm.com>
---
 drivers/usb/gadget/Kconfig        |   22 ++++++++++++++++++++++
 drivers/usb/gadget/gadget_chips.h |    9 +++++++++
 2 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index 1dc9739..ab7d210 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -365,6 +365,28 @@ config USB_GADGET_MUSB_HDRC
          This OTG-capable silicon IP is used in dual designs including
          the TI DaVinci, OMAP 243x, OMAP 343x, TUSB 6010, and ADI Blackfin
 
+# dwc_otg builds in ../dwc_otg along with host support
+config USB_GADGET_DWC_HDRC
+       boolean "DesignWare USB Peripheral"
+       depends on DWC_OTG_MODE || DWC_DEVICE_ONLY
+       select USB_GADGET_DUALSPEED
+       select USB_GADGET_SELECTED
+       select USB_GADGET_DWC_OTG
+       help
+       This OTG-capable Designware USB IP
+
+config USB_GADGET_DWC_OTG
+       boolean "OTG Support"
+       depends on USB_GADGET_DWC_HDRC
+       help
+       The most notable feature of USB OTG is support for a
+       "Dual-Role" device, which can act as either a device
+       or a host.  The initial role choice can be changed
+       later, when two dual-role devices talk to each other.
+       Select this only if your board has a Mini-AB connector.
+
+
+
 config USB_GADGET_M66592
        boolean "Renesas M66592 USB Peripheral Controller"
        select USB_GADGET_DUALSPEED
diff --git a/drivers/usb/gadget/gadget_chips.h 
b/drivers/usb/gadget/gadget_chips.h
index 5c2720d..7a7623a 100644
--- a/drivers/usb/gadget/gadget_chips.h
+++ b/drivers/usb/gadget/gadget_chips.h
@@ -142,6 +142,12 @@
 #define gadget_is_s3c_hsotg(g)    0
 #endif
 
+#if defined(CONFIG_DWC_OTG_MODE) || defined(CONFIG_DWC_DEVICE_ONLY)
+#define gadget_is_dwc_otg_pcd(g)       (!strcmp("dwc_otg_pcd", (g)->name))
+#else
+#define gadget_is_dwc_otg_pcd(g)       0
+#endif
+
 #ifdef CONFIG_USB_GADGET_EG20T
 #define        gadget_is_pch(g)        (!strcmp("pch_udc", (g)->name))
 #else
@@ -215,6 +221,9 @@ static inline int usb_gadget_controller_number(struct 
usb_gadget *gadget)
                return 0x27;
        else if (gadget_is_ci13xxx_msm(gadget))
                return 0x28;
+       else if (gadget_is_dwc_otg_pcd(gadget))
+               return 0x29;
+
        return -ENOENT;
 }
 
-- 
1.6.1.rc3

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to