Merge tag 'cleanup-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
[linux-2.6-block.git] / drivers / usb / musb / Kconfig
CommitLineData
550a7375
FB
1#
2# USB Dual Role (OTG-ready) Controller Drivers
3# for silicon based on Mentor Graphics INVENTRA designs
4#
5
550a7375
FB
6# (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
7config USB_MUSB_HDRC
54a605f4 8 tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
845c071b 9 depends on (USB || USB_GADGET)
550a7375
FB
10 help
11 Say Y here if your system has a dual role high speed USB
12 controller based on the Mentor Graphics silicon IP. Then
13 configure options to match your silicon and the board
14 it's being used with, including the USB peripheral role,
15 or the USB host role, or both.
16
57bfc0a7 17 Texas Instruments families using this IP include DaVinci
a227fd7d 18 (35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010.
550a7375 19
085ad406
BW
20 Analog Devices parts using this IP include Blackfin BF54x,
21 BF525 and BF527.
22
550a7375
FB
23 If you do not know what this is, please say N.
24
1376d92f
FB
25 To compile this driver as a module, choose M here; the
26 module will be called "musb-hdrc".
550a7375 27
c6bde9b5
FC
28if USB_MUSB_HDRC
29
b7b741ea
DM
30choice
31 bool "MUSB Mode Selection"
32 default USB_MUSB_DUAL_ROLE if (USB && USB_GADGET)
33 default USB_MUSB_HOST if (USB && !USB_GADGET)
34 default USB_MUSB_GADGET if (!USB && USB_GADGET)
35
36config USB_MUSB_HOST
37 bool "Host only mode"
845c071b 38 depends on USB=y || USB=USB_MUSB_HDRC
b7b741ea
DM
39 help
40 Select this when you want to use MUSB in host mode only,
41 thereby the gadget feature will be regressed.
42
43config USB_MUSB_GADGET
44 bool "Gadget only mode"
845c071b 45 depends on USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC
3f83e538 46 depends on HAS_DMA
b7b741ea
DM
47 help
48 Select this when you want to use MUSB in gadget mode only,
49 thereby the host feature will be regressed.
50
51config USB_MUSB_DUAL_ROLE
52 bool "Dual Role mode"
845c071b 53 depends on ((USB=y || USB=USB_MUSB_HDRC) && (USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC))
3f83e538 54 depends on HAS_DMA
b7b741ea
DM
55 help
56 This is the default mode of working of MUSB controller where
57 both host and gadget features are enabled.
58
59endchoice
60
7c925546
FB
61choice
62 prompt "Platform Glue Layer"
550a7375 63
7c925546 64config USB_MUSB_DAVINCI
1376d92f 65 tristate "DaVinci"
7c925546 66 depends on ARCH_DAVINCI_DMx
787f5627 67 depends on BROKEN
550a7375 68
7c925546 69config USB_MUSB_DA8XX
1376d92f 70 tristate "DA8xx/OMAP-L1x"
7c925546 71 depends on ARCH_DAVINCI_DA8XX
787f5627 72 depends on BROKEN
3ee076de 73
7c925546 74config USB_MUSB_TUSB6010
1376d92f 75 tristate "TUSB6010"
550a7375 76
7c925546 77config USB_MUSB_OMAP2PLUS
1376d92f 78 tristate "OMAP2430 and onwards"
a8d191c8 79 depends on ARCH_OMAP2PLUS && USB
3e3101d5 80 select GENERIC_PHY
550a7375 81
7c925546 82config USB_MUSB_AM35X
1376d92f 83 tristate "AM35x"
7c925546 84 depends on ARCH_OMAP
c71b1b9c 85
9ecb8875
AKG
86config USB_MUSB_DSPS
87 tristate "TI DSPS platforms"
97238b35 88 select USB_MUSB_AM335X_CHILD
eff196ad 89 depends on OF_IRQ
9ecb8875 90
7c925546 91config USB_MUSB_BLACKFIN
1376d92f 92 tristate "Blackfin"
7c925546 93 depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523)
085ad406 94
4bc36fd3 95config USB_MUSB_UX500
1860c925 96 tristate "Ux500 platforms"
4bc36fd3 97
10434d27
AS
98config USB_MUSB_JZ4740
99 tristate "JZ4740"
100 depends on MACH_JZ4740 || COMPILE_TEST
101 depends on USB_MUSB_GADGET
102 depends on USB_OTG_BLACKLIST_HUB
103
7c925546 104endchoice
550a7375 105
97238b35
SAS
106config USB_MUSB_AM335X_CHILD
107 tristate
108
2e7fc3ba
AB
109choice
110 prompt 'MUSB DMA mode'
10434d27 111 default MUSB_PIO_ONLY if ARCH_MULTIPLATFORM || USB_MUSB_JZ4740
2e7fc3ba
AB
112 default USB_UX500_DMA if USB_MUSB_UX500
113 default USB_INVENTRA_DMA if USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
114 default USB_TI_CPPI_DMA if USB_MUSB_DAVINCI
115 default USB_TUSB_OMAP_DMA if USB_MUSB_TUSB6010
9ecb8875
AKG
116 default MUSB_PIO_ONLY if USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X \
117 || USB_MUSB_DSPS
550a7375 118 help
2e7fc3ba
AB
119 Unfortunately, only one option can be enabled here. Ideally one
120 should be able to build all these drivers into one kernel to
121 allow using DMA on multiplatform kernels.
550a7375 122
d2389440 123config USB_UX500_DMA
1860c925 124 bool 'ST Ericsson Ux500'
2e7fc3ba 125 depends on USB_MUSB_UX500
d2389440
MYK
126 help
127 Enable DMA transfers on UX500 platforms.
128
550a7375 129config USB_INVENTRA_DMA
2e7fc3ba 130 bool 'Inventra'
2e7fc3ba 131 depends on USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
550a7375
FB
132 help
133 Enable DMA transfers using Mentor's engine.
134
135config USB_TI_CPPI_DMA
2e7fc3ba 136 bool 'TI CPPI (Davinci)'
2e7fc3ba 137 depends on USB_MUSB_DAVINCI
550a7375
FB
138 help
139 Enable DMA transfers when TI CPPI DMA is available.
140
9b3452d1
SAS
141config USB_TI_CPPI41_DMA
142 bool 'TI CPPI 4.1 (AM335x)'
143 depends on ARCH_OMAP
411dd19c 144 select TI_CPPI41
9b3452d1 145
550a7375 146config USB_TUSB_OMAP_DMA
2e7fc3ba 147 bool 'TUSB 6010'
70c1ff4b 148 depends on USB_MUSB_TUSB6010 = USB_MUSB_HDRC # both built-in or both modules
550a7375 149 depends on ARCH_OMAP
550a7375
FB
150 help
151 Enable DMA transfers on TUSB 6010 when OMAP DMA is available.
152
2e7fc3ba
AB
153config MUSB_PIO_ONLY
154 bool 'Disable DMA (always use PIO)'
2e7fc3ba
AB
155 help
156 All data is copied between memory and FIFO by the CPU.
157 DMA controllers are ignored.
158
159 Do not choose this unless DMA support for your SOC or board
160 is unavailable (or unstable). When DMA is enabled at compile time,
161 you can still disable it at run time using the "use_dma=n" module
162 parameter.
163
164endchoice
c6bde9b5
FC
165
166endif # USB_MUSB_HDRC