USB: add atmel_usba_udc driver
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / usb / gadget / Kconfig
index 4097a86c4b5e125c5de26dc6905259d52ab13657..f81d08d6538b6d34ce9d112a18de3dec909d096f 100644 (file)
@@ -42,6 +42,20 @@ config USB_GADGET
           For more information, see <http://www.linux-usb.org/gadget> and
           the kernel DocBook documentation for this API.
 
+config USB_GADGET_DEBUG
+       boolean "Debugging messages"
+       depends on USB_GADGET && DEBUG_KERNEL && EXPERIMENTAL
+       help
+          Many controller and gadget drivers will print some debugging
+          messages if you use this option to ask for those messages.
+
+          Avoid enabling these messages, even if you're actively
+          debugging such a driver.  Many drivers will emit so many
+          messages that the driver timings are affected, which will
+          either create new failure modes or remove the one you're
+          trying to track down.  Never enable these messages for a
+          production build.
+
 config USB_GADGET_DEBUG_FILES
        boolean "Debugging information files"
        depends on USB_GADGET && PROC_FS
@@ -53,6 +67,17 @@ config USB_GADGET_DEBUG_FILES
           driver on a new board.   Enable these files by choosing "Y"
           here.  If in doubt, or to conserve kernel memory, say "N".
 
+config USB_GADGET_DEBUG_FS
+       boolean "Debugging information files in debugfs"
+       depends on USB_GADGET && DEBUG_FS
+       help
+          Some of the drivers in the "gadget" framework can expose
+          debugging information in files under /sys/kernel/debug/.
+          The information in these files may help when you're
+          troubleshooting or bringing up a driver on a new board.
+          Enable these files by choosing "Y" here.  If in doubt, or
+          to conserve kernel memory, say "N".
+
 config USB_GADGET_SELECTED
        boolean
 
@@ -68,6 +93,62 @@ choice
           Many controller drivers are platform-specific; these
           often need board-specific hooks.
 
+config USB_GADGET_AMD5536UDC
+       boolean "AMD5536 UDC"
+       depends on PCI
+       select USB_GADGET_DUALSPEED
+       help
+          The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge.
+          It is a USB Highspeed DMA capable USB device controller. Beside ep0
+          it provides 4 IN and 4 OUT endpoints (bulk or interrupt type).
+          The UDC port supports OTG operation, and may be used as a host port
+          if it's not being used to implement peripheral or OTG roles.
+
+          Say "y" to link the driver statically, or "m" to build a
+          dynamically linked module called "amd5536udc" and force all
+          gadget drivers to also be dynamically linked.
+
+config USB_AMD5536UDC
+       tristate
+       depends on USB_GADGET_AMD5536UDC
+       default USB_GADGET
+       select USB_GADGET_SELECTED
+
+config USB_GADGET_ATMEL_USBA
+       boolean "Atmel USBA"
+       select USB_GADGET_DUALSPEED
+       depends on AVR32
+       help
+         USBA is the integrated high-speed USB Device controller on
+         the AT32AP700x processors from Atmel.
+
+config USB_ATMEL_USBA
+       tristate
+       depends on USB_GADGET_ATMEL_USBA
+       default USB_GADGET
+       select USB_GADGET_SELECTED
+
+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
@@ -121,6 +202,24 @@ config USB_PXA2XX_SMALL
        default y if USB_ETH
        default y if USB_G_SERIAL
 
+config USB_GADGET_M66592
+       boolean "Renesas M66592 USB Peripheral Controller"
+       select USB_GADGET_DUALSPEED
+       help
+          M66592 is a discrete USB peripheral controller chip that
+          supports both full and high speed USB 2.0 data transfers.
+          It has seven configurable endpoints, and endpoint zero.
+
+          Say "y" to link the driver statically, or "m" to build a
+          dynamically linked module called "m66592_udc" and force all
+          gadget drivers to also be dynamically linked.
+
+config USB_M66592
+       tristate
+       depends on USB_GADGET_M66592
+       default USB_GADGET
+       select USB_GADGET_SELECTED
+
 config USB_GADGET_GOKU
        boolean "Toshiba TC86C001 'Goku-S'"
        depends on PCI
@@ -154,7 +253,6 @@ config USB_LH7A40X
        default USB_GADGET
        select USB_GADGET_SELECTED
 
-
 config USB_GADGET_OMAP
        boolean "OMAP USB Device Controller"
        depends on ARCH_OMAP
@@ -187,9 +285,30 @@ config USB_OTG
 
           Select this only if your OMAP board has a Mini-AB connector.
 
+config USB_GADGET_S3C2410
+       boolean "S3C2410 USB Device Controller"
+       depends on ARCH_S3C2410
+       help
+         Samsung's S3C2410 is an ARM-4 processor with an integrated
+         full speed USB 1.1 device controller.  It has 4 configurable
+         endpoints, as well as endpoint zero (for control transfers).
+
+         This driver has been tested on the S3C2410, S3C2412, and
+         S3C2440 processors.
+
+config USB_S3C2410
+       tristate
+       depends on USB_GADGET_S3C2410
+       default USB_GADGET
+       select USB_GADGET_SELECTED
+
+config USB_S3C2410_DEBUG
+       boolean "S3C2410 udc debug messages"
+       depends on USB_GADGET_S3C2410
+
 config USB_GADGET_AT91
        boolean "AT91 USB Device Port"
-       depends on ARCH_AT91
+       depends on ARCH_AT91 && !ARCH_AT91SAM9RL
        select USB_GADGET_SELECTED
        help
           Many Atmel AT91 processors (such as the AT91RM2000) have a
@@ -370,6 +489,7 @@ config USB_GADGETFS
 
 config USB_FILE_STORAGE
        tristate "File-backed Storage Gadget"
+       depends on BLOCK
        help
          The File-backed Storage Gadget acts as a USB Mass Storage
          disk drive.  As its storage repository it can use a regular