16e7e9294SMasahiro Yamada# 26e7e9294SMasahiro Yamada# USB Host Controller Drivers 36e7e9294SMasahiro Yamada# 46e7e9294SMasahiro Yamadacomment "USB Host Controller Drivers" 56e7e9294SMasahiro Yamada 62b58e1b7SMasahiro Yamadaconfig USB_HOST 72b58e1b7SMasahiro Yamada bool 82b58e1b7SMasahiro Yamada 96e7e9294SMasahiro Yamadaconfig USB_XHCI_HCD 106e7e9294SMasahiro Yamada bool "xHCI HCD (USB 3.0) support" 112b58e1b7SMasahiro Yamada select USB_HOST 126e7e9294SMasahiro Yamada ---help--- 136e7e9294SMasahiro Yamada The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0 146e7e9294SMasahiro Yamada "SuperSpeed" host controller hardware. 156e7e9294SMasahiro Yamada 166e7e9294SMasahiro Yamadaif USB_XHCI_HCD 176e7e9294SMasahiro Yamada 1810db7500SMasahiro Yamadaconfig USB_XHCI_DWC3 1910db7500SMasahiro Yamada bool "DesignWare USB3 DRD Core Support" 2010db7500SMasahiro Yamada help 2110db7500SMasahiro Yamada Say Y or if your system has a Dual Role SuperSpeed 2210db7500SMasahiro Yamada USB controller based on the DesignWare USB3 IP Core. 2310db7500SMasahiro Yamada 24*81c1f6f0SStefan Roeseconfig USB_XHCI_MVEBU 25*81c1f6f0SStefan Roese bool "MVEBU USB 3.0 support" 26*81c1f6f0SStefan Roese default y 27*81c1f6f0SStefan Roese depends on ARCH_MVEBU 28*81c1f6f0SStefan Roese help 29*81c1f6f0SStefan Roese Choose this option to add support for USB 3.0 driver on mvebu 30*81c1f6f0SStefan Roese SoCs, which includes Armada8K, Armada3700 and other Armada 31*81c1f6f0SStefan Roese family SoCs. 32*81c1f6f0SStefan Roese 33f7bb27a5SKever Yangconfig USB_XHCI_ROCKCHIP 34f7bb27a5SKever Yang bool "Support for Rockchip on-chip xHCI USB controller" 35f7bb27a5SKever Yang depends on ARCH_ROCKCHIP 36f7bb27a5SKever Yang default y 37f7bb27a5SKever Yang help 38f7bb27a5SKever Yang Enables support for the on-chip xHCI controller on Rockchip SoCs. 39f7bb27a5SKever Yang 4093cb8247SMasahiro Yamadaendif # USB_XHCI_HCD 41fee331f6SAlexey Brodkin 426e7e9294SMasahiro Yamadaconfig USB_EHCI_HCD 436e7e9294SMasahiro Yamada bool "EHCI HCD (USB 2.0) support" 442b58e1b7SMasahiro Yamada select USB_HOST 456e7e9294SMasahiro Yamada ---help--- 466e7e9294SMasahiro Yamada The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0 476e7e9294SMasahiro Yamada "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware. 486e7e9294SMasahiro Yamada If your USB host controller supports USB 2.0, you will likely want to 496e7e9294SMasahiro Yamada configure this Host Controller Driver. 506e7e9294SMasahiro Yamada 516e7e9294SMasahiro Yamada EHCI controllers are packaged with "companion" host controllers (OHCI 526e7e9294SMasahiro Yamada or UHCI) to handle USB 1.1 devices connected to root hub ports. Ports 536e7e9294SMasahiro Yamada will connect to EHCI if the device is high speed, otherwise they 546e7e9294SMasahiro Yamada connect to a companion controller. If you configure EHCI, you should 556e7e9294SMasahiro Yamada probably configure the OHCI (for NEC and some other vendors) USB Host 566e7e9294SMasahiro Yamada Controller Driver or UHCI (for Via motherboards) Host Controller 576e7e9294SMasahiro Yamada Driver too. 586e7e9294SMasahiro Yamada 596e7e9294SMasahiro Yamada You may want to read <file:Documentation/usb/ehci.txt>. 606e7e9294SMasahiro Yamada 616e7e9294SMasahiro Yamadaconfig USB_EHCI 626e7e9294SMasahiro Yamada bool 636e7e9294SMasahiro Yamada default USB_EHCI_HCD 646e7e9294SMasahiro Yamada ---help--- 656e7e9294SMasahiro Yamada TODO: rename after most boards switch to Kconfig 666e7e9294SMasahiro Yamada 676e7e9294SMasahiro Yamadaif USB_EHCI_HCD 686e7e9294SMasahiro Yamada 6917b68b5aSWenyou Yangconfig USB_EHCI_ATMEL 7017b68b5aSWenyou Yang bool "Support for Atmel on-chip EHCI USB controller" 7117b68b5aSWenyou Yang depends on ARCH_AT91 7217b68b5aSWenyou Yang default y 7317b68b5aSWenyou Yang ---help--- 7417b68b5aSWenyou Yang Enables support for the on-chip EHCI controller on Atmel chips. 7517b68b5aSWenyou Yang 76cd48225bSStefan Roeseconfig USB_EHCI_MARVELL 77cd48225bSStefan Roese bool "Support for MVEBU (AXP / A38x) on-chip EHCI USB controller" 78cd48225bSStefan Roese depends on ARCH_MVEBU 79cd48225bSStefan Roese default y 80cd48225bSStefan Roese ---help--- 81cd48225bSStefan Roese Enables support for the on-chip EHCI controller on MVEBU SoCs. 82cd48225bSStefan Roese 83919e802cSNikita Kiryanovconfig USB_EHCI_MX6 84919e802cSNikita Kiryanov bool "Support for i.MX6 on-chip EHCI USB controller" 85919e802cSNikita Kiryanov depends on ARCH_MX6 86919e802cSNikita Kiryanov default y 87919e802cSNikita Kiryanov ---help--- 88919e802cSNikita Kiryanov Enables support for the on-chip EHCI controller on i.MX6 SoCs. 89919e802cSNikita Kiryanov 902deebe24SStefan Agnerconfig USB_EHCI_MX7 912deebe24SStefan Agner bool "Support for i.MX7 on-chip EHCI USB controller" 922deebe24SStefan Agner depends on ARCH_MX7 932deebe24SStefan Agner default y 942deebe24SStefan Agner ---help--- 952deebe24SStefan Agner Enables support for the on-chip EHCI controller on i.MX7 SoCs. 962deebe24SStefan Agner 97c4483093SStefan Agnerif USB_EHCI_MX7 98c4483093SStefan Agner 99c4483093SStefan Agnerconfig MXC_USB_OTG_HACTIVE 100c4483093SStefan Agner bool "USB Power pin high active" 101c4483093SStefan Agner ---help--- 102c4483093SStefan Agner Set the USB Power pin polarity to be high active (PWR_POL) 103c4483093SStefan Agner 104c4483093SStefan Agnerendif 105c4483093SStefan Agner 1065a822118SMateusz Kulikowskiconfig USB_EHCI_MSM 1075a822118SMateusz Kulikowski bool "Support for Qualcomm on-chip EHCI USB controller" 1085a822118SMateusz Kulikowski depends on DM_USB 1095a822118SMateusz Kulikowski select USB_ULPI_VIEWPORT 1105a822118SMateusz Kulikowski default n 1115a822118SMateusz Kulikowski ---help--- 1125a822118SMateusz Kulikowski Enables support for the on-chip EHCI controller on Qualcomm 1135a822118SMateusz Kulikowski Snapdragon SoCs. 1145a822118SMateusz Kulikowski This driver supports combination of Chipidea USB controller 1155a822118SMateusz Kulikowski and Synapsys USB PHY in host mode only. 1165a822118SMateusz Kulikowski 1172cdc778bSSiva Durga Prasad Paladuguconfig USB_EHCI_ZYNQ 1182cdc778bSSiva Durga Prasad Paladugu bool "Support for Xilinx Zynq on-chip EHCI USB controller" 1192cdc778bSSiva Durga Prasad Paladugu depends on ARCH_ZYNQ 1202cdc778bSSiva Durga Prasad Paladugu default y 1212cdc778bSSiva Durga Prasad Paladugu ---help--- 1222cdc778bSSiva Durga Prasad Paladugu Enable support for Zynq on-chip EHCI USB controller 1232cdc778bSSiva Durga Prasad Paladugu 12490fbb282SAlexey Brodkinconfig USB_EHCI_GENERIC 12590fbb282SAlexey Brodkin bool "Support for generic EHCI USB controller" 12690fbb282SAlexey Brodkin depends on OF_CONTROL 12790fbb282SAlexey Brodkin depends on DM_USB 12890fbb282SAlexey Brodkin default n 12990fbb282SAlexey Brodkin ---help--- 13090fbb282SAlexey Brodkin Enables support for generic EHCI controller. 13190fbb282SAlexey Brodkin 13293cb8247SMasahiro Yamadaendif # USB_EHCI_HCD 13393cb8247SMasahiro Yamada 13493cb8247SMasahiro Yamadaconfig USB_OHCI_HCD 13593cb8247SMasahiro Yamada bool "OHCI HCD (USB 1.1) support" 13693cb8247SMasahiro Yamada ---help--- 13793cb8247SMasahiro Yamada The Open Host Controller Interface (OHCI) is a standard for accessing 13893cb8247SMasahiro Yamada USB 1.1 host controller hardware. It does more in hardware than Intel's 13993cb8247SMasahiro Yamada UHCI specification. If your USB host controller follows the OHCI spec, 14093cb8247SMasahiro Yamada say Y. On most non-x86 systems, and on x86 hardware that's not using a 14193cb8247SMasahiro Yamada USB controller from Intel or VIA, this is appropriate. If your host 14293cb8247SMasahiro Yamada controller doesn't use PCI, this is probably appropriate. For a PCI 14393cb8247SMasahiro Yamada based system where you're not sure, the "lspci -v" entry will list the 14493cb8247SMasahiro Yamada right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI. 14593cb8247SMasahiro Yamada 14693cb8247SMasahiro Yamadaif USB_OHCI_HCD 14793cb8247SMasahiro Yamada 14893cb8247SMasahiro Yamadaconfig USB_OHCI_GENERIC 14993cb8247SMasahiro Yamada bool "Support for generic OHCI USB controller" 15093cb8247SMasahiro Yamada depends on OF_CONTROL 15193cb8247SMasahiro Yamada depends on DM_USB 1522b58e1b7SMasahiro Yamada select USB_HOST 15393cb8247SMasahiro Yamada ---help--- 15493cb8247SMasahiro Yamada Enables support for generic OHCI controller. 15593cb8247SMasahiro Yamada 15693cb8247SMasahiro Yamadaendif # USB_OHCI_HCD 15796d8284bSMasahiro Yamada 15896d8284bSMasahiro Yamadaconfig USB_UHCI_HCD 15996d8284bSMasahiro Yamada bool "UHCI HCD (most Intel and VIA) support" 1602b58e1b7SMasahiro Yamada select USB_HOST 16196d8284bSMasahiro Yamada ---help--- 16296d8284bSMasahiro Yamada The Universal Host Controller Interface is a standard by Intel for 16396d8284bSMasahiro Yamada accessing the USB hardware in the PC (which is also called the USB 16496d8284bSMasahiro Yamada host controller). If your USB host controller conforms to this 16596d8284bSMasahiro Yamada standard, you may want to say Y, but see below. All recent boards 16696d8284bSMasahiro Yamada with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX, 16796d8284bSMasahiro Yamada i810, i820) conform to this standard. Also all VIA PCI chipsets 16896d8284bSMasahiro Yamada (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro 16996d8284bSMasahiro Yamada 133) and LEON/GRLIB SoCs with the GRUSBHC controller. 17096d8284bSMasahiro Yamada If unsure, say Y. 17196d8284bSMasahiro Yamada 17296d8284bSMasahiro Yamadaif USB_UHCI_HCD 17396d8284bSMasahiro Yamada 17496d8284bSMasahiro Yamadaendif # USB_UHCI_HCD 175