Kconfig 26 KB

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