1# SPDX-License-Identifier: GPL-2.0 2# 3# USB Host Controller Drivers 4# 5comment "USB Host Controller Drivers" 6 7config USB_C67X00_HCD 8 tristate "Cypress C67x00 HCD support" 9 depends on HAS_IOMEM 10 help 11 The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role 12 host/peripheral/OTG USB controllers. 13 14 Enable this option to support this chip in host controller mode. 15 If unsure, say N. 16 17 To compile this driver as a module, choose M here: the 18 module will be called c67x00. 19 20config USB_XHCI_HCD 21 tristate "xHCI HCD (USB 3.0) support" 22 depends on HAS_DMA && HAS_IOMEM 23 ---help--- 24 The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0 25 "SuperSpeed" host controller hardware. 26 27 To compile this driver as a module, choose M here: the 28 module will be called xhci-hcd. 29 30if USB_XHCI_HCD 31config USB_XHCI_DBGCAP 32 bool "xHCI support for debug capability" 33 depends on TTY 34 ---help--- 35 Say 'Y' to enable the support for the xHCI debug capability. Make 36 sure that your xHCI host supports the extended debug capability and 37 you want a TTY serial device based on the xHCI debug capability 38 before enabling this option. If unsure, say 'N'. 39 40config USB_XHCI_PCI 41 tristate 42 depends on USB_PCI 43 default y 44 45config USB_XHCI_PLATFORM 46 tristate "Generic xHCI driver for a platform device" 47 select USB_XHCI_RCAR if ARCH_RENESAS 48 ---help--- 49 Adds an xHCI host driver for a generic platform device, which 50 provides a memory space and an irq. 51 It is also a prerequisite for platform specific drivers that 52 implement some extra quirks. 53 54 If unsure, say N. 55 56config USB_XHCI_HISTB 57 tristate "xHCI support for HiSilicon STB SoCs" 58 depends on USB_XHCI_PLATFORM && (ARCH_HISI || COMPILE_TEST) 59 help 60 Say 'Y' to enable the support for the xHCI host controller 61 found in HiSilicon STB SoCs. 62 63config USB_XHCI_MTK 64 tristate "xHCI support for MediaTek SoCs" 65 select MFD_SYSCON 66 depends on (MIPS && SOC_MT7621) || ARCH_MEDIATEK || COMPILE_TEST 67 ---help--- 68 Say 'Y' to enable the support for the xHCI host controller 69 found in MediaTek SoCs. 70 If unsure, say N. 71 72config USB_XHCI_MVEBU 73 tristate "xHCI support for Marvell Armada 375/38x/37xx" 74 select USB_XHCI_PLATFORM 75 depends on HAS_IOMEM 76 depends on ARCH_MVEBU || COMPILE_TEST 77 ---help--- 78 Say 'Y' to enable the support for the xHCI host controller 79 found in Marvell Armada 375/38x/37xx ARM SOCs. 80 81config USB_XHCI_RCAR 82 tristate "xHCI support for Renesas R-Car SoCs" 83 depends on USB_XHCI_PLATFORM 84 depends on ARCH_RENESAS || COMPILE_TEST 85 ---help--- 86 Say 'Y' to enable the support for the xHCI host controller 87 found in Renesas R-Car ARM SoCs. 88 89config USB_XHCI_TEGRA 90 tristate "xHCI support for NVIDIA Tegra SoCs" 91 depends on PHY_TEGRA_XUSB 92 depends on RESET_CONTROLLER 93 select FW_LOADER 94 ---help--- 95 Say 'Y' to enable the support for the xHCI host controller 96 found in NVIDIA Tegra124 and later SoCs. 97 98endif # USB_XHCI_HCD 99 100config USB_EHCI_HCD 101 tristate "EHCI HCD (USB 2.0) support" 102 depends on HAS_DMA && HAS_IOMEM 103 ---help--- 104 The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0 105 "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware. 106 If your USB host controller supports USB 2.0, you will likely want to 107 configure this Host Controller Driver. 108 109 EHCI controllers are packaged with "companion" host controllers (OHCI 110 or UHCI) to handle USB 1.1 devices connected to root hub ports. Ports 111 will connect to EHCI if the device is high speed, otherwise they 112 connect to a companion controller. If you configure EHCI, you should 113 probably configure the OHCI (for NEC and some other vendors) USB Host 114 Controller Driver or UHCI (for Via motherboards) Host Controller 115 Driver too. 116 117 You may want to read <file:Documentation/usb/ehci.rst>. 118 119 To compile this driver as a module, choose M here: the 120 module will be called ehci-hcd. 121 122config USB_EHCI_ROOT_HUB_TT 123 bool "Root Hub Transaction Translators" 124 depends on USB_EHCI_HCD 125 ---help--- 126 Some EHCI chips have vendor-specific extensions to integrate 127 transaction translators, so that no OHCI or UHCI companion 128 controller is needed. It's safe to say "y" even if your 129 controller doesn't support this feature. 130 131 This supports the EHCI implementation that's originally 132 from ARC, and has since changed hands a few times. 133 134config USB_EHCI_TT_NEWSCHED 135 bool "Improved Transaction Translator scheduling" 136 depends on USB_EHCI_HCD 137 default y 138 ---help--- 139 This changes the periodic scheduling code to fill more of the low 140 and full speed bandwidth available from the Transaction Translator 141 (TT) in USB 2.0 hubs. Without this, only one transfer will be 142 issued in each microframe, significantly reducing the number of 143 periodic low/fullspeed transfers possible. 144 145 If you have multiple periodic low/fullspeed devices connected to a 146 highspeed USB hub which is connected to a highspeed USB Host 147 Controller, and some of those devices will not work correctly 148 (possibly due to "ENOSPC" or "-28" errors), say Y. Conversely, if 149 you have only one such device and it doesn't work, you could try 150 saying N. 151 152 If unsure, say Y. 153 154if USB_EHCI_HCD 155 156config USB_EHCI_PCI 157 tristate 158 depends on USB_PCI 159 default y 160 161config USB_EHCI_HCD_PMC_MSP 162 tristate "EHCI support for on-chip PMC MSP71xx USB controller" 163 depends on MSP_HAS_USB 164 select USB_EHCI_BIG_ENDIAN_DESC 165 select USB_EHCI_BIG_ENDIAN_MMIO 166 ---help--- 167 Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's. 168 If unsure, say N. 169 170config XPS_USB_HCD_XILINX 171 bool "Use Xilinx usb host EHCI controller core" 172 depends on (PPC32 || MICROBLAZE) 173 select USB_EHCI_BIG_ENDIAN_DESC 174 select USB_EHCI_BIG_ENDIAN_MMIO 175 ---help--- 176 Xilinx xps USB host controller core is EHCI compliant and has 177 transaction translator built-in. It can be configured to either 178 support both high speed and full speed devices, or high speed 179 devices only. 180 181config USB_EHCI_FSL 182 tristate "Support for Freescale on-chip EHCI USB controller" 183 select USB_EHCI_ROOT_HUB_TT 184 ---help--- 185 Variation of ARC USB block used in some Freescale chips. 186 187config USB_EHCI_MXC 188 tristate "Support for Freescale i.MX on-chip EHCI USB controller" 189 depends on ARCH_MXC 190 select USB_EHCI_ROOT_HUB_TT 191 ---help--- 192 Variation of ARC USB block used in some Freescale chips. 193 194config USB_EHCI_HCD_NPCM7XX 195 tristate "Support for Nuvoton NPCM7XX on-chip EHCI USB controller" 196 depends on (USB_EHCI_HCD && ARCH_NPCM7XX) || COMPILE_TEST 197 default y if (USB_EHCI_HCD && ARCH_NPCM7XX) 198 help 199 Enables support for the on-chip EHCI controller on 200 Nuvoton NPCM7XX chips. 201 202config USB_EHCI_HCD_OMAP 203 tristate "EHCI support for OMAP3 and later chips" 204 depends on ARCH_OMAP 205 depends on NOP_USB_XCEIV 206 default y 207 ---help--- 208 Enables support for the on-chip EHCI controller on 209 OMAP3 and later chips. 210 211config USB_EHCI_HCD_ORION 212 tristate "Support for Marvell EBU on-chip EHCI USB controller" 213 depends on USB_EHCI_HCD && (PLAT_ORION || ARCH_MVEBU) 214 default y 215 ---help--- 216 Enables support for the on-chip EHCI controller on Marvell's 217 embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP, 218 Armada 370. This is different from the EHCI implementation 219 on Marvell's mobile PXA and MMP SoC, see "EHCI support for 220 Marvell PXA/MMP USB controller" for those. 221 222config USB_EHCI_HCD_SPEAR 223 tristate "Support for ST SPEAr on-chip EHCI USB controller" 224 depends on USB_EHCI_HCD && PLAT_SPEAR 225 default y 226 ---help--- 227 Enables support for the on-chip EHCI controller on 228 ST SPEAr chips. 229 230config USB_EHCI_HCD_STI 231 tristate "Support for ST STiHxxx on-chip EHCI USB controller" 232 depends on ARCH_STI && OF 233 select GENERIC_PHY 234 select USB_EHCI_HCD_PLATFORM 235 help 236 Enable support for the on-chip EHCI controller found on 237 STMicroelectronics consumer electronics SoC's. 238 239config USB_EHCI_HCD_AT91 240 tristate "Support for Atmel on-chip EHCI USB controller" 241 depends on USB_EHCI_HCD && ARCH_AT91 242 default y 243 ---help--- 244 Enables support for the on-chip EHCI controller on 245 Atmel chips. 246 247config USB_EHCI_TEGRA 248 tristate "NVIDIA Tegra HCD support" 249 depends on ARCH_TEGRA 250 select USB_EHCI_ROOT_HUB_TT 251 select USB_TEGRA_PHY 252 help 253 This driver enables support for the internal USB Host Controllers 254 found in NVIDIA Tegra SoCs. The controllers are EHCI compliant. 255 256config USB_EHCI_HCD_PPC_OF 257 bool "EHCI support for PPC USB controller on OF platform bus" 258 depends on PPC 259 default y 260 ---help--- 261 Enables support for the USB controller present on the PowerPC 262 OpenFirmware platform bus. 263 264config USB_EHCI_SH 265 bool "EHCI support for SuperH USB controller" 266 depends on SUPERH 267 ---help--- 268 Enables support for the on-chip EHCI controller on the SuperH. 269 If you use the PCI EHCI controller, this option is not necessary. 270 271config USB_EHCI_EXYNOS 272 tristate "EHCI support for Samsung S5P/EXYNOS SoC Series" 273 depends on ARCH_S5PV210 || ARCH_EXYNOS 274 help 275 Enable support for the Samsung Exynos SOC's on-chip EHCI controller. 276 277config USB_EHCI_MV 278 tristate "EHCI support for Marvell PXA/MMP USB controller" 279 depends on (ARCH_PXA || ARCH_MMP) 280 select USB_EHCI_ROOT_HUB_TT 281 ---help--- 282 Enables support for Marvell (including PXA and MMP series) on-chip 283 USB SPH and OTG controller. SPH is a single port host, and it can 284 only be EHCI host. OTG is controller that can switch to host mode. 285 Note that this driver will not work on Marvell's other EHCI 286 controller used by the EBU-type SoCs including Orion, Kirkwood, 287 Dova, Armada 370 and Armada XP. See "Support for Marvell EBU 288 on-chip EHCI USB controller" for those. 289 290config USB_W90X900_EHCI 291 tristate "W90X900(W90P910) EHCI support" 292 depends on ARCH_W90X900 293 ---help--- 294 Enables support for the W90X900 USB controller 295 296config USB_CNS3XXX_EHCI 297 bool "Cavium CNS3XXX EHCI Module (DEPRECATED)" 298 depends on ARCH_CNS3XXX 299 select USB_EHCI_HCD_PLATFORM 300 ---help--- 301 This option is deprecated now and the driver was removed, use 302 USB_EHCI_HCD_PLATFORM instead. 303 304 Enable support for the CNS3XXX SOC's on-chip EHCI controller. 305 It is needed for high-speed (480Mbit/sec) USB 2.0 device 306 support. 307 308config USB_EHCI_HCD_PLATFORM 309 tristate "Generic EHCI driver for a platform device" 310 ---help--- 311 Adds an EHCI host driver for a generic platform device, which 312 provides a memory space and an irq. 313 314 If unsure, say N. 315 316config USB_OCTEON_EHCI 317 bool "Octeon on-chip EHCI support (DEPRECATED)" 318 depends on CAVIUM_OCTEON_SOC 319 select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 320 select USB_EHCI_HCD_PLATFORM 321 help 322 This option is deprecated now and the driver was removed, use 323 USB_EHCI_HCD_PLATFORM instead. 324 325 Enable support for the Octeon II SOC's on-chip EHCI 326 controller. It is needed for high-speed (480Mbit/sec) 327 USB 2.0 device support. All CN6XXX based chips with USB are 328 supported. 329 330endif # USB_EHCI_HCD 331 332config USB_OXU210HP_HCD 333 tristate "OXU210HP HCD support" 334 depends on HAS_IOMEM 335 ---help--- 336 The OXU210HP is an USB host/OTG/device controller. Enable this 337 option if your board has this chip. If unsure, say N. 338 339 This driver does not support isochronous transfers and doesn't 340 implement OTG nor USB device controllers. 341 342 To compile this driver as a module, choose M here: the 343 module will be called oxu210hp-hcd. 344 345config USB_ISP116X_HCD 346 tristate "ISP116X HCD support" 347 depends on HAS_IOMEM 348 ---help--- 349 The ISP1160 and ISP1161 chips are USB host controllers. Enable this 350 option if your board has this chip. If unsure, say N. 351 352 This driver does not support isochronous transfers. 353 354 To compile this driver as a module, choose M here: the 355 module will be called isp116x-hcd. 356 357config USB_ISP1362_HCD 358 tristate "ISP1362 HCD support" 359 depends on HAS_IOMEM 360 depends on COMPILE_TEST # nothing uses this 361 ---help--- 362 Supports the Philips ISP1362 chip as a host controller 363 364 This driver does not support isochronous transfers. 365 366 To compile this driver as a module, choose M here: the 367 module will be called isp1362-hcd. 368 369config USB_FOTG210_HCD 370 tristate "FOTG210 HCD support" 371 depends on USB && HAS_DMA && HAS_IOMEM 372 ---help--- 373 Faraday FOTG210 is an OTG controller which can be configured as 374 an USB2.0 host. It is designed to meet USB2.0 EHCI specification 375 with minor modification. 376 377 To compile this driver as a module, choose M here: the 378 module will be called fotg210-hcd. 379 380config USB_MAX3421_HCD 381 tristate "MAX3421 HCD (USB-over-SPI) support" 382 depends on USB && SPI 383 ---help--- 384 The Maxim MAX3421E chip supports standard USB 2.0-compliant 385 full-speed devices either in host or peripheral mode. This 386 driver supports the host-mode of the MAX3421E only. 387 388 To compile this driver as a module, choose M here: the module will 389 be called max3421-hcd. 390 391config USB_OHCI_HCD 392 tristate "OHCI HCD (USB 1.1) support" 393 depends on HAS_DMA && HAS_IOMEM 394 ---help--- 395 The Open Host Controller Interface (OHCI) is a standard for accessing 396 USB 1.1 host controller hardware. It does more in hardware than Intel's 397 UHCI specification. If your USB host controller follows the OHCI spec, 398 say Y. On most non-x86 systems, and on x86 hardware that's not using a 399 USB controller from Intel or VIA, this is appropriate. If your host 400 controller doesn't use PCI, this is probably appropriate. For a PCI 401 based system where you're not sure, the "lspci -v" entry will list the 402 right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI. 403 404 To compile this driver as a module, choose M here: the 405 module will be called ohci-hcd. 406 407if USB_OHCI_HCD 408 409config USB_OHCI_HCD_OMAP1 410 tristate "OHCI support for OMAP1/2 chips" 411 depends on ARCH_OMAP1 412 depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3) 413 default y 414 ---help--- 415 Enables support for the OHCI controller on OMAP1/2 chips. 416 417config USB_OHCI_HCD_SPEAR 418 tristate "Support for ST SPEAr on-chip OHCI USB controller" 419 depends on USB_OHCI_HCD && PLAT_SPEAR 420 default y 421 ---help--- 422 Enables support for the on-chip OHCI controller on 423 ST SPEAr chips. 424 425config USB_OHCI_HCD_STI 426 tristate "Support for ST STiHxxx on-chip OHCI USB controller" 427 depends on ARCH_STI && OF 428 select GENERIC_PHY 429 select USB_OHCI_HCD_PLATFORM 430 help 431 Enable support for the on-chip OHCI controller found on 432 STMicroelectronics consumer electronics SoC's. 433 434config USB_OHCI_HCD_S3C2410 435 tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series" 436 depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX) 437 default y 438 ---help--- 439 Enables support for the on-chip OHCI controller on 440 S3C24xx/S3C64xx chips. 441 442config USB_OHCI_HCD_LPC32XX 443 tristate "Support for LPC on-chip OHCI USB controller" 444 depends on USB_OHCI_HCD && ARCH_LPC32XX 445 depends on USB_ISP1301 446 default y 447 ---help--- 448 Enables support for the on-chip OHCI controller on 449 NXP chips. 450 451config USB_OHCI_HCD_PXA27X 452 tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller" 453 depends on USB_OHCI_HCD && (PXA27x || PXA3xx) 454 default y 455 ---help--- 456 Enables support for the on-chip OHCI controller on 457 PXA27x/PXA3xx chips. 458 459config USB_OHCI_HCD_AT91 460 tristate "Support for Atmel on-chip OHCI USB controller" 461 depends on USB_OHCI_HCD && ARCH_AT91 && OF 462 default y 463 ---help--- 464 Enables support for the on-chip OHCI controller on 465 Atmel chips. 466 467config USB_OHCI_HCD_OMAP3 468 tristate "OHCI support for OMAP3 and later chips" 469 depends on (ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5) 470 select USB_OHCI_HCD_PLATFORM 471 default y 472 help 473 This option is deprecated now and the driver was removed, use 474 USB_OHCI_HCD_PLATFORM instead. 475 476 Enables support for the on-chip OHCI controller on 477 OMAP3 and later chips. 478 479config USB_OHCI_HCD_DAVINCI 480 tristate "OHCI support for TI DaVinci DA8xx" 481 depends on ARCH_DAVINCI_DA8XX 482 depends on USB_OHCI_HCD 483 select PHY_DA8XX_USB 484 default y 485 help 486 Enables support for the DaVinci DA8xx integrated OHCI 487 controller. This driver cannot currently be a loadable 488 module because it lacks a proper PHY abstraction. 489 490config USB_OHCI_HCD_PPC_OF_BE 491 bool "OHCI support for OF platform bus (big endian)" 492 depends on PPC 493 select USB_OHCI_BIG_ENDIAN_DESC 494 select USB_OHCI_BIG_ENDIAN_MMIO 495 ---help--- 496 Enables support for big-endian USB controllers present on the 497 OpenFirmware platform bus. 498 499config USB_OHCI_HCD_PPC_OF_LE 500 bool "OHCI support for OF platform bus (little endian)" 501 depends on PPC 502 select USB_OHCI_LITTLE_ENDIAN 503 ---help--- 504 Enables support for little-endian USB controllers present on the 505 OpenFirmware platform bus. 506 507config USB_OHCI_HCD_PPC_OF 508 bool 509 depends on PPC 510 default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE 511 512config USB_OHCI_HCD_PCI 513 tristate "OHCI support for PCI-bus USB controllers" 514 depends on USB_PCI 515 default y 516 select USB_OHCI_LITTLE_ENDIAN 517 ---help--- 518 Enables support for PCI-bus plug-in USB controller cards. 519 If unsure, say Y. 520 521config USB_OHCI_HCD_SSB 522 bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)" 523 depends on (SSB = y || SSB = USB_OHCI_HCD) 524 select USB_HCD_SSB 525 select USB_OHCI_HCD_PLATFORM 526 ---help--- 527 This option is deprecated now and the driver was removed, use 528 USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead. 529 530 Support for the Sonics Silicon Backplane (SSB) attached 531 Broadcom USB OHCI core. 532 533 This device is present in some embedded devices with 534 Broadcom based SSB bus. 535 536 If unsure, say N. 537 538config USB_OHCI_SH 539 bool "OHCI support for SuperH USB controller (DEPRECATED)" 540 depends on SUPERH 541 select USB_OHCI_HCD_PLATFORM 542 ---help--- 543 This option is deprecated now and the driver was removed, use 544 USB_OHCI_HCD_PLATFORM instead. 545 546 Enables support for the on-chip OHCI controller on the SuperH. 547 If you use the PCI OHCI controller, this option is not necessary. 548 549config USB_OHCI_EXYNOS 550 tristate "OHCI support for Samsung S5P/EXYNOS SoC Series" 551 depends on ARCH_S5PV210 || ARCH_EXYNOS 552 help 553 Enable support for the Samsung Exynos SOC's on-chip OHCI controller. 554 555config USB_CNS3XXX_OHCI 556 bool "Cavium CNS3XXX OHCI Module (DEPRECATED)" 557 depends on ARCH_CNS3XXX 558 select USB_OHCI_HCD_PLATFORM 559 ---help--- 560 This option is deprecated now and the driver was removed, use 561 USB_OHCI_HCD_PLATFORM instead. 562 563 Enable support for the CNS3XXX SOC's on-chip OHCI controller. 564 It is needed for low-speed USB 1.0 device support. 565 566config USB_OHCI_HCD_PLATFORM 567 tristate "Generic OHCI driver for a platform device" 568 ---help--- 569 Adds an OHCI host driver for a generic platform device, which 570 provides a memory space and an irq. 571 572 If unsure, say N. 573 574config USB_OCTEON_OHCI 575 bool "Octeon on-chip OHCI support (DEPRECATED)" 576 depends on CAVIUM_OCTEON_SOC 577 default USB_OCTEON_EHCI 578 select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 579 select USB_OHCI_LITTLE_ENDIAN 580 select USB_OHCI_HCD_PLATFORM 581 help 582 This option is deprecated now and the driver was removed, use 583 USB_OHCI_HCD_PLATFORM instead. 584 585 Enable support for the Octeon II SOC's on-chip OHCI 586 controller. It is needed for low-speed USB 1.0 device 587 support. All CN6XXX based chips with USB are supported. 588 589endif # USB_OHCI_HCD 590 591config USB_UHCI_HCD 592 tristate "UHCI HCD (most Intel and VIA) support" 593 depends on USB_PCI || USB_UHCI_SUPPORT_NON_PCI_HC 594 ---help--- 595 The Universal Host Controller Interface is a standard by Intel for 596 accessing the USB hardware in the PC (which is also called the USB 597 host controller). If your USB host controller conforms to this 598 standard, you may want to say Y, but see below. All recent boards 599 with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX, 600 i810, i820) conform to this standard. Also all VIA PCI chipsets 601 (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro 602 133) and LEON/GRLIB SoCs with the GRUSBHC controller. 603 If unsure, say Y. 604 605 To compile this driver as a module, choose M here: the 606 module will be called uhci-hcd. 607 608config USB_UHCI_SUPPORT_NON_PCI_HC 609 bool 610 default y if (SPARC_LEON || USB_UHCI_PLATFORM) 611 612config USB_UHCI_PLATFORM 613 bool 614 default y if (ARCH_VT8500 || ARCH_ASPEED) 615 616config USB_UHCI_ASPEED 617 bool 618 default y if ARCH_ASPEED 619 620config USB_FHCI_HCD 621 tristate "Freescale QE USB Host Controller support" 622 depends on OF_GPIO && QE_GPIO && QUICC_ENGINE 623 select FSL_GTM 624 select QE_USB 625 help 626 This driver enables support for Freescale QE USB Host Controller 627 (as found on MPC8360 and MPC8323 processors), the driver supports 628 Full and Low Speed USB. 629 630config FHCI_DEBUG 631 bool "Freescale QE USB Host Controller debug support" 632 depends on USB_FHCI_HCD && DEBUG_FS 633 help 634 Say "y" to see some FHCI debug information and statistics 635 through debugfs. 636 637config USB_U132_HCD 638 tristate "Elan U132 Adapter Host Controller" 639 depends on USB_FTDI_ELAN 640 help 641 The U132 adapter is a USB to CardBus adapter specifically designed 642 for PC cards that contain an OHCI host controller. Typical PC cards 643 are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132 644 adapter will *NOT* work with PC cards that do not contain an OHCI 645 controller. 646 647 For those PC cards that contain multiple OHCI controllers only the 648 first one is used. 649 650 The driver consists of two modules, the "ftdi-elan" module is a 651 USB client driver that interfaces to the FTDI chip within ELAN's 652 USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host 653 controller driver that talks to the OHCI controller within the 654 CardBus cards that are inserted in the U132 adapter. 655 656 This driver has been tested with a CardBus OHCI USB adapter, and 657 worked with a USB PEN Drive inserted into the first USB port of 658 the PCCARD. A rather pointless thing to do, but useful for testing. 659 660 It is safe to say M here. 661 662 See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php> 663 664config USB_SL811_HCD 665 tristate "SL811HS HCD support" 666 depends on HAS_IOMEM 667 help 668 The SL811HS is a single-port USB controller that supports either 669 host side or peripheral side roles. Enable this option if your 670 board has this chip, and you want to use it as a host controller. 671 If unsure, say N. 672 673 To compile this driver as a module, choose M here: the 674 module will be called sl811-hcd. 675 676config USB_SL811_HCD_ISO 677 bool "partial ISO support" 678 depends on USB_SL811_HCD 679 help 680 The driver doesn't support iso_frame_desc (yet), but for some simple 681 devices that just queue one ISO frame per URB, then ISO transfers 682 "should" work using the normal urb status fields. 683 684 If unsure, say N. 685 686config USB_SL811_CS 687 tristate "CF/PCMCIA support for SL811HS HCD" 688 depends on USB_SL811_HCD && PCMCIA 689 help 690 Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC 691 REX-CFU1U CF card (often used with PDAs). If unsure, say N. 692 693 To compile this driver as a module, choose M here: the 694 module will be called "sl811_cs". 695 696config USB_R8A66597_HCD 697 tristate "R8A66597 HCD support" 698 depends on HAS_IOMEM 699 help 700 The R8A66597 is a USB 2.0 host and peripheral controller. 701 702 Enable this option if your board has this chip, and you want 703 to use it as a host controller. If unsure, say N. 704 705 To compile this driver as a module, choose M here: the 706 module will be called r8a66597-hcd. 707 708config USB_RENESAS_USBHS_HCD 709 tristate "Renesas USBHS HCD support" 710 depends on USB_RENESAS_USBHS 711 help 712 The Renesas USBHS is a USB 2.0 host and peripheral controller. 713 714 Enable this option if your board has this chip, and you want 715 to use it as a host controller. If unsure, say N. 716 717 To compile this driver as a module, choose M here: the 718 module will be called renesas-usbhs. 719 720config USB_WHCI_HCD 721 tristate "Wireless USB Host Controller Interface (WHCI) driver" 722 depends on USB_PCI && USB && UWB 723 select USB_WUSB 724 select UWB_WHCI 725 help 726 A driver for PCI-based Wireless USB Host Controllers that are 727 compliant with the WHCI specification. 728 729 To compile this driver a module, choose M here: the module 730 will be called "whci-hcd". 731 732config USB_HWA_HCD 733 tristate "Host Wire Adapter (HWA) driver" 734 depends on USB && UWB 735 select USB_WUSB 736 select UWB_HWA 737 help 738 This driver enables you to connect Wireless USB devices to 739 your system using a Host Wire Adaptor USB dongle. This is an 740 UWB Radio Controller and WUSB Host Controller connected to 741 your machine via USB (specified in WUSB1.0). 742 743 To compile this driver a module, choose M here: the module 744 will be called "hwa-hc". 745 746config USB_IMX21_HCD 747 tristate "i.MX21 HCD support" 748 depends on ARM && ARCH_MXC 749 help 750 This driver enables support for the on-chip USB host in the 751 i.MX21 processor. 752 753 To compile this driver as a module, choose M here: the 754 module will be called "imx21-hcd". 755 756config USB_HCD_BCMA 757 tristate "BCMA usb host driver" 758 depends on BCMA 759 select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD 760 select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD 761 help 762 Enable support for the EHCI and OCHI host controller on an bcma bus. 763 It converts the bcma driver into two platform device drivers 764 for ehci and ohci. 765 766 If unsure, say N. 767 768config USB_HCD_SSB 769 tristate "SSB usb host driver" 770 depends on SSB 771 select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD 772 select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD 773 help 774 Enable support for the EHCI and OCHI host controller on an bcma bus. 775 It converts the bcma driver into two platform device drivers 776 for ehci and ohci. 777 778 If unsure, say N. 779 780config USB_HCD_TEST_MODE 781 bool "HCD test mode support" 782 ---help--- 783 Say 'Y' to enable additional software test modes that may be 784 supported by the host controller drivers. 785 786 One such test mode is the Embedded High-speed Host Electrical Test 787 (EHSET) for EHCI host controller hardware, specifically the "Single 788 Step Set Feature" test. Typically this will be enabled for On-the-Go 789 or embedded hosts that need to undergo USB-IF compliance testing with 790 the aid of special testing hardware. In the future, this may expand 791 to include other tests that require support from a HCD driver. 792 793 This option is of interest only to developers who need to validate 794 their USB hardware designs. It is not needed for normal use. If 795 unsure, say N. 796