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