Kconfig 26 KB

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