Kconfig 23 KB

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