b1c6f68d98ced4b48388d7d90268f1cfff91498f
[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.
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_HPT366
469         tristate "HPT36X/37X chipset support"
470         select BLK_DEV_IDEDMA_PCI
471         help
472           HPT366 is an Ultra DMA chipset for ATA-66.
473           HPT368 is an Ultra DMA chipset for ATA-66 RAID Based.
474           HPT370 is an Ultra DMA chipset for ATA-100.
475           HPT372 is an Ultra DMA chipset for ATA-100.
476           HPT374 is an Ultra DMA chipset for ATA-100.
477
478           This driver adds up to 4 more EIDE devices sharing a single
479           interrupt.
480
481           The HPT366 chipset in its current form is bootable. One solution
482           for this problem are special LILO commands for redirecting the
483           reference to device 0x80. The other solution is to say Y to "Boot
484           off-board chipsets first support" (CONFIG_BLK_DEV_OFFBOARD) unless
485           your mother board has the chipset natively mounted. Regardless one
486           should use the fore mentioned option and call at LILO.
487
488           This driver requires dynamic tuning of the chipset during the
489           ide-probe at boot. It is reported to support DVD II drives, by the
490           manufacturer.
491
492 config BLK_DEV_JMICRON
493         tristate "JMicron JMB36x support"
494         select BLK_DEV_IDEDMA_PCI
495         help
496           Basic support for the JMicron ATA controllers. For full support
497           use the libata drivers.
498
499 config BLK_DEV_SC1200
500         tristate "National SCx200 chipset support"
501         select BLK_DEV_IDEDMA_PCI
502         help
503           This driver adds support for the on-board IDE controller on the
504           National SCx200 series of embedded x86 "Geode" systems.
505
506 config BLK_DEV_PIIX
507         tristate "Intel PIIX/ICH chipsets support"
508         select BLK_DEV_IDEDMA_PCI
509         help
510           This driver adds explicit support for Intel PIIX and ICH chips.
511           This allows the kernel to change PIO, DMA and UDMA speeds and to
512           configure the chip to optimum performance.
513
514 config BLK_DEV_IT8172
515         tristate "IT8172 IDE support"
516         select BLK_DEV_IDEDMA_PCI
517         help
518           This driver adds support for the IDE controller on the
519           IT8172 System Controller.
520
521 config BLK_DEV_IT8213
522         tristate "IT8213 IDE support"
523         select BLK_DEV_IDEDMA_PCI
524         help
525          This driver adds support for the ITE 8213 IDE controller.
526
527 config BLK_DEV_IT821X
528         tristate "IT821X IDE support"
529         select BLK_DEV_IDEDMA_PCI
530         help
531           This driver adds support for the ITE 8211 IDE controller and the
532           IT 8212 IDE RAID controller in both RAID and pass-through mode.
533
534 config BLK_DEV_NS87415
535         tristate "NS87415 chipset support"
536         select BLK_DEV_IDEDMA_PCI
537         help
538           This driver adds detection and support for the NS87415 chip
539           (used mainly on SPARC64 and PA-RISC machines).
540
541           Please read the comments at the top of <file:drivers/ide/pci/ns87415.c>.
542
543 config BLK_DEV_PDC202XX_OLD
544         tristate "PROMISE PDC202{46|62|65|67} support"
545         select BLK_DEV_IDEDMA_PCI
546         help
547           Promise Ultra33 or PDC20246
548           Promise Ultra66 or PDC20262
549           Promise Ultra100 or PDC20265/PDC20267/PDC20268
550
551           This driver adds up to 4 more EIDE devices sharing a single
552           interrupt. This add-on card is a bootable PCI UDMA controller. Since
553           multiple cards can be installed and there are BIOS ROM problems that
554           happen if the BIOS revisions of all installed cards (three-max) do
555           not match, the driver attempts to do dynamic tuning of the chipset
556           at boot-time for max-speed.  Ultra33 BIOS 1.25 or newer is required
557           for more than one card.
558
559           Please read the comments at the top of
560           <file:drivers/ide/pci/pdc202xx_old.c>.
561
562           If unsure, say N.
563
564 config BLK_DEV_PDC202XX_NEW
565         tristate "PROMISE PDC202{68|69|70|71|75|76|77} support"
566         select BLK_DEV_IDEDMA_PCI
567
568 config BLK_DEV_SVWKS
569         tristate "ServerWorks OSB4/CSB5/CSB6 chipsets support"
570         select BLK_DEV_IDEDMA_PCI
571         help
572           This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5
573           chipsets.
574
575 config BLK_DEV_SGIIOC4
576         tristate "Silicon Graphics IOC4 chipset ATA/ATAPI support"
577         depends on (IA64_SGI_SN2 || IA64_GENERIC) && SGI_IOC4
578         select BLK_DEV_IDEDMA_PCI
579         help
580           This driver adds PIO & MultiMode DMA-2 support for the SGI IOC4
581           chipset, which has one channel and can support two devices.
582           Please say Y here if you have an Altix System from SGI.
583
584 config BLK_DEV_SIIMAGE
585         tristate "Silicon Image chipset support"
586         select BLK_DEV_IDEDMA_PCI
587         help
588           This driver adds PIO/(U)DMA support for the SI CMD680 and SII
589           3112 (Serial ATA) chips.
590
591 config BLK_DEV_SIS5513
592         tristate "SiS5513 chipset support"
593         depends on X86
594         select BLK_DEV_IDEDMA_PCI
595         help
596           This driver ensures (U)DMA support for SIS5513 chipset family based
597           mainboards.
598
599           The following chipsets are supported:
600           ATA16:  SiS5511, SiS5513
601           ATA33:  SiS5591, SiS5597, SiS5598, SiS5600
602           ATA66:  SiS530, SiS540, SiS620, SiS630, SiS640
603           ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740,
604           SiS745, SiS750
605
606           Please read the comments at the top of <file:drivers/ide/pci/sis5513.c>.
607
608 config BLK_DEV_SL82C105
609         tristate "Winbond SL82c105 support"
610         depends on (PPC || ARM)
611         select IDE_TIMINGS
612         select BLK_DEV_IDEDMA_PCI
613         help
614           If you have a Winbond SL82c105 IDE controller, say Y here to enable
615           special configuration for this chip. This is common on various CHRP
616           motherboards, but could be used elsewhere. If in doubt, say Y.
617
618 config BLK_DEV_SLC90E66
619         tristate "SLC90E66 chipset support"
620         select BLK_DEV_IDEDMA_PCI
621         help
622           This driver ensures (U)DMA support for Victory66 SouthBridges for
623           SMsC with Intel NorthBridges.  This is an Ultra66 based chipset.
624           The nice thing about it is that you can mix Ultra/DMA/PIO devices
625           and it will handle timing cycles.  Since this is an improved
626           look-a-like to the PIIX4 it should be a nice addition.
627
628           Please read the comments at the top of
629           <file:drivers/ide/pci/slc90e66.c>.
630
631 config BLK_DEV_TRM290
632         tristate "Tekram TRM290 chipset support"
633         select BLK_DEV_IDEDMA_PCI
634         help
635           This driver adds support for bus master DMA transfers
636           using the Tekram TRM290 PCI IDE chip. Volunteers are
637           needed for further tweaking and development.
638           Please read the comments at the top of <file:drivers/ide/pci/trm290.c>.
639
640 config BLK_DEV_VIA82CXXX
641         tristate "VIA82CXXX chipset support"
642         select IDE_TIMINGS
643         select BLK_DEV_IDEDMA_PCI
644         help
645           This driver adds explicit support for VIA BusMastering IDE chips.
646           This allows the kernel to change PIO, DMA and UDMA speeds and to
647           configure the chip to optimum performance.
648
649 config BLK_DEV_TC86C001
650         tristate "Toshiba TC86C001 support"
651         select BLK_DEV_IDEDMA_PCI
652         help
653         This driver adds support for Toshiba TC86C001 GOKU-S chip.
654
655 config BLK_DEV_CELLEB
656         tristate "Toshiba's Cell Reference Set IDE support"
657         depends on PPC_CELLEB
658         select BLK_DEV_IDEDMA_PCI
659         help
660           This driver provides support for the on-board IDE controller on
661           Toshiba Cell Reference Board.
662           If unsure, say Y.
663
664 endif
665
666 # TODO: BLK_DEV_IDEDMA_PCI -> BLK_DEV_IDEDMA_SFF
667 config BLK_DEV_IDE_PMAC
668         tristate "PowerMac on-board IDE support"
669         depends on PPC_PMAC && IDE=y
670         select IDE_TIMINGS
671         select BLK_DEV_IDEDMA_PCI
672         help
673           This driver provides support for the on-board IDE controller on
674           most of the recent Apple Power Macintoshes and PowerBooks.
675           If unsure, say Y.
676
677 config BLK_DEV_IDE_PMAC_ATA100FIRST
678         bool "Probe on-board ATA/100 (Kauai) first"
679         depends on BLK_DEV_IDE_PMAC
680         help
681           This option will cause the ATA/100 controller found in UniNorth2
682           based machines (Windtunnel PowerMac, Aluminium PowerBooks, ...)
683           to be probed before the ATA/66 and ATA/33 controllers. Without
684           these, those machine used to have the hard disk on hdc and the
685           CD-ROM on hda. This option changes this to more natural hda for
686           hard disk and hdc for CD-ROM.
687
688 config BLK_DEV_IDE_AU1XXX
689        bool "IDE for AMD Alchemy Au1200"
690        depends on SOC_AU1200
691 choice
692        prompt "IDE Mode for AMD Alchemy Au1200"
693        default CONFIG_BLK_DEV_IDE_AU1XXX_PIO_DBDMA
694        depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX
695
696 config BLK_DEV_IDE_AU1XXX_PIO_DBDMA
697        bool "PIO+DbDMA IDE for AMD Alchemy Au1200"
698
699 config BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
700        bool "MDMA2+DbDMA IDE for AMD Alchemy Au1200"
701        depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX
702 endchoice
703
704 config BLK_DEV_IDE_TX4938
705         tristate "TX4938 internal IDE support"
706         depends on SOC_TX4938
707         select IDE_TIMINGS
708
709 config BLK_DEV_IDE_TX4939
710         tristate "TX4939 internal IDE support"
711         depends on SOC_TX4939
712         select BLK_DEV_IDEDMA_SFF
713
714 config IDE_ARM
715         tristate "ARM IDE support"
716         depends on ARM && (ARCH_RPC || ARCH_SHARK)
717         default y
718
719 config BLK_DEV_IDE_ICSIDE
720         tristate "ICS IDE interface support"
721         depends on ARM && ARCH_ACORN
722         help
723           On Acorn systems, say Y here if you wish to use the ICS IDE
724           interface card.  This is not required for ICS partition support.
725           If you are unsure, say N to this.
726
727 config BLK_DEV_IDEDMA_ICS
728         bool "ICS DMA support"
729         depends on BLK_DEV_IDE_ICSIDE
730         help
731           Say Y here if you want to add DMA (Direct Memory Access) support to
732           the ICS IDE driver.
733
734 config BLK_DEV_IDE_RAPIDE
735         tristate "RapIDE interface support"
736         depends on ARM && ARCH_ACORN
737         help
738           Say Y here if you want to support the Yellowstone RapIDE controller
739           manufactured for use with Acorn computers.
740
741 config IDE_H8300
742         tristate "H8300 IDE support"
743         depends on H8300
744         default y
745         help
746           Enables the H8300 IDE driver.
747
748 config BLK_DEV_GAYLE
749         tristate "Amiga Gayle IDE interface support"
750         depends on AMIGA
751         help
752           This is the IDE driver for the Amiga Gayle IDE interface. It supports
753           both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
754           This includes on-board IDE interfaces on some Amiga models (A600,
755           A1200, A4000, and A4000T), and IDE interfaces on the Zorro expansion
756           bus (M-Tech E-Matrix 530 expansion card).
757           Say Y if you have an Amiga with a Gayle IDE interface and want to use
758           IDE devices (hard disks, CD-ROM drives, etc.) that are connected to
759           it.
760           Note that you also have to enable Zorro bus support if you want to
761           use Gayle IDE interfaces on the Zorro expansion bus.
762
763 config BLK_DEV_IDEDOUBLER
764         bool "Amiga IDE Doubler support (EXPERIMENTAL)"
765         depends on BLK_DEV_GAYLE && EXPERIMENTAL
766         ---help---
767           This feature provides support for the so-called `IDE doublers' (made
768           by various manufacturers, e.g. Eyetech) that can be connected to
769           the on-board IDE interface of some Amiga models. Using such an IDE
770           doubler, you can connect up to four instead of two IDE devices to
771           the Amiga's on-board IDE interface.
772
773           Note that the normal Amiga Gayle IDE driver may not work correctly
774           if you have an IDE doubler and don't enable this feature!
775
776           Say Y if you have an IDE doubler.  The feature is enabled at kernel
777           runtime using the "gayle.doubler" kernel boot parameter.
778
779 config BLK_DEV_BUDDHA
780         tristate "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
781         depends on ZORRO && EXPERIMENTAL
782         help
783           This is the IDE driver for the IDE interfaces on the Buddha, Catweasel
784           and X-Surf expansion boards.  It supports up to two interfaces on the
785           Buddha, three on the Catweasel and two on the X-Surf.
786
787           Say Y if you have a Buddha or Catweasel expansion board and want to
788           use IDE devices (hard disks, CD-ROM drives, etc.) that are connected
789           to one of its IDE interfaces.
790
791 config BLK_DEV_FALCON_IDE
792         tristate "Falcon IDE interface support"
793         depends on ATARI
794         help
795           This is the IDE driver for the on-board IDE interface on the Atari
796           Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
797           disks, CD-ROM drives, etc.) that are connected to the on-board IDE
798           interface.
799
800 config BLK_DEV_MAC_IDE
801         tristate "Macintosh Quadra/Powerbook IDE interface support"
802         depends on MAC
803         help
804           This is the IDE driver for the on-board IDE interface on some m68k
805           Macintosh models. It supports both the `Quadra style' (used in
806           Quadra/ Centris 630 and Performa 588 models) and `Powerbook style'
807           (used in the Powerbook 150 and 190 models) IDE interface.
808
809           Say Y if you have such an Macintosh model and want to use IDE
810           devices (hard disks, CD-ROM drives, etc.) that are connected to the
811           on-board IDE interface.
812
813 config BLK_DEV_Q40IDE
814         tristate "Q40/Q60 IDE interface support"
815         depends on Q40
816         help
817           Enable the on-board IDE controller in the Q40/Q60.  This should
818           normally be on; disable it only if you are running a custom hard
819           drive subsystem through an expansion card.
820
821 config BLK_DEV_PALMCHIP_BK3710
822         tristate "Palmchip bk3710 IDE controller support"
823         depends on ARCH_DAVINCI
824         select IDE_TIMINGS
825         select BLK_DEV_IDEDMA_SFF
826         help
827           Say Y here if you want to support the onchip IDE controller on the
828           TI DaVinci SoC
829
830 # no isa -> no vlb
831 if ISA && (ALPHA || X86 || MIPS)
832
833 comment "Other IDE chipsets support"
834 comment "Note: most of these also require special kernel boot parameters"
835
836 config BLK_DEV_4DRIVES
837         tristate "Generic 4 drives/port support"
838         help
839           Certain older chipsets, including the Tekram 690CD, use a single set
840           of I/O ports at 0x1f0 to control up to four drives, instead of the
841           customary two drives per port. Support for this can be enabled at
842           runtime using the "ide-4drives.probe" kernel boot parameter if you
843           say Y here.
844
845 config BLK_DEV_ALI14XX
846         tristate "ALI M14xx support"
847         select IDE_TIMINGS
848         select IDE_LEGACY
849         help
850           This driver is enabled at runtime using the "ali14xx.probe" kernel
851           boot parameter.  It enables support for the secondary IDE interface
852           of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster
853           I/O speeds to be set as well.
854           See the files <file:Documentation/ide/ide.txt> and
855           <file:drivers/ide/legacy/ali14xx.c> for more info.
856
857 config BLK_DEV_DTC2278
858         tristate "DTC-2278 support"
859         select IDE_LEGACY
860         help
861           This driver is enabled at runtime using the "dtc2278.probe" kernel
862           boot parameter. It enables support for the secondary IDE interface
863           of the DTC-2278 card, and permits faster I/O speeds to be set as
864           well. See the <file:Documentation/ide/ide.txt> and
865           <file:drivers/ide/legacy/dtc2278.c> files for more info.
866
867 config BLK_DEV_HT6560B
868         tristate "Holtek HT6560B support"
869         select IDE_TIMINGS
870         select IDE_LEGACY
871         help
872           This driver is enabled at runtime using the "ht6560b.probe" kernel
873           boot parameter. It enables support for the secondary IDE interface
874           of the Holtek card, and permits faster I/O speeds to be set as well.
875           See the <file:Documentation/ide/ide.txt> and
876           <file:drivers/ide/legacy/ht6560b.c> files for more info.
877
878 config BLK_DEV_QD65XX
879         tristate "QDI QD65xx support"
880         select IDE_TIMINGS
881         select IDE_LEGACY
882         help
883           This driver is enabled at runtime using the "qd65xx.probe" kernel
884           boot parameter.  It permits faster I/O speeds to be set.  See the
885           <file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/qd65xx.c>
886           for more info.
887
888 config BLK_DEV_UMC8672
889         tristate "UMC-8672 support"
890         select IDE_LEGACY
891         help
892           This driver is enabled at runtime using the "umc8672.probe" kernel
893           boot parameter. It enables support for the secondary IDE interface
894           of the UMC-8672, and permits faster I/O speeds to be set as well.
895           See the files <file:Documentation/ide/ide.txt> and
896           <file:drivers/ide/legacy/umc8672.c> for more info.
897
898 endif
899
900 config BLK_DEV_IDEDMA
901         def_bool BLK_DEV_IDEDMA_SFF || \
902                  BLK_DEV_IDEDMA_ICS || BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
903
904 endif # IDE