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)" 227b720009SFelipe 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 303429e91aSSebastian Andrzej Siewiorconfig USB_XHCI_PLATFORM 313429e91aSSebastian Andrzej Siewior tristate 323429e91aSSebastian Andrzej Siewior depends on USB_XHCI_HCD 333429e91aSSebastian Andrzej Siewior 34eb6bab13SSarah Sharpconfig USB_XHCI_HCD_DEBUGGING 35eb6bab13SSarah Sharp bool "Debugging for the xHCI host controller" 36eb6bab13SSarah Sharp depends on USB_XHCI_HCD 37eb6bab13SSarah Sharp ---help--- 38eb6bab13SSarah Sharp Say 'Y' to turn on debugging for the xHCI host controller driver. 39eb6bab13SSarah Sharp This will spew debugging output, even in interrupt context. 40eb6bab13SSarah Sharp This should only be used for debugging xHCI driver bugs. 41eb6bab13SSarah Sharp 42eb6bab13SSarah Sharp If unsure, say N. 43eb6bab13SSarah Sharp 441da177e4SLinus Torvaldsconfig USB_EHCI_HCD 451da177e4SLinus Torvalds tristate "EHCI HCD (USB 2.0) support" 4676fa9a24SJordan Crouse depends on USB && USB_ARCH_HAS_EHCI 471da177e4SLinus Torvalds ---help--- 481da177e4SLinus Torvalds The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0 491da177e4SLinus Torvalds "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware. 501da177e4SLinus Torvalds If your USB host controller supports USB 2.0, you will likely want to 51b967c88eSThierry Vignaud configure this Host Controller Driver. 521da177e4SLinus Torvalds 531da177e4SLinus Torvalds EHCI controllers are packaged with "companion" host controllers (OHCI 541da177e4SLinus Torvalds or UHCI) to handle USB 1.1 devices connected to root hub ports. Ports 55b3c29d85SJesper Juhl will connect to EHCI if the device is high speed, otherwise they 561da177e4SLinus Torvalds connect to a companion controller. If you configure EHCI, you should 571da177e4SLinus Torvalds probably configure the OHCI (for NEC and some other vendors) USB Host 581da177e4SLinus Torvalds Controller Driver or UHCI (for Via motherboards) Host Controller 591da177e4SLinus Torvalds Driver too. 601da177e4SLinus Torvalds 611da177e4SLinus Torvalds You may want to read <file:Documentation/usb/ehci.txt>. 621da177e4SLinus Torvalds 631da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 641da177e4SLinus Torvalds module will be called ehci-hcd. 651da177e4SLinus Torvalds 661da177e4SLinus Torvaldsconfig USB_EHCI_ROOT_HUB_TT 679ec249a6SRobert P. J. Day bool "Root Hub Transaction Translators" 68*b12909b5SMarek Vasut depends on USB_EHCI_HCD || USB_CHIPIDEA_HOST 691da177e4SLinus Torvalds ---help--- 701da177e4SLinus Torvalds Some EHCI chips have vendor-specific extensions to integrate 711da177e4SLinus Torvalds transaction translators, so that no OHCI or UHCI companion 721da177e4SLinus Torvalds controller is needed. It's safe to say "y" even if your 731da177e4SLinus Torvalds controller doesn't support this feature. 741da177e4SLinus Torvalds 75ba47f66bSDan Streetman This supports the EHCI implementation that's originally 76ba47f66bSDan Streetman from ARC, and has since changed hands a few times. 77ba47f66bSDan Streetman 78ba47f66bSDan Streetmanconfig USB_EHCI_TT_NEWSCHED 7937cd681cSAlan Stern bool "Improved Transaction Translator scheduling" 80*b12909b5SMarek Vasut depends on USB_EHCI_HCD || USB_CHIPIDEA_HOST 8137cd681cSAlan Stern default y 82ba47f66bSDan Streetman ---help--- 83ba47f66bSDan Streetman This changes the periodic scheduling code to fill more of the low 84ba47f66bSDan Streetman and full speed bandwidth available from the Transaction Translator 85ba47f66bSDan Streetman (TT) in USB 2.0 hubs. Without this, only one transfer will be 86ba47f66bSDan Streetman issued in each microframe, significantly reducing the number of 87ba47f66bSDan Streetman periodic low/fullspeed transfers possible. 88ba47f66bSDan Streetman 89ba47f66bSDan Streetman If you have multiple periodic low/fullspeed devices connected to a 90ba47f66bSDan Streetman highspeed USB hub which is connected to a highspeed USB Host 91ba47f66bSDan Streetman Controller, and some of those devices will not work correctly 9237cd681cSAlan Stern (possibly due to "ENOSPC" or "-28" errors), say Y. Conversely, if 9337cd681cSAlan Stern you have only one such device and it doesn't work, you could try 9437cd681cSAlan Stern saying N. 95ba47f66bSDan Streetman 9637cd681cSAlan Stern If unsure, say Y. 971da177e4SLinus Torvalds 9822ced687SAnoopconfig USB_EHCI_HCD_PMC_MSP 9922ced687SAnoop tristate "EHCI support for on-chip PMC MSP71xx USB controller" 10022ced687SAnoop depends on USB_EHCI_HCD && MSP_HAS_USB 10122ced687SAnoop default n 10222ced687SAnoop select USB_EHCI_BIG_ENDIAN_DESC 10322ced687SAnoop select USB_EHCI_BIG_ENDIAN_MMIO 10422ced687SAnoop ---help--- 10522ced687SAnoop Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's. 10622ced687SAnoop If unsure, say N. 10722ced687SAnoop 108083522d7SBenjamin Herrenschmidtconfig USB_EHCI_BIG_ENDIAN_MMIO 109083522d7SBenjamin Herrenschmidt bool 1101643accdSDavid Daney depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || \ 1111643accdSDavid Daney ARCH_IXP4XX || XPS_USB_HCD_XILINX || \ 11222ced687SAnoop PPC_MPC512x || CPU_CAVIUM_OCTEON || \ 113c256667fSSteven J. Hill PMC_MSP || SPARC_LEON || MIPS_SEAD3) 1144d68c0beSStefan Roese default y 115083522d7SBenjamin Herrenschmidt 1166dbd682bSStefan Roeseconfig USB_EHCI_BIG_ENDIAN_DESC 1176dbd682bSStefan Roese bool 118230f7edeSAnatolij Gustschin depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX || XPS_USB_HCD_XILINX || \ 119c256667fSSteven J. Hill PPC_MPC512x || PMC_MSP || SPARC_LEON || \ 120c256667fSSteven J. Hill MIPS_SEAD3) 1214d68c0beSStefan Roese default y 1226dbd682bSStefan Roese 12308d3c18eSJulie Zhuconfig XPS_USB_HCD_XILINX 12408d3c18eSJulie Zhu bool "Use Xilinx usb host EHCI controller core" 12508d3c18eSJulie Zhu depends on USB_EHCI_HCD && (PPC32 || MICROBLAZE) 12608d3c18eSJulie Zhu select USB_EHCI_BIG_ENDIAN_DESC 12708d3c18eSJulie Zhu select USB_EHCI_BIG_ENDIAN_MMIO 12808d3c18eSJulie Zhu ---help--- 12908d3c18eSJulie Zhu Xilinx xps USB host controller core is EHCI compilant and has 13008d3c18eSJulie Zhu transaction translator built-in. It can be configured to either 13108d3c18eSJulie Zhu support both high speed and full speed devices, or high speed 13208d3c18eSJulie Zhu devices only. 13308d3c18eSJulie Zhu 134126512e3SAnatolij Gustschinconfig USB_FSL_MPH_DR_OF 135126512e3SAnatolij Gustschin tristate 136126512e3SAnatolij Gustschin 137ba02978aSLi Yangconfig USB_EHCI_FSL 138c0ca9bc5SFabio Estevam bool "Support for Freescale PPC on-chip EHCI USB controller" 139b5937a41SAnton Vorontsov depends on USB_EHCI_HCD && FSL_SOC 140ba02978aSLi Yang select USB_EHCI_ROOT_HUB_TT 141018b97d0SMarc Kleine-Budde select USB_FSL_MPH_DR_OF if OF 142ba02978aSLi Yang ---help--- 143ba02978aSLi Yang Variation of ARC USB block used in some Freescale chips. 144ba02978aSLi Yang 1457e8d5cd9SDaniel Mackconfig USB_EHCI_MXC 146c0ca9bc5SFabio Estevam bool "Support for Freescale i.MX on-chip EHCI USB controller" 1477e8d5cd9SDaniel Mack depends on USB_EHCI_HCD && ARCH_MXC 1487e8d5cd9SDaniel Mack select USB_EHCI_ROOT_HUB_TT 1497e8d5cd9SDaniel Mack ---help--- 1507e8d5cd9SDaniel Mack Variation of ARC USB block used in some Freescale chips. 1517e8d5cd9SDaniel Mack 1527f124f4bSKeshava Munegowdaconfig USB_EHCI_HCD_OMAP 1537f124f4bSKeshava Munegowda bool "EHCI support for OMAP3 and later chips" 1547f124f4bSKeshava Munegowda depends on USB_EHCI_HCD && ARCH_OMAP 1557f124f4bSKeshava Munegowda default y 1567f124f4bSKeshava Munegowda --- help --- 1577f124f4bSKeshava Munegowda Enables support for the on-chip EHCI controller on 1587f124f4bSKeshava Munegowda OMAP3 and later chips. 1597f124f4bSKeshava Munegowda 160b0848aeaSPavankumar Kondeticonfig USB_EHCI_MSM 161b0848aeaSPavankumar Kondeti bool "Support for MSM on-chip EHCI USB controller" 162b0848aeaSPavankumar Kondeti depends on USB_EHCI_HCD && ARCH_MSM 163b0848aeaSPavankumar Kondeti select USB_EHCI_ROOT_HUB_TT 164dfb2130cSPavankumar Kondeti select USB_MSM_OTG 165b0848aeaSPavankumar Kondeti ---help--- 166b0848aeaSPavankumar Kondeti Enables support for the USB Host controller present on the 167b0848aeaSPavankumar Kondeti Qualcomm chipsets. Root Hub has inbuilt TT. 168b0848aeaSPavankumar Kondeti This driver depends on OTG driver for PHY initialization, 1698bb6a164SPavankumar Kondeti clock management, powering up VBUS, and power management. 1708cf28f1fSPavankumar Kondeti This driver is not supported on boards like trout which 1718cf28f1fSPavankumar Kondeti has an external PHY. 172b0848aeaSPavankumar Kondeti 17379ad3b5aSBenoit Gobyconfig USB_EHCI_TEGRA 17479ad3b5aSBenoit Goby boolean "NVIDIA Tegra HCD support" 17579ad3b5aSBenoit Goby depends on USB_EHCI_HCD && ARCH_TEGRA 17679ad3b5aSBenoit Goby select USB_EHCI_ROOT_HUB_TT 17779ad3b5aSBenoit Goby help 17879ad3b5aSBenoit Goby This driver enables support for the internal USB Host Controllers 17979ad3b5aSBenoit Goby found in NVIDIA Tegra SoCs. The controllers are EHCI compliant. 18079ad3b5aSBenoit Goby 181da0e8fb0SValentine Barshakconfig USB_EHCI_HCD_PPC_OF 182da0e8fb0SValentine Barshak bool "EHCI support for PPC USB controller on OF platform bus" 183da0e8fb0SValentine Barshak depends on USB_EHCI_HCD && PPC_OF 184da0e8fb0SValentine Barshak default y 185da0e8fb0SValentine Barshak ---help--- 186da0e8fb0SValentine Barshak Enables support for the USB controller present on the PowerPC 187da0e8fb0SValentine Barshak OpenFirmware platform bus. 188da0e8fb0SValentine Barshak 18960b0bf0fSYoshihiro Shimodaconfig USB_EHCI_SH 19060b0bf0fSYoshihiro Shimoda bool "EHCI support for SuperH USB controller" 19160b0bf0fSYoshihiro Shimoda depends on USB_EHCI_HCD && SUPERH 19260b0bf0fSYoshihiro Shimoda ---help--- 19360b0bf0fSYoshihiro Shimoda Enables support for the on-chip EHCI controller on the SuperH. 19460b0bf0fSYoshihiro Shimoda If you use the PCI EHCI controller, this option is not necessary. 19560b0bf0fSYoshihiro Shimoda 1961bcc5aa8SJoonyoung Shimconfig USB_EHCI_S5P 1971bcc5aa8SJoonyoung Shim boolean "S5P EHCI support" 1981bcc5aa8SJoonyoung Shim depends on USB_EHCI_HCD && PLAT_S5P 1991bcc5aa8SJoonyoung Shim help 2001bcc5aa8SJoonyoung Shim Enable support for the S5P SOC's on-chip EHCI controller. 2011bcc5aa8SJoonyoung Shim 2023a082ec9SNeil Zhangconfig USB_EHCI_MV 2033a082ec9SNeil Zhang bool "EHCI support for Marvell on-chip controller" 204a219b666SNeil Zhang depends on USB_EHCI_HCD && (ARCH_PXA || ARCH_MMP) 2053a082ec9SNeil Zhang select USB_EHCI_ROOT_HUB_TT 2063a082ec9SNeil Zhang ---help--- 2073a082ec9SNeil Zhang Enables support for Marvell (including PXA and MMP series) on-chip 2083a082ec9SNeil Zhang USB SPH and OTG controller. SPH is a single port host, and it can 2093a082ec9SNeil Zhang only be EHCI host. OTG is controller that can switch to host mode. 2103a082ec9SNeil Zhang 211586dfc8cSWan ZongShunconfig USB_W90X900_EHCI 212586dfc8cSWan ZongShun bool "W90X900(W90P910) EHCI support" 213586dfc8cSWan ZongShun depends on USB_EHCI_HCD && ARCH_W90X900 214586dfc8cSWan ZongShun ---help--- 215586dfc8cSWan ZongShun Enables support for the W90X900 USB controller 216586dfc8cSWan ZongShun 217760efe69SMac Linconfig USB_CNS3XXX_EHCI 218760efe69SMac Lin bool "Cavium CNS3XXX EHCI Module" 219760efe69SMac Lin depends on USB_EHCI_HCD && ARCH_CNS3XXX 220760efe69SMac Lin ---help--- 221760efe69SMac Lin Enable support for the CNS3XXX SOC's on-chip EHCI controller. 222760efe69SMac Lin It is needed for high-speed (480Mbit/sec) USB 2.0 device 223760efe69SMac Lin support. 224760efe69SMac Lin 225502fa841SGabor Juhosconfig USB_EHCI_ATH79 2265d98cd4eSHauke Mehrtens bool "EHCI support for AR7XXX/AR9XXX SoCs (DEPRECATED)" 2279d6b204fSGabor Juhos depends on USB_EHCI_HCD && (SOC_AR71XX || SOC_AR724X || SOC_AR913X || SOC_AR933X) 228502fa841SGabor Juhos select USB_EHCI_ROOT_HUB_TT 2295d98cd4eSHauke Mehrtens select USB_EHCI_HCD_PLATFORM 230502fa841SGabor Juhos default y 231502fa841SGabor Juhos ---help--- 2325d98cd4eSHauke Mehrtens This option is deprecated now and the driver was removed, use 2335d98cd4eSHauke Mehrtens USB_EHCI_HCD_PLATFORM instead. 2345d98cd4eSHauke Mehrtens 235502fa841SGabor Juhos Enables support for the built-in EHCI controller present 236502fa841SGabor Juhos on the Atheros AR7XXX/AR9XXX SoCs. 237502fa841SGabor Juhos 238b92a78e5SRodolfo Giometticonfig USB_OXU210HP_HCD 239b92a78e5SRodolfo Giometti tristate "OXU210HP HCD support" 240b92a78e5SRodolfo Giometti depends on USB 241b92a78e5SRodolfo Giometti ---help--- 242b92a78e5SRodolfo Giometti The OXU210HP is an USB host/OTG/device controller. Enable this 243b92a78e5SRodolfo Giometti option if your board has this chip. If unsure, say N. 244b92a78e5SRodolfo Giometti 245b92a78e5SRodolfo Giometti This driver does not support isochronous transfers and doesn't 246b92a78e5SRodolfo Giometti implement OTG nor USB device controllers. 247b92a78e5SRodolfo Giometti 248b92a78e5SRodolfo Giometti To compile this driver as a module, choose M here: the 249b92a78e5SRodolfo Giometti module will be called oxu210hp-hcd. 250b92a78e5SRodolfo Giometti 2514808a1c0SOlav Kongasconfig USB_ISP116X_HCD 2524808a1c0SOlav Kongas tristate "ISP116X HCD support" 2534808a1c0SOlav Kongas depends on USB 2544808a1c0SOlav Kongas ---help--- 2554808a1c0SOlav Kongas The ISP1160 and ISP1161 chips are USB host controllers. Enable this 2564808a1c0SOlav Kongas option if your board has this chip. If unsure, say N. 2574808a1c0SOlav Kongas 2584808a1c0SOlav Kongas This driver does not support isochronous transfers. 2594808a1c0SOlav Kongas 2604808a1c0SOlav Kongas To compile this driver as a module, choose M here: the 2614808a1c0SOlav Kongas module will be called isp116x-hcd. 2624808a1c0SOlav Kongas 263db11e47dSSebastian Siewiorconfig USB_ISP1760_HCD 264db11e47dSSebastian Siewior tristate "ISP 1760 HCD support" 265f7e7aa58SCatalin Marinas depends on USB && EXPERIMENTAL 266db11e47dSSebastian Siewior ---help--- 267db11e47dSSebastian Siewior The ISP1760 chip is a USB 2.0 host controller. 268db11e47dSSebastian Siewior 269db11e47dSSebastian Siewior This driver does not support isochronous transfers or OTG. 270ff30bf1cSSebastian Andrzej Siewior This USB controller is usually attached to a non-DMA-Master 271ff30bf1cSSebastian Andrzej Siewior capable bus. NXP's eval kit brings this chip on PCI card 272ff30bf1cSSebastian Andrzej Siewior where the chip itself is behind a PLB to simulate such 273ff30bf1cSSebastian Andrzej Siewior a bus. 274db11e47dSSebastian Siewior 275db11e47dSSebastian Siewior To compile this driver as a module, choose M here: the 276ff30bf1cSSebastian Andrzej Siewior module will be called isp1760. 277db11e47dSSebastian Siewior 278a9d43091SLothar Wassmannconfig USB_ISP1362_HCD 279a9d43091SLothar Wassmann tristate "ISP1362 HCD support" 280a9d43091SLothar Wassmann depends on USB 281a9d43091SLothar Wassmann default N 282a9d43091SLothar Wassmann ---help--- 283a9d43091SLothar Wassmann Supports the Philips ISP1362 chip as a host controller 284a9d43091SLothar Wassmann 285a9d43091SLothar Wassmann This driver does not support isochronous transfers. 286a9d43091SLothar Wassmann 287a9d43091SLothar Wassmann To compile this driver as a module, choose M here: the 288a9d43091SLothar Wassmann module will be called isp1362-hcd. 289a9d43091SLothar Wassmann 2901da177e4SLinus Torvaldsconfig USB_OHCI_HCD 2911da177e4SLinus Torvalds tristate "OHCI HCD support" 2921da177e4SLinus Torvalds depends on USB && USB_ARCH_HAS_OHCI 2931da177e4SLinus Torvalds select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 2942bf5fa13SDavid Brownell select USB_OTG_UTILS if ARCH_OMAP 29573108aa9SRoland Stigge select USB_ISP1301 if ARCH_LPC32XX || ARCH_PNX4008 2961da177e4SLinus Torvalds ---help--- 2971da177e4SLinus Torvalds The Open Host Controller Interface (OHCI) is a standard for accessing 2981da177e4SLinus Torvalds USB 1.1 host controller hardware. It does more in hardware than Intel's 2991da177e4SLinus Torvalds UHCI specification. If your USB host controller follows the OHCI spec, 3001da177e4SLinus Torvalds say Y. On most non-x86 systems, and on x86 hardware that's not using a 3011da177e4SLinus Torvalds USB controller from Intel or VIA, this is appropriate. If your host 3021da177e4SLinus Torvalds controller doesn't use PCI, this is probably appropriate. For a PCI 3031da177e4SLinus Torvalds based system where you're not sure, the "lspci -v" entry will list the 3041da177e4SLinus Torvalds right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI. 3051da177e4SLinus Torvalds 3061da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 3071da177e4SLinus Torvalds module will be called ohci-hcd. 3081da177e4SLinus Torvalds 309968b448bSAnand Gadiyarconfig USB_OHCI_HCD_OMAP1 310968b448bSAnand Gadiyar bool "OHCI support for OMAP1/2 chips" 311968b448bSAnand Gadiyar depends on USB_OHCI_HCD && (ARCH_OMAP1 || ARCH_OMAP2) 312968b448bSAnand Gadiyar default y 313968b448bSAnand Gadiyar ---help--- 314968b448bSAnand Gadiyar Enables support for the OHCI controller on OMAP1/2 chips. 315968b448bSAnand Gadiyar 316968b448bSAnand Gadiyarconfig USB_OHCI_HCD_OMAP3 317968b448bSAnand Gadiyar bool "OHCI support for OMAP3 and later chips" 318968b448bSAnand Gadiyar depends on USB_OHCI_HCD && (ARCH_OMAP3 || ARCH_OMAP4) 319968b448bSAnand Gadiyar default y 320968b448bSAnand Gadiyar ---help--- 321968b448bSAnand Gadiyar Enables support for the on-chip OHCI controller on 322968b448bSAnand Gadiyar OMAP3 and later chips. 323968b448bSAnand Gadiyar 32490e6ca5cSGabor Juhosconfig USB_OHCI_ATH79 3255d98cd4eSHauke Mehrtens bool "USB OHCI support for the Atheros AR71XX/AR7240 SoCs (DEPRECATED)" 32690e6ca5cSGabor Juhos depends on USB_OHCI_HCD && (SOC_AR71XX || SOC_AR724X) 3275d98cd4eSHauke Mehrtens select USB_OHCI_HCD_PLATFORM 32890e6ca5cSGabor Juhos default y 32990e6ca5cSGabor Juhos help 3305d98cd4eSHauke Mehrtens This option is deprecated now and the driver was removed, use 3315d98cd4eSHauke Mehrtens USB_OHCI_HCD_PLATFORM instead. 3325d98cd4eSHauke Mehrtens 33390e6ca5cSGabor Juhos Enables support for the built-in OHCI controller present on the 33490e6ca5cSGabor Juhos Atheros AR71XX/AR7240 SoCs. 33590e6ca5cSGabor Juhos 3361da177e4SLinus Torvaldsconfig USB_OHCI_HCD_PPC_SOC 3371da177e4SLinus Torvalds bool "OHCI support for on-chip PPC USB controller" 3381da177e4SLinus Torvalds depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx) 3391da177e4SLinus Torvalds default y 34011d1a4aaSBenjamin Herrenschmidt select USB_OHCI_BIG_ENDIAN_DESC 34111d1a4aaSBenjamin Herrenschmidt select USB_OHCI_BIG_ENDIAN_MMIO 3421da177e4SLinus Torvalds ---help--- 3431da177e4SLinus Torvalds Enables support for the USB controller on the MPC52xx or 3441da177e4SLinus Torvalds STB03xxx processor chip. If unsure, say Y. 3451da177e4SLinus Torvalds 346495a678fSSylvain Munautconfig USB_OHCI_HCD_PPC_OF_BE 34745e83889SArnd Bergmann bool "OHCI support for OF platform bus (big endian)" 34845e83889SArnd Bergmann depends on USB_OHCI_HCD && PPC_OF 349495a678fSSylvain Munaut select USB_OHCI_BIG_ENDIAN_DESC 350495a678fSSylvain Munaut select USB_OHCI_BIG_ENDIAN_MMIO 35145e83889SArnd Bergmann ---help--- 35245e83889SArnd Bergmann Enables support for big-endian USB controllers present on the 35345e83889SArnd Bergmann OpenFirmware platform bus. 354495a678fSSylvain Munaut 355495a678fSSylvain Munautconfig USB_OHCI_HCD_PPC_OF_LE 35645e83889SArnd Bergmann bool "OHCI support for OF platform bus (little endian)" 35745e83889SArnd Bergmann depends on USB_OHCI_HCD && PPC_OF 358495a678fSSylvain Munaut select USB_OHCI_LITTLE_ENDIAN 35945e83889SArnd Bergmann ---help--- 36045e83889SArnd Bergmann Enables support for little-endian USB controllers present on the 36145e83889SArnd Bergmann OpenFirmware platform bus. 36245e83889SArnd Bergmann 36345e83889SArnd Bergmannconfig USB_OHCI_HCD_PPC_OF 36445e83889SArnd Bergmann bool 36545e83889SArnd Bergmann depends on USB_OHCI_HCD && PPC_OF 36645e83889SArnd Bergmann default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE 367495a678fSSylvain Munaut 3681da177e4SLinus Torvaldsconfig USB_OHCI_HCD_PCI 3691da177e4SLinus Torvalds bool "OHCI support for PCI-bus USB controllers" 370495a678fSSylvain Munaut depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF) 3711da177e4SLinus Torvalds default y 3721da177e4SLinus Torvalds select USB_OHCI_LITTLE_ENDIAN 3731da177e4SLinus Torvalds ---help--- 3741da177e4SLinus Torvalds Enables support for PCI-bus plug-in USB controller cards. 3751da177e4SLinus Torvalds If unsure, say Y. 3761da177e4SLinus Torvalds 377c604e851SMichael Bueschconfig USB_OHCI_HCD_SSB 378259b83a3SHauke Mehrtens bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)" 3791011b326SAdrian Bunk depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD) && EXPERIMENTAL 380259b83a3SHauke Mehrtens select USB_HCD_SSB 381259b83a3SHauke Mehrtens select USB_OHCI_HCD_PLATFORM 382c604e851SMichael Buesch default n 383c604e851SMichael Buesch ---help--- 384259b83a3SHauke Mehrtens This option is deprecated now and the driver was removed, use 385259b83a3SHauke Mehrtens USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead. 386259b83a3SHauke Mehrtens 387c604e851SMichael Buesch Support for the Sonics Silicon Backplane (SSB) attached 388c604e851SMichael Buesch Broadcom USB OHCI core. 389c604e851SMichael Buesch 390c604e851SMichael Buesch This device is present in some embedded devices with 391c604e851SMichael Buesch Broadcom based SSB bus. 392c604e851SMichael Buesch 393c604e851SMichael Buesch If unsure, say N. 394c604e851SMichael Buesch 39560b0bf0fSYoshihiro Shimodaconfig USB_OHCI_SH 39660b0bf0fSYoshihiro Shimoda bool "OHCI support for SuperH USB controller" 39760b0bf0fSYoshihiro Shimoda depends on USB_OHCI_HCD && SUPERH 39860b0bf0fSYoshihiro Shimoda ---help--- 39960b0bf0fSYoshihiro Shimoda Enables support for the on-chip OHCI controller on the SuperH. 40060b0bf0fSYoshihiro Shimoda If you use the PCI OHCI controller, this option is not necessary. 40160b0bf0fSYoshihiro Shimoda 40262194244SJingoo Hanconfig USB_OHCI_EXYNOS 40362194244SJingoo Han boolean "OHCI support for Samsung EXYNOS SoC Series" 40462194244SJingoo Han depends on USB_OHCI_HCD && ARCH_EXYNOS 40562194244SJingoo Han help 40662194244SJingoo Han Enable support for the Samsung Exynos SOC's on-chip OHCI controller. 40762194244SJingoo Han 408760efe69SMac Linconfig USB_CNS3XXX_OHCI 409760efe69SMac Lin bool "Cavium CNS3XXX OHCI Module" 410760efe69SMac Lin depends on USB_OHCI_HCD && ARCH_CNS3XXX 411760efe69SMac Lin ---help--- 412760efe69SMac Lin Enable support for the CNS3XXX SOC's on-chip OHCI controller. 413760efe69SMac Lin It is needed for low-speed USB 1.0 device support. 414760efe69SMac Lin 415fa3364b5SHauke Mehrtensconfig USB_OHCI_HCD_PLATFORM 416fa3364b5SHauke Mehrtens bool "Generic OHCI driver for a platform device" 417fa3364b5SHauke Mehrtens depends on USB_OHCI_HCD && EXPERIMENTAL 418fa3364b5SHauke Mehrtens default n 419fa3364b5SHauke Mehrtens ---help--- 420fa3364b5SHauke Mehrtens Adds an OHCI host driver for a generic platform device, which 421fa3364b5SHauke Mehrtens provieds a memory space and an irq. 422fa3364b5SHauke Mehrtens 423fa3364b5SHauke Mehrtens If unsure, say N. 424fa3364b5SHauke Mehrtens 4257a7a4a59SHauke Mehrtensconfig USB_EHCI_HCD_PLATFORM 4267a7a4a59SHauke Mehrtens bool "Generic EHCI driver for a platform device" 4277a7a4a59SHauke Mehrtens depends on USB_EHCI_HCD && EXPERIMENTAL 4287a7a4a59SHauke Mehrtens default n 4297a7a4a59SHauke Mehrtens ---help--- 4307a7a4a59SHauke Mehrtens Adds an EHCI host driver for a generic platform device, which 4317a7a4a59SHauke Mehrtens provieds a memory space and an irq. 4327a7a4a59SHauke Mehrtens 4337a7a4a59SHauke Mehrtens If unsure, say N. 4347a7a4a59SHauke Mehrtens 43511d1a4aaSBenjamin Herrenschmidtconfig USB_OHCI_BIG_ENDIAN_DESC 43611d1a4aaSBenjamin Herrenschmidt bool 43711d1a4aaSBenjamin Herrenschmidt depends on USB_OHCI_HCD 43811d1a4aaSBenjamin Herrenschmidt default n 43911d1a4aaSBenjamin Herrenschmidt 44011d1a4aaSBenjamin Herrenschmidtconfig USB_OHCI_BIG_ENDIAN_MMIO 4411da177e4SLinus Torvalds bool 4421da177e4SLinus Torvalds depends on USB_OHCI_HCD 4431da177e4SLinus Torvalds default n 4441da177e4SLinus Torvalds 4451da177e4SLinus Torvaldsconfig USB_OHCI_LITTLE_ENDIAN 4461da177e4SLinus Torvalds bool 4471da177e4SLinus Torvalds depends on USB_OHCI_HCD 4481da177e4SLinus Torvalds default n if STB03xxx || PPC_MPC52xx 4491da177e4SLinus Torvalds default y 4501da177e4SLinus Torvalds 4511da177e4SLinus Torvaldsconfig USB_UHCI_HCD 4521da177e4SLinus Torvalds tristate "UHCI HCD (most Intel and VIA) support" 4533db7739cSJan Andersson depends on USB && (PCI || SPARC_LEON) 4541da177e4SLinus Torvalds ---help--- 4551da177e4SLinus Torvalds The Universal Host Controller Interface is a standard by Intel for 4561da177e4SLinus Torvalds accessing the USB hardware in the PC (which is also called the USB 4571da177e4SLinus Torvalds host controller). If your USB host controller conforms to this 4581da177e4SLinus Torvalds standard, you may want to say Y, but see below. All recent boards 4591da177e4SLinus Torvalds with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX, 4601da177e4SLinus Torvalds i810, i820) conform to this standard. Also all VIA PCI chipsets 4611da177e4SLinus Torvalds (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro 4623db7739cSJan Andersson 133) and LEON/GRLIB SoCs with the GRUSBHC controller. 4633db7739cSJan Andersson If unsure, say Y. 4641da177e4SLinus Torvalds 4651da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 4661da177e4SLinus Torvalds module will be called uhci-hcd. 4671da177e4SLinus Torvalds 468d3219d1cSJan Anderssonconfig USB_UHCI_SUPPORT_NON_PCI_HC 469d3219d1cSJan Andersson bool 470d3219d1cSJan Andersson depends on USB_UHCI_HCD 4713db7739cSJan Andersson default y if SPARC_LEON 472d3219d1cSJan Andersson 4738452c674SJan Anderssonconfig USB_UHCI_BIG_ENDIAN_MMIO 4748452c674SJan Andersson bool 475fda928acSJan Andersson depends on USB_UHCI_SUPPORT_NON_PCI_HC && SPARC_LEON 476fda928acSJan Andersson default y 4778452c674SJan Andersson 47851e2f62fSJan Anderssonconfig USB_UHCI_BIG_ENDIAN_DESC 47951e2f62fSJan Andersson bool 480fda928acSJan Andersson depends on USB_UHCI_SUPPORT_NON_PCI_HC && SPARC_LEON 481fda928acSJan Andersson default y 48251e2f62fSJan Andersson 483236dd4d1SAnton Vorontsovconfig USB_FHCI_HCD 484236dd4d1SAnton Vorontsov tristate "Freescale QE USB Host Controller support" 485236dd4d1SAnton Vorontsov depends on USB && OF_GPIO && QE_GPIO && QUICC_ENGINE 486236dd4d1SAnton Vorontsov select FSL_GTM 487236dd4d1SAnton Vorontsov select QE_USB 488236dd4d1SAnton Vorontsov help 489236dd4d1SAnton Vorontsov This driver enables support for Freescale QE USB Host Controller 490236dd4d1SAnton Vorontsov (as found on MPC8360 and MPC8323 processors), the driver supports 491236dd4d1SAnton Vorontsov Full and Low Speed USB. 492236dd4d1SAnton Vorontsov 493236dd4d1SAnton Vorontsovconfig FHCI_DEBUG 494236dd4d1SAnton Vorontsov bool "Freescale QE USB Host Controller debug support" 495236dd4d1SAnton Vorontsov depends on USB_FHCI_HCD && DEBUG_FS 496236dd4d1SAnton Vorontsov help 497236dd4d1SAnton Vorontsov Say "y" to see some FHCI debug information and statistics 49825985edcSLucas De Marchi through debugfs. 499236dd4d1SAnton Vorontsov 500d774efeaSTony Olechconfig USB_U132_HCD 501d774efeaSTony Olech tristate "Elan U132 Adapter Host Controller" 502d774efeaSTony Olech depends on USB && USB_FTDI_ELAN 503d774efeaSTony Olech default M 504d774efeaSTony Olech help 505d774efeaSTony Olech The U132 adapter is a USB to CardBus adapter specifically designed 506d774efeaSTony Olech for PC cards that contain an OHCI host controller. Typical PC cards 507d774efeaSTony Olech are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132 508d774efeaSTony Olech adapter will *NOT* work with PC cards that do not contain an OHCI 509d774efeaSTony Olech controller. 510d774efeaSTony Olech 5113cb2fcccSMatt LaPlante For those PC cards that contain multiple OHCI controllers only the 512d774efeaSTony Olech first one is used. 513d774efeaSTony Olech 514d774efeaSTony Olech The driver consists of two modules, the "ftdi-elan" module is a 515d774efeaSTony Olech USB client driver that interfaces to the FTDI chip within ELAN's 516d774efeaSTony Olech USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host 517d774efeaSTony Olech controller driver that talks to the OHCI controller within the 518d774efeaSTony Olech CardBus cards that are inserted in the U132 adapter. 519d774efeaSTony Olech 520d774efeaSTony Olech This driver has been tested with a CardBus OHCI USB adapter, and 521d774efeaSTony Olech worked with a USB PEN Drive inserted into the first USB port of 522d774efeaSTony Olech the PCCARD. A rather pointless thing to do, but useful for testing. 523d774efeaSTony Olech 524d774efeaSTony Olech It is safe to say M here. 525d774efeaSTony Olech 526d774efeaSTony Olech See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php> 527d774efeaSTony Olech 5281da177e4SLinus Torvaldsconfig USB_SL811_HCD 5291da177e4SLinus Torvalds tristate "SL811HS HCD support" 5301da177e4SLinus Torvalds depends on USB 5311da177e4SLinus Torvalds help 5321da177e4SLinus Torvalds The SL811HS is a single-port USB controller that supports either 5331da177e4SLinus Torvalds host side or peripheral side roles. Enable this option if your 5341da177e4SLinus Torvalds board has this chip, and you want to use it as a host controller. 5351da177e4SLinus Torvalds If unsure, say N. 5361da177e4SLinus Torvalds 5371da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 5381da177e4SLinus Torvalds module will be called sl811-hcd. 5391da177e4SLinus Torvalds 540ad7c56f0SMike Frysingerconfig USB_SL811_HCD_ISO 541ad7c56f0SMike Frysinger bool "partial ISO support" 542ad7c56f0SMike Frysinger depends on USB_SL811_HCD 543ad7c56f0SMike Frysinger help 544ad7c56f0SMike Frysinger The driver doesn't support iso_frame_desc (yet), but for some simple 545ad7c56f0SMike Frysinger devices that just queue one ISO frame per URB, then ISO transfers 546ad7c56f0SMike Frysinger "should" work using the normal urb status fields. 547ad7c56f0SMike Frysinger 548ad7c56f0SMike Frysinger If unsure, say N. 549ad7c56f0SMike Frysinger 550c6de2b64SDavid Brownellconfig USB_SL811_CS 551c6de2b64SDavid Brownell tristate "CF/PCMCIA support for SL811HS HCD" 552c6de2b64SDavid Brownell depends on USB_SL811_HCD && PCMCIA 553c6de2b64SDavid Brownell help 554c6de2b64SDavid Brownell Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC 555c6de2b64SDavid Brownell REX-CFU1U CF card (often used with PDAs). If unsure, say N. 556c6de2b64SDavid Brownell 557c6de2b64SDavid Brownell To compile this driver as a module, choose M here: the 558c6de2b64SDavid Brownell module will be called "sl811_cs". 559c6de2b64SDavid Brownell 5605d304358SYoshihiro Shimodaconfig USB_R8A66597_HCD 561fa0de2b6SM4rkusXXL tristate "R8A66597 HCD support" 5625d304358SYoshihiro Shimoda depends on USB 5635d304358SYoshihiro Shimoda help 5645d304358SYoshihiro Shimoda The R8A66597 is a USB 2.0 host and peripheral controller. 5655d304358SYoshihiro Shimoda 5665d304358SYoshihiro Shimoda Enable this option if your board has this chip, and you want 5675d304358SYoshihiro Shimoda to use it as a host controller. If unsure, say N. 5685d304358SYoshihiro Shimoda 5695d304358SYoshihiro Shimoda To compile this driver as a module, choose M here: the 5705d304358SYoshihiro Shimoda module will be called r8a66597-hcd. 5715d304358SYoshihiro Shimoda 572034d7c13SKuninori Morimotoconfig USB_RENESAS_USBHS_HCD 573034d7c13SKuninori Morimoto tristate "Renesas USBHS HCD support" 574034d7c13SKuninori Morimoto depends on USB 575034d7c13SKuninori Morimoto depends on USB_RENESAS_USBHS 576034d7c13SKuninori Morimoto help 577034d7c13SKuninori Morimoto The Renesas USBHS is a USB 2.0 host and peripheral controller. 578034d7c13SKuninori Morimoto 579034d7c13SKuninori Morimoto Enable this option if your board has this chip, and you want 580034d7c13SKuninori Morimoto to use it as a host controller. If unsure, say N. 581034d7c13SKuninori Morimoto 582034d7c13SKuninori Morimoto To compile this driver as a module, choose M here: the 583034d7c13SKuninori Morimoto module will be called renesas-usbhs. 584034d7c13SKuninori Morimoto 5857e6133aaSDavid Vrabelconfig USB_WHCI_HCD 5866a7c3e46SDavid Vrabel tristate "Wireless USB Host Controller Interface (WHCI) driver (EXPERIMENTAL)" 5876a7c3e46SDavid Vrabel depends on EXPERIMENTAL 58836f8ecbfSRandy Dunlap depends on PCI && USB && UWB 5897e6133aaSDavid Vrabel select USB_WUSB 5907e6133aaSDavid Vrabel select UWB_WHCI 5917e6133aaSDavid Vrabel help 5927e6133aaSDavid Vrabel A driver for PCI-based Wireless USB Host Controllers that are 5937e6133aaSDavid Vrabel compliant with the WHCI specification. 5947e6133aaSDavid Vrabel 5957e6133aaSDavid Vrabel To compile this driver a module, choose M here: the module 5967e6133aaSDavid Vrabel will be called "whci-hcd". 597d09318b8SInaky Perez-Gonzalez 598d09318b8SInaky Perez-Gonzalezconfig USB_HWA_HCD 5996a7c3e46SDavid Vrabel tristate "Host Wire Adapter (HWA) driver (EXPERIMENTAL)" 6006a7c3e46SDavid Vrabel depends on EXPERIMENTAL 60136f8ecbfSRandy Dunlap depends on USB && UWB 602d09318b8SInaky Perez-Gonzalez select USB_WUSB 603d09318b8SInaky Perez-Gonzalez select UWB_HWA 604d09318b8SInaky Perez-Gonzalez help 605d09318b8SInaky Perez-Gonzalez This driver enables you to connect Wireless USB devices to 606d09318b8SInaky Perez-Gonzalez your system using a Host Wire Adaptor USB dongle. This is an 607d09318b8SInaky Perez-Gonzalez UWB Radio Controller and WUSB Host Controller connected to 608d09318b8SInaky Perez-Gonzalez your machine via USB (specified in WUSB1.0). 609d09318b8SInaky Perez-Gonzalez 610d09318b8SInaky Perez-Gonzalez To compile this driver a module, choose M here: the module 611d09318b8SInaky Perez-Gonzalez will be called "hwa-hc". 61223d3e7a6SMartin Fuzzey 61323d3e7a6SMartin Fuzzeyconfig USB_IMX21_HCD 6145de9ec4dSSascha Hauer tristate "i.MX21 HCD support" 6155de9ec4dSSascha Hauer depends on USB && ARM && ARCH_MXC 61623d3e7a6SMartin Fuzzey help 61723d3e7a6SMartin Fuzzey This driver enables support for the on-chip USB host in the 6185de9ec4dSSascha Hauer i.MX21 processor. 61923d3e7a6SMartin Fuzzey 62023d3e7a6SMartin Fuzzey To compile this driver as a module, choose M here: the 62123d3e7a6SMartin Fuzzey module will be called "imx21-hcd". 62223d3e7a6SMartin Fuzzey 6231643accdSDavid Daneyconfig USB_OCTEON_EHCI 6241643accdSDavid Daney bool "Octeon on-chip EHCI support" 6251643accdSDavid Daney depends on USB && USB_EHCI_HCD && CPU_CAVIUM_OCTEON 6261643accdSDavid Daney default n 6271643accdSDavid Daney select USB_EHCI_BIG_ENDIAN_MMIO 6281643accdSDavid Daney help 6291643accdSDavid Daney Enable support for the Octeon II SOC's on-chip EHCI 6301643accdSDavid Daney controller. It is needed for high-speed (480Mbit/sec) 6311643accdSDavid Daney USB 2.0 device support. All CN6XXX based chips with USB are 6321643accdSDavid Daney supported. 6331643accdSDavid Daney 6341643accdSDavid Daneyconfig USB_OCTEON_OHCI 6351643accdSDavid Daney bool "Octeon on-chip OHCI support" 6361643accdSDavid Daney depends on USB && USB_OHCI_HCD && CPU_CAVIUM_OCTEON 6371643accdSDavid Daney default USB_OCTEON_EHCI 6381643accdSDavid Daney select USB_OHCI_BIG_ENDIAN_MMIO 6391643accdSDavid Daney select USB_OHCI_LITTLE_ENDIAN 6401643accdSDavid Daney help 6411643accdSDavid Daney Enable support for the Octeon II SOC's on-chip OHCI 6421643accdSDavid Daney controller. It is needed for low-speed USB 1.0 device 6431643accdSDavid Daney support. All CN6XXX based chips with USB are supported. 6441643accdSDavid Daney 6451643accdSDavid Daneyconfig USB_OCTEON2_COMMON 6461643accdSDavid Daney bool 6471643accdSDavid Daney default y if USB_OCTEON_EHCI || USB_OCTEON_OHCI 64862e11d1bSHauke Mehrtens 64962e11d1bSHauke Mehrtensconfig USB_HCD_BCMA 65062e11d1bSHauke Mehrtens tristate "BCMA usb host driver" 65162e11d1bSHauke Mehrtens depends on BCMA && EXPERIMENTAL 65262e11d1bSHauke Mehrtens select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD 65362e11d1bSHauke Mehrtens select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD 65462e11d1bSHauke Mehrtens help 65562e11d1bSHauke Mehrtens Enbale support for the EHCI and OCHI host controller on an bcma bus. 65662e11d1bSHauke Mehrtens It converts the bcma driver into two platform device drivers 65762e11d1bSHauke Mehrtens for ehci and ohci. 65862e11d1bSHauke Mehrtens 65962e11d1bSHauke Mehrtens If unsure, say N. 6607043c2ccSHauke Mehrtens 6617043c2ccSHauke Mehrtensconfig USB_HCD_SSB 6627043c2ccSHauke Mehrtens tristate "SSB usb host driver" 6637043c2ccSHauke Mehrtens depends on SSB && EXPERIMENTAL 6647043c2ccSHauke Mehrtens select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD 6657043c2ccSHauke Mehrtens select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD 6667043c2ccSHauke Mehrtens help 6677043c2ccSHauke Mehrtens Enbale support for the EHCI and OCHI host controller on an bcma bus. 6687043c2ccSHauke Mehrtens It converts the bcma driver into two platform device drivers 6697043c2ccSHauke Mehrtens for ehci and ohci. 6707043c2ccSHauke Mehrtens 6717043c2ccSHauke Mehrtens If unsure, say N. 672