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 STB03xxx || 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 39config USB_COMMON 40 tristate 41 42config USB_ARCH_HAS_HCD 43 def_bool y 44 45config USB 46 tristate "Support for Host-side USB" 47 depends on USB_ARCH_HAS_HCD 48 select GENERIC_ALLOCATOR 49 select USB_COMMON 50 select NLS # for UTF-8 strings 51 ---help--- 52 Universal Serial Bus (USB) is a specification for a serial bus 53 subsystem which offers higher speeds and more features than the 54 traditional PC serial port. The bus supplies power to peripherals 55 and allows for hot swapping. Up to 127 USB peripherals can be 56 connected to a single USB host in a tree structure. 57 58 The USB host is the root of the tree, the peripherals are the 59 leaves and the inner nodes are special USB devices called hubs. 60 Most PCs now have USB host ports, used to connect peripherals 61 such as scanners, keyboards, mice, modems, cameras, disks, 62 flash memory, network links, and printers to the PC. 63 64 Say Y here if your computer has a host-side USB port and you want 65 to use USB devices. You then need to say Y to at least one of the 66 Host Controller Driver (HCD) options below. Choose a USB 1.1 67 controller, such as "UHCI HCD support" or "OHCI HCD support", 68 and "EHCI HCD (USB 2.0) support" except for older systems that 69 do not have USB 2.0 support. It doesn't normally hurt to select 70 them all if you are not certain. 71 72 If your system has a device-side USB port, used in the peripheral 73 side of the USB protocol, see the "USB Gadget" framework instead. 74 75 After choosing your HCD, then select drivers for the USB peripherals 76 you'll be using. You may want to check out the information provided 77 in <file:Documentation/usb/> and especially the links given in 78 <file:Documentation/usb/usb-help.rst>. 79 80 To compile this driver as a module, choose M here: the 81 module will be called usbcore. 82 83config USB_PCI 84 bool "PCI based USB host interface" 85 depends on PCI 86 default y 87 ---help--- 88 Many embedded system SOCs (e.g. freescale T2080) have both 89 PCI and USB modules with the USB module directly controlled by 90 registers and having no relationship to the PCI module. 91 92 If you have such a device you may say N here and PCI related code 93 will not be built in the USB driver. 94 95if USB 96 97source "drivers/usb/core/Kconfig" 98 99source "drivers/usb/mon/Kconfig" 100 101source "drivers/usb/wusbcore/Kconfig" 102 103source "drivers/usb/host/Kconfig" 104 105source "drivers/usb/renesas_usbhs/Kconfig" 106 107source "drivers/usb/class/Kconfig" 108 109source "drivers/usb/storage/Kconfig" 110 111source "drivers/usb/image/Kconfig" 112 113source "drivers/usb/usbip/Kconfig" 114 115endif 116 117source "drivers/usb/mtu3/Kconfig" 118 119source "drivers/usb/musb/Kconfig" 120 121source "drivers/usb/dwc3/Kconfig" 122 123source "drivers/usb/dwc2/Kconfig" 124 125source "drivers/usb/chipidea/Kconfig" 126 127source "drivers/usb/isp1760/Kconfig" 128 129comment "USB port drivers" 130 131if USB 132 133config USB_USS720 134 tristate "USS720 parport driver" 135 depends on PARPORT 136 select PARPORT_NOT_PC 137 ---help--- 138 This driver is for USB parallel port adapters that use the Lucent 139 Technologies USS-720 chip. These cables are plugged into your USB 140 port and provide USB compatibility to peripherals designed with 141 parallel port interfaces. 142 143 The chip has two modes: automatic mode and manual mode. In automatic 144 mode, it looks to the computer like a standard USB printer. Only 145 printers may be connected to the USS-720 in this mode. The generic 146 USB printer driver ("USB Printer support", above) may be used in 147 that mode, and you can say N here if you want to use the chip only 148 in this mode. 149 150 Manual mode is not limited to printers, any parallel port 151 device should work. This driver utilizes manual mode. 152 Note however that some operations are three orders of magnitude 153 slower than on a PCI/ISA Parallel Port, so timing critical 154 applications might not work. 155 156 Say Y here if you own an USS-720 USB->Parport cable and intend to 157 connect anything other than a printer to it. 158 159 To compile this driver as a module, choose M here: the 160 module will be called uss720. 161 162source "drivers/usb/serial/Kconfig" 163 164source "drivers/usb/misc/Kconfig" 165 166source "drivers/usb/atm/Kconfig" 167 168endif # USB 169 170source "drivers/usb/phy/Kconfig" 171 172source "drivers/usb/gadget/Kconfig" 173 174source "drivers/usb/typec/Kconfig" 175 176source "drivers/usb/roles/Kconfig" 177 178config USB_LED_TRIG 179 bool "USB LED Triggers" 180 depends on LEDS_CLASS && LEDS_TRIGGERS 181 select USB_COMMON 182 help 183 This option adds LED triggers for USB host and/or gadget activity. 184 185 Say Y here if you are working on a system with led-class supported 186 LEDs and you want to use them as activity indicators for USB host or 187 gadget. 188 189config USB_ULPI_BUS 190 tristate "USB ULPI PHY interface support" 191 select USB_COMMON 192 help 193 UTMI+ Low Pin Interface (ULPI) is specification for a commonly used 194 USB 2.0 PHY interface. The ULPI specification defines a standard set 195 of registers that can be used to detect the vendor and product which 196 allows ULPI to be handled as a bus. This module is the driver for that 197 bus. 198 199 The ULPI interfaces (the buses) are registered by the drivers for USB 200 controllers which support ULPI register access and have ULPI PHY 201 attached to them. The ULPI PHY drivers themselves are normal PHY 202 drivers. 203 204 ULPI PHYs provide often functions such as ADP sensing/probing (OTG 205 protocol) and USB charger detection. 206 207 To compile this driver as a module, choose M here: the module will 208 be called ulpi. 209 210endif # USB_SUPPORT 211