uboot/drivers/usb/host/Kconfig
<<
>>
Prefs
   1#
   2# USB Host Controller Drivers
   3#
   4comment "USB Host Controller Drivers"
   5
   6config USB_HOST
   7        bool
   8        select DM_USB
   9
  10config USB_XHCI_HCD
  11        bool "xHCI HCD (USB 3.0) support"
  12        depends on DM && OF_CONTROL
  13        select USB_HOST
  14        ---help---
  15          The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
  16          "SuperSpeed" host controller hardware.
  17
  18if USB_XHCI_HCD
  19
  20config USB_XHCI_DWC3
  21        bool "DesignWare USB3 DRD Core Support"
  22        help
  23          Say Y or if your system has a Dual Role SuperSpeed
  24          USB controller based on the DesignWare USB3 IP Core.
  25
  26config USB_XHCI_DWC3_OF_SIMPLE
  27        bool "DesignWare USB3 DRD Generic OF Simple Glue Layer"
  28        depends on DM_USB
  29        default y if ARCH_ROCKCHIP
  30        default y if DRA7XX
  31        help
  32          Support USB2/3 functionality in simple SoC integrations with
  33          USB controller based on the DesignWare USB3 IP Core.
  34
  35config USB_XHCI_MTK
  36        bool "Support for MediaTek on-chip xHCI USB controller"
  37        depends on ARCH_MEDIATEK
  38        help
  39          Enables support for the on-chip xHCI controller on MediaTek SoCs.
  40
  41config USB_XHCI_MVEBU
  42        bool "MVEBU USB 3.0 support"
  43        default y
  44        depends on ARCH_MVEBU
  45        select DM_REGULATOR
  46        help
  47          Choose this option to add support for USB 3.0 driver on mvebu
  48          SoCs, which includes Armada8K, Armada3700 and other Armada
  49          family SoCs.
  50
  51config USB_XHCI_OCTEON
  52        bool "Support for Marvell Octeon family on-chip xHCI USB controller"
  53        depends on ARCH_OCTEON
  54        default y
  55        help
  56          Enables support for the on-chip xHCI controller on Marvell Octeon
  57          family SoCs. This is a driver for the dwc3 to provide the glue logic
  58          to configure the controller.
  59
  60config USB_XHCI_OMAP
  61        bool "Support for TI OMAP family xHCI USB controller"
  62        depends on ARCH_OMAP2PLUS
  63        help
  64          Enables support for the on-chip xHCI controller found on some TI SoC
  65          families.  Note that some families have multiple contollers while
  66          others only have something such as DesignWare-based controllers.
  67          Consult the SoC documentation to determine if this option applies
  68          to your hardware.
  69
  70config USB_XHCI_PCI
  71        bool "Support for PCI-based xHCI USB controller"
  72        depends on DM_USB
  73        default y if X86
  74        help
  75          Enables support for the PCI-based xHCI controller.
  76
  77config USB_XHCI_RCAR
  78        bool "Renesas RCar USB 3.0 support"
  79        default y
  80        depends on ARCH_RMOBILE
  81        help
  82          Choose this option to add support for USB 3.0 driver on Renesas
  83          RCar Gen3 SoCs.
  84
  85config USB_XHCI_STI
  86        bool "Support for STMicroelectronics STiH407 family on-chip xHCI USB controller"
  87        depends on ARCH_STI
  88        default y
  89        help
  90          Enables support for the on-chip xHCI controller on STMicroelectronics
  91          STiH407 family SoCs. This is a driver for the dwc3 to provide the glue logic
  92          to configure the controller.
  93
  94config USB_XHCI_DRA7XX_INDEX
  95        int "DRA7XX xHCI USB index"
  96        range 0 1
  97        default 0
  98        depends on DRA7XX
  99        help
 100          Select the DRA7XX xHCI USB index.
 101          Current supported values: 0, 1.
 102
 103config USB_XHCI_FSL
 104        bool "Support for NXP Layerscape on-chip xHCI USB controller"
 105        default y if ARCH_LS1021A || FSL_LSCH3 || FSL_LSCH2
 106        depends on !SPL_NO_USB
 107        help
 108          Enables support for the on-chip xHCI controller on NXP Layerscape SoCs.
 109
 110config USB_XHCI_BRCM
 111        bool "Broadcom USB3 Host XHCI controller"
 112        depends on DM_USB
 113        help
 114          USB controller based on the Broadcom USB3 IP Core.
 115          Supports USB2/3 functionality.
 116
 117endif # USB_XHCI_HCD
 118
 119config USB_EHCI_HCD
 120        bool "EHCI HCD (USB 2.0) support"
 121        default y if ARCH_MX5 || ARCH_MX6
 122        depends on DM && OF_CONTROL
 123        select USB_HOST
 124        ---help---
 125          The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
 126          "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
 127          If your USB host controller supports USB 2.0, you will likely want to
 128          configure this Host Controller Driver.
 129
 130          EHCI controllers are packaged with "companion" host controllers (OHCI
 131          or UHCI) to handle USB 1.1 devices connected to root hub ports.  Ports
 132          will connect to EHCI if the device is high speed, otherwise they
 133          connect to a companion controller.  If you configure EHCI, you should
 134          probably configure the OHCI (for NEC and some other vendors) USB Host
 135          Controller Driver or UHCI (for Via motherboards) Host Controller
 136          Driver too.
 137
 138          You may want to read <file:Documentation/usb/ehci.txt>.
 139
 140if USB_EHCI_HCD
 141
 142config USB_EHCI_IS_TDI
 143        bool
 144
 145config USB_EHCI_ATMEL
 146        bool  "Support for Atmel on-chip EHCI USB controller"
 147        depends on ARCH_AT91
 148        default y
 149        ---help---
 150          Enables support for the on-chip EHCI controller on Atmel chips.
 151
 152config USB_EHCI_MARVELL
 153        bool "Support for Marvell on-chip EHCI USB controller"
 154        depends on ARCH_MVEBU || ARCH_KIRKWOOD || ARCH_ORION5X
 155        default y
 156        select USB_EHCI_IS_TDI if !ARM64
 157        ---help---
 158          Enables support for the on-chip EHCI controller on MVEBU SoCs.
 159
 160config USB_EHCI_MX5
 161        bool "Support for i.MX5 on-chip EHCI USB controller"
 162        depends on ARCH_MX5
 163        help
 164          Enables support for the on-chip EHCI controller on i.MX5 SoCs.
 165
 166config USB_EHCI_MX6
 167        bool "Support for i.MX6/i.MX7ULP on-chip EHCI USB controller"
 168        depends on ARCH_MX6 || ARCH_MX7ULP || ARCH_IMXRT
 169        default y
 170        ---help---
 171          Enables support for the on-chip EHCI controller on i.MX6 SoCs.
 172
 173config USB_EHCI_MX7
 174        bool "Support for i.MX7 on-chip EHCI USB controller"
 175        depends on ARCH_MX7 || IMX8M
 176        select PHY if IMX8M
 177        select NOP_PHY if IMX8M
 178        default y
 179        ---help---
 180          Enables support for the on-chip EHCI controller on i.MX7 SoCs.
 181
 182config USB_EHCI_MXS
 183        bool "Support for i.MX23 EHCI USB controller"
 184        depends on ARCH_MX23
 185        default y
 186        select USB_EHCI_IS_TDI
 187        help
 188          Enables support for the on-chip EHCI controller on i.MX23 SoCs.
 189
 190config USB_EHCI_OMAP
 191        bool "Support for OMAP3+ on-chip EHCI USB controller"
 192        depends on ARCH_OMAP2PLUS
 193        default y
 194        ---help---
 195          Enables support for the on-chip EHCI controller on OMAP3 and later
 196          SoCs.
 197
 198if USB_EHCI_OMAP
 199
 200config HAS_OMAP_EHCI_PHY1_RESET_GPIO
 201        bool "PHY #1 requires a GPIO hold to it in RESET while PHY settles"
 202        help
 203          Enable this to be able to configure the GPIO number used to hold the
 204          PHY in RESET for enough time until the PHY is settled and ready.
 205
 206config OMAP_EHCI_PHY1_RESET_GPIO
 207        int "GPIO number to hold PHY #1 in RESET"
 208        depends on HAS_OMAP_EHCI_PHY1_RESET_GPIO
 209
 210config HAS_OMAP_EHCI_PHY2_RESET_GPIO
 211        bool "PHY #2 requires a GPIO hold to it in RESET while PHY settles"
 212        help
 213          Enable this to be able to configure the GPIO number used to hold the
 214          PHY in RESET for enough time until the PHY is settled and ready.
 215
 216config OMAP_EHCI_PHY2_RESET_GPIO
 217        int "GPIO number to hold PHY #2 in RESET"
 218        depends on HAS_OMAP_EHCI_PHY2_RESET_GPIO
 219
 220config HAS_OMAP_EHCI_PHY3_RESET_GPIO
 221        bool "PHY #3 requires a GPIO hold to it in RESET while PHY settles"
 222        help
 223          Enable this to be able to configure the GPIO number used to hold the
 224          PHY in RESET for enough time until the PHY is settled and ready.
 225
 226config OMAP_EHCI_PHY3_RESET_GPIO
 227        int "GPIO number to hold PHY #3 in RESET"
 228        depends on HAS_OMAP_EHCI_PHY3_RESET_GPIO
 229
 230endif
 231
 232config USB_EHCI_VF
 233        bool "Support for Vybrid on-chip EHCI USB controller"
 234        depends on ARCH_VF610
 235        default y
 236        help
 237          Enables support for the on-chip EHCI controller on Vybrid SoCs.
 238
 239if USB_EHCI_MX6 || USB_EHCI_MX7
 240
 241config MXC_USB_OTG_HACTIVE
 242        bool "USB Power pin high active"
 243        ---help---
 244          Set the USB Power pin polarity to be high active (PWR_POL)
 245
 246endif
 247
 248config USB_EHCI_MSM
 249        bool "Support for Qualcomm on-chip EHCI USB controller"
 250        depends on DM_USB
 251        select USB_ULPI_VIEWPORT
 252        select MSM8916_USB_PHY
 253        ---help---
 254          Enables support for the on-chip EHCI controller on Qualcomm
 255          Snapdragon SoCs.
 256
 257config USB_EHCI_PCI
 258        bool "Support for PCI-based EHCI USB controller"
 259        default y if X86
 260        help
 261          Enables support for the PCI-based EHCI controller.
 262
 263config USB_EHCI_TEGRA
 264        bool "Support for NVIDIA Tegra on-chip EHCI USB controller"
 265        depends on ARCH_TEGRA
 266        select USB_EHCI_IS_TDI
 267        ---help---
 268          Enable support for Tegra on-chip EHCI USB controller
 269
 270config USB_EHCI_ZYNQ
 271        bool "Support for Xilinx Zynq on-chip EHCI USB controller"
 272        default y if ARCH_ZYNQ
 273        select USB_EHCI_IS_TDI
 274        ---help---
 275          Enable support for Zynq on-chip EHCI USB controller
 276
 277config USB_EHCI_GENERIC
 278        bool "Support for generic EHCI USB controller"
 279        depends on DM_USB
 280        default ARCH_SUNXI
 281        ---help---
 282          Enables support for generic EHCI controller.
 283
 284config USB_EHCI_FSL
 285        bool  "Support for FSL on-chip EHCI USB controller"
 286        select  CONFIG_EHCI_HCD_INIT_AFTER_RESET
 287        ---help---
 288          Enables support for the on-chip EHCI controller on FSL chips.
 289endif # USB_EHCI_HCD
 290
 291config USB_OHCI_HCD
 292        bool "OHCI HCD (USB 1.1) support"
 293        depends on DM && OF_CONTROL
 294        select USB_HOST
 295        ---help---
 296          The Open Host Controller Interface (OHCI) is a standard for accessing
 297          USB 1.1 host controller hardware.  It does more in hardware than Intel's
 298          UHCI specification.  If your USB host controller follows the OHCI spec,
 299          say Y.  On most non-x86 systems, and on x86 hardware that's not using a
 300          USB controller from Intel or VIA, this is appropriate.  If your host
 301          controller doesn't use PCI, this is probably appropriate.  For a PCI
 302          based system where you're not sure, the "lspci -v" entry will list the
 303          right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI.
 304
 305if USB_OHCI_HCD
 306
 307config USB_OHCI_PCI
 308        bool "Support for PCI-based OHCI USB controller"
 309        depends on PCI
 310        help
 311          Enables support for the PCI-based OHCI controller.
 312
 313config USB_OHCI_GENERIC
 314        bool "Support for generic OHCI USB controller"
 315        default ARCH_SUNXI
 316        ---help---
 317          Enables support for generic OHCI controller.
 318
 319config USB_OHCI_DA8XX
 320        bool "Support for da850 OHCI USB controller"
 321        help
 322          Enable support for the da850 USB controller.
 323
 324endif # USB_OHCI_HCD
 325
 326config USB_UHCI_HCD
 327        bool "UHCI HCD (most Intel and VIA) support"
 328        select USB_HOST
 329        ---help---
 330          The Universal Host Controller Interface is a standard by Intel for
 331          accessing the USB hardware in the PC (which is also called the USB
 332          host controller). If your USB host controller conforms to this
 333          standard, you may want to say Y, but see below. All recent boards
 334          with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX,
 335          i810, i820) conform to this standard. Also all VIA PCI chipsets
 336          (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro
 337          133) and LEON/GRLIB SoCs with the GRUSBHC controller.
 338          If unsure, say Y.
 339
 340if USB_UHCI_HCD
 341
 342endif # USB_UHCI_HCD
 343
 344config USB_DWC2
 345        bool "DesignWare USB2 Core support"
 346        depends on DM && OF_CONTROL
 347        select USB_HOST
 348        ---help---
 349          The DesignWare USB 2.0 controller is compliant with the
 350          USB-Implementers Forum (USB-IF) USB 2.0 specifications.
 351          Hi-Speed (480 Mbps), Full-Speed (12 Mbps), and Low-Speed (1.5 Mbps)
 352          operation is compliant to the controller Supplement. If you want to
 353          enable this controller in host mode, say Y.
 354
 355if USB_DWC2
 356config USB_DWC2_BUFFER_SIZE
 357        int "Data buffer size in kB"
 358        default 64
 359        ---help---
 360          By default 64 kB buffer is used but if amount of RAM avaialble on
 361          the target is not enough to accommodate allocation of buffer of
 362          that size it is possible to shrink it. Smaller sizes should be fine
 363          because larger transactions could be split in smaller ones.
 364
 365endif # USB_DWC2
 366
 367config USB_R8A66597_HCD
 368        bool "Renesas R8A66597 USB Core support"
 369        depends on DM && OF_CONTROL
 370        select USB_HOST
 371        ---help---
 372          This enables support for the on-chip Renesas R8A66597 USB 2.0
 373          controller, present in various RZ and SH SoCs.
 374