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