xref: /linux/drivers/usb/host/Kconfig (revision ec5499d338ece9db9b7590649d3cfcc4d7f9603d)
1cae8dc3bSGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
21da177e4SLinus Torvalds#
31da177e4SLinus Torvalds# USB Host Controller Drivers
41da177e4SLinus Torvalds#
51da177e4SLinus Torvaldscomment "USB Host Controller Drivers"
61da177e4SLinus Torvalds
7e9b29ffcSPeter Korsgaardconfig USB_C67X00_HCD
8e9b29ffcSPeter Korsgaard	tristate "Cypress C67x00 HCD support"
9149737a7SVegard Nossum	depends on HAS_IOMEM
10e9b29ffcSPeter Korsgaard	help
11e9b29ffcSPeter Korsgaard	  The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role
12e9b29ffcSPeter Korsgaard	  host/peripheral/OTG USB controllers.
13e9b29ffcSPeter Korsgaard
14e9b29ffcSPeter Korsgaard	  Enable this option to support this chip in host controller mode.
15e9b29ffcSPeter Korsgaard	  If unsure, say N.
16e9b29ffcSPeter Korsgaard
17e9b29ffcSPeter Korsgaard	  To compile this driver as a module, choose M here: the
18e9b29ffcSPeter Korsgaard	  module will be called c67x00.
19e9b29ffcSPeter Korsgaard
20eb6bab13SSarah Sharpconfig USB_XHCI_HCD
21eb83be98SGreg Kroah-Hartman	tristate "xHCI HCD (USB 3.0) support"
22cf34be7aSGeert Uytterhoeven	depends on HAS_DMA && HAS_IOMEM
23a7f7f624SMasahiro Yamada	help
24eb6bab13SSarah Sharp	  The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
25eb6bab13SSarah Sharp	  "SuperSpeed" host controller hardware.
26eb6bab13SSarah Sharp
27eb6bab13SSarah Sharp	  To compile this driver as a module, choose M here: the
28eb6bab13SSarah Sharp	  module will be called xhci-hcd.
29eb6bab13SSarah Sharp
300fcb9989SFlorian Fainelliif USB_XHCI_HCD
31dfba2174SLu Baoluconfig USB_XHCI_DBGCAP
32dfba2174SLu Baolu	bool "xHCI support for debug capability"
33dfba2174SLu Baolu	depends on TTY
34a7f7f624SMasahiro Yamada	help
35dfba2174SLu Baolu	  Say 'Y' to enable the support for the xHCI debug capability. Make
36dfba2174SLu Baolu	  sure that your xHCI host supports the extended debug capability and
37dfba2174SLu Baolu	  you want a TTY serial device based on the xHCI debug capability
38dfba2174SLu Baolu	  before enabling this option. If unsure, say 'N'.
390fcb9989SFlorian Fainelli
4029e409f0SAndrew Brestickerconfig USB_XHCI_PCI
4129e409f0SAndrew Bresticker	tristate
422c93e790Syuan linyu	depends on USB_PCI
43df00731cSVinod Koul	depends on USB_XHCI_PCI_RENESAS || !USB_XHCI_PCI_RENESAS
4429e409f0SAndrew Bresticker	default y
4529e409f0SAndrew Bresticker
468bd5741eSChristian Lamparterconfig USB_XHCI_PCI_RENESAS
47cda37dbbSColin Ian King	tristate "Support for additional Renesas xHCI controller with firmware"
48a7f7f624SMasahiro Yamada	help
498bd5741eSChristian Lamparter	  Say 'Y' to enable the support for the Renesas xHCI controller with
504e74b483SColin Ian King	  firmware. Make sure you have the firmware for the device and
518bd5741eSChristian Lamparter	  installed on your system for this device to work.
528bd5741eSChristian Lamparter	  If unsure, say 'N'.
538bd5741eSChristian Lamparter
543429e91aSSebastian Andrzej Siewiorconfig USB_XHCI_PLATFORM
556c05cb14SRafał Miłecki	tristate "Generic xHCI driver for a platform device"
56a7f7f624SMasahiro Yamada	help
576c05cb14SRafał Miłecki	  Adds an xHCI host driver for a generic platform device, which
586c05cb14SRafał Miłecki	  provides a memory space and an irq.
596c05cb14SRafał Miłecki	  It is also a prerequisite for platform specific drivers that
606c05cb14SRafał Miłecki	  implement some extra quirks.
616c05cb14SRafał Miłecki
626c05cb14SRafał Miłecki	  If unsure, say N.
633429e91aSSebastian Andrzej Siewior
64c508f41dSJianguo Sunconfig USB_XHCI_HISTB
65c508f41dSJianguo Sun	tristate "xHCI support for HiSilicon STB SoCs"
66c508f41dSJianguo Sun	depends on USB_XHCI_PLATFORM && (ARCH_HISI || COMPILE_TEST)
67c508f41dSJianguo Sun	help
68c508f41dSJianguo Sun	  Say 'Y' to enable the support for the xHCI host controller
69c508f41dSJianguo Sun	  found in HiSilicon STB SoCs.
70c508f41dSJianguo Sun
710cbd4b34SChunfeng Yunconfig USB_XHCI_MTK
727b81a586SChunfeng Yun	tristate "xHCI support for MediaTek SoCs"
730cbd4b34SChunfeng Yun	select MFD_SYSCON
74808cf33dSJohn Crispin	depends on (MIPS && SOC_MT7621) || ARCH_MEDIATEK || COMPILE_TEST
75a7f7f624SMasahiro Yamada	help
760cbd4b34SChunfeng Yun	  Say 'Y' to enable the support for the xHCI host controller
777b81a586SChunfeng Yun	  found in MediaTek SoCs.
780cbd4b34SChunfeng Yun	  If unsure, say N.
790cbd4b34SChunfeng Yun
8097374792SGregory CLEMENTconfig USB_XHCI_MVEBU
8112453a89SOfer Heifetz	tristate "xHCI support for Marvell Armada 375/38x/37xx"
8297374792SGregory CLEMENT	select USB_XHCI_PLATFORM
83828638e9SVegard Nossum	depends on HAS_IOMEM
8497374792SGregory CLEMENT	depends on ARCH_MVEBU || COMPILE_TEST
85a7f7f624SMasahiro Yamada	help
8697374792SGregory CLEMENT	  Say 'Y' to enable the support for the xHCI host controller
8712453a89SOfer Heifetz	  found in Marvell Armada 375/38x/37xx ARM SOCs.
8897374792SGregory CLEMENT
894ac8918fSYoshihiro Shimodaconfig USB_XHCI_RCAR
904ac8918fSYoshihiro Shimoda	tristate "xHCI support for Renesas R-Car SoCs"
91f879fc32SYoshihiro Shimoda	depends on USB_XHCI_PLATFORM
926edd87f5SSimon Horman	depends on ARCH_RENESAS || COMPILE_TEST
93*ec5499d3SArnd Bergmann	default ARCH_RENESAS
94a7f7f624SMasahiro Yamada	help
954ac8918fSYoshihiro Shimoda	  Say 'Y' to enable the support for the xHCI host controller
964ac8918fSYoshihiro Shimoda	  found in Renesas R-Car ARM SoCs.
974ac8918fSYoshihiro Shimoda
98c52c9accSBiju Dasconfig USB_XHCI_RZV2M
99*ec5499d3SArnd Bergmann	bool "xHCI support for Renesas RZ/V2M SoC"
100*ec5499d3SArnd Bergmann	depends on USB_XHCI_RCAR
101c52c9accSBiju Das	depends on ARCH_R9A09G011 || COMPILE_TEST
102*ec5499d3SArnd Bergmann	depends on USB_RZV2M_USB3DRD=y || (USB_RZV2M_USB3DRD=USB_XHCI_RCAR)
103c52c9accSBiju Das	help
104c52c9accSBiju Das	  Say 'Y' to enable the support for the xHCI host controller
105c52c9accSBiju Das	  found in Renesas RZ/V2M SoC.
106c52c9accSBiju Das
107e84fce0fSThierry Redingconfig USB_XHCI_TEGRA
108e84fce0fSThierry Reding	tristate "xHCI support for NVIDIA Tegra SoCs"
109e84fce0fSThierry Reding	depends on PHY_TEGRA_XUSB
110e84fce0fSThierry Reding	depends on RESET_CONTROLLER
111e84fce0fSThierry Reding	select FW_LOADER
112a7f7f624SMasahiro Yamada	help
113e84fce0fSThierry Reding	  Say 'Y' to enable the support for the xHCI host controller
114e84fce0fSThierry Reding	  found in NVIDIA Tegra124 and later SoCs.
115e84fce0fSThierry Reding
1160fcb9989SFlorian Fainelliendif # USB_XHCI_HCD
1170fcb9989SFlorian Fainelli
118c33f4f24SAl Cooperconfig USB_EHCI_BRCMSTB
119c33f4f24SAl Cooper       tristate
120c33f4f24SAl Cooper
121c33f4f24SAl Cooperconfig USB_BRCMSTB
122c33f4f24SAl Cooper	tristate "Broadcom STB USB support"
123c33f4f24SAl Cooper	depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST
124c33f4f24SAl Cooper	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
125c33f4f24SAl Cooper	select USB_EHCI_BRCMSTB if USB_EHCI_HCD
126c33f4f24SAl Cooper	select USB_XHCI_PLATFORM if USB_XHCI_HCD
127c33f4f24SAl Cooper	help
128c33f4f24SAl Cooper	  Enables support for XHCI, EHCI and OHCI host controllers
129c33f4f24SAl Cooper	  found in Broadcom STB SoC's.
130c33f4f24SAl Cooper
131c33f4f24SAl Cooper	  To compile these drivers as modules, choose M here: the
132c33f4f24SAl Cooper	  modules will be called ohci-platform.ko, ehci-brcm.ko and
133c33f4f24SAl Cooper	  xhci-plat-hcd.ko
134c33f4f24SAl Cooper
135c33f4f24SAl Cooper	  Disabling this will keep the controllers and corresponding
136c33f4f24SAl Cooper	  PHYs powered down.
137c33f4f24SAl Cooper
1381da177e4SLinus Torvaldsconfig USB_EHCI_HCD
1391da177e4SLinus Torvalds	tristate "EHCI HCD (USB 2.0) support"
140cf34be7aSGeert Uytterhoeven	depends on HAS_DMA && HAS_IOMEM
141a7f7f624SMasahiro Yamada	help
1421da177e4SLinus Torvalds	  The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
1431da177e4SLinus Torvalds	  "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
1441da177e4SLinus Torvalds	  If your USB host controller supports USB 2.0, you will likely want to
145b967c88eSThierry Vignaud	  configure this Host Controller Driver.
1461da177e4SLinus Torvalds
1471da177e4SLinus Torvalds	  EHCI controllers are packaged with "companion" host controllers (OHCI
1481da177e4SLinus Torvalds	  or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
149b3c29d85SJesper Juhl	  will connect to EHCI if the device is high speed, otherwise they
1501da177e4SLinus Torvalds	  connect to a companion controller.  If you configure EHCI, you should
1511da177e4SLinus Torvalds	  probably configure the OHCI (for NEC and some other vendors) USB Host
1521da177e4SLinus Torvalds	  Controller Driver or UHCI (for Via motherboards) Host Controller
1531da177e4SLinus Torvalds	  Driver too.
1541da177e4SLinus Torvalds
155ecefae6dSMauro Carvalho Chehab	  You may want to read <file:Documentation/usb/ehci.rst>.
1561da177e4SLinus Torvalds
1571da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
1581da177e4SLinus Torvalds	  module will be called ehci-hcd.
1591da177e4SLinus Torvalds
1601da177e4SLinus Torvaldsconfig USB_EHCI_ROOT_HUB_TT
1619ec249a6SRobert P. J. Day	bool "Root Hub Transaction Translators"
162a746c286SPeter Chen	depends on USB_EHCI_HCD
163a7f7f624SMasahiro Yamada	help
1641da177e4SLinus Torvalds	  Some EHCI chips have vendor-specific extensions to integrate
1651da177e4SLinus Torvalds	  transaction translators, so that no OHCI or UHCI companion
1661da177e4SLinus Torvalds	  controller is needed.  It's safe to say "y" even if your
1671da177e4SLinus Torvalds	  controller doesn't support this feature.
1681da177e4SLinus Torvalds
169ba47f66bSDan Streetman	  This supports the EHCI implementation that's originally
170ba47f66bSDan Streetman	  from ARC, and has since changed hands a few times.
171ba47f66bSDan Streetman
172ba47f66bSDan Streetmanconfig USB_EHCI_TT_NEWSCHED
17337cd681cSAlan Stern	bool "Improved Transaction Translator scheduling"
174a746c286SPeter Chen	depends on USB_EHCI_HCD
17537cd681cSAlan Stern	default y
176a7f7f624SMasahiro Yamada	help
177ba47f66bSDan Streetman	  This changes the periodic scheduling code to fill more of the low
178ba47f66bSDan Streetman	  and full speed bandwidth available from the Transaction Translator
179ba47f66bSDan Streetman	  (TT) in USB 2.0 hubs.  Without this, only one transfer will be
180ba47f66bSDan Streetman	  issued in each microframe, significantly reducing the number of
181ba47f66bSDan Streetman	  periodic low/fullspeed transfers possible.
182ba47f66bSDan Streetman
183ba47f66bSDan Streetman	  If you have multiple periodic low/fullspeed devices connected to a
184ba47f66bSDan Streetman	  highspeed USB hub which is connected to a highspeed USB Host
185ba47f66bSDan Streetman	  Controller, and some of those devices will not work correctly
18637cd681cSAlan Stern	  (possibly due to "ENOSPC" or "-28" errors), say Y.  Conversely, if
18737cd681cSAlan Stern	  you have only one such device and it doesn't work, you could try
18837cd681cSAlan Stern	  saying N.
189ba47f66bSDan Streetman
19037cd681cSAlan Stern	  If unsure, say Y.
1911da177e4SLinus Torvalds
19242443dc4SFlorian Fainelliif USB_EHCI_HCD
19342443dc4SFlorian Fainelli
194adfa79d1SAlan Sternconfig USB_EHCI_PCI
195adfa79d1SAlan Stern	tristate
1962c93e790Syuan linyu	depends on USB_PCI
197adfa79d1SAlan Stern	default y
198adfa79d1SAlan Stern
19908d3c18eSJulie Zhuconfig XPS_USB_HCD_XILINX
20008d3c18eSJulie Zhu	bool "Use Xilinx usb host EHCI controller core"
20142443dc4SFlorian Fainelli	depends on (PPC32 || MICROBLAZE)
20208d3c18eSJulie Zhu	select USB_EHCI_BIG_ENDIAN_DESC
20308d3c18eSJulie Zhu	select USB_EHCI_BIG_ENDIAN_MMIO
204a7f7f624SMasahiro Yamada	help
205f54619f2SMasanari Iida		Xilinx xps USB host controller core is EHCI compliant and has
20608d3c18eSJulie Zhu		transaction translator built-in. It can be configured to either
20708d3c18eSJulie Zhu		support both high speed and full speed devices, or high speed
20808d3c18eSJulie Zhu		devices only.
20908d3c18eSJulie Zhu
210ba02978aSLi Yangconfig USB_EHCI_FSL
21173855109SRan Wang	tristate "Support for Freescale on-chip EHCI USB controller"
212ba02978aSLi Yang	select USB_EHCI_ROOT_HUB_TT
213a7f7f624SMasahiro Yamada	help
214ba02978aSLi Yang	  Variation of ARC USB block used in some Freescale chips.
215ba02978aSLi Yang
216df44831eSAvi Fishmanconfig USB_EHCI_HCD_NPCM7XX
217b6caf79dSTomer Maimon	tristate "Support for Nuvoton NPCM on-chip EHCI USB controller"
218b6caf79dSTomer Maimon	depends on (USB_EHCI_HCD && ARCH_NPCM) || COMPILE_TEST
219b6caf79dSTomer Maimon	default y if (USB_EHCI_HCD && ARCH_NPCM)
220df44831eSAvi Fishman	help
221df44831eSAvi Fishman	  Enables support for the on-chip EHCI controller on
222b6caf79dSTomer Maimon	  Nuvoton NPCM chips.
223df44831eSAvi Fishman
2247f124f4bSKeshava Munegowdaconfig USB_EHCI_HCD_OMAP
22554a41966SAlan Stern	tristate "EHCI support for OMAP3 and later chips"
22611e00292SArnd Bergmann	depends on ARCH_OMAP || COMPILE_TEST
2275a8d651aSFelipe Balbi	depends on NOP_USB_XCEIV
2287f124f4bSKeshava Munegowda	default y
229a7f7f624SMasahiro Yamada	help
2307f124f4bSKeshava Munegowda	  Enables support for the on-chip EHCI controller on
2317f124f4bSKeshava Munegowda	  OMAP3 and later chips.
2327f124f4bSKeshava Munegowda
233a76dd463SManjunath Goudarconfig USB_EHCI_HCD_ORION
234a76dd463SManjunath Goudar	tristate  "Support for Marvell EBU on-chip EHCI USB controller"
23588eaaeccSKrzysztof Kozlowski	depends on USB_EHCI_HCD && (PLAT_ORION || ARCH_MVEBU || COMPILE_TEST)
23688eaaeccSKrzysztof Kozlowski	default y if (PLAT_ORION || ARCH_MVEBU)
237a7f7f624SMasahiro Yamada	help
238a76dd463SManjunath Goudar	  Enables support for the on-chip EHCI controller on Marvell's
239a76dd463SManjunath Goudar	  embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP,
240a76dd463SManjunath Goudar	  Armada 370.  This is different from the EHCI implementation
241a76dd463SManjunath Goudar	  on Marvell's mobile PXA and MMP SoC, see "EHCI support for
242a76dd463SManjunath Goudar	  Marvell PXA/MMP USB controller" for those.
243a76dd463SManjunath Goudar
2447675d6baSManjunath Goudarconfig USB_EHCI_HCD_SPEAR
2457675d6baSManjunath Goudar	tristate "Support for ST SPEAr on-chip EHCI USB controller"
24688eaaeccSKrzysztof Kozlowski	depends on USB_EHCI_HCD && (PLAT_SPEAR || COMPILE_TEST)
24788eaaeccSKrzysztof Kozlowski	default y if PLAT_SPEAR
248a7f7f624SMasahiro Yamada	help
2497675d6baSManjunath Goudar	  Enables support for the on-chip EHCI controller on
2507675d6baSManjunath Goudar	  ST SPEAr chips.
2517675d6baSManjunath Goudar
252905e300eSArnd Bergmannconfig USB_EHCI_HCD_STI
253905e300eSArnd Bergmann	tristate "Support for ST STiHxxx on-chip EHCI USB controller"
25488eaaeccSKrzysztof Kozlowski	depends on (ARCH_STI || COMPILE_TEST) && OF
255905e300eSArnd Bergmann	select GENERIC_PHY
256905e300eSArnd Bergmann	select USB_EHCI_HCD_PLATFORM
257905e300eSArnd Bergmann	help
258905e300eSArnd Bergmann	  Enable support for the on-chip EHCI controller found on
259905e300eSArnd Bergmann	  STMicroelectronics consumer electronics SoC's.
260905e300eSArnd Bergmann
26197736961SManjunath Goudarconfig USB_EHCI_HCD_AT91
26297736961SManjunath Goudar	tristate  "Support for Atmel on-chip EHCI USB controller"
26388eaaeccSKrzysztof Kozlowski	depends on USB_EHCI_HCD && (ARCH_AT91 || COMPILE_TEST)
26488eaaeccSKrzysztof Kozlowski	default y if ARCH_AT91
265a7f7f624SMasahiro Yamada	help
26697736961SManjunath Goudar	  Enables support for the on-chip EHCI controller on
26797736961SManjunath Goudar	  Atmel chips.
26897736961SManjunath Goudar
26979ad3b5aSBenoit Gobyconfig USB_EHCI_TEGRA
2709fc5f24eSManjunath Goudar	tristate "NVIDIA Tegra HCD support"
27142443dc4SFlorian Fainelli	depends on ARCH_TEGRA
272c3590c76SDmitry Osipenko	select USB_CHIPIDEA
273c3590c76SDmitry Osipenko	select USB_CHIPIDEA_HOST
274c3590c76SDmitry Osipenko	select USB_CHIPIDEA_TEGRA
2750b982876SDmitry Osipenko	select USB_GADGET
27679ad3b5aSBenoit Goby	help
277c3590c76SDmitry Osipenko	  This option is deprecated now and the driver was removed, use
278c3590c76SDmitry Osipenko	  USB_CHIPIDEA_TEGRA instead.
279c3590c76SDmitry Osipenko
280c3590c76SDmitry Osipenko	  Enable support for the internal USB Host Controllers
28179ad3b5aSBenoit Goby	  found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.
28279ad3b5aSBenoit Goby
283da0e8fb0SValentine Barshakconfig USB_EHCI_HCD_PPC_OF
284da0e8fb0SValentine Barshak	bool "EHCI support for PPC USB controller on OF platform bus"
285c31316cbSKevin Hao	depends on PPC
286da0e8fb0SValentine Barshak	default y
287a7f7f624SMasahiro Yamada	help
288da0e8fb0SValentine Barshak	  Enables support for the USB controller present on the PowerPC
289da0e8fb0SValentine Barshak	  OpenFirmware platform bus.
290da0e8fb0SValentine Barshak
29160b0bf0fSYoshihiro Shimodaconfig USB_EHCI_SH
29260b0bf0fSYoshihiro Shimoda	bool "EHCI support for SuperH USB controller"
29388eaaeccSKrzysztof Kozlowski	depends on SUPERH || COMPILE_TEST
294a7f7f624SMasahiro Yamada	help
29560b0bf0fSYoshihiro Shimoda	  Enables support for the on-chip EHCI controller on the SuperH.
29660b0bf0fSYoshihiro Shimoda	  If you use the PCI EHCI controller, this option is not necessary.
29760b0bf0fSYoshihiro Shimoda
29829824c16SJingoo Hanconfig USB_EHCI_EXYNOS
299dea7b202SKrzysztof Kozlowski	tristate "EHCI support for Samsung S5P/Exynos SoC Series"
30088eaaeccSKrzysztof Kozlowski	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
3011bcc5aa8SJoonyoung Shim	help
3022abc8657SKrzysztof Kozlowski	  Enable support for the Samsung S5Pv210 and Exynos SOC's on-chip EHCI
3032abc8657SKrzysztof Kozlowski	  controller.
3041bcc5aa8SJoonyoung Shim
3053a082ec9SNeil Zhangconfig USB_EHCI_MV
3060440fa3dSLubomir Rintel	tristate "EHCI support for Marvell PXA/MMP USB controller"
30788eaaeccSKrzysztof Kozlowski	depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST
3083a082ec9SNeil Zhang	select USB_EHCI_ROOT_HUB_TT
309a7f7f624SMasahiro Yamada	help
3103a082ec9SNeil Zhang	  Enables support for Marvell (including PXA and MMP series) on-chip
3113a082ec9SNeil Zhang	  USB SPH and OTG controller. SPH is a single port host, and it can
3123a082ec9SNeil Zhang	  only be EHCI host. OTG is controller that can switch to host mode.
313a76dd463SManjunath Goudar	  Note that this driver will not work on Marvell's other EHCI
314a76dd463SManjunath Goudar	  controller used by the EBU-type SoCs including Orion, Kirkwood,
315a76dd463SManjunath Goudar	  Dova, Armada 370 and Armada XP. See "Support for Marvell EBU
316a76dd463SManjunath Goudar	  on-chip EHCI USB controller" for those.
3173a082ec9SNeil Zhang
3189dbdac02SArtur Bujdosoconfig USB_OCTEON_HCD
3199dbdac02SArtur Bujdoso	tristate "Cavium Networks Octeon USB support"
3209dbdac02SArtur Bujdoso	depends on CAVIUM_OCTEON_SOC && USB
3219dbdac02SArtur Bujdoso	help
3229dbdac02SArtur Bujdoso	  This driver supports USB host controller on some Cavium
3239dbdac02SArtur Bujdoso	  Networks' products in the Octeon family.
3249dbdac02SArtur Bujdoso
3259dbdac02SArtur Bujdoso	  To compile this driver as a module, choose M here. The module
3269dbdac02SArtur Bujdoso	  will be called octeon-hcd.
3279dbdac02SArtur Bujdoso
328760efe69SMac Linconfig USB_CNS3XXX_EHCI
329f3a958d3SFlorian Fainelli	bool "Cavium CNS3XXX EHCI Module (DEPRECATED)"
33088eaaeccSKrzysztof Kozlowski	depends on ARCH_CNS3XXX || COMPILE_TEST
331f3a958d3SFlorian Fainelli	select USB_EHCI_HCD_PLATFORM
332a7f7f624SMasahiro Yamada	help
333f3a958d3SFlorian Fainelli	  This option is deprecated now and the driver was removed, use
334f3a958d3SFlorian Fainelli	  USB_EHCI_HCD_PLATFORM instead.
335f3a958d3SFlorian Fainelli
336760efe69SMac Lin	  Enable support for the CNS3XXX SOC's on-chip EHCI controller.
337760efe69SMac Lin	  It is needed for high-speed (480Mbit/sec) USB 2.0 device
338760efe69SMac Lin	  support.
339760efe69SMac Lin
34042443dc4SFlorian Fainelliconfig USB_EHCI_HCD_PLATFORM
34142443dc4SFlorian Fainelli	tristate "Generic EHCI driver for a platform device"
342a7f7f624SMasahiro Yamada	help
34342443dc4SFlorian Fainelli	  Adds an EHCI host driver for a generic platform device, which
34442443dc4SFlorian Fainelli	  provides a memory space and an irq.
34542443dc4SFlorian Fainelli
34642443dc4SFlorian Fainelli	  If unsure, say N.
34742443dc4SFlorian Fainelli
34842443dc4SFlorian Fainelliconfig USB_OCTEON_EHCI
3492193dda5SAlan Stern	bool "Octeon on-chip EHCI support (DEPRECATED)"
3504e52af1cSKrzysztof Kozlowski	depends on CAVIUM_OCTEON_SOC
351df115f3eSBen Hutchings	select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
3522193dda5SAlan Stern	select USB_EHCI_HCD_PLATFORM
35342443dc4SFlorian Fainelli	help
3542193dda5SAlan Stern	  This option is deprecated now and the driver was removed, use
3552193dda5SAlan Stern	  USB_EHCI_HCD_PLATFORM instead.
3562193dda5SAlan Stern
35742443dc4SFlorian Fainelli	  Enable support for the Octeon II SOC's on-chip EHCI
35842443dc4SFlorian Fainelli	  controller.  It is needed for high-speed (480Mbit/sec)
35942443dc4SFlorian Fainelli	  USB 2.0 device support.  All CN6XXX based chips with USB are
36042443dc4SFlorian Fainelli	  supported.
36142443dc4SFlorian Fainelli
36242443dc4SFlorian Fainelliendif # USB_EHCI_HCD
36342443dc4SFlorian Fainelli
364b92a78e5SRodolfo Giometticonfig USB_OXU210HP_HCD
365b92a78e5SRodolfo Giometti	tristate "OXU210HP HCD support"
366f4a5d702SVegard Nossum	depends on HAS_IOMEM
367a7f7f624SMasahiro Yamada	help
368b92a78e5SRodolfo Giometti	  The OXU210HP is an USB host/OTG/device controller. Enable this
369b92a78e5SRodolfo Giometti	  option if your board has this chip. If unsure, say N.
370b92a78e5SRodolfo Giometti
371b92a78e5SRodolfo Giometti	  This driver does not support isochronous transfers and doesn't
372b92a78e5SRodolfo Giometti	  implement OTG nor USB device controllers.
373b92a78e5SRodolfo Giometti
374b92a78e5SRodolfo Giometti	  To compile this driver as a module, choose M here: the
375b92a78e5SRodolfo Giometti	  module will be called oxu210hp-hcd.
376b92a78e5SRodolfo Giometti
3774808a1c0SOlav Kongasconfig USB_ISP116X_HCD
3784808a1c0SOlav Kongas	tristate "ISP116X HCD support"
379ca23d3b7SVegard Nossum	depends on HAS_IOMEM
380a7f7f624SMasahiro Yamada	help
3814808a1c0SOlav Kongas	  The ISP1160 and ISP1161 chips are USB host controllers. Enable this
3824808a1c0SOlav Kongas	  option if your board has this chip. If unsure, say N.
3834808a1c0SOlav Kongas
3844808a1c0SOlav Kongas	  This driver does not support isochronous transfers.
3854808a1c0SOlav Kongas
3864808a1c0SOlav Kongas	  To compile this driver as a module, choose M here: the
3874808a1c0SOlav Kongas	  module will be called isp116x-hcd.
3884808a1c0SOlav Kongas
389a9d43091SLothar Wassmannconfig USB_ISP1362_HCD
390a9d43091SLothar Wassmann	tristate "ISP1362 HCD support"
3914a6d9f87SVegard Nossum	depends on HAS_IOMEM
392da2827a2SArnd Bergmann	depends on COMPILE_TEST # nothing uses this
393a7f7f624SMasahiro Yamada	help
394a9d43091SLothar Wassmann	  Supports the Philips ISP1362 chip as a host controller
395a9d43091SLothar Wassmann
396a9d43091SLothar Wassmann	  This driver does not support isochronous transfers.
397a9d43091SLothar Wassmann
398a9d43091SLothar Wassmann	  To compile this driver as a module, choose M here: the
399a9d43091SLothar Wassmann	  module will be called isp1362-hcd.
400a9d43091SLothar Wassmann
4012d53139fSDavid Mosbergerconfig USB_MAX3421_HCD
4022d53139fSDavid Mosberger	tristate "MAX3421 HCD (USB-over-SPI) support"
4032d53139fSDavid Mosberger	depends on USB && SPI
404a7f7f624SMasahiro Yamada	help
4052d53139fSDavid Mosberger	  The Maxim MAX3421E chip supports standard USB 2.0-compliant
4062d53139fSDavid Mosberger	  full-speed devices either in host or peripheral mode.  This
4072d53139fSDavid Mosberger	  driver supports the host-mode of the MAX3421E only.
4082d53139fSDavid Mosberger
4092d53139fSDavid Mosberger	  To compile this driver as a module, choose M here: the module will
4102d53139fSDavid Mosberger	  be called max3421-hcd.
4112d53139fSDavid Mosberger
4121da177e4SLinus Torvaldsconfig USB_OHCI_HCD
413c1117afbSManjunath Goudar	tristate "OHCI HCD (USB 1.1) support"
414cf34be7aSGeert Uytterhoeven	depends on HAS_DMA && HAS_IOMEM
415a7f7f624SMasahiro Yamada	help
4161da177e4SLinus Torvalds	  The Open Host Controller Interface (OHCI) is a standard for accessing
4171da177e4SLinus Torvalds	  USB 1.1 host controller hardware.  It does more in hardware than Intel's
4181da177e4SLinus Torvalds	  UHCI specification.  If your USB host controller follows the OHCI spec,
4191da177e4SLinus Torvalds	  say Y.  On most non-x86 systems, and on x86 hardware that's not using a
4201da177e4SLinus Torvalds	  USB controller from Intel or VIA, this is appropriate.  If your host
4211da177e4SLinus Torvalds	  controller doesn't use PCI, this is probably appropriate.  For a PCI
4221da177e4SLinus Torvalds	  based system where you're not sure, the "lspci -v" entry will list the
4231da177e4SLinus Torvalds	  right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
4241da177e4SLinus Torvalds
4251da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
4261da177e4SLinus Torvalds	  module will be called ohci-hcd.
4271da177e4SLinus Torvalds
4283ad3ca05SFlorian Fainelliif USB_OHCI_HCD
4293ad3ca05SFlorian Fainelli
430968b448bSAnand Gadiyarconfig USB_OHCI_HCD_OMAP1
431de57a154SManjunath Goudar	tristate "OHCI support for OMAP1/2 chips"
4323ad3ca05SFlorian Fainelli	depends on ARCH_OMAP1
43338e0c109SArnd Bergmann	depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3)
434968b448bSAnand Gadiyar	default y
435a7f7f624SMasahiro Yamada	help
436968b448bSAnand Gadiyar	  Enables support for the OHCI controller on OMAP1/2 chips.
437968b448bSAnand Gadiyar
4381cc6ac59SManjunath Goudarconfig USB_OHCI_HCD_SPEAR
4391cc6ac59SManjunath Goudar	tristate "Support for ST SPEAr on-chip OHCI USB controller"
44088eaaeccSKrzysztof Kozlowski	depends on USB_OHCI_HCD && (PLAT_SPEAR || COMPILE_TEST)
44188eaaeccSKrzysztof Kozlowski	default y if PLAT_SPEAR
442a7f7f624SMasahiro Yamada	help
4431cc6ac59SManjunath Goudar	  Enables support for the on-chip OHCI controller on
4441cc6ac59SManjunath Goudar	  ST SPEAr chips.
4451cc6ac59SManjunath Goudar
446905e300eSArnd Bergmannconfig USB_OHCI_HCD_STI
447905e300eSArnd Bergmann	tristate "Support for ST STiHxxx on-chip OHCI USB controller"
44888eaaeccSKrzysztof Kozlowski	depends on (ARCH_STI || COMPILE_TEST) && OF
449905e300eSArnd Bergmann	select GENERIC_PHY
450905e300eSArnd Bergmann	select USB_OHCI_HCD_PLATFORM
451905e300eSArnd Bergmann	help
452905e300eSArnd Bergmann	  Enable support for the on-chip OHCI controller found on
453905e300eSArnd Bergmann	  STMicroelectronics consumer electronics SoC's.
454905e300eSArnd Bergmann
455f23b71f3SManjunath Goudarconfig USB_OHCI_HCD_S3C2410
456f23b71f3SManjunath Goudar	tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series"
45788eaaeccSKrzysztof Kozlowski	depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX || COMPILE_TEST)
45888eaaeccSKrzysztof Kozlowski	default y if (ARCH_S3C24XX || ARCH_S3C64XX)
459a7f7f624SMasahiro Yamada	help
460f23b71f3SManjunath Goudar	  Enables support for the on-chip OHCI controller on
461f23b71f3SManjunath Goudar	  S3C24xx/S3C64xx chips.
462f23b71f3SManjunath Goudar
46330330b8fSManjunath Goudarconfig USB_OHCI_HCD_LPC32XX
46430330b8fSManjunath Goudar	tristate "Support for LPC on-chip OHCI USB controller"
46523565baeSArnd Bergmann	depends on USB_OHCI_HCD
46623565baeSArnd Bergmann	depends on ARCH_LPC32XX || COMPILE_TEST
46738e0c109SArnd Bergmann	depends on USB_ISP1301
46830330b8fSManjunath Goudar	default y
469a7f7f624SMasahiro Yamada	help
47030330b8fSManjunath Goudar	  Enables support for the on-chip OHCI controller on
47130330b8fSManjunath Goudar	  NXP chips.
47230330b8fSManjunath Goudar
473b8ad5c37SManjunath Goudarconfig USB_OHCI_HCD_PXA27X
474b8ad5c37SManjunath Goudar	tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller"
475b8ad5c37SManjunath Goudar	depends on USB_OHCI_HCD && (PXA27x || PXA3xx)
476b8ad5c37SManjunath Goudar	default y
477a7f7f624SMasahiro Yamada	help
478b8ad5c37SManjunath Goudar	  Enables support for the on-chip OHCI controller on
479b8ad5c37SManjunath Goudar	  PXA27x/PXA3xx chips.
480b8ad5c37SManjunath Goudar
481e3825b48SManjunath Goudarconfig USB_OHCI_HCD_AT91
482e3825b48SManjunath Goudar	tristate "Support for Atmel on-chip OHCI USB controller"
48388eaaeccSKrzysztof Kozlowski	depends on USB_OHCI_HCD && (ARCH_AT91 || COMPILE_TEST) && OF
48488eaaeccSKrzysztof Kozlowski	default y if ARCH_AT91
485a7f7f624SMasahiro Yamada	help
486e3825b48SManjunath Goudar	  Enables support for the on-chip OHCI controller on
487e3825b48SManjunath Goudar	  Atmel chips.
488e3825b48SManjunath Goudar
489968b448bSAnand Gadiyarconfig USB_OHCI_HCD_OMAP3
4903a48fef1SManjunath Goudar	tristate "OHCI support for OMAP3 and later chips"
49188eaaeccSKrzysztof Kozlowski	depends on ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
492ef189c8dSTony Lindgren	select USB_OHCI_HCD_PLATFORM
49388eaaeccSKrzysztof Kozlowski	default y if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5
494ef189c8dSTony Lindgren	help
495ef189c8dSTony Lindgren	  This option is deprecated now and the driver was removed, use
496ef189c8dSTony Lindgren	  USB_OHCI_HCD_PLATFORM instead.
497ef189c8dSTony Lindgren
498968b448bSAnand Gadiyar	  Enables support for the on-chip OHCI controller on
499968b448bSAnand Gadiyar	  OMAP3 and later chips.
500968b448bSAnand Gadiyar
501068413e9SArnd Bergmannconfig USB_OHCI_HCD_DAVINCI
5026c21caa3SManjunath Goudar	tristate "OHCI support for TI DaVinci DA8xx"
50388eaaeccSKrzysztof Kozlowski	depends on ARCH_DAVINCI_DA8XX || COMPILE_TEST
5046c21caa3SManjunath Goudar	depends on USB_OHCI_HCD
5056110c425SDavid Lechner	select PHY_DA8XX_USB
50688eaaeccSKrzysztof Kozlowski	default y if ARCH_DAVINCI_DA8XX
507068413e9SArnd Bergmann	help
508068413e9SArnd Bergmann	  Enables support for the DaVinci DA8xx integrated OHCI
509068413e9SArnd Bergmann	  controller. This driver cannot currently be a loadable
510068413e9SArnd Bergmann	  module because it lacks a proper PHY abstraction.
511068413e9SArnd Bergmann
512495a678fSSylvain Munautconfig USB_OHCI_HCD_PPC_OF_BE
51345e83889SArnd Bergmann	bool "OHCI support for OF platform bus (big endian)"
514c31316cbSKevin Hao	depends on PPC
515495a678fSSylvain Munaut	select USB_OHCI_BIG_ENDIAN_DESC
516495a678fSSylvain Munaut	select USB_OHCI_BIG_ENDIAN_MMIO
517a7f7f624SMasahiro Yamada	help
51845e83889SArnd Bergmann	  Enables support for big-endian USB controllers present on the
51945e83889SArnd Bergmann	  OpenFirmware platform bus.
520495a678fSSylvain Munaut
521495a678fSSylvain Munautconfig USB_OHCI_HCD_PPC_OF_LE
52245e83889SArnd Bergmann	bool "OHCI support for OF platform bus (little endian)"
523c31316cbSKevin Hao	depends on PPC
524495a678fSSylvain Munaut	select USB_OHCI_LITTLE_ENDIAN
525a7f7f624SMasahiro Yamada	help
52645e83889SArnd Bergmann	  Enables support for little-endian USB controllers present on the
52745e83889SArnd Bergmann	  OpenFirmware platform bus.
52845e83889SArnd Bergmann
52945e83889SArnd Bergmannconfig USB_OHCI_HCD_PPC_OF
53045e83889SArnd Bergmann	bool
531c31316cbSKevin Hao	depends on PPC
53245e83889SArnd Bergmann	default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
533495a678fSSylvain Munaut
5341da177e4SLinus Torvaldsconfig USB_OHCI_HCD_PCI
535c1117afbSManjunath Goudar	tristate "OHCI support for PCI-bus USB controllers"
5362c93e790Syuan linyu	depends on USB_PCI
5371da177e4SLinus Torvalds	default y
5381da177e4SLinus Torvalds	select USB_OHCI_LITTLE_ENDIAN
539a7f7f624SMasahiro Yamada	help
5401da177e4SLinus Torvalds	  Enables support for PCI-bus plug-in USB controller cards.
5411da177e4SLinus Torvalds	  If unsure, say Y.
5421da177e4SLinus Torvalds
543c604e851SMichael Bueschconfig USB_OHCI_HCD_SSB
544259b83a3SHauke Mehrtens	bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
5453ad3ca05SFlorian Fainelli	depends on (SSB = y || SSB = USB_OHCI_HCD)
546259b83a3SHauke Mehrtens	select USB_HCD_SSB
547259b83a3SHauke Mehrtens	select USB_OHCI_HCD_PLATFORM
548a7f7f624SMasahiro Yamada	help
549259b83a3SHauke Mehrtens	  This option is deprecated now and the driver was removed, use
550259b83a3SHauke Mehrtens	  USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead.
551259b83a3SHauke Mehrtens
552c604e851SMichael Buesch	  Support for the Sonics Silicon Backplane (SSB) attached
553c604e851SMichael Buesch	  Broadcom USB OHCI core.
554c604e851SMichael Buesch
555c604e851SMichael Buesch	  This device is present in some embedded devices with
556c604e851SMichael Buesch	  Broadcom based SSB bus.
557c604e851SMichael Buesch
558c604e851SMichael Buesch	  If unsure, say N.
559c604e851SMichael Buesch
56060b0bf0fSYoshihiro Shimodaconfig USB_OHCI_SH
561231a72e0SFlorian Fainelli	bool "OHCI support for SuperH USB controller (DEPRECATED)"
56288eaaeccSKrzysztof Kozlowski	depends on SUPERH || COMPILE_TEST
563231a72e0SFlorian Fainelli	select USB_OHCI_HCD_PLATFORM
564a7f7f624SMasahiro Yamada	help
565231a72e0SFlorian Fainelli	  This option is deprecated now and the driver was removed, use
566231a72e0SFlorian Fainelli	  USB_OHCI_HCD_PLATFORM instead.
567231a72e0SFlorian Fainelli
56860b0bf0fSYoshihiro Shimoda	  Enables support for the on-chip OHCI controller on the SuperH.
56960b0bf0fSYoshihiro Shimoda	  If you use the PCI OHCI controller, this option is not necessary.
57060b0bf0fSYoshihiro Shimoda
57162194244SJingoo Hanconfig USB_OHCI_EXYNOS
572dea7b202SKrzysztof Kozlowski	tristate "OHCI support for Samsung S5P/Exynos SoC Series"
57388eaaeccSKrzysztof Kozlowski	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
57462194244SJingoo Han	help
5752abc8657SKrzysztof Kozlowski	  Enable support for the Samsung S5Pv210 and Exynos SOC's on-chip OHCI
5762abc8657SKrzysztof Kozlowski	  controller.
57762194244SJingoo Han
578760efe69SMac Linconfig USB_CNS3XXX_OHCI
579c23920b0SFlorian Fainelli	bool "Cavium CNS3XXX OHCI Module (DEPRECATED)"
58088eaaeccSKrzysztof Kozlowski	depends on ARCH_CNS3XXX || COMPILE_TEST
581c23920b0SFlorian Fainelli	select USB_OHCI_HCD_PLATFORM
582a7f7f624SMasahiro Yamada	help
583c23920b0SFlorian Fainelli	  This option is deprecated now and the driver was removed, use
584c23920b0SFlorian Fainelli	  USB_OHCI_HCD_PLATFORM instead.
585c23920b0SFlorian Fainelli
586760efe69SMac Lin	  Enable support for the CNS3XXX SOC's on-chip OHCI controller.
587760efe69SMac Lin	  It is needed for low-speed USB 1.0 device support.
588760efe69SMac Lin
589fa3364b5SHauke Mehrtensconfig USB_OHCI_HCD_PLATFORM
590928fb68eSManjunath Goudar	tristate "Generic OHCI driver for a platform device"
591a7f7f624SMasahiro Yamada	help
592fa3364b5SHauke Mehrtens	  Adds an OHCI host driver for a generic platform device, which
593898d828bSPeter Meerwald	  provides a memory space and an irq.
594fa3364b5SHauke Mehrtens
595fa3364b5SHauke Mehrtens	  If unsure, say N.
596fa3364b5SHauke Mehrtens
5973ad3ca05SFlorian Fainelliconfig USB_OCTEON_OHCI
5982193dda5SAlan Stern	bool "Octeon on-chip OHCI support (DEPRECATED)"
5999ddebc46SDavid Daney	depends on CAVIUM_OCTEON_SOC
6003ad3ca05SFlorian Fainelli	default USB_OCTEON_EHCI
601df115f3eSBen Hutchings	select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
6023ad3ca05SFlorian Fainelli	select USB_OHCI_LITTLE_ENDIAN
6032193dda5SAlan Stern	select USB_OHCI_HCD_PLATFORM
6043ad3ca05SFlorian Fainelli	help
6052193dda5SAlan Stern	  This option is deprecated now and the driver was removed, use
6062193dda5SAlan Stern	  USB_OHCI_HCD_PLATFORM instead.
6072193dda5SAlan Stern
6083ad3ca05SFlorian Fainelli	  Enable support for the Octeon II SOC's on-chip OHCI
6093ad3ca05SFlorian Fainelli	  controller.  It is needed for low-speed USB 1.0 device
6103ad3ca05SFlorian Fainelli	  support.  All CN6XXX based chips with USB are supported.
6113ad3ca05SFlorian Fainelli
6123ad3ca05SFlorian Fainelliendif # USB_OHCI_HCD
6133ad3ca05SFlorian Fainelli
6141da177e4SLinus Torvaldsconfig USB_UHCI_HCD
6151da177e4SLinus Torvalds	tristate "UHCI HCD (most Intel and VIA) support"
6162c93e790Syuan linyu	depends on USB_PCI || USB_UHCI_SUPPORT_NON_PCI_HC
617a7f7f624SMasahiro Yamada	help
6181da177e4SLinus Torvalds	  The Universal Host Controller Interface is a standard by Intel for
6191da177e4SLinus Torvalds	  accessing the USB hardware in the PC (which is also called the USB
6201da177e4SLinus Torvalds	  host controller). If your USB host controller conforms to this
6211da177e4SLinus Torvalds	  standard, you may want to say Y, but see below. All recent boards
6221da177e4SLinus Torvalds	  with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
6231da177e4SLinus Torvalds	  i810, i820) conform to this standard. Also all VIA PCI chipsets
6241da177e4SLinus Torvalds	  (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
6253db7739cSJan Andersson	  133) and LEON/GRLIB SoCs with the GRUSBHC controller.
6263db7739cSJan Andersson	  If unsure, say Y.
6271da177e4SLinus Torvalds
6281da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
6291da177e4SLinus Torvalds	  module will be called uhci-hcd.
6301da177e4SLinus Torvalds
631d3219d1cSJan Anderssonconfig USB_UHCI_SUPPORT_NON_PCI_HC
632d3219d1cSJan Andersson	bool
633ccd9509aSAlan Stern	default y if (SPARC_LEON || USB_UHCI_PLATFORM)
634100d4597STony Prisk
635100d4597STony Priskconfig USB_UHCI_PLATFORM
636ccd9509aSAlan Stern	bool
6374642d34aSBenjamin Herrenschmidt	default y if (ARCH_VT8500 || ARCH_ASPEED)
6384642d34aSBenjamin Herrenschmidt
6394642d34aSBenjamin Herrenschmidtconfig USB_UHCI_ASPEED
6404642d34aSBenjamin Herrenschmidt	bool
6414642d34aSBenjamin Herrenschmidt	default y if ARCH_ASPEED
642d3219d1cSJan Andersson
643236dd4d1SAnton Vorontsovconfig USB_FHCI_HCD
644236dd4d1SAnton Vorontsov	tristate "Freescale QE USB Host Controller support"
64525e11ec4SFlorian Fainelli	depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
646236dd4d1SAnton Vorontsov	select FSL_GTM
647236dd4d1SAnton Vorontsov	select QE_USB
648236dd4d1SAnton Vorontsov	help
649236dd4d1SAnton Vorontsov	  This driver enables support for Freescale QE USB Host Controller
650236dd4d1SAnton Vorontsov	  (as found on MPC8360 and MPC8323 processors), the driver supports
651236dd4d1SAnton Vorontsov	  Full and Low Speed USB.
652236dd4d1SAnton Vorontsov
653236dd4d1SAnton Vorontsovconfig FHCI_DEBUG
654236dd4d1SAnton Vorontsov	bool "Freescale QE USB Host Controller debug support"
655236dd4d1SAnton Vorontsov	depends on USB_FHCI_HCD && DEBUG_FS
656236dd4d1SAnton Vorontsov	help
657236dd4d1SAnton Vorontsov	  Say "y" to see some FHCI debug information and statistics
65825985edcSLucas De Marchi	  through debugfs.
659236dd4d1SAnton Vorontsov
660d774efeaSTony Olechconfig USB_U132_HCD
661d774efeaSTony Olech	tristate "Elan U132 Adapter Host Controller"
66225e11ec4SFlorian Fainelli	depends on USB_FTDI_ELAN
663d774efeaSTony Olech	help
664d774efeaSTony Olech	  The U132 adapter is a USB to CardBus adapter specifically designed
665d774efeaSTony Olech	  for PC cards that contain an OHCI host controller. Typical PC cards
666d774efeaSTony Olech	  are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
667d774efeaSTony Olech	  adapter will *NOT* work with PC cards that do not contain an OHCI
668d774efeaSTony Olech	  controller.
669d774efeaSTony Olech
6703cb2fcccSMatt LaPlante	  For those PC cards that contain multiple OHCI controllers only the
671d774efeaSTony Olech	  first one is used.
672d774efeaSTony Olech
673d774efeaSTony Olech	  The driver consists of two modules, the "ftdi-elan" module is a
674d774efeaSTony Olech	  USB client driver that interfaces to the FTDI chip within ELAN's
675d774efeaSTony Olech	  USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
676d774efeaSTony Olech	  controller driver that talks to the OHCI controller within the
677d774efeaSTony Olech	  CardBus cards that are inserted in the U132 adapter.
678d774efeaSTony Olech
679d774efeaSTony Olech	  This driver has been tested with a CardBus OHCI USB adapter, and
680d774efeaSTony Olech	  worked with a USB PEN Drive inserted into the first USB port of
681d774efeaSTony Olech	  the PCCARD. A rather pointless thing to do, but useful for testing.
682d774efeaSTony Olech
683d774efeaSTony Olech	  It is safe to say M here.
684d774efeaSTony Olech
685d774efeaSTony Olech	  See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
686d774efeaSTony Olech
6871da177e4SLinus Torvaldsconfig USB_SL811_HCD
6881da177e4SLinus Torvalds	tristate "SL811HS HCD support"
689cfa33eaeSVegard Nossum	depends on HAS_IOMEM
6901da177e4SLinus Torvalds	help
6911da177e4SLinus Torvalds	  The SL811HS is a single-port USB controller that supports either
6921da177e4SLinus Torvalds	  host side or peripheral side roles.  Enable this option if your
6931da177e4SLinus Torvalds	  board has this chip, and you want to use it as a host controller.
6941da177e4SLinus Torvalds	  If unsure, say N.
6951da177e4SLinus Torvalds
6961da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
6971da177e4SLinus Torvalds	  module will be called sl811-hcd.
6981da177e4SLinus Torvalds
699ad7c56f0SMike Frysingerconfig USB_SL811_HCD_ISO
700ad7c56f0SMike Frysinger	bool "partial ISO support"
701ad7c56f0SMike Frysinger	depends on USB_SL811_HCD
702ad7c56f0SMike Frysinger	help
703ad7c56f0SMike Frysinger	  The driver doesn't support iso_frame_desc (yet), but for some simple
704ad7c56f0SMike Frysinger	  devices that just queue one ISO frame per URB, then ISO transfers
705ad7c56f0SMike Frysinger	  "should" work using the normal urb status fields.
706ad7c56f0SMike Frysinger
707ad7c56f0SMike Frysinger	  If unsure, say N.
708ad7c56f0SMike Frysinger
709c6de2b64SDavid Brownellconfig USB_SL811_CS
710c6de2b64SDavid Brownell	tristate "CF/PCMCIA support for SL811HS HCD"
711c6de2b64SDavid Brownell	depends on USB_SL811_HCD && PCMCIA
712c6de2b64SDavid Brownell	help
713c6de2b64SDavid Brownell	  Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
714c6de2b64SDavid Brownell	  REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
715c6de2b64SDavid Brownell
716c6de2b64SDavid Brownell	  To compile this driver as a module, choose M here: the
717c6de2b64SDavid Brownell	  module will be called "sl811_cs".
718c6de2b64SDavid Brownell
7195d304358SYoshihiro Shimodaconfig USB_R8A66597_HCD
720fa0de2b6SM4rkusXXL	tristate "R8A66597 HCD support"
721e37a6c92SVegard Nossum	depends on HAS_IOMEM
7225d304358SYoshihiro Shimoda	help
7235d304358SYoshihiro Shimoda	  The R8A66597 is a USB 2.0 host and peripheral controller.
7245d304358SYoshihiro Shimoda
7255d304358SYoshihiro Shimoda	  Enable this option if your board has this chip, and you want
7265d304358SYoshihiro Shimoda	  to use it as a host controller.  If unsure, say N.
7275d304358SYoshihiro Shimoda
7285d304358SYoshihiro Shimoda	  To compile this driver as a module, choose M here: the
7295d304358SYoshihiro Shimoda	  module will be called r8a66597-hcd.
7305d304358SYoshihiro Shimoda
731034d7c13SKuninori Morimotoconfig USB_RENESAS_USBHS_HCD
732034d7c13SKuninori Morimoto	tristate "Renesas USBHS HCD support"
733034d7c13SKuninori Morimoto	depends on USB_RENESAS_USBHS
734034d7c13SKuninori Morimoto	help
735034d7c13SKuninori Morimoto	  The Renesas USBHS is a USB 2.0 host and peripheral controller.
736034d7c13SKuninori Morimoto
737034d7c13SKuninori Morimoto	  Enable this option if your board has this chip, and you want
738034d7c13SKuninori Morimoto	  to use it as a host controller.  If unsure, say N.
739034d7c13SKuninori Morimoto
740034d7c13SKuninori Morimoto	  To compile this driver as a module, choose M here: the
741034d7c13SKuninori Morimoto	  module will be called renesas-usbhs.
742034d7c13SKuninori Morimoto
74362e11d1bSHauke Mehrtensconfig USB_HCD_BCMA
74462e11d1bSHauke Mehrtens	tristate "BCMA usb host driver"
745eb83be98SGreg Kroah-Hartman	depends on BCMA
74662e11d1bSHauke Mehrtens	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
74762e11d1bSHauke Mehrtens	select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
74862e11d1bSHauke Mehrtens	help
74971c421dbSJesper Dangaard Brouer	  Enable support for the EHCI and OCHI host controller on an bcma bus.
75062e11d1bSHauke Mehrtens	  It converts the bcma driver into two platform device drivers
75162e11d1bSHauke Mehrtens	  for ehci and ohci.
75262e11d1bSHauke Mehrtens
75362e11d1bSHauke Mehrtens	  If unsure, say N.
7547043c2ccSHauke Mehrtens
7557043c2ccSHauke Mehrtensconfig USB_HCD_SSB
7567043c2ccSHauke Mehrtens	tristate "SSB usb host driver"
757eb83be98SGreg Kroah-Hartman	depends on SSB
7587043c2ccSHauke Mehrtens	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
7597043c2ccSHauke Mehrtens	select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
7607043c2ccSHauke Mehrtens	help
76171c421dbSJesper Dangaard Brouer	  Enable support for the EHCI and OCHI host controller on an bcma bus.
7627043c2ccSHauke Mehrtens	  It converts the bcma driver into two platform device drivers
7637043c2ccSHauke Mehrtens	  for ehci and ohci.
7647043c2ccSHauke Mehrtens
7657043c2ccSHauke Mehrtens	  If unsure, say N.
766726a85caSJack Pham
767726a85caSJack Phamconfig USB_HCD_TEST_MODE
768726a85caSJack Pham	bool "HCD test mode support"
769a7f7f624SMasahiro Yamada	help
770726a85caSJack Pham	  Say 'Y' to enable additional software test modes that may be
771726a85caSJack Pham	  supported by the host controller drivers.
772726a85caSJack Pham
773726a85caSJack Pham	  One such test mode is the Embedded High-speed Host Electrical Test
774726a85caSJack Pham	  (EHSET) for EHCI host controller hardware, specifically the "Single
775726a85caSJack Pham	  Step Set Feature" test.  Typically this will be enabled for On-the-Go
776726a85caSJack Pham	  or embedded hosts that need to undergo USB-IF compliance testing with
777726a85caSJack Pham	  the aid of special testing hardware.  In the future, this may expand
778726a85caSJack Pham	  to include other tests that require support from a HCD driver.
779726a85caSJack Pham
780726a85caSJack Pham	  This option is of interest only to developers who need to validate
781726a85caSJack Pham	  their USB hardware designs.  It is not needed for normal use.  If
782726a85caSJack Pham	  unsure, say N.
783494ed399SJuergen Gross
784494ed399SJuergen Grossconfig USB_XEN_HCD
785494ed399SJuergen Gross	tristate "Xen usb virtual host driver"
786494ed399SJuergen Gross	depends on XEN
787494ed399SJuergen Gross	select XEN_XENBUS_FRONTEND
788494ed399SJuergen Gross	help
789494ed399SJuergen Gross	  The Xen usb virtual host driver serves as a frontend driver enabling
790494ed399SJuergen Gross	  a Xen guest system to access USB Devices passed through to the guest
791494ed399SJuergen Gross	  by the Xen host (usually Dom0).
792494ed399SJuergen Gross	  Only needed if the kernel is running in a Xen guest and generic
793494ed399SJuergen Gross	  access to a USB device is needed.
794