xref: /linux/drivers/usb/musb/Kconfig (revision 60e13231561b3a4c5269bfa1ef6c0569ad6f28ec)
1#
2# USB Dual Role (OTG-ready) Controller Drivers
3# for silicon based on Mentor Graphics INVENTRA designs
4#
5
6# (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
7config USB_MUSB_HDRC
8	depends on USB && USB_GADGET
9	depends on (ARM || (BF54x && !BF544) || (BF52x && !BF522 && !BF523))
10	select NOP_USB_XCEIV if (ARCH_DAVINCI || MACH_OMAP3EVM || BLACKFIN)
11	select TWL4030_USB if MACH_OMAP_3430SDP
12	select TWL6030_USB if MACH_OMAP_4430SDP || MACH_OMAP4_PANDA
13	select USB_OTG_UTILS
14	tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
15	help
16	  Say Y here if your system has a dual role high speed USB
17	  controller based on the Mentor Graphics silicon IP.  Then
18	  configure options to match your silicon and the board
19	  it's being used with, including the USB peripheral role,
20	  or the USB host role, or both.
21
22	  Texas Instruments familiies using this IP include DaVinci
23	  (35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010.
24
25	  Analog Devices parts using this IP include Blackfin BF54x,
26	  BF525 and BF527.
27
28	  If you do not know what this is, please say N.
29
30	  To compile this driver as a module, choose M here; the
31	  module will be called "musb-hdrc".
32
33choice
34	prompt "Platform Glue Layer"
35	depends on USB_MUSB_HDRC
36
37config USB_MUSB_DAVINCI
38	tristate "DaVinci"
39	depends on ARCH_DAVINCI_DMx
40
41config USB_MUSB_DA8XX
42	tristate "DA8xx/OMAP-L1x"
43	depends on ARCH_DAVINCI_DA8XX
44
45config USB_MUSB_TUSB6010
46	tristate "TUSB6010"
47	depends on ARCH_OMAP
48
49config USB_MUSB_OMAP2PLUS
50	tristate "OMAP2430 and onwards"
51	depends on ARCH_OMAP2PLUS
52
53config USB_MUSB_AM35X
54	tristate "AM35x"
55	depends on ARCH_OMAP
56
57config USB_MUSB_BLACKFIN
58	tristate "Blackfin"
59	depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523)
60
61config USB_MUSB_UX500
62	tristate "U8500 and U5500"
63	depends on (ARCH_U8500 && AB8500_USB) || (ARCH_U5500)
64
65endchoice
66
67config MUSB_PIO_ONLY
68	bool 'Disable DMA (always use PIO)'
69	depends on USB_MUSB_HDRC
70	default USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X
71	help
72	  All data is copied between memory and FIFO by the CPU.
73	  DMA controllers are ignored.
74
75	  Do not select 'n' here unless DMA support for your SOC or board
76	  is unavailable (or unstable).  When DMA is enabled at compile time,
77	  you can still disable it at run time using the "use_dma=n" module
78	  parameter.
79
80config USB_UX500_DMA
81	bool
82	depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY
83	default USB_MUSB_UX500
84	help
85	  Enable DMA transfers on UX500 platforms.
86
87config USB_INVENTRA_DMA
88	bool
89	depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY
90	default USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
91	help
92	  Enable DMA transfers using Mentor's engine.
93
94config USB_TI_CPPI_DMA
95	bool
96	depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY
97	default USB_MUSB_DAVINCI
98	help
99	  Enable DMA transfers when TI CPPI DMA is available.
100
101config USB_TUSB_OMAP_DMA
102	bool
103	depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY
104	depends on USB_MUSB_TUSB6010
105	depends on ARCH_OMAP
106	default y
107	help
108	  Enable DMA transfers on TUSB 6010 when OMAP DMA is available.
109
110