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