]> git.karo-electronics.de Git - mv-sheeva.git/blob - drivers/usb/host/Kconfig
Merge branch 'for-2.6.38' of git://linux-nfs.org/~bfields/linux
[mv-sheeva.git] / drivers / usb / host / Kconfig
1 #
2 # USB Host Controller Drivers
3 #
4 comment "USB Host Controller Drivers"
5         depends on USB
6
7 config USB_C67X00_HCD
8         tristate "Cypress C67x00 HCD support"
9         depends on USB
10         help
11           The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role
12           host/peripheral/OTG USB controllers.
13
14           Enable this option to support this chip in host controller mode.
15           If unsure, say N.
16
17           To compile this driver as a module, choose M here: the
18           module will be called c67x00.
19
20 config USB_XHCI_HCD
21         tristate "xHCI HCD (USB 3.0) support (EXPERIMENTAL)"
22         depends on USB && PCI && EXPERIMENTAL
23         ---help---
24           The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
25           "SuperSpeed" host controller hardware.
26
27           To compile this driver as a module, choose M here: the
28           module will be called xhci-hcd.
29
30 config USB_XHCI_HCD_DEBUGGING
31         bool "Debugging for the xHCI host controller"
32         depends on USB_XHCI_HCD
33         ---help---
34           Say 'Y' to turn on debugging for the xHCI host controller driver.
35           This will spew debugging output, even in interrupt context.
36           This should only be used for debugging xHCI driver bugs.
37
38           If unsure, say N.
39
40 config USB_EHCI_HCD
41         tristate "EHCI HCD (USB 2.0) support"
42         depends on USB && USB_ARCH_HAS_EHCI
43         ---help---
44           The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
45           "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
46           If your USB host controller supports USB 2.0, you will likely want to
47           configure this Host Controller Driver.
48
49           EHCI controllers are packaged with "companion" host controllers (OHCI
50           or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
51           will connect to EHCI if the device is high speed, otherwise they
52           connect to a companion controller.  If you configure EHCI, you should
53           probably configure the OHCI (for NEC and some other vendors) USB Host
54           Controller Driver or UHCI (for Via motherboards) Host Controller
55           Driver too.
56
57           You may want to read <file:Documentation/usb/ehci.txt>.
58
59           To compile this driver as a module, choose M here: the
60           module will be called ehci-hcd.
61
62 config USB_EHCI_ROOT_HUB_TT
63         bool "Root Hub Transaction Translators"
64         depends on USB_EHCI_HCD
65         ---help---
66           Some EHCI chips have vendor-specific extensions to integrate
67           transaction translators, so that no OHCI or UHCI companion
68           controller is needed.  It's safe to say "y" even if your
69           controller doesn't support this feature.
70
71           This supports the EHCI implementation that's originally
72           from ARC, and has since changed hands a few times.
73
74 config USB_EHCI_TT_NEWSCHED
75         bool "Improved Transaction Translator scheduling"
76         depends on USB_EHCI_HCD
77         default y
78         ---help---
79           This changes the periodic scheduling code to fill more of the low
80           and full speed bandwidth available from the Transaction Translator
81           (TT) in USB 2.0 hubs.  Without this, only one transfer will be
82           issued in each microframe, significantly reducing the number of
83           periodic low/fullspeed transfers possible.
84
85           If you have multiple periodic low/fullspeed devices connected to a
86           highspeed USB hub which is connected to a highspeed USB Host
87           Controller, and some of those devices will not work correctly
88           (possibly due to "ENOSPC" or "-28" errors), say Y.  Conversely, if
89           you have only one such device and it doesn't work, you could try
90           saying N.
91
92           If unsure, say Y.
93
94 config USB_EHCI_BIG_ENDIAN_MMIO
95         bool
96         depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || \
97                                     ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
98                                     PPC_MPC512x || CPU_CAVIUM_OCTEON)
99         default y
100
101 config USB_EHCI_BIG_ENDIAN_DESC
102         bool
103         depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
104                                     PPC_MPC512x)
105         default y
106
107 config XPS_USB_HCD_XILINX
108         bool "Use Xilinx usb host EHCI controller core"
109         depends on USB_EHCI_HCD && (PPC32 || MICROBLAZE)
110         select USB_EHCI_BIG_ENDIAN_DESC
111         select USB_EHCI_BIG_ENDIAN_MMIO
112         ---help---
113                 Xilinx xps USB host controller core is EHCI compilant and has
114                 transaction translator built-in. It can be configured to either
115                 support both high speed and full speed devices, or high speed
116                 devices only.
117
118 config USB_FSL_MPH_DR_OF
119         tristate
120
121 config USB_EHCI_FSL
122         bool "Support for Freescale on-chip EHCI USB controller"
123         depends on USB_EHCI_HCD && FSL_SOC
124         select USB_EHCI_ROOT_HUB_TT
125         select USB_FSL_MPH_DR_OF if OF
126         ---help---
127           Variation of ARC USB block used in some Freescale chips.
128
129 config USB_EHCI_MXC
130         bool "Support for Freescale on-chip EHCI USB controller"
131         depends on USB_EHCI_HCD && ARCH_MXC
132         select USB_EHCI_ROOT_HUB_TT
133         ---help---
134           Variation of ARC USB block used in some Freescale chips.
135
136 config USB_EHCI_HCD_OMAP
137         bool "EHCI support for OMAP3 and later chips"
138         depends on USB_EHCI_HCD && ARCH_OMAP
139         default y
140         --- help ---
141           Enables support for the on-chip EHCI controller on
142           OMAP3 and later chips.
143
144 config USB_EHCI_MSM
145         bool "Support for MSM on-chip EHCI USB controller"
146         depends on USB_EHCI_HCD && ARCH_MSM
147         select USB_EHCI_ROOT_HUB_TT
148         select USB_MSM_OTG_72K
149         ---help---
150           Enables support for the USB Host controller present on the
151           Qualcomm chipsets. Root Hub has inbuilt TT.
152           This driver depends on OTG driver for PHY initialization,
153           clock management, powering up VBUS, and power management.
154           This driver is not supported on boards like trout which
155           has an external PHY.
156
157 config USB_EHCI_HCD_PPC_OF
158         bool "EHCI support for PPC USB controller on OF platform bus"
159         depends on USB_EHCI_HCD && PPC_OF
160         default y
161         ---help---
162           Enables support for the USB controller present on the PowerPC
163           OpenFirmware platform bus.
164
165 config USB_W90X900_EHCI
166         bool "W90X900(W90P910) EHCI support"
167         depends on USB_EHCI_HCD && ARCH_W90X900
168         ---help---
169                 Enables support for the W90X900 USB controller
170
171 config USB_CNS3XXX_EHCI
172         bool "Cavium CNS3XXX EHCI Module"
173         depends on USB_EHCI_HCD && ARCH_CNS3XXX
174         ---help---
175           Enable support for the CNS3XXX SOC's on-chip EHCI controller.
176           It is needed for high-speed (480Mbit/sec) USB 2.0 device
177           support.
178
179 config USB_OXU210HP_HCD
180         tristate "OXU210HP HCD support"
181         depends on USB
182         ---help---
183           The OXU210HP is an USB host/OTG/device controller. Enable this
184           option if your board has this chip. If unsure, say N.
185
186           This driver does not support isochronous transfers and doesn't
187           implement OTG nor USB device controllers.
188
189           To compile this driver as a module, choose M here: the
190           module will be called oxu210hp-hcd.
191
192 config USB_ISP116X_HCD
193         tristate "ISP116X HCD support"
194         depends on USB
195         ---help---
196           The ISP1160 and ISP1161 chips are USB host controllers. Enable this
197           option if your board has this chip. If unsure, say N.
198
199           This driver does not support isochronous transfers.
200
201           To compile this driver as a module, choose M here: the
202           module will be called isp116x-hcd.
203
204 config USB_ISP1760_HCD
205         tristate "ISP 1760 HCD support"
206         depends on USB && EXPERIMENTAL
207         ---help---
208           The ISP1760 chip is a USB 2.0 host controller.
209
210           This driver does not support isochronous transfers or OTG.
211           This USB controller is usually attached to a non-DMA-Master
212           capable bus. NXP's eval kit brings this chip on PCI card
213           where the chip itself is behind a PLB to simulate such
214           a bus.
215
216           To compile this driver as a module, choose M here: the
217           module will be called isp1760.
218
219 config USB_ISP1362_HCD
220         tristate "ISP1362 HCD support"
221         depends on USB
222         default N
223         ---help---
224           Supports the Philips ISP1362 chip as a host controller
225
226           This driver does not support isochronous transfers.
227
228           To compile this driver as a module, choose M here: the
229           module will be called isp1362-hcd.
230
231 config USB_OHCI_HCD
232         tristate "OHCI HCD support"
233         depends on USB && USB_ARCH_HAS_OHCI
234         select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
235         select USB_OTG_UTILS if ARCH_OMAP
236         ---help---
237           The Open Host Controller Interface (OHCI) is a standard for accessing
238           USB 1.1 host controller hardware.  It does more in hardware than Intel's
239           UHCI specification.  If your USB host controller follows the OHCI spec,
240           say Y.  On most non-x86 systems, and on x86 hardware that's not using a
241           USB controller from Intel or VIA, this is appropriate.  If your host
242           controller doesn't use PCI, this is probably appropriate.  For a PCI
243           based system where you're not sure, the "lspci -v" entry will list the
244           right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
245
246           To compile this driver as a module, choose M here: the
247           module will be called ohci-hcd.
248
249 config USB_OHCI_HCD_OMAP1
250         bool "OHCI support for OMAP1/2 chips"
251         depends on USB_OHCI_HCD && (ARCH_OMAP1 || ARCH_OMAP2)
252         default y
253         ---help---
254           Enables support for the OHCI controller on OMAP1/2 chips.
255
256 config USB_OHCI_HCD_OMAP3
257         bool "OHCI support for OMAP3 and later chips"
258         depends on USB_OHCI_HCD && (ARCH_OMAP3 || ARCH_OMAP4)
259         default y
260         ---help---
261           Enables support for the on-chip OHCI controller on
262           OMAP3 and later chips.
263
264 config USB_OHCI_HCD_PPC_SOC
265         bool "OHCI support for on-chip PPC USB controller"
266         depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx)
267         default y
268         select USB_OHCI_BIG_ENDIAN_DESC
269         select USB_OHCI_BIG_ENDIAN_MMIO
270         ---help---
271           Enables support for the USB controller on the MPC52xx or
272           STB03xxx processor chip.  If unsure, say Y.
273
274 config USB_OHCI_HCD_PPC_OF_BE
275         bool "OHCI support for OF platform bus (big endian)"
276         depends on USB_OHCI_HCD && PPC_OF
277         select USB_OHCI_BIG_ENDIAN_DESC
278         select USB_OHCI_BIG_ENDIAN_MMIO
279         ---help---
280           Enables support for big-endian USB controllers present on the
281           OpenFirmware platform bus.
282
283 config USB_OHCI_HCD_PPC_OF_LE
284         bool "OHCI support for OF platform bus (little endian)"
285         depends on USB_OHCI_HCD && PPC_OF
286         select USB_OHCI_LITTLE_ENDIAN
287         ---help---
288           Enables support for little-endian USB controllers present on the
289           OpenFirmware platform bus.
290
291 config USB_OHCI_HCD_PPC_OF
292         bool
293         depends on USB_OHCI_HCD && PPC_OF
294         default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
295
296 config USB_OHCI_HCD_PCI
297         bool "OHCI support for PCI-bus USB controllers"
298         depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF)
299         default y
300         select USB_OHCI_LITTLE_ENDIAN
301         ---help---
302           Enables support for PCI-bus plug-in USB controller cards.
303           If unsure, say Y.
304
305 config USB_OHCI_HCD_SSB
306         bool "OHCI support for Broadcom SSB OHCI core"
307         depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD) && EXPERIMENTAL
308         default n
309         ---help---
310           Support for the Sonics Silicon Backplane (SSB) attached
311           Broadcom USB OHCI core.
312
313           This device is present in some embedded devices with
314           Broadcom based SSB bus.
315
316           If unsure, say N.
317
318 config USB_CNS3XXX_OHCI
319         bool "Cavium CNS3XXX OHCI Module"
320         depends on USB_OHCI_HCD && ARCH_CNS3XXX
321         ---help---
322           Enable support for the CNS3XXX SOC's on-chip OHCI controller.
323           It is needed for low-speed USB 1.0 device support.
324
325 config USB_OHCI_BIG_ENDIAN_DESC
326         bool
327         depends on USB_OHCI_HCD
328         default n
329
330 config USB_OHCI_BIG_ENDIAN_MMIO
331         bool
332         depends on USB_OHCI_HCD
333         default n
334
335 config USB_OHCI_LITTLE_ENDIAN
336         bool
337         depends on USB_OHCI_HCD
338         default n if STB03xxx || PPC_MPC52xx
339         default y
340
341 config USB_UHCI_HCD
342         tristate "UHCI HCD (most Intel and VIA) support"
343         depends on USB && PCI
344         ---help---
345           The Universal Host Controller Interface is a standard by Intel for
346           accessing the USB hardware in the PC (which is also called the USB
347           host controller). If your USB host controller conforms to this
348           standard, you may want to say Y, but see below. All recent boards
349           with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
350           i810, i820) conform to this standard. Also all VIA PCI chipsets
351           (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
352           133). If unsure, say Y.
353
354           To compile this driver as a module, choose M here: the
355           module will be called uhci-hcd.
356
357 config USB_FHCI_HCD
358         tristate "Freescale QE USB Host Controller support"
359         depends on USB && OF_GPIO && QE_GPIO && QUICC_ENGINE
360         select FSL_GTM
361         select QE_USB
362         help
363           This driver enables support for Freescale QE USB Host Controller
364           (as found on MPC8360 and MPC8323 processors), the driver supports
365           Full and Low Speed USB.
366
367 config FHCI_DEBUG
368         bool "Freescale QE USB Host Controller debug support"
369         depends on USB_FHCI_HCD && DEBUG_FS
370         help
371           Say "y" to see some FHCI debug information and statistics
372           throught debugfs.
373
374 config USB_U132_HCD
375         tristate "Elan U132 Adapter Host Controller"
376         depends on USB && USB_FTDI_ELAN
377         default M
378         help
379           The U132 adapter is a USB to CardBus adapter specifically designed
380           for PC cards that contain an OHCI host controller. Typical PC cards
381           are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
382           adapter will *NOT* work with PC cards that do not contain an OHCI
383           controller.
384
385           For those PC cards that contain multiple OHCI controllers only the
386           first one is used.
387
388           The driver consists of two modules, the "ftdi-elan" module is a
389           USB client driver that interfaces to the FTDI chip within ELAN's
390           USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
391           controller driver that talks to the OHCI controller within the
392           CardBus cards that are inserted in the U132 adapter.
393
394           This driver has been tested with a CardBus OHCI USB adapter, and
395           worked with a USB PEN Drive inserted into the first USB port of
396           the PCCARD. A rather pointless thing to do, but useful for testing.
397
398           It is safe to say M here.
399
400           See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
401
402 config USB_SL811_HCD
403         tristate "SL811HS HCD support"
404         depends on USB
405         help
406           The SL811HS is a single-port USB controller that supports either
407           host side or peripheral side roles.  Enable this option if your
408           board has this chip, and you want to use it as a host controller. 
409           If unsure, say N.
410
411           To compile this driver as a module, choose M here: the
412           module will be called sl811-hcd.
413
414 config USB_SL811_CS
415         tristate "CF/PCMCIA support for SL811HS HCD"
416         depends on USB_SL811_HCD && PCMCIA
417         help
418           Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
419           REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
420
421           To compile this driver as a module, choose M here: the
422           module will be called "sl811_cs".
423
424 config USB_R8A66597_HCD
425         tristate "R8A66597 HCD support"
426         depends on USB
427         help
428           The R8A66597 is a USB 2.0 host and peripheral controller.
429
430           Enable this option if your board has this chip, and you want
431           to use it as a host controller.  If unsure, say N.
432
433           To compile this driver as a module, choose M here: the
434           module will be called r8a66597-hcd.
435
436 config USB_WHCI_HCD
437         tristate "Wireless USB Host Controller Interface (WHCI) driver (EXPERIMENTAL)"
438         depends on EXPERIMENTAL
439         depends on PCI && USB
440         select USB_WUSB
441         select UWB_WHCI
442         help
443           A driver for PCI-based Wireless USB Host Controllers that are
444           compliant with the WHCI specification.
445
446           To compile this driver a module, choose M here: the module
447           will be called "whci-hcd".
448
449 config USB_HWA_HCD
450         tristate "Host Wire Adapter (HWA) driver (EXPERIMENTAL)"
451         depends on EXPERIMENTAL
452         depends on USB
453         select USB_WUSB
454         select UWB_HWA
455         help
456           This driver enables you to connect Wireless USB devices to
457           your system using a Host Wire Adaptor USB dongle. This is an
458           UWB Radio Controller and WUSB Host Controller connected to
459           your machine via USB (specified in WUSB1.0).
460
461           To compile this driver a module, choose M here: the module
462           will be called "hwa-hc".
463
464 config USB_IMX21_HCD
465        tristate "iMX21 HCD support"
466        depends on USB && ARM && MACH_MX21
467        help
468          This driver enables support for the on-chip USB host in the
469          iMX21 processor.
470
471          To compile this driver as a module, choose M here: the
472          module will be called "imx21-hcd".
473
474 config USB_OCTEON_EHCI
475         bool "Octeon on-chip EHCI support"
476         depends on USB && USB_EHCI_HCD && CPU_CAVIUM_OCTEON
477         default n
478         select USB_EHCI_BIG_ENDIAN_MMIO
479         help
480           Enable support for the Octeon II SOC's on-chip EHCI
481           controller.  It is needed for high-speed (480Mbit/sec)
482           USB 2.0 device support.  All CN6XXX based chips with USB are
483           supported.
484
485 config USB_OCTEON_OHCI
486         bool "Octeon on-chip OHCI support"
487         depends on USB && USB_OHCI_HCD && CPU_CAVIUM_OCTEON
488         default USB_OCTEON_EHCI
489         select USB_OHCI_BIG_ENDIAN_MMIO
490         select USB_OHCI_LITTLE_ENDIAN
491         help
492           Enable support for the Octeon II SOC's on-chip OHCI
493           controller.  It is needed for low-speed USB 1.0 device
494           support.  All CN6XXX based chips with USB are supported.
495
496 config USB_OCTEON2_COMMON
497         bool
498         default y if USB_OCTEON_EHCI || USB_OCTEON_OHCI