]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blob - drivers/usb/host/Kconfig
Merge current mainline tree into linux-omap tree
[linux-2.6-omap-h63xx.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_EHCI_HCD
21         tristate "EHCI HCD (USB 2.0) support"
22         depends on USB && USB_ARCH_HAS_EHCI
23         ---help---
24           The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
25           "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
26           If your USB host controller supports USB 2.0, you will likely want to
27           configure this Host Controller Driver.  At the time of this writing, 
28           the primary implementation of EHCI is a chip from NEC, widely available
29           in add-on PCI cards, but implementations are in the works from other 
30           vendors including Intel and Philips.  Motherboard support is appearing.
31
32           EHCI controllers are packaged with "companion" host controllers (OHCI
33           or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
34           will connect to EHCI if the device is high speed, otherwise they
35           connect to a companion controller.  If you configure EHCI, you should
36           probably configure the OHCI (for NEC and some other vendors) USB Host
37           Controller Driver or UHCI (for Via motherboards) Host Controller
38           Driver too.
39
40           You may want to read <file:Documentation/usb/ehci.txt>.
41
42           To compile this driver as a module, choose M here: the
43           module will be called ehci-hcd.
44 choice
45         prompt "PHY/TLL mode"
46         depends on USB_EHCI_HCD && EXPERIMENTAL && ARCH_OMAP34XX
47         ---help---
48         Choose PHY or TLL mode of operation
49
50 config OMAP_EHCI_PHY_MODE
51         bool "PHY mode: ISP1504 on Port1/2 (NEW 3430ES2.0)"
52         depends on USB_EHCI_HCD && EXPERIMENTAL && ARCH_OMAP34XX
53         ---help---
54           EHCI PHY mode. Port1 and Port2 are connected to ISP1504 transcievers
55
56 config OMAP_EHCI_TLL_MODE
57         bool "TLL mode: (EXPERIMENTAL)"
58         depends on USB_EHCI_HCD && EXPERIMENTAL && ARCH_OMAP34XX
59         ---help---
60         OMAP EHCI controller has TLL mode of operation for all 3 ports.
61         Use this mode when no transciever is present
62 endchoice
63
64 config USB_EHCI_ROOT_HUB_TT
65         bool "Root Hub Transaction Translators"
66         depends on USB_EHCI_HCD
67         ---help---
68           Some EHCI chips have vendor-specific extensions to integrate
69           transaction translators, so that no OHCI or UHCI companion
70           controller is needed.  It's safe to say "y" even if your
71           controller doesn't support this feature.
72
73           This supports the EHCI implementation that's originally
74           from ARC, and has since changed hands a few times.
75
76 config USB_EHCI_TT_NEWSCHED
77         bool "Improved Transaction Translator scheduling (EXPERIMENTAL)"
78         depends on USB_EHCI_HCD && EXPERIMENTAL
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.
90
91           If unsure, say N.
92
93 config USB_EHCI_BIG_ENDIAN_MMIO
94         bool
95         depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || ARCH_IXP4XX)
96         default y
97
98 config USB_EHCI_BIG_ENDIAN_DESC
99         bool
100         depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX)
101         default y
102
103 config USB_EHCI_FSL
104         bool "Support for Freescale on-chip EHCI USB controller"
105         depends on USB_EHCI_HCD && FSL_SOC
106         select USB_EHCI_ROOT_HUB_TT
107         ---help---
108           Variation of ARC USB block used in some Freescale chips.
109
110 config USB_EHCI_HCD_PPC_OF
111         bool "EHCI support for PPC USB controller on OF platform bus"
112         depends on USB_EHCI_HCD && PPC_OF
113         default y
114         ---help---
115           Enables support for the USB controller present on the PowerPC
116           OpenFirmware platform bus.
117
118 config USB_OXU210HP_HCD
119         tristate "OXU210HP HCD support"
120         depends on USB
121         ---help---
122           The OXU210HP is an USB host/OTG/device controller. Enable this
123           option if your board has this chip. If unsure, say N.
124
125           This driver does not support isochronous transfers and doesn't
126           implement OTG nor USB device controllers.
127
128           To compile this driver as a module, choose M here: the
129           module will be called oxu210hp-hcd.
130
131 config USB_ISP116X_HCD
132         tristate "ISP116X HCD support"
133         depends on USB
134         ---help---
135           The ISP1160 and ISP1161 chips are USB host controllers. Enable this
136           option if your board has this chip. If unsure, say N.
137
138           This driver does not support isochronous transfers.
139
140           To compile this driver as a module, choose M here: the
141           module will be called isp116x-hcd.
142
143 config USB_ISP1760_HCD
144         tristate "ISP 1760 HCD support"
145         depends on USB && EXPERIMENTAL && (PCI || PPC_OF)
146         ---help---
147           The ISP1760 chip is a USB 2.0 host controller.
148
149           This driver does not support isochronous transfers or OTG.
150           This USB controller is usually attached to a non-DMA-Master
151           capable bus. NXP's eval kit brings this chip on PCI card
152           where the chip itself is behind a PLB to simulate such
153           a bus.
154
155           To compile this driver as a module, choose M here: the
156           module will be called isp1760.
157
158 config USB_OHCI_HCD
159         tristate "OHCI HCD support"
160         depends on USB && USB_ARCH_HAS_OHCI
161         select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
162         select USB_OTG_UTILS if ARCH_OMAP
163         ---help---
164           The Open Host Controller Interface (OHCI) is a standard for accessing
165           USB 1.1 host controller hardware.  It does more in hardware than Intel's
166           UHCI specification.  If your USB host controller follows the OHCI spec,
167           say Y.  On most non-x86 systems, and on x86 hardware that's not using a
168           USB controller from Intel or VIA, this is appropriate.  If your host
169           controller doesn't use PCI, this is probably appropriate.  For a PCI
170           based system where you're not sure, the "lspci -v" entry will list the
171           right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
172
173           To compile this driver as a module, choose M here: the
174           module will be called ohci-hcd.
175
176 config USB_OHCI_HCD_PPC_SOC
177         bool "OHCI support for on-chip PPC USB controller"
178         depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx)
179         default y
180         select USB_OHCI_BIG_ENDIAN_DESC
181         select USB_OHCI_BIG_ENDIAN_MMIO
182         ---help---
183           Enables support for the USB controller on the MPC52xx or
184           STB03xxx processor chip.  If unsure, say Y.
185
186 config USB_OHCI_HCD_PPC_OF
187         bool "OHCI support for PPC USB controller on OF platform bus"
188         depends on USB_OHCI_HCD && PPC_OF
189         default y
190         ---help---
191           Enables support for the USB controller PowerPC present on the
192           OpenFirmware platform bus.
193
194 config USB_OHCI_HCD_PPC_OF_BE
195         bool "Support big endian HC"
196         depends on USB_OHCI_HCD_PPC_OF
197         default y
198         select USB_OHCI_BIG_ENDIAN_DESC
199         select USB_OHCI_BIG_ENDIAN_MMIO
200
201 config USB_OHCI_HCD_PPC_OF_LE
202         bool "Support little endian HC"
203         depends on USB_OHCI_HCD_PPC_OF
204         default n
205         select USB_OHCI_LITTLE_ENDIAN
206
207 config USB_OHCI_HCD_PCI
208         bool "OHCI support for PCI-bus USB controllers"
209         depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF)
210         default y
211         select USB_OHCI_LITTLE_ENDIAN
212         ---help---
213           Enables support for PCI-bus plug-in USB controller cards.
214           If unsure, say Y.
215
216 config USB_OHCI_HCD_SSB
217         bool "OHCI support for Broadcom SSB OHCI core"
218         depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD) && EXPERIMENTAL
219         default n
220         ---help---
221           Support for the Sonics Silicon Backplane (SSB) attached
222           Broadcom USB OHCI core.
223
224           This device is present in some embedded devices with
225           Broadcom based SSB bus.
226
227           If unsure, say N.
228
229 config USB_OHCI_BIG_ENDIAN_DESC
230         bool
231         depends on USB_OHCI_HCD
232         default n
233
234 config USB_OHCI_BIG_ENDIAN_MMIO
235         bool
236         depends on USB_OHCI_HCD
237         default n
238
239 config USB_OHCI_LITTLE_ENDIAN
240         bool
241         depends on USB_OHCI_HCD
242         default n if STB03xxx || PPC_MPC52xx
243         default y
244
245 config USB_UHCI_HCD
246         tristate "UHCI HCD (most Intel and VIA) support"
247         depends on USB && PCI
248         ---help---
249           The Universal Host Controller Interface is a standard by Intel for
250           accessing the USB hardware in the PC (which is also called the USB
251           host controller). If your USB host controller conforms to this
252           standard, you may want to say Y, but see below. All recent boards
253           with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
254           i810, i820) conform to this standard. Also all VIA PCI chipsets
255           (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
256           133). If unsure, say Y.
257
258           To compile this driver as a module, choose M here: the
259           module will be called uhci-hcd.
260
261 config USB_FHCI_HCD
262         tristate "Freescale QE USB Host Controller support"
263         depends on USB && OF_GPIO && QE_GPIO && QUICC_ENGINE
264         select FSL_GTM
265         select QE_USB
266         help
267           This driver enables support for Freescale QE USB Host Controller
268           (as found on MPC8360 and MPC8323 processors), the driver supports
269           Full and Low Speed USB.
270
271 config FHCI_DEBUG
272         bool "Freescale QE USB Host Controller debug support"
273         depends on USB_FHCI_HCD && DEBUG_FS
274         help
275           Say "y" to see some FHCI debug information and statistics
276           throught debugfs.
277
278 config USB_U132_HCD
279         tristate "Elan U132 Adapter Host Controller"
280         depends on USB && USB_FTDI_ELAN
281         default M
282         help
283           The U132 adapter is a USB to CardBus adapter specifically designed
284           for PC cards that contain an OHCI host controller. Typical PC cards
285           are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
286           adapter will *NOT* work with PC cards that do not contain an OHCI
287           controller.
288
289           For those PC cards that contain multiple OHCI controllers only the
290           first one is used.
291
292           The driver consists of two modules, the "ftdi-elan" module is a
293           USB client driver that interfaces to the FTDI chip within ELAN's
294           USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
295           controller driver that talks to the OHCI controller within the
296           CardBus cards that are inserted in the U132 adapter.
297
298           This driver has been tested with a CardBus OHCI USB adapter, and
299           worked with a USB PEN Drive inserted into the first USB port of
300           the PCCARD. A rather pointless thing to do, but useful for testing.
301
302           It is safe to say M here.
303
304           See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
305
306 config USB_SL811_HCD
307         tristate "SL811HS HCD support"
308         depends on USB
309         help
310           The SL811HS is a single-port USB controller that supports either
311           host side or peripheral side roles.  Enable this option if your
312           board has this chip, and you want to use it as a host controller. 
313           If unsure, say N.
314
315           To compile this driver as a module, choose M here: the
316           module will be called sl811-hcd.
317
318 config USB_SL811_CS
319         tristate "CF/PCMCIA support for SL811HS HCD"
320         depends on USB_SL811_HCD && PCMCIA
321         help
322           Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
323           REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
324
325           To compile this driver as a module, choose M here: the
326           module will be called "sl811_cs".
327
328 config USB_R8A66597_HCD
329         tristate "R8A66597 HCD support"
330         depends on USB
331         help
332           The R8A66597 is a USB 2.0 host and peripheral controller.
333
334           Enable this option if your board has this chip, and you want
335           to use it as a host controller.  If unsure, say N.
336
337           To compile this driver as a module, choose M here: the
338           module will be called r8a66597-hcd.
339
340 config SUPERH_ON_CHIP_R8A66597
341         boolean "Enable SuperH on-chip R8A66597 USB"
342         depends on USB_R8A66597_HCD && (CPU_SUBTYPE_SH7366 || CPU_SUBTYPE_SH7723)
343         help
344            This driver enables support for the on-chip R8A66597 in the
345            SH7366 and SH7723 processors.
346
347 config USB_WHCI_HCD
348         tristate "Wireless USB Host Controller Interface (WHCI) driver (EXPERIMENTAL)"
349         depends on EXPERIMENTAL
350         depends on PCI && USB
351         select USB_WUSB
352         select UWB_WHCI
353         help
354           A driver for PCI-based Wireless USB Host Controllers that are
355           compliant with the WHCI specification.
356
357           To compile this driver a module, choose M here: the module
358           will be called "whci-hcd".
359
360 config USB_HWA_HCD
361         tristate "Host Wire Adapter (HWA) driver (EXPERIMENTAL)"
362         depends on EXPERIMENTAL
363         depends on USB
364         select USB_WUSB
365         select UWB_HWA
366         help
367           This driver enables you to connect Wireless USB devices to
368           your system using a Host Wire Adaptor USB dongle. This is an
369           UWB Radio Controller and WUSB Host Controller connected to
370           your machine via USB (specified in WUSB1.0).
371
372           To compile this driver a module, choose M here: the module
373           will be called "hwa-hc".