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