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