Update Kconfig, Makefile, gadget_chip.c, ether.c for newly added Freescale
Highspeed USB device driver.

Signed-off-by: Li Yang <[EMAIL PROTECTED]>

---
 drivers/usb/gadget/Kconfig        |   21 +++++++++++++++++++++
 drivers/usb/gadget/Makefile       |    1 +
 drivers/usb/gadget/ether.c        |    3 +++
 drivers/usb/gadget/gadget_chips.h |    8 ++++++++
 4 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index 4097a86..657a9eb 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -68,6 +68,27 @@ choice
           Many controller drivers are platform-specific; these
           often need board-specific hooks.
 
+config USB_GADGET_FSL_USB2
+       boolean "Freescale Highspeed USB DR Peripheral Controller"
+       depends on MPC834x || PPC_MPC831x
+       select USB_GADGET_DUALSPEED
+       help
+          Some of Freescale PowerPC processors have a High Speed
+          Dual-Role(DR) USB controller, which supports device mode.
+
+          The number of programmable endpoints is different through
+          SOC revisions.
+
+          Say "y" to link the driver statically, or "m" to build a
+          dynamically linked module called "fsl_usb2_udc" and force
+          all gadget drivers to also be dynamically linked.
+
+config USB_FSL_USB2
+       tristate
+       depends on USB_GADGET_FSL_USB2
+       default USB_GADGET
+       select USB_GADGET_SELECTED
+
 config USB_GADGET_NET2280
        boolean "NetChip 228x"
        depends on PCI
diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
index e71e086..5db1939 100644
--- a/drivers/usb/gadget/Makefile
+++ b/drivers/usb/gadget/Makefile
@@ -8,6 +8,7 @@ obj-$(CONFIG_USB_GOKU)          += goku_udc.o
 obj-$(CONFIG_USB_OMAP)         += omap_udc.o
 obj-$(CONFIG_USB_LH7A40X)      += lh7a40x_udc.o
 obj-$(CONFIG_USB_AT91)         += at91_udc.o
+obj-$(CONFIG_USB_FSL_USB2)     += fsl_usb2_udc.o
 
 #
 # USB gadget drivers
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c
index 04e6b85..7393036 100644
--- a/drivers/usb/gadget/ether.c
+++ b/drivers/usb/gadget/ether.c
@@ -282,6 +282,9 @@ MODULE_PARM_DESC(host_addr, "Host Ethernet Address");
 #define DEV_CONFIG_CDC
 #endif
 
+#ifdef CONFIG_USB_GADGET_FSL_USB2
+#define DEV_CONFIG_CDC
+#endif
 
 /* For CDC-incapable hardware, choose the simple cdc subset.
  * Anything that talks bulk (without notable bugs) can do this.
diff --git a/drivers/usb/gadget/gadget_chips.h 
b/drivers/usb/gadget/gadget_chips.h
index 2e3d662..d041b91 100644
--- a/drivers/usb/gadget/gadget_chips.h
+++ b/drivers/usb/gadget/gadget_chips.h
@@ -99,6 +99,12 @@
 #define gadget_is_imx(g)       0
 #endif
 
+#ifdef CONFIG_USB_GADGET_FSL_USB2
+#define gadget_is_fsl_usb2(g)  !strcmp("fsl-usb2-udc", (g)->name)
+#else
+#define gadget_is_fsl_usb2(g)  0
+#endif
+
 /* Mentor high speed function controller */
 #ifdef CONFIG_USB_GADGET_MUSBHSFC
 #define gadget_is_musbhsfc(g)  !strcmp("musbhsfc_udc", (g)->name)
@@ -177,5 +183,7 @@ static inline int usb_gadget_controller_number(struct 
usb_gadget *gadget)
                return 0x17;
        else if (gadget_is_husb2dev(gadget))
                return 0x18;
+       else if (gadget_is_fsl_usb2(gadget))
+               return 0x19;
        return -ENOENT;
 }


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to