Merge branch 'master' of git://git.denx.de/u-boot-usb
[oweals/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
9 config 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
16 if USB_XHCI_HCD
17
18 config 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
24 config USB_XHCI_MVEBU
25         bool "MVEBU USB 3.0 support"
26         default y
27         depends on ARCH_MVEBU
28         help
29           Choose this option to add support for USB 3.0 driver on mvebu
30           SoCs, which includes Armada8K, Armada3700 and other Armada
31           family SoCs.
32
33 config USB_XHCI_ROCKCHIP
34         bool "Support for Rockchip on-chip xHCI USB controller"
35         depends on ARCH_ROCKCHIP
36         default y
37         help
38           Enables support for the on-chip xHCI controller on Rockchip SoCs.
39
40 endif # USB_XHCI_HCD
41
42 config USB_EHCI_HCD
43         bool "EHCI HCD (USB 2.0) support"
44         select USB_HOST
45         ---help---
46           The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
47           "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
48           If your USB host controller supports USB 2.0, you will likely want to
49           configure this Host Controller Driver.
50
51           EHCI controllers are packaged with "companion" host controllers (OHCI
52           or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
53           will connect to EHCI if the device is high speed, otherwise they
54           connect to a companion controller.  If you configure EHCI, you should
55           probably configure the OHCI (for NEC and some other vendors) USB Host
56           Controller Driver or UHCI (for Via motherboards) Host Controller
57           Driver too.
58
59           You may want to read <file:Documentation/usb/ehci.txt>.
60
61 config USB_EHCI
62         bool
63         default USB_EHCI_HCD
64         ---help---
65           TODO: rename after most boards switch to Kconfig
66
67 if USB_EHCI_HCD
68
69 config USB_EHCI_ATMEL
70         bool  "Support for Atmel on-chip EHCI USB controller"
71         depends on ARCH_AT91
72         default y
73         ---help---
74           Enables support for the on-chip EHCI controller on Atmel chips.
75
76 config USB_EHCI_MARVELL
77         bool "Support for MVEBU (AXP / A38x) on-chip EHCI USB controller"
78         depends on ARCH_MVEBU
79         default y
80         ---help---
81           Enables support for the on-chip EHCI controller on MVEBU SoCs.
82
83 config USB_EHCI_MX6
84         bool "Support for i.MX6 on-chip EHCI USB controller"
85         depends on ARCH_MX6
86         default y
87         ---help---
88           Enables support for the on-chip EHCI controller on i.MX6 SoCs.
89
90 config USB_EHCI_MX7
91         bool "Support for i.MX7 on-chip EHCI USB controller"
92         depends on ARCH_MX7
93         default y
94         ---help---
95           Enables support for the on-chip EHCI controller on i.MX7 SoCs.
96
97 if USB_EHCI_MX7
98
99 config MXC_USB_OTG_HACTIVE
100         bool "USB Power pin high active"
101         ---help---
102           Set the USB Power pin polarity to be high active (PWR_POL)
103
104 endif
105
106 config USB_EHCI_MSM
107         bool "Support for Qualcomm on-chip EHCI USB controller"
108         depends on DM_USB
109         select USB_ULPI_VIEWPORT
110         default n
111         ---help---
112           Enables support for the on-chip EHCI controller on Qualcomm
113           Snapdragon SoCs.
114           This driver supports combination of Chipidea USB controller
115           and Synapsys USB PHY in host mode only.
116
117 config USB_EHCI_ZYNQ
118         bool "Support for Xilinx Zynq on-chip EHCI USB controller"
119         depends on ARCH_ZYNQ
120         default y
121         ---help---
122           Enable support for Zynq on-chip EHCI USB controller
123
124 config USB_EHCI_GENERIC
125         bool "Support for generic EHCI USB controller"
126         depends on OF_CONTROL
127         depends on DM_USB
128         default n
129         ---help---
130           Enables support for generic EHCI controller.
131
132 endif # USB_EHCI_HCD
133
134 config USB_OHCI_HCD
135         bool "OHCI HCD (USB 1.1) support"
136         ---help---
137           The Open Host Controller Interface (OHCI) is a standard for accessing
138           USB 1.1 host controller hardware.  It does more in hardware than Intel's
139           UHCI specification.  If your USB host controller follows the OHCI spec,
140           say Y.  On most non-x86 systems, and on x86 hardware that's not using a
141           USB controller from Intel or VIA, this is appropriate.  If your host
142           controller doesn't use PCI, this is probably appropriate.  For a PCI
143           based system where you're not sure, the "lspci -v" entry will list the
144           right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
145
146 if USB_OHCI_HCD
147
148 config USB_OHCI_GENERIC
149         bool "Support for generic OHCI USB controller"
150         depends on OF_CONTROL
151         depends on DM_USB
152         select USB_HOST
153         ---help---
154           Enables support for generic OHCI controller.
155
156 endif # USB_OHCI_HCD
157
158 config USB_UHCI_HCD
159         bool "UHCI HCD (most Intel and VIA) support"
160         select USB_HOST
161         ---help---
162           The Universal Host Controller Interface is a standard by Intel for
163           accessing the USB hardware in the PC (which is also called the USB
164           host controller). If your USB host controller conforms to this
165           standard, you may want to say Y, but see below. All recent boards
166           with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
167           i810, i820) conform to this standard. Also all VIA PCI chipsets
168           (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
169           133) and LEON/GRLIB SoCs with the GRUSBHC controller.
170           If unsure, say Y.
171
172 if USB_UHCI_HCD
173
174 endif # USB_UHCI_HCD