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 USB_EHCI_DEVIANT_PORT_STATUS_REG 215 bool 216 # Used for hosts with a deviant port status register location 217 218config USB_EHCI_PORT_RESET_HOOKS 219 bool 220 # Used for hosts with controller-specific port reset sequencing 221 222config USB_EHCI_PORT_SPEED_HOOK 223 bool 224 depends on USB_EHCI_ROOT_HUB_TT 225 # Used for hosts with controller-specific port speed reporting 226 227config XPS_USB_HCD_XILINX 228 bool "Use Xilinx usb host EHCI controller core" 229 depends on (PPC32 || MICROBLAZE) 230 select USB_EHCI_BIG_ENDIAN_DESC 231 select USB_EHCI_BIG_ENDIAN_MMIO 232 help 233 Xilinx xps USB host controller core is EHCI compliant and has 234 transaction translator built-in. It can be configured to either 235 support both high speed and full speed devices, or high speed 236 devices only. 237 238config USB_EHCI_FSL 239 tristate "Support for Freescale on-chip EHCI USB controller" 240 select USB_EHCI_ROOT_HUB_TT 241 help 242 Variation of ARC USB block used in some Freescale chips. 243 244config USB_EHCI_HCD_NPCM7XX 245 tristate "Support for Nuvoton NPCM on-chip EHCI USB controller" 246 depends on (USB_EHCI_HCD && ARCH_NPCM) || COMPILE_TEST 247 default y if (USB_EHCI_HCD && ARCH_NPCM) 248 help 249 Enables support for the on-chip EHCI controller on 250 Nuvoton NPCM chips. 251 252config USB_EHCI_HCD_OMAP 253 tristate "EHCI support for OMAP3 and later chips" 254 depends on ARCH_OMAP || COMPILE_TEST 255 depends on NOP_USB_XCEIV 256 default ARCH_OMAP 257 help 258 Enables support for the on-chip EHCI controller on 259 OMAP3 and later chips. 260 261config USB_EHCI_HCD_ORION 262 tristate "Support for Marvell EBU on-chip EHCI USB controller" 263 depends on USB_EHCI_HCD && (PLAT_ORION || ARCH_MVEBU || COMPILE_TEST) 264 default y if (PLAT_ORION || ARCH_MVEBU) 265 help 266 Enables support for the on-chip EHCI controller on Marvell's 267 embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP, 268 Armada 370. This is different from the EHCI implementation 269 on Marvell's mobile PXA and MMP SoC, see "EHCI support for 270 Marvell PXA/MMP USB controller" for those. 271 272config USB_EHCI_HCD_SPEAR 273 tristate "Support for ST SPEAr on-chip EHCI USB controller" 274 depends on USB_EHCI_HCD && (PLAT_SPEAR || COMPILE_TEST) 275 default y if PLAT_SPEAR 276 help 277 Enables support for the on-chip EHCI controller on 278 ST SPEAr chips. 279 280config USB_EHCI_HCD_STI 281 tristate "Support for ST STiHxxx on-chip EHCI USB controller" 282 depends on (ARCH_STI || COMPILE_TEST) && OF 283 select GENERIC_PHY 284 select USB_EHCI_HCD_PLATFORM 285 help 286 Enable support for the on-chip EHCI controller found on 287 STMicroelectronics consumer electronics SoC's. 288 289config USB_EHCI_HCD_AT91 290 tristate "Support for Atmel on-chip EHCI USB controller" 291 depends on USB_EHCI_HCD && (ARCH_AT91 || COMPILE_TEST) 292 default y if ARCH_AT91 293 help 294 Enables support for the on-chip EHCI controller on 295 Atmel chips. 296 297config USB_EHCI_TEGRA 298 tristate "NVIDIA Tegra HCD support" 299 depends on ARCH_TEGRA 300 select USB_CHIPIDEA 301 select USB_CHIPIDEA_HOST 302 select USB_CHIPIDEA_TEGRA 303 select USB_GADGET 304 help 305 This option is deprecated now and the driver was removed, use 306 USB_CHIPIDEA_TEGRA instead. 307 308 Enable support for the internal USB Host Controllers 309 found in NVIDIA Tegra SoCs. The controllers are EHCI compliant. 310 311config USB_EHCI_HCD_PPC_OF 312 bool "EHCI support for PPC USB controller on OF platform bus" 313 depends on PPC 314 default y 315 help 316 Enables support for the USB controller present on the PowerPC 317 OpenFirmware platform bus. 318 319config USB_EHCI_SH 320 bool "EHCI support for SuperH USB controller" 321 depends on SUPERH || COMPILE_TEST 322 help 323 Enables support for the on-chip EHCI controller on the SuperH. 324 If you use the PCI EHCI controller, this option is not necessary. 325 326config USB_EHCI_EXYNOS 327 tristate "EHCI support for Samsung S5P/Exynos SoC Series" 328 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST 329 help 330 Enable support for the Samsung S5Pv210 and Exynos SOC's on-chip EHCI 331 controller. 332 333config USB_EHCI_MV 334 tristate "EHCI support for Marvell PXA/MMP USB controller" 335 depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST 336 select USB_EHCI_ROOT_HUB_TT 337 help 338 Enables support for Marvell (including PXA and MMP series) on-chip 339 USB SPH and OTG controller. SPH is a single port host, and it can 340 only be EHCI host. OTG is controller that can switch to host mode. 341 Note that this driver will not work on Marvell's other EHCI 342 controller used by the EBU-type SoCs including Orion, Kirkwood, 343 Dova, Armada 370 and Armada XP. See "Support for Marvell EBU 344 on-chip EHCI USB controller" for those. 345 346config USB_OCTEON_HCD 347 tristate "Cavium Networks Octeon USB support" 348 depends on CAVIUM_OCTEON_SOC && USB 349 help 350 This driver supports USB host controller on some Cavium 351 Networks' products in the Octeon family. 352 353 To compile this driver as a module, choose M here. The module 354 will be called octeon-hcd. 355 356config USB_EHCI_HCD_PLATFORM 357 tristate "Generic EHCI driver for a platform device" 358 help 359 Adds an EHCI host driver for a generic platform device, which 360 provides a memory space and an irq. 361 362 If unsure, say N. 363 364config USB_OCTEON_EHCI 365 bool "Octeon on-chip EHCI support (DEPRECATED)" 366 depends on CAVIUM_OCTEON_SOC 367 select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 368 select USB_EHCI_HCD_PLATFORM 369 help 370 This option is deprecated now and the driver was removed, use 371 USB_EHCI_HCD_PLATFORM instead. 372 373 Enable support for the Octeon II SOC's on-chip EHCI 374 controller. It is needed for high-speed (480Mbit/sec) 375 USB 2.0 device support. All CN6XXX based chips with USB are 376 supported. 377 378endif # USB_EHCI_HCD 379 380config USB_OXU210HP_HCD 381 tristate "OXU210HP HCD support" 382 depends on HAS_IOMEM 383 help 384 The OXU210HP is an USB host/OTG/device controller. Enable this 385 option if your board has this chip. If unsure, say N. 386 387 This driver does not support isochronous transfers and doesn't 388 implement OTG nor USB device controllers. 389 390 To compile this driver as a module, choose M here: the 391 module will be called oxu210hp-hcd. 392 393config USB_ISP116X_HCD 394 tristate "ISP116X HCD support" 395 depends on HAS_IOMEM 396 help 397 The ISP1160 and ISP1161 chips are USB host controllers. Enable this 398 option if your board has this chip. If unsure, say N. 399 400 This driver does not support isochronous transfers. 401 402 To compile this driver as a module, choose M here: the 403 module will be called isp116x-hcd. 404 405config USB_MAX3421_HCD 406 tristate "MAX3421 HCD (USB-over-SPI) support" 407 depends on USB && SPI 408 help 409 The Maxim MAX3421E chip supports standard USB 2.0-compliant 410 full-speed devices either in host or peripheral mode. This 411 driver supports the host-mode of the MAX3421E only. 412 413 To compile this driver as a module, choose M here: the module will 414 be called max3421-hcd. 415 416config USB_OHCI_HCD 417 tristate "OHCI HCD (USB 1.1) support" 418 depends on HAS_DMA && HAS_IOMEM 419 help 420 The Open Host Controller Interface (OHCI) is a standard for accessing 421 USB 1.1 host controller hardware. It does more in hardware than Intel's 422 UHCI specification. If your USB host controller follows the OHCI spec, 423 say Y. On most non-x86 systems, and on x86 hardware that's not using a 424 USB controller from Intel or VIA, this is appropriate. If your host 425 controller doesn't use PCI, this is probably appropriate. For a PCI 426 based system where you're not sure, the "lspci -v" entry will list the 427 right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI. 428 429 To compile this driver as a module, choose M here: the 430 module will be called ohci-hcd. 431 432if USB_OHCI_HCD 433 434config USB_OHCI_HCD_OMAP1 435 tristate "OHCI support for OMAP1/2 chips" 436 depends on ARCH_OMAP1 437 default y 438 help 439 Enables support for the OHCI controller on OMAP1/2 chips. 440 441config USB_OHCI_HCD_SPEAR 442 tristate "Support for ST SPEAr on-chip OHCI USB controller" 443 depends on USB_OHCI_HCD && (PLAT_SPEAR || COMPILE_TEST) 444 default y if PLAT_SPEAR 445 help 446 Enables support for the on-chip OHCI controller on 447 ST SPEAr chips. 448 449config USB_OHCI_HCD_STI 450 tristate "Support for ST STiHxxx on-chip OHCI USB controller" 451 depends on (ARCH_STI || COMPILE_TEST) && OF 452 select GENERIC_PHY 453 select USB_OHCI_HCD_PLATFORM 454 help 455 Enable support for the on-chip OHCI controller found on 456 STMicroelectronics consumer electronics SoC's. 457 458config USB_OHCI_HCD_S3C2410 459 tristate "OHCI support for Samsung S3C64xx SoC series" 460 depends on USB_OHCI_HCD && (ARCH_S3C64XX || COMPILE_TEST) 461 default ARCH_S3C64XX 462 help 463 Enables support for the on-chip OHCI controller on 464 S3C64xx chips. 465 466config USB_OHCI_HCD_LPC32XX 467 tristate "Support for LPC on-chip OHCI USB controller" 468 depends on USB_OHCI_HCD 469 depends on ARCH_LPC32XX || COMPILE_TEST 470 depends on USB_ISP1301 471 default y 472 help 473 Enables support for the on-chip OHCI controller on 474 NXP chips. 475 476config USB_OHCI_HCD_PXA27X 477 tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller" 478 depends on USB_OHCI_HCD && (PXA27x || PXA3xx) 479 default y 480 help 481 Enables support for the on-chip OHCI controller on 482 PXA27x/PXA3xx chips. 483 484config USB_OHCI_HCD_AT91 485 tristate "Support for Atmel on-chip OHCI USB controller" 486 depends on USB_OHCI_HCD && (ARCH_AT91 || COMPILE_TEST) && OF 487 default y if ARCH_AT91 488 help 489 Enables support for the on-chip OHCI controller on 490 Atmel chips. 491 492config USB_OHCI_HCD_OMAP3 493 tristate "OHCI support for OMAP3 and later chips" 494 depends on ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST 495 select USB_OHCI_HCD_PLATFORM 496 default y if ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5 497 help 498 This option is deprecated now and the driver was removed, use 499 USB_OHCI_HCD_PLATFORM instead. 500 501 Enables support for the on-chip OHCI controller on 502 OMAP3 and later chips. 503 504config USB_OHCI_HCD_DAVINCI 505 tristate "OHCI support for TI DaVinci DA8xx" 506 depends on ARCH_DAVINCI_DA8XX || COMPILE_TEST 507 depends on USB_OHCI_HCD 508 select PHY_DA8XX_USB 509 default y if ARCH_DAVINCI_DA8XX 510 help 511 Enables support for the DaVinci DA8xx integrated OHCI 512 controller. This driver cannot currently be a loadable 513 module because it lacks a proper PHY abstraction. 514 515config USB_OHCI_HCD_PPC_OF_BE 516 bool "OHCI support for OF platform bus (big endian)" 517 depends on PPC 518 select USB_OHCI_BIG_ENDIAN_DESC 519 select USB_OHCI_BIG_ENDIAN_MMIO 520 help 521 Enables support for big-endian USB controllers present on the 522 OpenFirmware platform bus. 523 524config USB_OHCI_HCD_PPC_OF_LE 525 bool "OHCI support for OF platform bus (little endian)" 526 depends on PPC 527 select USB_OHCI_LITTLE_ENDIAN 528 help 529 Enables support for little-endian USB controllers present on the 530 OpenFirmware platform bus. 531 532config USB_OHCI_HCD_PPC_OF 533 bool 534 depends on PPC 535 default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE 536 537config USB_OHCI_HCD_PCI 538 tristate "OHCI support for PCI-bus USB controllers" 539 depends on USB_PCI 540 default y 541 select USB_OHCI_LITTLE_ENDIAN 542 help 543 Enables support for PCI-bus plug-in USB controller cards. 544 If unsure, say Y. 545 546config USB_OHCI_HCD_SSB 547 bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)" 548 depends on (SSB = y || SSB = USB_OHCI_HCD) 549 select USB_HCD_SSB 550 select USB_OHCI_HCD_PLATFORM 551 help 552 This option is deprecated now and the driver was removed, use 553 USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead. 554 555 Support for the Sonics Silicon Backplane (SSB) attached 556 Broadcom USB OHCI core. 557 558 This device is present in some embedded devices with 559 Broadcom based SSB bus. 560 561 If unsure, say N. 562 563config USB_OHCI_EXYNOS 564 tristate "OHCI support for Samsung S5P/Exynos SoC Series" 565 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST 566 help 567 Enable support for the Samsung S5Pv210 and Exynos SOC's on-chip OHCI 568 controller. 569 570config USB_OHCI_HCD_PLATFORM 571 tristate "Generic OHCI driver for a platform device" 572 help 573 Adds an OHCI host driver for a generic platform device, which 574 provides a memory space and an irq. 575 576 If unsure, say N. 577 578config USB_OCTEON_OHCI 579 bool "Octeon on-chip OHCI support (DEPRECATED)" 580 depends on CAVIUM_OCTEON_SOC 581 default USB_OCTEON_EHCI 582 select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 583 select USB_OHCI_LITTLE_ENDIAN 584 select USB_OHCI_HCD_PLATFORM 585 help 586 This option is deprecated now and the driver was removed, use 587 USB_OHCI_HCD_PLATFORM instead. 588 589 Enable support for the Octeon II SOC's on-chip OHCI 590 controller. It is needed for low-speed USB 1.0 device 591 support. All CN6XXX based chips with USB are supported. 592 593endif # USB_OHCI_HCD 594 595config USB_UHCI_HCD 596 tristate "UHCI HCD (most Intel and VIA) support" 597 depends on (USB_PCI && HAS_IOPORT) || USB_UHCI_SUPPORT_NON_PCI_HC 598 help 599 The Universal Host Controller Interface is a standard by Intel for 600 accessing the USB hardware in the PC (which is also called the USB 601 host controller). If your USB host controller conforms to this 602 standard, you may want to say Y, but see below. All recent boards 603 with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX, 604 i810, i820) conform to this standard. Also all VIA PCI chipsets 605 (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro 606 133) and LEON/GRLIB SoCs with the GRUSBHC controller. 607 If unsure, say Y. 608 609 To compile this driver as a module, choose M here: the 610 module will be called uhci-hcd. 611 612config USB_UHCI_SUPPORT_NON_PCI_HC 613 bool 614 default y if (SPARC_LEON || USB_UHCI_PLATFORM) 615 616config USB_UHCI_PLATFORM 617 bool 618 default y if (ARCH_VT8500 || ARCH_ASPEED) 619 620config USB_UHCI_ASPEED 621 bool 622 default y if ARCH_ASPEED 623 624config USB_FHCI_HCD 625 tristate "Freescale QE USB Host Controller support" 626 depends on QE_GPIO && QUICC_ENGINE 627 depends on PPC 628 select FSL_GTM 629 select QE_USB 630 help 631 This driver enables support for Freescale QE USB Host Controller 632 (as found on MPC8360 and MPC8323 processors), the driver supports 633 Full and Low Speed USB. 634 635config FHCI_DEBUG 636 bool "Freescale QE USB Host Controller debug support" 637 depends on USB_FHCI_HCD && DEBUG_FS 638 help 639 Say "y" to see some FHCI debug information and statistics 640 through debugfs. 641 642config USB_SL811_HCD 643 tristate "SL811HS HCD support" 644 depends on HAS_IOMEM 645 help 646 The SL811HS is a single-port USB controller that supports either 647 host side or peripheral side roles. Enable this option if your 648 board has this chip, and you want to use it as a host controller. 649 If unsure, say N. 650 651 To compile this driver as a module, choose M here: the 652 module will be called sl811-hcd. 653 654config USB_SL811_HCD_ISO 655 bool "partial ISO support" 656 depends on USB_SL811_HCD 657 help 658 The driver doesn't support iso_frame_desc (yet), but for some simple 659 devices that just queue one ISO frame per URB, then ISO transfers 660 "should" work using the normal urb status fields. 661 662 If unsure, say N. 663 664config USB_SL811_CS 665 tristate "CF/PCMCIA support for SL811HS HCD" 666 depends on USB_SL811_HCD && PCMCIA 667 help 668 Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC 669 REX-CFU1U CF card (often used with PDAs). If unsure, say N. 670 671 To compile this driver as a module, choose M here: the 672 module will be called "sl811_cs". 673 674config USB_R8A66597_HCD 675 tristate "R8A66597 HCD support" 676 depends on HAS_IOMEM 677 help 678 The R8A66597 is a USB 2.0 host and peripheral controller. 679 680 Enable this option if your board has this chip, and you want 681 to use it as a host controller. If unsure, say N. 682 683 To compile this driver as a module, choose M here: the 684 module will be called r8a66597-hcd. 685 686config USB_RENESAS_USBHS_HCD 687 tristate "Renesas USBHS HCD support" 688 depends on USB_RENESAS_USBHS 689 help 690 The Renesas USBHS is a USB 2.0 host and peripheral controller. 691 692 Enable this option if your board has this chip, and you want 693 to use it as a host controller. If unsure, say N. 694 695 To compile this driver as a module, choose M here: the 696 module will be called renesas-usbhs. 697 698config USB_HCD_BCMA 699 tristate "BCMA usb host driver" 700 depends on BCMA 701 select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD 702 select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD 703 help 704 Enable support for the EHCI and OCHI host controller on an bcma bus. 705 It converts the bcma driver into two platform device drivers 706 for ehci and ohci. 707 708 If unsure, say N. 709 710config USB_HCD_SSB 711 tristate "SSB usb host driver" 712 depends on SSB 713 select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD 714 select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD 715 help 716 Enable support for the EHCI and OCHI host controller on an bcma bus. 717 It converts the bcma driver into two platform device drivers 718 for ehci and ohci. 719 720 If unsure, say N. 721 722config USB_HCD_TEST_MODE 723 bool "HCD test mode support" 724 help 725 Say 'Y' to enable additional software test modes that may be 726 supported by the host controller drivers. 727 728 One such test mode is the Embedded High-speed Host Electrical Test 729 (EHSET) for EHCI host controller hardware, specifically the "Single 730 Step Set Feature" test. Typically this will be enabled for On-the-Go 731 or embedded hosts that need to undergo USB-IF compliance testing with 732 the aid of special testing hardware. In the future, this may expand 733 to include other tests that require support from a HCD driver. 734 735 This option is of interest only to developers who need to validate 736 their USB hardware designs. It is not needed for normal use. If 737 unsure, say N. 738 739config USB_XEN_HCD 740 tristate "Xen usb virtual host driver" 741 depends on XEN 742 select XEN_XENBUS_FRONTEND 743 help 744 The Xen usb virtual host driver serves as a frontend driver enabling 745 a Xen guest system to access USB Devices passed through to the guest 746 by the Xen host (usually Dom0). 747 Only needed if the kernel is running in a Xen guest and generic 748 access to a USB device is needed. 749