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