| 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" | 
| Jordan Crouse | 76fa9a2 | 2006-01-20 14:06:09 -0800 | [diff] [blame] | 9 | 	depends on USB && USB_ARCH_HAS_EHCI | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | 
| Jesper Juhl | b3c29d8 | 2006-01-10 00:35:22 +0100 | [diff] [blame] | 14 | 	  configure this Host Controller Driver.  At the time of this writing,  | 
 | 15 | 	  the primary implementation of EHCI is a chip from NEC, widely available | 
 | 16 | 	  in add-on PCI cards, but implementations are in the works from other  | 
 | 17 | 	  vendors including Intel and Philips.  Motherboard support is appearing. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | 
| Jesper Juhl | b3c29d8 | 2006-01-10 00:35:22 +0100 | [diff] [blame] | 21 | 	  will connect to EHCI if the device is high speed, otherwise they | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  | 
| Dan Streetman | ba47f66 | 2006-05-24 09:39:16 -0700 | [diff] [blame] | 50 | 	  This supports the EHCI implementation that's originally | 
 | 51 | 	  from ARC, and has since changed hands a few times. | 
 | 52 |  | 
 | 53 | config USB_EHCI_TT_NEWSCHED | 
 | 54 | 	bool "Improved Transaction Translator scheduling (EXPERIMENTAL)" | 
 | 55 | 	depends on USB_EHCI_HCD && EXPERIMENTAL | 
 | 56 | 	---help--- | 
 | 57 | 	  This changes the periodic scheduling code to fill more of the low | 
 | 58 | 	  and full speed bandwidth available from the Transaction Translator | 
 | 59 | 	  (TT) in USB 2.0 hubs.  Without this, only one transfer will be | 
 | 60 | 	  issued in each microframe, significantly reducing the number of | 
 | 61 | 	  periodic low/fullspeed transfers possible. | 
 | 62 |  | 
 | 63 | 	  If you have multiple periodic low/fullspeed devices connected to a | 
 | 64 | 	  highspeed USB hub which is connected to a highspeed USB Host | 
 | 65 | 	  Controller, and some of those devices will not work correctly | 
 | 66 | 	  (possibly due to "ENOSPC" or "-28" errors), say Y. | 
 | 67 |  | 
 | 68 | 	  If unsure, say N. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 69 |  | 
| Olav Kongas | 4808a1c | 2005-04-09 22:57:39 +0300 | [diff] [blame] | 70 | config USB_ISP116X_HCD | 
 | 71 | 	tristate "ISP116X HCD support" | 
 | 72 | 	depends on USB | 
| Olav Kongas | 4808a1c | 2005-04-09 22:57:39 +0300 | [diff] [blame] | 73 | 	---help--- | 
 | 74 | 	  The ISP1160 and ISP1161 chips are USB host controllers. Enable this | 
 | 75 | 	  option if your board has this chip. If unsure, say N. | 
 | 76 |  | 
 | 77 | 	  This driver does not support isochronous transfers. | 
 | 78 |  | 
 | 79 | 	  To compile this driver as a module, choose M here: the | 
 | 80 | 	  module will be called isp116x-hcd. | 
 | 81 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 82 | config USB_OHCI_HCD | 
 | 83 | 	tristate "OHCI HCD support" | 
 | 84 | 	depends on USB && USB_ARCH_HAS_OHCI | 
 | 85 | 	select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 | 
