2008-07-24 13:27:36 +04:00
#
# USB Dual Role (OTG-ready) Controller Drivers
# for silicon based on Mentor Graphics INVENTRA designs
#
# (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
config USB_MUSB_HDRC
2011-12-20 04:42:22 +04:00
tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
2013-12-22 07:08:33 +04:00
depends on (USB || USB_GADGET)
2008-07-24 13:27:36 +04:00
help
Say Y here if your system has a dual role high speed USB
controller based on the Mentor Graphics silicon IP. Then
configure options to match your silicon and the board
it's being used with, including the USB peripheral role,
or the USB host role, or both.
2012-08-18 19:34:09 +04:00
Texas Instruments families using this IP include DaVinci
2009-02-25 02:31:54 +03:00
(35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010.
2008-07-24 13:27:36 +04:00
2008-12-02 22:33:49 +03:00
Analog Devices parts using this IP include Blackfin BF54x,
BF525 and BF527.
2008-07-24 13:27:36 +04:00
If you do not know what this is, please say N.
2011-05-11 13:47:59 +04:00
To compile this driver as a module, choose M here; the
module will be called "musb-hdrc".
2008-07-24 13:27:36 +04:00
2011-12-20 04:42:27 +04:00
if USB_MUSB_HDRC
2013-04-10 23:55:46 +04:00
choice
bool "MUSB Mode Selection"
default USB_MUSB_DUAL_ROLE if (USB && USB_GADGET)
default USB_MUSB_HOST if (USB && !USB_GADGET)
default USB_MUSB_GADGET if (!USB && USB_GADGET)
config USB_MUSB_HOST
bool "Host only mode"
2013-12-22 07:08:33 +04:00
depends on USB=y || USB=USB_MUSB_HDRC
2013-04-10 23:55:46 +04:00
help
Select this when you want to use MUSB in host mode only,
thereby the gadget feature will be regressed.
config USB_MUSB_GADGET
bool "Gadget only mode"
2013-12-22 07:08:33 +04:00
depends on USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC
2014-02-21 23:49:53 +04:00
depends on HAS_DMA
2013-04-10 23:55:46 +04:00
help
Select this when you want to use MUSB in gadget mode only,
thereby the host feature will be regressed.
config USB_MUSB_DUAL_ROLE
bool "Dual Role mode"
2013-12-22 07:08:33 +04:00
depends on ((USB=y || USB=USB_MUSB_HDRC) && (USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC))
2014-02-21 23:49:53 +04:00
depends on HAS_DMA
2013-04-10 23:55:46 +04:00
help
This is the default mode of working of MUSB controller where
both host and gadget features are enabled.
endchoice
2010-12-01 15:23:48 +03:00
choice
prompt "Platform Glue Layer"
2008-07-24 13:27:36 +04:00
2010-12-01 15:23:48 +03:00
config USB_MUSB_DAVINCI
2011-05-11 13:47:59 +04:00
tristate "DaVinci"
2010-12-01 15:23:48 +03:00
depends on ARCH_DAVINCI_DMx
2013-02-06 11:24:55 +04:00
depends on BROKEN
2008-07-24 13:27:36 +04:00
2010-12-01 15:23:48 +03:00
config USB_MUSB_DA8XX
2011-05-11 13:47:59 +04:00
tristate "DA8xx/OMAP-L1x"
2010-12-01 15:23:48 +03:00
depends on ARCH_DAVINCI_DA8XX
2013-02-06 11:24:55 +04:00
depends on BROKEN
2010-09-24 14:44:03 +04:00
2010-12-01 15:23:48 +03:00
config USB_MUSB_TUSB6010
2011-05-11 13:47:59 +04:00
tristate "TUSB6010"
2008-07-24 13:27:36 +04:00
2010-12-01 15:23:48 +03:00
config USB_MUSB_OMAP2PLUS
2011-05-11 13:47:59 +04:00
tristate "OMAP2430 and onwards"
2010-12-01 15:23:48 +03:00
depends on ARCH_OMAP2PLUS
2013-09-27 10:23:30 +04:00
select GENERIC_PHY
2008-07-24 13:27:36 +04:00
2010-12-01 15:23:48 +03:00
config USB_MUSB_AM35X
2011-05-11 13:47:59 +04:00
tristate "AM35x"
2010-12-01 15:23:48 +03:00
depends on ARCH_OMAP
2010-03-12 11:29:08 +03:00
2012-03-12 18:00:22 +04:00
config USB_MUSB_DSPS
tristate "TI DSPS platforms"
2013-07-05 16:51:33 +04:00
select USB_MUSB_AM335X_CHILD
2013-08-12 23:01:14 +04:00
depends on OF_IRQ
2012-03-12 18:00:22 +04:00
2010-12-01 15:23:48 +03:00
config USB_MUSB_BLACKFIN
2011-05-11 13:47:59 +04:00
tristate "Blackfin"
2010-12-01 15:23:48 +03:00
depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523)
2008-12-02 22:33:49 +03:00
2010-12-09 15:05:01 +03:00
config USB_MUSB_UX500
2013-09-06 20:09:06 +04:00
tristate "Ux500 platforms"
2010-12-09 15:05:01 +03:00
2013-12-20 00:42:26 +04:00
config USB_MUSB_JZ4740
tristate "JZ4740"
depends on MACH_JZ4740 || COMPILE_TEST
depends on USB_MUSB_GADGET
depends on USB_OTG_BLACKLIST_HUB
2010-12-01 15:23:48 +03:00
endchoice
2008-07-24 13:27:36 +04:00
2013-07-05 16:51:33 +04:00
config USB_MUSB_AM335X_CHILD
tristate
2011-10-02 18:45:45 +04:00
choice
prompt 'MUSB DMA mode'
2013-12-20 00:42:26 +04:00
default MUSB_PIO_ONLY if ARCH_MULTIPLATFORM || USB_MUSB_JZ4740
2011-10-02 18:45:45 +04:00
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
2012-03-12 18:00:22 +04:00
default MUSB_PIO_ONLY if USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X \
|| USB_MUSB_DSPS
2008-07-24 13:27:36 +04:00
help
2011-10-02 18:45:45 +04:00
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.
2008-07-24 13:27:36 +04:00
2011-03-22 17:55:59 +03:00
config USB_UX500_DMA
2013-09-06 20:09:06 +04:00
bool 'ST Ericsson Ux500'
2011-10-02 18:45:45 +04:00
depends on USB_MUSB_UX500
2011-03-22 17:55:59 +03:00
help
Enable DMA transfers on UX500 platforms.
2008-07-24 13:27:36 +04:00
config USB_INVENTRA_DMA
2011-10-02 18:45:45 +04:00
bool 'Inventra'
depends on USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
2008-07-24 13:27:36 +04:00
help
Enable DMA transfers using Mentor's engine.
config USB_TI_CPPI_DMA
2011-10-02 18:45:45 +04:00
bool 'TI CPPI (Davinci)'
depends on USB_MUSB_DAVINCI
2008-07-24 13:27:36 +04:00
help
Enable DMA transfers when TI CPPI DMA is available.
2013-06-20 14:13:04 +04:00
config USB_TI_CPPI41_DMA
bool 'TI CPPI 4.1 (AM335x)'
depends on ARCH_OMAP
2008-07-24 13:27:36 +04:00
config USB_TUSB_OMAP_DMA
2011-10-02 18:45:45 +04:00
bool 'TUSB 6010'
2010-12-01 15:23:48 +03:00
depends on USB_MUSB_TUSB6010
2008-07-24 13:27:36 +04:00
depends on ARCH_OMAP
help
Enable DMA transfers on TUSB 6010 when OMAP DMA is available.
2011-10-02 18:45:45 +04:00
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
2011-12-20 04:42:27 +04:00
endif # USB_MUSB_HDRC