]> bbs.cooldavid.org Git - net-next-2.6.git/blob - drivers/usb/host/Kconfig
sh: mach-se: Rip out superfluous 7751 PIO routines.
[net-next-2.6.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 || ARCH_IXP4XX || \
97                                     XPS_USB_HCD_XILINX || PPC_MPC512x)
98         default y
99
100 config USB_EHCI_BIG_ENDIAN_DESC
101         bool
102         depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
103                                     PPC_MPC512x)
104         default y
105
106 config XPS_USB_HCD_XILINX
107         bool "Use Xilinx usb host EHCI controller core"
108         depends on USB_EHCI_HCD && (PPC32 || MICROBLAZE)
109         select USB_EHCI_BIG_ENDIAN_DESC
110         select USB_EHCI_BIG_ENDIAN_MMIO
111         ---help---
112                 Xilinx xps USB host controller core is EHCI compilant and has
113                 transaction translator built-in. It can be configured to either
114                 support both high speed and full speed devices, or high speed
115                 devices only.
116
117 config USB_FSL_MPH_DR_OF
118         tristate
119
120 config USB_EHCI_FSL
121         bool "Support for Freescale on-chip EHCI USB controller"
122         depends on USB_EHCI_HCD && FSL_SOC
123         select USB_EHCI_ROOT_HUB_TT
124         select USB_FSL_MPH_DR_OF
125         ---help---
126           Variation of ARC USB block used in some Freescale chips.
127
128 config USB_EHCI_MXC
129         bool "Support for Freescale on-chip EHCI USB controller"
130         depends on USB_EHCI_HCD && ARCH_MXC
131         select USB_EHCI_ROOT_HUB_TT
132         ---help---
133           Variation of ARC USB block used in some Freescale chips.
134
135 config USB_EHCI_HCD_PPC_OF
136         bool "EHCI support for PPC USB controller on OF platform bus"
137         depends on USB_EHCI_HCD && PPC_OF
138         default y
139         ---help---
140           Enables support for the USB controller present on the PowerPC
141           OpenFirmware platform bus.
142
143 config USB_W90X900_EHCI
144         bool "W90X900(W90P910) EHCI support"
145         depends on USB_EHCI_HCD && ARCH_W90X900
146         ---help---
147                 Enables support for the W90X900 USB controller
148
149 config USB_OXU210HP_HCD
150         tristate "OXU210HP HCD support"
151         depends on USB
152         ---help---
153           The OXU210HP is an USB host/OTG/device controller. Enable this
154           option if your board has this chip. If unsure, say N.
155
156           This driver does not support isochronous transfers and doesn't
157           implement OTG nor USB device controllers.
158
159           To compile this driver as a module, choose M here: the
160           module will be called oxu210hp-hcd.
161
162 config USB_ISP116X_HCD
163         tristate "ISP116X HCD support"
164         depends on USB
165         ---help---
166           The ISP1160 and ISP1161 chips are USB host controllers. Enable this
167           option if your board has this chip. If unsure, say N.
168
169           This driver does not support isochronous transfers.
170
171           To compile this driver as a module, choose M here: the
172           module will be called isp116x-hcd.
173
174 config USB_ISP1760_HCD
175         tristate "ISP 1760 HCD support"
176         depends on USB && EXPERIMENTAL
177         ---help---
178           The ISP1760 chip is a USB 2.0 host controller.
179
180           This driver does not support isochronous transfers or OTG.
181           This USB controller is usually attached to a non-DMA-Master
182           capable bus. NXP's eval kit brings this chip on PCI card
183           where the chip itself is behind a PLB to simulate such
184           a bus.
185
186           To compile this driver as a module, choose M here: the
187           module will be called isp1760.
188
189 config USB_ISP1362_HCD
190         tristate "ISP1362 HCD support"
191         depends on USB
192         default N
193         ---help---
194           Supports the Philips ISP1362 chip as a host controller
195
196           This driver does not support isochronous transfers.
197
198           To compile this driver as a module, choose M here: the
199           module will be called isp1362-hcd.
200
201 config USB_OHCI_HCD
202         tristate "OHCI HCD support"
203         depends on USB && USB_ARCH_HAS_OHCI
204         select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
205         select USB_OTG_UTILS if ARCH_OMAP
206         ---help---
207           The Open Host Controller Interface (OHCI) is a standard for accessing
208           USB 1.1 host controller hardware.  It does more in hardware than Intel's
209           UHCI specification.  If your USB host controller follows the OHCI spec,
210           say Y.  On most non-x86 systems, and on x86 hardware that's not using a
211           USB controller from Intel or VIA, this is appropriate.  If your host
212           controller doesn't use PCI, this is probably appropriate.  For a PCI
213           based system where you're not sure, the "lspci -v" entry will list the
214           right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
215
216           To compile this driver as a module, choose M here: the
217           module will be called ohci-hcd.
218
219 config USB_OHCI_HCD_OMAP1
220         bool "OHCI support for OMAP1/2 chips"
221         depends on USB_OHCI_HCD && (ARCH_OMAP1 || ARCH_OMAP2)
222         default y
223         ---help---
224           Enables support for the OHCI controller on OMAP1/2 chips.
225
226 config USB_OHCI_HCD_OMAP3
227         bool "OHCI support for OMAP3 and later chips"
228         depends on USB_OHCI_HCD && (ARCH_OMAP3 || ARCH_OMAP4)
229         default y
230         ---help---
231           Enables support for the on-chip OHCI controller on
232           OMAP3 and later chips.
233
234 config USB_OHCI_HCD_PPC_SOC
235         bool "OHCI support for on-chip PPC USB controller"
236         depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx)
237         default y
238         select USB_OHCI_BIG_ENDIAN_DESC
239         select USB_OHCI_BIG_ENDIAN_MMIO
240         ---help---
241           Enables support for the USB controller on the MPC52xx or
242           STB03xxx processor chip.  If unsure, say Y.
243
244 config USB_OHCI_HCD_PPC_OF_BE
245         bool "OHCI support for OF platform bus (big endian)"
246         depends on USB_OHCI_HCD && PPC_OF
247         select USB_OHCI_BIG_ENDIAN_DESC
248         select USB_OHCI_BIG_ENDIAN_MMIO
249         ---help---
250           Enables support for big-endian USB controllers present on the
251           OpenFirmware platform bus.
252
253 config USB_OHCI_HCD_PPC_OF_LE
254         bool "OHCI support for OF platform bus (little endian)"
255         depends on USB_OHCI_HCD && PPC_OF
256         select USB_OHCI_LITTLE_ENDIAN
257         ---help---
258           Enables support for little-endian USB controllers present on the
259           OpenFirmware platform bus.
260
261 config USB_OHCI_HCD_PPC_OF
262         bool
263         depends on USB_OHCI_HCD && PPC_OF
264         default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
265
266 config USB_OHCI_HCD_PCI
267         bool "OHCI support for PCI-bus USB controllers"
268         depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF)
269         default y
270         select USB_OHCI_LITTLE_ENDIAN
271         ---help---
272           Enables support for PCI-bus plug-in USB controller cards.
273           If unsure, say Y.
274
275 config USB_OHCI_HCD_SSB
276         bool "OHCI support for Broadcom SSB OHCI core"
277         depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD) && EXPERIMENTAL
278         default n
279         ---help---
280           Support for the Sonics Silicon Backplane (SSB) attached
281           Broadcom USB OHCI core.
282
283           This device is present in some embedded devices with
284           Broadcom based SSB bus.
285
286           If unsure, say N.
287
288 config USB_OHCI_BIG_ENDIAN_DESC
289         bool
290         depends on USB_OHCI_HCD
291         default n
292
293 config USB_OHCI_BIG_ENDIAN_MMIO
294         bool
295         depends on USB_OHCI_HCD
296         default n
297
298 config USB_OHCI_LITTLE_ENDIAN
299         bool
300         depends on USB_OHCI_HCD
301         default n if STB03xxx || PPC_MPC52xx
302         default y
303
304 config USB_UHCI_HCD
305         tristate "UHCI HCD (most Intel and VIA) support"
306         depends on USB && PCI
307         ---help---
308           The Universal Host Controller Interface is a standard by Intel for
309           accessing the USB hardware in the PC (which is also called the USB
310           host controller). If your USB host controller conforms to this
311           standard, you may want to say Y, but see below. All recent boards
312           with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
313           i810, i820) conform to this standard. Also all VIA PCI chipsets
314           (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
315           133). If unsure, say Y.
316
317           To compile this driver as a module, choose M here: the
318           module will be called uhci-hcd.
319
320 config USB_FHCI_HCD
321         tristate "Freescale QE USB Host Controller support"
322         depends on USB && OF_GPIO && QE_GPIO && QUICC_ENGINE
323         select FSL_GTM
324         select QE_USB
325         help
326           This driver enables support for Freescale QE USB Host Controller
327           (as found on MPC8360 and MPC8323 processors), the driver supports
328           Full and Low Speed USB.
329
330 config FHCI_DEBUG
331         bool "Freescale QE USB Host Controller debug support"
332         depends on USB_FHCI_HCD && DEBUG_FS
333         help
334           Say "y" to see some FHCI debug information and statistics
335           throught debugfs.
336
337 config USB_U132_HCD
338         tristate "Elan U132 Adapter Host Controller"
339         depends on USB && USB_FTDI_ELAN
340         default M
341         help
342           The U132 adapter is a USB to CardBus adapter specifically designed
343           for PC cards that contain an OHCI host controller. Typical PC cards
344           are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
345           adapter will *NOT* work with PC cards that do not contain an OHCI
346           controller.
347
348           For those PC cards that contain multiple OHCI controllers only the
349           first one is used.
350
351           The driver consists of two modules, the "ftdi-elan" module is a
352           USB client driver that interfaces to the FTDI chip within ELAN's
353           USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
354           controller driver that talks to the OHCI controller within the
355           CardBus cards that are inserted in the U132 adapter.
356
357           This driver has been tested with a CardBus OHCI USB adapter, and
358           worked with a USB PEN Drive inserted into the first USB port of
359           the PCCARD. A rather pointless thing to do, but useful for testing.
360
361           It is safe to say M here.
362
363           See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
364
365 config USB_SL811_HCD
366         tristate "SL811HS HCD support"
367         depends on USB
368         help
369           The SL811HS is a single-port USB controller that supports either
370           host side or peripheral side roles.  Enable this option if your
371           board has this chip, and you want to use it as a host controller. 
372           If unsure, say N.
373
374           To compile this driver as a module, choose M here: the
375           module will be called sl811-hcd.
376
377 config USB_SL811_CS
378         tristate "CF/PCMCIA support for SL811HS HCD"
379         depends on USB_SL811_HCD && PCMCIA
380         help
381           Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
382           REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
383
384           To compile this driver as a module, choose M here: the
385           module will be called "sl811_cs".
386
387 config USB_R8A66597_HCD
388         tristate "R8A66597 HCD support"
389         depends on USB
390         help
391           The R8A66597 is a USB 2.0 host and peripheral controller.
392
393           Enable this option if your board has this chip, and you want
394           to use it as a host controller.  If unsure, say N.
395
396           To compile this driver as a module, choose M here: the
397           module will be called r8a66597-hcd.
398
399 config USB_WHCI_HCD
400         tristate "Wireless USB Host Controller Interface (WHCI) driver (EXPERIMENTAL)"
401         depends on EXPERIMENTAL
402         depends on PCI && USB
403         select USB_WUSB
404         select UWB_WHCI
405         help
406           A driver for PCI-based Wireless USB Host Controllers that are
407           compliant with the WHCI specification.
408
409           To compile this driver a module, choose M here: the module
410           will be called "whci-hcd".
411
412 config USB_HWA_HCD
413         tristate "Host Wire Adapter (HWA) driver (EXPERIMENTAL)"
414         depends on EXPERIMENTAL
415         depends on USB
416         select USB_WUSB
417         select UWB_HWA
418         help
419           This driver enables you to connect Wireless USB devices to
420           your system using a Host Wire Adaptor USB dongle. This is an
421           UWB Radio Controller and WUSB Host Controller connected to
422           your machine via USB (specified in WUSB1.0).
423
424           To compile this driver a module, choose M here: the module
425           will be called "hwa-hc".
426
427 config USB_IMX21_HCD
428        tristate "iMX21 HCD support"
429        depends on USB && ARM && MACH_MX21
430        help
431          This driver enables support for the on-chip USB host in the
432          iMX21 processor.
433
434          To compile this driver as a module, choose M here: the
435          module will be called "imx21-hcd".
436