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