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