USB: add Freescale high-speed USB SOC device controller driver
authorLi Yang <leoli@freescale.com>
Mon, 23 Apr 2007 17:54:25 +0000 (10:54 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 27 Apr 2007 20:28:43 +0000 (13:28 -0700)
Freescale high-speed USB SOC can be found on some Freescale processors
among different architectures.  It supports both host and device functions.
This driver adds its device support for Linux USB Gadget layer.
It is tested on MPC8349 and MPC8313, but should work on other platforms
with minor tweaks.  The driver passed USBCV 1.3 compliance tests.  Note
that this driver doesn't yet include OTG support.

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Jiang Bo <tanya.jiang@freescale.com>
Signed-off-by: Bruce Schmid <duck@freescale.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/gadget/Kconfig
drivers/usb/gadget/Makefile
drivers/usb/gadget/fsl_usb2_udc.c [new file with mode: 0644]
drivers/usb/gadget/fsl_usb2_udc.h [new file with mode: 0644]

index e081f3e..8065f2b 100644 (file)
@@ -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
index e71e086..5db1939 100644 (file)
@@ -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
Simple merge
Simple merge