1# 2# USB device configuration 3# 4 5menuconfig USB_SUPPORT 6 bool "USB support" 7 depends on HAS_IOMEM 8 default y 9 ---help--- 10 This option adds core support for Universal Serial Bus (USB). 11 You will also need drivers from the following menu to make use of it. 12 13if USB_SUPPORT 14 15config USB_COMMON 16 tristate 17 default y 18 depends on USB || USB_GADGET 19 20# Host-side USB depends on having a host controller 21# NOTE: dummy_hcd is always an option, but it's ignored here ... 22# NOTE: SL-811 option should be board-specific ... 23config USB_ARCH_HAS_HCD 24 boolean 25 default y if USB_ARCH_HAS_OHCI 26 default y if USB_ARCH_HAS_EHCI 27 default y if USB_ARCH_HAS_XHCI 28 default y if PCMCIA && !M32R # sl811_cs 29 default y if ARM # SL-811 30 default y if BLACKFIN # SL-811 31 default y if SUPERH # r8a66597-hcd 32 default PCI 33 34# many non-PCI SOC chips embed OHCI 35config USB_ARCH_HAS_OHCI 36 boolean 37 # ARM: 38 default y if SA1111 39 default y if ARCH_OMAP 40 default y if ARCH_S3C2410 41 default y if PXA27x 42 default y if PXA3xx 43 default y if ARCH_EP93XX 44 default y if ARCH_AT91 45 default y if ARCH_PNX4008 && I2C 46 default y if MFD_TC6393XB 47 default y if ARCH_W90X900 48 default y if ARCH_DAVINCI_DA8XX 49 default y if ARCH_CNS3XXX 50 default y if PLAT_SPEAR 51 # PPC: 52 default y if STB03xxx 53 default y if PPC_MPC52xx 54 # MIPS: 55 default y if MIPS_ALCHEMY 56 default y if MACH_JZ4740 57 # more: 58 default PCI 59 60# some non-PCI hcds implement EHCI 61config USB_ARCH_HAS_EHCI 62 boolean 63 default y if FSL_SOC 64 default y if PPC_MPC512x 65 default y if ARCH_IXP4XX 66 default y if ARCH_W90X900 67 default y if ARCH_AT91SAM9G45 68 default y if ARCH_MXC 69 default y if ARCH_OMAP3 70 default y if ARCH_CNS3XXX 71 default y if ARCH_VT8500 72 default y if PLAT_SPEAR 73 default y if PLAT_S5P 74 default y if ARCH_MSM 75 default y if MICROBLAZE 76 default y if SPARC_LEON 77 default y if ARCH_MMP 78 default PCI 79 80# some non-PCI HCDs implement xHCI 81config USB_ARCH_HAS_XHCI 82 boolean 83 default PCI 84 85# ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface. 86config USB 87 tristate "Support for Host-side USB" 88 depends on USB_ARCH_HAS_HCD 89 select NLS # for UTF-8 strings 90 ---help--- 91 Universal Serial Bus (USB) is a specification for a serial bus 92 subsystem which offers higher speeds and more features than the 93 traditional PC serial port. The bus supplies power to peripherals 94 and allows for hot swapping. Up to 127 USB peripherals can be 95 connected to a single USB host in a tree structure. 96 97 The USB host is the root of the tree, the peripherals are the 98 leaves and the inner nodes are special USB devices called hubs. 99 Most PCs now have USB host ports, used to connect peripherals 100 such as scanners, keyboards, mice, modems, cameras, disks, 101 flash memory, network links, and printers to the PC. 102 103 Say Y here if your computer has a host-side USB port and you want 104 to use USB devices. You then need to say Y to at least one of the 105 Host Controller Driver (HCD) options below. Choose a USB 1.1 106 controller, such as "UHCI HCD support" or "OHCI HCD support", 107 and "EHCI HCD (USB 2.0) support" except for older systems that 108 do not have USB 2.0 support. It doesn't normally hurt to select 109 them all if you are not certain. 110 111 If your system has a device-side USB port, used in the peripheral 112 side of the USB protocol, see the "USB Gadget" framework instead. 113 114 After choosing your HCD, then select drivers for the USB peripherals 115 you'll be using. You may want to check out the information provided 116 in <file:Documentation/usb/> and especially the links given in 117 <file:Documentation/usb/usb-help.txt>. 118 119 To compile this driver as a module, choose M here: the 120 module will be called usbcore. 121 122source "drivers/usb/core/Kconfig" 123 124source "drivers/usb/dwc3/Kconfig" 125 126source "drivers/usb/mon/Kconfig" 127 128source "drivers/usb/wusbcore/Kconfig" 129 130source "drivers/usb/host/Kconfig" 131 132source "drivers/usb/musb/Kconfig" 133 134source "drivers/usb/renesas_usbhs/Kconfig" 135 136source "drivers/usb/class/Kconfig" 137 138source "drivers/usb/storage/Kconfig" 139 140source "drivers/usb/image/Kconfig" 141 142comment "USB port drivers" 143 depends on USB 144 145config USB_USS720 146 tristate "USS720 parport driver" 147 depends on USB && PARPORT 148 select PARPORT_NOT_PC 149 ---help--- 150 This driver is for USB parallel port adapters that use the Lucent 151 Technologies USS-720 chip. These cables are plugged into your USB 152 port and provide USB compatibility to peripherals designed with 153 parallel port interfaces. 154 155 The chip has two modes: automatic mode and manual mode. In automatic 156 mode, it looks to the computer like a standard USB printer. Only 157 printers may be connected to the USS-720 in this mode. The generic 158 USB printer driver ("USB Printer support", above) may be used in 159 that mode, and you can say N here if you want to use the chip only 160 in this mode. 161 162 Manual mode is not limited to printers, any parallel port 163 device should work. This driver utilizes manual mode. 164 Note however that some operations are three orders of magnitude 165 slower than on a PCI/ISA Parallel Port, so timing critical 166 applications might not work. 167 168 Say Y here if you own an USS-720 USB->Parport cable and intend to 169 connect anything other than a printer to it. 170 171 To compile this driver as a module, choose M here: the 172 module will be called uss720. 173 174source "drivers/usb/serial/Kconfig" 175 176source "drivers/usb/misc/Kconfig" 177 178source "drivers/usb/atm/Kconfig" 179 180source "drivers/usb/gadget/Kconfig" 181 182source "drivers/usb/otg/Kconfig" 183 184endif # USB_SUPPORT 185