xref: /linux/drivers/usb/Kconfig (revision 0ea5c948cb64bab5bc7a5516774eb8536f05aa0d)
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
94*52e24f8cSNiklas Schnelleconfig USB_PCI_AMD
95*52e24f8cSNiklas Schnelle	bool "AMD PCI USB host support"
96*52e24f8cSNiklas Schnelle	depends on USB_PCI && HAS_IOPORT
97*52e24f8cSNiklas Schnelle	default X86 || MACH_LOONGSON64 || PPC_PASEMI
98*52e24f8cSNiklas Schnelle	help
99*52e24f8cSNiklas Schnelle	  Enable workarounds for USB implementation quirks in SB600/SB700/SB800
100*52e24f8cSNiklas Schnelle	  and later south bridge implementations. These are common on x86 PCs
101*52e24f8cSNiklas Schnelle	  with AMD CPUs but rarely used elsewhere, with the exception of a few
102*52e24f8cSNiklas Schnelle	  powerpc and mips desktop machines.
103*52e24f8cSNiklas Schnelle
10425e11ec4SFlorian Fainelliif USB
1051da177e4SLinus Torvalds
10625e11ec4SFlorian Fainellisource "drivers/usb/core/Kconfig"
10772246da4SFelipe Balbi
1083bea302dSSimon Arlottsource "drivers/usb/mon/Kconfig"
1093bea302dSSimon Arlott
1101da177e4SLinus Torvaldssource "drivers/usb/host/Kconfig"
1111da177e4SLinus Torvalds
112f1407d5cSKuninori Morimotosource "drivers/usb/renesas_usbhs/Kconfig"
113f1407d5cSKuninori Morimoto
1141da177e4SLinus Torvaldssource "drivers/usb/class/Kconfig"
1151da177e4SLinus Torvalds
1161da177e4SLinus Torvaldssource "drivers/usb/storage/Kconfig"
1171da177e4SLinus Torvalds
1181da177e4SLinus Torvaldssource "drivers/usb/image/Kconfig"
1191da177e4SLinus Torvalds
12096c27377SValentina Maneasource "drivers/usb/usbip/Kconfig"
12196c27377SValentina Manea
12225e11ec4SFlorian Fainelliendif
12325e11ec4SFlorian Fainelli
1241dd33a9fSLinus Walleijcomment "USB dual-mode controller drivers"
1251dd33a9fSLinus Walleij
1267733f6c3SPawel Laszczaksource "drivers/usb/cdns3/Kconfig"
1277733f6c3SPawel Laszczak
1281dd33a9fSLinus Walleijsource "drivers/usb/fotg210/Kconfig"
1291dd33a9fSLinus Walleij
130df2069acSChunfeng Yunsource "drivers/usb/mtu3/Kconfig"
131df2069acSChunfeng Yun
132845c071bSEzequiel Garciasource "drivers/usb/musb/Kconfig"
133845c071bSEzequiel Garcia
13425e11ec4SFlorian Fainellisource "drivers/usb/dwc3/Kconfig"
13525e11ec4SFlorian Fainelli
136197ba5f4SPaul Zimmermansource "drivers/usb/dwc2/Kconfig"
137197ba5f4SPaul Zimmerman
13825e11ec4SFlorian Fainellisource "drivers/usb/chipidea/Kconfig"
13925e11ec4SFlorian Fainelli
1407ef077a8SLaurent Pinchartsource "drivers/usb/isp1760/Kconfig"
1417ef077a8SLaurent Pinchart
1421da177e4SLinus Torvaldscomment "USB port drivers"
14325e11ec4SFlorian Fainelli
14425e11ec4SFlorian Fainelliif USB
1451da177e4SLinus Torvalds
1461da177e4SLinus Torvaldssource "drivers/usb/serial/Kconfig"
1471da177e4SLinus Torvalds
1481da177e4SLinus Torvaldssource "drivers/usb/misc/Kconfig"
1491da177e4SLinus Torvalds
1501da177e4SLinus Torvaldssource "drivers/usb/atm/Kconfig"
1511da177e4SLinus Torvalds
15225e11ec4SFlorian Fainelliendif # USB
15325e11ec4SFlorian Fainelli
15425e11ec4SFlorian Fainellisource "drivers/usb/phy/Kconfig"
15525e11ec4SFlorian Fainelli
1561da177e4SLinus Torvaldssource "drivers/usb/gadget/Kconfig"
1571da177e4SLinus Torvalds
158fab92884SHeikki Krogerussource "drivers/usb/typec/Kconfig"
159fab92884SHeikki Krogerus
160f6fb9ec0SHans de Goedesource "drivers/usb/roles/Kconfig"
161f6fb9ec0SHans de Goede
16204d06ad0SJan Engelhardtendif # USB_SUPPORT
163