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