blob: 7f562d1e5bf5d3a97da256fdca6b061494a151df [file] [log] [blame]
Masahiro Yamada6e7e9292014-11-07 18:48:31 +09001#
2# USB Host Controller Drivers
3#
4comment "USB Host Controller Drivers"
5
6config USB_XHCI_HCD
7 bool "xHCI HCD (USB 3.0) support"
8 ---help---
9 The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
10 "SuperSpeed" host controller hardware.
11
Masahiro Yamada6e7e9292014-11-07 18:48:31 +090012if USB_XHCI_HCD
13
Masahiro Yamada1e7df7c2015-02-27 02:27:00 +090014config USB_XHCI_UNIPHIER
Masahiro Yamadab6ef3a32015-05-29 17:30:01 +090015 bool "Support for UniPhier on-chip xHCI USB controller"
Masahiro Yamada1e7df7c2015-02-27 02:27:00 +090016 depends on ARCH_UNIPHIER
17 default y
18 ---help---
Masahiro Yamadab6ef3a32015-05-29 17:30:01 +090019 Enables support for the on-chip xHCI controller on UniPhier SoCs.
Masahiro Yamada1e7df7c2015-02-27 02:27:00 +090020
Masahiro Yamada10db7502016-06-04 07:35:04 +090021config USB_XHCI_DWC3
22 bool "DesignWare USB3 DRD Core Support"
23 help
24 Say Y or if your system has a Dual Role SuperSpeed
25 USB controller based on the DesignWare USB3 IP Core.
26
Masahiro Yamada93cb8242016-08-01 00:16:32 +090027endif # USB_XHCI_HCD
Alexey Brodkinfee331f2015-12-14 17:18:50 +030028
Masahiro Yamada6e7e9292014-11-07 18:48:31 +090029config USB_EHCI_HCD
30 bool "EHCI HCD (USB 2.0) support"
31 ---help---
32 The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
33 "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
34 If your USB host controller supports USB 2.0, you will likely want to
35 configure this Host Controller Driver.
36
37 EHCI controllers are packaged with "companion" host controllers (OHCI
38 or UHCI) to handle USB 1.1 devices connected to root hub ports. Ports
39 will connect to EHCI if the device is high speed, otherwise they
40 connect to a companion controller. If you configure EHCI, you should
41 probably configure the OHCI (for NEC and some other vendors) USB Host
42 Controller Driver or UHCI (for Via motherboards) Host Controller
43 Driver too.
44
45 You may want to read <file:Documentation/usb/ehci.txt>.
46
47config USB_EHCI
48 bool
49 default USB_EHCI_HCD
50 ---help---
51 TODO: rename after most boards switch to Kconfig
52
53if USB_EHCI_HCD
54
Stefan Roesecd482252015-09-01 11:39:44 +020055config USB_EHCI_MARVELL
56 bool "Support for MVEBU (AXP / A38x) on-chip EHCI USB controller"
57 depends on ARCH_MVEBU
58 default y
59 ---help---
60 Enables support for the on-chip EHCI controller on MVEBU SoCs.
61
Nikita Kiryanov919e8022015-07-23 17:19:35 +030062config USB_EHCI_MX6
63 bool "Support for i.MX6 on-chip EHCI USB controller"
64 depends on ARCH_MX6
65 default y
66 ---help---
67 Enables support for the on-chip EHCI controller on i.MX6 SoCs.
68
Stefan Agner2deebe22016-07-13 00:25:36 -070069config USB_EHCI_MX7
70 bool "Support for i.MX7 on-chip EHCI USB controller"
71 depends on ARCH_MX7
72 default y
73 ---help---
74 Enables support for the on-chip EHCI controller on i.MX7 SoCs.
75
Stefan Agnerc4483092016-07-13 00:25:38 -070076if USB_EHCI_MX7
77
78config MXC_USB_OTG_HACTIVE
79 bool "USB Power pin high active"
80 ---help---
81 Set the USB Power pin polarity to be high active (PWR_POL)
82
83endif
84
Mateusz Kulikowski5a822112016-03-31 23:12:26 +020085config USB_EHCI_MSM
86 bool "Support for Qualcomm on-chip EHCI USB controller"
87 depends on DM_USB
88 select USB_ULPI_VIEWPORT
89 default n
90 ---help---
91 Enables support for the on-chip EHCI controller on Qualcomm
92 Snapdragon SoCs.
93 This driver supports combination of Chipidea USB controller
94 and Synapsys USB PHY in host mode only.
95
Siva Durga Prasad Paladugu2cdc7782016-07-22 14:51:51 +053096config USB_EHCI_ZYNQ
97 bool "Support for Xilinx Zynq on-chip EHCI USB controller"
98 depends on ARCH_ZYNQ
99 default y
100 ---help---
101 Enable support for Zynq on-chip EHCI USB controller
102
Alexey Brodkin90fbb282015-12-02 12:32:02 +0300103config USB_EHCI_GENERIC
104 bool "Support for generic EHCI USB controller"
105 depends on OF_CONTROL
106 depends on DM_USB
107 default n
108 ---help---
109 Enables support for generic EHCI controller.
110
Masahiro Yamada93cb8242016-08-01 00:16:32 +0900111endif # USB_EHCI_HCD
112
113config USB_OHCI_HCD
114 bool "OHCI HCD (USB 1.1) support"
115 ---help---
116 The Open Host Controller Interface (OHCI) is a standard for accessing
117 USB 1.1 host controller hardware. It does more in hardware than Intel's
118 UHCI specification. If your USB host controller follows the OHCI spec,
119 say Y. On most non-x86 systems, and on x86 hardware that's not using a
120 USB controller from Intel or VIA, this is appropriate. If your host
121 controller doesn't use PCI, this is probably appropriate. For a PCI
122 based system where you're not sure, the "lspci -v" entry will list the
123 right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI.
124
125if USB_OHCI_HCD
126
127config USB_OHCI_GENERIC
128 bool "Support for generic OHCI USB controller"
129 depends on OF_CONTROL
130 depends on DM_USB
131 ---help---
132 Enables support for generic OHCI controller.
133
134endif # USB_OHCI_HCD
Masahiro Yamada96d82842016-08-01 00:16:33 +0900135
136config USB_UHCI_HCD
137 bool "UHCI HCD (most Intel and VIA) support"
138 ---help---
139 The Universal Host Controller Interface is a standard by Intel for
140 accessing the USB hardware in the PC (which is also called the USB
141 host controller). If your USB host controller conforms to this
142 standard, you may want to say Y, but see below. All recent boards
143 with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
144 i810, i820) conform to this standard. Also all VIA PCI chipsets
145 (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
146 133) and LEON/GRLIB SoCs with the GRUSBHC controller.
147 If unsure, say Y.
148
149if USB_UHCI_HCD
150
151endif # USB_UHCI_HCD