| # | |
| # USB Host Controller Drivers | |
| # | |
| comment "USB Host Controller Drivers" | |
| depends on USB | |
| config USB_EHCI_HCD | |
| tristate "EHCI HCD (USB 2.0) support" | |
| depends on USB && USB_ARCH_HAS_EHCI | |
| ---help--- | |
| The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0 | |
| "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware. | |
| If your USB host controller supports USB 2.0, you will likely want to | |
| configure this Host Controller Driver. At the time of this writing, | |
| the primary implementation of EHCI is a chip from NEC, widely available | |
| in add-on PCI cards, but implementations are in the works from other | |
| vendors including Intel and Philips. Motherboard support is appearing. | |
| EHCI controllers are packaged with "companion" host controllers (OHCI | |
| or UHCI) to handle USB 1.1 devices connected to root hub ports. Ports | |
| will connect to EHCI if the device is high speed, otherwise they | |
| connect to a companion controller. If you configure EHCI, you should | |
| probably configure the OHCI (for NEC and some other vendors) USB Host | |
| Controller Driver or UHCI (for Via motherboards) Host Controller | |
| Driver too. | |
| You may want to read <file:Documentation/usb/ehci.txt>. | |
| To compile this driver as a module, choose M here: the | |
| module will be called ehci-hcd. | |
| config USB_EHCI_SPLIT_ISO | |
| bool "Full speed ISO transactions (EXPERIMENTAL)" | |
| depends on USB_EHCI_HCD && EXPERIMENTAL | |
| default n | |
| ---help--- | |
| This code is new and hasn't been used with many different | |
| EHCI or USB 2.0 transaction translator implementations. | |
| It should work for ISO-OUT transfers, like audio. | |
| config USB_EHCI_ROOT_HUB_TT | |
| bool "Root Hub Transaction Translators (EXPERIMENTAL)" | |
| depends on USB_EHCI_HCD && EXPERIMENTAL | |
| ---help--- | |
| Some EHCI chips have vendor-specific extensions to integrate | |
| transaction translators, so that no OHCI or UHCI companion | |
| controller is needed. It's safe to say "y" even if your | |
| controller doesn't support this feature. | |
| This supports the EHCI implementation that's originally | |
| from ARC, and has since changed hands a few times. | |
| config USB_EHCI_TT_NEWSCHED | |
| bool "Improved Transaction Translator scheduling (EXPERIMENTAL)" | |
| depends on USB_EHCI_HCD && EXPERIMENTAL | |
| ---help--- | |
| This changes the periodic scheduling code to fill more of the low | |
| and full speed bandwidth available from the Transaction Translator | |
| (TT) in USB 2.0 hubs. Without this, only one transfer will be | |
| issued in each microframe, significantly reducing the number of | |
| periodic low/fullspeed transfers possible. | |
| If you have multiple periodic low/fullspeed devices connected to a | |
| highspeed USB hub which is connected to a highspeed USB Host | |
| Controller, and some of those devices will not work correctly | |
| (possibly due to "ENOSPC" or "-28" errors), say Y. | |
| If unsure, say N. | |
| config USB_EHCI_BIG_ENDIAN_MMIO | |
| bool | |
| depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX) | |
| default y | |
| config USB_EHCI_BIG_ENDIAN_DESC | |
| bool | |
| depends on USB_EHCI_HCD && 440EPX | |
| default y | |
| config USB_EHCI_FSL | |
| bool | |
| select USB_EHCI_ROOT_HUB_TT | |
| default y if MPC834x || PPC_MPC831x | |
| ---help--- | |
| Variation of ARC USB block used in some Freescale chips. | |
| config USB_ISP116X_HCD | |
| tristate "ISP116X HCD support" | |
| depends on USB | |
| ---help--- | |
| The ISP1160 and ISP1161 chips are USB host controllers. Enable this | |
| option if your board has this chip. If unsure, say N. | |
| This driver does not support isochronous transfers. | |
| To compile this driver as a module, choose M here: the | |
| module will be called isp116x-hcd. | |
| config USB_OHCI_HCD | |
| tristate "OHCI HCD support" | |
| depends on USB && USB_ARCH_HAS_OHCI | |
| select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 | |
| select I2C if ARCH_PNX4008 | |
| ---help--- | |
| The Open Host Controller Interface (OHCI) is a standard for accessing | |
| USB 1.1 host controller hardware. It does more in hardware than Intel's | |
| UHCI specification. If your USB host controller follows the OHCI spec, | |
| say Y. On most non-x86 systems, and on x86 hardware that's not using a | |
| USB controller from Intel or VIA, this is appropriate. If your host | |
| controller doesn't use PCI, this is probably appropriate. For a PCI | |
| based system where you're not sure, the "lspci -v" entry will list the | |
| right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI. | |
| To compile this driver as a module, choose M here: the | |
| module will be called ohci-hcd. | |
| config USB_OHCI_HCD_PPC_SOC | |
| bool "OHCI support for on-chip PPC USB controller" | |
| depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx) | |
| default y | |
| select USB_OHCI_BIG_ENDIAN_DESC | |
| select USB_OHCI_BIG_ENDIAN_MMIO | |
| ---help--- | |
| Enables support for the USB controller on the MPC52xx or | |
| STB03xxx processor chip. If unsure, say Y. | |
| config USB_OHCI_HCD_PPC_OF | |
| bool "OHCI support for PPC USB controller on OF platform bus" | |
| depends on USB_OHCI_HCD && PPC_OF | |
| default y | |
| ---help--- | |
| Enables support for the USB controller PowerPC present on the | |
| OpenFirmware platform bus. | |
| config USB_OHCI_HCD_PPC_OF_BE | |
| bool "Support big endian HC" | |
| depends on USB_OHCI_HCD_PPC_OF | |
| default y | |
| select USB_OHCI_BIG_ENDIAN_DESC | |
| select USB_OHCI_BIG_ENDIAN_MMIO | |
| config USB_OHCI_HCD_PPC_OF_LE | |
| bool "Support little endian HC" | |
| depends on USB_OHCI_HCD_PPC_OF | |
| default n | |
| select USB_OHCI_LITTLE_ENDIAN | |
| config USB_OHCI_HCD_PCI | |
| bool "OHCI support for PCI-bus USB controllers" | |
| depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF) | |
| default y | |
| select USB_OHCI_LITTLE_ENDIAN | |
| ---help--- | |
| Enables support for PCI-bus plug-in USB controller cards. | |
| If unsure, say Y. | |
| config USB_OHCI_BIG_ENDIAN_DESC | |
| bool | |
| depends on USB_OHCI_HCD | |
| default n | |
| config USB_OHCI_BIG_ENDIAN_MMIO | |
| bool | |
| depends on USB_OHCI_HCD | |
| default n | |
| config USB_OHCI_LITTLE_ENDIAN | |
| bool | |
| depends on USB_OHCI_HCD | |
| default n if STB03xxx || PPC_MPC52xx | |
| default y | |
| config USB_UHCI_HCD | |
| tristate "UHCI HCD (most Intel and VIA) support" | |
| depends on USB && PCI | |
| ---help--- | |
| The Universal Host Controller Interface is a standard by Intel for | |
| accessing the USB hardware in the PC (which is also called the USB | |
| host controller). If your USB host controller conforms to this | |
| standard, you may want to say Y, but see below. All recent boards | |
| with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX, | |
| i810, i820) conform to this standard. Also all VIA PCI chipsets | |
| (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro | |
| 133). If unsure, say Y. | |
| To compile this driver as a module, choose M here: the | |
| module will be called uhci-hcd. | |
| config USB_U132_HCD | |
| tristate "Elan U132 Adapter Host Controller" | |
| depends on USB && USB_FTDI_ELAN | |
| default M | |
| help | |
| The U132 adapter is a USB to CardBus adapter specifically designed | |
| for PC cards that contain an OHCI host controller. Typical PC cards | |
| are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132 | |
| adapter will *NOT* work with PC cards that do not contain an OHCI | |
| controller. | |
| For those PC cards that contain multiple OHCI controllers only the | |
| first one is used. | |
| The driver consists of two modules, the "ftdi-elan" module is a | |
| USB client driver that interfaces to the FTDI chip within ELAN's | |
| USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host | |
| controller driver that talks to the OHCI controller within the | |
| CardBus cards that are inserted in the U132 adapter. | |
| This driver has been tested with a CardBus OHCI USB adapter, and | |
| worked with a USB PEN Drive inserted into the first USB port of | |
| the PCCARD. A rather pointless thing to do, but useful for testing. | |
| It is safe to say M here. | |
| See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php> | |
| config USB_SL811_HCD | |
| tristate "SL811HS HCD support" | |
| depends on USB | |
| help | |
| The SL811HS is a single-port USB controller that supports either | |
| host side or peripheral side roles. Enable this option if your | |
| board has this chip, and you want to use it as a host controller. | |
| If unsure, say N. | |
| To compile this driver as a module, choose M here: the | |
| module will be called sl811-hcd. | |
| config USB_SL811_CS | |
| tristate "CF/PCMCIA support for SL811HS HCD" | |
| depends on USB_SL811_HCD && PCMCIA | |
| help | |
| Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC | |
| REX-CFU1U CF card (often used with PDAs). If unsure, say N. | |
| To compile this driver as a module, choose M here: the | |
| module will be called "sl811_cs". | |
| config USB_R8A66597_HCD | |
| tristate "R8A66597 HCD support" | |
| depends on USB | |
| help | |
| The R8A66597 is a USB 2.0 host and peripheral controller. | |
| Enable this option if your board has this chip, and you want | |
| to use it as a host controller. If unsure, say N. | |
| To compile this driver as a module, choose M here: the | |
| module will be called r8a66597-hcd. | |