xref: /openbmc/u-boot/drivers/usb/host/Kconfig (revision 93cb82477df06ab4f5fdda99a19d3f1b2b7c2eee)
16e7e9294SMasahiro Yamada#
26e7e9294SMasahiro Yamada# USB Host Controller Drivers
36e7e9294SMasahiro Yamada#
46e7e9294SMasahiro Yamadacomment "USB Host Controller Drivers"
56e7e9294SMasahiro Yamada
66e7e9294SMasahiro Yamadaconfig USB_XHCI_HCD
76e7e9294SMasahiro Yamada	bool "xHCI HCD (USB 3.0) support"
86e7e9294SMasahiro Yamada	---help---
96e7e9294SMasahiro Yamada	  The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
106e7e9294SMasahiro Yamada	  "SuperSpeed" host controller hardware.
116e7e9294SMasahiro Yamada
126e7e9294SMasahiro Yamadaif USB_XHCI_HCD
136e7e9294SMasahiro Yamada
141e7df7c4SMasahiro Yamadaconfig USB_XHCI_UNIPHIER
15b6ef3a3fSMasahiro Yamada	bool "Support for UniPhier on-chip xHCI USB controller"
161e7df7c4SMasahiro Yamada	depends on ARCH_UNIPHIER
171e7df7c4SMasahiro Yamada	default y
181e7df7c4SMasahiro Yamada	---help---
19b6ef3a3fSMasahiro Yamada	  Enables support for the on-chip xHCI controller on UniPhier SoCs.
201e7df7c4SMasahiro Yamada
2110db7500SMasahiro Yamadaconfig USB_XHCI_DWC3
2210db7500SMasahiro Yamada	bool "DesignWare USB3 DRD Core Support"
2310db7500SMasahiro Yamada	help
2410db7500SMasahiro Yamada	  Say Y or if your system has a Dual Role SuperSpeed
2510db7500SMasahiro Yamada	  USB controller based on the DesignWare USB3 IP Core.
2610db7500SMasahiro Yamada
27*93cb8247SMasahiro Yamadaendif # USB_XHCI_HCD
28fee331f6SAlexey Brodkin
296e7e9294SMasahiro Yamadaconfig USB_EHCI_HCD
306e7e9294SMasahiro Yamada	bool "EHCI HCD (USB 2.0) support"
316e7e9294SMasahiro Yamada	---help---
326e7e9294SMasahiro Yamada	  The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
336e7e9294SMasahiro Yamada	  "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
346e7e9294SMasahiro Yamada	  If your USB host controller supports USB 2.0, you will likely want to
356e7e9294SMasahiro Yamada	  configure this Host Controller Driver.
366e7e9294SMasahiro Yamada
376e7e9294SMasahiro Yamada	  EHCI controllers are packaged with "companion" host controllers (OHCI
386e7e9294SMasahiro Yamada	  or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
396e7e9294SMasahiro Yamada	  will connect to EHCI if the device is high speed, otherwise they
406e7e9294SMasahiro Yamada	  connect to a companion controller.  If you configure EHCI, you should
416e7e9294SMasahiro Yamada	  probably configure the OHCI (for NEC and some other vendors) USB Host
426e7e9294SMasahiro Yamada	  Controller Driver or UHCI (for Via motherboards) Host Controller
436e7e9294SMasahiro Yamada	  Driver too.
446e7e9294SMasahiro Yamada
456e7e9294SMasahiro Yamada	  You may want to read <file:Documentation/usb/ehci.txt>.
466e7e9294SMasahiro Yamada
476e7e9294SMasahiro Yamadaconfig USB_EHCI
486e7e9294SMasahiro Yamada	bool
496e7e9294SMasahiro Yamada	default USB_EHCI_HCD
506e7e9294SMasahiro Yamada	---help---
516e7e9294SMasahiro Yamada	  TODO: rename after most boards switch to Kconfig
526e7e9294SMasahiro Yamada
536e7e9294SMasahiro Yamadaif USB_EHCI_HCD
546e7e9294SMasahiro Yamada
55cd48225bSStefan Roeseconfig USB_EHCI_MARVELL
56cd48225bSStefan Roese	bool "Support for MVEBU (AXP / A38x) on-chip EHCI USB controller"
57cd48225bSStefan Roese	depends on ARCH_MVEBU
58cd48225bSStefan Roese	default y
59cd48225bSStefan Roese	---help---
60cd48225bSStefan Roese	  Enables support for the on-chip EHCI controller on MVEBU SoCs.
61cd48225bSStefan Roese
62919e802cSNikita Kiryanovconfig USB_EHCI_MX6
63919e802cSNikita Kiryanov	bool "Support for i.MX6 on-chip EHCI USB controller"
64919e802cSNikita Kiryanov	depends on ARCH_MX6
65919e802cSNikita Kiryanov	default y
66919e802cSNikita Kiryanov	---help---
67919e802cSNikita Kiryanov	  Enables support for the on-chip EHCI controller on i.MX6 SoCs.
68919e802cSNikita Kiryanov
692deebe24SStefan Agnerconfig USB_EHCI_MX7
702deebe24SStefan Agner	bool "Support for i.MX7 on-chip EHCI USB controller"
712deebe24SStefan Agner	depends on ARCH_MX7
722deebe24SStefan Agner	default y
732deebe24SStefan Agner	---help---
742deebe24SStefan Agner	  Enables support for the on-chip EHCI controller on i.MX7 SoCs.
752deebe24SStefan Agner
76c4483093SStefan Agnerif USB_EHCI_MX7
77c4483093SStefan Agner
78c4483093SStefan Agnerconfig MXC_USB_OTG_HACTIVE
79c4483093SStefan Agner	bool "USB Power pin high active"
80c4483093SStefan Agner	---help---
81c4483093SStefan Agner	  Set the USB Power pin polarity to be high active (PWR_POL)
82c4483093SStefan Agner
83c4483093SStefan Agnerendif
84c4483093SStefan Agner
855a822118SMateusz Kulikowskiconfig USB_EHCI_MSM
865a822118SMateusz Kulikowski	bool "Support for Qualcomm on-chip EHCI USB controller"
875a822118SMateusz Kulikowski	depends on DM_USB
885a822118SMateusz Kulikowski	select USB_ULPI_VIEWPORT
895a822118SMateusz Kulikowski	default n
905a822118SMateusz Kulikowski	---help---
915a822118SMateusz Kulikowski	  Enables support for the on-chip EHCI controller on Qualcomm
925a822118SMateusz Kulikowski	  Snapdragon SoCs.
935a822118SMateusz Kulikowski	  This driver supports combination of Chipidea USB controller
945a822118SMateusz Kulikowski	  and Synapsys USB PHY in host mode only.
955a822118SMateusz Kulikowski
962cdc778bSSiva Durga Prasad Paladuguconfig USB_EHCI_ZYNQ
972cdc778bSSiva Durga Prasad Paladugu	bool "Support for Xilinx Zynq on-chip EHCI USB controller"
982cdc778bSSiva Durga Prasad Paladugu	depends on ARCH_ZYNQ
992cdc778bSSiva Durga Prasad Paladugu	default y
1002cdc778bSSiva Durga Prasad Paladugu	---help---
1012cdc778bSSiva Durga Prasad Paladugu	  Enable support for Zynq on-chip EHCI USB controller
1022cdc778bSSiva Durga Prasad Paladugu
10390fbb282SAlexey Brodkinconfig USB_EHCI_GENERIC
10490fbb282SAlexey Brodkin	bool "Support for generic EHCI USB controller"
10590fbb282SAlexey Brodkin	depends on OF_CONTROL
10690fbb282SAlexey Brodkin	depends on DM_USB
10790fbb282SAlexey Brodkin	default n
10890fbb282SAlexey Brodkin	---help---
10990fbb282SAlexey Brodkin	  Enables support for generic EHCI controller.
11090fbb282SAlexey Brodkin
111*93cb8247SMasahiro Yamadaendif # USB_EHCI_HCD
112*93cb8247SMasahiro Yamada
113*93cb8247SMasahiro Yamadaconfig USB_OHCI_HCD
114*93cb8247SMasahiro Yamada	bool "OHCI HCD (USB 1.1) support"
115*93cb8247SMasahiro Yamada	---help---
116*93cb8247SMasahiro Yamada	  The Open Host Controller Interface (OHCI) is a standard for accessing
117*93cb8247SMasahiro Yamada	  USB 1.1 host controller hardware.  It does more in hardware than Intel's
118*93cb8247SMasahiro Yamada	  UHCI specification.  If your USB host controller follows the OHCI spec,
119*93cb8247SMasahiro Yamada	  say Y.  On most non-x86 systems, and on x86 hardware that's not using a
120*93cb8247SMasahiro Yamada	  USB controller from Intel or VIA, this is appropriate.  If your host
121*93cb8247SMasahiro Yamada	  controller doesn't use PCI, this is probably appropriate.  For a PCI
122*93cb8247SMasahiro Yamada	  based system where you're not sure, the "lspci -v" entry will list the
123*93cb8247SMasahiro Yamada	  right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
124*93cb8247SMasahiro Yamada
125*93cb8247SMasahiro Yamadaif USB_OHCI_HCD
126*93cb8247SMasahiro Yamada
127*93cb8247SMasahiro Yamadaconfig USB_OHCI_GENERIC
128*93cb8247SMasahiro Yamada	bool "Support for generic OHCI USB controller"
129*93cb8247SMasahiro Yamada	depends on OF_CONTROL
130*93cb8247SMasahiro Yamada	depends on DM_USB
131*93cb8247SMasahiro Yamada	---help---
132*93cb8247SMasahiro Yamada	  Enables support for generic OHCI controller.
133*93cb8247SMasahiro Yamada
134*93cb8247SMasahiro Yamadaendif # USB_OHCI_HCD
135