1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# USB device configuration 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunconfig USB_OHCI_BIG_ENDIAN_DESC 7*4882a593Smuzhiyun bool 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunconfig USB_OHCI_BIG_ENDIAN_MMIO 10*4882a593Smuzhiyun bool 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunconfig USB_OHCI_LITTLE_ENDIAN 13*4882a593Smuzhiyun bool 14*4882a593Smuzhiyun default n if STB03xxx || PPC_MPC52xx 15*4882a593Smuzhiyun default y 16*4882a593Smuzhiyun 17*4882a593Smuzhiyunconfig USB_EHCI_BIG_ENDIAN_MMIO 18*4882a593Smuzhiyun bool 19*4882a593Smuzhiyun 20*4882a593Smuzhiyunconfig USB_EHCI_BIG_ENDIAN_DESC 21*4882a593Smuzhiyun bool 22*4882a593Smuzhiyun 23*4882a593Smuzhiyunconfig USB_UHCI_BIG_ENDIAN_MMIO 24*4882a593Smuzhiyun bool 25*4882a593Smuzhiyun 26*4882a593Smuzhiyunconfig USB_UHCI_BIG_ENDIAN_DESC 27*4882a593Smuzhiyun bool 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunmenuconfig USB_SUPPORT 30*4882a593Smuzhiyun bool "USB support" 31*4882a593Smuzhiyun depends on HAS_IOMEM 32*4882a593Smuzhiyun default y 33*4882a593Smuzhiyun help 34*4882a593Smuzhiyun This option adds core support for Universal Serial Bus (USB). 35*4882a593Smuzhiyun You will also need drivers from the following menu to make use of it. 36*4882a593Smuzhiyun 37*4882a593Smuzhiyunif USB_SUPPORT 38*4882a593Smuzhiyun 39*4882a593Smuzhiyunsource "drivers/usb/common/Kconfig" 40*4882a593Smuzhiyun 41*4882a593Smuzhiyunconfig USB_ARCH_HAS_HCD 42*4882a593Smuzhiyun def_bool y 43*4882a593Smuzhiyun 44*4882a593Smuzhiyunconfig USB 45*4882a593Smuzhiyun tristate "Support for Host-side USB" 46*4882a593Smuzhiyun depends on USB_ARCH_HAS_HCD 47*4882a593Smuzhiyun select GENERIC_ALLOCATOR 48*4882a593Smuzhiyun select USB_COMMON 49*4882a593Smuzhiyun select NLS # for UTF-8 strings 50*4882a593Smuzhiyun help 51*4882a593Smuzhiyun Universal Serial Bus (USB) is a specification for a serial bus 52*4882a593Smuzhiyun subsystem which offers higher speeds and more features than the 53*4882a593Smuzhiyun traditional PC serial port. The bus supplies power to peripherals 54*4882a593Smuzhiyun and allows for hot swapping. Up to 127 USB peripherals can be 55*4882a593Smuzhiyun connected to a single USB host in a tree structure. 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun The USB host is the root of the tree, the peripherals are the 58*4882a593Smuzhiyun leaves and the inner nodes are special USB devices called hubs. 59*4882a593Smuzhiyun Most PCs now have USB host ports, used to connect peripherals 60*4882a593Smuzhiyun such as scanners, keyboards, mice, modems, cameras, disks, 61*4882a593Smuzhiyun flash memory, network links, and printers to the PC. 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun Say Y here if your computer has a host-side USB port and you want 64*4882a593Smuzhiyun to use USB devices. You then need to say Y to at least one of the 65*4882a593Smuzhiyun Host Controller Driver (HCD) options below. Choose a USB 1.1 66*4882a593Smuzhiyun controller, such as "UHCI HCD support" or "OHCI HCD support", 67*4882a593Smuzhiyun and "EHCI HCD (USB 2.0) support" except for older systems that 68*4882a593Smuzhiyun do not have USB 2.0 support. It doesn't normally hurt to select 69*4882a593Smuzhiyun them all if you are not certain. 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun If your system has a device-side USB port, used in the peripheral 72*4882a593Smuzhiyun side of the USB protocol, see the "USB Gadget" framework instead. 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun After choosing your HCD, then select drivers for the USB peripherals 75*4882a593Smuzhiyun you'll be using. You may want to check out the information provided 76*4882a593Smuzhiyun in <file:Documentation/usb/> and especially the links given in 77*4882a593Smuzhiyun <file:Documentation/usb/usb-help.rst>. 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 80*4882a593Smuzhiyun module will be called usbcore. 81*4882a593Smuzhiyun 82*4882a593Smuzhiyunconfig USB_PCI 83*4882a593Smuzhiyun bool "PCI based USB host interface" 84*4882a593Smuzhiyun depends on PCI 85*4882a593Smuzhiyun default y 86*4882a593Smuzhiyun help 87*4882a593Smuzhiyun Many embedded system SOCs (e.g. freescale T2080) have both 88*4882a593Smuzhiyun PCI and USB modules with the USB module directly controlled by 89*4882a593Smuzhiyun registers and having no relationship to the PCI module. 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun If you have such a device you may say N here and PCI related code 92*4882a593Smuzhiyun will not be built in the USB driver. 93*4882a593Smuzhiyun 94*4882a593Smuzhiyunif USB 95*4882a593Smuzhiyun 96*4882a593Smuzhiyunsource "drivers/usb/core/Kconfig" 97*4882a593Smuzhiyun 98*4882a593Smuzhiyunsource "drivers/usb/mon/Kconfig" 99*4882a593Smuzhiyun 100*4882a593Smuzhiyunsource "drivers/usb/host/Kconfig" 101*4882a593Smuzhiyun 102*4882a593Smuzhiyunsource "drivers/usb/renesas_usbhs/Kconfig" 103*4882a593Smuzhiyun 104*4882a593Smuzhiyunsource "drivers/usb/class/Kconfig" 105*4882a593Smuzhiyun 106*4882a593Smuzhiyunsource "drivers/usb/storage/Kconfig" 107*4882a593Smuzhiyun 108*4882a593Smuzhiyunsource "drivers/usb/image/Kconfig" 109*4882a593Smuzhiyun 110*4882a593Smuzhiyunsource "drivers/usb/usbip/Kconfig" 111*4882a593Smuzhiyun 112*4882a593Smuzhiyunendif 113*4882a593Smuzhiyun 114*4882a593Smuzhiyunsource "drivers/usb/cdns3/Kconfig" 115*4882a593Smuzhiyun 116*4882a593Smuzhiyunsource "drivers/usb/mtu3/Kconfig" 117*4882a593Smuzhiyun 118*4882a593Smuzhiyunsource "drivers/usb/musb/Kconfig" 119*4882a593Smuzhiyun 120*4882a593Smuzhiyunsource "drivers/usb/dwc3/Kconfig" 121*4882a593Smuzhiyun 122*4882a593Smuzhiyunsource "drivers/usb/dwc2/Kconfig" 123*4882a593Smuzhiyun 124*4882a593Smuzhiyunsource "drivers/usb/chipidea/Kconfig" 125*4882a593Smuzhiyun 126*4882a593Smuzhiyunsource "drivers/usb/isp1760/Kconfig" 127*4882a593Smuzhiyun 128*4882a593Smuzhiyuncomment "USB port drivers" 129*4882a593Smuzhiyun 130*4882a593Smuzhiyunif USB 131*4882a593Smuzhiyun 132*4882a593Smuzhiyunconfig USB_USS720 133*4882a593Smuzhiyun tristate "USS720 parport driver" 134*4882a593Smuzhiyun depends on PARPORT 135*4882a593Smuzhiyun select PARPORT_NOT_PC 136*4882a593Smuzhiyun help 137*4882a593Smuzhiyun This driver is for USB parallel port adapters that use the Lucent 138*4882a593Smuzhiyun Technologies USS-720 chip. These cables are plugged into your USB 139*4882a593Smuzhiyun port and provide USB compatibility to peripherals designed with 140*4882a593Smuzhiyun parallel port interfaces. 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun The chip has two modes: automatic mode and manual mode. In automatic 143*4882a593Smuzhiyun mode, it looks to the computer like a standard USB printer. Only 144*4882a593Smuzhiyun printers may be connected to the USS-720 in this mode. The generic 145*4882a593Smuzhiyun USB printer driver ("USB Printer support", above) may be used in 146*4882a593Smuzhiyun that mode, and you can say N here if you want to use the chip only 147*4882a593Smuzhiyun in this mode. 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun Manual mode is not limited to printers, any parallel port 150*4882a593Smuzhiyun device should work. This driver utilizes manual mode. 151*4882a593Smuzhiyun Note however that some operations are three orders of magnitude 152*4882a593Smuzhiyun slower than on a PCI/ISA Parallel Port, so timing critical 153*4882a593Smuzhiyun applications might not work. 154*4882a593Smuzhiyun 155*4882a593Smuzhiyun Say Y here if you own an USS-720 USB->Parport cable and intend to 156*4882a593Smuzhiyun connect anything other than a printer to it. 157*4882a593Smuzhiyun 158*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 159*4882a593Smuzhiyun module will be called uss720. 160*4882a593Smuzhiyun 161*4882a593Smuzhiyunsource "drivers/usb/serial/Kconfig" 162*4882a593Smuzhiyun 163*4882a593Smuzhiyunsource "drivers/usb/misc/Kconfig" 164*4882a593Smuzhiyun 165*4882a593Smuzhiyunsource "drivers/usb/atm/Kconfig" 166*4882a593Smuzhiyun 167*4882a593Smuzhiyunendif # USB 168*4882a593Smuzhiyun 169*4882a593Smuzhiyunsource "drivers/usb/phy/Kconfig" 170*4882a593Smuzhiyun 171*4882a593Smuzhiyunsource "drivers/usb/gadget/Kconfig" 172*4882a593Smuzhiyun 173*4882a593Smuzhiyunsource "drivers/usb/typec/Kconfig" 174*4882a593Smuzhiyun 175*4882a593Smuzhiyunsource "drivers/usb/roles/Kconfig" 176*4882a593Smuzhiyun 177*4882a593Smuzhiyunendif # USB_SUPPORT 178