]> Pileus Git - ~andy/linux/blobdiff - drivers/usb/musb/Kconfig
Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming
[~andy/linux] / drivers / usb / musb / Kconfig
index 07a03460a598c3bcea675494a2a9009312b5d57b..f70cab3beeec74fcbbf61a248a84df31ef872702 100644 (file)
@@ -5,14 +5,13 @@
 
 # (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
 config USB_MUSB_HDRC
+       tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
        depends on USB && USB_GADGET
-       depends on (ARM || (BF54x && !BF544) || (BF52x && !BF522 && !BF523))
        select NOP_USB_XCEIV if (ARCH_DAVINCI || MACH_OMAP3EVM || BLACKFIN)
        select TWL4030_USB if MACH_OMAP_3430SDP
        select TWL6030_USB if MACH_OMAP_4430SDP || MACH_OMAP4_PANDA
        select USB_OTG_UTILS
        select USB_GADGET_DUALSPEED
-       tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
        help
          Say Y here if your system has a dual role high speed USB
          controller based on the Mentor Graphics silicon IP.  Then
@@ -31,9 +30,10 @@ config USB_MUSB_HDRC
          To compile this driver as a module, choose M here; the
          module will be called "musb-hdrc".
 
+if USB_MUSB_HDRC
+
 choice
        prompt "Platform Glue Layer"
-       depends on USB_MUSB_HDRC
 
 config USB_MUSB_DAVINCI
        tristate "DaVinci"
@@ -45,7 +45,6 @@ config USB_MUSB_DA8XX
 
 config USB_MUSB_TUSB6010
        tristate "TUSB6010"
-       depends on ARCH_OMAP
 
 config USB_MUSB_OMAP2PLUS
        tristate "OMAP2430 and onwards"
@@ -65,46 +64,54 @@ config USB_MUSB_UX500
 
 endchoice
 
-config MUSB_PIO_ONLY
-       bool 'Disable DMA (always use PIO)'
-       depends on USB_MUSB_HDRC
-       default USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X
+choice
+       prompt 'MUSB DMA mode'
+       default USB_UX500_DMA if USB_MUSB_UX500
+       default USB_INVENTRA_DMA if USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
+       default USB_TI_CPPI_DMA if USB_MUSB_DAVINCI
+       default USB_TUSB_OMAP_DMA if USB_MUSB_TUSB6010
+       default MUSB_PIO_ONLY if USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X
        help
-         All data is copied between memory and FIFO by the CPU.
-         DMA controllers are ignored.
-
-         Do not select 'n' here unless DMA support for your SOC or board
-         is unavailable (or unstable).  When DMA is enabled at compile time,
-         you can still disable it at run time using the "use_dma=n" module
-         parameter.
+         Unfortunately, only one option can be enabled here. Ideally one
+         should be able to build all these drivers into one kernel to
+         allow using DMA on multiplatform kernels.
 
 config USB_UX500_DMA
-       bool
-       depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY
-       default USB_MUSB_UX500
+       bool 'ST Ericsson U8500 and U5500'
+       depends on USB_MUSB_UX500
        help
          Enable DMA transfers on UX500 platforms.
 
 config USB_INVENTRA_DMA
-       bool
-       depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY
-       default USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
+       bool 'Inventra'
+       depends on USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
        help
          Enable DMA transfers using Mentor's engine.
 
 config USB_TI_CPPI_DMA
-       bool
-       depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY
-       default USB_MUSB_DAVINCI
+       bool 'TI CPPI (Davinci)'
+       depends on USB_MUSB_DAVINCI
        help
          Enable DMA transfers when TI CPPI DMA is available.
 
 config USB_TUSB_OMAP_DMA
-       bool
-       depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY
+       bool 'TUSB 6010'
        depends on USB_MUSB_TUSB6010
        depends on ARCH_OMAP
-       default y
        help
          Enable DMA transfers on TUSB 6010 when OMAP DMA is available.
 
+config MUSB_PIO_ONLY
+       bool 'Disable DMA (always use PIO)'
+       help
+         All data is copied between memory and FIFO by the CPU.
+         DMA controllers are ignored.
+
+         Do not choose this unless DMA support for your SOC or board
+         is unavailable (or unstable).  When DMA is enabled at compile time,
+         you can still disable it at run time using the "use_dma=n" module
+         parameter.
+
+endchoice
+
+endif # USB_MUSB_HDRC