xref: /openbmc/linux/drivers/usb/Kconfig (revision 1dd33a9f)
1cae8dc3bSGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
21da177e4SLinus Torvalds#
31da177e4SLinus Torvalds# USB device configuration
41da177e4SLinus Torvalds#
51da177e4SLinus Torvalds
6900e0621SDavid Daneyconfig USB_OHCI_BIG_ENDIAN_DESC
7900e0621SDavid Daney	bool
8900e0621SDavid Daney
9900e0621SDavid Daneyconfig USB_OHCI_BIG_ENDIAN_MMIO
10900e0621SDavid Daney	bool
11900e0621SDavid Daney
12900e0621SDavid Daneyconfig USB_OHCI_LITTLE_ENDIAN
13900e0621SDavid Daney	bool
14e77939eeSLukas Bulwahn	default n if PPC_MPC52xx
15900e0621SDavid Daney	default y
16900e0621SDavid Daney
17900e0621SDavid Daneyconfig USB_EHCI_BIG_ENDIAN_MMIO
18900e0621SDavid Daney	bool
19900e0621SDavid Daney
20900e0621SDavid Daneyconfig USB_EHCI_BIG_ENDIAN_DESC
21900e0621SDavid Daney	bool
22900e0621SDavid Daney
23ec897569SJames Hoganconfig USB_UHCI_BIG_ENDIAN_MMIO
24ec897569SJames Hogan	bool
25ec897569SJames Hogan
26ec897569SJames Hoganconfig USB_UHCI_BIG_ENDIAN_DESC
27ec897569SJames Hogan	bool
28ec897569SJames Hogan
29a8edc42aSDavid Daneymenuconfig USB_SUPPORT
30a8edc42aSDavid Daney	bool "USB support"
31a8edc42aSDavid Daney	depends on HAS_IOMEM
32a8edc42aSDavid Daney	default y
33a7f7f624SMasahiro Yamada	help
34a8edc42aSDavid Daney	  This option adds core support for Universal Serial Bus (USB).
35a8edc42aSDavid Daney	  You will also need drivers from the following menu to make use of it.
36a8edc42aSDavid Daney
3753c6bc24SDavid Daneyif USB_SUPPORT
3853c6bc24SDavid Daney
3912b591bcSChunfeng Yunsource "drivers/usb/common/Kconfig"
4053c6bc24SDavid Daney
4153c6bc24SDavid Daneyconfig USB_ARCH_HAS_HCD
42d9ea21a7SArnd Bergmann	def_bool y
4353c6bc24SDavid Daney
441da177e4SLinus Torvaldsconfig USB
451da177e4SLinus Torvalds	tristate "Support for Host-side USB"
461da177e4SLinus Torvalds	depends on USB_ARCH_HAS_HCD
47b0310c2fSLaurentiu Tudor	select GENERIC_ALLOCATOR
48badf6d47SArnd Bergmann	select USB_COMMON
49a853a3d4SClemens Ladisch	select NLS  # for UTF-8 strings
50a7f7f624SMasahiro Yamada	help
511da177e4SLinus Torvalds	  Universal Serial Bus (USB) is a specification for a serial bus
521da177e4SLinus Torvalds	  subsystem which offers higher speeds and more features than the
531da177e4SLinus Torvalds	  traditional PC serial port.  The bus supplies power to peripherals
541da177e4SLinus Torvalds	  and allows for hot swapping.  Up to 127 USB peripherals can be
551da177e4SLinus Torvalds	  connected to a single USB host in a tree structure.
561da177e4SLinus Torvalds
571da177e4SLinus Torvalds	  The USB host is the root of the tree, the peripherals are the
581da177e4SLinus Torvalds	  leaves and the inner nodes are special USB devices called hubs.
591da177e4SLinus Torvalds	  Most PCs now have USB host ports, used to connect peripherals
601da177e4SLinus Torvalds	  such as scanners, keyboards, mice, modems, cameras, disks,
611da177e4SLinus Torvalds	  flash memory, network links, and printers to the PC.
621da177e4SLinus Torvalds
631da177e4SLinus Torvalds	  Say Y here if your computer has a host-side USB port and you want
641da177e4SLinus Torvalds	  to use USB devices.  You then need to say Y to at least one of the
651da177e4SLinus Torvalds	  Host Controller Driver (HCD) options below.  Choose a USB 1.1
661da177e4SLinus Torvalds	  controller, such as "UHCI HCD support" or "OHCI HCD support",
671da177e4SLinus Torvalds	  and "EHCI HCD (USB 2.0) support" except for older systems that
681da177e4SLinus Torvalds	  do not have USB 2.0 support.  It doesn't normally hurt to select
691da177e4SLinus Torvalds	  them all if you are not certain.
701da177e4SLinus Torvalds
711da177e4SLinus Torvalds	  If your system has a device-side USB port, used in the peripheral
721da177e4SLinus Torvalds	  side of the USB protocol, see the "USB Gadget" framework instead.
731da177e4SLinus Torvalds
741da177e4SLinus Torvalds	  After choosing your HCD, then select drivers for the USB peripherals
751da177e4SLinus Torvalds	  you'll be using.  You may want to check out the information provided
761da177e4SLinus Torvalds	  in <file:Documentation/usb/> and especially the links given in
77ecefae6dSMauro Carvalho Chehab	  <file:Documentation/usb/usb-help.rst>.
781da177e4SLinus Torvalds
791da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
801da177e4SLinus Torvalds	  module will be called usbcore.
811da177e4SLinus Torvalds
822c93e790Syuan linyuconfig USB_PCI
832c93e790Syuan linyu	bool "PCI based USB host interface"
842c93e790Syuan linyu	depends on PCI
852c93e790Syuan linyu	default y
86a7f7f624SMasahiro Yamada	help
872bb80de7SChris Mayo	  Many embedded system SOCs (e.g. freescale T2080) have both
882bb80de7SChris Mayo	  PCI and USB modules with the USB module directly controlled by
892bb80de7SChris Mayo	  registers and having no relationship to the PCI module.
902c93e790Syuan linyu
912bb80de7SChris Mayo	  If you have such a device you may say N here and PCI related code
922bb80de7SChris Mayo	  will not be built in the USB driver.
932c93e790Syuan linyu
9425e11ec4SFlorian Fainelliif USB
951da177e4SLinus Torvalds
9625e11ec4SFlorian Fainellisource "drivers/usb/core/Kconfig"
9772246da4SFelipe Balbi
983bea302dSSimon Arlottsource "drivers/usb/mon/Kconfig"
993bea302dSSimon Arlott
1001da177e4SLinus Torvaldssource "drivers/usb/host/Kconfig"
1011da177e4SLinus Torvalds
102f1407d5cSKuninori Morimotosource "drivers/usb/renesas_usbhs/Kconfig"
103f1407d5cSKuninori Morimoto
1041da177e4SLinus Torvaldssource "drivers/usb/class/Kconfig"
1051da177e4SLinus Torvalds
1061da177e4SLinus Torvaldssource "drivers/usb/storage/Kconfig"
1071da177e4SLinus Torvalds
1081da177e4SLinus Torvaldssource "drivers/usb/image/Kconfig"
1091da177e4SLinus Torvalds
11096c27377SValentina Maneasource "drivers/usb/usbip/Kconfig"
11196c27377SValentina Manea
11225e11ec4SFlorian Fainelliendif
11325e11ec4SFlorian Fainelli
114*1dd33a9fSLinus Walleijcomment "USB dual-mode controller drivers"
115*1dd33a9fSLinus Walleij
1167733f6c3SPawel Laszczaksource "drivers/usb/cdns3/Kconfig"
1177733f6c3SPawel Laszczak
118*1dd33a9fSLinus Walleijsource "drivers/usb/fotg210/Kconfig"
119*1dd33a9fSLinus Walleij
120df2069acSChunfeng Yunsource "drivers/usb/mtu3/Kconfig"
121df2069acSChunfeng Yun
122845c071bSEzequiel Garciasource "drivers/usb/musb/Kconfig"
123845c071bSEzequiel Garcia
12425e11ec4SFlorian Fainellisource "drivers/usb/dwc3/Kconfig"
12525e11ec4SFlorian Fainelli
126197ba5f4SPaul Zimmermansource "drivers/usb/dwc2/Kconfig"
127197ba5f4SPaul Zimmerman
12825e11ec4SFlorian Fainellisource "drivers/usb/chipidea/Kconfig"
12925e11ec4SFlorian Fainelli
1307ef077a8SLaurent Pinchartsource "drivers/usb/isp1760/Kconfig"
1317ef077a8SLaurent Pinchart
1321da177e4SLinus Torvaldscomment "USB port drivers"
13325e11ec4SFlorian Fainelli
13425e11ec4SFlorian Fainelliif USB
1351da177e4SLinus Torvalds
1361da177e4SLinus Torvaldsconfig USB_USS720
1371da177e4SLinus Torvalds	tristate "USS720 parport driver"
13825e11ec4SFlorian Fainelli	depends on PARPORT
1391da177e4SLinus Torvalds	select PARPORT_NOT_PC
140a7f7f624SMasahiro Yamada	help
1411da177e4SLinus Torvalds	  This driver is for USB parallel port adapters that use the Lucent
1421da177e4SLinus Torvalds	  Technologies USS-720 chip. These cables are plugged into your USB
1431da177e4SLinus Torvalds	  port and provide USB compatibility to peripherals designed with
1441da177e4SLinus Torvalds	  parallel port interfaces.
1451da177e4SLinus Torvalds
1461da177e4SLinus Torvalds	  The chip has two modes: automatic mode and manual mode. In automatic
1471da177e4SLinus Torvalds	  mode, it looks to the computer like a standard USB printer. Only
1481da177e4SLinus Torvalds	  printers may be connected to the USS-720 in this mode. The generic
1491da177e4SLinus Torvalds	  USB printer driver ("USB Printer support", above) may be used in
1501da177e4SLinus Torvalds	  that mode, and you can say N here if you want to use the chip only
1511da177e4SLinus Torvalds	  in this mode.
1521da177e4SLinus Torvalds
1531da177e4SLinus Torvalds	  Manual mode is not limited to printers, any parallel port
1541da177e4SLinus Torvalds	  device should work. This driver utilizes manual mode.
1551da177e4SLinus Torvalds	  Note however that some operations are three orders of magnitude
1561da177e4SLinus Torvalds	  slower than on a PCI/ISA Parallel Port, so timing critical
1571da177e4SLinus Torvalds	  applications might not work.
1581da177e4SLinus Torvalds
1591da177e4SLinus Torvalds	  Say Y here if you own an USS-720 USB->Parport cable and intend to
1601da177e4SLinus Torvalds	  connect anything other than a printer to it.
1611da177e4SLinus Torvalds
1621da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
1631da177e4SLinus Torvalds	  module will be called uss720.
1641da177e4SLinus Torvalds
1651da177e4SLinus Torvaldssource "drivers/usb/serial/Kconfig"
1661da177e4SLinus Torvalds
1671da177e4SLinus Torvaldssource "drivers/usb/misc/Kconfig"
1681da177e4SLinus Torvalds
1691da177e4SLinus Torvaldssource "drivers/usb/atm/Kconfig"
1701da177e4SLinus Torvalds
17125e11ec4SFlorian Fainelliendif # USB
17225e11ec4SFlorian Fainelli
17325e11ec4SFlorian Fainellisource "drivers/usb/phy/Kconfig"
17425e11ec4SFlorian Fainelli
1751da177e4SLinus Torvaldssource "drivers/usb/gadget/Kconfig"
1761da177e4SLinus Torvalds
177fab92884SHeikki Krogerussource "drivers/usb/typec/Kconfig"
178fab92884SHeikki Krogerus
179f6fb9ec0SHans de Goedesource "drivers/usb/roles/Kconfig"
180f6fb9ec0SHans de Goede
18104d06ad0SJan Engelhardtendif # USB_SUPPORT
182