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