xref: /linux/drivers/usb/host/Kconfig (revision 7b7200098011a3f2b66f702b6fe47122cba585a3)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# USB Host Controller Drivers
31da177e4SLinus Torvalds#
41da177e4SLinus Torvaldscomment "USB Host Controller Drivers"
51da177e4SLinus Torvalds	depends on USB
61da177e4SLinus Torvalds
7e9b29ffcSPeter Korsgaardconfig USB_C67X00_HCD
8e9b29ffcSPeter Korsgaard	tristate "Cypress C67x00 HCD support"
9e9b29ffcSPeter Korsgaard	depends on USB
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
21eb6bab13SSarah Sharp	tristate "xHCI HCD (USB 3.0) support (EXPERIMENTAL)"
22*7b720009SFelipe Balbi	depends on USB && USB_ARCH_HAS_XHCI && EXPERIMENTAL
23eb6bab13SSarah Sharp	---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
30eb6bab13SSarah Sharpconfig USB_XHCI_HCD_DEBUGGING
31eb6bab13SSarah Sharp	bool "Debugging for the xHCI host controller"
32eb6bab13SSarah Sharp	depends on USB_XHCI_HCD
33eb6bab13SSarah Sharp	---help---
34eb6bab13SSarah Sharp	  Say 'Y' to turn on debugging for the xHCI host controller driver.
35eb6bab13SSarah Sharp	  This will spew debugging output, even in interrupt context.
36eb6bab13SSarah Sharp	  This should only be used for debugging xHCI driver bugs.
37eb6bab13SSarah Sharp
38eb6bab13SSarah Sharp	  If unsure, say N.
39eb6bab13SSarah Sharp
401da177e4SLinus Torvaldsconfig USB_EHCI_HCD
411da177e4SLinus Torvalds	tristate "EHCI HCD (USB 2.0) support"
4276fa9a24SJordan Crouse	depends on USB && USB_ARCH_HAS_EHCI
431da177e4SLinus Torvalds	---help---
441da177e4SLinus Torvalds	  The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
451da177e4SLinus Torvalds	  "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
461da177e4SLinus Torvalds	  If your USB host controller supports USB 2.0, you will likely want to
47b967c88eSThierry Vignaud	  configure this Host Controller Driver.
481da177e4SLinus Torvalds
491da177e4SLinus Torvalds	  EHCI controllers are packaged with "companion" host controllers (OHCI
501da177e4SLinus Torvalds	  or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
51b3c29d85SJesper Juhl	  will connect to EHCI if the device is high speed, otherwise they
521da177e4SLinus Torvalds	  connect to a companion controller.  If you configure EHCI, you should
531da177e4SLinus Torvalds	  probably configure the OHCI (for NEC and some other vendors) USB Host
541da177e4SLinus Torvalds	  Controller Driver or UHCI (for Via motherboards) Host Controller
551da177e4SLinus Torvalds	  Driver too.
561da177e4SLinus Torvalds
571da177e4SLinus Torvalds	  You may want to read <file:Documentation/usb/ehci.txt>.
581da177e4SLinus Torvalds
591da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
601da177e4SLinus Torvalds	  module will be called ehci-hcd.
611da177e4SLinus Torvalds
621da177e4SLinus Torvaldsconfig USB_EHCI_ROOT_HUB_TT
639ec249a6SRobert P. J. Day	bool "Root Hub Transaction Translators"
649ec249a6SRobert P. J. Day	depends on USB_EHCI_HCD
651da177e4SLinus Torvalds	---help---
661da177e4SLinus Torvalds	  Some EHCI chips have vendor-specific extensions to integrate
671da177e4SLinus Torvalds	  transaction translators, so that no OHCI or UHCI companion
681da177e4SLinus Torvalds	  controller is needed.  It's safe to say "y" even if your
691da177e4SLinus Torvalds	  controller doesn't support this feature.
701da177e4SLinus Torvalds
71ba47f66bSDan Streetman	  This supports the EHCI implementation that's originally
72ba47f66bSDan Streetman	  from ARC, and has since changed hands a few times.
73ba47f66bSDan Streetman
74ba47f66bSDan Streetmanconfig USB_EHCI_TT_NEWSCHED
7537cd681cSAlan Stern	bool "Improved Transaction Translator scheduling"
7637cd681cSAlan Stern	depends on USB_EHCI_HCD
7737cd681cSAlan Stern	default y
78ba47f66bSDan Streetman	---help---
79ba47f66bSDan Streetman	  This changes the periodic scheduling code to fill more of the low
80ba47f66bSDan Streetman	  and full speed bandwidth available from the Transaction Translator
81ba47f66bSDan Streetman	  (TT) in USB 2.0 hubs.  Without this, only one transfer will be
82ba47f66bSDan Streetman	  issued in each microframe, significantly reducing the number of
83ba47f66bSDan Streetman	  periodic low/fullspeed transfers possible.
84ba47f66bSDan Streetman
85ba47f66bSDan Streetman	  If you have multiple periodic low/fullspeed devices connected to a
86ba47f66bSDan Streetman	  highspeed USB hub which is connected to a highspeed USB Host
87ba47f66bSDan Streetman	  Controller, and some of those devices will not work correctly
8837cd681cSAlan Stern	  (possibly due to "ENOSPC" or "-28" errors), say Y.  Conversely, if
8937cd681cSAlan Stern	  you have only one such device and it doesn't work, you could try
9037cd681cSAlan Stern	  saying N.
91ba47f66bSDan Streetman
9237cd681cSAlan Stern	  If unsure, say Y.
931da177e4SLinus Torvalds
9422ced687SAnoopconfig USB_EHCI_HCD_PMC_MSP
9522ced687SAnoop	tristate "EHCI support for on-chip PMC MSP71xx USB controller"
9622ced687SAnoop	depends on USB_EHCI_HCD && MSP_HAS_USB
9722ced687SAnoop	default n
9822ced687SAnoop	select USB_EHCI_BIG_ENDIAN_DESC
9922ced687SAnoop	select USB_EHCI_BIG_ENDIAN_MMIO
10022ced687SAnoop	---help---
10122ced687SAnoop		Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's.
10222ced687SAnoop		If unsure, say N.
10322ced687SAnoop
104083522d7SBenjamin Herrenschmidtconfig USB_EHCI_BIG_ENDIAN_MMIO
105083522d7SBenjamin Herrenschmidt	bool
1061643accdSDavid Daney	depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || \
1071643accdSDavid Daney				    ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
10822ced687SAnoop				    PPC_MPC512x || CPU_CAVIUM_OCTEON || \
1099be03929SJan Andersson				    PMC_MSP || SPARC_LEON)
1104d68c0beSStefan Roese	default y
111083522d7SBenjamin Herrenschmidt
1126dbd682bSStefan Roeseconfig USB_EHCI_BIG_ENDIAN_DESC
1136dbd682bSStefan Roese	bool
114230f7edeSAnatolij Gustschin	depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
1159be03929SJan Andersson				    PPC_MPC512x || PMC_MSP || SPARC_LEON)
1164d68c0beSStefan Roese	default y
1176dbd682bSStefan Roese
11808d3c18eSJulie Zhuconfig XPS_USB_HCD_XILINX
11908d3c18eSJulie Zhu	bool "Use Xilinx usb host EHCI controller core"
12008d3c18eSJulie Zhu	depends on USB_EHCI_HCD && (PPC32 || MICROBLAZE)
12108d3c18eSJulie Zhu	select USB_EHCI_BIG_ENDIAN_DESC
12208d3c18eSJulie Zhu	select USB_EHCI_BIG_ENDIAN_MMIO
12308d3c18eSJulie Zhu	---help---
12408d3c18eSJulie Zhu		Xilinx xps USB host controller core is EHCI compilant and has
12508d3c18eSJulie Zhu		transaction translator built-in. It can be configured to either
12608d3c18eSJulie Zhu		support both high speed and full speed devices, or high speed
12708d3c18eSJulie Zhu		devices only.
12808d3c18eSJulie Zhu
129126512e3SAnatolij Gustschinconfig USB_FSL_MPH_DR_OF
130126512e3SAnatolij Gustschin	tristate
131126512e3SAnatolij Gustschin
132ba02978aSLi Yangconfig USB_EHCI_FSL
133b5937a41SAnton Vorontsov	bool "Support for Freescale on-chip EHCI USB controller"
134b5937a41SAnton Vorontsov	depends on USB_EHCI_HCD && FSL_SOC
135ba02978aSLi Yang	select USB_EHCI_ROOT_HUB_TT
136018b97d0SMarc Kleine-Budde	select USB_FSL_MPH_DR_OF if OF
137ba02978aSLi Yang	---help---
138ba02978aSLi Yang	  Variation of ARC USB block used in some Freescale chips.
139ba02978aSLi Yang
1407e8d5cd9SDaniel Mackconfig USB_EHCI_MXC
1417e8d5cd9SDaniel Mack	bool "Support for Freescale on-chip EHCI USB controller"
1427e8d5cd9SDaniel Mack	depends on USB_EHCI_HCD && ARCH_MXC
1437e8d5cd9SDaniel Mack	select USB_EHCI_ROOT_HUB_TT
1447e8d5cd9SDaniel Mack	---help---
1457e8d5cd9SDaniel Mack	  Variation of ARC USB block used in some Freescale chips.
1467e8d5cd9SDaniel Mack
1477f124f4bSKeshava Munegowdaconfig USB_EHCI_HCD_OMAP
1487f124f4bSKeshava Munegowda	bool "EHCI support for OMAP3 and later chips"
1497f124f4bSKeshava Munegowda	depends on USB_EHCI_HCD && ARCH_OMAP
1507f124f4bSKeshava Munegowda	default y
1517f124f4bSKeshava Munegowda	--- help ---
1527f124f4bSKeshava Munegowda	  Enables support for the on-chip EHCI controller on
1537f124f4bSKeshava Munegowda	  OMAP3 and later chips.
1547f124f4bSKeshava Munegowda
155b0848aeaSPavankumar Kondeticonfig USB_EHCI_MSM
156b0848aeaSPavankumar Kondeti	bool "Support for MSM on-chip EHCI USB controller"
157b0848aeaSPavankumar Kondeti	depends on USB_EHCI_HCD && ARCH_MSM
158b0848aeaSPavankumar Kondeti	select USB_EHCI_ROOT_HUB_TT
159dfb2130cSPavankumar Kondeti	select USB_MSM_OTG
160b0848aeaSPavankumar Kondeti	---help---
161b0848aeaSPavankumar Kondeti	  Enables support for the USB Host controller present on the
162b0848aeaSPavankumar Kondeti	  Qualcomm chipsets. Root Hub has inbuilt TT.
163b0848aeaSPavankumar Kondeti	  This driver depends on OTG driver for PHY initialization,
1648bb6a164SPavankumar Kondeti	  clock management, powering up VBUS, and power management.
1658cf28f1fSPavankumar Kondeti	  This driver is not supported on boards like trout which
1668cf28f1fSPavankumar Kondeti	  has an external PHY.
167b0848aeaSPavankumar Kondeti
16879ad3b5aSBenoit Gobyconfig USB_EHCI_TEGRA
16979ad3b5aSBenoit Goby       boolean "NVIDIA Tegra HCD support"
17079ad3b5aSBenoit Goby       depends on USB_EHCI_HCD && ARCH_TEGRA
17179ad3b5aSBenoit Goby       select USB_EHCI_ROOT_HUB_TT
17279ad3b5aSBenoit Goby       help
17379ad3b5aSBenoit Goby         This driver enables support for the internal USB Host Controllers
17479ad3b5aSBenoit Goby         found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.
17579ad3b5aSBenoit Goby
176da0e8fb0SValentine Barshakconfig USB_EHCI_HCD_PPC_OF
177da0e8fb0SValentine Barshak	bool "EHCI support for PPC USB controller on OF platform bus"
178da0e8fb0SValentine Barshak	depends on USB_EHCI_HCD && PPC_OF
179da0e8fb0SValentine Barshak	default y
180da0e8fb0SValentine Barshak	---help---
181da0e8fb0SValentine Barshak	  Enables support for the USB controller present on the PowerPC
182da0e8fb0SValentine Barshak	  OpenFirmware platform bus.
183da0e8fb0SValentine Barshak
18460b0bf0fSYoshihiro Shimodaconfig USB_EHCI_SH
18560b0bf0fSYoshihiro Shimoda	bool "EHCI support for SuperH USB controller"
18660b0bf0fSYoshihiro Shimoda	depends on USB_EHCI_HCD && SUPERH
18760b0bf0fSYoshihiro Shimoda	---help---
18860b0bf0fSYoshihiro Shimoda	  Enables support for the on-chip EHCI controller on the SuperH.
18960b0bf0fSYoshihiro Shimoda	  If you use the PCI EHCI controller, this option is not necessary.
19060b0bf0fSYoshihiro Shimoda
1911bcc5aa8SJoonyoung Shimconfig USB_EHCI_S5P
1921bcc5aa8SJoonyoung Shim       boolean "S5P EHCI support"
1931bcc5aa8SJoonyoung Shim       depends on USB_EHCI_HCD && PLAT_S5P
1941bcc5aa8SJoonyoung Shim       help
1951bcc5aa8SJoonyoung Shim	 Enable support for the S5P SOC's on-chip EHCI controller.
1961bcc5aa8SJoonyoung Shim
197586dfc8cSWan ZongShunconfig USB_W90X900_EHCI
198586dfc8cSWan ZongShun	bool "W90X900(W90P910) EHCI support"
199586dfc8cSWan ZongShun	depends on USB_EHCI_HCD && ARCH_W90X900
200586dfc8cSWan ZongShun	---help---
201586dfc8cSWan ZongShun		Enables support for the W90X900 USB controller
202586dfc8cSWan ZongShun
203760efe69SMac Linconfig USB_CNS3XXX_EHCI
204760efe69SMac Lin	bool "Cavium CNS3XXX EHCI Module"
205760efe69SMac Lin	depends on USB_EHCI_HCD && ARCH_CNS3XXX
206760efe69SMac Lin	---help---
207760efe69SMac Lin	  Enable support for the CNS3XXX SOC's on-chip EHCI controller.
208760efe69SMac Lin	  It is needed for high-speed (480Mbit/sec) USB 2.0 device
209760efe69SMac Lin	  support.
210760efe69SMac Lin
211502fa841SGabor Juhosconfig USB_EHCI_ATH79
212502fa841SGabor Juhos	bool "EHCI support for AR7XXX/AR9XXX SoCs"
213502fa841SGabor Juhos	depends on USB_EHCI_HCD && (SOC_AR71XX || SOC_AR724X || SOC_AR913X)
214502fa841SGabor Juhos	select USB_EHCI_ROOT_HUB_TT
215502fa841SGabor Juhos	default y
216502fa841SGabor Juhos	---help---
217502fa841SGabor Juhos	  Enables support for the built-in EHCI controller present
218502fa841SGabor Juhos	  on the Atheros AR7XXX/AR9XXX SoCs.
219502fa841SGabor Juhos
220b92a78e5SRodolfo Giometticonfig USB_OXU210HP_HCD
221b92a78e5SRodolfo Giometti	tristate "OXU210HP HCD support"
222b92a78e5SRodolfo Giometti	depends on USB
223b92a78e5SRodolfo Giometti	---help---
224b92a78e5SRodolfo Giometti	  The OXU210HP is an USB host/OTG/device controller. Enable this
225b92a78e5SRodolfo Giometti	  option if your board has this chip. If unsure, say N.
226b92a78e5SRodolfo Giometti
227b92a78e5SRodolfo Giometti	  This driver does not support isochronous transfers and doesn't
228b92a78e5SRodolfo Giometti	  implement OTG nor USB device controllers.
229b92a78e5SRodolfo Giometti
230b92a78e5SRodolfo Giometti	  To compile this driver as a module, choose M here: the
231b92a78e5SRodolfo Giometti	  module will be called oxu210hp-hcd.
232b92a78e5SRodolfo Giometti
2334808a1c0SOlav Kongasconfig USB_ISP116X_HCD
2344808a1c0SOlav Kongas	tristate "ISP116X HCD support"
2354808a1c0SOlav Kongas	depends on USB
2364808a1c0SOlav Kongas	---help---
2374808a1c0SOlav Kongas	  The ISP1160 and ISP1161 chips are USB host controllers. Enable this
2384808a1c0SOlav Kongas	  option if your board has this chip. If unsure, say N.
2394808a1c0SOlav Kongas
2404808a1c0SOlav Kongas	  This driver does not support isochronous transfers.
2414808a1c0SOlav Kongas
2424808a1c0SOlav Kongas	  To compile this driver as a module, choose M here: the
2434808a1c0SOlav Kongas	  module will be called isp116x-hcd.
2444808a1c0SOlav Kongas
245db11e47dSSebastian Siewiorconfig USB_ISP1760_HCD
246db11e47dSSebastian Siewior	tristate "ISP 1760 HCD support"
247f7e7aa58SCatalin Marinas	depends on USB && EXPERIMENTAL
248db11e47dSSebastian Siewior	---help---
249db11e47dSSebastian Siewior	  The ISP1760 chip is a USB 2.0 host controller.
250db11e47dSSebastian Siewior
251db11e47dSSebastian Siewior	  This driver does not support isochronous transfers or OTG.
252ff30bf1cSSebastian Andrzej Siewior	  This USB controller is usually attached to a non-DMA-Master
253ff30bf1cSSebastian Andrzej Siewior	  capable bus. NXP's eval kit brings this chip on PCI card
254ff30bf1cSSebastian Andrzej Siewior	  where the chip itself is behind a PLB to simulate such
255ff30bf1cSSebastian Andrzej Siewior	  a bus.
256db11e47dSSebastian Siewior
257db11e47dSSebastian Siewior	  To compile this driver as a module, choose M here: the
258ff30bf1cSSebastian Andrzej Siewior	  module will be called isp1760.
259db11e47dSSebastian Siewior
260a9d43091SLothar Wassmannconfig USB_ISP1362_HCD
261a9d43091SLothar Wassmann	tristate "ISP1362 HCD support"
262a9d43091SLothar Wassmann	depends on USB
263a9d43091SLothar Wassmann	default N
264a9d43091SLothar Wassmann	---help---
265a9d43091SLothar Wassmann	  Supports the Philips ISP1362 chip as a host controller
266a9d43091SLothar Wassmann
267a9d43091SLothar Wassmann	  This driver does not support isochronous transfers.
268a9d43091SLothar Wassmann
269a9d43091SLothar Wassmann	  To compile this driver as a module, choose M here: the
270a9d43091SLothar Wassmann	  module will be called isp1362-hcd.
271a9d43091SLothar Wassmann
2721da177e4SLinus Torvaldsconfig USB_OHCI_HCD
2731da177e4SLinus Torvalds	tristate "OHCI HCD support"
2741da177e4SLinus Torvalds	depends on USB && USB_ARCH_HAS_OHCI
2751da177e4SLinus Torvalds	select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
2762bf5fa13SDavid Brownell	select USB_OTG_UTILS if ARCH_OMAP
2771da177e4SLinus Torvalds	---help---
2781da177e4SLinus Torvalds	  The Open Host Controller Interface (OHCI) is a standard for accessing
2791da177e4SLinus Torvalds	  USB 1.1 host controller hardware.  It does more in hardware than Intel's
2801da177e4SLinus Torvalds	  UHCI specification.  If your USB host controller follows the OHCI spec,
2811da177e4SLinus Torvalds	  say Y.  On most non-x86 systems, and on x86 hardware that's not using a
2821da177e4SLinus Torvalds	  USB controller from Intel or VIA, this is appropriate.  If your host
2831da177e4SLinus Torvalds	  controller doesn't use PCI, this is probably appropriate.  For a PCI
2841da177e4SLinus Torvalds	  based system where you're not sure, the "lspci -v" entry will list the
2851da177e4SLinus Torvalds	  right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
2861da177e4SLinus Torvalds
2871da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
2881da177e4SLinus Torvalds	  module will be called ohci-hcd.
2891da177e4SLinus Torvalds
290968b448bSAnand Gadiyarconfig USB_OHCI_HCD_OMAP1
291968b448bSAnand Gadiyar	bool "OHCI support for OMAP1/2 chips"
292968b448bSAnand Gadiyar	depends on USB_OHCI_HCD && (ARCH_OMAP1 || ARCH_OMAP2)
293968b448bSAnand Gadiyar	default y
294968b448bSAnand Gadiyar	---help---
295968b448bSAnand Gadiyar	  Enables support for the OHCI controller on OMAP1/2 chips.
296968b448bSAnand Gadiyar
297968b448bSAnand Gadiyarconfig USB_OHCI_HCD_OMAP3
298968b448bSAnand Gadiyar	bool "OHCI support for OMAP3 and later chips"
299968b448bSAnand Gadiyar	depends on USB_OHCI_HCD && (ARCH_OMAP3 || ARCH_OMAP4)
300968b448bSAnand Gadiyar	default y
301968b448bSAnand Gadiyar	---help---
302968b448bSAnand Gadiyar	  Enables support for the on-chip OHCI controller on
303968b448bSAnand Gadiyar	  OMAP3 and later chips.
304968b448bSAnand Gadiyar
30590e6ca5cSGabor Juhosconfig USB_OHCI_ATH79
30690e6ca5cSGabor Juhos	bool "USB OHCI support for the Atheros AR71XX/AR7240 SoCs"
30790e6ca5cSGabor Juhos	depends on USB_OHCI_HCD && (SOC_AR71XX || SOC_AR724X)
30890e6ca5cSGabor Juhos	default y
30990e6ca5cSGabor Juhos	help
31090e6ca5cSGabor Juhos	  Enables support for the built-in OHCI controller present on the
31190e6ca5cSGabor Juhos	  Atheros AR71XX/AR7240 SoCs.
31290e6ca5cSGabor Juhos
3131da177e4SLinus Torvaldsconfig USB_OHCI_HCD_PPC_SOC
3141da177e4SLinus Torvalds	bool "OHCI support for on-chip PPC USB controller"
3151da177e4SLinus Torvalds	depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx)
3161da177e4SLinus Torvalds	default y
31711d1a4aaSBenjamin Herrenschmidt	select USB_OHCI_BIG_ENDIAN_DESC
31811d1a4aaSBenjamin Herrenschmidt	select USB_OHCI_BIG_ENDIAN_MMIO
3191da177e4SLinus Torvalds	---help---
3201da177e4SLinus Torvalds	  Enables support for the USB controller on the MPC52xx or
3211da177e4SLinus Torvalds	  STB03xxx processor chip.  If unsure, say Y.
3221da177e4SLinus Torvalds
323495a678fSSylvain Munautconfig USB_OHCI_HCD_PPC_OF_BE
32445e83889SArnd Bergmann	bool "OHCI support for OF platform bus (big endian)"
32545e83889SArnd Bergmann	depends on USB_OHCI_HCD && PPC_OF
326495a678fSSylvain Munaut	select USB_OHCI_BIG_ENDIAN_DESC
327495a678fSSylvain Munaut	select USB_OHCI_BIG_ENDIAN_MMIO
32845e83889SArnd Bergmann	---help---
32945e83889SArnd Bergmann	  Enables support for big-endian USB controllers present on the
33045e83889SArnd Bergmann	  OpenFirmware platform bus.
331495a678fSSylvain Munaut
332495a678fSSylvain Munautconfig USB_OHCI_HCD_PPC_OF_LE
33345e83889SArnd Bergmann	bool "OHCI support for OF platform bus (little endian)"
33445e83889SArnd Bergmann	depends on USB_OHCI_HCD && PPC_OF
335495a678fSSylvain Munaut	select USB_OHCI_LITTLE_ENDIAN
33645e83889SArnd Bergmann	---help---
33745e83889SArnd Bergmann	  Enables support for little-endian USB controllers present on the
33845e83889SArnd Bergmann	  OpenFirmware platform bus.
33945e83889SArnd Bergmann
34045e83889SArnd Bergmannconfig USB_OHCI_HCD_PPC_OF
34145e83889SArnd Bergmann	bool
34245e83889SArnd Bergmann	depends on USB_OHCI_HCD && PPC_OF
34345e83889SArnd Bergmann	default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
344495a678fSSylvain Munaut
3451da177e4SLinus Torvaldsconfig USB_OHCI_HCD_PCI
3461da177e4SLinus Torvalds	bool "OHCI support for PCI-bus USB controllers"
347495a678fSSylvain Munaut	depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF)
3481da177e4SLinus Torvalds	default y
3491da177e4SLinus Torvalds	select USB_OHCI_LITTLE_ENDIAN
3501da177e4SLinus Torvalds	---help---
3511da177e4SLinus Torvalds	  Enables support for PCI-bus plug-in USB controller cards.
3521da177e4SLinus Torvalds	  If unsure, say Y.
3531da177e4SLinus Torvalds
354c604e851SMichael Bueschconfig USB_OHCI_HCD_SSB
355c604e851SMichael Buesch	bool "OHCI support for Broadcom SSB OHCI core"
3561011b326SAdrian Bunk	depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD) && EXPERIMENTAL
357c604e851SMichael Buesch	default n
358c604e851SMichael Buesch	---help---
359c604e851SMichael Buesch	  Support for the Sonics Silicon Backplane (SSB) attached
360c604e851SMichael Buesch	  Broadcom USB OHCI core.
361c604e851SMichael Buesch
362c604e851SMichael Buesch	  This device is present in some embedded devices with
363c604e851SMichael Buesch	  Broadcom based SSB bus.
364c604e851SMichael Buesch
365c604e851SMichael Buesch	  If unsure, say N.
366c604e851SMichael Buesch
36760b0bf0fSYoshihiro Shimodaconfig USB_OHCI_SH
36860b0bf0fSYoshihiro Shimoda	bool "OHCI support for SuperH USB controller"
36960b0bf0fSYoshihiro Shimoda	depends on USB_OHCI_HCD && SUPERH
37060b0bf0fSYoshihiro Shimoda	---help---
37160b0bf0fSYoshihiro Shimoda	  Enables support for the on-chip OHCI controller on the SuperH.
37260b0bf0fSYoshihiro Shimoda	  If you use the PCI OHCI controller, this option is not necessary.
37360b0bf0fSYoshihiro Shimoda
374760efe69SMac Linconfig USB_CNS3XXX_OHCI
375760efe69SMac Lin	bool "Cavium CNS3XXX OHCI Module"
376760efe69SMac Lin	depends on USB_OHCI_HCD && ARCH_CNS3XXX
377760efe69SMac Lin	---help---
378760efe69SMac Lin	  Enable support for the CNS3XXX SOC's on-chip OHCI controller.
379760efe69SMac Lin	  It is needed for low-speed USB 1.0 device support.
380760efe69SMac Lin
38111d1a4aaSBenjamin Herrenschmidtconfig USB_OHCI_BIG_ENDIAN_DESC
38211d1a4aaSBenjamin Herrenschmidt	bool
38311d1a4aaSBenjamin Herrenschmidt	depends on USB_OHCI_HCD
38411d1a4aaSBenjamin Herrenschmidt	default n
38511d1a4aaSBenjamin Herrenschmidt
38611d1a4aaSBenjamin Herrenschmidtconfig USB_OHCI_BIG_ENDIAN_MMIO
3871da177e4SLinus Torvalds	bool
3881da177e4SLinus Torvalds	depends on USB_OHCI_HCD
3891da177e4SLinus Torvalds	default n
3901da177e4SLinus Torvalds
3911da177e4SLinus Torvaldsconfig USB_OHCI_LITTLE_ENDIAN
3921da177e4SLinus Torvalds	bool
3931da177e4SLinus Torvalds	depends on USB_OHCI_HCD
3941da177e4SLinus Torvalds	default n if STB03xxx || PPC_MPC52xx
3951da177e4SLinus Torvalds	default y
3961da177e4SLinus Torvalds
3971da177e4SLinus Torvaldsconfig USB_UHCI_HCD
3981da177e4SLinus Torvalds	tristate "UHCI HCD (most Intel and VIA) support"
3993db7739cSJan Andersson	depends on USB && (PCI || SPARC_LEON)
4001da177e4SLinus Torvalds	---help---
4011da177e4SLinus Torvalds	  The Universal Host Controller Interface is a standard by Intel for
4021da177e4SLinus Torvalds	  accessing the USB hardware in the PC (which is also called the USB
4031da177e4SLinus Torvalds	  host controller). If your USB host controller conforms to this
4041da177e4SLinus Torvalds	  standard, you may want to say Y, but see below. All recent boards
4051da177e4SLinus Torvalds	  with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
4061da177e4SLinus Torvalds	  i810, i820) conform to this standard. Also all VIA PCI chipsets
4071da177e4SLinus Torvalds	  (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
4083db7739cSJan Andersson	  133) and LEON/GRLIB SoCs with the GRUSBHC controller.
4093db7739cSJan Andersson	  If unsure, say Y.
4101da177e4SLinus Torvalds
4111da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
4121da177e4SLinus Torvalds	  module will be called uhci-hcd.
4131da177e4SLinus Torvalds
414d3219d1cSJan Anderssonconfig USB_UHCI_SUPPORT_NON_PCI_HC
415d3219d1cSJan Andersson	bool
416d3219d1cSJan Andersson	depends on USB_UHCI_HCD
4173db7739cSJan Andersson	default y if SPARC_LEON
418d3219d1cSJan Andersson
4198452c674SJan Anderssonconfig USB_UHCI_BIG_ENDIAN_MMIO
4208452c674SJan Andersson	bool
421fda928acSJan Andersson	depends on USB_UHCI_SUPPORT_NON_PCI_HC && SPARC_LEON
422fda928acSJan Andersson	default y
4238452c674SJan Andersson
42451e2f62fSJan Anderssonconfig USB_UHCI_BIG_ENDIAN_DESC
42551e2f62fSJan Andersson	bool
426fda928acSJan Andersson	depends on USB_UHCI_SUPPORT_NON_PCI_HC && SPARC_LEON
427fda928acSJan Andersson	default y
42851e2f62fSJan Andersson
429236dd4d1SAnton Vorontsovconfig USB_FHCI_HCD
430236dd4d1SAnton Vorontsov	tristate "Freescale QE USB Host Controller support"
431236dd4d1SAnton Vorontsov	depends on USB && OF_GPIO && QE_GPIO && QUICC_ENGINE
432236dd4d1SAnton Vorontsov	select FSL_GTM
433236dd4d1SAnton Vorontsov	select QE_USB
434236dd4d1SAnton Vorontsov	help
435236dd4d1SAnton Vorontsov	  This driver enables support for Freescale QE USB Host Controller
436236dd4d1SAnton Vorontsov	  (as found on MPC8360 and MPC8323 processors), the driver supports
437236dd4d1SAnton Vorontsov	  Full and Low Speed USB.
438236dd4d1SAnton Vorontsov
439236dd4d1SAnton Vorontsovconfig FHCI_DEBUG
440236dd4d1SAnton Vorontsov	bool "Freescale QE USB Host Controller debug support"
441236dd4d1SAnton Vorontsov	depends on USB_FHCI_HCD && DEBUG_FS
442236dd4d1SAnton Vorontsov	help
443236dd4d1SAnton Vorontsov	  Say "y" to see some FHCI debug information and statistics
44425985edcSLucas De Marchi	  through debugfs.
445236dd4d1SAnton Vorontsov
446d774efeaSTony Olechconfig USB_U132_HCD
447d774efeaSTony Olech	tristate "Elan U132 Adapter Host Controller"
448d774efeaSTony Olech	depends on USB && USB_FTDI_ELAN
449d774efeaSTony Olech	default M
450d774efeaSTony Olech	help
451d774efeaSTony Olech	  The U132 adapter is a USB to CardBus adapter specifically designed
452d774efeaSTony Olech	  for PC cards that contain an OHCI host controller. Typical PC cards
453d774efeaSTony Olech	  are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
454d774efeaSTony Olech	  adapter will *NOT* work with PC cards that do not contain an OHCI
455d774efeaSTony Olech	  controller.
456d774efeaSTony Olech
4573cb2fcccSMatt LaPlante	  For those PC cards that contain multiple OHCI controllers only the
458d774efeaSTony Olech	  first one is used.
459d774efeaSTony Olech
460d774efeaSTony Olech	  The driver consists of two modules, the "ftdi-elan" module is a
461d774efeaSTony Olech	  USB client driver that interfaces to the FTDI chip within ELAN's
462d774efeaSTony Olech	  USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
463d774efeaSTony Olech	  controller driver that talks to the OHCI controller within the
464d774efeaSTony Olech	  CardBus cards that are inserted in the U132 adapter.
465d774efeaSTony Olech
466d774efeaSTony Olech	  This driver has been tested with a CardBus OHCI USB adapter, and
467d774efeaSTony Olech	  worked with a USB PEN Drive inserted into the first USB port of
468d774efeaSTony Olech	  the PCCARD. A rather pointless thing to do, but useful for testing.
469d774efeaSTony Olech
470d774efeaSTony Olech	  It is safe to say M here.
471d774efeaSTony Olech
472d774efeaSTony Olech	  See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
473d774efeaSTony Olech
4741da177e4SLinus Torvaldsconfig USB_SL811_HCD
4751da177e4SLinus Torvalds	tristate "SL811HS HCD support"
4761da177e4SLinus Torvalds	depends on USB
4771da177e4SLinus Torvalds	help
4781da177e4SLinus Torvalds	  The SL811HS is a single-port USB controller that supports either
4791da177e4SLinus Torvalds	  host side or peripheral side roles.  Enable this option if your
4801da177e4SLinus Torvalds	  board has this chip, and you want to use it as a host controller.
4811da177e4SLinus Torvalds	  If unsure, say N.
4821da177e4SLinus Torvalds
4831da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
4841da177e4SLinus Torvalds	  module will be called sl811-hcd.
4851da177e4SLinus Torvalds
486ad7c56f0SMike Frysingerconfig USB_SL811_HCD_ISO
487ad7c56f0SMike Frysinger	bool "partial ISO support"
488ad7c56f0SMike Frysinger	depends on USB_SL811_HCD
489ad7c56f0SMike Frysinger	help
490ad7c56f0SMike Frysinger	  The driver doesn't support iso_frame_desc (yet), but for some simple
491ad7c56f0SMike Frysinger	  devices that just queue one ISO frame per URB, then ISO transfers
492ad7c56f0SMike Frysinger	  "should" work using the normal urb status fields.
493ad7c56f0SMike Frysinger
494ad7c56f0SMike Frysinger	  If unsure, say N.
495ad7c56f0SMike Frysinger
496c6de2b64SDavid Brownellconfig USB_SL811_CS
497c6de2b64SDavid Brownell	tristate "CF/PCMCIA support for SL811HS HCD"
498c6de2b64SDavid Brownell	depends on USB_SL811_HCD && PCMCIA
499c6de2b64SDavid Brownell	help
500c6de2b64SDavid Brownell	  Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
501c6de2b64SDavid Brownell	  REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
502c6de2b64SDavid Brownell
503c6de2b64SDavid Brownell	  To compile this driver as a module, choose M here: the
504c6de2b64SDavid Brownell	  module will be called "sl811_cs".
505c6de2b64SDavid Brownell
5065d304358SYoshihiro Shimodaconfig USB_R8A66597_HCD
507fa0de2b6SM4rkusXXL	tristate "R8A66597 HCD support"
5085d304358SYoshihiro Shimoda	depends on USB
5095d304358SYoshihiro Shimoda	help
5105d304358SYoshihiro Shimoda	  The R8A66597 is a USB 2.0 host and peripheral controller.
5115d304358SYoshihiro Shimoda
5125d304358SYoshihiro Shimoda	  Enable this option if your board has this chip, and you want
5135d304358SYoshihiro Shimoda	  to use it as a host controller.  If unsure, say N.
5145d304358SYoshihiro Shimoda
5155d304358SYoshihiro Shimoda	  To compile this driver as a module, choose M here: the
5165d304358SYoshihiro Shimoda	  module will be called r8a66597-hcd.
5175d304358SYoshihiro Shimoda
5187e6133aaSDavid Vrabelconfig USB_WHCI_HCD
5196a7c3e46SDavid Vrabel	tristate "Wireless USB Host Controller Interface (WHCI) driver (EXPERIMENTAL)"
5206a7c3e46SDavid Vrabel	depends on EXPERIMENTAL
5217e6133aaSDavid Vrabel	depends on PCI && USB
5227e6133aaSDavid Vrabel	select USB_WUSB
5237e6133aaSDavid Vrabel	select UWB_WHCI
5247e6133aaSDavid Vrabel	help
5257e6133aaSDavid Vrabel	  A driver for PCI-based Wireless USB Host Controllers that are
5267e6133aaSDavid Vrabel	  compliant with the WHCI specification.
5277e6133aaSDavid Vrabel
5287e6133aaSDavid Vrabel	  To compile this driver a module, choose M here: the module
5297e6133aaSDavid Vrabel	  will be called "whci-hcd".
530d09318b8SInaky Perez-Gonzalez
531d09318b8SInaky Perez-Gonzalezconfig USB_HWA_HCD
5326a7c3e46SDavid Vrabel	tristate "Host Wire Adapter (HWA) driver (EXPERIMENTAL)"
5336a7c3e46SDavid Vrabel	depends on EXPERIMENTAL
534d09318b8SInaky Perez-Gonzalez	depends on USB
535d09318b8SInaky Perez-Gonzalez	select USB_WUSB
536d09318b8SInaky Perez-Gonzalez	select UWB_HWA
537d09318b8SInaky Perez-Gonzalez	help
538d09318b8SInaky Perez-Gonzalez	  This driver enables you to connect Wireless USB devices to
539d09318b8SInaky Perez-Gonzalez	  your system using a Host Wire Adaptor USB dongle. This is an
540d09318b8SInaky Perez-Gonzalez	  UWB Radio Controller and WUSB Host Controller connected to
541d09318b8SInaky Perez-Gonzalez	  your machine via USB (specified in WUSB1.0).
542d09318b8SInaky Perez-Gonzalez
543d09318b8SInaky Perez-Gonzalez	  To compile this driver a module, choose M here: the module
544d09318b8SInaky Perez-Gonzalez	  will be called "hwa-hc".
54523d3e7a6SMartin Fuzzey
54623d3e7a6SMartin Fuzzeyconfig USB_IMX21_HCD
5475de9ec4dSSascha Hauer       tristate "i.MX21 HCD support"
5485de9ec4dSSascha Hauer       depends on USB && ARM && ARCH_MXC
54923d3e7a6SMartin Fuzzey       help
55023d3e7a6SMartin Fuzzey         This driver enables support for the on-chip USB host in the
5515de9ec4dSSascha Hauer         i.MX21 processor.
55223d3e7a6SMartin Fuzzey
55323d3e7a6SMartin Fuzzey         To compile this driver as a module, choose M here: the
55423d3e7a6SMartin Fuzzey         module will be called "imx21-hcd".
55523d3e7a6SMartin Fuzzey
5561643accdSDavid Daneyconfig USB_OCTEON_EHCI
5571643accdSDavid Daney	bool "Octeon on-chip EHCI support"
5581643accdSDavid Daney	depends on USB && USB_EHCI_HCD && CPU_CAVIUM_OCTEON
5591643accdSDavid Daney	default n
5601643accdSDavid Daney	select USB_EHCI_BIG_ENDIAN_MMIO
5611643accdSDavid Daney	help
5621643accdSDavid Daney	  Enable support for the Octeon II SOC's on-chip EHCI
5631643accdSDavid Daney	  controller.  It is needed for high-speed (480Mbit/sec)
5641643accdSDavid Daney	  USB 2.0 device support.  All CN6XXX based chips with USB are
5651643accdSDavid Daney	  supported.
5661643accdSDavid Daney
5671643accdSDavid Daneyconfig USB_OCTEON_OHCI
5681643accdSDavid Daney	bool "Octeon on-chip OHCI support"
5691643accdSDavid Daney	depends on USB && USB_OHCI_HCD && CPU_CAVIUM_OCTEON
5701643accdSDavid Daney	default USB_OCTEON_EHCI
5711643accdSDavid Daney	select USB_OHCI_BIG_ENDIAN_MMIO
5721643accdSDavid Daney	select USB_OHCI_LITTLE_ENDIAN
5731643accdSDavid Daney	help
5741643accdSDavid Daney	  Enable support for the Octeon II SOC's on-chip OHCI
5751643accdSDavid Daney	  controller.  It is needed for low-speed USB 1.0 device
5761643accdSDavid Daney	  support.  All CN6XXX based chips with USB are supported.
5771643accdSDavid Daney
5781643accdSDavid Daneyconfig USB_OCTEON2_COMMON
5791643accdSDavid Daney	bool
5801643accdSDavid Daney	default y if USB_OCTEON_EHCI || USB_OCTEON_OHCI
5813abd7f68STanmay Upadhyay
5823abd7f68STanmay Upadhyayconfig USB_PXA168_EHCI
5833abd7f68STanmay Upadhyay	bool "Marvell PXA168 on-chip EHCI HCD support"
5843abd7f68STanmay Upadhyay	depends on USB_EHCI_HCD && ARCH_MMP
5853abd7f68STanmay Upadhyay	help
5863abd7f68STanmay Upadhyay	  Enable support for Marvell PXA168 SoC's on-chip EHCI
5873abd7f68STanmay Upadhyay	  host controller
588