usb: musb: drop ARCH dependency
[pandora-kernel.git] / drivers / usb / musb / Kconfig
index fc34b8b..84a0224 100644 (file)
@@ -6,11 +6,11 @@
 # (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
 config USB_MUSB_HDRC
        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
@@ -44,7 +44,6 @@ config USB_MUSB_DA8XX
 
 config USB_MUSB_TUSB6010
        tristate "TUSB6010"
-       depends on ARCH_OMAP
 
 config USB_MUSB_OMAP2PLUS
        tristate "OMAP2430 and onwards"
@@ -60,50 +59,61 @@ config USB_MUSB_BLACKFIN
 
 config USB_MUSB_UX500
        tristate "U8500 and U5500"
-       depends on (ARCH_U8500 && AB8500_USB) || (ARCH_U5500)
+       depends on (ARCH_U8500 && AB8500_USB)
 
 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_HDRC
+       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_HDRC
+       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_HDRC
+       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_HDRC
        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)'
+       depends on USB_MUSB_HDRC
+       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