Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | # |
| 2 | # USB Host Controller Drivers |
| 3 | # |
| 4 | comment "USB Host Controller Drivers" |
| 5 | depends on USB |
| 6 | |
| 7 | config USB_EHCI_HCD |
| 8 | tristate "EHCI HCD (USB 2.0) support" |
| 9 | depends on USB && PCI |
| 10 | ---help--- |
| 11 | The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0 |
| 12 | "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware. |
| 13 | If your USB host controller supports USB 2.0, you will likely want to |
| 14 | configure this Host Controller Driver. At this writing, the primary |
| 15 | implementation of EHCI is a chip from NEC, widely available in add-on |
| 16 | PCI cards, but implementations are in the works from other vendors |
| 17 | including Intel and Philips. Motherboard support is appearing. |
| 18 | |
| 19 | EHCI controllers are packaged with "companion" host controllers (OHCI |
| 20 | or UHCI) to handle USB 1.1 devices connected to root hub ports. Ports |
| 21 | will connect to EHCI if it the device is high speed, otherwise they |
| 22 | connect to a companion controller. If you configure EHCI, you should |
| 23 | probably configure the OHCI (for NEC and some other vendors) USB Host |
| 24 | Controller Driver or UHCI (for Via motherboards) Host Controller |
| 25 | Driver too. |
| 26 | |
| 27 | You may want to read <file:Documentation/usb/ehci.txt>. |
| 28 | |
| 29 | To compile this driver as a module, choose M here: the |
| 30 | module will be called ehci-hcd. |
| 31 | |
| 32 | config USB_EHCI_SPLIT_ISO |
| 33 | bool "Full speed ISO transactions (EXPERIMENTAL)" |
| 34 | depends on USB_EHCI_HCD && EXPERIMENTAL |
| 35 | default n |
| 36 | ---help--- |
| 37 | This code is new and hasn't been used with many different |
| 38 | EHCI or USB 2.0 transaction translator implementations. |
| 39 | It should work for ISO-OUT transfers, like audio. |
| 40 | |
| 41 | config USB_EHCI_ROOT_HUB_TT |
| 42 | bool "Root Hub Transaction Translators (EXPERIMENTAL)" |
| 43 | depends on USB_EHCI_HCD && EXPERIMENTAL |
| 44 | ---help--- |
| 45 | Some EHCI chips have vendor-specific extensions to integrate |
| 46 | transaction translators, so that no OHCI or UHCI companion |
| 47 | controller is needed. It's safe to say "y" even if your |
| 48 | controller doesn't support this feature. |
| 49 | |
| 50 | This supports the EHCI implementation from TransDimension Inc. |
| 51 | |
| 52 | config USB_OHCI_HCD |
| 53 | tristate "OHCI HCD support" |
| 54 | depends on USB && USB_ARCH_HAS_OHCI |
| 55 | select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 |
| 56 | ---help--- |
| 57 | The Open Host Controller Interface (OHCI) is a standard for accessing |
| 58 | USB 1.1 host controller hardware. It does more in hardware than Intel's |
| 59 | UHCI specification. If your USB host controller follows the OHCI spec, |
| 60 | say Y. On most non-x86 systems, and on x86 hardware that's not using a |
| 61 | USB controller from Intel or VIA, this is appropriate. If your host |
| 62 | controller doesn't use PCI, this is probably appropriate. For a PCI |
| 63 | based system where you're not sure, the "lspci -v" entry will list the |
| 64 | right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI. |
| 65 | |
| 66 | To compile this driver as a module, choose M here: the |
| 67 | module will be called ohci-hcd. |
| 68 | |
| 69 | config USB_OHCI_HCD_PPC_SOC |
| 70 | bool "OHCI support for on-chip PPC USB controller" |
| 71 | depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx) |
| 72 | default y |
| 73 | select USB_OHCI_BIG_ENDIAN |
| 74 | ---help--- |
| 75 | Enables support for the USB controller on the MPC52xx or |
| 76 | STB03xxx processor chip. If unsure, say Y. |
| 77 | |
| 78 | config USB_OHCI_HCD_PCI |
| 79 | bool "OHCI support for PCI-bus USB controllers" |
| 80 | depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx) |
| 81 | default y |
| 82 | select USB_OHCI_LITTLE_ENDIAN |
| 83 | ---help--- |
| 84 | Enables support for PCI-bus plug-in USB controller cards. |
| 85 | If unsure, say Y. |
| 86 | |
| 87 | config USB_OHCI_BIG_ENDIAN |
| 88 | bool |
| 89 | depends on USB_OHCI_HCD |
| 90 | default n |
| 91 | |
| 92 | config USB_OHCI_LITTLE_ENDIAN |
| 93 | bool |
| 94 | depends on USB_OHCI_HCD |
| 95 | default n if STB03xxx || PPC_MPC52xx |
| 96 | default y |
| 97 | |
| 98 | config USB_UHCI_HCD |
| 99 | tristate "UHCI HCD (most Intel and VIA) support" |
| 100 | depends on USB && PCI |
| 101 | ---help--- |
| 102 | The Universal Host Controller Interface is a standard by Intel for |
| 103 | accessing the USB hardware in the PC (which is also called the USB |
| 104 | host controller). If your USB host controller conforms to this |
| 105 | standard, you may want to say Y, but see below. All recent boards |
| 106 | with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX, |
| 107 | i810, i820) conform to this standard. Also all VIA PCI chipsets |
| 108 | (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro |
| 109 | 133). If unsure, say Y. |
| 110 | |
| 111 | To compile this driver as a module, choose M here: the |
| 112 | module will be called uhci-hcd. |
| 113 | |
| 114 | config USB_SL811_HCD |
| 115 | tristate "SL811HS HCD support" |
| 116 | depends on USB |
| 117 | default N |
| 118 | help |
| 119 | The SL811HS is a single-port USB controller that supports either |
| 120 | host side or peripheral side roles. Enable this option if your |
| 121 | board has this chip, and you want to use it as a host controller. |
| 122 | If unsure, say N. |
| 123 | |
| 124 | To compile this driver as a module, choose M here: the |
| 125 | module will be called sl811-hcd. |
| 126 | |
David Brownell | c6de2b6 | 2005-05-26 05:55:55 -0700 | [diff] [blame^] | 127 | config USB_SL811_CS |
| 128 | tristate "CF/PCMCIA support for SL811HS HCD" |
| 129 | depends on USB_SL811_HCD && PCMCIA |
| 130 | default N |
| 131 | help |
| 132 | Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC |
| 133 | REX-CFU1U CF card (often used with PDAs). If unsure, say N. |
| 134 | |
| 135 | To compile this driver as a module, choose M here: the |
| 136 | module will be called "sl811_cs". |
| 137 | |