mirror of
https://github.com/torvalds/linux.git
synced 2024-11-05 03:21:32 +00:00
3e5b08cbbf
* 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (144 commits) USB: add support for Dream Cheeky DL100B Webmail Notifier (1d34:0004) USB: serial: ftdi_sio: add support for TIOCSERGETLSR USB: ehci-mxc: Setup portsc register prior to accessing OTG viewport USB: atmel_usba_udc: fix freeing irq in usba_udc_remove() usb: ehci-omap: fix tll channel enable mask usb: ohci-omap3: fix trivial typo USB: gadget: ci13xxx: don't assume that PAGE_SIZE is 4096 USB: gadget: ci13xxx: fix complete() callback for no_interrupt rq's USB: gadget: update ci13xxx to work with g_ether USB: gadgets: ci13xxx: fix probing of compiled-in gadget drivers Revert "USB: musb: pm: don't rely fully on clock support" Revert "USB: musb: blackfin: pm: make it work" USB: uas: Use GFP_NOIO instead of GFP_KERNEL in I/O submission path USB: uas: Ensure we only bind to a UAS interface USB: uas: Rename sense pipe and sense urb to status pipe and status urb USB: uas: Use kzalloc instead of kmalloc USB: uas: Fix up the Sense IU usb: musb: core: kill unneeded #include's DA8xx: assign name to MUSB IRQ resource usb: gadget: g_ncm added ... Manually fix up trivial conflicts in USB Kconfig changes in: arch/arm/mach-omap2/Kconfig arch/sh/Kconfig drivers/usb/Kconfig drivers/usb/host/ehci-hcd.c and annoying chip clock data conflicts in: arch/arm/mach-omap2/clock3xxx_data.c arch/arm/mach-omap2/clock44xx_data.c
497 lines
16 KiB
Plaintext
497 lines
16 KiB
Plaintext
#
|
|
# 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_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)
|
|
default y
|
|
|
|
config USB_EHCI_BIG_ENDIAN_DESC
|
|
bool
|
|
depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
|
|
PPC_MPC512x)
|
|
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_72K
|
|
---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.
|
|
|
|
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_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_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_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_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
|
|
throught 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_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
|