| Vitaly Wool | 60bbfc8 | 2006-06-29 18:28:18 +0400 | [diff] [blame^] | 86 | 	select I2C if ARCH_PNX4008 | 
 | 87 | 	select I2C_PNX if ARCH_PNX4008 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 88 | 	---help--- | 
 | 89 | 	  The Open Host Controller Interface (OHCI) is a standard for accessing | 
 | 90 | 	  USB 1.1 host controller hardware.  It does more in hardware than Intel's | 
 | 91 | 	  UHCI specification.  If your USB host controller follows the OHCI spec, | 
 | 92 | 	  say Y.  On most non-x86 systems, and on x86 hardware that's not using a | 
 | 93 | 	  USB controller from Intel or VIA, this is appropriate.  If your host | 
 | 94 | 	  controller doesn't use PCI, this is probably appropriate.  For a PCI | 
 | 95 | 	  based system where you're not sure, the "lspci -v" entry will list the | 
 | 96 | 	  right "prog-if" for your USB controller(s):  EHCI, OHCI, or UHCI. | 
 | 97 |  | 
 | 98 | 	  To compile this driver as a module, choose M here: the | 
 | 99 | 	  module will be called ohci-hcd. | 
 | 100 |  | 
 | 101 | config USB_OHCI_HCD_PPC_SOC | 
 | 102 | 	bool "OHCI support for on-chip PPC USB controller" | 
 | 103 | 	depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx) | 
 | 104 | 	default y | 
 | 105 | 	select USB_OHCI_BIG_ENDIAN | 
 | 106 | 	---help--- | 
 | 107 | 	  Enables support for the USB controller on the MPC52xx or | 
 | 108 | 	  STB03xxx processor chip.  If unsure, say Y. | 
 | 109 |  | 
 | 110 | config USB_OHCI_HCD_PCI | 
 | 111 | 	bool "OHCI support for PCI-bus USB controllers" | 
 | 112 | 	depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx) | 
 | 113 | 	default y | 
 | 114 | 	select USB_OHCI_LITTLE_ENDIAN | 
 | 115 | 	---help--- | 
 | 116 | 	  Enables support for PCI-bus plug-in USB controller cards. | 
 | 117 | 	  If unsure, say Y. | 
 | 118 |  | 
 | 119 | config USB_OHCI_BIG_ENDIAN | 
 | 120 | 	bool | 
 | 121 | 	depends on USB_OHCI_HCD | 
 | 122 | 	default n | 
 | 123 |  | 
 | 124 | config USB_OHCI_LITTLE_ENDIAN | 
 | 125 | 	bool | 
 | 126 | 	depends on USB_OHCI_HCD | 
 | 127 | 	default n if STB03xxx || PPC_MPC52xx | 
 | 128 | 	default y | 
 | 129 |  | 
 | 130 | config USB_UHCI_HCD | 
 | 131 | 	tristate "UHCI HCD (most Intel and VIA) support" | 
 | 132 | 	depends on USB && PCI | 
 | 133 | 	---help--- | 
 | 134 | 	  The Universal Host Controller Interface is a standard by Intel for | 
 | 135 | 	  accessing the USB hardware in the PC (which is also called the USB | 
 | 136 | 	  host controller). If your USB host controller conforms to this | 
 | 137 | 	  standard, you may want to say Y, but see below. All recent boards | 
 | 138 | 	  with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX, | 
 | 139 | 	  i810, i820) conform to this standard. Also all VIA PCI chipsets | 
 | 140 | 	  (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro | 
 | 141 | 	  133). If unsure, say Y. | 
 | 142 |  | 
 | 143 | 	  To compile this driver as a module, choose M here: the | 
 | 144 | 	  module will be called uhci-hcd. | 
 | 145 |  | 
 | 146 | config USB_SL811_HCD | 
 | 147 | 	tristate "SL811HS HCD support" | 
 | 148 | 	depends on USB | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 149 | 	help | 
 | 150 | 	  The SL811HS is a single-port USB controller that supports either | 
 | 151 | 	  host side or peripheral side roles.  Enable this option if your | 
 | 152 | 	  board has this chip, and you want to use it as a host controller.  | 
 | 153 | 	  If unsure, say N. | 
 | 154 |  | 
 | 155 | 	  To compile this driver as a module, choose M here: the | 
 | 156 | 	  module will be called sl811-hcd. | 
 | 157 |  | 
| David Brownell | c6de2b6 | 2005-05-26 05:55:55 -0700 | [diff] [blame] | 158 | config USB_SL811_CS | 
 | 159 | 	tristate "CF/PCMCIA support for SL811HS HCD" | 
 | 160 | 	depends on USB_SL811_HCD && PCMCIA | 
| David Brownell | c6de2b6 | 2005-05-26 05:55:55 -0700 | [diff] [blame] | 161 | 	help | 
 | 162 | 	  Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC | 
 | 163 | 	  REX-CFU1U CF card (often used with PDAs).  If unsure, say N. | 
 | 164 |  | 
 | 165 | 	  To compile this driver as a module, choose M here: the | 
 | 166 | 	  module will be called "sl811_cs". | 
 | 167 |  |