xref: /OK3568_Linux_fs/kernel/drivers/usb/host/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# USB Host Controller Drivers
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyuncomment "USB Host Controller Drivers"
6*4882a593Smuzhiyun
7*4882a593Smuzhiyunconfig USB_C67X00_HCD
8*4882a593Smuzhiyun	tristate "Cypress C67x00 HCD support"
9*4882a593Smuzhiyun	depends on HAS_IOMEM
10*4882a593Smuzhiyun	help
11*4882a593Smuzhiyun	  The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role
12*4882a593Smuzhiyun	  host/peripheral/OTG USB controllers.
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun	  Enable this option to support this chip in host controller mode.
15*4882a593Smuzhiyun	  If unsure, say N.
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
18*4882a593Smuzhiyun	  module will be called c67x00.
19*4882a593Smuzhiyun
20*4882a593Smuzhiyunconfig USB_XHCI_HCD
21*4882a593Smuzhiyun	tristate "xHCI HCD (USB 3.0) support"
22*4882a593Smuzhiyun	depends on HAS_DMA && HAS_IOMEM
23*4882a593Smuzhiyun	help
24*4882a593Smuzhiyun	  The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
25*4882a593Smuzhiyun	  "SuperSpeed" host controller hardware.
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
28*4882a593Smuzhiyun	  module will be called xhci-hcd.
29*4882a593Smuzhiyun
30*4882a593Smuzhiyunif USB_XHCI_HCD
31*4882a593Smuzhiyunconfig USB_XHCI_DBGCAP
32*4882a593Smuzhiyun	bool "xHCI support for debug capability"
33*4882a593Smuzhiyun	depends on TTY
34*4882a593Smuzhiyun	help
35*4882a593Smuzhiyun	  Say 'Y' to enable the support for the xHCI debug capability. Make
36*4882a593Smuzhiyun	  sure that your xHCI host supports the extended debug capability and
37*4882a593Smuzhiyun	  you want a TTY serial device based on the xHCI debug capability
38*4882a593Smuzhiyun	  before enabling this option. If unsure, say 'N'.
39*4882a593Smuzhiyun
40*4882a593Smuzhiyunconfig USB_XHCI_PCI
41*4882a593Smuzhiyun	tristate
42*4882a593Smuzhiyun	depends on USB_PCI
43*4882a593Smuzhiyun	depends on USB_XHCI_PCI_RENESAS || !USB_XHCI_PCI_RENESAS
44*4882a593Smuzhiyun	default y
45*4882a593Smuzhiyun
46*4882a593Smuzhiyunconfig USB_XHCI_PCI_RENESAS
47*4882a593Smuzhiyun	tristate "Support for additional Renesas xHCI controller with firmware"
48*4882a593Smuzhiyun	help
49*4882a593Smuzhiyun	  Say 'Y' to enable the support for the Renesas xHCI controller with
50*4882a593Smuzhiyun	  firmware. Make sure you have the firwmare for the device and
51*4882a593Smuzhiyun	  installed on your system for this device to work.
52*4882a593Smuzhiyun	  If unsure, say 'N'.
53*4882a593Smuzhiyun
54*4882a593Smuzhiyunconfig USB_XHCI_PLATFORM
55*4882a593Smuzhiyun	tristate "Generic xHCI driver for a platform device"
56*4882a593Smuzhiyun	select USB_XHCI_RCAR if ARCH_RENESAS
57*4882a593Smuzhiyun	help
58*4882a593Smuzhiyun	  Adds an xHCI host driver for a generic platform device, which
59*4882a593Smuzhiyun	  provides a memory space and an irq.
60*4882a593Smuzhiyun	  It is also a prerequisite for platform specific drivers that
61*4882a593Smuzhiyun	  implement some extra quirks.
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun	  If unsure, say N.
64*4882a593Smuzhiyun
65*4882a593Smuzhiyunconfig USB_XHCI_HISTB
66*4882a593Smuzhiyun	tristate "xHCI support for HiSilicon STB SoCs"
67*4882a593Smuzhiyun	depends on USB_XHCI_PLATFORM && (ARCH_HISI || COMPILE_TEST)
68*4882a593Smuzhiyun	help
69*4882a593Smuzhiyun	  Say 'Y' to enable the support for the xHCI host controller
70*4882a593Smuzhiyun	  found in HiSilicon STB SoCs.
71*4882a593Smuzhiyun
72*4882a593Smuzhiyunconfig USB_XHCI_MTK
73*4882a593Smuzhiyun	tristate "xHCI support for MediaTek SoCs"
74*4882a593Smuzhiyun	select MFD_SYSCON
75*4882a593Smuzhiyun	depends on (MIPS && SOC_MT7621) || ARCH_MEDIATEK || COMPILE_TEST
76*4882a593Smuzhiyun	help
77*4882a593Smuzhiyun	  Say 'Y' to enable the support for the xHCI host controller
78*4882a593Smuzhiyun	  found in MediaTek SoCs.
79*4882a593Smuzhiyun	  If unsure, say N.
80*4882a593Smuzhiyun
81*4882a593Smuzhiyunconfig USB_XHCI_MVEBU
82*4882a593Smuzhiyun	tristate "xHCI support for Marvell Armada 375/38x/37xx"
83*4882a593Smuzhiyun	select USB_XHCI_PLATFORM
84*4882a593Smuzhiyun	depends on HAS_IOMEM
85*4882a593Smuzhiyun	depends on ARCH_MVEBU || COMPILE_TEST
86*4882a593Smuzhiyun	help
87*4882a593Smuzhiyun	  Say 'Y' to enable the support for the xHCI host controller
88*4882a593Smuzhiyun	  found in Marvell Armada 375/38x/37xx ARM SOCs.
89*4882a593Smuzhiyun
90*4882a593Smuzhiyunconfig USB_XHCI_RCAR
91*4882a593Smuzhiyun	tristate "xHCI support for Renesas R-Car SoCs"
92*4882a593Smuzhiyun	depends on USB_XHCI_PLATFORM
93*4882a593Smuzhiyun	depends on ARCH_RENESAS || COMPILE_TEST
94*4882a593Smuzhiyun	help
95*4882a593Smuzhiyun	  Say 'Y' to enable the support for the xHCI host controller
96*4882a593Smuzhiyun	  found in Renesas R-Car ARM SoCs.
97*4882a593Smuzhiyun
98*4882a593Smuzhiyunconfig USB_XHCI_TEGRA
99*4882a593Smuzhiyun	tristate "xHCI support for NVIDIA Tegra SoCs"
100*4882a593Smuzhiyun	depends on PHY_TEGRA_XUSB
101*4882a593Smuzhiyun	depends on RESET_CONTROLLER
102*4882a593Smuzhiyun	select FW_LOADER
103*4882a593Smuzhiyun	help
104*4882a593Smuzhiyun	  Say 'Y' to enable the support for the xHCI host controller
105*4882a593Smuzhiyun	  found in NVIDIA Tegra124 and later SoCs.
106*4882a593Smuzhiyun
107*4882a593Smuzhiyunendif # USB_XHCI_HCD
108*4882a593Smuzhiyun
109*4882a593Smuzhiyunconfig USB_EHCI_BRCMSTB
110*4882a593Smuzhiyun       tristate
111*4882a593Smuzhiyun
112*4882a593Smuzhiyunconfig USB_BRCMSTB
113*4882a593Smuzhiyun	tristate "Broadcom STB USB support"
114*4882a593Smuzhiyun	depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST
115*4882a593Smuzhiyun	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
116*4882a593Smuzhiyun	select USB_EHCI_BRCMSTB if USB_EHCI_HCD
117*4882a593Smuzhiyun	select USB_XHCI_PLATFORM if USB_XHCI_HCD
118*4882a593Smuzhiyun	help
119*4882a593Smuzhiyun	  Enables support for XHCI, EHCI and OHCI host controllers
120*4882a593Smuzhiyun	  found in Broadcom STB SoC's.
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun	  To compile these drivers as modules, choose M here: the
123*4882a593Smuzhiyun	  modules will be called ohci-platform.ko, ehci-brcm.ko and
124*4882a593Smuzhiyun	  xhci-plat-hcd.ko
125*4882a593Smuzhiyun
126*4882a593Smuzhiyun	  Disabling this will keep the controllers and corresponding
127*4882a593Smuzhiyun	  PHYs powered down.
128*4882a593Smuzhiyun
129*4882a593Smuzhiyunconfig USB_EHCI_HCD
130*4882a593Smuzhiyun	tristate "EHCI HCD (USB 2.0) support"
131*4882a593Smuzhiyun	depends on HAS_DMA && HAS_IOMEM
132*4882a593Smuzhiyun	help
133*4882a593Smuzhiyun	  The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
134*4882a593Smuzhiyun	  "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
135*4882a593Smuzhiyun	  If your USB host controller supports USB 2.0, you will likely want to
136*4882a593Smuzhiyun	  configure this Host Controller Driver.
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun	  EHCI controllers are packaged with "companion" host controllers (OHCI
139*4882a593Smuzhiyun	  or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
140*4882a593Smuzhiyun	  will connect to EHCI if the device is high speed, otherwise they
141*4882a593Smuzhiyun	  connect to a companion controller.  If you configure EHCI, you should
142*4882a593Smuzhiyun	  probably configure the OHCI (for NEC and some other vendors) USB Host
143*4882a593Smuzhiyun	  Controller Driver or UHCI (for Via motherboards) Host Controller
144*4882a593Smuzhiyun	  Driver too.
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun	  You may want to read <file:Documentation/usb/ehci.rst>.
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
149*4882a593Smuzhiyun	  module will be called ehci-hcd.
150*4882a593Smuzhiyun
151*4882a593Smuzhiyunconfig USB_EHCI_ROOT_HUB_TT
152*4882a593Smuzhiyun	bool "Root Hub Transaction Translators"
153*4882a593Smuzhiyun	depends on USB_EHCI_HCD
154*4882a593Smuzhiyun	help
155*4882a593Smuzhiyun	  Some EHCI chips have vendor-specific extensions to integrate
156*4882a593Smuzhiyun	  transaction translators, so that no OHCI or UHCI companion
157*4882a593Smuzhiyun	  controller is needed.  It's safe to say "y" even if your
158*4882a593Smuzhiyun	  controller doesn't support this feature.
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun	  This supports the EHCI implementation that's originally
161*4882a593Smuzhiyun	  from ARC, and has since changed hands a few times.
162*4882a593Smuzhiyun
163*4882a593Smuzhiyunconfig USB_EHCI_TT_NEWSCHED
164*4882a593Smuzhiyun	bool "Improved Transaction Translator scheduling"
165*4882a593Smuzhiyun	depends on USB_EHCI_HCD
166*4882a593Smuzhiyun	default y
167*4882a593Smuzhiyun	help
168*4882a593Smuzhiyun	  This changes the periodic scheduling code to fill more of the low
169*4882a593Smuzhiyun	  and full speed bandwidth available from the Transaction Translator
170*4882a593Smuzhiyun	  (TT) in USB 2.0 hubs.  Without this, only one transfer will be
171*4882a593Smuzhiyun	  issued in each microframe, significantly reducing the number of
172*4882a593Smuzhiyun	  periodic low/fullspeed transfers possible.
173*4882a593Smuzhiyun
174*4882a593Smuzhiyun	  If you have multiple periodic low/fullspeed devices connected to a
175*4882a593Smuzhiyun	  highspeed USB hub which is connected to a highspeed USB Host
176*4882a593Smuzhiyun	  Controller, and some of those devices will not work correctly
177*4882a593Smuzhiyun	  (possibly due to "ENOSPC" or "-28" errors), say Y.  Conversely, if
178*4882a593Smuzhiyun	  you have only one such device and it doesn't work, you could try
179*4882a593Smuzhiyun	  saying N.
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun	  If unsure, say Y.
182*4882a593Smuzhiyun
183*4882a593Smuzhiyunif USB_EHCI_HCD
184*4882a593Smuzhiyun
185*4882a593Smuzhiyunconfig USB_EHCI_PCI
186*4882a593Smuzhiyun	tristate
187*4882a593Smuzhiyun	depends on USB_PCI
188*4882a593Smuzhiyun	default y
189*4882a593Smuzhiyun
190*4882a593Smuzhiyunconfig USB_EHCI_HCD_PMC_MSP
191*4882a593Smuzhiyun	tristate "EHCI support for on-chip PMC MSP71xx USB controller"
192*4882a593Smuzhiyun	depends on MSP_HAS_USB
193*4882a593Smuzhiyun	select USB_EHCI_BIG_ENDIAN_DESC
194*4882a593Smuzhiyun	select USB_EHCI_BIG_ENDIAN_MMIO
195*4882a593Smuzhiyun	help
196*4882a593Smuzhiyun		Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's.
197*4882a593Smuzhiyun		If unsure, say N.
198*4882a593Smuzhiyun
199*4882a593Smuzhiyunconfig XPS_USB_HCD_XILINX
200*4882a593Smuzhiyun	bool "Use Xilinx usb host EHCI controller core"
201*4882a593Smuzhiyun	depends on (PPC32 || MICROBLAZE)
202*4882a593Smuzhiyun	select USB_EHCI_BIG_ENDIAN_DESC
203*4882a593Smuzhiyun	select USB_EHCI_BIG_ENDIAN_MMIO
204*4882a593Smuzhiyun	help
205*4882a593Smuzhiyun		Xilinx xps USB host controller core is EHCI compliant and has
206*4882a593Smuzhiyun		transaction translator built-in. It can be configured to either
207*4882a593Smuzhiyun		support both high speed and full speed devices, or high speed
208*4882a593Smuzhiyun		devices only.
209*4882a593Smuzhiyun
210*4882a593Smuzhiyunconfig USB_EHCI_FSL
211*4882a593Smuzhiyun	tristate "Support for Freescale on-chip EHCI USB controller"
212*4882a593Smuzhiyun	select USB_EHCI_ROOT_HUB_TT
213*4882a593Smuzhiyun	help
214*4882a593Smuzhiyun	  Variation of ARC USB block used in some Freescale chips.
215*4882a593Smuzhiyun
216*4882a593Smuzhiyunconfig USB_EHCI_MXC
217*4882a593Smuzhiyun	tristate "Support for Freescale i.MX on-chip EHCI USB controller"
218*4882a593Smuzhiyun	depends on ARCH_MXC || COMPILE_TEST
219*4882a593Smuzhiyun	select USB_EHCI_ROOT_HUB_TT
220*4882a593Smuzhiyun	help
221*4882a593Smuzhiyun	  Variation of ARC USB block used in some Freescale chips.
222*4882a593Smuzhiyun
223*4882a593Smuzhiyunconfig USB_EHCI_HCD_NPCM7XX
224*4882a593Smuzhiyun	tristate "Support for Nuvoton NPCM7XX on-chip EHCI USB controller"
225*4882a593Smuzhiyun	depends on (USB_EHCI_HCD && ARCH_NPCM7XX) || COMPILE_TEST
226*4882a593Smuzhiyun	default y if (USB_EHCI_HCD && ARCH_NPCM7XX)
227*4882a593Smuzhiyun	help
228*4882a593Smuzhiyun	  Enables support for the on-chip EHCI controller on
229*4882a593Smuzhiyun	  Nuvoton NPCM7XX chips.
230*4882a593Smuzhiyun
231*4882a593Smuzhiyunconfig USB_EHCI_HCD_OMAP
232*4882a593Smuzhiyun	tristate "EHCI support for OMAP3 and later chips"
233*4882a593Smuzhiyun	depends on ARCH_OMAP
234*4882a593Smuzhiyun	depends on NOP_USB_XCEIV
235*4882a593Smuzhiyun	default y
236*4882a593Smuzhiyun	help
237*4882a593Smuzhiyun	  Enables support for the on-chip EHCI controller on
238*4882a593Smuzhiyun	  OMAP3 and later chips.
239*4882a593Smuzhiyun
240*4882a593Smuzhiyunconfig USB_EHCI_HCD_ORION
241*4882a593Smuzhiyun	tristate  "Support for Marvell EBU on-chip EHCI USB controller"
242*4882a593Smuzhiyun	depends on USB_EHCI_HCD && (PLAT_ORION || ARCH_MVEBU || COMPILE_TEST)
243*4882a593Smuzhiyun	default y if (PLAT_ORION || ARCH_MVEBU)
244*4882a593Smuzhiyun	help
245*4882a593Smuzhiyun	  Enables support for the on-chip EHCI controller on Marvell's
246*4882a593Smuzhiyun	  embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP,
247*4882a593Smuzhiyun	  Armada 370.  This is different from the EHCI implementation
248*4882a593Smuzhiyun	  on Marvell's mobile PXA and MMP SoC, see "EHCI support for
249*4882a593Smuzhiyun	  Marvell PXA/MMP USB controller" for those.
250*4882a593Smuzhiyun
251*4882a593Smuzhiyunconfig USB_EHCI_HCD_SPEAR
252*4882a593Smuzhiyun	tristate "Support for ST SPEAr on-chip EHCI USB controller"
253*4882a593Smuzhiyun	depends on USB_EHCI_HCD && (PLAT_SPEAR || COMPILE_TEST)
254*4882a593Smuzhiyun	default y if PLAT_SPEAR
255*4882a593Smuzhiyun	help
256*4882a593Smuzhiyun	  Enables support for the on-chip EHCI controller on
257*4882a593Smuzhiyun	  ST SPEAr chips.
258*4882a593Smuzhiyun
259*4882a593Smuzhiyunconfig USB_EHCI_HCD_STI
260*4882a593Smuzhiyun	tristate "Support for ST STiHxxx on-chip EHCI USB controller"
261*4882a593Smuzhiyun	depends on (ARCH_STI || COMPILE_TEST) && OF
262*4882a593Smuzhiyun	select GENERIC_PHY
263*4882a593Smuzhiyun	select USB_EHCI_HCD_PLATFORM
264*4882a593Smuzhiyun	help
265*4882a593Smuzhiyun	  Enable support for the on-chip EHCI controller found on
266*4882a593Smuzhiyun	  STMicroelectronics consumer electronics SoC's.
267*4882a593Smuzhiyun
268*4882a593Smuzhiyunconfig USB_EHCI_HCD_AT91
269*4882a593Smuzhiyun	tristate  "Support for Atmel on-chip EHCI USB controller"
270*4882a593Smuzhiyun	depends on USB_EHCI_HCD && (ARCH_AT91 || COMPILE_TEST)
271*4882a593Smuzhiyun	default y if ARCH_AT91
272*4882a593Smuzhiyun	help
273*4882a593Smuzhiyun	  Enables support for the on-chip EHCI controller on
274*4882a593Smuzhiyun	  Atmel chips.
275*4882a593Smuzhiyun
276*4882a593Smuzhiyunconfig USB_EHCI_TEGRA
277*4882a593Smuzhiyun	tristate "NVIDIA Tegra HCD support"
278*4882a593Smuzhiyun	depends on ARCH_TEGRA
279*4882a593Smuzhiyun	select USB_EHCI_ROOT_HUB_TT
280*4882a593Smuzhiyun	select USB_TEGRA_PHY
281*4882a593Smuzhiyun	help
282*4882a593Smuzhiyun	  This driver enables support for the internal USB Host Controllers
283*4882a593Smuzhiyun	  found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.
284*4882a593Smuzhiyun
285*4882a593Smuzhiyunconfig USB_EHCI_HCD_PPC_OF
286*4882a593Smuzhiyun	bool "EHCI support for PPC USB controller on OF platform bus"
287*4882a593Smuzhiyun	depends on PPC
288*4882a593Smuzhiyun	default y
289*4882a593Smuzhiyun	help
290*4882a593Smuzhiyun	  Enables support for the USB controller present on the PowerPC
291*4882a593Smuzhiyun	  OpenFirmware platform bus.
292*4882a593Smuzhiyun
293*4882a593Smuzhiyunconfig USB_EHCI_SH
294*4882a593Smuzhiyun	bool "EHCI support for SuperH USB controller"
295*4882a593Smuzhiyun	depends on SUPERH || COMPILE_TEST
296*4882a593Smuzhiyun	help
297*4882a593Smuzhiyun	  Enables support for the on-chip EHCI controller on the SuperH.
298*4882a593Smuzhiyun	  If you use the PCI EHCI controller, this option is not necessary.
299*4882a593Smuzhiyun
300*4882a593Smuzhiyunconfig USB_EHCI_EXYNOS
301*4882a593Smuzhiyun	tristate "EHCI support for Samsung S5P/Exynos SoC Series"
302*4882a593Smuzhiyun	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
303*4882a593Smuzhiyun	help
304*4882a593Smuzhiyun	  Enable support for the Samsung Exynos SOC's on-chip EHCI controller.
305*4882a593Smuzhiyun
306*4882a593Smuzhiyunconfig USB_EHCI_MV
307*4882a593Smuzhiyun	tristate "EHCI support for Marvell PXA/MMP USB controller"
308*4882a593Smuzhiyun	depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST
309*4882a593Smuzhiyun	select USB_EHCI_ROOT_HUB_TT
310*4882a593Smuzhiyun	help
311*4882a593Smuzhiyun	  Enables support for Marvell (including PXA and MMP series) on-chip
312*4882a593Smuzhiyun	  USB SPH and OTG controller. SPH is a single port host, and it can
313*4882a593Smuzhiyun	  only be EHCI host. OTG is controller that can switch to host mode.
314*4882a593Smuzhiyun	  Note that this driver will not work on Marvell's other EHCI
315*4882a593Smuzhiyun	  controller used by the EBU-type SoCs including Orion, Kirkwood,
316*4882a593Smuzhiyun	  Dova, Armada 370 and Armada XP. See "Support for Marvell EBU
317*4882a593Smuzhiyun	  on-chip EHCI USB controller" for those.
318*4882a593Smuzhiyun
319*4882a593Smuzhiyunconfig USB_CNS3XXX_EHCI
320*4882a593Smuzhiyun	bool "Cavium CNS3XXX EHCI Module (DEPRECATED)"
321*4882a593Smuzhiyun	depends on ARCH_CNS3XXX || COMPILE_TEST
322*4882a593Smuzhiyun	select USB_EHCI_HCD_PLATFORM
323*4882a593Smuzhiyun	help
324*4882a593Smuzhiyun	  This option is deprecated now and the driver was removed, use
325*4882a593Smuzhiyun	  USB_EHCI_HCD_PLATFORM instead.
326*4882a593Smuzhiyun
327*4882a593Smuzhiyun	  Enable support for the CNS3XXX SOC's on-chip EHCI controller.
328*4882a593Smuzhiyun	  It is needed for high-speed (480Mbit/sec) USB 2.0 device
329*4882a593Smuzhiyun	  support.
330*4882a593Smuzhiyun
331*4882a593Smuzhiyunconfig USB_EHCI_HCD_PLATFORM
332*4882a593Smuzhiyun	tristate "Generic EHCI driver for a platform device"
333*4882a593Smuzhiyun	help
334*4882a593Smuzhiyun	  Adds an EHCI host driver for a generic platform device, which
335*4882a593Smuzhiyun	  provides a memory space and an irq.
336*4882a593Smuzhiyun
337*4882a593Smuzhiyun	  If unsure, say N.
338*4882a593Smuzhiyun
339*4882a593Smuzhiyunconfig USB_OCTEON_EHCI
340*4882a593Smuzhiyun	bool "Octeon on-chip EHCI support (DEPRECATED)"
341*4882a593Smuzhiyun	depends on CAVIUM_OCTEON_SOC
342*4882a593Smuzhiyun	select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
343*4882a593Smuzhiyun	select USB_EHCI_HCD_PLATFORM
344*4882a593Smuzhiyun	help
345*4882a593Smuzhiyun	  This option is deprecated now and the driver was removed, use
346*4882a593Smuzhiyun	  USB_EHCI_HCD_PLATFORM instead.
347*4882a593Smuzhiyun
348*4882a593Smuzhiyun	  Enable support for the Octeon II SOC's on-chip EHCI
349*4882a593Smuzhiyun	  controller.  It is needed for high-speed (480Mbit/sec)
350*4882a593Smuzhiyun	  USB 2.0 device support.  All CN6XXX based chips with USB are
351*4882a593Smuzhiyun	  supported.
352*4882a593Smuzhiyun
353*4882a593Smuzhiyunendif # USB_EHCI_HCD
354*4882a593Smuzhiyun
355*4882a593Smuzhiyunconfig USB_OXU210HP_HCD
356*4882a593Smuzhiyun	tristate "OXU210HP HCD support"
357*4882a593Smuzhiyun	depends on HAS_IOMEM
358*4882a593Smuzhiyun	help
359*4882a593Smuzhiyun	  The OXU210HP is an USB host/OTG/device controller. Enable this
360*4882a593Smuzhiyun	  option if your board has this chip. If unsure, say N.
361*4882a593Smuzhiyun
362*4882a593Smuzhiyun	  This driver does not support isochronous transfers and doesn't
363*4882a593Smuzhiyun	  implement OTG nor USB device controllers.
364*4882a593Smuzhiyun
365*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
366*4882a593Smuzhiyun	  module will be called oxu210hp-hcd.
367*4882a593Smuzhiyun
368*4882a593Smuzhiyunconfig USB_ISP116X_HCD
369*4882a593Smuzhiyun	tristate "ISP116X HCD support"
370*4882a593Smuzhiyun	depends on HAS_IOMEM
371*4882a593Smuzhiyun	help
372*4882a593Smuzhiyun	  The ISP1160 and ISP1161 chips are USB host controllers. Enable this
373*4882a593Smuzhiyun	  option if your board has this chip. If unsure, say N.
374*4882a593Smuzhiyun
375*4882a593Smuzhiyun	  This driver does not support isochronous transfers.
376*4882a593Smuzhiyun
377*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
378*4882a593Smuzhiyun	  module will be called isp116x-hcd.
379*4882a593Smuzhiyun
380*4882a593Smuzhiyunconfig USB_ISP1362_HCD
381*4882a593Smuzhiyun	tristate "ISP1362 HCD support"
382*4882a593Smuzhiyun	depends on HAS_IOMEM
383*4882a593Smuzhiyun	depends on COMPILE_TEST # nothing uses this
384*4882a593Smuzhiyun	help
385*4882a593Smuzhiyun	  Supports the Philips ISP1362 chip as a host controller
386*4882a593Smuzhiyun
387*4882a593Smuzhiyun	  This driver does not support isochronous transfers.
388*4882a593Smuzhiyun
389*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
390*4882a593Smuzhiyun	  module will be called isp1362-hcd.
391*4882a593Smuzhiyun
392*4882a593Smuzhiyunconfig USB_FOTG210_HCD
393*4882a593Smuzhiyun	tristate "FOTG210 HCD support"
394*4882a593Smuzhiyun	depends on USB && HAS_DMA && HAS_IOMEM
395*4882a593Smuzhiyun	help
396*4882a593Smuzhiyun	  Faraday FOTG210 is an OTG controller which can be configured as
397*4882a593Smuzhiyun	  an USB2.0 host. It is designed to meet USB2.0 EHCI specification
398*4882a593Smuzhiyun	  with minor modification.
399*4882a593Smuzhiyun
400*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
401*4882a593Smuzhiyun	  module will be called fotg210-hcd.
402*4882a593Smuzhiyun
403*4882a593Smuzhiyunconfig USB_MAX3421_HCD
404*4882a593Smuzhiyun	tristate "MAX3421 HCD (USB-over-SPI) support"
405*4882a593Smuzhiyun	depends on USB && SPI
406*4882a593Smuzhiyun	help
407*4882a593Smuzhiyun	  The Maxim MAX3421E chip supports standard USB 2.0-compliant
408*4882a593Smuzhiyun	  full-speed devices either in host or peripheral mode.  This
409*4882a593Smuzhiyun	  driver supports the host-mode of the MAX3421E only.
410*4882a593Smuzhiyun
411*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module will
412*4882a593Smuzhiyun	  be called max3421-hcd.
413*4882a593Smuzhiyun
414*4882a593Smuzhiyunconfig USB_OHCI_HCD
415*4882a593Smuzhiyun	tristate "OHCI HCD (USB 1.1) support"
416*4882a593Smuzhiyun	depends on HAS_DMA && HAS_IOMEM
417*4882a593Smuzhiyun	help
418*4882a593Smuzhiyun	  The Open Host Controller Interface (OHCI) is a standard for accessing
419*4882a593Smuzhiyun	  USB 1.1 host controller hardware.  It does more in hardware than Intel's
420*4882a593Smuzhiyun	  UHCI specification.  If your USB host controller follows the OHCI spec,
421*4882a593Smuzhiyun	  say Y.  On most non-x86 systems, and on x86 hardware that's not using a
422*4882a593Smuzhiyun	  USB controller from Intel or VIA, this is appropriate.  If your host
423*4882a593Smuzhiyun	  controller doesn't use PCI, this is probably appropriate.  For a PCI
424*4882a593Smuzhiyun	  based system where you're not sure, the "lspci -v" entry will list the
425*4882a593Smuzhiyun	  right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
426*4882a593Smuzhiyun
427*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
428*4882a593Smuzhiyun	  module will be called ohci-hcd.
429*4882a593Smuzhiyun
430*4882a593Smuzhiyunif USB_OHCI_HCD
431*4882a593Smuzhiyun
432*4882a593Smuzhiyunconfig USB_OHCI_HCD_OMAP1
433*4882a593Smuzhiyun	tristate "OHCI support for OMAP1/2 chips"
434*4882a593Smuzhiyun	depends on ARCH_OMAP1
435*4882a593Smuzhiyun	depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3)
436*4882a593Smuzhiyun	default y
437*4882a593Smuzhiyun	help
438*4882a593Smuzhiyun	  Enables support for the OHCI controller on OMAP1/2 chips.
439*4882a593Smuzhiyun
440*4882a593Smuzhiyunconfig USB_OHCI_HCD_SPEAR
441*4882a593Smuzhiyun	tristate "Support for ST SPEAr on-chip OHCI USB controller"
442*4882a593Smuzhiyun	depends on USB_OHCI_HCD && (PLAT_SPEAR || COMPILE_TEST)
443*4882a593Smuzhiyun	default y if PLAT_SPEAR
444*4882a593Smuzhiyun	help
445*4882a593Smuzhiyun	  Enables support for the on-chip OHCI controller on
446*4882a593Smuzhiyun	  ST SPEAr chips.
447*4882a593Smuzhiyun
448*4882a593Smuzhiyunconfig USB_OHCI_HCD_STI
449*4882a593Smuzhiyun	tristate "Support for ST STiHxxx on-chip OHCI USB controller"
450*4882a593Smuzhiyun	depends on (ARCH_STI || COMPILE_TEST) && OF
451*4882a593Smuzhiyun	select GENERIC_PHY
452*4882a593Smuzhiyun	select USB_OHCI_HCD_PLATFORM
453*4882a593Smuzhiyun	help
454*4882a593Smuzhiyun	  Enable support for the on-chip OHCI controller found on
455*4882a593Smuzhiyun	  STMicroelectronics consumer electronics SoC's.
456*4882a593Smuzhiyun
457*4882a593Smuzhiyunconfig USB_OHCI_HCD_S3C2410
458*4882a593Smuzhiyun	tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series"
459*4882a593Smuzhiyun	depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX || COMPILE_TEST)
460*4882a593Smuzhiyun	default y if (ARCH_S3C24XX || ARCH_S3C64XX)
461*4882a593Smuzhiyun	help
462*4882a593Smuzhiyun	  Enables support for the on-chip OHCI controller on
463*4882a593Smuzhiyun	  S3C24xx/S3C64xx chips.
464*4882a593Smuzhiyun
465*4882a593Smuzhiyunconfig USB_OHCI_HCD_LPC32XX
466*4882a593Smuzhiyun	tristate "Support for LPC on-chip OHCI USB controller"
467*4882a593Smuzhiyun	depends on USB_OHCI_HCD
468*4882a593Smuzhiyun	depends on ARCH_LPC32XX || COMPILE_TEST
469*4882a593Smuzhiyun	depends on USB_ISP1301
470*4882a593Smuzhiyun	default y
471*4882a593Smuzhiyun	help
472*4882a593Smuzhiyun	  Enables support for the on-chip OHCI controller on
473*4882a593Smuzhiyun	  NXP chips.
474*4882a593Smuzhiyun
475*4882a593Smuzhiyunconfig USB_OHCI_HCD_PXA27X
476*4882a593Smuzhiyun	tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller"
477*4882a593Smuzhiyun	depends on USB_OHCI_HCD && (PXA27x || PXA3xx)
478*4882a593Smuzhiyun	default y
479*4882a593Smuzhiyun	help
480*4882a593Smuzhiyun	  Enables support for the on-chip OHCI controller on
481*4882a593Smuzhiyun	  PXA27x/PXA3xx chips.
482*4882a593Smuzhiyun
483*4882a593Smuzhiyunconfig USB_OHCI_HCD_AT91
484*4882a593Smuzhiyun	tristate "Support for Atmel on-chip OHCI USB controller"
485*4882a593Smuzhiyun	depends on USB_OHCI_HCD && (ARCH_AT91 || COMPILE_TEST) && OF
486*4882a593Smuzhiyun	default y if ARCH_AT91
487*4882a593Smuzhiyun	help
488*4882a593Smuzhiyun	  Enables support for the on-chip OHCI controller on
489*4882a593Smuzhiyun	  Atmel chips.
490*4882a593Smuzhiyun
491*4882a593Smuzhiyunconfig USB_OHCI_HCD_OMAP3
492*4882a593Smuzhiyun	tristate "OHCI support for OMAP3 and later chips"
493*4882a593Smuzhiyun	depends on ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
494*4882a593Smuzhiyun	select USB_OHCI_HCD_PLATFORM
495*4882a593Smuzhiyun	default y if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5
496*4882a593Smuzhiyun	help
497*4882a593Smuzhiyun	  This option is deprecated now and the driver was removed, use
498*4882a593Smuzhiyun	  USB_OHCI_HCD_PLATFORM instead.
499*4882a593Smuzhiyun
500*4882a593Smuzhiyun	  Enables support for the on-chip OHCI controller on
501*4882a593Smuzhiyun	  OMAP3 and later chips.
502*4882a593Smuzhiyun
503*4882a593Smuzhiyunconfig USB_OHCI_HCD_DAVINCI
504*4882a593Smuzhiyun	tristate "OHCI support for TI DaVinci DA8xx"
505*4882a593Smuzhiyun	depends on ARCH_DAVINCI_DA8XX || COMPILE_TEST
506*4882a593Smuzhiyun	depends on USB_OHCI_HCD
507*4882a593Smuzhiyun	select PHY_DA8XX_USB
508*4882a593Smuzhiyun	default y if ARCH_DAVINCI_DA8XX
509*4882a593Smuzhiyun	help
510*4882a593Smuzhiyun	  Enables support for the DaVinci DA8xx integrated OHCI
511*4882a593Smuzhiyun	  controller. This driver cannot currently be a loadable
512*4882a593Smuzhiyun	  module because it lacks a proper PHY abstraction.
513*4882a593Smuzhiyun
514*4882a593Smuzhiyunconfig USB_OHCI_HCD_PPC_OF_BE
515*4882a593Smuzhiyun	bool "OHCI support for OF platform bus (big endian)"
516*4882a593Smuzhiyun	depends on PPC
517*4882a593Smuzhiyun	select USB_OHCI_BIG_ENDIAN_DESC
518*4882a593Smuzhiyun	select USB_OHCI_BIG_ENDIAN_MMIO
519*4882a593Smuzhiyun	help
520*4882a593Smuzhiyun	  Enables support for big-endian USB controllers present on the
521*4882a593Smuzhiyun	  OpenFirmware platform bus.
522*4882a593Smuzhiyun
523*4882a593Smuzhiyunconfig USB_OHCI_HCD_PPC_OF_LE
524*4882a593Smuzhiyun	bool "OHCI support for OF platform bus (little endian)"
525*4882a593Smuzhiyun	depends on PPC
526*4882a593Smuzhiyun	select USB_OHCI_LITTLE_ENDIAN
527*4882a593Smuzhiyun	help
528*4882a593Smuzhiyun	  Enables support for little-endian USB controllers present on the
529*4882a593Smuzhiyun	  OpenFirmware platform bus.
530*4882a593Smuzhiyun
531*4882a593Smuzhiyunconfig USB_OHCI_HCD_PPC_OF
532*4882a593Smuzhiyun	bool
533*4882a593Smuzhiyun	depends on PPC
534*4882a593Smuzhiyun	default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
535*4882a593Smuzhiyun
536*4882a593Smuzhiyunconfig USB_OHCI_HCD_PCI
537*4882a593Smuzhiyun	tristate "OHCI support for PCI-bus USB controllers"
538*4882a593Smuzhiyun	depends on USB_PCI
539*4882a593Smuzhiyun	default y
540*4882a593Smuzhiyun	select USB_OHCI_LITTLE_ENDIAN
541*4882a593Smuzhiyun	help
542*4882a593Smuzhiyun	  Enables support for PCI-bus plug-in USB controller cards.
543*4882a593Smuzhiyun	  If unsure, say Y.
544*4882a593Smuzhiyun
545*4882a593Smuzhiyunconfig USB_OHCI_HCD_SSB
546*4882a593Smuzhiyun	bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
547*4882a593Smuzhiyun	depends on (SSB = y || SSB = USB_OHCI_HCD)
548*4882a593Smuzhiyun	select USB_HCD_SSB
549*4882a593Smuzhiyun	select USB_OHCI_HCD_PLATFORM
550*4882a593Smuzhiyun	help
551*4882a593Smuzhiyun	  This option is deprecated now and the driver was removed, use
552*4882a593Smuzhiyun	  USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead.
553*4882a593Smuzhiyun
554*4882a593Smuzhiyun	  Support for the Sonics Silicon Backplane (SSB) attached
555*4882a593Smuzhiyun	  Broadcom USB OHCI core.
556*4882a593Smuzhiyun
557*4882a593Smuzhiyun	  This device is present in some embedded devices with
558*4882a593Smuzhiyun	  Broadcom based SSB bus.
559*4882a593Smuzhiyun
560*4882a593Smuzhiyun	  If unsure, say N.
561*4882a593Smuzhiyun
562*4882a593Smuzhiyunconfig USB_OHCI_SH
563*4882a593Smuzhiyun	bool "OHCI support for SuperH USB controller (DEPRECATED)"
564*4882a593Smuzhiyun	depends on SUPERH || COMPILE_TEST
565*4882a593Smuzhiyun	select USB_OHCI_HCD_PLATFORM
566*4882a593Smuzhiyun	help
567*4882a593Smuzhiyun	  This option is deprecated now and the driver was removed, use
568*4882a593Smuzhiyun	  USB_OHCI_HCD_PLATFORM instead.
569*4882a593Smuzhiyun
570*4882a593Smuzhiyun	  Enables support for the on-chip OHCI controller on the SuperH.
571*4882a593Smuzhiyun	  If you use the PCI OHCI controller, this option is not necessary.
572*4882a593Smuzhiyun
573*4882a593Smuzhiyunconfig USB_OHCI_EXYNOS
574*4882a593Smuzhiyun	tristate "OHCI support for Samsung S5P/Exynos SoC Series"
575*4882a593Smuzhiyun	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
576*4882a593Smuzhiyun	help
577*4882a593Smuzhiyun	  Enable support for the Samsung Exynos SOC's on-chip OHCI controller.
578*4882a593Smuzhiyun
579*4882a593Smuzhiyunconfig USB_CNS3XXX_OHCI
580*4882a593Smuzhiyun	bool "Cavium CNS3XXX OHCI Module (DEPRECATED)"
581*4882a593Smuzhiyun	depends on ARCH_CNS3XXX || COMPILE_TEST
582*4882a593Smuzhiyun	select USB_OHCI_HCD_PLATFORM
583*4882a593Smuzhiyun	help
584*4882a593Smuzhiyun	  This option is deprecated now and the driver was removed, use
585*4882a593Smuzhiyun	  USB_OHCI_HCD_PLATFORM instead.
586*4882a593Smuzhiyun
587*4882a593Smuzhiyun	  Enable support for the CNS3XXX SOC's on-chip OHCI controller.
588*4882a593Smuzhiyun	  It is needed for low-speed USB 1.0 device support.
589*4882a593Smuzhiyun
590*4882a593Smuzhiyunconfig USB_OHCI_HCD_PLATFORM
591*4882a593Smuzhiyun	tristate "Generic OHCI driver for a platform device"
592*4882a593Smuzhiyun	help
593*4882a593Smuzhiyun	  Adds an OHCI host driver for a generic platform device, which
594*4882a593Smuzhiyun	  provides a memory space and an irq.
595*4882a593Smuzhiyun
596*4882a593Smuzhiyun	  If unsure, say N.
597*4882a593Smuzhiyun
598*4882a593Smuzhiyunconfig USB_OCTEON_OHCI
599*4882a593Smuzhiyun	bool "Octeon on-chip OHCI support (DEPRECATED)"
600*4882a593Smuzhiyun	depends on CAVIUM_OCTEON_SOC
601*4882a593Smuzhiyun	default USB_OCTEON_EHCI
602*4882a593Smuzhiyun	select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
603*4882a593Smuzhiyun	select USB_OHCI_LITTLE_ENDIAN
604*4882a593Smuzhiyun	select USB_OHCI_HCD_PLATFORM
605*4882a593Smuzhiyun	help
606*4882a593Smuzhiyun	  This option is deprecated now and the driver was removed, use
607*4882a593Smuzhiyun	  USB_OHCI_HCD_PLATFORM instead.
608*4882a593Smuzhiyun
609*4882a593Smuzhiyun	  Enable support for the Octeon II SOC's on-chip OHCI
610*4882a593Smuzhiyun	  controller.  It is needed for low-speed USB 1.0 device
611*4882a593Smuzhiyun	  support.  All CN6XXX based chips with USB are supported.
612*4882a593Smuzhiyun
613*4882a593Smuzhiyunendif # USB_OHCI_HCD
614*4882a593Smuzhiyun
615*4882a593Smuzhiyunconfig USB_UHCI_HCD
616*4882a593Smuzhiyun	tristate "UHCI HCD (most Intel and VIA) support"
617*4882a593Smuzhiyun	depends on USB_PCI || USB_UHCI_SUPPORT_NON_PCI_HC
618*4882a593Smuzhiyun	help
619*4882a593Smuzhiyun	  The Universal Host Controller Interface is a standard by Intel for
620*4882a593Smuzhiyun	  accessing the USB hardware in the PC (which is also called the USB
621*4882a593Smuzhiyun	  host controller). If your USB host controller conforms to this
622*4882a593Smuzhiyun	  standard, you may want to say Y, but see below. All recent boards
623*4882a593Smuzhiyun	  with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
624*4882a593Smuzhiyun	  i810, i820) conform to this standard. Also all VIA PCI chipsets
625*4882a593Smuzhiyun	  (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
626*4882a593Smuzhiyun	  133) and LEON/GRLIB SoCs with the GRUSBHC controller.
627*4882a593Smuzhiyun	  If unsure, say Y.
628*4882a593Smuzhiyun
629*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
630*4882a593Smuzhiyun	  module will be called uhci-hcd.
631*4882a593Smuzhiyun
632*4882a593Smuzhiyunconfig USB_UHCI_SUPPORT_NON_PCI_HC
633*4882a593Smuzhiyun	bool
634*4882a593Smuzhiyun	default y if (SPARC_LEON || USB_UHCI_PLATFORM)
635*4882a593Smuzhiyun
636*4882a593Smuzhiyunconfig USB_UHCI_PLATFORM
637*4882a593Smuzhiyun	bool
638*4882a593Smuzhiyun	default y if (ARCH_VT8500 || ARCH_ASPEED)
639*4882a593Smuzhiyun
640*4882a593Smuzhiyunconfig USB_UHCI_ASPEED
641*4882a593Smuzhiyun	bool
642*4882a593Smuzhiyun	default y if ARCH_ASPEED
643*4882a593Smuzhiyun
644*4882a593Smuzhiyunconfig USB_FHCI_HCD
645*4882a593Smuzhiyun	tristate "Freescale QE USB Host Controller support"
646*4882a593Smuzhiyun	depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
647*4882a593Smuzhiyun	select FSL_GTM
648*4882a593Smuzhiyun	select QE_USB
649*4882a593Smuzhiyun	help
650*4882a593Smuzhiyun	  This driver enables support for Freescale QE USB Host Controller
651*4882a593Smuzhiyun	  (as found on MPC8360 and MPC8323 processors), the driver supports
652*4882a593Smuzhiyun	  Full and Low Speed USB.
653*4882a593Smuzhiyun
654*4882a593Smuzhiyunconfig FHCI_DEBUG
655*4882a593Smuzhiyun	bool "Freescale QE USB Host Controller debug support"
656*4882a593Smuzhiyun	depends on USB_FHCI_HCD && DEBUG_FS
657*4882a593Smuzhiyun	help
658*4882a593Smuzhiyun	  Say "y" to see some FHCI debug information and statistics
659*4882a593Smuzhiyun	  through debugfs.
660*4882a593Smuzhiyun
661*4882a593Smuzhiyunconfig USB_U132_HCD
662*4882a593Smuzhiyun	tristate "Elan U132 Adapter Host Controller"
663*4882a593Smuzhiyun	depends on USB_FTDI_ELAN
664*4882a593Smuzhiyun	help
665*4882a593Smuzhiyun	  The U132 adapter is a USB to CardBus adapter specifically designed
666*4882a593Smuzhiyun	  for PC cards that contain an OHCI host controller. Typical PC cards
667*4882a593Smuzhiyun	  are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
668*4882a593Smuzhiyun	  adapter will *NOT* work with PC cards that do not contain an OHCI
669*4882a593Smuzhiyun	  controller.
670*4882a593Smuzhiyun
671*4882a593Smuzhiyun	  For those PC cards that contain multiple OHCI controllers only the
672*4882a593Smuzhiyun	  first one is used.
673*4882a593Smuzhiyun
674*4882a593Smuzhiyun	  The driver consists of two modules, the "ftdi-elan" module is a
675*4882a593Smuzhiyun	  USB client driver that interfaces to the FTDI chip within ELAN's
676*4882a593Smuzhiyun	  USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
677*4882a593Smuzhiyun	  controller driver that talks to the OHCI controller within the
678*4882a593Smuzhiyun	  CardBus cards that are inserted in the U132 adapter.
679*4882a593Smuzhiyun
680*4882a593Smuzhiyun	  This driver has been tested with a CardBus OHCI USB adapter, and
681*4882a593Smuzhiyun	  worked with a USB PEN Drive inserted into the first USB port of
682*4882a593Smuzhiyun	  the PCCARD. A rather pointless thing to do, but useful for testing.
683*4882a593Smuzhiyun
684*4882a593Smuzhiyun	  It is safe to say M here.
685*4882a593Smuzhiyun
686*4882a593Smuzhiyun	  See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
687*4882a593Smuzhiyun
688*4882a593Smuzhiyunconfig USB_SL811_HCD
689*4882a593Smuzhiyun	tristate "SL811HS HCD support"
690*4882a593Smuzhiyun	depends on HAS_IOMEM
691*4882a593Smuzhiyun	help
692*4882a593Smuzhiyun	  The SL811HS is a single-port USB controller that supports either
693*4882a593Smuzhiyun	  host side or peripheral side roles.  Enable this option if your
694*4882a593Smuzhiyun	  board has this chip, and you want to use it as a host controller.
695*4882a593Smuzhiyun	  If unsure, say N.
696*4882a593Smuzhiyun
697*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
698*4882a593Smuzhiyun	  module will be called sl811-hcd.
699*4882a593Smuzhiyun
700*4882a593Smuzhiyunconfig USB_SL811_HCD_ISO
701*4882a593Smuzhiyun	bool "partial ISO support"
702*4882a593Smuzhiyun	depends on USB_SL811_HCD
703*4882a593Smuzhiyun	help
704*4882a593Smuzhiyun	  The driver doesn't support iso_frame_desc (yet), but for some simple
705*4882a593Smuzhiyun	  devices that just queue one ISO frame per URB, then ISO transfers
706*4882a593Smuzhiyun	  "should" work using the normal urb status fields.
707*4882a593Smuzhiyun
708*4882a593Smuzhiyun	  If unsure, say N.
709*4882a593Smuzhiyun
710*4882a593Smuzhiyunconfig USB_SL811_CS
711*4882a593Smuzhiyun	tristate "CF/PCMCIA support for SL811HS HCD"
712*4882a593Smuzhiyun	depends on USB_SL811_HCD && PCMCIA
713*4882a593Smuzhiyun	help
714*4882a593Smuzhiyun	  Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
715*4882a593Smuzhiyun	  REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
716*4882a593Smuzhiyun
717*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
718*4882a593Smuzhiyun	  module will be called "sl811_cs".
719*4882a593Smuzhiyun
720*4882a593Smuzhiyunconfig USB_R8A66597_HCD
721*4882a593Smuzhiyun	tristate "R8A66597 HCD support"
722*4882a593Smuzhiyun	depends on HAS_IOMEM
723*4882a593Smuzhiyun	help
724*4882a593Smuzhiyun	  The R8A66597 is a USB 2.0 host and peripheral controller.
725*4882a593Smuzhiyun
726*4882a593Smuzhiyun	  Enable this option if your board has this chip, and you want
727*4882a593Smuzhiyun	  to use it as a host controller.  If unsure, say N.
728*4882a593Smuzhiyun
729*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
730*4882a593Smuzhiyun	  module will be called r8a66597-hcd.
731*4882a593Smuzhiyun
732*4882a593Smuzhiyunconfig USB_RENESAS_USBHS_HCD
733*4882a593Smuzhiyun	tristate "Renesas USBHS HCD support"
734*4882a593Smuzhiyun	depends on USB_RENESAS_USBHS
735*4882a593Smuzhiyun	help
736*4882a593Smuzhiyun	  The Renesas USBHS is a USB 2.0 host and peripheral controller.
737*4882a593Smuzhiyun
738*4882a593Smuzhiyun	  Enable this option if your board has this chip, and you want
739*4882a593Smuzhiyun	  to use it as a host controller.  If unsure, say N.
740*4882a593Smuzhiyun
741*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
742*4882a593Smuzhiyun	  module will be called renesas-usbhs.
743*4882a593Smuzhiyun
744*4882a593Smuzhiyunconfig USB_IMX21_HCD
745*4882a593Smuzhiyun	tristate "i.MX21 HCD support"
746*4882a593Smuzhiyun	depends on ARM && ARCH_MXC
747*4882a593Smuzhiyun	help
748*4882a593Smuzhiyun	  This driver enables support for the on-chip USB host in the
749*4882a593Smuzhiyun	  i.MX21 processor.
750*4882a593Smuzhiyun
751*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
752*4882a593Smuzhiyun	  module will be called "imx21-hcd".
753*4882a593Smuzhiyun
754*4882a593Smuzhiyunconfig USB_HCD_BCMA
755*4882a593Smuzhiyun	tristate "BCMA usb host driver"
756*4882a593Smuzhiyun	depends on BCMA
757*4882a593Smuzhiyun	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
758*4882a593Smuzhiyun	select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
759*4882a593Smuzhiyun	help
760*4882a593Smuzhiyun	  Enable support for the EHCI and OCHI host controller on an bcma bus.
761*4882a593Smuzhiyun	  It converts the bcma driver into two platform device drivers
762*4882a593Smuzhiyun	  for ehci and ohci.
763*4882a593Smuzhiyun
764*4882a593Smuzhiyun	  If unsure, say N.
765*4882a593Smuzhiyun
766*4882a593Smuzhiyunconfig USB_HCD_SSB
767*4882a593Smuzhiyun	tristate "SSB usb host driver"
768*4882a593Smuzhiyun	depends on SSB
769*4882a593Smuzhiyun	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
770*4882a593Smuzhiyun	select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
771*4882a593Smuzhiyun	help
772*4882a593Smuzhiyun	  Enable support for the EHCI and OCHI host controller on an bcma bus.
773*4882a593Smuzhiyun	  It converts the bcma driver into two platform device drivers
774*4882a593Smuzhiyun	  for ehci and ohci.
775*4882a593Smuzhiyun
776*4882a593Smuzhiyun	  If unsure, say N.
777*4882a593Smuzhiyun
778*4882a593Smuzhiyunconfig USB_HCD_TEST_MODE
779*4882a593Smuzhiyun	bool "HCD test mode support"
780*4882a593Smuzhiyun	help
781*4882a593Smuzhiyun	  Say 'Y' to enable additional software test modes that may be
782*4882a593Smuzhiyun	  supported by the host controller drivers.
783*4882a593Smuzhiyun
784*4882a593Smuzhiyun	  One such test mode is the Embedded High-speed Host Electrical Test
785*4882a593Smuzhiyun	  (EHSET) for EHCI host controller hardware, specifically the "Single
786*4882a593Smuzhiyun	  Step Set Feature" test.  Typically this will be enabled for On-the-Go
787*4882a593Smuzhiyun	  or embedded hosts that need to undergo USB-IF compliance testing with
788*4882a593Smuzhiyun	  the aid of special testing hardware.  In the future, this may expand
789*4882a593Smuzhiyun	  to include other tests that require support from a HCD driver.
790*4882a593Smuzhiyun
791*4882a593Smuzhiyun	  This option is of interest only to developers who need to validate
792*4882a593Smuzhiyun	  their USB hardware designs.  It is not needed for normal use.  If
793*4882a593Smuzhiyun	  unsure, say N.
794