2008-07-24 09:27:36 +00: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 00:42:22 +00:00
|
|
|
tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
|
2013-12-22 03:08:33 +00:00
|
|
|
depends on (USB || USB_GADGET)
|
2008-07-24 09:27:36 +00: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 15:34:09 +00:00
|
|
|
Texas Instruments families using this IP include DaVinci
|
2009-02-24 23:31:54 +00:00
|
|
|
(35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010.
|
2008-07-24 09:27:36 +00:00
|
|
|
|
2008-12-02 19:33:49 +00:00
|
|
|
Analog Devices parts using this IP include Blackfin BF54x,
|
|
|
|
BF525 and BF527.
|
|
|
|
|
2008-07-24 09:27:36 +00:00
|
|
|
If you do not know what this is, please say N.
|
|
|
|
|
2011-05-11 09:47:59 +00:00
|
|
|
To compile this driver as a module, choose M here; the
|
|
|
|
module will be called "musb-hdrc".
|
2008-07-24 09:27:36 +00:00
|
|
|
|
2011-12-20 00:42:27 +00:00
|
|
|
if USB_MUSB_HDRC
|
|
|
|
|
2013-04-10 19:55:46 +00: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 03:08:33 +00:00
|
|
|
depends on USB=y || USB=USB_MUSB_HDRC
|
2013-04-10 19:55:46 +00: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 03:08:33 +00:00
|
|
|
depends on USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC
|
2014-02-21 19:49:53 +00:00
|
|
|
depends on HAS_DMA
|
2013-04-10 19:55:46 +00: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 03:08:33 +00:00
|
|
|
depends on ((USB=y || USB=USB_MUSB_HDRC) && (USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC))
|
2014-02-21 19:49:53 +00:00
|
|
|
depends on HAS_DMA
|
2013-04-10 19:55:46 +00:00
|
|
|
help
|
|
|
|
This is the default mode of working of MUSB controller where
|
|
|
|
both host and gadget features are enabled.
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
2014-11-24 19:05:05 +00:00
|
|
|
comment "Platform Glue Layer"
|
2008-07-24 09:27:36 +00:00
|
|
|
|
2010-12-01 12:23:48 +00:00
|
|
|
config USB_MUSB_DAVINCI
|
2011-05-11 09:47:59 +00:00
|
|
|
tristate "DaVinci"
|
2010-12-01 12:23:48 +00:00
|
|
|
depends on ARCH_DAVINCI_DMx
|
2015-01-28 21:50:04 +00:00
|
|
|
depends on NOP_USB_XCEIV
|
2013-02-06 07:24:55 +00:00
|
|
|
depends on BROKEN
|
2008-07-24 09:27:36 +00:00
|
|
|
|
2010-12-01 12:23:48 +00:00
|
|
|
config USB_MUSB_DA8XX
|
2011-05-11 09:47:59 +00:00
|
|
|
tristate "DA8xx/OMAP-L1x"
|
2010-12-01 12:23:48 +00:00
|
|
|
depends on ARCH_DAVINCI_DA8XX
|
2015-01-28 21:50:04 +00:00
|
|
|
depends on NOP_USB_XCEIV
|
2013-02-06 07:24:55 +00:00
|
|
|
depends on BROKEN
|
2010-09-24 10:44:03 +00:00
|
|
|
|
2010-12-01 12:23:48 +00:00
|
|
|
config USB_MUSB_TUSB6010
|
2011-05-11 09:47:59 +00:00
|
|
|
tristate "TUSB6010"
|
2014-12-01 19:10:15 +00:00
|
|
|
depends on ARCH_OMAP2PLUS || COMPILE_TEST
|
|
|
|
depends on NOP_USB_XCEIV = USB_MUSB_HDRC # both built-in or both modules
|
2008-07-24 09:27:36 +00:00
|
|
|
|
2010-12-01 12:23:48 +00:00
|
|
|
config USB_MUSB_OMAP2PLUS
|
2011-05-11 09:47:59 +00:00
|
|
|
tristate "OMAP2430 and onwards"
|
2015-02-27 23:19:41 +00:00
|
|
|
depends on ARCH_OMAP2PLUS && USB
|
|
|
|
depends on OMAP_CONTROL_PHY || !OMAP_CONTROL_PHY
|
2013-09-27 06:23:30 +00:00
|
|
|
select GENERIC_PHY
|
2008-07-24 09:27:36 +00:00
|
|
|
|
2010-12-01 12:23:48 +00:00
|
|
|
config USB_MUSB_AM35X
|
2011-05-11 09:47:59 +00:00
|
|
|
tristate "AM35x"
|
2010-12-01 12:23:48 +00:00
|
|
|
depends on ARCH_OMAP
|
2015-01-28 21:50:04 +00:00
|
|
|
depends on NOP_USB_XCEIV
|
2010-03-12 08:29:08 +00:00
|
|
|
|
2012-03-12 14:00:22 +00:00
|
|
|
config USB_MUSB_DSPS
|
|
|
|
tristate "TI DSPS platforms"
|
2013-07-05 12:51:33 +00:00
|
|
|
select USB_MUSB_AM335X_CHILD
|
2014-12-01 19:10:15 +00:00
|
|
|
depends on ARCH_OMAP2PLUS || COMPILE_TEST
|
2013-08-12 19:01:14 +00:00
|
|
|
depends on OF_IRQ
|
2012-03-12 14:00:22 +00:00
|
|
|
|
2010-12-01 12:23:48 +00:00
|
|
|
config USB_MUSB_BLACKFIN
|
2011-05-11 09:47:59 +00:00
|
|
|
tristate "Blackfin"
|
2010-12-01 12:23:48 +00:00
|
|
|
depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523)
|
2015-01-28 21:50:04 +00:00
|
|
|
depends on NOP_USB_XCEIV
|
2008-12-02 19:33:49 +00:00
|
|
|
|
2010-12-09 12:05:01 +00:00
|
|
|
config USB_MUSB_UX500
|
2013-09-06 16:09:06 +00:00
|
|
|
tristate "Ux500 platforms"
|
2014-12-01 19:10:15 +00:00
|
|
|
depends on ARCH_U8500 || COMPILE_TEST
|
2010-12-09 12:05:01 +00:00
|
|
|
|
2013-12-19 20:42:26 +00:00
|
|
|
config USB_MUSB_JZ4740
|
|
|
|
tristate "JZ4740"
|
2015-01-28 21:50:04 +00:00
|
|
|
depends on NOP_USB_XCEIV
|
2013-12-19 20:42:26 +00:00
|
|
|
depends on MACH_JZ4740 || COMPILE_TEST
|
|
|
|
depends on USB_MUSB_GADGET
|
|
|
|
depends on USB_OTG_BLACKLIST_HUB
|
|
|
|
|
2013-07-05 12:51:33 +00:00
|
|
|
config USB_MUSB_AM335X_CHILD
|
|
|
|
tristate
|
|
|
|
|
2011-10-02 14:45:45 +00:00
|
|
|
choice
|
|
|
|
prompt 'MUSB DMA mode'
|
2013-12-19 20:42:26 +00:00
|
|
|
default MUSB_PIO_ONLY if ARCH_MULTIPLATFORM || USB_MUSB_JZ4740
|
2011-10-02 14:45:45 +00: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 14:00:22 +00:00
|
|
|
default MUSB_PIO_ONLY if USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X \
|
|
|
|
|| USB_MUSB_DSPS
|
2008-07-24 09:27:36 +00:00
|
|
|
help
|
2011-10-02 14:45:45 +00: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 09:27:36 +00:00
|
|
|
|
2011-03-22 14:55:59 +00:00
|
|
|
config USB_UX500_DMA
|
2013-09-06 16:09:06 +00:00
|
|
|
bool 'ST Ericsson Ux500'
|
2011-10-02 14:45:45 +00:00
|
|
|
depends on USB_MUSB_UX500
|
2011-03-22 14:55:59 +00:00
|
|
|
help
|
|
|
|
Enable DMA transfers on UX500 platforms.
|
|
|
|
|
2008-07-24 09:27:36 +00:00
|
|
|
config USB_INVENTRA_DMA
|
2011-10-02 14:45:45 +00:00
|
|
|
bool 'Inventra'
|
|
|
|
depends on USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
|
2008-07-24 09:27:36 +00:00
|
|
|
help
|
|
|
|
Enable DMA transfers using Mentor's engine.
|
|
|
|
|
|
|
|
config USB_TI_CPPI_DMA
|
2011-10-02 14:45:45 +00:00
|
|
|
bool 'TI CPPI (Davinci)'
|
|
|
|
depends on USB_MUSB_DAVINCI
|
2008-07-24 09:27:36 +00:00
|
|
|
help
|
|
|
|
Enable DMA transfers when TI CPPI DMA is available.
|
|
|
|
|
2013-06-20 10:13:04 +00:00
|
|
|
config USB_TI_CPPI41_DMA
|
|
|
|
bool 'TI CPPI 4.1 (AM335x)'
|
|
|
|
depends on ARCH_OMAP
|
2014-05-02 08:11:00 +00:00
|
|
|
select TI_CPPI41
|
2013-06-20 10:13:04 +00:00
|
|
|
|
2008-07-24 09:27:36 +00:00
|
|
|
config USB_TUSB_OMAP_DMA
|
2011-10-02 14:45:45 +00:00
|
|
|
bool 'TUSB 6010'
|
2014-05-08 13:52:15 +00:00
|
|
|
depends on USB_MUSB_TUSB6010 = USB_MUSB_HDRC # both built-in or both modules
|
2008-07-24 09:27:36 +00:00
|
|
|
depends on ARCH_OMAP
|
|
|
|
help
|
|
|
|
Enable DMA transfers on TUSB 6010 when OMAP DMA is available.
|
|
|
|
|
2011-10-02 14:45:45 +00: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 00:42:27 +00:00
|
|
|
|
|
|
|
endif # USB_MUSB_HDRC
|