Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | # |
| 2 | # USB Host Controller Drivers |
| 3 | # |
| 4 | comment "USB Host Controller Drivers" |
| 5 | depends on USB |
| 6 | |
Peter Korsgaard | e9b29ff | 2008-04-27 08:59:45 +0200 | [diff] [blame] | 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 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | config USB_EHCI_HCD |
| 21 | tristate "EHCI HCD (USB 2.0) support" |
Jordan Crouse | 76fa9a2 | 2006-01-20 14:06:09 -0800 | [diff] [blame] | 22 | depends on USB && USB_ARCH_HAS_EHCI |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |
Jesper Juhl | b3c29d8 | 2006-01-10 00:35:22 +0100 | [diff] [blame] | 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. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |
Jesper Juhl | b3c29d8 | 2006-01-10 00:35:22 +0100 | [diff] [blame] | 34 | will connect to EHCI if the device is high speed, otherwise they |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 45 | config USB_EHCI_ROOT_HUB_TT |
Robert P. J. Day | 9ec249a | 2008-03-08 03:27:44 -0500 | [diff] [blame] | 46 | bool "Root Hub Transaction Translators" |
| 47 | depends on USB_EHCI_HCD |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | |
Dan Streetman | ba47f66 | 2006-05-24 09:39:16 -0700 | [diff] [blame] | 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. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 73 | |
Benjamin Herrenschmidt | 083522d | 2006-12-15 06:54:08 +1100 | [diff] [blame] | 74 | config USB_EHCI_BIG_ENDIAN_MMIO |
| 75 | bool |
Vladimir Barinov | 91bc4d3 | 2007-12-30 15:21:11 -0800 | [diff] [blame] | 76 | depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || ARCH_IXP4XX) |
Stefan Roese | 4d68c0b | 2007-05-04 11:39:37 -0700 | [diff] [blame] | 77 | default y |
Benjamin Herrenschmidt | 083522d | 2006-12-15 06:54:08 +1100 | [diff] [blame] | 78 | |
Stefan Roese | 6dbd682 | 2007-05-01 09:29:37 -0700 | [diff] [blame] | 79 | config USB_EHCI_BIG_ENDIAN_DESC |
| 80 | bool |
Vladimir Barinov | 91bc4d3 | 2007-12-30 15:21:11 -0800 | [diff] [blame] | 81 | depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX) |
Stefan Roese | 4d68c0b | 2007-05-04 11:39:37 -0700 | [diff] [blame] | 82 | default y |
Stefan Roese | 6dbd682 | 2007-05-01 09:29:37 -0700 | [diff] [blame] | 83 | |
Li Yang | ba02978 | 2007-05-11 17:09:55 +0800 | [diff] [blame] | 84 | config USB_EHCI_FSL |
Anton Vorontsov | b5937a4 | 2008-02-21 23:30:58 +0300 | [diff] [blame] | 85 | bool "Support for Freescale on-chip EHCI USB controller" |
| 86 | depends on USB_EHCI_HCD && FSL_SOC |
Li Yang | ba02978 | 2007-05-11 17:09:55 +0800 | [diff] [blame] | 87 | select USB_EHCI_ROOT_HUB_TT |
Li Yang | ba02978 | 2007-05-11 17:09:55 +0800 | [diff] [blame] | 88 | ---help--- |
| 89 | Variation of ARC USB block used in some Freescale chips. |
| 90 | |
Valentine Barshak | da0e8fb | 2007-12-30 15:28:50 -0800 | [diff] [blame] | 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 | |
Rodolfo Giometti | b92a78e | 2008-10-23 10:08:07 +0200 | [diff] [blame] | 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 | |
Olav Kongas | 4808a1c | 2005-04-09 22:57:39 +0300 | [diff] [blame] | 112 | config USB_ISP116X_HCD |
| 113 | tristate "ISP116X HCD support" |
| 114 | depends on USB |
Olav Kongas | 4808a1c | 2005-04-09 22:57:39 +0300 | [diff] [blame] | 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 | |
Sebastian Siewior | db11e47 | 2008-04-24 00:37:04 +0200 | [diff] [blame] | 124 | config USB_ISP1760_HCD |
| 125 | tristate "ISP 1760 HCD support" |
Sebastian Andrzej Siewior | ff30bf1 | 2008-11-02 15:25:42 +0100 | [diff] [blame] | 126 | depends on USB && EXPERIMENTAL && (PCI || PPC_OF) |
Sebastian Siewior | db11e47 | 2008-04-24 00:37:04 +0200 | [diff] [blame] | 127 | ---help--- |
| 128 | The ISP1760 chip is a USB 2.0 host controller. |
| 129 | |
| 130 | This driver does not support isochronous transfers or OTG. |
Sebastian Andrzej Siewior | ff30bf1 | 2008-11-02 15:25:42 +0100 | [diff] [blame] | 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. |
Sebastian Siewior | db11e47 | 2008-04-24 00:37:04 +0200 | [diff] [blame] | 135 | |
| 136 | To compile this driver as a module, choose M here: the |
Sebastian Andrzej Siewior | ff30bf1 | 2008-11-02 15:25:42 +0100 | [diff] [blame] | 137 | module will be called isp1760. |
Sebastian Siewior | db11e47 | 2008-04-24 00:37:04 +0200 | [diff] [blame] | 138 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |
Benjamin Herrenschmidt | 11d1a4a | 2006-12-15 06:54:03 +1100 | [diff] [blame] | 160 | select USB_OHCI_BIG_ENDIAN_DESC |
| 161 | select USB_OHCI_BIG_ENDIAN_MMIO |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 162 | ---help--- |
| 163 | Enables support for the USB controller on the MPC52xx or |
| 164 | STB03xxx processor chip. If unsure, say Y. |
| 165 | |
Sylvain Munaut | 495a678 | 2006-12-13 21:09:55 +0100 | [diff] [blame] | 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 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 187 | config USB_OHCI_HCD_PCI |
| 188 | bool "OHCI support for PCI-bus USB controllers" |
Sylvain Munaut | 495a678 | 2006-12-13 21:09:55 +0100 | [diff] [blame] | 189 | depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | |
Michael Buesch | c604e85 | 2007-10-09 23:47:17 -0700 | [diff] [blame] | 196 | config USB_OHCI_HCD_SSB |
| 197 | bool "OHCI support for Broadcom SSB OHCI core" |
Adrian Bunk | 1011b32 | 2007-10-27 03:06:47 +0200 | [diff] [blame] | 198 | depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD) && EXPERIMENTAL |
Michael Buesch | c604e85 | 2007-10-09 23:47:17 -0700 | [diff] [blame] | 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 | |
Benjamin Herrenschmidt | 11d1a4a | 2006-12-15 06:54:03 +1100 | [diff] [blame] | 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 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | |
Tony Olech | d774efe | 2006-09-13 11:27:35 +0100 | [diff] [blame] | 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 | |
Matt LaPlante | 3cb2fcc | 2006-11-30 05:22:59 +0100 | [diff] [blame] | 252 | For those PC cards that contain multiple OHCI controllers only the |
Tony Olech | d774efe | 2006-09-13 11:27:35 +0100 | [diff] [blame] | 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 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 269 | config USB_SL811_HCD |
| 270 | tristate "SL811HS HCD support" |
| 271 | depends on USB |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | |
David Brownell | c6de2b6 | 2005-05-26 05:55:55 -0700 | [diff] [blame] | 281 | config USB_SL811_CS |
| 282 | tristate "CF/PCMCIA support for SL811HS HCD" |
| 283 | depends on USB_SL811_HCD && PCMCIA |
David Brownell | c6de2b6 | 2005-05-26 05:55:55 -0700 | [diff] [blame] | 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 | |
Yoshihiro Shimoda | 5d30435 | 2007-05-10 13:18:19 +0900 | [diff] [blame] | 291 | config USB_R8A66597_HCD |
M4rkusXXL | fa0de2b | 2007-08-10 14:53:32 -0700 | [diff] [blame] | 292 | tristate "R8A66597 HCD support" |
Yoshihiro Shimoda | 5d30435 | 2007-05-10 13:18:19 +0900 | [diff] [blame] | 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 | |
Yoshihiro Shimoda | 9424ea2 | 2008-04-10 21:05:58 +0900 | [diff] [blame] | 303 | config SUPERH_ON_CHIP_R8A66597 |
Yoshihiro Shimoda | 77d11ba | 2008-06-09 16:00:32 +0900 | [diff] [blame] | 304 | boolean "Enable SuperH on-chip R8A66597 USB" |
| 305 | depends on USB_R8A66597_HCD && (CPU_SUBTYPE_SH7366 || CPU_SUBTYPE_SH7723) |
Yoshihiro Shimoda | 9424ea2 | 2008-04-10 21:05:58 +0900 | [diff] [blame] | 306 | help |
Yoshihiro Shimoda | 77d11ba | 2008-06-09 16:00:32 +0900 | [diff] [blame] | 307 | This driver enables support for the on-chip R8A66597 in the |
| 308 | SH7366 and SH7723 processors. |
David Vrabel | 7e6133a | 2008-09-17 16:34:28 +0100 | [diff] [blame] | 309 | |
| 310 | config USB_WHCI_HCD |
David Vrabel | 6a7c3e4 | 2008-09-17 16:34:43 +0100 | [diff] [blame] | 311 | tristate "Wireless USB Host Controller Interface (WHCI) driver (EXPERIMENTAL)" |
| 312 | depends on EXPERIMENTAL |
David Vrabel | 7e6133a | 2008-09-17 16:34:28 +0100 | [diff] [blame] | 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". |
Inaky Perez-Gonzalez | d09318b | 2008-09-17 16:34:30 +0100 | [diff] [blame] | 322 | |
| 323 | config USB_HWA_HCD |
David Vrabel | 6a7c3e4 | 2008-09-17 16:34:43 +0100 | [diff] [blame] | 324 | tristate "Host Wire Adapter (HWA) driver (EXPERIMENTAL)" |
| 325 | depends on EXPERIMENTAL |
Inaky Perez-Gonzalez | d09318b | 2008-09-17 16:34:30 +0100 | [diff] [blame] | 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". |