blob: 82800a775501bae2506d4ad259ca448c2926697c [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# USB Host Controller Drivers
3#
4comment "USB Host Controller Drivers"
Linus Torvalds1da177e2005-04-16 15:20:36 -07005
Peter Korsgaarde9b29ff2008-04-27 08:59:45 +02006config USB_C67X00_HCD
7 tristate "Cypress C67x00 HCD support"
Peter Korsgaarde9b29ff2008-04-27 08:59:45 +02008 help
9 The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role
10 host/peripheral/OTG USB controllers.
11
12 Enable this option to support this chip in host controller mode.
13 If unsure, say N.
14
15 To compile this driver as a module, choose M here: the
16 module will be called c67x00.
17
Sarah Sharpeb6bab12009-04-29 19:07:13 -070018config USB_XHCI_HCD
Greg Kroah-Hartmaneb83be92012-09-14 21:15:50 -070019 tristate "xHCI HCD (USB 3.0) support"
Sarah Sharpeb6bab12009-04-29 19:07:13 -070020 ---help---
21 The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
22 "SuperSpeed" host controller hardware.
23
24 To compile this driver as a module, choose M here: the
25 module will be called xhci-hcd.
26
Florian Fainelli0fcb9982013-04-09 14:29:29 +020027if USB_XHCI_HCD
28
Sebastian Andrzej Siewior3429e912012-03-13 16:57:41 +020029config USB_XHCI_PLATFORM
30 tristate
Sebastian Andrzej Siewior3429e912012-03-13 16:57:41 +020031
Gregory CLEMENT97374792014-05-15 12:17:33 +020032config USB_XHCI_MVEBU
33 tristate "xHCI support for Marvell Armada 375/38x"
34 select USB_XHCI_PLATFORM
35 depends on ARCH_MVEBU || COMPILE_TEST
36 ---help---
37 Say 'Y' to enable the support for the xHCI host controller
38 found in Marvell Armada 375/38x ARM SOCs.
39
Yoshihiro Shimoda4ac89182014-07-09 10:08:52 +090040config USB_XHCI_RCAR
41 tristate "xHCI support for Renesas R-Car SoCs"
42 select USB_XHCI_PLATFORM
43 depends on ARCH_SHMOBILE || COMPILE_TEST
44 ---help---
45 Say 'Y' to enable the support for the xHCI host controller
46 found in Renesas R-Car ARM SoCs.
47
Florian Fainelli0fcb9982013-04-09 14:29:29 +020048endif # USB_XHCI_HCD
49
Linus Torvalds1da177e2005-04-16 15:20:36 -070050config USB_EHCI_HCD
51 tristate "EHCI HCD (USB 2.0) support"
Linus Torvalds1da177e2005-04-16 15:20:36 -070052 ---help---
53 The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
54 "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
55 If your USB host controller supports USB 2.0, you will likely want to
Thierry Vignaudb967c882009-02-11 13:31:05 -080056 configure this Host Controller Driver.
Linus Torvalds1da177e2005-04-16 15:20:36 -070057
58 EHCI controllers are packaged with "companion" host controllers (OHCI
59 or UHCI) to handle USB 1.1 devices connected to root hub ports. Ports
Jesper Juhlb3c29d82006-01-10 00:35:22 +010060 will connect to EHCI if the device is high speed, otherwise they
Linus Torvalds1da177e2005-04-16 15:20:36 -070061 connect to a companion controller. If you configure EHCI, you should
62 probably configure the OHCI (for NEC and some other vendors) USB Host
63 Controller Driver or UHCI (for Via motherboards) Host Controller
64 Driver too.
65
66 You may want to read <file:Documentation/usb/ehci.txt>.
67
68 To compile this driver as a module, choose M here: the
69 module will be called ehci-hcd.
70
Linus Torvalds1da177e2005-04-16 15:20:36 -070071config USB_EHCI_ROOT_HUB_TT
Robert P. J. Day9ec249a2008-03-08 03:27:44 -050072 bool "Root Hub Transaction Translators"
Peter Chena746c282013-09-17 12:37:18 +080073 depends on USB_EHCI_HCD
Linus Torvalds1da177e2005-04-16 15:20:36 -070074 ---help---
75 Some EHCI chips have vendor-specific extensions to integrate
76 transaction translators, so that no OHCI or UHCI companion
77 controller is needed. It's safe to say "y" even if your
78 controller doesn't support this feature.
79
Dan Streetmanba47f662006-05-24 09:39:16 -070080 This supports the EHCI implementation that's originally
81 from ARC, and has since changed hands a few times.
82
83config USB_EHCI_TT_NEWSCHED
Alan Stern37cd6812010-05-21 17:08:21 -040084 bool "Improved Transaction Translator scheduling"
Peter Chena746c282013-09-17 12:37:18 +080085 depends on USB_EHCI_HCD
Alan Stern37cd6812010-05-21 17:08:21 -040086 default y
Dan Streetmanba47f662006-05-24 09:39:16 -070087 ---help---
88 This changes the periodic scheduling code to fill more of the low
89 and full speed bandwidth available from the Transaction Translator
90 (TT) in USB 2.0 hubs. Without this, only one transfer will be
91 issued in each microframe, significantly reducing the number of
92 periodic low/fullspeed transfers possible.
93
94 If you have multiple periodic low/fullspeed devices connected to a
95 highspeed USB hub which is connected to a highspeed USB Host
96 Controller, and some of those devices will not work correctly
Alan Stern37cd6812010-05-21 17:08:21 -040097 (possibly due to "ENOSPC" or "-28" errors), say Y. Conversely, if
98 you have only one such device and it doesn't work, you could try
99 saying N.
Dan Streetmanba47f662006-05-24 09:39:16 -0700100
Alan Stern37cd6812010-05-21 17:08:21 -0400101 If unsure, say Y.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700102
Florian Fainelli42443dc2013-04-09 14:29:27 +0200103config USB_FSL_MPH_DR_OF
104 tristate
105
106if USB_EHCI_HCD
107
Alan Sternadfa79d2012-11-01 11:13:04 -0400108config USB_EHCI_PCI
109 tristate
Florian Fainelli42443dc2013-04-09 14:29:27 +0200110 depends on PCI
Alan Sternadfa79d2012-11-01 11:13:04 -0400111 default y
112
Anoop22ced6872011-02-24 19:26:28 +0530113config USB_EHCI_HCD_PMC_MSP
114 tristate "EHCI support for on-chip PMC MSP71xx USB controller"
Florian Fainelli42443dc2013-04-09 14:29:27 +0200115 depends on MSP_HAS_USB
Anoop22ced6872011-02-24 19:26:28 +0530116 default n
117 select USB_EHCI_BIG_ENDIAN_DESC
118 select USB_EHCI_BIG_ENDIAN_MMIO
119 ---help---
120 Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's.
121 If unsure, say N.
122
Julie Zhu08d3c182009-09-21 16:08:19 -0600123config XPS_USB_HCD_XILINX
124 bool "Use Xilinx usb host EHCI controller core"
Florian Fainelli42443dc2013-04-09 14:29:27 +0200125 depends on (PPC32 || MICROBLAZE)
Julie Zhu08d3c182009-09-21 16:08:19 -0600126 select USB_EHCI_BIG_ENDIAN_DESC
127 select USB_EHCI_BIG_ENDIAN_MMIO
128 ---help---
129 Xilinx xps USB host controller core is EHCI compilant and has
130 transaction translator built-in. It can be configured to either
131 support both high speed and full speed devices, or high speed
132 devices only.
133
Li Yangba029782007-05-11 17:09:55 +0800134config USB_EHCI_FSL
Fabio Estevamc0ca9bc2012-02-02 14:23:34 -0200135 bool "Support for Freescale PPC on-chip EHCI USB controller"
Florian Fainelli42443dc2013-04-09 14:29:27 +0200136 depends on FSL_SOC
Li Yangba029782007-05-11 17:09:55 +0800137 select USB_EHCI_ROOT_HUB_TT
Marc Kleine-Budde018b97d2010-10-29 11:04:49 +0200138 select USB_FSL_MPH_DR_OF if OF
Li Yangba029782007-05-11 17:09:55 +0800139 ---help---
140 Variation of ARC USB block used in some Freescale chips.
141
Daniel Mack7e8d5cd2009-10-28 01:14:59 +0100142config USB_EHCI_MXC
Alan Sterndba63b22013-01-23 13:26:15 -0500143 tristate "Support for Freescale i.MX on-chip EHCI USB controller"
Florian Fainelli42443dc2013-04-09 14:29:27 +0200144 depends on ARCH_MXC
Daniel Mack7e8d5cd2009-10-28 01:14:59 +0100145 select USB_EHCI_ROOT_HUB_TT
146 ---help---
147 Variation of ARC USB block used in some Freescale chips.
148
Keshava Munegowda7f124f42010-11-21 23:23:41 +0530149config USB_EHCI_HCD_OMAP
Alan Stern54a419662013-03-12 12:44:39 +0200150 tristate "EHCI support for OMAP3 and later chips"
Florian Fainelli42443dc2013-04-09 14:29:27 +0200151 depends on ARCH_OMAP
Roger Quadros88650d62013-06-14 12:51:42 +0300152 select NOP_USB_XCEIV
Keshava Munegowda7f124f42010-11-21 23:23:41 +0530153 default y
Paul Bolled132d7f2012-05-07 11:14:59 +0200154 ---help---
Keshava Munegowda7f124f42010-11-21 23:23:41 +0530155 Enables support for the on-chip EHCI controller on
156 OMAP3 and later chips.
157
Manjunath Goudara76dd462013-04-02 18:23:59 +0200158config 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
Manjunath Goudar7675d6b2013-04-02 18:24:00 +0200169config USB_EHCI_HCD_SPEAR
170 tristate "Support for ST SPEAr on-chip EHCI USB controller"
171 depends on USB_EHCI_HCD && PLAT_SPEAR
172 default y
173 ---help---
174 Enables support for the on-chip EHCI controller on
175 ST SPEAr chips.
176
Manjunath Goudar97736962013-04-02 18:24:02 +0200177config USB_EHCI_HCD_AT91
178 tristate "Support for Atmel on-chip EHCI USB controller"
179 depends on USB_EHCI_HCD && ARCH_AT91
180 default y
181 ---help---
182 Enables support for the on-chip EHCI controller on
183 Atmel chips.
184
Pavankumar Kondetib0848ae2010-12-07 17:53:56 +0530185config USB_EHCI_MSM
Manjunath Goudar8c68e842013-04-02 18:24:03 +0200186 tristate "Support for Qualcomm QSD/MSM on-chip EHCI USB controller"
Srinivas Kandagatla8ae587e2014-06-30 18:29:34 +0100187 depends on ARCH_MSM || ARCH_QCOM
Pavankumar Kondetib0848ae2010-12-07 17:53:56 +0530188 select USB_EHCI_ROOT_HUB_TT
Pavankumar Kondetib0848ae2010-12-07 17:53:56 +0530189 ---help---
190 Enables support for the USB Host controller present on the
191 Qualcomm chipsets. Root Hub has inbuilt TT.
192 This driver depends on OTG driver for PHY initialization,
Pavankumar Kondeti8bb6a162010-12-07 17:53:57 +0530193 clock management, powering up VBUS, and power management.
Pavankumar Kondeti8cf28f12011-02-04 10:08:18 +0530194 This driver is not supported on boards like trout which
195 has an external PHY.
Pavankumar Kondetib0848ae2010-12-07 17:53:56 +0530196
Benoit Goby79ad3b52011-03-09 16:28:56 -0800197config USB_EHCI_TEGRA
Manjunath Goudar9fc5f242013-06-13 11:24:12 -0600198 tristate "NVIDIA Tegra HCD support"
Florian Fainelli42443dc2013-04-09 14:29:27 +0200199 depends on ARCH_TEGRA
Benoit Goby79ad3b52011-03-09 16:28:56 -0800200 select USB_EHCI_ROOT_HUB_TT
Felipe Balbi75f32ec2013-03-20 14:18:28 +0200201 select USB_PHY
Benoit Goby79ad3b52011-03-09 16:28:56 -0800202 help
203 This driver enables support for the internal USB Host Controllers
204 found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.
205
Valentine Barshakda0e8fb2007-12-30 15:28:50 -0800206config USB_EHCI_HCD_PPC_OF
207 bool "EHCI support for PPC USB controller on OF platform bus"
Florian Fainelli42443dc2013-04-09 14:29:27 +0200208 depends on PPC_OF
Valentine Barshakda0e8fb2007-12-30 15:28:50 -0800209 default y
210 ---help---
211 Enables support for the USB controller present on the PowerPC
212 OpenFirmware platform bus.
213
Yoshihiro Shimoda60b0bf02011-03-01 16:58:37 +0900214config USB_EHCI_SH
215 bool "EHCI support for SuperH USB controller"
Florian Fainelli42443dc2013-04-09 14:29:27 +0200216 depends on SUPERH
Yoshihiro Shimoda60b0bf02011-03-01 16:58:37 +0900217 ---help---
218 Enables support for the on-chip EHCI controller on the SuperH.
219 If you use the PCI EHCI controller, this option is not necessary.
220
Jingoo Han29824c12013-10-10 16:42:47 +0900221config USB_EHCI_EXYNOS
Manjunath Goudar7edb3da2013-04-02 18:24:01 +0200222 tristate "EHCI support for Samsung S5P/EXYNOS SoC Series"
Tomasz Figa58d5b722013-06-19 01:25:48 +0900223 depends on PLAT_S5P || ARCH_EXYNOS
Greg Kroah-Hartmane9a92b22013-02-20 10:25:05 -0800224 help
Jingoo Han29824c12013-10-10 16:42:47 +0900225 Enable support for the Samsung Exynos SOC's on-chip EHCI controller.
Joonyoung Shim1bcc5aa2011-04-08 14:08:50 +0900226
Neil Zhang3a082ec2011-12-20 13:20:23 +0800227config USB_EHCI_MV
Manjunath Goudara76dd462013-04-02 18:23:59 +0200228 bool "EHCI support for Marvell PXA/MMP USB controller"
Florian Fainelli42443dc2013-04-09 14:29:27 +0200229 depends on (ARCH_PXA || ARCH_MMP)
Neil Zhang3a082ec2011-12-20 13:20:23 +0800230 select USB_EHCI_ROOT_HUB_TT
231 ---help---
232 Enables support for Marvell (including PXA and MMP series) on-chip
233 USB SPH and OTG controller. SPH is a single port host, and it can
234 only be EHCI host. OTG is controller that can switch to host mode.
Manjunath Goudara76dd462013-04-02 18:23:59 +0200235 Note that this driver will not work on Marvell's other EHCI
236 controller used by the EBU-type SoCs including Orion, Kirkwood,
237 Dova, Armada 370 and Armada XP. See "Support for Marvell EBU
238 on-chip EHCI USB controller" for those.
Neil Zhang3a082ec2011-12-20 13:20:23 +0800239
Wan ZongShun586dfc82009-06-13 09:14:28 +0800240config USB_W90X900_EHCI
Manjunath Goudara60f4f82013-09-21 16:44:42 +0530241 tristate "W90X900(W90P910) EHCI support"
Florian Fainelli42443dc2013-04-09 14:29:27 +0200242 depends on ARCH_W90X900
Wan ZongShun586dfc82009-06-13 09:14:28 +0800243 ---help---
244 Enables support for the W90X900 USB controller
245
Mac Lin760efe62010-11-25 23:58:00 +0800246config USB_CNS3XXX_EHCI
Florian Fainellif3a958d2012-10-08 15:11:25 +0200247 bool "Cavium CNS3XXX EHCI Module (DEPRECATED)"
Florian Fainelli42443dc2013-04-09 14:29:27 +0200248 depends on ARCH_CNS3XXX
Florian Fainellif3a958d2012-10-08 15:11:25 +0200249 select USB_EHCI_HCD_PLATFORM
Mac Lin760efe62010-11-25 23:58:00 +0800250 ---help---
Florian Fainellif3a958d2012-10-08 15:11:25 +0200251 This option is deprecated now and the driver was removed, use
252 USB_EHCI_HCD_PLATFORM instead.
253
Mac Lin760efe62010-11-25 23:58:00 +0800254 Enable support for the CNS3XXX SOC's on-chip EHCI controller.
255 It is needed for high-speed (480Mbit/sec) USB 2.0 device
256 support.
257
Gabor Juhos502fa842011-04-13 10:54:22 +0200258config USB_EHCI_ATH79
Hauke Mehrtens5d98cd42012-03-13 01:04:53 +0100259 bool "EHCI support for AR7XXX/AR9XXX SoCs (DEPRECATED)"
Florian Fainelli42443dc2013-04-09 14:29:27 +0200260 depends on (SOC_AR71XX || SOC_AR724X || SOC_AR913X || SOC_AR933X)
Gabor Juhos502fa842011-04-13 10:54:22 +0200261 select USB_EHCI_ROOT_HUB_TT
Hauke Mehrtens5d98cd42012-03-13 01:04:53 +0100262 select USB_EHCI_HCD_PLATFORM
Gabor Juhos502fa842011-04-13 10:54:22 +0200263 default y
264 ---help---
Hauke Mehrtens5d98cd42012-03-13 01:04:53 +0100265 This option is deprecated now and the driver was removed, use
266 USB_EHCI_HCD_PLATFORM instead.
267
Gabor Juhos502fa842011-04-13 10:54:22 +0200268 Enables support for the built-in EHCI controller present
269 on the Atheros AR7XXX/AR9XXX SoCs.
270
Florian Fainelli42443dc2013-04-09 14:29:27 +0200271config USB_EHCI_HCD_PLATFORM
272 tristate "Generic EHCI driver for a platform device"
273 default n
274 ---help---
275 Adds an EHCI host driver for a generic platform device, which
276 provides a memory space and an irq.
277
278 If unsure, say N.
279
280config USB_OCTEON_EHCI
281 bool "Octeon on-chip EHCI support"
David Daney9ddebc42013-05-22 15:10:46 +0000282 depends on CAVIUM_OCTEON_SOC
Florian Fainelli42443dc2013-04-09 14:29:27 +0200283 default n
284 select USB_EHCI_BIG_ENDIAN_MMIO
285 help
286 Enable support for the Octeon II SOC's on-chip EHCI
287 controller. It is needed for high-speed (480Mbit/sec)
288 USB 2.0 device support. All CN6XXX based chips with USB are
289 supported.
290
291endif # USB_EHCI_HCD
292
Rodolfo Giomettib92a78e2008-10-23 10:08:07 +0200293config USB_OXU210HP_HCD
294 tristate "OXU210HP HCD support"
Rodolfo Giomettib92a78e2008-10-23 10:08:07 +0200295 ---help---
296 The OXU210HP is an USB host/OTG/device controller. Enable this
297 option if your board has this chip. If unsure, say N.
298
299 This driver does not support isochronous transfers and doesn't
300 implement OTG nor USB device controllers.
301
302 To compile this driver as a module, choose M here: the
303 module will be called oxu210hp-hcd.
304
Olav Kongas4808a1c2005-04-09 22:57:39 +0300305config USB_ISP116X_HCD
306 tristate "ISP116X HCD support"
Olav Kongas4808a1c2005-04-09 22:57:39 +0300307 ---help---
308 The ISP1160 and ISP1161 chips are USB host controllers. Enable this
309 option if your board has this chip. If unsure, say N.
310
311 This driver does not support isochronous transfers.
312
313 To compile this driver as a module, choose M here: the
314 module will be called isp116x-hcd.
315
Sebastian Siewiordb11e472008-04-24 00:37:04 +0200316config USB_ISP1760_HCD
317 tristate "ISP 1760 HCD support"
Sebastian Siewiordb11e472008-04-24 00:37:04 +0200318 ---help---
319 The ISP1760 chip is a USB 2.0 host controller.
320
321 This driver does not support isochronous transfers or OTG.
Sebastian Andrzej Siewiorff30bf12008-11-02 15:25:42 +0100322 This USB controller is usually attached to a non-DMA-Master
323 capable bus. NXP's eval kit brings this chip on PCI card
324 where the chip itself is behind a PLB to simulate such
325 a bus.
Sebastian Siewiordb11e472008-04-24 00:37:04 +0200326
327 To compile this driver as a module, choose M here: the
Sebastian Andrzej Siewiorff30bf12008-11-02 15:25:42 +0100328 module will be called isp1760.
Sebastian Siewiordb11e472008-04-24 00:37:04 +0200329
Lothar Wassmanna9d43092009-07-16 20:51:21 -0400330config USB_ISP1362_HCD
331 tristate "ISP1362 HCD support"
Lothar Wassmanna9d43092009-07-16 20:51:21 -0400332 ---help---
333 Supports the Philips ISP1362 chip as a host controller
334
335 This driver does not support isochronous transfers.
336
337 To compile this driver as a module, choose M here: the
338 module will be called isp1362-hcd.
339
Yuan-Hsin Chen6c920bfb2013-05-17 10:14:14 +0000340config USB_FUSBH200_HCD
341 tristate "FUSBH200 HCD support"
342 depends on USB
Yuan-Hsin Chen6c920bfb2013-05-17 10:14:14 +0000343 ---help---
344 Faraday FUSBH200 is designed to meet USB2.0 EHCI specification
345 with minor modification.
346
347 To compile this driver as a module, choose M here: the
348 module will be called fusbh200-hcd.
349
Feng-Hsin Chiang7d501952013-07-29 16:48:32 +0000350config USB_FOTG210_HCD
351 tristate "FOTG210 HCD support"
352 depends on USB
Feng-Hsin Chiang7d501952013-07-29 16:48:32 +0000353 ---help---
354 Faraday FOTG210 is an OTG controller which can be configured as
355 an USB2.0 host. It is designed to meet USB2.0 EHCI specification
356 with minor modification.
357
358 To compile this driver as a module, choose M here: the
359 module will be called fotg210-hcd.
360
David Mosberger2d531392014-04-28 22:14:07 -0600361config USB_MAX3421_HCD
362 tristate "MAX3421 HCD (USB-over-SPI) support"
363 depends on USB && SPI
364 ---help---
365 The Maxim MAX3421E chip supports standard USB 2.0-compliant
366 full-speed devices either in host or peripheral mode. This
367 driver supports the host-mode of the MAX3421E only.
368
369 To compile this driver as a module, choose M here: the module will
370 be called max3421-hcd.
371
Linus Torvalds1da177e2005-04-16 15:20:36 -0700372config USB_OHCI_HCD
Manjunath Goudarc1117af2013-05-28 18:34:51 +0530373 tristate "OHCI HCD (USB 1.1) support"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700374 ---help---
375 The Open Host Controller Interface (OHCI) is a standard for accessing
376 USB 1.1 host controller hardware. It does more in hardware than Intel's
377 UHCI specification. If your USB host controller follows the OHCI spec,
378 say Y. On most non-x86 systems, and on x86 hardware that's not using a
379 USB controller from Intel or VIA, this is appropriate. If your host
380 controller doesn't use PCI, this is probably appropriate. For a PCI
381 based system where you're not sure, the "lspci -v" entry will list the
382 right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI.
383
384 To compile this driver as a module, choose M here: the
385 module will be called ohci-hcd.
386
Florian Fainelli3ad3ca02013-04-09 14:29:28 +0200387if USB_OHCI_HCD
388
Anand Gadiyar968b4482010-05-10 21:56:12 +0530389config USB_OHCI_HCD_OMAP1
Manjunath Goudarde57a152013-09-21 16:38:39 +0530390 tristate "OHCI support for OMAP1/2 chips"
Florian Fainelli3ad3ca02013-04-09 14:29:28 +0200391 depends on ARCH_OMAP1
Arnd Bergmann38e0c102014-05-08 15:52:20 +0200392 depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3)
Anand Gadiyar968b4482010-05-10 21:56:12 +0530393 default y
394 ---help---
395 Enables support for the OHCI controller on OMAP1/2 chips.
396
Manjunath Goudar1cc6ac52013-09-21 16:38:41 +0530397config USB_OHCI_HCD_SPEAR
398 tristate "Support for ST SPEAr on-chip OHCI USB controller"
399 depends on USB_OHCI_HCD && PLAT_SPEAR
400 default y
401 ---help---
402 Enables support for the on-chip OHCI controller on
403 ST SPEAr chips.
404
Manjunath Goudarf23b71f2013-09-21 16:38:43 +0530405config USB_OHCI_HCD_S3C2410
406 tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series"
407 depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX)
408 default y
409 ---help---
410 Enables support for the on-chip OHCI controller on
411 S3C24xx/S3C64xx chips.
412
Manjunath Goudar30330b82013-09-21 16:38:44 +0530413config USB_OHCI_HCD_LPC32XX
414 tristate "Support for LPC on-chip OHCI USB controller"
415 depends on USB_OHCI_HCD && ARCH_LPC32XX
Arnd Bergmann38e0c102014-05-08 15:52:20 +0200416 depends on USB_ISP1301
Manjunath Goudar30330b82013-09-21 16:38:44 +0530417 default y
418 ---help---
419 Enables support for the on-chip OHCI controller on
420 NXP chips.
421
Manjunath Goudarb8ad5c32013-09-21 16:38:46 +0530422config USB_OHCI_HCD_PXA27X
423 tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller"
424 depends on USB_OHCI_HCD && (PXA27x || PXA3xx)
425 default y
426 ---help---
427 Enables support for the on-chip OHCI controller on
428 PXA27x/PXA3xx chips.
429
Manjunath Goudare3825b42013-09-21 16:38:42 +0530430config USB_OHCI_HCD_AT91
431 tristate "Support for Atmel on-chip OHCI USB controller"
432 depends on USB_OHCI_HCD && ARCH_AT91
433 default y
434 ---help---
435 Enables support for the on-chip OHCI controller on
436 Atmel chips.
437
Anand Gadiyar968b4482010-05-10 21:56:12 +0530438config USB_OHCI_HCD_OMAP3
Manjunath Goudar3a48fef2013-09-21 16:38:40 +0530439 tristate "OHCI support for OMAP3 and later chips"
Florian Fainelli3ad3ca02013-04-09 14:29:28 +0200440 depends on (ARCH_OMAP3 || ARCH_OMAP4)
Anand Gadiyar968b4482010-05-10 21:56:12 +0530441 default y
442 ---help---
443 Enables support for the on-chip OHCI controller on
444 OMAP3 and later chips.
445
Arnd Bergmann068413e2014-05-08 15:52:21 +0200446config USB_OHCI_HCD_DAVINCI
447 bool "OHCI support for TI DaVinci DA8xx"
448 depends on ARCH_DAVINCI_DA8XX
449 depends on USB_OHCI_HCD=y
450 default y
451 help
452 Enables support for the DaVinci DA8xx integrated OHCI
453 controller. This driver cannot currently be a loadable
454 module because it lacks a proper PHY abstraction.
455
Gabor Juhos90e6ca52011-04-13 10:54:24 +0200456config USB_OHCI_ATH79
Hauke Mehrtens5d98cd42012-03-13 01:04:53 +0100457 bool "USB OHCI support for the Atheros AR71XX/AR7240 SoCs (DEPRECATED)"
Florian Fainelli3ad3ca02013-04-09 14:29:28 +0200458 depends on (SOC_AR71XX || SOC_AR724X)
Hauke Mehrtens5d98cd42012-03-13 01:04:53 +0100459 select USB_OHCI_HCD_PLATFORM
Gabor Juhos90e6ca52011-04-13 10:54:24 +0200460 default y
461 help
Hauke Mehrtens5d98cd42012-03-13 01:04:53 +0100462 This option is deprecated now and the driver was removed, use
463 USB_OHCI_HCD_PLATFORM instead.
464
Gabor Juhos90e6ca52011-04-13 10:54:24 +0200465 Enables support for the built-in OHCI controller present on the
466 Atheros AR71XX/AR7240 SoCs.
467
Sylvain Munaut495a6782006-12-13 21:09:55 +0100468config USB_OHCI_HCD_PPC_OF_BE
Arnd Bergmann45e83882009-06-19 05:35:34 -0700469 bool "OHCI support for OF platform bus (big endian)"
Florian Fainelli3ad3ca02013-04-09 14:29:28 +0200470 depends on PPC_OF
Sylvain Munaut495a6782006-12-13 21:09:55 +0100471 select USB_OHCI_BIG_ENDIAN_DESC
472 select USB_OHCI_BIG_ENDIAN_MMIO
Arnd Bergmann45e83882009-06-19 05:35:34 -0700473 ---help---
474 Enables support for big-endian USB controllers present on the
475 OpenFirmware platform bus.
Sylvain Munaut495a6782006-12-13 21:09:55 +0100476
477config USB_OHCI_HCD_PPC_OF_LE
Arnd Bergmann45e83882009-06-19 05:35:34 -0700478 bool "OHCI support for OF platform bus (little endian)"
Florian Fainelli3ad3ca02013-04-09 14:29:28 +0200479 depends on PPC_OF
Sylvain Munaut495a6782006-12-13 21:09:55 +0100480 select USB_OHCI_LITTLE_ENDIAN
Arnd Bergmann45e83882009-06-19 05:35:34 -0700481 ---help---
482 Enables support for little-endian USB controllers present on the
483 OpenFirmware platform bus.
484
485config USB_OHCI_HCD_PPC_OF
486 bool
Florian Fainelli3ad3ca02013-04-09 14:29:28 +0200487 depends on PPC_OF
Arnd Bergmann45e83882009-06-19 05:35:34 -0700488 default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE
Sylvain Munaut495a6782006-12-13 21:09:55 +0100489
Linus Torvalds1da177e2005-04-16 15:20:36 -0700490config USB_OHCI_HCD_PCI
Manjunath Goudarc1117af2013-05-28 18:34:51 +0530491 tristate "OHCI support for PCI-bus USB controllers"
492 depends on PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700493 default y
494 select USB_OHCI_LITTLE_ENDIAN
495 ---help---
496 Enables support for PCI-bus plug-in USB controller cards.
497 If unsure, say Y.
498
Michael Bueschc604e852007-10-09 23:47:17 -0700499config USB_OHCI_HCD_SSB
Hauke Mehrtens259b83a2012-03-15 23:49:59 +0100500 bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
Florian Fainelli3ad3ca02013-04-09 14:29:28 +0200501 depends on (SSB = y || SSB = USB_OHCI_HCD)
Hauke Mehrtens259b83a2012-03-15 23:49:59 +0100502 select USB_HCD_SSB
503 select USB_OHCI_HCD_PLATFORM
Michael Bueschc604e852007-10-09 23:47:17 -0700504 default n
505 ---help---
Hauke Mehrtens259b83a2012-03-15 23:49:59 +0100506 This option is deprecated now and the driver was removed, use
507 USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead.
508
Michael Bueschc604e852007-10-09 23:47:17 -0700509 Support for the Sonics Silicon Backplane (SSB) attached
510 Broadcom USB OHCI core.
511
512 This device is present in some embedded devices with
513 Broadcom based SSB bus.
514
515 If unsure, say N.
516
Yoshihiro Shimoda60b0bf02011-03-01 16:58:37 +0900517config USB_OHCI_SH
Florian Fainelli231a72e2012-10-08 15:11:37 +0200518 bool "OHCI support for SuperH USB controller (DEPRECATED)"
Florian Fainelli3ad3ca02013-04-09 14:29:28 +0200519 depends on SUPERH
Florian Fainelli231a72e2012-10-08 15:11:37 +0200520 select USB_OHCI_HCD_PLATFORM
Yoshihiro Shimoda60b0bf02011-03-01 16:58:37 +0900521 ---help---
Florian Fainelli231a72e2012-10-08 15:11:37 +0200522 This option is deprecated now and the driver was removed, use
523 USB_OHCI_HCD_PLATFORM instead.
524
Yoshihiro Shimoda60b0bf02011-03-01 16:58:37 +0900525 Enables support for the on-chip OHCI controller on the SuperH.
526 If you use the PCI OHCI controller, this option is not necessary.
527
Jingoo Han62194242011-12-23 11:20:54 +0900528config USB_OHCI_EXYNOS
Manjunath Goudar50a97e02013-09-21 16:38:38 +0530529 tristate "OHCI support for Samsung S5P/EXYNOS SoC Series"
530 depends on PLAT_S5P || ARCH_EXYNOS
Jingoo Han62194242011-12-23 11:20:54 +0900531 help
532 Enable support for the Samsung Exynos SOC's on-chip OHCI controller.
533
Mac Lin760efe62010-11-25 23:58:00 +0800534config USB_CNS3XXX_OHCI
Florian Fainellic23920b02012-10-08 15:11:33 +0200535 bool "Cavium CNS3XXX OHCI Module (DEPRECATED)"
Florian Fainelli3ad3ca02013-04-09 14:29:28 +0200536 depends on ARCH_CNS3XXX
Florian Fainellic23920b02012-10-08 15:11:33 +0200537 select USB_OHCI_HCD_PLATFORM
Mac Lin760efe62010-11-25 23:58:00 +0800538 ---help---
Florian Fainellic23920b02012-10-08 15:11:33 +0200539 This option is deprecated now and the driver was removed, use
540 USB_OHCI_HCD_PLATFORM instead.
541
Mac Lin760efe62010-11-25 23:58:00 +0800542 Enable support for the CNS3XXX SOC's on-chip OHCI controller.
543 It is needed for low-speed USB 1.0 device support.
544
Hauke Mehrtensfa3364b2012-03-13 01:04:47 +0100545config USB_OHCI_HCD_PLATFORM
Manjunath Goudar928fb682013-06-03 20:46:08 +0530546 tristate "Generic OHCI driver for a platform device"
Hauke Mehrtensfa3364b2012-03-13 01:04:47 +0100547 default n
548 ---help---
549 Adds an OHCI host driver for a generic platform device, which
Peter Meerwald898d8282012-08-18 15:53:12 +0200550 provides a memory space and an irq.
Hauke Mehrtensfa3364b2012-03-13 01:04:47 +0100551
552 If unsure, say N.
553
Florian Fainelli3ad3ca02013-04-09 14:29:28 +0200554config USB_OCTEON_OHCI
555 bool "Octeon on-chip OHCI support"
David Daney9ddebc42013-05-22 15:10:46 +0000556 depends on CAVIUM_OCTEON_SOC
Florian Fainelli3ad3ca02013-04-09 14:29:28 +0200557 default USB_OCTEON_EHCI
558 select USB_OHCI_BIG_ENDIAN_MMIO
559 select USB_OHCI_LITTLE_ENDIAN
560 help
561 Enable support for the Octeon II SOC's on-chip OHCI
562 controller. It is needed for low-speed USB 1.0 device
563 support. All CN6XXX based chips with USB are supported.
564
Florian Fainelli3ad3ca02013-04-09 14:29:28 +0200565endif # USB_OHCI_HCD
566
Linus Torvalds1da177e2005-04-16 15:20:36 -0700567config USB_UHCI_HCD
568 tristate "UHCI HCD (most Intel and VIA) support"
Alan Sternccd95092013-05-14 13:54:12 -0400569 depends on PCI || USB_UHCI_SUPPORT_NON_PCI_HC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700570 ---help---
571 The Universal Host Controller Interface is a standard by Intel for
572 accessing the USB hardware in the PC (which is also called the USB
573 host controller). If your USB host controller conforms to this
574 standard, you may want to say Y, but see below. All recent boards
575 with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
576 i810, i820) conform to this standard. Also all VIA PCI chipsets
577 (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
Jan Andersson3db77392011-05-06 12:00:18 +0200578 133) and LEON/GRLIB SoCs with the GRUSBHC controller.
579 If unsure, say Y.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700580
581 To compile this driver as a module, choose M here: the
582 module will be called uhci-hcd.
583
Jan Anderssond3219d12011-05-06 12:00:17 +0200584config USB_UHCI_SUPPORT_NON_PCI_HC
585 bool
Alan Sternccd95092013-05-14 13:54:12 -0400586 default y if (SPARC_LEON || USB_UHCI_PLATFORM)
Tony Prisk100d4592012-07-21 22:58:53 +1200587
588config USB_UHCI_PLATFORM
Alan Sternccd95092013-05-14 13:54:12 -0400589 bool
Tony Prisk100d4592012-07-21 22:58:53 +1200590 default y if ARCH_VT8500
Jan Anderssond3219d12011-05-06 12:00:17 +0200591
Jan Andersson8452c672011-05-18 10:44:49 +0200592config USB_UHCI_BIG_ENDIAN_MMIO
593 bool
Alan Sternccd95092013-05-14 13:54:12 -0400594 default y if SPARC_LEON
Jan Andersson8452c672011-05-18 10:44:49 +0200595
Jan Andersson51e2f622011-05-18 10:44:51 +0200596config USB_UHCI_BIG_ENDIAN_DESC
597 bool
Alan Sternccd95092013-05-14 13:54:12 -0400598 default y if SPARC_LEON
Jan Andersson51e2f622011-05-18 10:44:51 +0200599
Anton Vorontsov236dd4d2009-01-10 05:03:21 +0300600config USB_FHCI_HCD
601 tristate "Freescale QE USB Host Controller support"
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200602 depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
Anton Vorontsov236dd4d2009-01-10 05:03:21 +0300603 select FSL_GTM
604 select QE_USB
605 help
606 This driver enables support for Freescale QE USB Host Controller
607 (as found on MPC8360 and MPC8323 processors), the driver supports
608 Full and Low Speed USB.
609
610config FHCI_DEBUG
611 bool "Freescale QE USB Host Controller debug support"
612 depends on USB_FHCI_HCD && DEBUG_FS
613 help
614 Say "y" to see some FHCI debug information and statistics
Lucas De Marchi25985ed2011-03-30 22:57:33 -0300615 through debugfs.
Anton Vorontsov236dd4d2009-01-10 05:03:21 +0300616
Tony Olechd774efe2006-09-13 11:27:35 +0100617config USB_U132_HCD
618 tristate "Elan U132 Adapter Host Controller"
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200619 depends on USB_FTDI_ELAN
Tony Olechd774efe2006-09-13 11:27:35 +0100620 help
621 The U132 adapter is a USB to CardBus adapter specifically designed
622 for PC cards that contain an OHCI host controller. Typical PC cards
623 are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132
624 adapter will *NOT* work with PC cards that do not contain an OHCI
625 controller.
626
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100627 For those PC cards that contain multiple OHCI controllers only the
Tony Olechd774efe2006-09-13 11:27:35 +0100628 first one is used.
629
630 The driver consists of two modules, the "ftdi-elan" module is a
631 USB client driver that interfaces to the FTDI chip within ELAN's
632 USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host
633 controller driver that talks to the OHCI controller within the
634 CardBus cards that are inserted in the U132 adapter.
635
636 This driver has been tested with a CardBus OHCI USB adapter, and
637 worked with a USB PEN Drive inserted into the first USB port of
638 the PCCARD. A rather pointless thing to do, but useful for testing.
639
640 It is safe to say M here.
641
642 See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php>
643
Linus Torvalds1da177e2005-04-16 15:20:36 -0700644config USB_SL811_HCD
645 tristate "SL811HS HCD support"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700646 help
647 The SL811HS is a single-port USB controller that supports either
648 host side or peripheral side roles. Enable this option if your
649 board has this chip, and you want to use it as a host controller.
650 If unsure, say N.
651
652 To compile this driver as a module, choose M here: the
653 module will be called sl811-hcd.
654
Mike Frysingerad7c56f2011-03-22 15:35:39 -0400655config USB_SL811_HCD_ISO
656 bool "partial ISO support"
657 depends on USB_SL811_HCD
658 help
659 The driver doesn't support iso_frame_desc (yet), but for some simple
660 devices that just queue one ISO frame per URB, then ISO transfers
661 "should" work using the normal urb status fields.
662
663 If unsure, say N.
664
David Brownellc6de2b62005-05-26 05:55:55 -0700665config USB_SL811_CS
666 tristate "CF/PCMCIA support for SL811HS HCD"
667 depends on USB_SL811_HCD && PCMCIA
David Brownellc6de2b62005-05-26 05:55:55 -0700668 help
669 Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC
670 REX-CFU1U CF card (often used with PDAs). If unsure, say N.
671
672 To compile this driver as a module, choose M here: the
673 module will be called "sl811_cs".
674
Yoshihiro Shimoda5d304352007-05-10 13:18:19 +0900675config USB_R8A66597_HCD
M4rkusXXLfa0de2b2007-08-10 14:53:32 -0700676 tristate "R8A66597 HCD support"
Yoshihiro Shimoda5d304352007-05-10 13:18:19 +0900677 help
678 The R8A66597 is a USB 2.0 host and peripheral controller.
679
680 Enable this option if your board has this chip, and you want
681 to use it as a host controller. If unsure, say N.
682
683 To compile this driver as a module, choose M here: the
684 module will be called r8a66597-hcd.
685
Kuninori Morimoto034d7c12011-10-10 22:07:40 -0700686config USB_RENESAS_USBHS_HCD
687 tristate "Renesas USBHS HCD support"
Kuninori Morimoto034d7c12011-10-10 22:07:40 -0700688 depends on USB_RENESAS_USBHS
689 help
690 The Renesas USBHS is a USB 2.0 host and peripheral controller.
691
692 Enable this option if your board has this chip, and you want
693 to use it as a host controller. If unsure, say N.
694
695 To compile this driver as a module, choose M here: the
696 module will be called renesas-usbhs.
697
David Vrabel7e6133a2008-09-17 16:34:28 +0100698config USB_WHCI_HCD
Greg Kroah-Hartmaneb83be92012-09-14 21:15:50 -0700699 tristate "Wireless USB Host Controller Interface (WHCI) driver"
Randy Dunlap36f8ecb2012-01-27 15:47:03 -0800700 depends on PCI && USB && UWB
David Vrabel7e6133a2008-09-17 16:34:28 +0100701 select USB_WUSB
702 select UWB_WHCI
703 help
704 A driver for PCI-based Wireless USB Host Controllers that are
705 compliant with the WHCI specification.
706
707 To compile this driver a module, choose M here: the module
708 will be called "whci-hcd".
Inaky Perez-Gonzalezd09318b2008-09-17 16:34:30 +0100709
710config USB_HWA_HCD
Greg Kroah-Hartmaneb83be92012-09-14 21:15:50 -0700711 tristate "Host Wire Adapter (HWA) driver"
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200712 depends on UWB
Inaky Perez-Gonzalezd09318b2008-09-17 16:34:30 +0100713 select USB_WUSB
714 select UWB_HWA
715 help
716 This driver enables you to connect Wireless USB devices to
717 your system using a Host Wire Adaptor USB dongle. This is an
718 UWB Radio Controller and WUSB Host Controller connected to
719 your machine via USB (specified in WUSB1.0).
720
721 To compile this driver a module, choose M here: the module
722 will be called "hwa-hc".
Martin Fuzzey23d3e7a2009-11-21 12:14:48 +0100723
724config USB_IMX21_HCD
Sascha Hauer5de9ec42011-08-24 08:41:10 +0200725 tristate "i.MX21 HCD support"
Florian Fainelli25e11ec2013-04-09 14:29:25 +0200726 depends on ARM && ARCH_MXC
Martin Fuzzey23d3e7a2009-11-21 12:14:48 +0100727 help
728 This driver enables support for the on-chip USB host in the
Sascha Hauer5de9ec42011-08-24 08:41:10 +0200729 i.MX21 processor.
Martin Fuzzey23d3e7a2009-11-21 12:14:48 +0100730
731 To compile this driver as a module, choose M here: the
732 module will be called "imx21-hcd".
733
David Daney1643acc2010-10-08 14:47:52 -0700734
David Daney1643acc2010-10-08 14:47:52 -0700735
736config USB_OCTEON2_COMMON
737 bool
738 default y if USB_OCTEON_EHCI || USB_OCTEON_OHCI
Hauke Mehrtens62e11d12012-03-15 23:49:57 +0100739
740config USB_HCD_BCMA
741 tristate "BCMA usb host driver"
Greg Kroah-Hartmaneb83be92012-09-14 21:15:50 -0700742 depends on BCMA
Hauke Mehrtens62e11d12012-03-15 23:49:57 +0100743 select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
744 select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
745 help
Jesper Dangaard Brouer71c421d2012-06-15 12:01:33 +0200746 Enable support for the EHCI and OCHI host controller on an bcma bus.
Hauke Mehrtens62e11d12012-03-15 23:49:57 +0100747 It converts the bcma driver into two platform device drivers
748 for ehci and ohci.
749
750 If unsure, say N.
Hauke Mehrtens7043c2c2012-03-15 23:49:58 +0100751
752config USB_HCD_SSB
753 tristate "SSB usb host driver"
Greg Kroah-Hartmaneb83be92012-09-14 21:15:50 -0700754 depends on SSB
Hauke Mehrtens7043c2c2012-03-15 23:49:58 +0100755 select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
756 select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
757 help
Jesper Dangaard Brouer71c421d2012-06-15 12:01:33 +0200758 Enable support for the EHCI and OCHI host controller on an bcma bus.
Hauke Mehrtens7043c2c2012-03-15 23:49:58 +0100759 It converts the bcma driver into two platform device drivers
760 for ehci and ohci.
761
762 If unsure, say N.
Jack Pham726a85c2013-08-13 13:40:13 -0700763
764config USB_HCD_TEST_MODE
765 bool "HCD test mode support"
766 ---help---
767 Say 'Y' to enable additional software test modes that may be
768 supported by the host controller drivers.
769
770 One such test mode is the Embedded High-speed Host Electrical Test
771 (EHSET) for EHCI host controller hardware, specifically the "Single
772 Step Set Feature" test. Typically this will be enabled for On-the-Go
773 or embedded hosts that need to undergo USB-IF compliance testing with
774 the aid of special testing hardware. In the future, this may expand
775 to include other tests that require support from a HCD driver.
776
777 This option is of interest only to developers who need to validate
778 their USB hardware designs. It is not needed for normal use. If
779 unsure, say N.