xref: /linux/drivers/usb/host/Kconfig (revision 760efe6910d5743084b586d3d0a3b65aea96fb2f)
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)"
221b6ed69fSPaul Mundt	depends on USB && PCI && 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
94083522d7SBenjamin Herrenschmidtconfig USB_EHCI_BIG_ENDIAN_MMIO
95083522d7SBenjamin Herrenschmidt	bool
961643accdSDavid Daney	depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || \
971643accdSDavid Daney				    ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
981643accdSDavid Daney				    PPC_MPC512x || CPU_CAVIUM_OCTEON)
994d68c0beSStefan Roese	default y
100083522d7SBenjamin Herrenschmidt
1016dbd682bSStefan Roeseconfig USB_EHCI_BIG_ENDIAN_DESC
1026dbd682bSStefan Roese	bool
103230f7edeSAnatolij Gustschin	depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
104230f7edeSAnatolij Gustschin				    PPC_MPC512x)
1054d68c0beSStefan Roese	default y
1066dbd682bSStefan Roese
10708d3c18eSJulie Zhuconfig XPS_USB_HCD_XILINX
10808d3c18eSJulie Zhu	bool "Use Xilinx usb host EHCI controller core"
10908d3c18eSJulie Zhu	depends on USB_EHCI_HCD && (PPC32 || MICROBLAZE)
11008d3c18eSJulie Zhu	select USB_EHCI_BIG_ENDIAN_DESC
11108d3c18eSJulie Zhu	select USB_EHCI_BIG_ENDIAN_MMIO
11208d3c18eSJulie Zhu	---help---
11308d3c18eSJulie Zhu		Xilinx xps USB host controller core is EHCI compilant and has
11408d3c18eSJulie Zhu		transaction translator built-in. It can be configured to either
11508d3c18eSJulie Zhu		support both high speed and full speed devices, or high speed
11608d3c18eSJulie Zhu		devices only.
11708d3c18eSJulie Zhu
118126512e3SAnatolij Gustschinconfig USB_FSL_MPH_DR_OF
119126512e3SAnatolij Gustschin	tristate
120126512e3SAnatolij Gustschin
121ba02978aSLi Yangconfig USB_EHCI_FSL
122b5937a41SAnton Vorontsov	bool "Support for Freescale on-chip EHCI USB controller"
123b5937a41SAnton Vorontsov	depends on USB_EHCI_HCD && FSL_SOC
124ba02978aSLi Yang	select USB_EHCI_ROOT_HUB_TT
125018b97d0SMarc Kleine-Budde	select USB_FSL_MPH_DR_OF if OF
126ba02978aSLi Yang	---help---
127ba02978aSLi Yang	  Variation of ARC USB block used in some Freescale chips.
128ba02978aSLi Yang
1297e8d5cd9SDaniel Mackconfig USB_EHCI_MXC
1307e8d5cd9SDaniel Mack	bool "Support for Freescale on-chip EHCI USB controller"
1317e8d5cd9SDaniel Mack	depends on USB_EHCI_HCD && ARCH_MXC
1327e8d5cd9SDaniel Mack	select USB_EHCI_ROOT_HUB_TT
1337e8d5cd9SDaniel Mack	---help---
1347e8d5cd9SDaniel Mack	  Variation of ARC USB block used in some Freescale chips.
1357e8d5cd9SDaniel Mack
136da0e8fb0SValentine Barshakconfig USB_EHCI_HCD_PPC_OF
137da0e8fb0SValentine Barshak	bool "EHCI support for PPC USB controller on OF platform bus"
138da0e8fb0SValentine Barshak	depends on USB_EHCI_HCD && PPC_OF
139da0e8fb0SValentine Barshak	default y
140da0e8fb0SValentine Barshak	---help---
141da0e8fb0SValentine Barshak	  Enables support for the USB controller present on the PowerPC
142da0e8fb0SValentine Barshak	  OpenFirmware platform bus.
143da0e8fb0SValentine Barshak
144586dfc8cSWan ZongShunconfig USB_W90X900_EHCI
145586dfc8cSWan ZongShun	bool "W90X900(W90P910) EHCI support"
146586dfc8cSWan ZongShun	depends on USB_EHCI_HCD && ARCH_W90X900
147586dfc8cSWan ZongShun	---help---
148586dfc8cSWan ZongShun		Enables support for the W90X900 USB controller
149586dfc8cSWan ZongShun
150*760efe69SMac Linconfig USB_CNS3XXX_EHCI
151*760efe69SMac Lin	bool "Cavium CNS3XXX EHCI Module"
152*760efe69SMac Lin	depends on USB_EHCI_HCD && ARCH_CNS3XXX
153*760efe69SMac Lin	---help---
154*760efe69SMac Lin	  Enable support for the CNS3XXX SOC's on-chip EHCI controller.
155*760efe69SMac Lin	  It is needed for high-speed (480Mbit/sec) USB 2.0 device
156*760efe69SMac Lin	  support.
157*760efe69SMac Lin
158b92a78e5SRodolfo Giometticonfig USB_OXU210HP_HCD
159b92a78e5SRodolfo Giometti	tristate "OXU210HP HCD support"
160b92a78e5SRodolfo Giometti	depends on USB
161b92a78e5SRodolfo Giometti	---help---
162b92a78e5SRodolfo Giometti	  The OXU210HP is an USB host/OTG/device controller. Enable this
163b92a78e5SRodolfo Giometti	  option if your board has this chip. If unsure, say N.
164b92a78e5SRodolfo Giometti
165b92a78e5SRodolfo Giometti	  This driver does not support isochronous transfers and doesn't
166b92a78e5SRodolfo Giometti	  implement OTG nor USB device controllers.
167b92a78e5SRodolfo Giometti
168b92a78e5SRodolfo Giometti	  To compile this driver as a module, choose M here: the
169b92a78e5SRodolfo Giometti	  module will be called oxu210hp-hcd.
170b92a78e5SRodolfo Giometti
1714808a1c0SOlav Kongasconfig USB_ISP116X_HCD
1724808a1c0SOlav Kongas	tristate "ISP116X HCD support"
1734808a1c0SOlav Kongas	depends on USB
1744808a1c0SOlav Kongas	---help---
1754808a1c0SOlav Kongas	  The ISP1160 and ISP1161 chips are USB host controllers. Enable this
1764808a1c0SOlav Kongas	  option if your board has this chip. If unsure, say N.
1774808a1c0SOlav Kongas
1784808a1c0SOlav Kongas	  This driver does not support isochronous transfers.
1794808a1c0SOlav Kongas
1804808a1c0SOlav Kongas	  To compile this driver as a module, choose M here: the
1814808a1c0SOlav Kongas	  module will be called isp116x-hcd.
1824808a1c0SOlav Kongas
183db11e47dSSebastian Siewiorconfig USB_ISP1760_HCD
184db11e47dSSebastian Siewior	tristate "ISP 1760 HCD support"
185f7e7aa58SCatalin Marinas	depends on USB && EXPERIMENTAL
186db11e47dSSebastian Siewior	---help---
187db11e47dSSebastian Siewior	  The ISP1760 chip is a USB 2.0 host controller.
188db11e47dSSebastian Siewior
189db11e47dSSebastian Siewior	  This driver does not support isochronous transfers or OTG.
190ff30bf1cSSebastian Andrzej Siewior	  This USB controller is usually attached to a non-DMA-Master
191ff30bf1cSSebastian Andrzej Siewior	  capable bus. NXP's eval kit brings this chip on PCI card
192ff30bf1cSSebastian Andrzej Siewior	  where the chip itself is behind a PLB to simulate such
193ff30bf1cSSebastian Andrzej Siewior	  a bus.
194db11e47dSSebastian Siewior
195db11e47dSSebastian Siewior	  To compile this driver as a module, choose M here: the
196ff30bf1cSSebastian Andrzej Siewior	  module will be called isp1760.
197db11e47dSSebastian Siewior
198a9d43091SLothar Wassmannconfig USB_ISP1362_HCD
199a9d43091SLothar Wassmann	tristate "ISP1362 HCD support"
200a9d43091SLothar Wassmann	depends on USB
201a9d43091SLothar Wassmann	default N
202a9d43091SLothar Wassmann	---help---
203a9d43091SLothar Wassmann	  Supports the Philips ISP1362 chip as a host controller
204a9d43091SLothar Wassmann
205a9d43091SLothar Wassmann	  This driver does not support isochronous transfers.
206a9d43091SLothar Wassmann
207a9d43091SLothar Wassmann	  To compile this driver as a module, choose M here: the
208a9d43091SLothar Wassmann	  module will be called isp1362-hcd.
209a9d43091SLothar Wassmann
2101da177e4SLinus Torvaldsconfig USB_OHCI_HCD
2111da177e4SLinus Torvalds	tristate "OHCI HCD support"
2121da177e4SLinus Torvalds	depends on USB && USB_ARCH_HAS_OHCI
2131da177e4SLinus Torvalds	select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
2142bf5fa13SDavid Brownell	select USB_OTG_UTILS if ARCH_OMAP
2151da177e4SLinus Torvalds	---help---
2161da177e4SLinus Torvalds	  The Open Host Controller Interface (OHCI) is a standard for accessing
2171da177e4SLinus Torvalds	  USB 1.1 host controller hardware.  It does more in hardware than Intel's
2181da177e4SLinus Torvalds	  UHCI specification.  If your USB host controller follows the OHCI spec,
2191da177e4SLinus Torvalds	  say Y.  On most non-x86 systems, and on x86 hardware that's not using a
2201da177e4SLinus Torvalds	  USB controller from Intel or VIA, this is appropriate.  If your host
2211da177e4SLinus Torvalds	  controller doesn't use PCI, this is probably appropriate.  For a PCI
2221da177e4SLinus Torvalds	  based system where you're not sure, the "lspci -v" entry will list the
2231da177e4SLinus Torvalds	  right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
2241da177e4SLinus Torvalds
2251da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
2261da177e4SLinus Torvalds	  module will be called ohci-hcd.
2271da177e4SLinus Torvalds
228968b448bSAnand Gadiyarconfig USB_OHCI_HCD_OMAP1
229968b448bSAnand Gadiyar	bool "OHCI support for OMAP1/2 chips"
230968b448bSAnand Gadiyar	depends on USB_OHCI_HCD && (ARCH_OMAP1 || ARCH_OMAP2)
231968b448bSAnand Gadiyar	default y
232968b448bSAnand Gadiyar	---help---
233968b448bSAnand Gadiyar	  Enables support for the OHCI controller on OMAP1/2 chips.
234968b448bSAnand Gadiyar
235968b448bSAnand Gadiyarconfig USB_OHCI_HCD_OMAP3
236968b448bSAnand Gadiyar	bool "OHCI support for OMAP3 and later chips"
237968b448bSAnand Gadiyar	depends on USB_OHCI_HCD && (ARCH_OMAP3 || ARCH_OMAP4)
238968b448bSAnand Gadiyar	default y
239968b448bSAnand Gadiyar	---help---
240968b448bSAnand Gadiyar	  Enables support for the on-chip OHCI controller on
241968b448bSAnand Gadiyar	  OMAP3 and later chips.
242968b448bSAnand Gadiyar
2431da177e4SLinus Torvaldsconfig USB_OHCI_HCD_PPC_SOC
2441da177e4SLinus Torvalds	bool "OHCI support for on-chip PPC USB controller"
2451da177e4SLinus Torvalds	depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx)
2461da177e4SLinus Torvalds	default y
24711d1a4aaSBenjamin Herrenschmidt	select USB_OHCI_BIG_ENDIAN_DESC
24811d1a4aaSBenjamin Herrenschmidt	select USB_OHCI_BIG_ENDIAN_MMIO
2491da177e4SLinus Torvalds	---help---
2501da177e4SLinus Torvalds	  Enables support for the USB controller on the MPC52xx or
2511da177e4SLinus Torvalds	  STB03xxx processor chip.  If unsure, say Y.
2521da177e4SLinus Torvalds
253495a678fSSylvain Munautconfig USB_OHCI_HCD_PPC_OF_BE
25445e83889SArnd Bergmann	bool "OHCI support for OF platform bus (big endian)"
25545e83889SArnd Bergmann	depends on USB_OHCI_HCD && PPC_OF
256495a678fSSylvain Munaut	select USB_OHCI_BIG_ENDIAN_DESC
257495a678fSSylvain Munaut	select USB_OHCI_BIG_ENDIAN_MMIO
25845e83889SArnd Bergmann	---help---
25945e83889SArnd Bergmann	  Enables support for big-endian USB controllers present on the
26045e83889SArnd Bergmann	  OpenFirmware platform bus.
261495a678fSSylvain Munaut
262495a678fSSylvain Munautconfig USB_OHCI_HCD_PPC_OF_LE
26345e83889SArnd Bergmann	bool "OHCI support for OF platform bus (little endian)"
26445e83889SArnd Bergmann	depends on USB_OHCI_HCD && PPC_OF
265495a678fSSylvain Munaut	select USB_OHCI_LITTLE_ENDIAN
26645e83889SArnd Bergmann	---help---
26745e83889SArnd Bergmann	  Enables support for little-endian USB controllers present on the
26845e83889SArnd Bergmann	  OpenFirmware platform bus.
26945e83889SArnd Bergmann
27045e83889SArnd Bergmannconfig USB_OHCI_HCD_PPC_OF
27145e83889SArnd Bergmann	bool
27245e83889SArnd Bergmann	depends on USB_OHCI_HCD && PPC_OF
27345e83889SArnd Bergmann	default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
274495a678fSSylvain Munaut
2751da177e4SLinus Torvaldsconfig USB_OHCI_HCD_PCI
2761da177e4SLinus Torvalds	bool "OHCI support for PCI-bus USB controllers"
277495a678fSSylvain Munaut	depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF)
2781da177e4SLinus Torvalds	default y
2791da177e4SLinus Torvalds	select USB_OHCI_LITTLE_ENDIAN
2801da177e4SLinus Torvalds	---help---
2811da177e4SLinus Torvalds	  Enables support for PCI-bus plug-in USB controller cards.
2821da177e4SLinus Torvalds	  If unsure, say Y.
2831da177e4SLinus Torvalds
284c604e851SMichael Bueschconfig USB_OHCI_HCD_SSB
285c604e851SMichael Buesch	bool "OHCI support for Broadcom SSB OHCI core"
2861011b326SAdrian Bunk	depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD) && EXPERIMENTAL
287c604e851SMichael Buesch	default n
288c604e851SMichael Buesch	---help---
289c604e851SMichael Buesch	  Support for the Sonics Silicon Backplane (SSB) attached
290c604e851SMichael Buesch	  Broadcom USB OHCI core.
291c604e851SMichael Buesch
292c604e851SMichael Buesch	  This device is present in some embedded devices with
293c604e851SMichael Buesch	  Broadcom based SSB bus.
294c604e851SMichael Buesch
295c604e851SMichael Buesch	  If unsure, say N.
296c604e851SMichael Buesch
297*760efe69SMac Linconfig USB_CNS3XXX_OHCI
298*760efe69SMac Lin	bool "Cavium CNS3XXX OHCI Module"
299*760efe69SMac Lin	depends on USB_OHCI_HCD && ARCH_CNS3XXX
300*760efe69SMac Lin	---help---
301*760efe69SMac Lin	  Enable support for the CNS3XXX SOC's on-chip OHCI controller.
302*760efe69SMac Lin	  It is needed for low-speed USB 1.0 device support.
303*760efe69SMac Lin
30411d1a4aaSBenjamin Herrenschmidtconfig USB_OHCI_BIG_ENDIAN_DESC
30511d1a4aaSBenjamin Herrenschmidt	bool
30611d1a4aaSBenjamin Herrenschmidt	depends on USB_OHCI_HCD
30711d1a4aaSBenjamin Herrenschmidt	default n
30811d1a4aaSBenjamin Herrenschmidt
30911d1a4aaSBenjamin Herrenschmidtconfig USB_OHCI_BIG_ENDIAN_MMIO
3101da177e4SLinus Torvalds	bool
3111da177e4SLinus Torvalds	depends on USB_OHCI_HCD
3121da177e4SLinus Torvalds	default n
3131da177e4SLinus Torvalds
3141da177e4SLinus Torvaldsconfig USB_OHCI_LITTLE_ENDIAN
3151da177e4SLinus Torvalds	bool
3161da177e4SLinus Torvalds	depends on USB_OHCI_HCD
3171da177e4SLinus Torvalds	default n if STB03xxx || PPC_MPC52xx
3181da177e4SLinus Torvalds	default y
3191da177e4SLinus Torvalds
3201da177e4SLinus Torvaldsconfig USB_UHCI_HCD
3211da177e4SLinus Torvalds	tristate "UHCI HCD (most Intel and VIA) support"
3221da177e4SLinus Torvalds	depends on USB && PCI
3231da177e4SLinus Torvalds	---help---
3241da177e4SLinus Torvalds	  The Universal Host Controller Interface is a standard by Intel for
3251da177e4SLinus Torvalds	  accessing the USB hardware in the PC (which is also called the USB
3261da177e4SLinus Torvalds	  host controller). If your USB host controller conforms to this
3271da177e4SLinus Torvalds	  standard, you may want to say Y, but see below. All recent boards
3281da177e4SLinus Torvalds	  with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
3291da177e4SLinus Torvalds	  i810, i820) conform to this standard. Also all VIA PCI chipsets
3301da177e4SLinus Torvalds	  (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
3311da177e4SLinus Torvalds	  133). If unsure, say Y.
3321da177e4SLinus Torvalds
3331da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
3341da177e4SLinus Torvalds	  module will be called uhci-hcd.
3351da177e4SLinus Torvalds
336236dd4d1SAnton Vorontsovconfig USB_FHCI_HCD
337236dd4d1SAnton Vorontsov	tristate "Freescale QE USB Host Controller support"
338236dd4d1SAnton Vorontsov	depends on USB && OF_GPIO && QE_GPIO && QUICC_ENGINE
339236dd4d1SAnton Vorontsov	select FSL_GTM
340236dd4d1SAnton Vorontsov	select QE_USB
341236dd4d1SAnton Vorontsov	help
342236dd4d1SAnton Vorontsov	  This driver enables support for Freescale QE USB Host Controller
343236dd4d1SAnton Vorontsov	  (as found on MPC8360 and MPC8323 processors), the driver supports
344236dd4d1SAnton Vorontsov	  Full and Low Speed USB.
345236dd4d1SAnton Vorontsov
346236dd4d1SAnton Vorontsovconfig FHCI_DEBUG
347236dd4d1SAnton Vorontsov	bool "Freescale QE USB Host Controller debug support"
348236dd4d1SAnton Vorontsov	depends on USB_FHCI_HCD && DEBUG_FS
349236dd4d1SAnton Vorontsov	help
350236dd4d1SAnton Vorontsov	  Say "y" to see some FHCI debug information and statistics
351236dd4d1SAnton Vorontsov	  throught debugfs.
352236dd4d1SAnton Vorontsov
353d774efeaSTony Olechconfig USB_U132_HCD
354d774efeaSTony Olech	tristate "Elan U132 Adapter Host Controller"
355d774efeaSTony Olech	depends on USB && USB_FTDI_ELAN
356d774efeaSTony Olech	default M
357d774efeaSTony Olech	help
358d774efeaSTony Olech	  The U132 adapter is a USB to CardBus adapter specifically designed
359d774efeaSTony Olech	  for PC cards that contain an OHCI host controller. Typical PC cards
360d774efeaSTony Olech	  are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
361d774efeaSTony Olech	  adapter will *NOT* work with PC cards that do not contain an OHCI
362d774efeaSTony Olech	  controller.
363d774efeaSTony Olech
3643cb2fcccSMatt LaPlante	  For those PC cards that contain multiple OHCI controllers only the
365d774efeaSTony Olech	  first one is used.
366d774efeaSTony Olech
367d774efeaSTony Olech	  The driver consists of two modules, the "ftdi-elan" module is a
368d774efeaSTony Olech	  USB client driver that interfaces to the FTDI chip within ELAN's
369d774efeaSTony Olech	  USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
370d774efeaSTony Olech	  controller driver that talks to the OHCI controller within the
371d774efeaSTony Olech	  CardBus cards that are inserted in the U132 adapter.
372d774efeaSTony Olech
373d774efeaSTony Olech	  This driver has been tested with a CardBus OHCI USB adapter, and
374d774efeaSTony Olech	  worked with a USB PEN Drive inserted into the first USB port of
375d774efeaSTony Olech	  the PCCARD. A rather pointless thing to do, but useful for testing.
376d774efeaSTony Olech
377d774efeaSTony Olech	  It is safe to say M here.
378d774efeaSTony Olech
379d774efeaSTony Olech	  See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
380d774efeaSTony Olech
3811da177e4SLinus Torvaldsconfig USB_SL811_HCD
3821da177e4SLinus Torvalds	tristate "SL811HS HCD support"
3831da177e4SLinus Torvalds	depends on USB
3841da177e4SLinus Torvalds	help
3851da177e4SLinus Torvalds	  The SL811HS is a single-port USB controller that supports either
3861da177e4SLinus Torvalds	  host side or peripheral side roles.  Enable this option if your
3871da177e4SLinus Torvalds	  board has this chip, and you want to use it as a host controller.
3881da177e4SLinus Torvalds	  If unsure, say N.
3891da177e4SLinus Torvalds
3901da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
3911da177e4SLinus Torvalds	  module will be called sl811-hcd.
3921da177e4SLinus Torvalds
393c6de2b64SDavid Brownellconfig USB_SL811_CS
394c6de2b64SDavid Brownell	tristate "CF/PCMCIA support for SL811HS HCD"
395c6de2b64SDavid Brownell	depends on USB_SL811_HCD && PCMCIA
396c6de2b64SDavid Brownell	help
397c6de2b64SDavid Brownell	  Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
398c6de2b64SDavid Brownell	  REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
399c6de2b64SDavid Brownell
400c6de2b64SDavid Brownell	  To compile this driver as a module, choose M here: the
401c6de2b64SDavid Brownell	  module will be called "sl811_cs".
402c6de2b64SDavid Brownell
4035d304358SYoshihiro Shimodaconfig USB_R8A66597_HCD
404fa0de2b6SM4rkusXXL	tristate "R8A66597 HCD support"
4055d304358SYoshihiro Shimoda	depends on USB
4065d304358SYoshihiro Shimoda	help
4075d304358SYoshihiro Shimoda	  The R8A66597 is a USB 2.0 host and peripheral controller.
4085d304358SYoshihiro Shimoda
4095d304358SYoshihiro Shimoda	  Enable this option if your board has this chip, and you want
4105d304358SYoshihiro Shimoda	  to use it as a host controller.  If unsure, say N.
4115d304358SYoshihiro Shimoda
4125d304358SYoshihiro Shimoda	  To compile this driver as a module, choose M here: the
4135d304358SYoshihiro Shimoda	  module will be called r8a66597-hcd.
4145d304358SYoshihiro Shimoda
4157e6133aaSDavid Vrabelconfig USB_WHCI_HCD
4166a7c3e46SDavid Vrabel	tristate "Wireless USB Host Controller Interface (WHCI) driver (EXPERIMENTAL)"
4176a7c3e46SDavid Vrabel	depends on EXPERIMENTAL
4187e6133aaSDavid Vrabel	depends on PCI && USB
4197e6133aaSDavid Vrabel	select USB_WUSB
4207e6133aaSDavid Vrabel	select UWB_WHCI
4217e6133aaSDavid Vrabel	help
4227e6133aaSDavid Vrabel	  A driver for PCI-based Wireless USB Host Controllers that are
4237e6133aaSDavid Vrabel	  compliant with the WHCI specification.
4247e6133aaSDavid Vrabel
4257e6133aaSDavid Vrabel	  To compile this driver a module, choose M here: the module
4267e6133aaSDavid Vrabel	  will be called "whci-hcd".
427d09318b8SInaky Perez-Gonzalez
428d09318b8SInaky Perez-Gonzalezconfig USB_HWA_HCD
4296a7c3e46SDavid Vrabel	tristate "Host Wire Adapter (HWA) driver (EXPERIMENTAL)"
4306a7c3e46SDavid Vrabel	depends on EXPERIMENTAL
431d09318b8SInaky Perez-Gonzalez	depends on USB
432d09318b8SInaky Perez-Gonzalez	select USB_WUSB
433d09318b8SInaky Perez-Gonzalez	select UWB_HWA
434d09318b8SInaky Perez-Gonzalez	help
435d09318b8SInaky Perez-Gonzalez	  This driver enables you to connect Wireless USB devices to
436d09318b8SInaky Perez-Gonzalez	  your system using a Host Wire Adaptor USB dongle. This is an
437d09318b8SInaky Perez-Gonzalez	  UWB Radio Controller and WUSB Host Controller connected to
438d09318b8SInaky Perez-Gonzalez	  your machine via USB (specified in WUSB1.0).
439d09318b8SInaky Perez-Gonzalez
440d09318b8SInaky Perez-Gonzalez	  To compile this driver a module, choose M here: the module
441d09318b8SInaky Perez-Gonzalez	  will be called "hwa-hc".
44223d3e7a6SMartin Fuzzey
44323d3e7a6SMartin Fuzzeyconfig USB_IMX21_HCD
44423d3e7a6SMartin Fuzzey       tristate "iMX21 HCD support"
44523d3e7a6SMartin Fuzzey       depends on USB && ARM && MACH_MX21
44623d3e7a6SMartin Fuzzey       help
44723d3e7a6SMartin Fuzzey         This driver enables support for the on-chip USB host in the
44823d3e7a6SMartin Fuzzey         iMX21 processor.
44923d3e7a6SMartin Fuzzey
45023d3e7a6SMartin Fuzzey         To compile this driver as a module, choose M here: the
45123d3e7a6SMartin Fuzzey         module will be called "imx21-hcd".
45223d3e7a6SMartin Fuzzey
4531643accdSDavid Daneyconfig USB_OCTEON_EHCI
4541643accdSDavid Daney	bool "Octeon on-chip EHCI support"
4551643accdSDavid Daney	depends on USB && USB_EHCI_HCD && CPU_CAVIUM_OCTEON
4561643accdSDavid Daney	default n
4571643accdSDavid Daney	select USB_EHCI_BIG_ENDIAN_MMIO
4581643accdSDavid Daney	help
4591643accdSDavid Daney	  Enable support for the Octeon II SOC's on-chip EHCI
4601643accdSDavid Daney	  controller.  It is needed for high-speed (480Mbit/sec)
4611643accdSDavid Daney	  USB 2.0 device support.  All CN6XXX based chips with USB are
4621643accdSDavid Daney	  supported.
4631643accdSDavid Daney
4641643accdSDavid Daneyconfig USB_OCTEON_OHCI
4651643accdSDavid Daney	bool "Octeon on-chip OHCI support"
4661643accdSDavid Daney	depends on USB && USB_OHCI_HCD && CPU_CAVIUM_OCTEON
4671643accdSDavid Daney	default USB_OCTEON_EHCI
4681643accdSDavid Daney	select USB_OHCI_BIG_ENDIAN_MMIO
4691643accdSDavid Daney	select USB_OHCI_LITTLE_ENDIAN
4701643accdSDavid Daney	help
4711643accdSDavid Daney	  Enable support for the Octeon II SOC's on-chip OHCI
4721643accdSDavid Daney	  controller.  It is needed for low-speed USB 1.0 device
4731643accdSDavid Daney	  support.  All CN6XXX based chips with USB are supported.
4741643accdSDavid Daney
4751643accdSDavid Daneyconfig USB_OCTEON2_COMMON
4761643accdSDavid Daney	bool
4771643accdSDavid Daney	default y if USB_OCTEON_EHCI || USB_OCTEON_OHCI
478