xref: /openbmc/linux/drivers/usb/Kconfig (revision ec897569)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# USB device configuration
31da177e4SLinus Torvalds#
41da177e4SLinus Torvalds
5900e0621SDavid Daneyconfig USB_OHCI_BIG_ENDIAN_DESC
6900e0621SDavid Daney	bool
7900e0621SDavid Daney
8900e0621SDavid Daneyconfig USB_OHCI_BIG_ENDIAN_MMIO
9900e0621SDavid Daney	bool
10900e0621SDavid Daney
11900e0621SDavid Daneyconfig USB_OHCI_LITTLE_ENDIAN
12900e0621SDavid Daney	bool
13900e0621SDavid Daney	default n if STB03xxx || PPC_MPC52xx
14900e0621SDavid Daney	default y
15900e0621SDavid Daney
16900e0621SDavid Daneyconfig USB_EHCI_BIG_ENDIAN_MMIO
17900e0621SDavid Daney	bool
18900e0621SDavid Daney
19900e0621SDavid Daneyconfig USB_EHCI_BIG_ENDIAN_DESC
20900e0621SDavid Daney	bool
21900e0621SDavid Daney
22*ec897569SJames Hoganconfig USB_UHCI_BIG_ENDIAN_MMIO
23*ec897569SJames Hogan	bool
24*ec897569SJames Hogan	default y if SPARC_LEON
25*ec897569SJames Hogan
26*ec897569SJames Hoganconfig USB_UHCI_BIG_ENDIAN_DESC
27*ec897569SJames Hogan	bool
28*ec897569SJames Hogan	default y if SPARC_LEON
29*ec897569SJames Hogan
30a8edc42aSDavid Daneymenuconfig USB_SUPPORT
31a8edc42aSDavid Daney	bool "USB support"
32a8edc42aSDavid Daney	depends on HAS_IOMEM
33a8edc42aSDavid Daney	default y
34a8edc42aSDavid Daney	---help---
35a8edc42aSDavid Daney	  This option adds core support for Universal Serial Bus (USB).
36a8edc42aSDavid Daney	  You will also need drivers from the following menu to make use of it.
37a8edc42aSDavid Daney
3853c6bc24SDavid Daneyif USB_SUPPORT
3953c6bc24SDavid Daney
4053c6bc24SDavid Daneyconfig USB_COMMON
4153c6bc24SDavid Daney	tristate
4253c6bc24SDavid Daney
4353c6bc24SDavid Daneyconfig USB_ARCH_HAS_HCD
44d9ea21a7SArnd Bergmann	def_bool y
4553c6bc24SDavid Daney
461da177e4SLinus Torvaldsconfig USB
471da177e4SLinus Torvalds	tristate "Support for Host-side USB"
481da177e4SLinus Torvalds	depends on USB_ARCH_HAS_HCD
49badf6d47SArnd Bergmann	select USB_COMMON
50a853a3d4SClemens Ladisch	select NLS  # for UTF-8 strings
511da177e4SLinus Torvalds	---help---
521da177e4SLinus Torvalds	  Universal Serial Bus (USB) is a specification for a serial bus
531da177e4SLinus Torvalds	  subsystem which offers higher speeds and more features than the
541da177e4SLinus Torvalds	  traditional PC serial port.  The bus supplies power to peripherals
551da177e4SLinus Torvalds	  and allows for hot swapping.  Up to 127 USB peripherals can be
561da177e4SLinus Torvalds	  connected to a single USB host in a tree structure.
571da177e4SLinus Torvalds
581da177e4SLinus Torvalds	  The USB host is the root of the tree, the peripherals are the
591da177e4SLinus Torvalds	  leaves and the inner nodes are special USB devices called hubs.
601da177e4SLinus Torvalds	  Most PCs now have USB host ports, used to connect peripherals
611da177e4SLinus Torvalds	  such as scanners, keyboards, mice, modems, cameras, disks,
621da177e4SLinus Torvalds	  flash memory, network links, and printers to the PC.
631da177e4SLinus Torvalds
641da177e4SLinus Torvalds	  Say Y here if your computer has a host-side USB port and you want
651da177e4SLinus Torvalds	  to use USB devices.  You then need to say Y to at least one of the
661da177e4SLinus Torvalds	  Host Controller Driver (HCD) options below.  Choose a USB 1.1
671da177e4SLinus Torvalds	  controller, such as "UHCI HCD support" or "OHCI HCD support",
681da177e4SLinus Torvalds	  and "EHCI HCD (USB 2.0) support" except for older systems that
691da177e4SLinus Torvalds	  do not have USB 2.0 support.  It doesn't normally hurt to select
701da177e4SLinus Torvalds	  them all if you are not certain.
711da177e4SLinus Torvalds
721da177e4SLinus Torvalds	  If your system has a device-side USB port, used in the peripheral
731da177e4SLinus Torvalds	  side of the USB protocol, see the "USB Gadget" framework instead.
741da177e4SLinus Torvalds
751da177e4SLinus Torvalds	  After choosing your HCD, then select drivers for the USB peripherals
761da177e4SLinus Torvalds	  you'll be using.  You may want to check out the information provided
771da177e4SLinus Torvalds	  in <file:Documentation/usb/> and especially the links given in
781da177e4SLinus Torvalds	  <file:Documentation/usb/usb-help.txt>.
791da177e4SLinus Torvalds
801da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
811da177e4SLinus Torvalds	  module will be called usbcore.
821da177e4SLinus Torvalds
832c93e790Syuan linyuconfig USB_PCI
842c93e790Syuan linyu	bool "PCI based USB host interface"
852c93e790Syuan linyu	depends on PCI
862c93e790Syuan linyu	default y
872c93e790Syuan linyu	---help---
882bb80de7SChris Mayo	  Many embedded system SOCs (e.g. freescale T2080) have both
892bb80de7SChris Mayo	  PCI and USB modules with the USB module directly controlled by
902bb80de7SChris Mayo	  registers and having no relationship to the PCI module.
912c93e790Syuan linyu
922bb80de7SChris Mayo	  If you have such a device you may say N here and PCI related code
932bb80de7SChris Mayo	  will not be built in the USB driver.
942c93e790Syuan linyu
9525e11ec4SFlorian Fainelliif USB
961da177e4SLinus Torvalds
9725e11ec4SFlorian Fainellisource "drivers/usb/core/Kconfig"
9872246da4SFelipe Balbi
993bea302dSSimon Arlottsource "drivers/usb/mon/Kconfig"
1003bea302dSSimon Arlott
101470cc415SGreg Kroah-Hartmansource "drivers/usb/wusbcore/Kconfig"
102470cc415SGreg Kroah-Hartman
1031da177e4SLinus Torvaldssource "drivers/usb/host/Kconfig"
1041da177e4SLinus Torvalds
105f1407d5cSKuninori Morimotosource "drivers/usb/renesas_usbhs/Kconfig"
106f1407d5cSKuninori Morimoto
1071da177e4SLinus Torvaldssource "drivers/usb/class/Kconfig"
1081da177e4SLinus Torvalds
1091da177e4SLinus Torvaldssource "drivers/usb/storage/Kconfig"
1101da177e4SLinus Torvalds
1111da177e4SLinus Torvaldssource "drivers/usb/image/Kconfig"
1121da177e4SLinus Torvalds
11396c27377SValentina Maneasource "drivers/usb/usbip/Kconfig"
11496c27377SValentina Manea
11525e11ec4SFlorian Fainelliendif
11625e11ec4SFlorian Fainelli
117df2069acSChunfeng Yunsource "drivers/usb/mtu3/Kconfig"
118df2069acSChunfeng Yun
119845c071bSEzequiel Garciasource "drivers/usb/musb/Kconfig"
120845c071bSEzequiel Garcia
12125e11ec4SFlorian Fainellisource "drivers/usb/dwc3/Kconfig"
12225e11ec4SFlorian Fainelli
123197ba5f4SPaul Zimmermansource "drivers/usb/dwc2/Kconfig"
124197ba5f4SPaul Zimmerman
12525e11ec4SFlorian Fainellisource "drivers/usb/chipidea/Kconfig"
12625e11ec4SFlorian Fainelli
1277ef077a8SLaurent Pinchartsource "drivers/usb/isp1760/Kconfig"
1287ef077a8SLaurent Pinchart
1291da177e4SLinus Torvaldscomment "USB port drivers"
13025e11ec4SFlorian Fainelli
13125e11ec4SFlorian Fainelliif USB
1321da177e4SLinus Torvalds
1331da177e4SLinus Torvaldsconfig USB_USS720
1341da177e4SLinus Torvalds	tristate "USS720 parport driver"
13525e11ec4SFlorian Fainelli	depends on PARPORT
1361da177e4SLinus Torvalds	select PARPORT_NOT_PC
1371da177e4SLinus Torvalds	---help---
1381da177e4SLinus Torvalds	  This driver is for USB parallel port adapters that use the Lucent
1391da177e4SLinus Torvalds	  Technologies USS-720 chip. These cables are plugged into your USB
1401da177e4SLinus Torvalds	  port and provide USB compatibility to peripherals designed with
1411da177e4SLinus Torvalds	  parallel port interfaces.
1421da177e4SLinus Torvalds
1431da177e4SLinus Torvalds	  The chip has two modes: automatic mode and manual mode. In automatic
1441da177e4SLinus Torvalds	  mode, it looks to the computer like a standard USB printer. Only
1451da177e4SLinus Torvalds	  printers may be connected to the USS-720 in this mode. The generic
1461da177e4SLinus Torvalds	  USB printer driver ("USB Printer support", above) may be used in
1471da177e4SLinus Torvalds	  that mode, and you can say N here if you want to use the chip only
1481da177e4SLinus Torvalds	  in this mode.
1491da177e4SLinus Torvalds
1501da177e4SLinus Torvalds	  Manual mode is not limited to printers, any parallel port
1511da177e4SLinus Torvalds	  device should work. This driver utilizes manual mode.
1521da177e4SLinus Torvalds	  Note however that some operations are three orders of magnitude
1531da177e4SLinus Torvalds	  slower than on a PCI/ISA Parallel Port, so timing critical
1541da177e4SLinus Torvalds	  applications might not work.
1551da177e4SLinus Torvalds
1561da177e4SLinus Torvalds	  Say Y here if you own an USS-720 USB->Parport cable and intend to
1571da177e4SLinus Torvalds	  connect anything other than a printer to it.
1581da177e4SLinus Torvalds
1591da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
1601da177e4SLinus Torvalds	  module will be called uss720.
1611da177e4SLinus Torvalds
1621da177e4SLinus Torvaldssource "drivers/usb/serial/Kconfig"
1631da177e4SLinus Torvalds
1641da177e4SLinus Torvaldssource "drivers/usb/misc/Kconfig"
1651da177e4SLinus Torvalds
1661da177e4SLinus Torvaldssource "drivers/usb/atm/Kconfig"
1671da177e4SLinus Torvalds
16825e11ec4SFlorian Fainelliendif # USB
16925e11ec4SFlorian Fainelli
17025e11ec4SFlorian Fainellisource "drivers/usb/phy/Kconfig"
17125e11ec4SFlorian Fainelli
1721da177e4SLinus Torvaldssource "drivers/usb/gadget/Kconfig"
1731da177e4SLinus Torvalds
174fab92884SHeikki Krogerussource "drivers/usb/typec/Kconfig"
175fab92884SHeikki Krogerus
1760cfbd328SMichal Sojkaconfig USB_LED_TRIG
1770cfbd328SMichal Sojka	bool "USB LED Triggers"
178cb9c1cfcSPeter Chen	depends on LEDS_CLASS && LEDS_TRIGGERS
179cb9c1cfcSPeter Chen	select USB_COMMON
1800cfbd328SMichal Sojka	help
1810cfbd328SMichal Sojka	  This option adds LED triggers for USB host and/or gadget activity.
1820cfbd328SMichal Sojka
1830cfbd328SMichal Sojka	  Say Y here if you are working on a system with led-class supported
1840cfbd328SMichal Sojka	  LEDs and you want to use them as activity indicators for USB host or
1850cfbd328SMichal Sojka	  gadget.
1860cfbd328SMichal Sojka
187ad764c49SPeter Chenconfig USB_ULPI_BUS
188ad764c49SPeter Chen	tristate "USB ULPI PHY interface support"
189cb9c1cfcSPeter Chen	select USB_COMMON
190ad764c49SPeter Chen	help
191ad764c49SPeter Chen	  UTMI+ Low Pin Interface (ULPI) is specification for a commonly used
192ad764c49SPeter Chen	  USB 2.0 PHY interface. The ULPI specification defines a standard set
193ad764c49SPeter Chen	  of registers that can be used to detect the vendor and product which
194ad764c49SPeter Chen	  allows ULPI to be handled as a bus. This module is the driver for that
195ad764c49SPeter Chen	  bus.
196ad764c49SPeter Chen
197ad764c49SPeter Chen	  The ULPI interfaces (the buses) are registered by the drivers for USB
198ad764c49SPeter Chen	  controllers which support ULPI register access and have ULPI PHY
199ad764c49SPeter Chen	  attached to them. The ULPI PHY drivers themselves are normal PHY
200ad764c49SPeter Chen	  drivers.
201ad764c49SPeter Chen
202ad764c49SPeter Chen	  ULPI PHYs provide often functions such as ADP sensing/probing (OTG
203ad764c49SPeter Chen	  protocol) and USB charger detection.
204ad764c49SPeter Chen
205ad764c49SPeter Chen	  To compile this driver as a module, choose M here: the module will
206ad764c49SPeter Chen	  be called ulpi.
207ad764c49SPeter Chen
20804d06ad0SJan Engelhardtendif # USB_SUPPORT
209