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