]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blob - drivers/usb/host/Kconfig
Fix n800 build - only register HW keyboard on i2c board if CONFIG_MACH_NOKIA_N810
[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_EHCI_HCD
8         tristate "EHCI HCD (USB 2.0) support"
9         depends on USB && USB_ARCH_HAS_EHCI
10         ---help---
11           The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
12           "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
13           If your USB host controller supports USB 2.0, you will likely want to
14           configure this Host Controller Driver.  At the time of this writing, 
15           the primary implementation of EHCI is a chip from NEC, widely available
16           in add-on PCI cards, but implementations are in the works from other 
17           vendors including Intel and Philips.  Motherboard support is appearing.
18
19           EHCI controllers are packaged with "companion" host controllers (OHCI
20           or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
21           will connect to EHCI if the device is high speed, otherwise they
22           connect to a companion controller.  If you configure EHCI, you should
23           probably configure the OHCI (for NEC and some other vendors) USB Host
24           Controller Driver or UHCI (for Via motherboards) Host Controller
25           Driver too.
26
27           You may want to read <file:Documentation/usb/ehci.txt>.
28
29           To compile this driver as a module, choose M here: the
30           module will be called ehci-hcd.
31 choice
32         prompt "PHY/TLL mode"
33         depends on USB_EHCI_HCD && EXPERIMENTAL && ARCH_OMAP34XX
34         ---help---
35         Choose PHY or TLL mode of operation
36
37 config OMAP_EHCI_PHY_MODE
38         bool "PHY mode: ISP1504 on Port1/2 (NEW 3430ES2.0)"
39         depends on USB_EHCI_HCD && EXPERIMENTAL && ARCH_OMAP34XX
40         ---help---
41           EHCI PHY mode. Port1 and Port2 are connected to ISP1504 transcievers
42
43 config OMAP_EHCI_TLL_MODE
44         bool "TLL mode: (EXPERIMENTAL)"
45         depends on USB_EHCI_HCD && EXPERIMENTAL && ARCH_OMAP34XX
46         ---help---
47         OMAP EHCI controller has TLL mode of operation for all 3 ports.
48         Use this mode when no transciever is present
49 endchoice
50
51 config USB_EHCI_ROOT_HUB_TT
52         bool "Root Hub Transaction Translators (EXPERIMENTAL)"
53         depends on USB_EHCI_HCD && EXPERIMENTAL
54         ---help---
55           Some EHCI chips have vendor-specific extensions to integrate
56           transaction translators, so that no OHCI or UHCI companion
57           controller is needed.  It's safe to say "y" even if your
58           controller doesn't support this feature.
59
60           This supports the EHCI implementation that's originally
61           from ARC, and has since changed hands a few times.
62
63 config USB_EHCI_TT_NEWSCHED
64         bool "Improved Transaction Translator scheduling (EXPERIMENTAL)"
65         depends on USB_EHCI_HCD && EXPERIMENTAL
66         ---help---
67           This changes the periodic scheduling code to fill more of the low
68           and full speed bandwidth available from the Transaction Translator
69           (TT) in USB 2.0 hubs.  Without this, only one transfer will be
70           issued in each microframe, significantly reducing the number of
71           periodic low/fullspeed transfers possible.
72
73           If you have multiple periodic low/fullspeed devices connected to a
74           highspeed USB hub which is connected to a highspeed USB Host
75           Controller, and some of those devices will not work correctly
76           (possibly due to "ENOSPC" or "-28" errors), say Y.
77
78           If unsure, say N.
79
80 config USB_EHCI_BIG_ENDIAN_MMIO
81         bool
82         depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || ARCH_IXP4XX)
83         default y
84
85 config USB_EHCI_BIG_ENDIAN_DESC
86         bool
87         depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX)
88         default y
89
90 config USB_EHCI_FSL
91         bool "Support for Freescale on-chip EHCI USB controller"
92         depends on USB_EHCI_HCD && FSL_SOC
93         select USB_EHCI_ROOT_HUB_TT
94         ---help---
95           Variation of ARC USB block used in some Freescale chips.
96
97 config USB_EHCI_HCD_PPC_OF
98         bool "EHCI support for PPC USB controller on OF platform bus"
99         depends on USB_EHCI_HCD && PPC_OF
100         default y
101         ---help---
102           Enables support for the USB controller present on the PowerPC
103           OpenFirmware platform bus.
104
105 config USB_ISP116X_HCD
106         tristate "ISP116X HCD support"
107         depends on USB
108         ---help---
109           The ISP1160 and ISP1161 chips are USB host controllers. Enable this
110           option if your board has this chip. If unsure, say N.
111
112           This driver does not support isochronous transfers.
113
114           To compile this driver as a module, choose M here: the
115           module will be called isp116x-hcd.
116
117 config USB_OHCI_HCD
118         tristate "OHCI HCD support"
119         depends on USB && USB_ARCH_HAS_OHCI
120         select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
121         select I2C if ARCH_PNX4008
122         ---help---
123           The Open Host Controller Interface (OHCI) is a standard for accessing
124           USB 1.1 host controller hardware.  It does more in hardware than Intel's
125           UHCI specification.  If your USB host controller follows the OHCI spec,
126           say Y.  On most non-x86 systems, and on x86 hardware that's not using a
127           USB controller from Intel or VIA, this is appropriate.  If your host
128           controller doesn't use PCI, this is probably appropriate.  For a PCI
129           based system where you're not sure, the "lspci -v" entry will list the
130           right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
131
132           To compile this driver as a module, choose M here: the
133           module will be called ohci-hcd.
134
135 config USB_OHCI_HCD_PPC_SOC
136         bool "OHCI support for on-chip PPC USB controller"
137         depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx)
138         default y
139         select USB_OHCI_BIG_ENDIAN_DESC
140         select USB_OHCI_BIG_ENDIAN_MMIO
141         ---help---
142           Enables support for the USB controller on the MPC52xx or
143           STB03xxx processor chip.  If unsure, say Y.
144
145 config USB_OHCI_HCD_PPC_OF
146         bool "OHCI support for PPC USB controller on OF platform bus"
147         depends on USB_OHCI_HCD && PPC_OF
148         default y
149         ---help---
150           Enables support for the USB controller PowerPC present on the
151           OpenFirmware platform bus.
152
153 config USB_OHCI_HCD_PPC_OF_BE
154         bool "Support big endian HC"
155         depends on USB_OHCI_HCD_PPC_OF
156         default y
157         select USB_OHCI_BIG_ENDIAN_DESC
158         select USB_OHCI_BIG_ENDIAN_MMIO
159
160 config USB_OHCI_HCD_PPC_OF_LE
161         bool "Support little endian HC"
162         depends on USB_OHCI_HCD_PPC_OF
163         default n
164         select USB_OHCI_LITTLE_ENDIAN
165
166 config USB_OHCI_HCD_PCI
167         bool "OHCI support for PCI-bus USB controllers"
168         depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF)
169         default y
170         select USB_OHCI_LITTLE_ENDIAN
171         ---help---
172           Enables support for PCI-bus plug-in USB controller cards.
173           If unsure, say Y.
174
175 config USB_OHCI_HCD_SSB
176         bool "OHCI support for Broadcom SSB OHCI core"
177         depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD) && EXPERIMENTAL
178         default n
179         ---help---
180           Support for the Sonics Silicon Backplane (SSB) attached
181           Broadcom USB OHCI core.
182
183           This device is present in some embedded devices with
184           Broadcom based SSB bus.
185
186           If unsure, say N.
187
188 config USB_OHCI_BIG_ENDIAN_DESC
189         bool
190         depends on USB_OHCI_HCD
191         default n
192
193 config USB_OHCI_BIG_ENDIAN_MMIO
194         bool
195         depends on USB_OHCI_HCD
196         default n
197
198 config USB_OHCI_LITTLE_ENDIAN
199         bool
200         depends on USB_OHCI_HCD
201         default n if STB03xxx || PPC_MPC52xx
202         default y
203
204 config USB_UHCI_HCD
205         tristate "UHCI HCD (most Intel and VIA) support"
206         depends on USB && PCI
207         ---help---
208           The Universal Host Controller Interface is a standard by Intel for
209           accessing the USB hardware in the PC (which is also called the USB
210           host controller). If your USB host controller conforms to this
211           standard, you may want to say Y, but see below. All recent boards
212           with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
213           i810, i820) conform to this standard. Also all VIA PCI chipsets
214           (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
215           133). If unsure, say Y.
216
217           To compile this driver as a module, choose M here: the
218           module will be called uhci-hcd.
219
220 config USB_U132_HCD
221         tristate "Elan U132 Adapter Host Controller"
222         depends on USB && USB_FTDI_ELAN
223         default M
224         help
225           The U132 adapter is a USB to CardBus adapter specifically designed
226           for PC cards that contain an OHCI host controller. Typical PC cards
227           are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
228           adapter will *NOT* work with PC cards that do not contain an OHCI
229           controller.
230
231           For those PC cards that contain multiple OHCI controllers only the
232           first one is used.
233
234           The driver consists of two modules, the "ftdi-elan" module is a
235           USB client driver that interfaces to the FTDI chip within ELAN's
236           USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
237           controller driver that talks to the OHCI controller within the
238           CardBus cards that are inserted in the U132 adapter.
239
240           This driver has been tested with a CardBus OHCI USB adapter, and
241           worked with a USB PEN Drive inserted into the first USB port of
242           the PCCARD. A rather pointless thing to do, but useful for testing.
243
244           It is safe to say M here.
245
246           See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
247
248 config USB_SL811_HCD
249         tristate "SL811HS HCD support"
250         depends on USB
251         help
252           The SL811HS is a single-port USB controller that supports either
253           host side or peripheral side roles.  Enable this option if your
254           board has this chip, and you want to use it as a host controller. 
255           If unsure, say N.
256
257           To compile this driver as a module, choose M here: the
258           module will be called sl811-hcd.
259
260 config USB_SL811_CS
261         tristate "CF/PCMCIA support for SL811HS HCD"
262         depends on USB_SL811_HCD && PCMCIA
263         help
264           Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
265           REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
266
267           To compile this driver as a module, choose M here: the
268           module will be called "sl811_cs".
269
270 config USB_R8A66597_HCD
271         tristate "R8A66597 HCD support"
272         depends on USB
273         help
274           The R8A66597 is a USB 2.0 host and peripheral controller.
275
276           Enable this option if your board has this chip, and you want
277           to use it as a host controller.  If unsure, say N.
278
279           To compile this driver as a module, choose M here: the
280           module will be called r8a66597-hcd.
281