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