| # |
| # USB Host Controller Drivers |
| # |
| comment "USB Host Controller Drivers" |
| depends on USB |
| |
| config USB_C67X00_HCD |
| tristate "Cypress C67x00 HCD support" |
| depends on USB |
| help |
| The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role |
| host/peripheral/OTG USB controllers. |
| |
| Enable this option to support this chip in host controller mode. |
| If unsure, say N. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called c67x00. |
| |
| config USB_XHCI_HCD |
| tristate "xHCI HCD (USB 3.0) support (EXPERIMENTAL)" |
| depends on USB && PCI && EXPERIMENTAL |
| ---help--- |
| The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0 |
| "SuperSpeed" host controller hardware. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called xhci-hcd. |
| |
| config USB_XHCI_HCD_DEBUGGING |
| bool "Debugging for the xHCI host controller" |
| depends on USB_XHCI_HCD |
| ---help--- |
| Say 'Y' to turn on debugging for the xHCI host controller driver. |
| This will spew debugging output, even in interrupt context. |
| This should only be used for debugging xHCI driver bugs. |
| |
| If unsure, say N. |
| |
| 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. |
| |
| 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_ROOT_HUB_TT |
| bool "Root Hub Transaction Translators" |
| depends on USB_EHCI_HCD |
| ---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" |
| depends on USB_EHCI_HCD |
| default y |
| ---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. Conversely, if |
| you have only one such device and it doesn't work, you could try |
| saying N. |
| |
| If unsure, say Y. |
| |
| config USB_EHCI_HCD_PMC_MSP |
| tristate "EHCI support for on-chip PMC MSP71xx USB controller" |
| depends on USB_EHCI_HCD && MSP_HAS_USB |
| default n |
| select USB_EHCI_BIG_ENDIAN_DESC |
| select USB_EHCI_BIG_ENDIAN_MMIO |
| ---help--- |
| Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's. |
| If unsure, say N. |
| |
| config USB_EHCI_BIG_ENDIAN_MMIO |
| bool |
| depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || \ |
| ARCH_IXP4XX || XPS_USB_HCD_XILINX || \ |
| PPC_MPC512x || CPU_CAVIUM_OCTEON || \ |
| PMC_MSP || SPARC_LEON) |
| default y |
| |
| config USB_EHCI_BIG_ENDIAN_DESC |
| bool |
| depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX || XPS_USB_HCD_XILINX || \ |
| PPC_MPC512x || PMC_MSP || SPARC_LEON) |
| default y |
| |
| config XPS_USB_HCD_XILINX |
| bool "Use Xilinx usb host EHCI controller core" |
| depends on USB_EHCI_HCD && (PPC32 || MICROBLAZE) |
| select USB_EHCI_BIG_ENDIAN_DESC |
| select USB_EHCI_BIG_ENDIAN_MMIO |
| ---help--- |
| Xilinx xps USB host controller core is EHCI compilant and has |
| transaction translator built-in. It can be configured to either |
| support both high speed and full speed devices, or high speed |
| devices only. |
| |
| config USB_FSL_MPH_DR_OF |
| tristate |
| |
| config USB_EHCI_FSL |
| bool "Support for Freescale on-chip EHCI USB controller" |
| depends on USB_EHCI_HCD && FSL_SOC |
| select USB_EHCI_ROOT_HUB_TT |
| select USB_FSL_MPH_DR_OF if OF |
| ---help--- |
| Variation of ARC USB block used in some Freescale chips. |
| |
| config USB_EHCI_MXC |
| bool "Support for Freescale on-chip EHCI USB controller" |
| depends on USB_EHCI_HCD && ARCH_MXC |
| select USB_EHCI_ROOT_HUB_TT |
| ---help--- |
| Variation of ARC USB block used in some Freescale chips. |
| |
| config USB_EHCI_HCD_OMAP |
| bool "EHCI support for OMAP3 and later chips" |
| depends on USB_EHCI_HCD && ARCH_OMAP |
| default y |
| --- help --- |
| Enables support for the on-chip EHCI controller on |
| OMAP3 and later chips. |
| |
| config USB_EHCI_MSM |
| bool "Support for MSM on-chip EHCI USB controller" |
| depends on USB_EHCI_HCD && ARCH_MSM |
| select USB_EHCI_ROOT_HUB_TT |
| select USB_MSM_OTG |
| ---help--- |
| Enables support for the USB Host controller present on the |
| Qualcomm chipsets. Root Hub has inbuilt TT. |
| This driver depends on OTG driver for PHY initialization, |
| clock management, powering up VBUS, and power management. |
| This driver is not supported on boards like trout which |
| has an external PHY. |
| |
| config USB_EHCI_TEGRA |
| boolean "NVIDIA Tegra HCD support" |
| depends on USB_EHCI_HCD && ARCH_TEGRA |
| select USB_EHCI_ROOT_HUB_TT |
| help |
| This driver enables support for the internal USB Host Controllers |
| found in NVIDIA Tegra SoCs. The controllers are EHCI compliant. |
| |
| config USB_EHCI_HCD_PPC_OF |
| bool "EHCI support for PPC USB controller on OF platform bus" |
| depends on USB_EHCI_HCD && PPC_OF |
| default y |
| ---help--- |
| Enables support for the USB controller present on the PowerPC |
| OpenFirmware platform bus. |
| |
| config USB_EHCI_SH |
| bool "EHCI support for SuperH USB controller" |
| depends on USB_EHCI_HCD && SUPERH |
| ---help--- |
| Enables support for the on-chip EHCI controller on the SuperH. |
| If you use the PCI EHCI controller, this option is not necessary. |
| |
| config USB_EHCI_S5P |
| boolean "S5P EHCI support" |
| depends on USB_EHCI_HCD && PLAT_S5P |
| help |
| Enable support for the S5P SOC's on-chip EHCI controller. |
| |
| config USB_W90X900_EHCI |
| bool "W90X900(W90P910) EHCI support" |
| depends on USB_EHCI_HCD && ARCH_W90X900 |
| ---help--- |
| Enables support for the W90X900 USB controller |
| |
| config USB_CNS3XXX_EHCI |
| bool "Cavium CNS3XXX EHCI Module" |
| depends on USB_EHCI_HCD && ARCH_CNS3XXX |
| ---help--- |
| Enable support for the CNS3XXX SOC's on-chip EHCI controller. |
| It is needed for high-speed (480Mbit/sec) USB 2.0 device |
| support. |
| |
| config USB_EHCI_ATH79 |
| bool "EHCI support for AR7XXX/AR9XXX SoCs" |
| depends on USB_EHCI_HCD && (SOC_AR71XX || SOC_AR724X || SOC_AR913X) |
| select USB_EHCI_ROOT_HUB_TT |
| default y |
| ---help--- |
| Enables support for the built-in EHCI controller present |
| on the Atheros AR7XXX/AR9XXX SoCs. |
| |
| config USB_OXU210HP_HCD |
| tristate "OXU210HP HCD support" |
| depends on USB |
| ---help--- |
| The OXU210HP is an USB host/OTG/device controller. Enable this |
| option if your board has this chip. If unsure, say N. |
| |
| This driver does not support isochronous transfers and doesn't |
| implement OTG nor USB device controllers. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called oxu210hp-hcd. |
| |
| 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_ISP1760_HCD |
| tristate "ISP 1760 HCD support" |
| depends on USB && EXPERIMENTAL |
| ---help--- |
| The ISP1760 chip is a USB 2.0 host controller. |
| |
| This driver does not support isochronous transfers or OTG. |
| This USB controller is usually attached to a non-DMA-Master |
| capable bus. NXP's eval kit brings this chip on PCI card |
| where the chip itself is behind a PLB to simulate such |
| a bus. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called isp1760. |
| |
| config USB_ISP1362_HCD |
| tristate "ISP1362 HCD support" |
| depends on USB |
| default N |
| ---help--- |
| Supports the Philips ISP1362 chip as a host controller |
| |
| This driver does not support isochronous transfers. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called isp1362-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 USB_OTG_UTILS if ARCH_OMAP |
| ---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_OMAP1 |
| bool "OHCI support for OMAP1/2 chips" |
| depends on USB_OHCI_HCD && (ARCH_OMAP1 || ARCH_OMAP2) |
| default y |
| ---help--- |
| Enables support for the OHCI controller on OMAP1/2 chips. |
| |
| config USB_OHCI_HCD_OMAP3 |
| bool "OHCI support for OMAP3 and later chips" |
| depends on USB_OHCI_HCD && (ARCH_OMAP3 || ARCH_OMAP4) |
| default y |
| ---help--- |
| Enables support for the on-chip OHCI controller on |
| OMAP3 and later chips. |
| |
| config USB_OHCI_ATH79 |
| bool "USB OHCI support for the Atheros AR71XX/AR7240 SoCs" |
| depends on USB_OHCI_HCD && (SOC_AR71XX || SOC_AR724X) |
| default y |
| help |
| Enables support for the built-in OHCI controller present on the |
| Atheros AR71XX/AR7240 SoCs. |
| |
| 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_BE |
| bool "OHCI support for OF platform bus (big endian)" |
| depends on USB_OHCI_HCD && PPC_OF |
| select USB_OHCI_BIG_ENDIAN_DESC |
| select USB_OHCI_BIG_ENDIAN_MMIO |
| ---help--- |
| Enables support for big-endian USB controllers present on the |
| OpenFirmware platform bus. |
| |
| config USB_OHCI_HCD_PPC_OF_LE |
| bool "OHCI support for OF platform bus (little endian)" |
| depends on USB_OHCI_HCD && PPC_OF |
| select USB_OHCI_LITTLE_ENDIAN |
| ---help--- |
| Enables support for little-endian USB controllers present on the |
| OpenFirmware platform bus. |
| |
| config USB_OHCI_HCD_PPC_OF |
| bool |
| depends on USB_OHCI_HCD && PPC_OF |
| default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE |
| |
| 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_HCD_SSB |
| bool "OHCI support for Broadcom SSB OHCI core" |
| depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD) && EXPERIMENTAL |
| default n |
| ---help--- |
| Support for the Sonics Silicon Backplane (SSB) attached |
| Broadcom USB OHCI core. |
| |
| This device is present in some embedded devices with |
| Broadcom based SSB bus. |
| |
| If unsure, say N. |
| |
| config USB_OHCI_SH |
| bool "OHCI support for SuperH USB controller" |
| depends on USB_OHCI_HCD && SUPERH |
| ---help--- |
| Enables support for the on-chip OHCI controller on the SuperH. |
| If you use the PCI OHCI controller, this option is not necessary. |
| |
| config USB_CNS3XXX_OHCI |
| bool "Cavium CNS3XXX OHCI Module" |
| depends on USB_OHCI_HCD && ARCH_CNS3XXX |
| ---help--- |
| Enable support for the CNS3XXX SOC's on-chip OHCI controller. |
| It is needed for low-speed USB 1.0 device support. |
| |
| 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_FHCI_HCD |
| tristate "Freescale QE USB Host Controller support" |
| depends on USB && OF_GPIO && QE_GPIO && QUICC_ENGINE |
| select FSL_GTM |
| select QE_USB |
| help |
| This driver enables support for Freescale QE USB Host Controller |
| (as found on MPC8360 and MPC8323 processors), the driver supports |
| Full and Low Speed USB. |
| |
| config FHCI_DEBUG |
| bool "Freescale QE USB Host Controller debug support" |
| depends on USB_FHCI_HCD && DEBUG_FS |
| help |
| Say "y" to see some FHCI debug information and statistics |
| through debugfs. |
| |
| 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_HCD_ISO |
| bool "partial ISO support" |
| depends on USB_SL811_HCD |
| help |
| The driver doesn't support iso_frame_desc (yet), but for some simple |
| devices that just queue one ISO frame per URB, then ISO transfers |
| "should" work using the normal urb status fields. |
| |
| If unsure, say N. |
| |
| 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. |
| |
| config USB_WHCI_HCD |
| tristate "Wireless USB Host Controller Interface (WHCI) driver (EXPERIMENTAL)" |
| depends on EXPERIMENTAL |
| depends on PCI && USB |
| select USB_WUSB |
| select UWB_WHCI |
| help |
| A driver for PCI-based Wireless USB Host Controllers that are |
| compliant with the WHCI specification. |
| |
| To compile this driver a module, choose M here: the module |
| will be called "whci-hcd". |
| |
| config USB_HWA_HCD |
| tristate "Host Wire Adapter (HWA) driver (EXPERIMENTAL)" |
| depends on EXPERIMENTAL |
| depends on USB |
| select USB_WUSB |
| select UWB_HWA |
| help |
| This driver enables you to connect Wireless USB devices to |
| your system using a Host Wire Adaptor USB dongle. This is an |
| UWB Radio Controller and WUSB Host Controller connected to |
| your machine via USB (specified in WUSB1.0). |
| |
| To compile this driver a module, choose M here: the module |
| will be called "hwa-hc". |
| |
| config USB_IMX21_HCD |
| tristate "iMX21 HCD support" |
| depends on USB && ARM && MACH_MX21 |
| help |
| This driver enables support for the on-chip USB host in the |
| iMX21 processor. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called "imx21-hcd". |
| |
| config USB_OCTEON_EHCI |
| bool "Octeon on-chip EHCI support" |
| depends on USB && USB_EHCI_HCD && CPU_CAVIUM_OCTEON |
| default n |
| select USB_EHCI_BIG_ENDIAN_MMIO |
| help |
| Enable support for the Octeon II SOC's on-chip EHCI |
| controller. It is needed for high-speed (480Mbit/sec) |
| USB 2.0 device support. All CN6XXX based chips with USB are |
| supported. |
| |
| config USB_OCTEON_OHCI |
| bool "Octeon on-chip OHCI support" |
| depends on USB && USB_OHCI_HCD && CPU_CAVIUM_OCTEON |
| default USB_OCTEON_EHCI |
| select USB_OHCI_BIG_ENDIAN_MMIO |
| select USB_OHCI_LITTLE_ENDIAN |
| help |
| Enable support for the Octeon II SOC's on-chip OHCI |
| controller. It is needed for low-speed USB 1.0 device |
| support. All CN6XXX based chips with USB are supported. |
| |
| config USB_OCTEON2_COMMON |
| bool |
| default y if USB_OCTEON_EHCI || USB_OCTEON_OHCI |