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 | |
| 15 | # Host-side USB depends on having a host controller |
| 16 | # NOTE: dummy_hcd is always an option, but it's ignored here ... |
| 17 | # NOTE: SL-811 option should be board-specific ... |
| 18 | config USB_ARCH_HAS_HCD |
| 19 | boolean |
| 20 | default y if USB_ARCH_HAS_OHCI |
Jordan Crouse | 76fa9a2 | 2006-01-20 14:06:09 -0800 | [diff] [blame] | 21 | default y if USB_ARCH_HAS_EHCI |
Al Viro | 0ab7a25 | 2007-07-17 08:49:35 +0100 | [diff] [blame] | 22 | default y if PCMCIA && !M32R # sl811_cs |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 23 | default y if ARM # SL-811 |
Paul Mundt | a3b5351 | 2007-08-07 19:21:09 +0900 | [diff] [blame] | 24 | default y if SUPERH # r8a66597-hcd |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 25 | default PCI |
| 26 | |
| 27 | # many non-PCI SOC chips embed OHCI |
| 28 | config USB_ARCH_HAS_OHCI |
| 29 | boolean |
| 30 | # ARM: |
| 31 | default y if SA1111 |
| 32 | default y if ARCH_OMAP |
| 33 | default y if ARCH_LH7A404 |
Ben Dooks | 3eb0c5f | 2005-07-29 12:18:03 -0700 | [diff] [blame] | 34 | default y if ARCH_S3C2410 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 35 | default y if PXA27x |
eric miao | e77ec18 | 2007-12-12 09:07:47 +0800 | [diff] [blame] | 36 | default y if PXA3xx |
Lennert Buytenhek | a5b7474 | 2006-06-23 23:02:01 +0200 | [diff] [blame] | 37 | default y if ARCH_EP93XX |
Andrew Victor | 58a0cd7 | 2006-12-01 14:51:13 +0100 | [diff] [blame] | 38 | default y if ARCH_AT91 |
Vitaly Wool | 60bbfc8 | 2006-06-29 18:28:18 +0400 | [diff] [blame] | 39 | default y if ARCH_PNX4008 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 40 | # PPC: |
| 41 | default y if STB03xxx |
| 42 | default y if PPC_MPC52xx |
| 43 | # MIPS: |
| 44 | default y if SOC_AU1X00 |
Yoshihiro Shimoda | 828d55c | 2008-01-11 22:56:15 +0900 | [diff] [blame^] | 45 | # SH: |
| 46 | default y if CPU_SUBTYPE_SH7720 |
| 47 | default y if CPU_SUBTYPE_SH7721 |
| 48 | default y if CPU_SUBTYPE_SH7763 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 49 | # more: |
| 50 | default PCI |
| 51 | |
Jordan Crouse | 76fa9a2 | 2006-01-20 14:06:09 -0800 | [diff] [blame] | 52 | # some non-PCI hcds implement EHCI |
| 53 | config USB_ARCH_HAS_EHCI |
| 54 | boolean |
| 55 | default y if PPC_83xx |
| 56 | default y if SOC_AU1200 |
Vladimir Barinov | 91bc4d3 | 2007-12-30 15:21:11 -0800 | [diff] [blame] | 57 | default y if ARCH_IXP4XX |
Jordan Crouse | 76fa9a2 | 2006-01-20 14:06:09 -0800 | [diff] [blame] | 58 | default PCI |
| 59 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 60 | # ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface. |
| 61 | config USB |
| 62 | tristate "Support for Host-side USB" |
| 63 | depends on USB_ARCH_HAS_HCD |
| 64 | ---help--- |
| 65 | Universal Serial Bus (USB) is a specification for a serial bus |
| 66 | subsystem which offers higher speeds and more features than the |
| 67 | traditional PC serial port. The bus supplies power to peripherals |
| 68 | and allows for hot swapping. Up to 127 USB peripherals can be |
| 69 | connected to a single USB host in a tree structure. |
| 70 | |
| 71 | The USB host is the root of the tree, the peripherals are the |
| 72 | leaves and the inner nodes are special USB devices called hubs. |
| 73 | Most PCs now have USB host ports, used to connect peripherals |
| 74 | such as scanners, keyboards, mice, modems, cameras, disks, |
| 75 | flash memory, network links, and printers to the PC. |
| 76 | |
| 77 | Say Y here if your computer has a host-side USB port and you want |
| 78 | to use USB devices. You then need to say Y to at least one of the |
| 79 | Host Controller Driver (HCD) options below. Choose a USB 1.1 |
| 80 | controller, such as "UHCI HCD support" or "OHCI HCD support", |
| 81 | and "EHCI HCD (USB 2.0) support" except for older systems that |
| 82 | do not have USB 2.0 support. It doesn't normally hurt to select |
| 83 | them all if you are not certain. |
| 84 | |
| 85 | If your system has a device-side USB port, used in the peripheral |
| 86 | side of the USB protocol, see the "USB Gadget" framework instead. |
| 87 | |
| 88 | After choosing your HCD, then select drivers for the USB peripherals |
| 89 | you'll be using. You may want to check out the information provided |
| 90 | in <file:Documentation/usb/> and especially the links given in |
| 91 | <file:Documentation/usb/usb-help.txt>. |
| 92 | |
| 93 | To compile this driver as a module, choose M here: the |
| 94 | module will be called usbcore. |
| 95 | |
| 96 | source "drivers/usb/core/Kconfig" |
| 97 | |
| 98 | source "drivers/usb/host/Kconfig" |
| 99 | |
| 100 | source "drivers/usb/class/Kconfig" |
| 101 | |
| 102 | source "drivers/usb/storage/Kconfig" |
| 103 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 104 | source "drivers/usb/image/Kconfig" |
| 105 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 106 | source "drivers/usb/mon/Kconfig" |
| 107 | |
| 108 | comment "USB port drivers" |
| 109 | depends on USB |
| 110 | |
| 111 | config USB_USS720 |
| 112 | tristate "USS720 parport driver" |
| 113 | depends on USB && PARPORT |
| 114 | select PARPORT_NOT_PC |
| 115 | ---help--- |
| 116 | This driver is for USB parallel port adapters that use the Lucent |
| 117 | Technologies USS-720 chip. These cables are plugged into your USB |
| 118 | port and provide USB compatibility to peripherals designed with |
| 119 | parallel port interfaces. |
| 120 | |
| 121 | The chip has two modes: automatic mode and manual mode. In automatic |
| 122 | mode, it looks to the computer like a standard USB printer. Only |
| 123 | printers may be connected to the USS-720 in this mode. The generic |
| 124 | USB printer driver ("USB Printer support", above) may be used in |
| 125 | that mode, and you can say N here if you want to use the chip only |
| 126 | in this mode. |
| 127 | |
| 128 | Manual mode is not limited to printers, any parallel port |
| 129 | device should work. This driver utilizes manual mode. |
| 130 | Note however that some operations are three orders of magnitude |
| 131 | slower than on a PCI/ISA Parallel Port, so timing critical |
| 132 | applications might not work. |
| 133 | |
| 134 | Say Y here if you own an USS-720 USB->Parport cable and intend to |
| 135 | connect anything other than a printer to it. |
| 136 | |
| 137 | To compile this driver as a module, choose M here: the |
| 138 | module will be called uss720. |
| 139 | |
| 140 | source "drivers/usb/serial/Kconfig" |
| 141 | |
| 142 | source "drivers/usb/misc/Kconfig" |
| 143 | |
| 144 | source "drivers/usb/atm/Kconfig" |
| 145 | |
| 146 | source "drivers/usb/gadget/Kconfig" |
| 147 | |
Jan Engelhardt | 04d06ad | 2007-05-10 23:04:13 -0700 | [diff] [blame] | 148 | endif # USB_SUPPORT |