• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# USB Host Controller Drivers
3#
4comment "USB Host Controller Drivers"
5
6config USB_HOST
7	bool
8
9config USB_XHCI_HCD
10	bool "xHCI HCD (USB 3.0) support"
11	select USB_HOST
12	---help---
13	  The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
14	  "SuperSpeed" host controller hardware.
15
16if USB_XHCI_HCD
17
18config USB_XHCI_DWC3
19	bool "DesignWare USB3 DRD Core Support"
20	help
21	  Say Y or if your system has a Dual Role SuperSpeed
22	  USB controller based on the DesignWare USB3 IP Core.
23
24config USB_XHCI_DWC3_OF_SIMPLE
25	bool "DesignWare USB3 DRD Generic OF Simple Glue Layer"
26	depends on DM_USB
27	default y if ARCH_ROCKCHIP
28	default y if DRA7XX
29	help
30	  Support USB2/3 functionality in simple SoC integrations with
31	  USB controller based on the DesignWare USB3 IP Core.
32
33config USB_XHCI_MVEBU
34	bool "MVEBU USB 3.0 support"
35	default y
36	depends on ARCH_MVEBU
37	select DM_REGULATOR
38	help
39	  Choose this option to add support for USB 3.0 driver on mvebu
40	  SoCs, which includes Armada8K, Armada3700 and other Armada
41	  family SoCs.
42
43config USB_XHCI_PCI
44	bool "Support for PCI-based xHCI USB controller"
45	depends on DM_USB
46	default y if X86
47	help
48	  Enables support for the PCI-based xHCI controller.
49
50config USB_XHCI_ROCKCHIP
51	bool "Support for Rockchip on-chip xHCI USB controller"
52	depends on ARCH_ROCKCHIP
53	depends on DM_REGULATOR
54	depends on DM_USB
55	default y
56	help
57	  Enables support for the on-chip xHCI controller on Rockchip SoCs.
58
59config USB_XHCI_RCAR
60	bool "Renesas RCar USB 3.0 support"
61	default y
62	depends on ARCH_RMOBILE
63	help
64	  Choose this option to add support for USB 3.0 driver on Renesas
65	  RCar Gen3 SoCs.
66
67config USB_XHCI_STI
68	bool "Support for STMicroelectronics STiH407 family on-chip xHCI USB controller"
69	depends on ARCH_STI
70	default y
71	help
72	  Enables support for the on-chip xHCI controller on STMicroelectronics
73	  STiH407 family SoCs. This is a driver for the dwc3 to provide the glue logic
74	  to configure the controller.
75
76config USB_XHCI_DRA7XX_INDEX
77	int "DRA7XX xHCI USB index"
78	range 0 1
79	default 0
80	depends on DRA7XX
81	help
82	  Select the DRA7XX xHCI USB index.
83	  Current supported values: 0, 1.
84
85config USB_XHCI_FSL
86	bool "Support for NXP Layerscape on-chip xHCI USB controller"
87	default y if ARCH_LS1021A || FSL_LSCH3 || FSL_LSCH2
88	depends on !SPL_NO_USB
89	help
90	  Enables support for the on-chip xHCI controller on NXP Layerscape SoCs.
91endif # USB_XHCI_HCD
92
93config USB_EHCI_HCD
94	bool "EHCI HCD (USB 2.0) support"
95	default y if ARCH_MX5 || ARCH_MX6
96	select USB_HOST
97	---help---
98	  The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
99	  "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
100	  If your USB host controller supports USB 2.0, you will likely want to
101	  configure this Host Controller Driver.
102
103	  EHCI controllers are packaged with "companion" host controllers (OHCI
104	  or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
105	  will connect to EHCI if the device is high speed, otherwise they
106	  connect to a companion controller.  If you configure EHCI, you should
107	  probably configure the OHCI (for NEC and some other vendors) USB Host
108	  Controller Driver or UHCI (for Via motherboards) Host Controller
109	  Driver too.
110
111	  You may want to read <file:Documentation/usb/ehci.txt>.
112
113if USB_EHCI_HCD
114
115config USB_EHCI_ATMEL
116	bool  "Support for Atmel on-chip EHCI USB controller"
117	depends on ARCH_AT91
118	default y
119	---help---
120	  Enables support for the on-chip EHCI controller on Atmel chips.
121
122config USB_EHCI_MARVELL
123	bool "Support for Marvell on-chip EHCI USB controller"
124	depends on ARCH_MVEBU || KIRKWOOD || ORION5X
125	default y
126	---help---
127	  Enables support for the on-chip EHCI controller on MVEBU SoCs.
128
129config USB_EHCI_MX5
130	bool "Support for i.MX5 on-chip EHCI USB controller"
131	depends on ARCH_MX5
132	default n
133	help
134	  Enables support for the on-chip EHCI controller on i.MX5 SoCs.
135
136config USB_EHCI_MX6
137	bool "Support for i.MX6/i.MX7ULP on-chip EHCI USB controller"
138	depends on ARCH_MX6 || ARCH_MX7ULP
139	default y
140	---help---
141	  Enables support for the on-chip EHCI controller on i.MX6 SoCs.
142
143config USB_EHCI_MX7
144	bool "Support for i.MX7 on-chip EHCI USB controller"
145	depends on ARCH_MX7
146	default y
147	---help---
148	  Enables support for the on-chip EHCI controller on i.MX7 SoCs.
149
150config USB_EHCI_OMAP
151	bool "Support for OMAP3+ on-chip EHCI USB controller"
152	depends on ARCH_OMAP2PLUS
153	default y
154	---help---
155	  Enables support for the on-chip EHCI controller on OMAP3 and later
156	  SoCs.
157
158config USB_EHCI_VF
159	bool "Support for Vybrid on-chip EHCI USB controller"
160	depends on ARCH_VF610
161	default y
162	help
163	  Enables support for the on-chip EHCI controller on Vybrid SoCs.
164
165if USB_EHCI_MX6 || USB_EHCI_MX7
166
167config MXC_USB_OTG_HACTIVE
168	bool "USB Power pin high active"
169	---help---
170	  Set the USB Power pin polarity to be high active (PWR_POL)
171
172endif
173
174config USB_EHCI_MSM
175	bool "Support for Qualcomm on-chip EHCI USB controller"
176	depends on DM_USB
177	select USB_ULPI_VIEWPORT
178	select MSM8916_USB_PHY
179	default n
180	---help---
181	  Enables support for the on-chip EHCI controller on Qualcomm
182	  Snapdragon SoCs.
183
184config USB_EHCI_PCI
185	bool "Support for PCI-based EHCI USB controller"
186	default y if X86
187	help
188	  Enables support for the PCI-based EHCI controller.
189
190config USB_EHCI_TEGRA
191	bool "Support for NVIDIA Tegra on-chip EHCI USB controller"
192	depends on TEGRA
193	---help---
194	  Enable support for Tegra on-chip EHCI USB controller
195
196config USB_EHCI_ZYNQ
197	bool "Support for Xilinx Zynq on-chip EHCI USB controller"
198	depends on ARCH_ZYNQ
199	default y
200	---help---
201	  Enable support for Zynq on-chip EHCI USB controller
202
203config USB_EHCI_GENERIC
204	bool "Support for generic EHCI USB controller"
205	depends on OF_CONTROL
206	depends on DM_USB
207	default ARCH_SUNXI
208	default n
209	---help---
210	  Enables support for generic EHCI controller.
211
212config USB_EHCI_FSL
213	bool  "Support for FSL on-chip EHCI USB controller"
214	default n
215	select  CONFIG_EHCI_HCD_INIT_AFTER_RESET
216	---help---
217	  Enables support for the on-chip EHCI controller on FSL chips.
218endif # USB_EHCI_HCD
219
220config USB_OHCI_HCD
221	bool "OHCI HCD (USB 1.1) support"
222	---help---
223	  The Open Host Controller Interface (OHCI) is a standard for accessing
224	  USB 1.1 host controller hardware.  It does more in hardware than Intel's
225	  UHCI specification.  If your USB host controller follows the OHCI spec,
226	  say Y.  On most non-x86 systems, and on x86 hardware that's not using a
227	  USB controller from Intel or VIA, this is appropriate.  If your host
228	  controller doesn't use PCI, this is probably appropriate.  For a PCI
229	  based system where you're not sure, the "lspci -v" entry will list the
230	  right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
231
232config USB_OHCI_PCI
233	bool "Support for PCI-based OHCI USB controller"
234	depends on DM_USB
235	default n
236	help
237	  Enables support for the PCI-based OHCI controller.
238
239if USB_OHCI_HCD
240
241config USB_OHCI_GENERIC
242	bool "Support for generic OHCI USB controller"
243	depends on OF_CONTROL
244	depends on DM_USB
245	default ARCH_SUNXI
246	select USB_HOST
247	---help---
248	  Enables support for generic OHCI controller.
249
250config USB_OHCI_DA8XX
251	bool "Support for da850 OHCI USB controller"
252	help
253	  Enable support for the da850 USB controller.
254
255endif # USB_OHCI_HCD
256
257config USB_UHCI_HCD
258	bool "UHCI HCD (most Intel and VIA) support"
259	select USB_HOST
260	---help---
261	  The Universal Host Controller Interface is a standard by Intel for
262	  accessing the USB hardware in the PC (which is also called the USB
263	  host controller). If your USB host controller conforms to this
264	  standard, you may want to say Y, but see below. All recent boards
265	  with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
266	  i810, i820) conform to this standard. Also all VIA PCI chipsets
267	  (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
268	  133) and LEON/GRLIB SoCs with the GRUSBHC controller.
269	  If unsure, say Y.
270
271if USB_UHCI_HCD
272
273endif # USB_UHCI_HCD
274
275config USB_DWC2
276	bool "DesignWare USB2 Core support"
277	select USB_HOST
278	---help---
279	  The DesignWare USB 2.0 controller is compliant with the
280	  USB-Implementers Forum (USB-IF) USB 2.0 specifications.
281	  Hi-Speed (480 Mbps), Full-Speed (12 Mbps), and Low-Speed (1.5 Mbps)
282	  operation is compliant to the controller Supplement. If you want to
283	  enable this controller in host mode, say Y.
284
285if USB_DWC2
286config USB_DWC2_BUFFER_SIZE
287	int "Data buffer size in kB"
288	default 64
289	---help---
290	  By default 64 kB buffer is used but if amount of RAM avaialble on
291	  the target is not enough to accommodate allocation of buffer of
292	  that size it is possible to shrink it. Smaller sizes should be fine
293	  because larger transactions could be split in smaller ones.
294
295endif # USB_DWC2
296
297config USB_R8A66597_HCD
298	bool "Renesas R8A66597 USB Core support"
299	depends on OF_CONTROL
300	depends on DM_USB
301	select USB_HOST
302	---help---
303	  This enables support for the on-chip Renesas R8A66597 USB 2.0
304	  controller, present in various RZ and SH SoCs.
305