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