]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - drivers/usb/host/Kconfig
usb: add HAS_IOMEM dependency to USB_XHCI_HCD
[mirror_ubuntu-jammy-kernel.git] / drivers / usb / host / Kconfig
CommitLineData
1da177e4
LT
1#
2# USB Host Controller Drivers
3#
4comment "USB Host Controller Drivers"
1da177e4 5
e9b29ffc
PK
6config USB_C67X00_HCD
7 tristate "Cypress C67x00 HCD support"
149737a7 8 depends on HAS_IOMEM
e9b29ffc
PK
9 help
10 The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role
11 host/peripheral/OTG USB controllers.
12
13 Enable this option to support this chip in host controller mode.
14 If unsure, say N.
15
16 To compile this driver as a module, choose M here: the
17 module will be called c67x00.
18
eb6bab13 19config USB_XHCI_HCD
eb83be98 20 tristate "xHCI HCD (USB 3.0) support"
8f2abe80 21 depends on HAS_IOMEM
eb6bab13
SS
22 ---help---
23 The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
24 "SuperSpeed" host controller hardware.
25
26 To compile this driver as a module, choose M here: the
27 module will be called xhci-hcd.
28
0fcb9989
FF
29if USB_XHCI_HCD
30
29e409f0
AB
31config USB_XHCI_PCI
32 tristate
33 depends on PCI
34 default y
35
3429e91a 36config USB_XHCI_PLATFORM
6c05cb14
RM
37 tristate "Generic xHCI driver for a platform device"
38 ---help---
39 Adds an xHCI host driver for a generic platform device, which
40 provides a memory space and an irq.
41 It is also a prerequisite for platform specific drivers that
42 implement some extra quirks.
43
44 If unsure, say N.
3429e91a 45
0cbd4b34
CY
46config USB_XHCI_MTK
47 tristate "xHCI support for Mediatek MT65xx"
48 select MFD_SYSCON
49 depends on ARCH_MEDIATEK || COMPILE_TEST
50 ---help---
51 Say 'Y' to enable the support for the xHCI host controller
52 found in Mediatek MT65xx SoCs.
53 If unsure, say N.
54
97374792
GC
55config USB_XHCI_MVEBU
56 tristate "xHCI support for Marvell Armada 375/38x"
57 select USB_XHCI_PLATFORM
828638e9 58 depends on HAS_IOMEM
97374792
GC
59 depends on ARCH_MVEBU || COMPILE_TEST
60 ---help---
61 Say 'Y' to enable the support for the xHCI host controller
62 found in Marvell Armada 375/38x ARM SOCs.
63
4ac8918f
YS
64config USB_XHCI_RCAR
65 tristate "xHCI support for Renesas R-Car SoCs"
66 select USB_XHCI_PLATFORM
67 depends on ARCH_SHMOBILE || COMPILE_TEST
68 ---help---
69 Say 'Y' to enable the support for the xHCI host controller
70 found in Renesas R-Car ARM SoCs.
71
0fcb9989
FF
72endif # USB_XHCI_HCD
73
1da177e4
LT
74config USB_EHCI_HCD
75 tristate "EHCI HCD (USB 2.0) support"
aaa98db7 76 depends on HAS_IOMEM
1da177e4
LT
77 ---help---
78 The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
79 "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
80 If your USB host controller supports USB 2.0, you will likely want to
b967c88e 81 configure this Host Controller Driver.
1da177e4
LT
82
83 EHCI controllers are packaged with "companion" host controllers (OHCI
84 or UHCI) to handle USB 1.1 devices connected to root hub ports. Ports
b3c29d85 85 will connect to EHCI if the device is high speed, otherwise they
1da177e4
LT
86 connect to a companion controller. If you configure EHCI, you should
87 probably configure the OHCI (for NEC and some other vendors) USB Host
88 Controller Driver or UHCI (for Via motherboards) Host Controller
89 Driver too.
90
91 You may want to read <file:Documentation/usb/ehci.txt>.
92
93 To compile this driver as a module, choose M here: the
94 module will be called ehci-hcd.
95
1da177e4 96config USB_EHCI_ROOT_HUB_TT
9ec249a6 97 bool "Root Hub Transaction Translators"
a746c286 98 depends on USB_EHCI_HCD
1da177e4
LT
99 ---help---
100 Some EHCI chips have vendor-specific extensions to integrate
101 transaction translators, so that no OHCI or UHCI companion
102 controller is needed. It's safe to say "y" even if your
103 controller doesn't support this feature.
104
ba47f66b
DS
105 This supports the EHCI implementation that's originally
106 from ARC, and has since changed hands a few times.
107
108config USB_EHCI_TT_NEWSCHED
37cd681c 109 bool "Improved Transaction Translator scheduling"
a746c286 110 depends on USB_EHCI_HCD
37cd681c 111 default y
ba47f66b
DS
112 ---help---
113 This changes the periodic scheduling code to fill more of the low
114 and full speed bandwidth available from the Transaction Translator
115 (TT) in USB 2.0 hubs. Without this, only one transfer will be
116 issued in each microframe, significantly reducing the number of
117 periodic low/fullspeed transfers possible.
118
119 If you have multiple periodic low/fullspeed devices connected to a
120 highspeed USB hub which is connected to a highspeed USB Host
121 Controller, and some of those devices will not work correctly
37cd681c
AS
122 (possibly due to "ENOSPC" or "-28" errors), say Y. Conversely, if
123 you have only one such device and it doesn't work, you could try
124 saying N.
ba47f66b 125
37cd681c 126 If unsure, say Y.
1da177e4 127
42443dc4
FF
128config USB_FSL_MPH_DR_OF
129 tristate
130
131if USB_EHCI_HCD
132
adfa79d1
AS
133config USB_EHCI_PCI
134 tristate
42443dc4 135 depends on PCI
adfa79d1
AS
136 default y
137
22ced687
A
138config USB_EHCI_HCD_PMC_MSP
139 tristate "EHCI support for on-chip PMC MSP71xx USB controller"
42443dc4 140 depends on MSP_HAS_USB
22ced687
A
141 default n
142 select USB_EHCI_BIG_ENDIAN_DESC
143 select USB_EHCI_BIG_ENDIAN_MMIO
144 ---help---
145 Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's.
146 If unsure, say N.
147
08d3c18e
JZ
148config XPS_USB_HCD_XILINX
149 bool "Use Xilinx usb host EHCI controller core"
42443dc4 150 depends on (PPC32 || MICROBLAZE)
08d3c18e
JZ
151 select USB_EHCI_BIG_ENDIAN_DESC
152 select USB_EHCI_BIG_ENDIAN_MMIO
153 ---help---
f54619f2 154 Xilinx xps USB host controller core is EHCI compliant and has
08d3c18e
JZ
155 transaction translator built-in. It can be configured to either
156 support both high speed and full speed devices, or high speed
157 devices only.
158
ba02978a 159config USB_EHCI_FSL
ca07e1c1 160 tristate "Support for Freescale PPC on-chip EHCI USB controller"
42443dc4 161 depends on FSL_SOC
ba02978a 162 select USB_EHCI_ROOT_HUB_TT
018b97d0 163 select USB_FSL_MPH_DR_OF if OF
7e8d5cd9
DM
164 ---help---
165 Variation of ARC USB block used in some Freescale chips.
166
167config USB_EHCI_MXC
dba63b2f 168 tristate "Support for Freescale i.MX on-chip EHCI USB controller"
42443dc4 169 depends on ARCH_MXC
7e8d5cd9 170 select USB_EHCI_ROOT_HUB_TT
ba02978a
LY
171 ---help---
172 Variation of ARC USB block used in some Freescale chips.
173
7f124f4b 174config USB_EHCI_HCD_OMAP
54a41966 175 tristate "EHCI support for OMAP3 and later chips"
42443dc4 176 depends on ARCH_OMAP
88650d62 177 select NOP_USB_XCEIV
7f124f4b 178 default y
d132d7f6 179 ---help---
7f124f4b
KM
180 Enables support for the on-chip EHCI controller on
181 OMAP3 and later chips.
182
a76dd463
MG
183config USB_EHCI_HCD_ORION
184 tristate "Support for Marvell EBU on-chip EHCI USB controller"
185 depends on USB_EHCI_HCD && PLAT_ORION
186 default y
187 ---help---
188 Enables support for the on-chip EHCI controller on Marvell's
189 embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP,
190 Armada 370. This is different from the EHCI implementation
191 on Marvell's mobile PXA and MMP SoC, see "EHCI support for
192 Marvell PXA/MMP USB controller" for those.
193
7675d6ba
MG
194config USB_EHCI_HCD_SPEAR
195 tristate "Support for ST SPEAr on-chip EHCI USB controller"
196 depends on USB_EHCI_HCD && PLAT_SPEAR
197 default y
198 ---help---
199 Enables support for the on-chip EHCI controller on
200 ST SPEAr chips.
201
905e300e
AB
202config USB_EHCI_HCD_STI
203 tristate "Support for ST STiHxxx on-chip EHCI USB controller"
204 depends on ARCH_STI && OF
205 select GENERIC_PHY
206 select USB_EHCI_HCD_PLATFORM
207 help
208 Enable support for the on-chip EHCI controller found on
209 STMicroelectronics consumer electronics SoC's.
210
97736961
MG
211config USB_EHCI_HCD_AT91
212 tristate "Support for Atmel on-chip EHCI USB controller"
213 depends on USB_EHCI_HCD && ARCH_AT91
214 default y
215 ---help---
216 Enables support for the on-chip EHCI controller on
217 Atmel chips.
218
b0848aea 219config USB_EHCI_MSM
8c68e84f 220 tristate "Support for Qualcomm QSD/MSM on-chip EHCI USB controller"
ebfd44ff 221 depends on ARCH_QCOM
b0848aea 222 select USB_EHCI_ROOT_HUB_TT
b0848aea
PK
223 ---help---
224 Enables support for the USB Host controller present on the
225 Qualcomm chipsets. Root Hub has inbuilt TT.
226 This driver depends on OTG driver for PHY initialization,
8bb6a164 227 clock management, powering up VBUS, and power management.
8cf28f1f
PK
228 This driver is not supported on boards like trout which
229 has an external PHY.
b0848aea 230
79ad3b5a 231config USB_EHCI_TEGRA
9fc5f24e 232 tristate "NVIDIA Tegra HCD support"
42443dc4 233 depends on ARCH_TEGRA
79ad3b5a 234 select USB_EHCI_ROOT_HUB_TT
75f32ec1 235 select USB_PHY
a262e87f
AB
236 select USB_ULPI
237 select USB_ULPI_VIEWPORT
79ad3b5a
BG
238 help
239 This driver enables support for the internal USB Host Controllers
240 found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.
241
da0e8fb0
VB
242config USB_EHCI_HCD_PPC_OF
243 bool "EHCI support for PPC USB controller on OF platform bus"
c31316cb 244 depends on PPC
da0e8fb0
VB
245 default y
246 ---help---
247 Enables support for the USB controller present on the PowerPC
248 OpenFirmware platform bus.
249
60b0bf0f
YS
250config USB_EHCI_SH
251 bool "EHCI support for SuperH USB controller"
42443dc4 252 depends on SUPERH
60b0bf0f
YS
253 ---help---
254 Enables support for the on-chip EHCI controller on the SuperH.
255 If you use the PCI EHCI controller, this option is not necessary.
256
29824c16 257config USB_EHCI_EXYNOS
7edb3daf 258 tristate "EHCI support for Samsung S5P/EXYNOS SoC Series"
cd6e245a 259 depends on ARCH_S5PV210 || ARCH_EXYNOS
e9a92b2b 260 help
29824c16 261 Enable support for the Samsung Exynos SOC's on-chip EHCI controller.
1bcc5aa8 262
3a082ec9 263config USB_EHCI_MV
a76dd463 264 bool "EHCI support for Marvell PXA/MMP USB controller"
42443dc4 265 depends on (ARCH_PXA || ARCH_MMP)
3a082ec9
NZ
266 select USB_EHCI_ROOT_HUB_TT
267 ---help---
268 Enables support for Marvell (including PXA and MMP series) on-chip
269 USB SPH and OTG controller. SPH is a single port host, and it can
270 only be EHCI host. OTG is controller that can switch to host mode.
a76dd463
MG
271 Note that this driver will not work on Marvell's other EHCI
272 controller used by the EBU-type SoCs including Orion, Kirkwood,
273 Dova, Armada 370 and Armada XP. See "Support for Marvell EBU
274 on-chip EHCI USB controller" for those.
3a082ec9 275
586dfc8c 276config USB_W90X900_EHCI
a60f4f81 277 tristate "W90X900(W90P910) EHCI support"
42443dc4 278 depends on ARCH_W90X900
586dfc8c
WZ
279 ---help---
280 Enables support for the W90X900 USB controller
281
760efe69 282config USB_CNS3XXX_EHCI
f3a958d3 283 bool "Cavium CNS3XXX EHCI Module (DEPRECATED)"
42443dc4 284 depends on ARCH_CNS3XXX
f3a958d3 285 select USB_EHCI_HCD_PLATFORM
760efe69 286 ---help---
f3a958d3
FF
287 This option is deprecated now and the driver was removed, use
288 USB_EHCI_HCD_PLATFORM instead.
289
760efe69
ML
290 Enable support for the CNS3XXX SOC's on-chip EHCI controller.
291 It is needed for high-speed (480Mbit/sec) USB 2.0 device
292 support.
293
502fa841 294config USB_EHCI_ATH79
5d98cd4e 295 bool "EHCI support for AR7XXX/AR9XXX SoCs (DEPRECATED)"
42443dc4 296 depends on (SOC_AR71XX || SOC_AR724X || SOC_AR913X || SOC_AR933X)
502fa841 297 select USB_EHCI_ROOT_HUB_TT
5d98cd4e 298 select USB_EHCI_HCD_PLATFORM
502fa841
GJ
299 default y
300 ---help---
5d98cd4e
HM
301 This option is deprecated now and the driver was removed, use
302 USB_EHCI_HCD_PLATFORM instead.
303
502fa841
GJ
304 Enables support for the built-in EHCI controller present
305 on the Atheros AR7XXX/AR9XXX SoCs.
306
42443dc4
FF
307config USB_EHCI_HCD_PLATFORM
308 tristate "Generic EHCI driver for a platform device"
309 default n
310 ---help---
311 Adds an EHCI host driver for a generic platform device, which
312 provides a memory space and an irq.
313
314 If unsure, say N.
315
316config USB_OCTEON_EHCI
2193dda5 317 bool "Octeon on-chip EHCI support (DEPRECATED)"
9ddebc46 318 depends on CAVIUM_OCTEON_SOC
42443dc4 319 default n
df115f3e 320 select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
2193dda5 321 select USB_EHCI_HCD_PLATFORM
42443dc4 322 help
2193dda5
AS
323 This option is deprecated now and the driver was removed, use
324 USB_EHCI_HCD_PLATFORM instead.
325
42443dc4
FF
326 Enable support for the Octeon II SOC's on-chip EHCI
327 controller. It is needed for high-speed (480Mbit/sec)
328 USB 2.0 device support. All CN6XXX based chips with USB are
329 supported.
330
331endif # USB_EHCI_HCD
332
b92a78e5
RG
333config USB_OXU210HP_HCD
334 tristate "OXU210HP HCD support"
b92a78e5
RG
335 ---help---
336 The OXU210HP is an USB host/OTG/device controller. Enable this
337 option if your board has this chip. If unsure, say N.
338
339 This driver does not support isochronous transfers and doesn't
340 implement OTG nor USB device controllers.
341
342 To compile this driver as a module, choose M here: the
343 module will be called oxu210hp-hcd.
344
4808a1c0
OK
345config USB_ISP116X_HCD
346 tristate "ISP116X HCD support"
ca23d3b7 347 depends on HAS_IOMEM
4808a1c0
OK
348 ---help---
349 The ISP1160 and ISP1161 chips are USB host controllers. Enable this
350 option if your board has this chip. If unsure, say N.
351
352 This driver does not support isochronous transfers.
353
354 To compile this driver as a module, choose M here: the
355 module will be called isp116x-hcd.
356
a9d43091
LW
357config USB_ISP1362_HCD
358 tristate "ISP1362 HCD support"
a9d43091
LW
359 ---help---
360 Supports the Philips ISP1362 chip as a host controller
361
362 This driver does not support isochronous transfers.
363
364 To compile this driver as a module, choose M here: the
365 module will be called isp1362-hcd.
366
7d50195f
FHC
367config USB_FOTG210_HCD
368 tristate "FOTG210 HCD support"
369 depends on USB
7d50195f
FHC
370 ---help---
371 Faraday FOTG210 is an OTG controller which can be configured as
372 an USB2.0 host. It is designed to meet USB2.0 EHCI specification
373 with minor modification.
374
375 To compile this driver as a module, choose M here: the
376 module will be called fotg210-hcd.
377
2d53139f
DM
378config USB_MAX3421_HCD
379 tristate "MAX3421 HCD (USB-over-SPI) support"
380 depends on USB && SPI
381 ---help---
382 The Maxim MAX3421E chip supports standard USB 2.0-compliant
383 full-speed devices either in host or peripheral mode. This
384 driver supports the host-mode of the MAX3421E only.
385
386 To compile this driver as a module, choose M here: the module will
387 be called max3421-hcd.
388
1da177e4 389config USB_OHCI_HCD
c1117afb 390 tristate "OHCI HCD (USB 1.1) support"
1da177e4
LT
391 ---help---
392 The Open Host Controller Interface (OHCI) is a standard for accessing
393 USB 1.1 host controller hardware. It does more in hardware than Intel's
394 UHCI specification. If your USB host controller follows the OHCI spec,
395 say Y. On most non-x86 systems, and on x86 hardware that's not using a
396 USB controller from Intel or VIA, this is appropriate. If your host
397 controller doesn't use PCI, this is probably appropriate. For a PCI
398 based system where you're not sure, the "lspci -v" entry will list the
399 right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI.
400
401 To compile this driver as a module, choose M here: the
402 module will be called ohci-hcd.
403
3ad3ca05
FF
404if USB_OHCI_HCD
405
968b448b 406config USB_OHCI_HCD_OMAP1
de57a154 407 tristate "OHCI support for OMAP1/2 chips"
3ad3ca05 408 depends on ARCH_OMAP1
38e0c109 409 depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3)
968b448b
AG
410 default y
411 ---help---
412 Enables support for the OHCI controller on OMAP1/2 chips.
413
1cc6ac59
MG
414config USB_OHCI_HCD_SPEAR
415 tristate "Support for ST SPEAr on-chip OHCI USB controller"
416 depends on USB_OHCI_HCD && PLAT_SPEAR
417 default y
418 ---help---
419 Enables support for the on-chip OHCI controller on
420 ST SPEAr chips.
421
905e300e
AB
422config USB_OHCI_HCD_STI
423 tristate "Support for ST STiHxxx on-chip OHCI USB controller"
424 depends on ARCH_STI && OF
425 select GENERIC_PHY
426 select USB_OHCI_HCD_PLATFORM
427 help
428 Enable support for the on-chip OHCI controller found on
429 STMicroelectronics consumer electronics SoC's.
430
f23b71f3
MG
431config USB_OHCI_HCD_S3C2410
432 tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series"
433 depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX)
434 default y
435 ---help---
436 Enables support for the on-chip OHCI controller on
437 S3C24xx/S3C64xx chips.
438
30330b8f
MG
439config USB_OHCI_HCD_LPC32XX
440 tristate "Support for LPC on-chip OHCI USB controller"
441 depends on USB_OHCI_HCD && ARCH_LPC32XX
38e0c109 442 depends on USB_ISP1301
30330b8f
MG
443 default y
444 ---help---
445 Enables support for the on-chip OHCI controller on
446 NXP chips.
447
b8ad5c37
MG
448config USB_OHCI_HCD_PXA27X
449 tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller"
450 depends on USB_OHCI_HCD && (PXA27x || PXA3xx)
451 default y
452 ---help---
453 Enables support for the on-chip OHCI controller on
454 PXA27x/PXA3xx chips.
455
e3825b48 456config USB_OHCI_HCD_AT91
be12be54
AB
457 tristate "Support for Atmel on-chip OHCI USB controller"
458 depends on USB_OHCI_HCD && ARCH_AT91 && OF
459 default y
460 ---help---
e3825b48
MG
461 Enables support for the on-chip OHCI controller on
462 Atmel chips.
463
968b448b 464config USB_OHCI_HCD_OMAP3
3a48fef1 465 tristate "OHCI support for OMAP3 and later chips"
3ad3ca05 466 depends on (ARCH_OMAP3 || ARCH_OMAP4)
968b448b
AG
467 default y
468 ---help---
469 Enables support for the on-chip OHCI controller on
470 OMAP3 and later chips.
471
068413e9
AB
472config USB_OHCI_HCD_DAVINCI
473 bool "OHCI support for TI DaVinci DA8xx"
474 depends on ARCH_DAVINCI_DA8XX
475 depends on USB_OHCI_HCD=y
476 default y
477 help
478 Enables support for the DaVinci DA8xx integrated OHCI
479 controller. This driver cannot currently be a loadable
480 module because it lacks a proper PHY abstraction.
481
90e6ca5c 482config USB_OHCI_ATH79
5d98cd4e 483 bool "USB OHCI support for the Atheros AR71XX/AR7240 SoCs (DEPRECATED)"
3ad3ca05 484 depends on (SOC_AR71XX || SOC_AR724X)
5d98cd4e 485 select USB_OHCI_HCD_PLATFORM
90e6ca5c
GJ
486 default y
487 help
5d98cd4e
HM
488 This option is deprecated now and the driver was removed, use
489 USB_OHCI_HCD_PLATFORM instead.
490
90e6ca5c
GJ
491 Enables support for the built-in OHCI controller present on the
492 Atheros AR71XX/AR7240 SoCs.
493
495a678f 494config USB_OHCI_HCD_PPC_OF_BE
45e83889 495 bool "OHCI support for OF platform bus (big endian)"
c31316cb 496 depends on PPC
495a678f
SM
497 select USB_OHCI_BIG_ENDIAN_DESC
498 select USB_OHCI_BIG_ENDIAN_MMIO
45e83889
AB
499 ---help---
500 Enables support for big-endian USB controllers present on the
501 OpenFirmware platform bus.
495a678f
SM
502
503config USB_OHCI_HCD_PPC_OF_LE
45e83889 504 bool "OHCI support for OF platform bus (little endian)"
c31316cb 505 depends on PPC
495a678f 506 select USB_OHCI_LITTLE_ENDIAN
45e83889
AB
507 ---help---
508 Enables support for little-endian USB controllers present on the
509 OpenFirmware platform bus.
510
511config USB_OHCI_HCD_PPC_OF
512 bool
c31316cb 513 depends on PPC
45e83889 514 default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
495a678f 515
1da177e4 516config USB_OHCI_HCD_PCI
c1117afb
MG
517 tristate "OHCI support for PCI-bus USB controllers"
518 depends on PCI
1da177e4
LT
519 default y
520 select USB_OHCI_LITTLE_ENDIAN
521 ---help---
522 Enables support for PCI-bus plug-in USB controller cards.
523 If unsure, say Y.
524
c604e851 525config USB_OHCI_HCD_SSB
259b83a3 526 bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
3ad3ca05 527 depends on (SSB = y || SSB = USB_OHCI_HCD)
259b83a3
HM
528 select USB_HCD_SSB
529 select USB_OHCI_HCD_PLATFORM
c604e851
MB
530 default n
531 ---help---
259b83a3
HM
532 This option is deprecated now and the driver was removed, use
533 USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead.
534
c604e851
MB
535 Support for the Sonics Silicon Backplane (SSB) attached
536 Broadcom USB OHCI core.
537
538 This device is present in some embedded devices with
539 Broadcom based SSB bus.
540
541 If unsure, say N.
542
60b0bf0f 543config USB_OHCI_SH
231a72e0 544 bool "OHCI support for SuperH USB controller (DEPRECATED)"
3ad3ca05 545 depends on SUPERH
231a72e0 546 select USB_OHCI_HCD_PLATFORM
60b0bf0f 547 ---help---
231a72e0
FF
548 This option is deprecated now and the driver was removed, use
549 USB_OHCI_HCD_PLATFORM instead.
550
60b0bf0f
YS
551 Enables support for the on-chip OHCI controller on the SuperH.
552 If you use the PCI OHCI controller, this option is not necessary.
553
62194244 554config USB_OHCI_EXYNOS
50a97e05 555 tristate "OHCI support for Samsung S5P/EXYNOS SoC Series"
cd6e245a 556 depends on ARCH_S5PV210 || ARCH_EXYNOS
62194244
JH
557 help
558 Enable support for the Samsung Exynos SOC's on-chip OHCI controller.
559
760efe69 560config USB_CNS3XXX_OHCI
c23920b0 561 bool "Cavium CNS3XXX OHCI Module (DEPRECATED)"
3ad3ca05 562 depends on ARCH_CNS3XXX
c23920b0 563 select USB_OHCI_HCD_PLATFORM
760efe69 564 ---help---
c23920b0
FF
565 This option is deprecated now and the driver was removed, use
566 USB_OHCI_HCD_PLATFORM instead.
567
760efe69
ML
568 Enable support for the CNS3XXX SOC's on-chip OHCI controller.
569 It is needed for low-speed USB 1.0 device support.
570
fa3364b5 571config USB_OHCI_HCD_PLATFORM
928fb68e 572 tristate "Generic OHCI driver for a platform device"
fa3364b5
HM
573 default n
574 ---help---
575 Adds an OHCI host driver for a generic platform device, which
898d828b 576 provides a memory space and an irq.
fa3364b5
HM
577
578 If unsure, say N.
579
3ad3ca05 580config USB_OCTEON_OHCI
2193dda5 581 bool "Octeon on-chip OHCI support (DEPRECATED)"
9ddebc46 582 depends on CAVIUM_OCTEON_SOC
3ad3ca05 583 default USB_OCTEON_EHCI
df115f3e 584 select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
3ad3ca05 585 select USB_OHCI_LITTLE_ENDIAN
2193dda5 586 select USB_OHCI_HCD_PLATFORM
3ad3ca05 587 help
2193dda5
AS
588 This option is deprecated now and the driver was removed, use
589 USB_OHCI_HCD_PLATFORM instead.
590
3ad3ca05
FF
591 Enable support for the Octeon II SOC's on-chip OHCI
592 controller. It is needed for low-speed USB 1.0 device
593 support. All CN6XXX based chips with USB are supported.
594
3ad3ca05
FF
595endif # USB_OHCI_HCD
596
1da177e4
LT
597config USB_UHCI_HCD
598 tristate "UHCI HCD (most Intel and VIA) support"
ccd9509a 599 depends on PCI || USB_UHCI_SUPPORT_NON_PCI_HC
1da177e4
LT
600 ---help---
601 The Universal Host Controller Interface is a standard by Intel for
602 accessing the USB hardware in the PC (which is also called the USB
603 host controller). If your USB host controller conforms to this
604 standard, you may want to say Y, but see below. All recent boards
605 with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
606 i810, i820) conform to this standard. Also all VIA PCI chipsets
607 (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
3db7739c
JA
608 133) and LEON/GRLIB SoCs with the GRUSBHC controller.
609 If unsure, say Y.
1da177e4
LT
610
611 To compile this driver as a module, choose M here: the
612 module will be called uhci-hcd.
613
d3219d1c
JA
614config USB_UHCI_SUPPORT_NON_PCI_HC
615 bool
ccd9509a 616 default y if (SPARC_LEON || USB_UHCI_PLATFORM)
100d4597
TP
617
618config USB_UHCI_PLATFORM
ccd9509a 619 bool
100d4597 620 default y if ARCH_VT8500
d3219d1c 621
8452c674 622config USB_UHCI_BIG_ENDIAN_MMIO
51e2f62f 623 bool
ccd9509a 624 default y if SPARC_LEON
51e2f62f
JA
625
626config USB_UHCI_BIG_ENDIAN_DESC
8452c674 627 bool
ccd9509a 628 default y if SPARC_LEON
8452c674 629
236dd4d1
AV
630config USB_FHCI_HCD
631 tristate "Freescale QE USB Host Controller support"
25e11ec4 632 depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
236dd4d1
AV
633 select FSL_GTM
634 select QE_USB
635 help
636 This driver enables support for Freescale QE USB Host Controller
637 (as found on MPC8360 and MPC8323 processors), the driver supports
638 Full and Low Speed USB.
639
640config FHCI_DEBUG
641 bool "Freescale QE USB Host Controller debug support"
642 depends on USB_FHCI_HCD && DEBUG_FS
643 help
644 Say "y" to see some FHCI debug information and statistics
25985edc 645 through debugfs.
236dd4d1 646
d774efea
TO
647config USB_U132_HCD
648 tristate "Elan U132 Adapter Host Controller"
25e11ec4 649 depends on USB_FTDI_ELAN
d774efea
TO
650 help
651 The U132 adapter is a USB to CardBus adapter specifically designed
652 for PC cards that contain an OHCI host controller. Typical PC cards
653 are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
654 adapter will *NOT* work with PC cards that do not contain an OHCI
655 controller.
656
3cb2fccc 657 For those PC cards that contain multiple OHCI controllers only the
d774efea
TO
658 first one is used.
659
660 The driver consists of two modules, the "ftdi-elan" module is a
661 USB client driver that interfaces to the FTDI chip within ELAN's
662 USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
663 controller driver that talks to the OHCI controller within the
664 CardBus cards that are inserted in the U132 adapter.
665
666 This driver has been tested with a CardBus OHCI USB adapter, and
667 worked with a USB PEN Drive inserted into the first USB port of
668 the PCCARD. A rather pointless thing to do, but useful for testing.
669
670 It is safe to say M here.
671
672 See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
673
1da177e4
LT
674config USB_SL811_HCD
675 tristate "SL811HS HCD support"
cfa33eae 676 depends on HAS_IOMEM
1da177e4
LT
677 help
678 The SL811HS is a single-port USB controller that supports either
679 host side or peripheral side roles. Enable this option if your
680 board has this chip, and you want to use it as a host controller.
681 If unsure, say N.
682
683 To compile this driver as a module, choose M here: the
684 module will be called sl811-hcd.
685
ad7c56f0
MF
686config USB_SL811_HCD_ISO
687 bool "partial ISO support"
688 depends on USB_SL811_HCD
689 help
690 The driver doesn't support iso_frame_desc (yet), but for some simple
691 devices that just queue one ISO frame per URB, then ISO transfers
692 "should" work using the normal urb status fields.
693
694 If unsure, say N.
695
c6de2b64
DB
696config USB_SL811_CS
697 tristate "CF/PCMCIA support for SL811HS HCD"
698 depends on USB_SL811_HCD && PCMCIA
c6de2b64
DB
699 help
700 Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
701 REX-CFU1U CF card (often used with PDAs). If unsure, say N.
702
703 To compile this driver as a module, choose M here: the
704 module will be called "sl811_cs".
705
5d304358 706config USB_R8A66597_HCD
fa0de2b6 707 tristate "R8A66597 HCD support"
e37a6c92 708 depends on HAS_IOMEM
5d304358
YS
709 help
710 The R8A66597 is a USB 2.0 host and peripheral controller.
711
712 Enable this option if your board has this chip, and you want
713 to use it as a host controller. If unsure, say N.
714
715 To compile this driver as a module, choose M here: the
716 module will be called r8a66597-hcd.
717
034d7c13
KM
718config USB_RENESAS_USBHS_HCD
719 tristate "Renesas USBHS HCD support"
034d7c13
KM
720 depends on USB_RENESAS_USBHS
721 help
722 The Renesas USBHS is a USB 2.0 host and peripheral controller.
723
724 Enable this option if your board has this chip, and you want
725 to use it as a host controller. If unsure, say N.
726
727 To compile this driver as a module, choose M here: the
728 module will be called renesas-usbhs.
729
7e6133aa 730config USB_WHCI_HCD
eb83be98 731 tristate "Wireless USB Host Controller Interface (WHCI) driver"
36f8ecbf 732 depends on PCI && USB && UWB
7e6133aa
DV
733 select USB_WUSB
734 select UWB_WHCI
735 help
736 A driver for PCI-based Wireless USB Host Controllers that are
737 compliant with the WHCI specification.
738
739 To compile this driver a module, choose M here: the module
740 will be called "whci-hcd".
d09318b8
IPG
741
742config USB_HWA_HCD
eb83be98 743 tristate "Host Wire Adapter (HWA) driver"
cbb67199 744 depends on USB && UWB
d09318b8
IPG
745 select USB_WUSB
746 select UWB_HWA
747 help
748 This driver enables you to connect Wireless USB devices to
749 your system using a Host Wire Adaptor USB dongle. This is an
750 UWB Radio Controller and WUSB Host Controller connected to
751 your machine via USB (specified in WUSB1.0).
752
753 To compile this driver a module, choose M here: the module
754 will be called "hwa-hc".
23d3e7a6
MF
755
756config USB_IMX21_HCD
5de9ec4d 757 tristate "i.MX21 HCD support"
25e11ec4 758 depends on ARM && ARCH_MXC
23d3e7a6
MF
759 help
760 This driver enables support for the on-chip USB host in the
5de9ec4d 761 i.MX21 processor.
23d3e7a6
MF
762
763 To compile this driver as a module, choose M here: the
764 module will be called "imx21-hcd".
765
62e11d1b
HM
766config USB_HCD_BCMA
767 tristate "BCMA usb host driver"
eb83be98 768 depends on BCMA
62e11d1b
HM
769 select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
770 select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
771 help
71c421db 772 Enable support for the EHCI and OCHI host controller on an bcma bus.
62e11d1b
HM
773 It converts the bcma driver into two platform device drivers
774 for ehci and ohci.
775
776 If unsure, say N.
7043c2cc
HM
777
778config USB_HCD_SSB
779 tristate "SSB usb host driver"
eb83be98 780 depends on SSB
7043c2cc
HM
781 select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
782 select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
783 help
71c421db 784 Enable support for the EHCI and OCHI host controller on an bcma bus.
7043c2cc
HM
785 It converts the bcma driver into two platform device drivers
786 for ehci and ohci.
787
788 If unsure, say N.
726a85ca
JP
789
790config USB_HCD_TEST_MODE
791 bool "HCD test mode support"
792 ---help---
793 Say 'Y' to enable additional software test modes that may be
794 supported by the host controller drivers.
795
796 One such test mode is the Embedded High-speed Host Electrical Test
797 (EHSET) for EHCI host controller hardware, specifically the "Single
798 Step Set Feature" test. Typically this will be enabled for On-the-Go
799 or embedded hosts that need to undergo USB-IF compliance testing with
800 the aid of special testing hardware. In the future, this may expand
801 to include other tests that require support from a HCD driver.
802
803 This option is of interest only to developers who need to validate
804 their USB hardware designs. It is not needed for normal use. If
805 unsure, say N.