| 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 |  | 
|  | 7 | config USB_EHCI_HCD | 
|  | 8 | tristate "EHCI HCD (USB 2.0) support" | 
| Jordan Crouse | 76fa9a2 | 2006-01-20 14:06:09 -0800 | [diff] [blame] | 9 | depends on USB && USB_ARCH_HAS_EHCI | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | 
| Jesper Juhl | b3c29d8 | 2006-01-10 00:35:22 +0100 | [diff] [blame] | 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. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | 
| Jesper Juhl | b3c29d8 | 2006-01-10 00:35:22 +0100 | [diff] [blame] | 21 | will connect to EHCI if the device is high speed, otherwise they | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | config USB_EHCI_ROOT_HUB_TT | 
|  | 33 | bool "Root Hub Transaction Translators (EXPERIMENTAL)" | 
|  | 34 | depends on USB_EHCI_HCD && EXPERIMENTAL | 
|  | 35 | ---help--- | 
|  | 36 | Some EHCI chips have vendor-specific extensions to integrate | 
|  | 37 | transaction translators, so that no OHCI or UHCI companion | 
|  | 38 | controller is needed.  It's safe to say "y" even if your | 
|  | 39 | controller doesn't support this feature. | 
|  | 40 |  | 
| Dan Streetman | ba47f66 | 2006-05-24 09:39:16 -0700 | [diff] [blame] | 41 | This supports the EHCI implementation that's originally | 
|  | 42 | from ARC, and has since changed hands a few times. | 
|  | 43 |  | 
|  | 44 | config USB_EHCI_TT_NEWSCHED | 
|  | 45 | bool "Improved Transaction Translator scheduling (EXPERIMENTAL)" | 
|  | 46 | depends on USB_EHCI_HCD && EXPERIMENTAL | 
|  | 47 | ---help--- | 
|  | 48 | This changes the periodic scheduling code to fill more of the low | 
|  | 49 | and full speed bandwidth available from the Transaction Translator | 
|  | 50 | (TT) in USB 2.0 hubs.  Without this, only one transfer will be | 
|  | 51 | issued in each microframe, significantly reducing the number of | 
|  | 52 | periodic low/fullspeed transfers possible. | 
|  | 53 |  | 
|  | 54 | If you have multiple periodic low/fullspeed devices connected to a | 
|  | 55 | highspeed USB hub which is connected to a highspeed USB Host | 
|  | 56 | Controller, and some of those devices will not work correctly | 
|  | 57 | (possibly due to "ENOSPC" or "-28" errors), say Y. | 
|  | 58 |  | 
|  | 59 | If unsure, say N. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 60 |  | 
| Benjamin Herrenschmidt | 083522d | 2006-12-15 06:54:08 +1100 | [diff] [blame] | 61 | config USB_EHCI_BIG_ENDIAN_MMIO | 
|  | 62 | bool | 
| Vladimir Barinov | 91bc4d3 | 2007-12-30 15:21:11 -0800 | [diff] [blame] | 63 | depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || ARCH_IXP4XX) | 
| Stefan Roese | 4d68c0b | 2007-05-04 11:39:37 -0700 | [diff] [blame] | 64 | default y | 
| Benjamin Herrenschmidt | 083522d | 2006-12-15 06:54:08 +1100 | [diff] [blame] | 65 |  | 
| Stefan Roese | 6dbd682 | 2007-05-01 09:29:37 -0700 | [diff] [blame] | 66 | config USB_EHCI_BIG_ENDIAN_DESC | 
|  | 67 | bool | 
| Vladimir Barinov | 91bc4d3 | 2007-12-30 15:21:11 -0800 | [diff] [blame] | 68 | depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX) | 
| Stefan Roese | 4d68c0b | 2007-05-04 11:39:37 -0700 | [diff] [blame] | 69 | default y | 
| Stefan Roese | 6dbd682 | 2007-05-01 09:29:37 -0700 | [diff] [blame] | 70 |  | 
| Li Yang | ba02978 | 2007-05-11 17:09:55 +0800 | [diff] [blame] | 71 | config USB_EHCI_FSL | 
|  | 72 | bool | 
| David Brownell | e057a35 | 2007-12-21 00:29:05 -0800 | [diff] [blame] | 73 | depends on USB_EHCI_HCD | 
| Li Yang | ba02978 | 2007-05-11 17:09:55 +0800 | [diff] [blame] | 74 | select USB_EHCI_ROOT_HUB_TT | 
|  | 75 | default y if MPC834x || PPC_MPC831x | 
|  | 76 | ---help--- | 
|  | 77 | Variation of ARC USB block used in some Freescale chips. | 
|  | 78 |  | 
| Valentine Barshak | da0e8fb | 2007-12-30 15:28:50 -0800 | [diff] [blame] | 79 | config USB_EHCI_HCD_PPC_OF | 
|  | 80 | bool "EHCI support for PPC USB controller on OF platform bus" | 
|  | 81 | depends on USB_EHCI_HCD && PPC_OF | 
|  | 82 | default y | 
|  | 83 | ---help--- | 
|  | 84 | Enables support for the USB controller present on the PowerPC | 
|  | 85 | OpenFirmware platform bus. | 
|  | 86 |  | 
| Olav Kongas | 4808a1c | 2005-04-09 22:57:39 +0300 | [diff] [blame] | 87 | config USB_ISP116X_HCD | 
|  | 88 | tristate "ISP116X HCD support" | 
|  | 89 | depends on USB | 
| Olav Kongas | 4808a1c | 2005-04-09 22:57:39 +0300 | [diff] [blame] | 90 | ---help--- | 
|  | 91 | The ISP1160 and ISP1161 chips are USB host controllers. Enable this | 
|  | 92 | option if your board has this chip. If unsure, say N. | 
|  | 93 |  | 
|  | 94 | This driver does not support isochronous transfers. | 
|  | 95 |  | 
|  | 96 | To compile this driver as a module, choose M here: the | 
|  | 97 | module will be called isp116x-hcd. | 
|  | 98 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 99 | config USB_OHCI_HCD | 
|  | 100 | tristate "OHCI HCD support" | 
|  | 101 | depends on USB && USB_ARCH_HAS_OHCI | 
|  | 102 | select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 | 
| Vitaly Wool | 60bbfc8 | 2006-06-29 18:28:18 +0400 | [diff] [blame] | 103 | select I2C if ARCH_PNX4008 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 104 | ---help--- | 
|  | 105 | The Open Host Controller Interface (OHCI) is a standard for accessing | 
|  | 106 | USB 1.1 host controller hardware.  It does more in hardware than Intel's | 
|  | 107 | UHCI specification.  If your USB host controller follows the OHCI spec, | 
|  | 108 | say Y.  On most non-x86 systems, and on x86 hardware that's not using a | 
|  | 109 | USB controller from Intel or VIA, this is appropriate.  If your host | 
|  | 110 | controller doesn't use PCI, this is probably appropriate.  For a PCI | 
|  | 111 | based system where you're not sure, the "lspci -v" entry will list the | 
|  | 112 | right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI. | 
|  | 113 |  | 
|  | 114 | To compile this driver as a module, choose M here: the | 
|  | 115 | module will be called ohci-hcd. | 
|  | 116 |  | 
|  | 117 | config USB_OHCI_HCD_PPC_SOC | 
|  | 118 | bool "OHCI support for on-chip PPC USB controller" | 
|  | 119 | depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx) | 
|  | 120 | default y | 
| Benjamin Herrenschmidt | 11d1a4a | 2006-12-15 06:54:03 +1100 | [diff] [blame] | 121 | select USB_OHCI_BIG_ENDIAN_DESC | 
|  | 122 | select USB_OHCI_BIG_ENDIAN_MMIO | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 123 | ---help--- | 
|  | 124 | Enables support for the USB controller on the MPC52xx or | 
|  | 125 | STB03xxx processor chip.  If unsure, say Y. | 
|  | 126 |  | 
| Sylvain Munaut | 495a678 | 2006-12-13 21:09:55 +0100 | [diff] [blame] | 127 | config USB_OHCI_HCD_PPC_OF | 
|  | 128 | bool "OHCI support for PPC USB controller on OF platform bus" | 
|  | 129 | depends on USB_OHCI_HCD && PPC_OF | 
|  | 130 | default y | 
|  | 131 | ---help--- | 
|  | 132 | Enables support for the USB controller PowerPC present on the | 
|  | 133 | OpenFirmware platform bus. | 
|  | 134 |  | 
|  | 135 | config USB_OHCI_HCD_PPC_OF_BE | 
|  | 136 | bool "Support big endian HC" | 
|  | 137 | depends on USB_OHCI_HCD_PPC_OF | 
|  | 138 | default y | 
|  | 139 | select USB_OHCI_BIG_ENDIAN_DESC | 
|  | 140 | select USB_OHCI_BIG_ENDIAN_MMIO | 
|  | 141 |  | 
|  | 142 | config USB_OHCI_HCD_PPC_OF_LE | 
|  | 143 | bool "Support little endian HC" | 
|  | 144 | depends on USB_OHCI_HCD_PPC_OF | 
|  | 145 | default n | 
|  | 146 | select USB_OHCI_LITTLE_ENDIAN | 
|  | 147 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 148 | config USB_OHCI_HCD_PCI | 
|  | 149 | bool "OHCI support for PCI-bus USB controllers" | 
| Sylvain Munaut | 495a678 | 2006-12-13 21:09:55 +0100 | [diff] [blame] | 150 | 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] | 151 | default y | 
|  | 152 | select USB_OHCI_LITTLE_ENDIAN | 
|  | 153 | ---help--- | 
|  | 154 | Enables support for PCI-bus plug-in USB controller cards. | 
|  | 155 | If unsure, say Y. | 
|  | 156 |  | 
| Michael Buesch | c604e85 | 2007-10-09 23:47:17 -0700 | [diff] [blame] | 157 | config USB_OHCI_HCD_SSB | 
|  | 158 | bool "OHCI support for Broadcom SSB OHCI core" | 
| Adrian Bunk | 1011b32 | 2007-10-27 03:06:47 +0200 | [diff] [blame] | 159 | depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD) && EXPERIMENTAL | 
| Michael Buesch | c604e85 | 2007-10-09 23:47:17 -0700 | [diff] [blame] | 160 | default n | 
|  | 161 | ---help--- | 
|  | 162 | Support for the Sonics Silicon Backplane (SSB) attached | 
|  | 163 | Broadcom USB OHCI core. | 
|  | 164 |  | 
|  | 165 | This device is present in some embedded devices with | 
|  | 166 | Broadcom based SSB bus. | 
|  | 167 |  | 
|  | 168 | If unsure, say N. | 
|  | 169 |  | 
| Benjamin Herrenschmidt | 11d1a4a | 2006-12-15 06:54:03 +1100 | [diff] [blame] | 170 | config USB_OHCI_BIG_ENDIAN_DESC | 
|  | 171 | bool | 
|  | 172 | depends on USB_OHCI_HCD | 
|  | 173 | default n | 
|  | 174 |  | 
|  | 175 | config USB_OHCI_BIG_ENDIAN_MMIO | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 176 | bool | 
|  | 177 | depends on USB_OHCI_HCD | 
|  | 178 | default n | 
|  | 179 |  | 
|  | 180 | config USB_OHCI_LITTLE_ENDIAN | 
|  | 181 | bool | 
|  | 182 | depends on USB_OHCI_HCD | 
|  | 183 | default n if STB03xxx || PPC_MPC52xx | 
|  | 184 | default y | 
|  | 185 |  | 
|  | 186 | config USB_UHCI_HCD | 
|  | 187 | tristate "UHCI HCD (most Intel and VIA) support" | 
|  | 188 | depends on USB && PCI | 
|  | 189 | ---help--- | 
|  | 190 | The Universal Host Controller Interface is a standard by Intel for | 
|  | 191 | accessing the USB hardware in the PC (which is also called the USB | 
|  | 192 | host controller). If your USB host controller conforms to this | 
|  | 193 | standard, you may want to say Y, but see below. All recent boards | 
|  | 194 | with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX, | 
|  | 195 | i810, i820) conform to this standard. Also all VIA PCI chipsets | 
|  | 196 | (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro | 
|  | 197 | 133). If unsure, say Y. | 
|  | 198 |  | 
|  | 199 | To compile this driver as a module, choose M here: the | 
|  | 200 | module will be called uhci-hcd. | 
|  | 201 |  | 
| Tony Olech | d774efe | 2006-09-13 11:27:35 +0100 | [diff] [blame] | 202 | config USB_U132_HCD | 
|  | 203 | tristate "Elan U132 Adapter Host Controller" | 
|  | 204 | depends on USB && USB_FTDI_ELAN | 
|  | 205 | default M | 
|  | 206 | help | 
|  | 207 | The U132 adapter is a USB to CardBus adapter specifically designed | 
|  | 208 | for PC cards that contain an OHCI host controller. Typical PC cards | 
|  | 209 | are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132 | 
|  | 210 | adapter will *NOT* work with PC cards that do not contain an OHCI | 
|  | 211 | controller. | 
|  | 212 |  | 
| Matt LaPlante | 3cb2fcc | 2006-11-30 05:22:59 +0100 | [diff] [blame] | 213 | For those PC cards that contain multiple OHCI controllers only the | 
| Tony Olech | d774efe | 2006-09-13 11:27:35 +0100 | [diff] [blame] | 214 | first one is used. | 
|  | 215 |  | 
|  | 216 | The driver consists of two modules, the "ftdi-elan" module is a | 
|  | 217 | USB client driver that interfaces to the FTDI chip within ELAN's | 
|  | 218 | USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host | 
|  | 219 | controller driver that talks to the OHCI controller within the | 
|  | 220 | CardBus cards that are inserted in the U132 adapter. | 
|  | 221 |  | 
|  | 222 | This driver has been tested with a CardBus OHCI USB adapter, and | 
|  | 223 | worked with a USB PEN Drive inserted into the first USB port of | 
|  | 224 | the PCCARD. A rather pointless thing to do, but useful for testing. | 
|  | 225 |  | 
|  | 226 | It is safe to say M here. | 
|  | 227 |  | 
|  | 228 | See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php> | 
|  | 229 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 230 | config USB_SL811_HCD | 
|  | 231 | tristate "SL811HS HCD support" | 
|  | 232 | depends on USB | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 233 | help | 
|  | 234 | The SL811HS is a single-port USB controller that supports either | 
|  | 235 | host side or peripheral side roles.  Enable this option if your | 
|  | 236 | board has this chip, and you want to use it as a host controller. | 
|  | 237 | If unsure, say N. | 
|  | 238 |  | 
|  | 239 | To compile this driver as a module, choose M here: the | 
|  | 240 | module will be called sl811-hcd. | 
|  | 241 |  | 
| David Brownell | c6de2b6 | 2005-05-26 05:55:55 -0700 | [diff] [blame] | 242 | config USB_SL811_CS | 
|  | 243 | tristate "CF/PCMCIA support for SL811HS HCD" | 
|  | 244 | depends on USB_SL811_HCD && PCMCIA | 
| David Brownell | c6de2b6 | 2005-05-26 05:55:55 -0700 | [diff] [blame] | 245 | help | 
|  | 246 | Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC | 
|  | 247 | REX-CFU1U CF card (often used with PDAs).  If unsure, say N. | 
|  | 248 |  | 
|  | 249 | To compile this driver as a module, choose M here: the | 
|  | 250 | module will be called "sl811_cs". | 
|  | 251 |  | 
| Yoshihiro Shimoda | 5d30435 | 2007-05-10 13:18:19 +0900 | [diff] [blame] | 252 | config USB_R8A66597_HCD | 
| M4rkusXXL | fa0de2b | 2007-08-10 14:53:32 -0700 | [diff] [blame] | 253 | tristate "R8A66597 HCD support" | 
| Yoshihiro Shimoda | 5d30435 | 2007-05-10 13:18:19 +0900 | [diff] [blame] | 254 | depends on USB | 
|  | 255 | help | 
|  | 256 | The R8A66597 is a USB 2.0 host and peripheral controller. | 
|  | 257 |  | 
|  | 258 | Enable this option if your board has this chip, and you want | 
|  | 259 | to use it as a host controller.  If unsure, say N. | 
|  | 260 |  | 
|  | 261 | To compile this driver as a module, choose M here: the | 
|  | 262 | module will be called r8a66597-hcd. | 
|  | 263 |  |