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