Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | # |
| 2 | # USB device configuration |
| 3 | # |
| 4 | |
Jan Engelhardt | 04d06ad | 2007-05-10 23:04:13 -0700 | [diff] [blame] | 5 | menuconfig USB_SUPPORT |
| 6 | bool "USB support" |
Martin Schwidefsky | e25df12 | 2007-05-10 15:45:57 +0200 | [diff] [blame] | 7 | depends on HAS_IOMEM |
Linus Torvalds | 7732089 | 2007-07-12 17:06:50 -0700 | [diff] [blame] | 8 | default y |
Jan Engelhardt | 06bfb7e | 2007-08-18 12:56:21 +0200 | [diff] [blame] | 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. |
Jan Engelhardt | 04d06ad | 2007-05-10 23:04:13 -0700 | [diff] [blame] | 12 | |
| 13 | if USB_SUPPORT |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 14 | |
Michal Nazarewicz | e538dfd | 2011-08-30 17:11:19 +0200 | [diff] [blame] | 15 | config USB_COMMON |
| 16 | tristate |
| 17 | default y |
| 18 | depends on USB || USB_GADGET |
| 19 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 ... |
| 23 | config USB_ARCH_HAS_HCD |
| 24 | boolean |
| 25 | default y if USB_ARCH_HAS_OHCI |
Jordan Crouse | 76fa9a2 | 2006-01-20 14:06:09 -0800 | [diff] [blame] | 26 | default y if USB_ARCH_HAS_EHCI |
Felipe Balbi | 7b72000 | 2011-09-23 14:19:56 -0700 | [diff] [blame] | 27 | default y if USB_ARCH_HAS_XHCI |
Al Viro | 0ab7a25 | 2007-07-17 08:49:35 +0100 | [diff] [blame] | 28 | default y if PCMCIA && !M32R # sl811_cs |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 29 | default y if ARM # SL-811 |
Michael Hennerich | ca0e948 | 2009-12-21 11:16:00 -0500 | [diff] [blame] | 30 | default y if BLACKFIN # SL-811 |
Paul Mundt | a3b5351 | 2007-08-07 19:21:09 +0900 | [diff] [blame] | 31 | default y if SUPERH # r8a66597-hcd |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | default PCI |
| 33 | |
| 34 | # many non-PCI SOC chips embed OHCI |
| 35 | config USB_ARCH_HAS_OHCI |
| 36 | boolean |
| 37 | # ARM: |
| 38 | default y if SA1111 |
| 39 | default y if ARCH_OMAP |
Ben Dooks | 3eb0c5f | 2005-07-29 12:18:03 -0700 | [diff] [blame] | 40 | default y if ARCH_S3C2410 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 41 | default y if PXA27x |
eric miao | e77ec18 | 2007-12-12 09:07:47 +0800 | [diff] [blame] | 42 | default y if PXA3xx |
Lennert Buytenhek | a5b7474 | 2006-06-23 23:02:01 +0200 | [diff] [blame] | 43 | default y if ARCH_EP93XX |
Andrew Victor | 58a0cd7 | 2006-12-01 14:51:13 +0100 | [diff] [blame] | 44 | default y if ARCH_AT91 |
Dmitry Baryshkov | 78c7341 | 2008-10-08 16:14:23 +0400 | [diff] [blame] | 45 | default y if ARCH_PNX4008 && I2C |
| 46 | default y if MFD_TC6393XB |
Wan ZongShun | 586dfc8 | 2009-06-13 09:14:28 +0800 | [diff] [blame] | 47 | default y if ARCH_W90X900 |
Sergei Shtylyov | efe7daf | 2010-02-12 23:52:34 +0400 | [diff] [blame] | 48 | default y if ARCH_DAVINCI_DA8XX |
Mac Lin | 760efe6 | 2010-11-25 23:58:00 +0800 | [diff] [blame] | 49 | default y if ARCH_CNS3XXX |
Deepak Sikri | c8c38de | 2010-11-10 14:33:18 +0530 | [diff] [blame] | 50 | default y if PLAT_SPEAR |
Jingoo Han | 6219424 | 2011-12-23 11:20:54 +0900 | [diff] [blame] | 51 | default y if ARCH_EXYNOS |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 52 | # PPC: |
| 53 | default y if STB03xxx |
| 54 | default y if PPC_MPC52xx |
| 55 | # MIPS: |
Manuel Lauss | 42a4f17 | 2010-07-15 21:45:04 +0200 | [diff] [blame] | 56 | default y if MIPS_ALCHEMY |
Lars-Peter Clausen | 2249071 | 2010-06-19 04:08:24 +0000 | [diff] [blame] | 57 | default y if MACH_JZ4740 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 58 | # more: |
| 59 | default PCI |
| 60 | |
Jordan Crouse | 76fa9a2 | 2006-01-20 14:06:09 -0800 | [diff] [blame] | 61 | # some non-PCI hcds implement EHCI |
| 62 | config USB_ARCH_HAS_EHCI |
| 63 | boolean |
Xu lei | 3a6e711 | 2011-10-14 15:35:10 -0500 | [diff] [blame] | 64 | default y if FSL_SOC |
Anatolij Gustschin | 230f7ed | 2010-09-28 20:55:21 +0200 | [diff] [blame] | 65 | default y if PPC_MPC512x |
Vladimir Barinov | 91bc4d3 | 2007-12-30 15:21:11 -0800 | [diff] [blame] | 66 | default y if ARCH_IXP4XX |
Wan ZongShun | 586dfc8 | 2009-06-13 09:14:28 +0800 | [diff] [blame] | 67 | default y if ARCH_W90X900 |
Nicolas Ferre | 501c9c0 | 2009-07-27 14:47:40 -0700 | [diff] [blame] | 68 | default y if ARCH_AT91SAM9G45 |
Daniel Mack | 7e8d5cd | 2009-10-28 01:14:59 +0100 | [diff] [blame] | 69 | default y if ARCH_MXC |
Tony Lindgren | a8eb7ca | 2010-02-12 12:26:48 -0800 | [diff] [blame] | 70 | default y if ARCH_OMAP3 |
Mac Lin | 760efe6 | 2010-11-25 23:58:00 +0800 | [diff] [blame] | 71 | default y if ARCH_CNS3XXX |
Alexey Charkov | ad78aca | 2010-11-07 19:28:55 +0300 | [diff] [blame] | 72 | default y if ARCH_VT8500 |
Deepak Sikri | c8c38de | 2010-11-10 14:33:18 +0530 | [diff] [blame] | 73 | default y if PLAT_SPEAR |
Joonyoung Shim | 1bcc5aa | 2011-04-08 14:08:50 +0900 | [diff] [blame] | 74 | default y if PLAT_S5P |
Pavankumar Kondeti | b0848ae | 2010-12-07 17:53:56 +0530 | [diff] [blame] | 75 | default y if ARCH_MSM |
Michal Simek | 0291303 | 2011-04-04 11:35:05 +0200 | [diff] [blame] | 76 | default y if MICROBLAZE |
Jan Andersson | 9be0392 | 2011-05-03 20:11:58 +0200 | [diff] [blame] | 77 | default y if SPARC_LEON |
Tanmay Upadhyay | 3abd7f6 | 2011-07-20 10:00:58 +0530 | [diff] [blame] | 78 | default y if ARCH_MMP |
Jordan Crouse | 76fa9a2 | 2006-01-20 14:06:09 -0800 | [diff] [blame] | 79 | default PCI |
| 80 | |
Felipe Balbi | 7b72000 | 2011-09-23 14:19:56 -0700 | [diff] [blame] | 81 | # some non-PCI HCDs implement xHCI |
| 82 | config USB_ARCH_HAS_XHCI |
| 83 | boolean |
| 84 | default PCI |
| 85 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 86 | # ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface. |
| 87 | config USB |
| 88 | tristate "Support for Host-side USB" |
| 89 | depends on USB_ARCH_HAS_HCD |
Clemens Ladisch | a853a3d | 2009-04-24 10:12:18 +0200 | [diff] [blame] | 90 | select NLS # for UTF-8 strings |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | |
| 123 | source "drivers/usb/core/Kconfig" |
| 124 | |
Felipe Balbi | 72246da | 2011-08-19 18:10:58 +0300 | [diff] [blame] | 125 | source "drivers/usb/dwc3/Kconfig" |
| 126 | |
Simon Arlott | 3bea302 | 2008-07-21 20:44:50 +0100 | [diff] [blame] | 127 | source "drivers/usb/mon/Kconfig" |
| 128 | |
Greg Kroah-Hartman | 470cc41 | 2008-09-17 16:34:26 +0100 | [diff] [blame] | 129 | source "drivers/usb/wusbcore/Kconfig" |
| 130 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 131 | source "drivers/usb/host/Kconfig" |
| 132 | |
Felipe Balbi | 550a737 | 2008-07-24 12:27:36 +0300 | [diff] [blame] | 133 | source "drivers/usb/musb/Kconfig" |
| 134 | |
Kuninori Morimoto | f1407d5 | 2011-04-04 13:44:59 +0900 | [diff] [blame] | 135 | source "drivers/usb/renesas_usbhs/Kconfig" |
| 136 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 137 | source "drivers/usb/class/Kconfig" |
| 138 | |
| 139 | source "drivers/usb/storage/Kconfig" |
| 140 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 141 | source "drivers/usb/image/Kconfig" |
| 142 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 143 | comment "USB port drivers" |
| 144 | depends on USB |
| 145 | |
| 146 | config 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 | |
| 175 | source "drivers/usb/serial/Kconfig" |
| 176 | |
| 177 | source "drivers/usb/misc/Kconfig" |
| 178 | |
| 179 | source "drivers/usb/atm/Kconfig" |
| 180 | |
| 181 | source "drivers/usb/gadget/Kconfig" |
| 182 | |
David Brownell | b8da867 | 2008-11-24 11:53:35 -0800 | [diff] [blame] | 183 | source "drivers/usb/otg/Kconfig" |
| 184 | |
Jan Engelhardt | 04d06ad | 2007-05-10 23:04:13 -0700 | [diff] [blame] | 185 | endif # USB_SUPPORT |