Merge branch 'next' into for-linus
[linux-2.6-block.git] / drivers / ide / Kconfig
CommitLineData
1da177e4
LT
1#
2# IDE ATA ATAPI Block device driver configuration
3#
1da177e4 4
ec7748b5
SR
5# Select HAVE_IDE if IDE is supported
6config HAVE_IDE
7 def_bool n
8
e0ff9cd1 9menuconfig IDE
1da177e4 10 tristate "ATA/ATAPI/MFM/RLL support"
ec7748b5 11 depends on HAVE_IDE
e0ff9cd1 12 depends on BLOCK
1da177e4
LT
13 ---help---
14 If you say Y here, your kernel will be able to manage low cost mass
15 storage units such as ATA/(E)IDE and ATAPI units. The most common
16 cases are IDE hard drives and ATAPI CD-ROM drives.
17
18 If your system is pure SCSI and doesn't use these interfaces, you
19 can say N here.
20
21 Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard
22 for mass storage units such as hard disks. It was designed by
23 Western Digital and Compaq Computer in 1984. It was then named
24 ST506. Quite a number of disks use the IDE interface.
25
26 AT Attachment (ATA) is the superset of the IDE specifications.
27 ST506 was also called ATA-1.
28
29 Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is
30 ATA-3. It provides support for larger disks (up to 8.4GB by means of
31 the LBA standard), more disks (4 instead of 2) and for other mass
32 storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is
33 ATA-4 and provides faster (and more CPU friendly) transfer modes
34 than previous PIO (Programmed processor Input/Output) from previous
35 ATA/IDE standards by means of fast DMA controllers.
36
37 ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and
38 CD-ROM drives, similar in many respects to the SCSI protocol.
39
40 SMART IDE (Self Monitoring, Analysis and Reporting Technology) was
41 designed in order to prevent data corruption and disk crash by
42 detecting pre hardware failure conditions (heat, access time, and
43 the like...). Disks built since June 1995 may follow this standard.
44 The kernel itself doesn't manage this; however there are quite a
45 number of user programs such as smart that can query the status of
46 SMART parameters from disk drives.
47
48 To compile this driver as a module, choose M here: the
49 module will be called ide.
50
1c10e938 51 For further information, please read <file:Documentation/ide/ide.txt>.
1da177e4
LT
52
53 If unsure, say Y.
54
55if IDE
56
1da177e4
LT
57config BLK_DEV_IDE
58 tristate "Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support"
59 ---help---
60 If you say Y here, you will use the full-featured IDE driver to
61 control up to ten ATA/IDE interfaces, each being able to serve a
62 "master" and a "slave" device, for a total of up to twenty ATA/IDE
63 disk/cdrom/tape/floppy drives.
64
65 Useful information about large (>540 MB) IDE disks, multiple
66 interfaces, what to do if ATA/IDE devices are not automatically
67 detected, sound card ATA/IDE ports, module support, and other
1c10e938 68 topics, is contained in <file:Documentation/ide/ide.txt>. For detailed
1da177e4
LT
69 information about hard drives, consult the Disk-HOWTO and the
70 Multi-Disk-HOWTO, available from
71 <http://www.tldp.org/docs.html#howto>.
72
73 To fine-tune ATA/IDE drive/interface parameters for improved
74 performance, look for the hdparm package at
75 <ftp://ibiblio.org/pub/Linux/system/hardware/>.
76
77 To compile this driver as a module, choose M here and read
1c10e938 78 <file:Documentation/ide/ide.txt>. The module will be called ide-mod.
1da177e4
LT
79 Do not compile this driver as a module if your root file system (the
80 one containing the directory /) is located on an IDE device.
81
82 If you have one or more IDE drives, say Y or M here. If your system
83 has no IDE drives, or if memory requirements are really tight, you
84 could say N here, and select the "Old hard disk driver" below
85 instead to save about 13 KB of memory in the kernel.
86
87if BLK_DEV_IDE
88
1c10e938 89comment "Please see Documentation/ide/ide.txt for help/info on IDE drives"
1da177e4 90
f06ab340
BZ
91config IDE_TIMINGS
92 bool
93
594c16d8
BZ
94config IDE_ATAPI
95 bool
96
1da177e4
LT
97config BLK_DEV_IDE_SATA
98 bool "Support for SATA (deprecated; conflicts with libata SATA driver)"
99 default n
100 ---help---
101 There are two drivers for Serial ATA controllers.
102
b43c5f3d
PR
103 The main driver, "libata", uses the SCSI subsystem
104 and supports most modern SATA controllers. In order to use it
105 you may take a look at "Serial ATA (prod) and Parallel ATA
106 (experimental) drivers".
1da177e4
LT
107
108 The IDE driver (which you are currently configuring) supports
109 a few first-generation SATA controllers.
110
111 In order to eliminate conflicts between the two subsystems,
112 this config option enables the IDE driver's SATA support.
113 Normally this is disabled, as it is preferred that libata
114 supports SATA controllers, and this (IDE) driver supports
115 PATA controllers.
116
117 If unsure, say N.
118
1da177e4
LT
119config BLK_DEV_IDEDISK
120 tristate "Include IDE/ATA-2 DISK support"
121 ---help---
122 This will include enhanced support for MFM/RLL/IDE hard disks. If
123 you have a MFM/RLL/IDE disk, and there is no special reason to use
124 the old hard disk driver instead, say Y. If you have an SCSI-only
125 system, you can say N here.
126
127 To compile this driver as a module, choose M here: the
128 module will be called ide-disk.
129 Do not compile this driver as a module if your root file system
130 (the one containing the directory /) is located on the IDE disk.
131
132 If unsure, say Y.
133
134config IDEDISK_MULTI_MODE
127ba289 135 bool "Use multiple sector mode for Programmed Input/Output by default"
1da177e4 136 help
127ba289
ML
137 This setting is irrelevant for most IDE disks, with direct memory
138 access, to which multiple sector mode does not apply. Multiple sector
139 mode is a feature of most modern IDE hard drives, permitting the
140 transfer of multiple sectors per Programmed Input/Output interrupt,
141 rather than the usual one sector per interrupt. When this feature is
142 enabled, it can reduce operating system overhead for disk Programmed
143 Input/Output. On some systems, it also can increase the data
144 throughput of Programmed Input/Output. Some drives, however, seemed
145 to run slower with multiple sector mode enabled. Some drives claimed
146 to support multiple sector mode, but lost data at some settings.
147 Under rare circumstances, such failures could result in massive
148 filesystem corruption.
149
150 If you get the following error, try to say Y here:
1da177e4
LT
151
152 hda: set_multmode: status=0x51 { DriveReady SeekComplete Error }
153 hda: set_multmode: error=0x04 { DriveStatusError }
154
155 If in doubt, say N.
156
157config BLK_DEV_IDECS
158 tristate "PCMCIA IDE support"
159 depends on PCMCIA
160 help
3b6ce249
AM
161 Support for Compact Flash cards, outboard IDE disks, tape drives,
162 and CD-ROM drives connected through a PCMCIA card.
1da177e4 163
78281c53
ML
164config BLK_DEV_DELKIN
165 tristate "Cardbus IDE support (Delkin/ASKA/Workbit)"
166 depends on CARDBUS && PCI
167 help
168 Support for Delkin, ASKA, and Workbit Cardbus CompactFlash
169 Adapters. This may also work for similar SD and XD adapters.
170
1da177e4
LT
171config BLK_DEV_IDECD
172 tristate "Include IDE/ATAPI CDROM support"
173 ---help---
174 If you have a CD-ROM drive using the ATAPI protocol, say Y. ATAPI is
175 a newer protocol used by IDE CD-ROM and TAPE drives, similar to the
176 SCSI protocol. Most new CD-ROM drives use ATAPI, including the
177 NEC-260, Mitsumi FX400, Sony 55E, and just about all non-SCSI
178 double(2X) or better speed drives.
179
180 If you say Y here, the CD-ROM drive will be identified at boot time
181 along with other IDE devices, as "hdb" or "hdc", or something
182 similar (check the boot messages with dmesg). If this is your only
183 CD-ROM drive, you can say N to all other CD-ROM options, but be sure
184 to say Y or M to "ISO 9660 CD-ROM file system support".
185
1da177e4
LT
186 To compile this driver as a module, choose M here: the
187 module will be called ide-cd.
188
972560fb
BZ
189config BLK_DEV_IDECD_VERBOSE_ERRORS
190 bool "Verbose error logging for IDE/ATAPI CDROM driver" if EMBEDDED
191 depends on BLK_DEV_IDECD
192 default y
193 help
194 Turn this on to have the driver print out the meanings of the
195 ATAPI error codes. This will use up additional 8kB of kernel-space
196 memory, though.
197
1da177e4 198config BLK_DEV_IDETAPE
4278c2d5 199 tristate "Include IDE/ATAPI TAPE support"
594c16d8 200 select IDE_ATAPI
1da177e4
LT
201 help
202 If you have an IDE tape drive using the ATAPI protocol, say Y.
203 ATAPI is a newer protocol used by IDE tape and CD-ROM drives,
204 similar to the SCSI protocol. If you have an SCSI tape drive
205 however, you can say N here.
206
207 You should also say Y if you have an OnStream DI-30 tape drive; this
208 will not work with the SCSI protocol, until there is support for the
209 SC-30 and SC-50 versions.
210
211 If you say Y here, the tape drive will be identified at boot time
212 along with other IDE devices, as "hdb" or "hdc", or something
213 similar, and will be mapped to a character device such as "ht0"
214 (check the boot messages with dmesg). Be sure to consult the
1c10e938
RD
215 <file:drivers/ide/ide-tape.c> and <file:Documentation/ide/ide.txt>
216 files for usage information.
1da177e4
LT
217
218 To compile this driver as a module, choose M here: the
219 module will be called ide-tape.
220
221config BLK_DEV_IDEFLOPPY
222 tristate "Include IDE/ATAPI FLOPPY support"
594c16d8 223 select IDE_ATAPI
1da177e4
LT
224 ---help---
225 If you have an IDE floppy drive which uses the ATAPI protocol,
226 answer Y. ATAPI is a newer protocol used by IDE CD-ROM/tape/floppy
227 drives, similar to the SCSI protocol.
228
229 The LS-120 and the IDE/ATAPI Iomega ZIP drive are also supported by
230 this driver. For information about jumper settings and the question
231 of when a ZIP drive uses a partition table, see
232 <http://www.win.tue.nl/~aeb/linux/zip/zip-1.html>.
233 (ATAPI PD-CD/CDR drives are not supported by this driver; support
234 for PD-CD/CDR drives is available if you answer Y to
235 "SCSI emulation support", below).
236
237 If you say Y here, the FLOPPY drive will be identified along with
238 other IDE devices, as "hdb" or "hdc", or something similar (check
239 the boot messages with dmesg).
240
241 To compile this driver as a module, choose M here: the
242 module will be called ide-floppy.
243
244config BLK_DEV_IDESCSI
5a61dd9e 245 tristate "SCSI emulation support (DEPRECATED)"
1da177e4 246 depends on SCSI
594c16d8 247 select IDE_ATAPI
1da177e4
LT
248 ---help---
249 WARNING: ide-scsi is no longer needed for cd writing applications!
250 The 2.6 kernel supports direct writing to ide-cd, which eliminates
251 the need for ide-scsi + the entire scsi stack just for writing a
252 cd. The new method is more efficient in every way.
253
254 This will provide SCSI host adapter emulation for IDE ATAPI devices,
255 and will allow you to use a SCSI device driver instead of a native
256 ATAPI driver.
257
1da177e4
LT
258 If both this SCSI emulation and native ATAPI support are compiled
259 into the kernel, the native support will be used.
260
e3a59b4d
HR
261config BLK_DEV_IDEACPI
262 bool "IDE ACPI support"
263 depends on ACPI
264 ---help---
265 Implement ACPI support for generic IDE devices. On modern
266 machines ACPI support is required to properly handle ACPI S3 states.
267
1da177e4
LT
268config IDE_TASK_IOCTL
269 bool "IDE Taskfile Access"
270 help
271 This is a direct raw access to the media. It is a complex but
272 elegant solution to test and validate the domain of the hardware and
3b6ce249 273 perform below the driver data recovery if needed. This is the most
1da177e4
LT
274 basic form of media-forensics.
275
276 If you are unsure, say N here.
277
ecfd80e4
BZ
278config IDE_PROC_FS
279 bool "legacy /proc/ide/ support"
280 depends on IDE && PROC_FS
281 default y
282 help
283 This option enables support for the various files in
284 /proc/ide. In Linux 2.6 this has been superseded by
285 files in sysfs but many legacy applications rely on this.
286
287 If unsure say Y.
288
1da177e4
LT
289comment "IDE chipset support/bugfixes"
290
291config IDE_GENERIC
292 tristate "generic/default IDE chipset support"
35bbac9a 293 depends on ALPHA || X86 || IA64 || M32R || MIPS
1da177e4 294 help
278ecfb8
TH
295 This is the generic IDE driver. This driver attaches to the
296 fixed legacy ports (e.g. on PCs 0x1f0/0x170, 0x1e8/0x168 and
297 so on). Please note that if this driver is built into the
298 kernel or loaded before other ATA (IDE or libata) drivers
299 and the controller is located at legacy ports, this driver
300 may grab those ports and thus can prevent the controller
301 specific driver from attaching.
302
303 Also, currently, IDE generic doesn't allow IRQ sharing
304 meaning that the IRQs it grabs won't be available to other
305 controllers sharing those IRQs which usually makes drivers
306 for those controllers fail. Generally, it's not a good idea
307 to load IDE generic driver on modern systems.
308
82a0e70e 309 If unsure, say N.
1da177e4 310
8cb1f567
AV
311config BLK_DEV_PLATFORM
312 tristate "Platform driver for IDE interfaces"
313 help
314 This is the platform IDE driver, used mostly for Memory Mapped
315 IDE devices, like Compact Flashes running in True IDE mode.
316
317 If unsure, say N.
318
1da177e4 319config BLK_DEV_CMD640
ade2daf9 320 tristate "CMD640 chipset bugfix/support"
1da177e4 321 depends on X86
17b500de 322 select IDE_TIMINGS
1da177e4
LT
323 ---help---
324 The CMD-Technologies CMD640 IDE chip is used on many common 486 and
325 Pentium motherboards, usually in combination with a "Neptune" or
326 "SiS" chipset. Unfortunately, it has a number of rather nasty
327 design flaws that can cause severe data corruption under many common
328 conditions. Say Y here to include code which tries to automatically
329 detect and correct the problems under Linux. This option also
330 enables access to the secondary IDE ports in some CMD640 based
331 systems.
332
333 This driver will work automatically in PCI based systems (most new
334 systems have PCI slots). But if your system uses VESA local bus
335 (VLB) instead of PCI, you must also supply a kernel boot parameter
64afc31f 336 to enable the CMD640 bugfix/support: "cmd640.probe_vlb". (Try "man
1da177e4
LT
337 bootparam" or see the documentation of your boot loader about how to
338 pass options to the kernel.)
339
340 The CMD640 chip is also used on add-in cards by Acculogic, and on
341 the "CSA-6400E PCI to IDE controller" that some people have. For
1c10e938 342 details, read <file:Documentation/ide/ide.txt>.
1da177e4
LT
343
344config BLK_DEV_CMD640_ENHANCED
345 bool "CMD640 enhanced support"
346 depends on BLK_DEV_CMD640
347 help
348 This option includes support for setting/autotuning PIO modes and
349 prefetch on CMD640 IDE interfaces. For details, read
1c10e938 350 <file:Documentation/ide/ide.txt>. If you have a CMD640 IDE interface
1da177e4
LT
351 and your BIOS does not already do this for you, then say Y here.
352 Otherwise say N.
353
354config BLK_DEV_IDEPNP
ade2daf9 355 tristate "PNP EIDE support"
1da177e4
LT
356 depends on PNP
357 help
358 If you have a PnP (Plug and Play) compatible EIDE card and
359 would like the kernel to automatically detect and activate
360 it, say Y here.
361
8e882ba1
SS
362config BLK_DEV_IDEDMA_SFF
363 bool
364
842c19ad
BZ
365if PCI
366
367comment "PCI IDE chipsets support"
368
1da177e4 369config BLK_DEV_IDEPCI
842c19ad 370 bool
1da177e4 371
6d208b39 372config IDEPCI_PCIBUS_ORDER
ce71ed9b
BZ
373 bool "Probe IDE PCI devices in the PCI bus order (DEPRECATED)"
374 depends on BLK_DEV_IDE=y && BLK_DEV_IDEPCI
375 default y
376 help
377 Probe IDE PCI devices in the order in which they appear on the
378 PCI bus (i.e. 00:1f.1 PCI device before 02:01.0 PCI device)
379 instead of the order in which IDE PCI host drivers are loaded.
380
381 Please note that this method of assuring stable naming of
382 IDE devices is unreliable and use other means for achieving
383 it (i.e. udev).
384
385 If in doubt, say N.
6d208b39 386
f7d7f3fd 387# TODO: split it on per host driver config options (or module parameters)
1da177e4 388config BLK_DEV_OFFBOARD
46255d40 389 bool "Boot off-board chipsets first support (DEPRECATED)"
f7d7f3fd 390 depends on BLK_DEV_IDEPCI && (BLK_DEV_AEC62XX || BLK_DEV_GENERIC || BLK_DEV_HPT34X || BLK_DEV_HPT366 || BLK_DEV_PDC202XX_NEW || BLK_DEV_PDC202XX_OLD || BLK_DEV_TC86C001)
1da177e4
LT
391 help
392 Normally, IDE controllers built into the motherboard (on-board
393 controllers) are assigned to ide0 and ide1 while those on add-in PCI
394 cards (off-board controllers) are relegated to ide2 and ide3.
395 Answering Y here will allow you to reverse the situation, with
396 off-board controllers on ide0/1 and on-board controllers on ide2/3.
397 This can improve the usability of some boot managers such as lilo
398 when booting from a drive on an off-board controller.
399
1da177e4
LT
400 Note that, if you do this, the order of the hd* devices will be
401 rearranged which may require modification of fstab and other files.
402
46255d40
BZ
403 Please also note that this method of assuring stable naming of
404 IDE devices is unreliable and use other means for achieving it
405 (i.e. udev).
406
1da177e4
LT
407 If in doubt, say N.
408
409config BLK_DEV_GENERIC
410 tristate "Generic PCI IDE Chipset Support"
842c19ad 411 select BLK_DEV_IDEPCI
edd023d0
JD
412 help
413 This option provides generic support for various PCI IDE Chipsets
414 which otherwise might not be supported.
1da177e4
LT
415
416config BLK_DEV_OPTI621
417 tristate "OPTi 82C621 chipset enhanced support (EXPERIMENTAL)"
842c19ad
BZ
418 depends on EXPERIMENTAL
419 select BLK_DEV_IDEPCI
1da177e4
LT
420 help
421 This is a driver for the OPTi 82C621 EIDE controller.
422 Please read the comments at the top of <file:drivers/ide/pci/opti621.c>.
423
424config BLK_DEV_RZ1000
425 tristate "RZ1000 chipset bugfix/support"
842c19ad
BZ
426 depends on X86
427 select BLK_DEV_IDEPCI
1da177e4
LT
428 help
429 The PC-Technologies RZ1000 IDE chip is used on many common 486 and
430 Pentium motherboards, usually along with the "Neptune" chipset.
431 Unfortunately, it has a rather nasty design flaw that can cause
432 severe data corruption under many conditions. Say Y here to include
433 code which automatically detects and corrects the problem under
434 Linux. This may slow disk throughput by a few percent, but at least
435 things will operate 100% reliably.
436
1da177e4 437config BLK_DEV_IDEDMA_PCI
842c19ad
BZ
438 bool
439 select BLK_DEV_IDEPCI
8e882ba1 440 select BLK_DEV_IDEDMA_SFF
1da177e4 441
1da177e4
LT
442config BLK_DEV_AEC62XX
443 tristate "AEC62XX chipset support"
842c19ad 444 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
445 help
446 This driver adds explicit support for Acard AEC62xx (Artop ATP8xx)
447 IDE controllers. This allows the kernel to change PIO, DMA and UDMA
448 speeds and to configure the chip to optimum performance.
449
450config BLK_DEV_ALI15X3
451 tristate "ALI M15x3 chipset support"
288911af 452 select IDE_TIMINGS
842c19ad 453 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
454 help
455 This driver ensures (U)DMA support for ALI 1533, 1543 and 1543C
456 onboard chipsets. It also tests for Simplex mode and enables
457 normal dual channel support.
458
64afc31f 459 Please read the comments at the top of
1da177e4
LT
460 <file:drivers/ide/pci/alim15x3.c>.
461
462 If unsure, say N.
463
1da177e4
LT
464config BLK_DEV_AMD74XX
465 tristate "AMD and nVidia IDE support"
91302010 466 depends on !ARM
f06ab340 467 select IDE_TIMINGS
842c19ad 468 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
469 help
470 This driver adds explicit support for AMD-7xx and AMD-8111 chips
471 and also for the nVidia nForce chip. This allows the kernel to
472 change PIO, DMA and UDMA speeds and to configure the chip to
473 optimum performance.
474
475config BLK_DEV_ATIIXP
476 tristate "ATI IXP chipset IDE support"
477 depends on X86
842c19ad 478 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
479 help
480 This driver adds explicit support for ATI IXP chipset.
481 This allows the kernel to change PIO, DMA and UDMA speeds
482 and to configure the chip to optimum performance.
483
484 Say Y here if you have an ATI IXP chipset IDE controller.
485
486config BLK_DEV_CMD64X
487 tristate "CMD64{3|6|8|9} chipset support"
86a0e12f 488 select IDE_TIMINGS
842c19ad 489 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
490 help
491 Say Y here if you have an IDE controller which uses any of these
492 chipsets: CMD643, CMD646, or CMD648.
493
494config BLK_DEV_TRIFLEX
495 tristate "Compaq Triflex IDE support"
842c19ad 496 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
497 help
498 Say Y here if you have a Compaq Triflex IDE controller, such
499 as those commonly found on Compaq Pentium-Pro systems
500
501config BLK_DEV_CY82C693
502 tristate "CY82C693 chipset support"
cbf3d262 503 depends on ALPHA
713a590d 504 select IDE_TIMINGS
842c19ad 505 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
506 help
507 This driver adds detection and support for the CY82C693 chipset
508 used on Digital's PC-Alpha 164SX boards.
509
1da177e4
LT
510config BLK_DEV_CS5520
511 tristate "Cyrix CS5510/20 MediaGX chipset support (VERY EXPERIMENTAL)"
512 depends on EXPERIMENTAL
842c19ad 513 select BLK_DEV_IDEDMA_PCI
1da177e4 514 help
3b6ce249 515 Include support for PIO tuning and virtual DMA on the Cyrix MediaGX
1da177e4
LT
516 5510/5520 chipset. This will automatically be detected and
517 configured if found.
518
519 It is safe to say Y to this question.
520
521config BLK_DEV_CS5530
522 tristate "Cyrix/National Semiconductor CS5530 MediaGX chipset support"
842c19ad 523 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
524 help
525 Include support for UDMA on the Cyrix MediaGX 5530 chipset. This
526 will automatically be detected and configured if found.
527
528 It is safe to say Y to this question.
529
f5b2d8b4
JK
530config BLK_DEV_CS5535
531 tristate "AMD CS5535 chipset support"
532 depends on X86 && !X86_64
842c19ad 533 select BLK_DEV_IDEDMA_PCI
f5b2d8b4
JK
534 help
535 Include support for UDMA on the NSC/AMD CS5535 companion chipset.
536 This will automatically be detected and configured if found.
537
538 It is safe to say Y to this question.
539
1da177e4
LT
540config BLK_DEV_HPT34X
541 tristate "HPT34X chipset support"
472b4bc1 542 depends on BROKEN
842c19ad 543 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
544 help
545 This driver adds up to 4 more EIDE devices sharing a single
546 interrupt. The HPT343 chipset in its current form is a non-bootable
547 controller; the HPT345/HPT363 chipset is a bootable (needs BIOS FIX)
548 PCI UDMA controllers. This driver requires dynamic tuning of the
549 chipset during the ide-probe at boot time. It is reported to support
550 DVD II drives, by the manufacturer.
551
552config HPT34X_AUTODMA
553 bool "HPT34X AUTODMA support (EXPERIMENTAL)"
554 depends on BLK_DEV_HPT34X && EXPERIMENTAL
555 help
556 This is a dangerous thing to attempt currently! Please read the
557 comments at the top of <file:drivers/ide/pci/hpt34x.c>. If you say Y
558 here, then say Y to "Use DMA by default when available" as well.
559
560 If unsure, say N.
561
562config BLK_DEV_HPT366
563 tristate "HPT36X/37X chipset support"
842c19ad
BZ
564 select BLK_DEV_IDEDMA_PCI
565 help
1da177e4
LT
566 HPT366 is an Ultra DMA chipset for ATA-66.
567 HPT368 is an Ultra DMA chipset for ATA-66 RAID Based.
568 HPT370 is an Ultra DMA chipset for ATA-100.
569 HPT372 is an Ultra DMA chipset for ATA-100.
570 HPT374 is an Ultra DMA chipset for ATA-100.
571
572 This driver adds up to 4 more EIDE devices sharing a single
573 interrupt.
574
575 The HPT366 chipset in its current form is bootable. One solution
576 for this problem are special LILO commands for redirecting the
577 reference to device 0x80. The other solution is to say Y to "Boot
578 off-board chipsets first support" (CONFIG_BLK_DEV_OFFBOARD) unless
579 your mother board has the chipset natively mounted. Regardless one
a594eeb1 580 should use the fore mentioned option and call at LILO.
1da177e4
LT
581
582 This driver requires dynamic tuning of the chipset during the
583 ide-probe at boot. It is reported to support DVD II drives, by the
584 manufacturer.
585
bbb3bbdb
AC
586config BLK_DEV_JMICRON
587 tristate "JMicron JMB36x support"
842c19ad 588 select BLK_DEV_IDEDMA_PCI
bbb3bbdb
AC
589 help
590 Basic support for the JMicron ATA controllers. For full support
591 use the libata drivers.
592
1da177e4
LT
593config BLK_DEV_SC1200
594 tristate "National SCx200 chipset support"
842c19ad 595 select BLK_DEV_IDEDMA_PCI
1da177e4 596 help
e665d505
FP
597 This driver adds support for the on-board IDE controller on the
598 National SCx200 series of embedded x86 "Geode" systems.
1da177e4
LT
599
600config BLK_DEV_PIIX
64afc31f 601 tristate "Intel PIIX/ICH chipsets support"
842c19ad 602 select BLK_DEV_IDEDMA_PCI
1da177e4 603 help
64afc31f
BZ
604 This driver adds explicit support for Intel PIIX and ICH chips.
605 This allows the kernel to change PIO, DMA and UDMA speeds and to
606 configure the chip to optimum performance.
1da177e4 607
9c6712c0
JL
608config BLK_DEV_IT8213
609 tristate "IT8213 IDE support"
842c19ad 610 select BLK_DEV_IDEDMA_PCI
9c6712c0
JL
611 help
612 This driver adds support for the ITE 8213 IDE controller.
613
da9091ee
AC
614config BLK_DEV_IT821X
615 tristate "IT821X IDE support"
842c19ad 616 select BLK_DEV_IDEDMA_PCI
da9091ee
AC
617 help
618 This driver adds support for the ITE 8211 IDE controller and the
619 IT 8212 IDE RAID controller in both RAID and pass-through mode.
620
1da177e4
LT
621config BLK_DEV_NS87415
622 tristate "NS87415 chipset support"
842c19ad 623 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
624 help
625 This driver adds detection and support for the NS87415 chip
41df8940 626 (used mainly on SPARC64 and PA-RISC machines).
1da177e4
LT
627
628 Please read the comments at the top of <file:drivers/ide/pci/ns87415.c>.
629
630config BLK_DEV_PDC202XX_OLD
631 tristate "PROMISE PDC202{46|62|65|67} support"
842c19ad 632 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
633 help
634 Promise Ultra33 or PDC20246
635 Promise Ultra66 or PDC20262
636 Promise Ultra100 or PDC20265/PDC20267/PDC20268
637
638 This driver adds up to 4 more EIDE devices sharing a single
639 interrupt. This add-on card is a bootable PCI UDMA controller. Since
640 multiple cards can be installed and there are BIOS ROM problems that
641 happen if the BIOS revisions of all installed cards (three-max) do
642 not match, the driver attempts to do dynamic tuning of the chipset
643 at boot-time for max-speed. Ultra33 BIOS 1.25 or newer is required
64afc31f 644 for more than one card.
1da177e4
LT
645
646 Please read the comments at the top of
647 <file:drivers/ide/pci/pdc202xx_old.c>.
648
649 If unsure, say N.
650
1da177e4
LT
651config BLK_DEV_PDC202XX_NEW
652 tristate "PROMISE PDC202{68|69|70|71|75|76|77} support"
842c19ad 653 select BLK_DEV_IDEDMA_PCI
1da177e4 654
1da177e4
LT
655config BLK_DEV_SVWKS
656 tristate "ServerWorks OSB4/CSB5/CSB6 chipsets support"
842c19ad 657 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
658 help
659 This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5
660 chipsets.
661
662config BLK_DEV_SGIIOC4
e5d310b3
BC
663 tristate "Silicon Graphics IOC4 chipset ATA/ATAPI support"
664 depends on (IA64_SGI_SN2 || IA64_GENERIC) && SGI_IOC4
842c19ad 665 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
666 help
667 This driver adds PIO & MultiMode DMA-2 support for the SGI IOC4
668 chipset, which has one channel and can support two devices.
669 Please say Y here if you have an Altix System from SGI.
670
671config BLK_DEV_SIIMAGE
672 tristate "Silicon Image chipset support"
842c19ad 673 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
674 help
675 This driver adds PIO/(U)DMA support for the SI CMD680 and SII
676 3112 (Serial ATA) chips.
677
678config BLK_DEV_SIS5513
679 tristate "SiS5513 chipset support"
680 depends on X86
842c19ad
BZ
681 select BLK_DEV_IDEDMA_PCI
682 help
1da177e4
LT
683 This driver ensures (U)DMA support for SIS5513 chipset family based
684 mainboards.
685
686 The following chipsets are supported:
687 ATA16: SiS5511, SiS5513
688 ATA33: SiS5591, SiS5597, SiS5598, SiS5600
689 ATA66: SiS530, SiS540, SiS620, SiS630, SiS640
690 ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740,
691 SiS745, SiS750
692
1da177e4
LT
693 Please read the comments at the top of <file:drivers/ide/pci/sis5513.c>.
694
9468f687
OH
695config BLK_DEV_SL82C105
696 tristate "Winbond SL82c105 support"
697 depends on (PPC || ARM)
3f847571 698 select IDE_TIMINGS
842c19ad 699 select BLK_DEV_IDEDMA_PCI
9468f687
OH
700 help
701 If you have a Winbond SL82c105 IDE controller, say Y here to enable
702 special configuration for this chip. This is common on various CHRP
703 motherboards, but could be used elsewhere. If in doubt, say Y.
704
1da177e4
LT
705config BLK_DEV_SLC90E66
706 tristate "SLC90E66 chipset support"
842c19ad 707 select BLK_DEV_IDEDMA_PCI
1da177e4 708 help
3b6ce249 709 This driver ensures (U)DMA support for Victory66 SouthBridges for
1da177e4
LT
710 SMsC with Intel NorthBridges. This is an Ultra66 based chipset.
711 The nice thing about it is that you can mix Ultra/DMA/PIO devices
712 and it will handle timing cycles. Since this is an improved
713 look-a-like to the PIIX4 it should be a nice addition.
714
1da177e4
LT
715 Please read the comments at the top of
716 <file:drivers/ide/pci/slc90e66.c>.
717
718config BLK_DEV_TRM290
719 tristate "Tekram TRM290 chipset support"
842c19ad 720 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
721 help
722 This driver adds support for bus master DMA transfers
723 using the Tekram TRM290 PCI IDE chip. Volunteers are
724 needed for further tweaking and development.
725 Please read the comments at the top of <file:drivers/ide/pci/trm290.c>.
726
727config BLK_DEV_VIA82CXXX
728 tristate "VIA82CXXX chipset support"
f06ab340 729 select IDE_TIMINGS
842c19ad 730 select BLK_DEV_IDEDMA_PCI
1da177e4
LT
731 help
732 This driver adds explicit support for VIA BusMastering IDE chips.
733 This allows the kernel to change PIO, DMA and UDMA speeds and to
734 configure the chip to optimum performance.
735
33dced2e
SS
736config BLK_DEV_TC86C001
737 tristate "Toshiba TC86C001 support"
842c19ad 738 select BLK_DEV_IDEDMA_PCI
33dced2e
SS
739 help
740 This driver adds support for Toshiba TC86C001 GOKU-S chip.
741
a1067db8
KI
742config BLK_DEV_CELLEB
743 tristate "Toshiba's Cell Reference Set IDE support"
744 depends on PPC_CELLEB
842c19ad 745 select BLK_DEV_IDEDMA_PCI
a1067db8 746 help
e665d505 747 This driver provides support for the on-board IDE controller on
a1067db8
KI
748 Toshiba Cell Reference Board.
749 If unsure, say Y.
750
1da177e4
LT
751endif
752
753config BLK_DEV_IDE_PMAC
e665d505 754 tristate "PowerMac on-board IDE support"
6c28c1f5 755 depends on PPC_PMAC && IDE=y && BLK_DEV_IDE=y
f06ab340 756 select IDE_TIMINGS
1da177e4 757 help
e665d505 758 This driver provides support for the on-board IDE controller on
1da177e4
LT
759 most of the recent Apple Power Macintoshes and PowerBooks.
760 If unsure, say Y.
761
762config BLK_DEV_IDE_PMAC_ATA100FIRST
e665d505 763 bool "Probe on-board ATA/100 (Kauai) first"
1da177e4
LT
764 depends on BLK_DEV_IDE_PMAC
765 help
766 This option will cause the ATA/100 controller found in UniNorth2
767 based machines (Windtunnel PowerMac, Aluminium PowerBooks, ...)
768 to be probed before the ATA/66 and ATA/33 controllers. Without
769 these, those machine used to have the hard disk on hdc and the
770 CD-ROM on hda. This option changes this to more natural hda for
771 hard disk and hdc for CD-ROM.
772
773config BLK_DEV_IDEDMA_PMAC
774 bool "PowerMac IDE DMA support"
775 depends on BLK_DEV_IDE_PMAC
0ac72b35 776 select BLK_DEV_IDEDMA_PCI
1da177e4 777 help
e665d505 778 This option allows the driver for the on-board IDE controller on
1da177e4
LT
779 Power Macintoshes and PowerBooks to use DMA (direct memory access)
780 to transfer data to and from memory. Saying Y is safe and improves
781 performance.
782
26a940e2
PP
783config BLK_DEV_IDE_AU1XXX
784 bool "IDE for AMD Alchemy Au1200"
785 depends on SOC_AU1200
786choice
787 prompt "IDE Mode for AMD Alchemy Au1200"
788 default CONFIG_BLK_DEV_IDE_AU1XXX_PIO_DBDMA
789 depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX
790
791config BLK_DEV_IDE_AU1XXX_PIO_DBDMA
792 bool "PIO+DbDMA IDE for AMD Alchemy Au1200"
793
794config BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
795 bool "MDMA2+DbDMA IDE for AMD Alchemy Au1200"
796 depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX
797endchoice
798
26a940e2
PP
799config BLK_DEV_IDE_AU1XXX_SEQTS_PER_RQ
800 int "Maximum transfer size (KB) per request (up to 128)"
801 default "128"
bef1f402 802 depends on BLK_DEV_IDE_AU1XXX
26a940e2 803
1da177e4 804config IDE_ARM
ade2daf9
BZ
805 tristate "ARM IDE support"
806 depends on ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
807 default y
1da177e4
LT
808
809config BLK_DEV_IDE_ICSIDE
810 tristate "ICS IDE interface support"
811 depends on ARM && ARCH_ACORN
812 help
813 On Acorn systems, say Y here if you wish to use the ICS IDE
814 interface card. This is not required for ICS partition support.
815 If you are unsure, say N to this.
816
817config BLK_DEV_IDEDMA_ICS
818 bool "ICS DMA support"
819 depends on BLK_DEV_IDE_ICSIDE
820 help
821 Say Y here if you want to add DMA (Direct Memory Access) support to
822 the ICS IDE driver.
823
1da177e4
LT
824config BLK_DEV_IDE_RAPIDE
825 tristate "RapIDE interface support"
826 depends on ARM && ARCH_ACORN
827 help
828 Say Y here if you want to support the Yellowstone RapIDE controller
829 manufactured for use with Acorn computers.
830
acfad6e1 831config IDE_H8300
ade2daf9 832 tristate "H8300 IDE support"
acfad6e1 833 depends on H8300
acfad6e1
BZ
834 default y
835 help
836 Enables the H8300 IDE driver.
837
1da177e4 838config BLK_DEV_GAYLE
ade2daf9 839 tristate "Amiga Gayle IDE interface support"
1da177e4
LT
840 depends on AMIGA
841 help
842 This is the IDE driver for the Amiga Gayle IDE interface. It supports
843 both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
e665d505 844 This includes on-board IDE interfaces on some Amiga models (A600,
1da177e4
LT
845 A1200, A4000, and A4000T), and IDE interfaces on the Zorro expansion
846 bus (M-Tech E-Matrix 530 expansion card).
847 Say Y if you have an Amiga with a Gayle IDE interface and want to use
848 IDE devices (hard disks, CD-ROM drives, etc.) that are connected to
849 it.
850 Note that you also have to enable Zorro bus support if you want to
851 use Gayle IDE interfaces on the Zorro expansion bus.
852
853config BLK_DEV_IDEDOUBLER
854 bool "Amiga IDE Doubler support (EXPERIMENTAL)"
855 depends on BLK_DEV_GAYLE && EXPERIMENTAL
856 ---help---
64afc31f 857 This feature provides support for the so-called `IDE doublers' (made
e665d505
FP
858 by various manufacturers, e.g. Eyetech) that can be connected to
859 the on-board IDE interface of some Amiga models. Using such an IDE
860 doubler, you can connect up to four instead of two IDE devices to
861 the Amiga's on-board IDE interface.
1da177e4
LT
862
863 Note that the normal Amiga Gayle IDE driver may not work correctly
64afc31f 864 if you have an IDE doubler and don't enable this feature!
1da177e4 865
64afc31f
BZ
866 Say Y if you have an IDE doubler. The feature is enabled at kernel
867 runtime using the "gayle.doubler" kernel boot parameter.
1da177e4
LT
868
869config BLK_DEV_BUDDHA
ade2daf9 870 tristate "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
1da177e4
LT
871 depends on ZORRO && EXPERIMENTAL
872 help
e665d505
FP
873 This is the IDE driver for the IDE interfaces on the Buddha, Catweasel
874 and X-Surf expansion boards. It supports up to two interfaces on the
875 Buddha, three on the Catweasel and two on the X-Surf.
1da177e4
LT
876
877 Say Y if you have a Buddha or Catweasel expansion board and want to
878 use IDE devices (hard disks, CD-ROM drives, etc.) that are connected
879 to one of its IDE interfaces.
880
881config BLK_DEV_FALCON_IDE
ade2daf9 882 tristate "Falcon IDE interface support"
1da177e4
LT
883 depends on ATARI
884 help
e665d505 885 This is the IDE driver for the on-board IDE interface on the Atari
1da177e4 886 Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
e665d505 887 disks, CD-ROM drives, etc.) that are connected to the on-board IDE
1da177e4
LT
888 interface.
889
890config BLK_DEV_MAC_IDE
ade2daf9 891 tristate "Macintosh Quadra/Powerbook IDE interface support"
1da177e4
LT
892 depends on MAC
893 help
e665d505 894 This is the IDE driver for the on-board IDE interface on some m68k
1da177e4
LT
895 Macintosh models. It supports both the `Quadra style' (used in
896 Quadra/ Centris 630 and Performa 588 models) and `Powerbook style'
897 (used in the Powerbook 150 and 190 models) IDE interface.
898
899 Say Y if you have such an Macintosh model and want to use IDE
900 devices (hard disks, CD-ROM drives, etc.) that are connected to the
e665d505 901 on-board IDE interface.
1da177e4
LT
902
903config BLK_DEV_Q40IDE
ade2daf9 904 tristate "Q40/Q60 IDE interface support"
1da177e4
LT
905 depends on Q40
906 help
907 Enable the on-board IDE controller in the Q40/Q60. This should
908 normally be on; disable it only if you are running a custom hard
909 drive subsystem through an expansion card.
910
7c7e92a9
AS
911config BLK_DEV_PALMCHIP_BK3710
912 tristate "Palmchip bk3710 IDE controller support"
913 depends on ARCH_DAVINCI
f06ab340 914 select IDE_TIMINGS
8e882ba1 915 select BLK_DEV_IDEDMA_SFF
7c7e92a9
AS
916 help
917 Say Y here if you want to support the onchip IDE controller on the
918 TI DaVinci SoC
919
1da177e4 920# no isa -> no vlb
e4079df0 921if ISA && (ALPHA || X86 || MIPS)
1da177e4 922
842c19ad 923comment "Other IDE chipsets support"
1da177e4
LT
924comment "Note: most of these also require special kernel boot parameters"
925
926config BLK_DEV_4DRIVES
938da770 927 tristate "Generic 4 drives/port support"
1da177e4
LT
928 help
929 Certain older chipsets, including the Tekram 690CD, use a single set
930 of I/O ports at 0x1f0 to control up to four drives, instead of the
931 customary two drives per port. Support for this can be enabled at
ffd4f6f0
BZ
932 runtime using the "ide-4drives.probe" kernel boot parameter if you
933 say Y here.
1da177e4
LT
934
935config BLK_DEV_ALI14XX
936 tristate "ALI M14xx support"
cc57ccc0 937 select IDE_TIMINGS
1da177e4 938 help
84913882 939 This driver is enabled at runtime using the "ali14xx.probe" kernel
1da177e4
LT
940 boot parameter. It enables support for the secondary IDE interface
941 of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster
1c10e938
RD
942 I/O speeds to be set as well.
943 See the files <file:Documentation/ide/ide.txt> and
944 <file:drivers/ide/legacy/ali14xx.c> for more info.
1da177e4
LT
945
946config BLK_DEV_DTC2278
947 tristate "DTC-2278 support"
948 help
84913882 949 This driver is enabled at runtime using the "dtc2278.probe" kernel
1da177e4
LT
950 boot parameter. It enables support for the secondary IDE interface
951 of the DTC-2278 card, and permits faster I/O speeds to be set as
1c10e938 952 well. See the <file:Documentation/ide/ide.txt> and
1da177e4
LT
953 <file:drivers/ide/legacy/dtc2278.c> files for more info.
954
955config BLK_DEV_HT6560B
956 tristate "Holtek HT6560B support"
b32b76f7 957 select IDE_TIMINGS
1da177e4 958 help
84913882 959 This driver is enabled at runtime using the "ht6560b.probe" kernel
1da177e4
LT
960 boot parameter. It enables support for the secondary IDE interface
961 of the Holtek card, and permits faster I/O speeds to be set as well.
1c10e938 962 See the <file:Documentation/ide/ide.txt> and
1da177e4
LT
963 <file:drivers/ide/legacy/ht6560b.c> files for more info.
964
965config BLK_DEV_QD65XX
966 tristate "QDI QD65xx support"
2feecfac 967 select IDE_TIMINGS
1da177e4 968 help
84913882 969 This driver is enabled at runtime using the "qd65xx.probe" kernel
1da177e4 970 boot parameter. It permits faster I/O speeds to be set. See the
1c10e938 971 <file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/qd65xx.c>
e665d505 972 for more info.
1da177e4
LT
973
974config BLK_DEV_UMC8672
975 tristate "UMC-8672 support"
976 help
84913882 977 This driver is enabled at runtime using the "umc8672.probe" kernel
1da177e4
LT
978 boot parameter. It enables support for the secondary IDE interface
979 of the UMC-8672, and permits faster I/O speeds to be set as well.
1c10e938 980 See the files <file:Documentation/ide/ide.txt> and
1da177e4
LT
981 <file:drivers/ide/legacy/umc8672.c> for more info.
982
983endif
984
985config BLK_DEV_IDEDMA
8e882ba1
SS
986 def_bool BLK_DEV_IDEDMA_SFF || BLK_DEV_IDEDMA_PMAC || \
987 BLK_DEV_IDEDMA_ICS || BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
1da177e4 988
1da177e4
LT
989endif
990
e0ff9cd1 991endif # IDE