1# SPDX-License-Identifier: GPL-2.0 2# 3# USB device configuration 4# 5 6config USB_OHCI_BIG_ENDIAN_DESC 7 bool 8 9config USB_OHCI_BIG_ENDIAN_MMIO 10 bool 11 12config USB_OHCI_LITTLE_ENDIAN 13 bool 14 default n if PPC_MPC52xx 15 default y 16 17config USB_EHCI_BIG_ENDIAN_MMIO 18 bool 19 20config USB_EHCI_BIG_ENDIAN_DESC 21 bool 22 23config USB_UHCI_BIG_ENDIAN_MMIO 24 bool 25 26config USB_UHCI_BIG_ENDIAN_DESC 27 bool 28 29menuconfig USB_SUPPORT 30 bool "USB support" 31 depends on HAS_IOMEM 32 default y 33 help 34 This option adds core support for Universal Serial Bus (USB). 35 You will also need drivers from the following menu to make use of it. 36 37if USB_SUPPORT 38 39source "drivers/usb/common/Kconfig" 40 41config USB_ARCH_HAS_HCD 42 def_bool y 43 44config USB 45 tristate "Support for Host-side USB" 46 depends on USB_ARCH_HAS_HCD 47 select GENERIC_ALLOCATOR 48 select USB_COMMON 49 select NLS # for UTF-8 strings 50 help 51 Universal Serial Bus (USB) is a specification for a serial bus 52 subsystem which offers higher speeds and more features than the 53 traditional PC serial port. The bus supplies power to peripherals 54 and allows for hot swapping. Up to 127 USB peripherals can be 55 connected to a single USB host in a tree structure. 56 57 The USB host is the root of the tree, the peripherals are the 58 leaves and the inner nodes are special USB devices called hubs. 59 Most PCs now have USB host ports, used to connect peripherals 60 such as scanners, keyboards, mice, modems, cameras, disks, 61 flash memory, network links, and printers to the PC. 62 63 Say Y here if your computer has a host-side USB port and you want 64 to use USB devices. You then need to say Y to at least one of the 65 Host Controller Driver (HCD) options below. Choose a USB 1.1 66 controller, such as "UHCI HCD support" or "OHCI HCD support", 67 and "EHCI HCD (USB 2.0) support" except for older systems that 68 do not have USB 2.0 support. It doesn't normally hurt to select 69 them all if you are not certain. 70 71 If your system has a device-side USB port, used in the peripheral 72 side of the USB protocol, see the "USB Gadget" framework instead. 73 74 After choosing your HCD, then select drivers for the USB peripherals 75 you'll be using. You may want to check out the information provided 76 in <file:Documentation/usb/> and especially the links given in 77 <file:Documentation/usb/usb-help.rst>. 78 79 To compile this driver as a module, choose M here: the 80 module will be called usbcore. 81 82config USB_PCI 83 bool "PCI based USB host interface" 84 depends on PCI 85 default y 86 help 87 Many embedded system SOCs (e.g. freescale T2080) have both 88 PCI and USB modules with the USB module directly controlled by 89 registers and having no relationship to the PCI module. 90 91 If you have such a device you may say N here and PCI related code 92 will not be built in the USB driver. 93 94config USB_PCI_AMD 95 bool "AMD PCI USB host support" 96 depends on USB_PCI && HAS_IOPORT 97 default X86 || MACH_LOONGSON64 || PPC_PASEMI 98 help 99 Enable workarounds for USB implementation quirks in SB600/SB700/SB800 100 and later south bridge implementations. These are common on x86 PCs 101 with AMD CPUs but rarely used elsewhere, with the exception of a few 102 powerpc and mips desktop machines. 103 104if USB 105 106source "drivers/usb/core/Kconfig" 107 108source "drivers/usb/mon/Kconfig" 109 110source "drivers/usb/host/Kconfig" 111 112source "drivers/usb/renesas_usbhs/Kconfig" 113 114source "drivers/usb/class/Kconfig" 115 116source "drivers/usb/storage/Kconfig" 117 118source "drivers/usb/image/Kconfig" 119 120source "drivers/usb/usbip/Kconfig" 121 122endif 123 124comment "USB dual-mode controller drivers" 125 126source "drivers/usb/cdns3/Kconfig" 127 128source "drivers/usb/fotg210/Kconfig" 129 130source "drivers/usb/mtu3/Kconfig" 131 132source "drivers/usb/musb/Kconfig" 133 134source "drivers/usb/dwc3/Kconfig" 135 136source "drivers/usb/dwc2/Kconfig" 137 138source "drivers/usb/chipidea/Kconfig" 139 140source "drivers/usb/isp1760/Kconfig" 141 142comment "USB port drivers" 143 144if USB 145 146source "drivers/usb/serial/Kconfig" 147 148source "drivers/usb/misc/Kconfig" 149 150source "drivers/usb/atm/Kconfig" 151 152endif # USB 153 154source "drivers/usb/phy/Kconfig" 155 156source "drivers/usb/gadget/Kconfig" 157 158source "drivers/usb/typec/Kconfig" 159 160source "drivers/usb/roles/Kconfig" 161 162endif # USB_SUPPORT 163