Merge commit 'v2.6.29-rc1' into x86/urgent
[linux-2.6] / 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
45 config USB_EHCI_ROOT_HUB_TT
46         bool "Root Hub Transaction Translators"
47         depends on USB_EHCI_HCD
48         ---help---
49           Some EHCI chips have vendor-specific extensions to integrate
50           transaction translators, so that no OHCI or UHCI companion
51           controller is needed.  It's safe to say "y" even if your
52           controller doesn't support this feature.
53
54           This supports the EHCI implementation that's originally
55           from ARC, and has since changed hands a few times.
56
57 config USB_EHCI_TT_NEWSCHED
58         bool "Improved Transaction Translator scheduling (EXPERIMENTAL)"
59         depends on USB_EHCI_HCD && EXPERIMENTAL
60         ---help---
61           This changes the periodic scheduling code to fill more of the low
62           and full speed bandwidth available from the Transaction Translator
63           (TT) in USB 2.0 hubs.  Without this, only one transfer will be
64           issued in each microframe, significantly reducing the number of
65           periodic low/fullspeed transfers possible.
66
67           If you have multiple periodic low/fullspeed devices connected to a
68           highspeed USB hub which is connected to a highspeed USB Host
69           Controller, and some of those devices will not work correctly
70           (possibly due to "ENOSPC" or "-28" errors), say Y.
71
72           If unsure, say N.
73
74 config USB_EHCI_BIG_ENDIAN_MMIO
75         bool
76         depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || ARCH_IXP4XX)
77         default y
78
79 config USB_EHCI_BIG_ENDIAN_DESC
80         bool
81         depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX)
82         default y
83
84 config USB_EHCI_FSL
85         bool "Support for Freescale on-chip EHCI USB controller"
86         depends on USB_EHCI_HCD && FSL_SOC
87         select USB_EHCI_ROOT_HUB_TT
88         ---help---
89           Variation of ARC USB block used in some Freescale chips.
90
91 config USB_EHCI_HCD_PPC_OF
92         bool "EHCI support for PPC USB controller on OF platform bus"
93         depends on USB_EHCI_HCD && PPC_OF
94         default y
95         ---help---
96           Enables support for the USB controller present on the PowerPC
97           OpenFirmware platform bus.
98
99 config USB_OXU210HP_HCD
100         tristate "OXU210HP HCD support"
101         depends on USB
102         ---help---
103           The OXU210HP is an USB host/OTG/device controller. Enable this
104           option if your board has this chip. If unsure, say N.
105
106           This driver does not support isochronous transfers and doesn't
107           implement OTG nor USB device controllers.
108
109           To compile this driver as a module, choose M here: the
110           module will be called oxu210hp-hcd.
111
112 config USB_ISP116X_HCD
113         tristate "ISP116X HCD support"
114         depends on USB
115         ---help---
116           The ISP1160 and ISP1161 chips are USB host controllers. Enable this
117           option if your board has this chip. If unsure, say N.
118
119           This driver does not support isochronous transfers.
120
121           To compile this driver as a module, choose M here: the
122           module will be called isp116x-hcd.
123
124 config USB_ISP1760_HCD
125         tristate "ISP 1760 HCD support"
126         depends on USB && EXPERIMENTAL && (PCI || PPC_OF)
127         ---help---
128           The ISP1760 chip is a USB 2.0 host controller.
129
130           This driver does not support isochronous transfers or OTG.
131           This USB controller is usually attached to a non-DMA-Master
132           capable bus. NXP's eval kit brings this chip on PCI card
133           where the chip itself is behind a PLB to simulate such
134           a bus.
135
136           To compile this driver as a module, choose M here: the
137           module will be called isp1760.
138
139 config USB_OHCI_HCD
140         tristate "OHCI HCD support"
141         depends on USB && USB_ARCH_HAS_OHCI
142         select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
143         ---help---
144           The Open Host Controller Interface (OHCI) is a standard for accessing
145           USB 1.1 host controller hardware.  It does more in hardware than Intel's
146           UHCI specification.  If your USB host controller follows the OHCI spec,
147           say Y.  On most non-x86 systems, and on x86 hardware that's not using a
148           USB controller from Intel or VIA, this is appropriate.  If your host
149           controller doesn't use PCI, this is probably appropriate.  For a PCI
150           based system where you're not sure, the "lspci -v" entry will list the
151           right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
152
153           To compile this driver as a module, choose M here: the
154           module will be called ohci-hcd.
155
156 config USB_OHCI_HCD_PPC_SOC
157         bool "OHCI support for on-chip PPC USB controller"
158         depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx)
159         default y
160         select USB_OHCI_BIG_ENDIAN_DESC
161         select USB_OHCI_BIG_ENDIAN_MMIO
162         ---help---
163           Enables support for the USB controller on the MPC52xx or
164           STB03xxx processor chip.  If unsure, say Y.
165
166 config USB_OHCI_HCD_PPC_OF
167         bool "OHCI support for PPC USB controller on OF platform bus"
168         depends on USB_OHCI_HCD && PPC_OF
169         default y
170         ---help---
171           Enables support for the USB controller PowerPC present on the
172           OpenFirmware platform bus.
173
174 config USB_OHCI_HCD_PPC_OF_BE
175         bool "Support big endian HC"
176         depends on USB_OHCI_HCD_PPC_OF
177         default y
178         select USB_OHCI_BIG_ENDIAN_DESC
179         select USB_OHCI_BIG_ENDIAN_MMIO
180
181 config USB_OHCI_HCD_PPC_OF_LE
182         bool "Support little endian HC"
183         depends on USB_OHCI_HCD_PPC_OF
184         default n
185         select USB_OHCI_LITTLE_ENDIAN
186
187 config USB_OHCI_HCD_PCI
188         bool "OHCI support for PCI-bus USB controllers"
189         depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF)
190         default y
191         select USB_OHCI_LITTLE_ENDIAN
192         ---help---
193           Enables support for PCI-bus plug-in USB controller cards.
194           If unsure, say Y.
195
196 config USB_OHCI_HCD_SSB
197         bool "OHCI support for Broadcom SSB OHCI core"
198         depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD) && EXPERIMENTAL
199         default n
200         ---help---
201           Support for the Sonics Silicon Backplane (SSB) attached
202           Broadcom USB OHCI core.
203
204           This device is present in some embedded devices with
205           Broadcom based SSB bus.
206
207           If unsure, say N.
208
209 config USB_OHCI_BIG_ENDIAN_DESC
210         bool
211         depends on USB_OHCI_HCD
212         default n
213
214 config USB_OHCI_BIG_ENDIAN_MMIO
215         bool
216         depends on USB_OHCI_HCD
217         default n
218
219 config USB_OHCI_LITTLE_ENDIAN
220         bool
221         depends on USB_OHCI_HCD
222         default n if STB03xxx || PPC_MPC52xx
223         default y
224
225 config USB_UHCI_HCD
226         tristate "UHCI HCD (most Intel and VIA) support"
227         depends on USB && PCI
228         ---help---
229           The Universal Host Controller Interface is a standard by Intel for
230           accessing the USB hardware in the PC (which is also called the USB
231           host controller). If your USB host controller conforms to this
232           standard, you may want to say Y, but see below. All recent boards
233           with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
234           i810, i820) conform to this standard. Also all VIA PCI chipsets
235           (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
236           133). If unsure, say Y.
237
238           To compile this driver as a module, choose M here: the
239           module will be called uhci-hcd.
240
241 config USB_U132_HCD
242         tristate "Elan U132 Adapter Host Controller"
243         depends on USB && USB_FTDI_ELAN
244         default M
245         help
246           The U132 adapter is a USB to CardBus adapter specifically designed
247           for PC cards that contain an OHCI host controller. Typical PC cards
248           are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
249           adapter will *NOT* work with PC cards that do not contain an OHCI
250           controller.
251
252           For those PC cards that contain multiple OHCI controllers only the
253           first one is used.
254
255           The driver consists of two modules, the "ftdi-elan" module is a
256           USB client driver that interfaces to the FTDI chip within ELAN's
257           USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
258           controller driver that talks to the OHCI controller within the
259           CardBus cards that are inserted in the U132 adapter.
260
261           This driver has been tested with a CardBus OHCI USB adapter, and
262           worked with a USB PEN Drive inserted into the first USB port of
263           the PCCARD. A rather pointless thing to do, but useful for testing.
264
265           It is safe to say M here.
266
267           See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
268
269 config USB_SL811_HCD
270         tristate "SL811HS HCD support"
271         depends on USB
272         help
273           The SL811HS is a single-port USB controller that supports either
274           host side or peripheral side roles.  Enable this option if your
275           board has this chip, and you want to use it as a host controller. 
276           If unsure, say N.
277
278           To compile this driver as a module, choose M here: the
279           module will be called sl811-hcd.
280
281 config USB_SL811_CS
282         tristate "CF/PCMCIA support for SL811HS HCD"
283         depends on USB_SL811_HCD && PCMCIA
284         help
285           Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
286           REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
287
288           To compile this driver as a module, choose M here: the
289           module will be called "sl811_cs".
290
291 config USB_R8A66597_HCD
292         tristate "R8A66597 HCD support"
293         depends on USB
294         help
295           The R8A66597 is a USB 2.0 host and peripheral controller.
296
297           Enable this option if your board has this chip, and you want
298           to use it as a host controller.  If unsure, say N.
299
300           To compile this driver as a module, choose M here: the
301           module will be called r8a66597-hcd.
302
303 config SUPERH_ON_CHIP_R8A66597
304         boolean "Enable SuperH on-chip R8A66597 USB"
305         depends on USB_R8A66597_HCD && (CPU_SUBTYPE_SH7366 || CPU_SUBTYPE_SH7723)
306         help
307            This driver enables support for the on-chip R8A66597 in the
308            SH7366 and SH7723 processors.
309
310 config USB_WHCI_HCD
311         tristate "Wireless USB Host Controller Interface (WHCI) driver (EXPERIMENTAL)"
312         depends on EXPERIMENTAL
313         depends on PCI && USB
314         select USB_WUSB
315         select UWB_WHCI
316         help
317           A driver for PCI-based Wireless USB Host Controllers that are
318           compliant with the WHCI specification.
319
320           To compile this driver a module, choose M here: the module
321           will be called "whci-hcd".
322
323 config USB_HWA_HCD
324         tristate "Host Wire Adapter (HWA) driver (EXPERIMENTAL)"
325         depends on EXPERIMENTAL
326         depends on USB
327         select USB_WUSB
328         select UWB_HWA
329         help
330           This driver enables you to connect Wireless USB devices to
331           your system using a Host Wire Adaptor USB dongle. This is an
332           UWB Radio Controller and WUSB Host Controller connected to
333           your machine via USB (specified in WUSB1.0).
334
335           To compile this driver a module, choose M here: the module
336           will be called "hwa-hc".