xref: /linux/drivers/usb/host/Kconfig (revision 1643accdaad4625c2877f7ceefa39c1cb3e90117)
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
96*1643accdSDavid Daney	depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || \
97*1643accdSDavid Daney				    ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
98*1643accdSDavid 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
125126512e3SAnatolij Gustschin	select USB_FSL_MPH_DR_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
150b92a78e5SRodolfo Giometticonfig USB_OXU210HP_HCD
151b92a78e5SRodolfo Giometti	tristate "OXU210HP HCD support"
152b92a78e5SRodolfo Giometti	depends on USB
153b92a78e5SRodolfo Giometti	---help---
154b92a78e5SRodolfo Giometti	  The OXU210HP is an USB host/OTG/device controller. Enable this
155b92a78e5SRodolfo Giometti	  option if your board has this chip. If unsure, say N.
156b92a78e5SRodolfo Giometti
157b92a78e5SRodolfo Giometti	  This driver does not support isochronous transfers and doesn't
158b92a78e5SRodolfo Giometti	  implement OTG nor USB device controllers.
159b92a78e5SRodolfo Giometti
160b92a78e5SRodolfo Giometti	  To compile this driver as a module, choose M here: the
161b92a78e5SRodolfo Giometti	  module will be called oxu210hp-hcd.
162b92a78e5SRodolfo Giometti
1634808a1c0SOlav Kongasconfig USB_ISP116X_HCD
1644808a1c0SOlav Kongas	tristate "ISP116X HCD support"
1654808a1c0SOlav Kongas	depends on USB
1664808a1c0SOlav Kongas	---help---
1674808a1c0SOlav Kongas	  The ISP1160 and ISP1161 chips are USB host controllers. Enable this
1684808a1c0SOlav Kongas	  option if your board has this chip. If unsure, say N.
1694808a1c0SOlav Kongas
1704808a1c0SOlav Kongas	  This driver does not support isochronous transfers.
1714808a1c0SOlav Kongas
1724808a1c0SOlav Kongas	  To compile this driver as a module, choose M here: the
1734808a1c0SOlav Kongas	  module will be called isp116x-hcd.
1744808a1c0SOlav Kongas
175db11e47dSSebastian Siewiorconfig USB_ISP1760_HCD
176db11e47dSSebastian Siewior	tristate "ISP 1760 HCD support"
177f7e7aa58SCatalin Marinas	depends on USB && EXPERIMENTAL
178db11e47dSSebastian Siewior	---help---
179db11e47dSSebastian Siewior	  The ISP1760 chip is a USB 2.0 host controller.
180db11e47dSSebastian Siewior
181db11e47dSSebastian Siewior	  This driver does not support isochronous transfers or OTG.
182ff30bf1cSSebastian Andrzej Siewior	  This USB controller is usually attached to a non-DMA-Master
183ff30bf1cSSebastian Andrzej Siewior	  capable bus. NXP's eval kit brings this chip on PCI card
184ff30bf1cSSebastian Andrzej Siewior	  where the chip itself is behind a PLB to simulate such
185ff30bf1cSSebastian Andrzej Siewior	  a bus.
186db11e47dSSebastian Siewior
187db11e47dSSebastian Siewior	  To compile this driver as a module, choose M here: the
188ff30bf1cSSebastian Andrzej Siewior	  module will be called isp1760.
189db11e47dSSebastian Siewior
190a9d43091SLothar Wassmannconfig USB_ISP1362_HCD
191a9d43091SLothar Wassmann	tristate "ISP1362 HCD support"
192a9d43091SLothar Wassmann	depends on USB
193a9d43091SLothar Wassmann	default N
194a9d43091SLothar Wassmann	---help---
195a9d43091SLothar Wassmann	  Supports the Philips ISP1362 chip as a host controller
196a9d43091SLothar Wassmann
197a9d43091SLothar Wassmann	  This driver does not support isochronous transfers.
198a9d43091SLothar Wassmann
199a9d43091SLothar Wassmann	  To compile this driver as a module, choose M here: the
200a9d43091SLothar Wassmann	  module will be called isp1362-hcd.
201a9d43091SLothar Wassmann
2021da177e4SLinus Torvaldsconfig USB_OHCI_HCD
2031da177e4SLinus Torvalds	tristate "OHCI HCD support"
2041da177e4SLinus Torvalds	depends on USB && USB_ARCH_HAS_OHCI
2051da177e4SLinus Torvalds	select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
2062bf5fa13SDavid Brownell	select USB_OTG_UTILS if ARCH_OMAP
2071da177e4SLinus Torvalds	---help---
2081da177e4SLinus Torvalds	  The Open Host Controller Interface (OHCI) is a standard for accessing
2091da177e4SLinus Torvalds	  USB 1.1 host controller hardware.  It does more in hardware than Intel's
2101da177e4SLinus Torvalds	  UHCI specification.  If your USB host controller follows the OHCI spec,
2111da177e4SLinus Torvalds	  say Y.  On most non-x86 systems, and on x86 hardware that's not using a
2121da177e4SLinus Torvalds	  USB controller from Intel or VIA, this is appropriate.  If your host
2131da177e4SLinus Torvalds	  controller doesn't use PCI, this is probably appropriate.  For a PCI
2141da177e4SLinus Torvalds	  based system where you're not sure, the "lspci -v" entry will list the
2151da177e4SLinus Torvalds	  right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
2161da177e4SLinus Torvalds
2171da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
2181da177e4SLinus Torvalds	  module will be called ohci-hcd.
2191da177e4SLinus Torvalds
220968b448bSAnand Gadiyarconfig USB_OHCI_HCD_OMAP1
221968b448bSAnand Gadiyar	bool "OHCI support for OMAP1/2 chips"
222968b448bSAnand Gadiyar	depends on USB_OHCI_HCD && (ARCH_OMAP1 || ARCH_OMAP2)
223968b448bSAnand Gadiyar	default y
224968b448bSAnand Gadiyar	---help---
225968b448bSAnand Gadiyar	  Enables support for the OHCI controller on OMAP1/2 chips.
226968b448bSAnand Gadiyar
227968b448bSAnand Gadiyarconfig USB_OHCI_HCD_OMAP3
228968b448bSAnand Gadiyar	bool "OHCI support for OMAP3 and later chips"
229968b448bSAnand Gadiyar	depends on USB_OHCI_HCD && (ARCH_OMAP3 || ARCH_OMAP4)
230968b448bSAnand Gadiyar	default y
231968b448bSAnand Gadiyar	---help---
232968b448bSAnand Gadiyar	  Enables support for the on-chip OHCI controller on
233968b448bSAnand Gadiyar	  OMAP3 and later chips.
234968b448bSAnand Gadiyar
2351da177e4SLinus Torvaldsconfig USB_OHCI_HCD_PPC_SOC
2361da177e4SLinus Torvalds	bool "OHCI support for on-chip PPC USB controller"
2371da177e4SLinus Torvalds	depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx)
2381da177e4SLinus Torvalds	default y
23911d1a4aaSBenjamin Herrenschmidt	select USB_OHCI_BIG_ENDIAN_DESC
24011d1a4aaSBenjamin Herrenschmidt	select USB_OHCI_BIG_ENDIAN_MMIO
2411da177e4SLinus Torvalds	---help---
2421da177e4SLinus Torvalds	  Enables support for the USB controller on the MPC52xx or
2431da177e4SLinus Torvalds	  STB03xxx processor chip.  If unsure, say Y.
2441da177e4SLinus Torvalds
245495a678fSSylvain Munautconfig USB_OHCI_HCD_PPC_OF_BE
24645e83889SArnd Bergmann	bool "OHCI support for OF platform bus (big endian)"
24745e83889SArnd Bergmann	depends on USB_OHCI_HCD && PPC_OF
248495a678fSSylvain Munaut	select USB_OHCI_BIG_ENDIAN_DESC
249495a678fSSylvain Munaut	select USB_OHCI_BIG_ENDIAN_MMIO
25045e83889SArnd Bergmann	---help---
25145e83889SArnd Bergmann	  Enables support for big-endian USB controllers present on the
25245e83889SArnd Bergmann	  OpenFirmware platform bus.
253495a678fSSylvain Munaut
254495a678fSSylvain Munautconfig USB_OHCI_HCD_PPC_OF_LE
25545e83889SArnd Bergmann	bool "OHCI support for OF platform bus (little endian)"
25645e83889SArnd Bergmann	depends on USB_OHCI_HCD && PPC_OF
257495a678fSSylvain Munaut	select USB_OHCI_LITTLE_ENDIAN
25845e83889SArnd Bergmann	---help---
25945e83889SArnd Bergmann	  Enables support for little-endian USB controllers present on the
26045e83889SArnd Bergmann	  OpenFirmware platform bus.
26145e83889SArnd Bergmann
26245e83889SArnd Bergmannconfig USB_OHCI_HCD_PPC_OF
26345e83889SArnd Bergmann	bool
26445e83889SArnd Bergmann	depends on USB_OHCI_HCD && PPC_OF
26545e83889SArnd Bergmann	default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
266495a678fSSylvain Munaut
2671da177e4SLinus Torvaldsconfig USB_OHCI_HCD_PCI
2681da177e4SLinus Torvalds	bool "OHCI support for PCI-bus USB controllers"
269495a678fSSylvain Munaut	depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF)
2701da177e4SLinus Torvalds	default y
2711da177e4SLinus Torvalds	select USB_OHCI_LITTLE_ENDIAN
2721da177e4SLinus Torvalds	---help---
2731da177e4SLinus Torvalds	  Enables support for PCI-bus plug-in USB controller cards.
2741da177e4SLinus Torvalds	  If unsure, say Y.
2751da177e4SLinus Torvalds
276c604e851SMichael Bueschconfig USB_OHCI_HCD_SSB
277c604e851SMichael Buesch	bool "OHCI support for Broadcom SSB OHCI core"
2781011b326SAdrian Bunk	depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD) && EXPERIMENTAL
279c604e851SMichael Buesch	default n
280c604e851SMichael Buesch	---help---
281c604e851SMichael Buesch	  Support for the Sonics Silicon Backplane (SSB) attached
282c604e851SMichael Buesch	  Broadcom USB OHCI core.
283c604e851SMichael Buesch
284c604e851SMichael Buesch	  This device is present in some embedded devices with
285c604e851SMichael Buesch	  Broadcom based SSB bus.
286c604e851SMichael Buesch
287c604e851SMichael Buesch	  If unsure, say N.
288c604e851SMichael Buesch
28911d1a4aaSBenjamin Herrenschmidtconfig USB_OHCI_BIG_ENDIAN_DESC
29011d1a4aaSBenjamin Herrenschmidt	bool
29111d1a4aaSBenjamin Herrenschmidt	depends on USB_OHCI_HCD
29211d1a4aaSBenjamin Herrenschmidt	default n
29311d1a4aaSBenjamin Herrenschmidt
29411d1a4aaSBenjamin Herrenschmidtconfig USB_OHCI_BIG_ENDIAN_MMIO
2951da177e4SLinus Torvalds	bool
2961da177e4SLinus Torvalds	depends on USB_OHCI_HCD
2971da177e4SLinus Torvalds	default n
2981da177e4SLinus Torvalds
2991da177e4SLinus Torvaldsconfig USB_OHCI_LITTLE_ENDIAN
3001da177e4SLinus Torvalds	bool
3011da177e4SLinus Torvalds	depends on USB_OHCI_HCD
3021da177e4SLinus Torvalds	default n if STB03xxx || PPC_MPC52xx
3031da177e4SLinus Torvalds	default y
3041da177e4SLinus Torvalds
3051da177e4SLinus Torvaldsconfig USB_UHCI_HCD
3061da177e4SLinus Torvalds	tristate "UHCI HCD (most Intel and VIA) support"
3071da177e4SLinus Torvalds	depends on USB && PCI
3081da177e4SLinus Torvalds	---help---
3091da177e4SLinus Torvalds	  The Universal Host Controller Interface is a standard by Intel for
3101da177e4SLinus Torvalds	  accessing the USB hardware in the PC (which is also called the USB
3111da177e4SLinus Torvalds	  host controller). If your USB host controller conforms to this
3121da177e4SLinus Torvalds	  standard, you may want to say Y, but see below. All recent boards
3131da177e4SLinus Torvalds	  with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
3141da177e4SLinus Torvalds	  i810, i820) conform to this standard. Also all VIA PCI chipsets
3151da177e4SLinus Torvalds	  (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
3161da177e4SLinus Torvalds	  133). If unsure, say Y.
3171da177e4SLinus Torvalds
3181da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
3191da177e4SLinus Torvalds	  module will be called uhci-hcd.
3201da177e4SLinus Torvalds
321236dd4d1SAnton Vorontsovconfig USB_FHCI_HCD
322236dd4d1SAnton Vorontsov	tristate "Freescale QE USB Host Controller support"
323236dd4d1SAnton Vorontsov	depends on USB && OF_GPIO && QE_GPIO && QUICC_ENGINE
324236dd4d1SAnton Vorontsov	select FSL_GTM
325236dd4d1SAnton Vorontsov	select QE_USB
326236dd4d1SAnton Vorontsov	help
327236dd4d1SAnton Vorontsov	  This driver enables support for Freescale QE USB Host Controller
328236dd4d1SAnton Vorontsov	  (as found on MPC8360 and MPC8323 processors), the driver supports
329236dd4d1SAnton Vorontsov	  Full and Low Speed USB.
330236dd4d1SAnton Vorontsov
331236dd4d1SAnton Vorontsovconfig FHCI_DEBUG
332236dd4d1SAnton Vorontsov	bool "Freescale QE USB Host Controller debug support"
333236dd4d1SAnton Vorontsov	depends on USB_FHCI_HCD && DEBUG_FS
334236dd4d1SAnton Vorontsov	help
335236dd4d1SAnton Vorontsov	  Say "y" to see some FHCI debug information and statistics
336236dd4d1SAnton Vorontsov	  throught debugfs.
337236dd4d1SAnton Vorontsov
338d774efeaSTony Olechconfig USB_U132_HCD
339d774efeaSTony Olech	tristate "Elan U132 Adapter Host Controller"
340d774efeaSTony Olech	depends on USB && USB_FTDI_ELAN
341d774efeaSTony Olech	default M
342d774efeaSTony Olech	help
343d774efeaSTony Olech	  The U132 adapter is a USB to CardBus adapter specifically designed
344d774efeaSTony Olech	  for PC cards that contain an OHCI host controller. Typical PC cards
345d774efeaSTony Olech	  are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
346d774efeaSTony Olech	  adapter will *NOT* work with PC cards that do not contain an OHCI
347d774efeaSTony Olech	  controller.
348d774efeaSTony Olech
3493cb2fcccSMatt LaPlante	  For those PC cards that contain multiple OHCI controllers only the
350d774efeaSTony Olech	  first one is used.
351d774efeaSTony Olech
352d774efeaSTony Olech	  The driver consists of two modules, the "ftdi-elan" module is a
353d774efeaSTony Olech	  USB client driver that interfaces to the FTDI chip within ELAN's
354d774efeaSTony Olech	  USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
355d774efeaSTony Olech	  controller driver that talks to the OHCI controller within the
356d774efeaSTony Olech	  CardBus cards that are inserted in the U132 adapter.
357d774efeaSTony Olech
358d774efeaSTony Olech	  This driver has been tested with a CardBus OHCI USB adapter, and
359d774efeaSTony Olech	  worked with a USB PEN Drive inserted into the first USB port of
360d774efeaSTony Olech	  the PCCARD. A rather pointless thing to do, but useful for testing.
361d774efeaSTony Olech
362d774efeaSTony Olech	  It is safe to say M here.
363d774efeaSTony Olech
364d774efeaSTony Olech	  See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
365d774efeaSTony Olech
3661da177e4SLinus Torvaldsconfig USB_SL811_HCD
3671da177e4SLinus Torvalds	tristate "SL811HS HCD support"
3681da177e4SLinus Torvalds	depends on USB
3691da177e4SLinus Torvalds	help
3701da177e4SLinus Torvalds	  The SL811HS is a single-port USB controller that supports either
3711da177e4SLinus Torvalds	  host side or peripheral side roles.  Enable this option if your
3721da177e4SLinus Torvalds	  board has this chip, and you want to use it as a host controller.
3731da177e4SLinus Torvalds	  If unsure, say N.
3741da177e4SLinus Torvalds
3751da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
3761da177e4SLinus Torvalds	  module will be called sl811-hcd.
3771da177e4SLinus Torvalds
378c6de2b64SDavid Brownellconfig USB_SL811_CS
379c6de2b64SDavid Brownell	tristate "CF/PCMCIA support for SL811HS HCD"
380c6de2b64SDavid Brownell	depends on USB_SL811_HCD && PCMCIA
381c6de2b64SDavid Brownell	help
382c6de2b64SDavid Brownell	  Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
383c6de2b64SDavid Brownell	  REX-CFU1U CF card (often used with PDAs).  If unsure, say N.
384c6de2b64SDavid Brownell
385c6de2b64SDavid Brownell	  To compile this driver as a module, choose M here: the
386c6de2b64SDavid Brownell	  module will be called "sl811_cs".
387c6de2b64SDavid Brownell
3885d304358SYoshihiro Shimodaconfig USB_R8A66597_HCD
389fa0de2b6SM4rkusXXL	tristate "R8A66597 HCD support"
3905d304358SYoshihiro Shimoda	depends on USB
3915d304358SYoshihiro Shimoda	help
3925d304358SYoshihiro Shimoda	  The R8A66597 is a USB 2.0 host and peripheral controller.
3935d304358SYoshihiro Shimoda
3945d304358SYoshihiro Shimoda	  Enable this option if your board has this chip, and you want
3955d304358SYoshihiro Shimoda	  to use it as a host controller.  If unsure, say N.
3965d304358SYoshihiro Shimoda
3975d304358SYoshihiro Shimoda	  To compile this driver as a module, choose M here: the
3985d304358SYoshihiro Shimoda	  module will be called r8a66597-hcd.
3995d304358SYoshihiro Shimoda
4007e6133aaSDavid Vrabelconfig USB_WHCI_HCD
4016a7c3e46SDavid Vrabel	tristate "Wireless USB Host Controller Interface (WHCI) driver (EXPERIMENTAL)"
4026a7c3e46SDavid Vrabel	depends on EXPERIMENTAL
4037e6133aaSDavid Vrabel	depends on PCI && USB
4047e6133aaSDavid Vrabel	select USB_WUSB
4057e6133aaSDavid Vrabel	select UWB_WHCI
4067e6133aaSDavid Vrabel	help
4077e6133aaSDavid Vrabel	  A driver for PCI-based Wireless USB Host Controllers that are
4087e6133aaSDavid Vrabel	  compliant with the WHCI specification.
4097e6133aaSDavid Vrabel
4107e6133aaSDavid Vrabel	  To compile this driver a module, choose M here: the module
4117e6133aaSDavid Vrabel	  will be called "whci-hcd".
412d09318b8SInaky Perez-Gonzalez
413d09318b8SInaky Perez-Gonzalezconfig USB_HWA_HCD
4146a7c3e46SDavid Vrabel	tristate "Host Wire Adapter (HWA) driver (EXPERIMENTAL)"
4156a7c3e46SDavid Vrabel	depends on EXPERIMENTAL
416d09318b8SInaky Perez-Gonzalez	depends on USB
417d09318b8SInaky Perez-Gonzalez	select USB_WUSB
418d09318b8SInaky Perez-Gonzalez	select UWB_HWA
419d09318b8SInaky Perez-Gonzalez	help
420d09318b8SInaky Perez-Gonzalez	  This driver enables you to connect Wireless USB devices to
421d09318b8SInaky Perez-Gonzalez	  your system using a Host Wire Adaptor USB dongle. This is an
422d09318b8SInaky Perez-Gonzalez	  UWB Radio Controller and WUSB Host Controller connected to
423d09318b8SInaky Perez-Gonzalez	  your machine via USB (specified in WUSB1.0).
424d09318b8SInaky Perez-Gonzalez
425d09318b8SInaky Perez-Gonzalez	  To compile this driver a module, choose M here: the module
426d09318b8SInaky Perez-Gonzalez	  will be called "hwa-hc".
42723d3e7a6SMartin Fuzzey
42823d3e7a6SMartin Fuzzeyconfig USB_IMX21_HCD
42923d3e7a6SMartin Fuzzey       tristate "iMX21 HCD support"
43023d3e7a6SMartin Fuzzey       depends on USB && ARM && MACH_MX21
43123d3e7a6SMartin Fuzzey       help
43223d3e7a6SMartin Fuzzey         This driver enables support for the on-chip USB host in the
43323d3e7a6SMartin Fuzzey         iMX21 processor.
43423d3e7a6SMartin Fuzzey
43523d3e7a6SMartin Fuzzey         To compile this driver as a module, choose M here: the
43623d3e7a6SMartin Fuzzey         module will be called "imx21-hcd".
43723d3e7a6SMartin Fuzzey
438*1643accdSDavid Daneyconfig USB_OCTEON_EHCI
439*1643accdSDavid Daney	bool "Octeon on-chip EHCI support"
440*1643accdSDavid Daney	depends on USB && USB_EHCI_HCD && CPU_CAVIUM_OCTEON
441*1643accdSDavid Daney	default n
442*1643accdSDavid Daney	select USB_EHCI_BIG_ENDIAN_MMIO
443*1643accdSDavid Daney	help
444*1643accdSDavid Daney	  Enable support for the Octeon II SOC's on-chip EHCI
445*1643accdSDavid Daney	  controller.  It is needed for high-speed (480Mbit/sec)
446*1643accdSDavid Daney	  USB 2.0 device support.  All CN6XXX based chips with USB are
447*1643accdSDavid Daney	  supported.
448*1643accdSDavid Daney
449*1643accdSDavid Daneyconfig USB_OCTEON_OHCI
450*1643accdSDavid Daney	bool "Octeon on-chip OHCI support"
451*1643accdSDavid Daney	depends on USB && USB_OHCI_HCD && CPU_CAVIUM_OCTEON
452*1643accdSDavid Daney	default USB_OCTEON_EHCI
453*1643accdSDavid Daney	select USB_OHCI_BIG_ENDIAN_MMIO
454*1643accdSDavid Daney	select USB_OHCI_LITTLE_ENDIAN
455*1643accdSDavid Daney	help
456*1643accdSDavid Daney	  Enable support for the Octeon II SOC's on-chip OHCI
457*1643accdSDavid Daney	  controller.  It is needed for low-speed USB 1.0 device
458*1643accdSDavid Daney	  support.  All CN6XXX based chips with USB are supported.
459*1643accdSDavid Daney
460*1643accdSDavid Daneyconfig USB_OCTEON2_COMMON
461*1643accdSDavid Daney	bool
462*1643accdSDavid Daney	default y if USB_OCTEON_EHCI || USB_OCTEON_OHCI
463