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