Merge tag 'gfs2-for-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux...
[platform/kernel/linux-starfive.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.rst>.
29
30           If unsure, say N.
31
32 if IDE
33
34 comment "Please see Documentation/ide/ide.rst 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.rst>
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.rst>.
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.rst>. 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_SIIMAGE
571         tristate "Silicon Image chipset support"
572         select BLK_DEV_IDEDMA_PCI
573         help
574           This driver adds PIO/(U)DMA support for the SI CMD680 and SII
575           3112 (Serial ATA) chips.
576
577 config BLK_DEV_SIS5513
578         tristate "SiS5513 chipset support"
579         depends on X86
580         select BLK_DEV_IDEDMA_PCI
581         help
582           This driver ensures (U)DMA support for SIS5513 chipset family based
583           mainboards.
584
585           The following chipsets are supported:
586           ATA16:  SiS5511, SiS5513
587           ATA33:  SiS5591, SiS5597, SiS5598, SiS5600
588           ATA66:  SiS530, SiS540, SiS620, SiS630, SiS640
589           ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740,
590           SiS745, SiS750
591
592           Please read the comments at the top of <file:drivers/ide/sis5513.c>.
593
594 config BLK_DEV_SL82C105
595         tristate "Winbond SL82c105 support"
596         depends on (PPC || ARM)
597         select IDE_TIMINGS
598         select BLK_DEV_IDEDMA_PCI
599         help
600           If you have a Winbond SL82c105 IDE controller, say Y here to enable
601           special configuration for this chip. This is common on various CHRP
602           motherboards, but could be used elsewhere. If in doubt, say Y.
603
604 config BLK_DEV_SLC90E66
605         tristate "SLC90E66 chipset support"
606         select BLK_DEV_IDEDMA_PCI
607         help
608           This driver ensures (U)DMA support for Victory66 SouthBridges for
609           SMsC with Intel NorthBridges.  This is an Ultra66 based chipset.
610           The nice thing about it is that you can mix Ultra/DMA/PIO devices
611           and it will handle timing cycles.  Since this is an improved
612           look-a-like to the PIIX4 it should be a nice addition.
613
614           Please read the comments at the top of
615           <file:drivers/ide/slc90e66.c>.
616
617 config BLK_DEV_TRM290
618         tristate "Tekram TRM290 chipset support"
619         select BLK_DEV_IDEDMA_PCI
620         help
621           This driver adds support for bus master DMA transfers
622           using the Tekram TRM290 PCI IDE chip. Volunteers are
623           needed for further tweaking and development.
624           Please read the comments at the top of <file:drivers/ide/trm290.c>.
625
626 config BLK_DEV_VIA82CXXX
627         tristate "VIA82CXXX chipset support"
628         select IDE_TIMINGS
629         select BLK_DEV_IDEDMA_PCI
630         help
631           This driver adds explicit support for VIA BusMastering IDE chips.
632           This allows the kernel to change PIO, DMA and UDMA speeds and to
633           configure the chip to optimum performance.
634
635 config BLK_DEV_TC86C001
636         tristate "Toshiba TC86C001 support"
637         select BLK_DEV_IDEDMA_PCI
638         help
639         This driver adds support for Toshiba TC86C001 GOKU-S chip.
640
641 endif
642
643 # TODO: BLK_DEV_IDEDMA_PCI -> BLK_DEV_IDEDMA_SFF
644 config BLK_DEV_IDE_PMAC
645         tristate "PowerMac on-board IDE support"
646         depends on PPC_PMAC
647         select IDE_TIMINGS
648         select BLK_DEV_IDEDMA_PCI
649         help
650           This driver provides support for the on-board IDE controller on
651           most of the recent Apple Power Macintoshes and PowerBooks.
652           If unsure, say Y.
653
654 config BLK_DEV_IDE_PMAC_ATA100FIRST
655         bool "Probe on-board ATA/100 (Kauai) first"
656         depends on BLK_DEV_IDE_PMAC
657         help
658           This option will cause the ATA/100 controller found in UniNorth2
659           based machines (Windtunnel PowerMac, Aluminium PowerBooks, ...)
660           to be probed before the ATA/66 and ATA/33 controllers. Without
661           these, those machine used to have the hard disk on hdc and the
662           CD-ROM on hda. This option changes this to more natural hda for
663           hard disk and hdc for CD-ROM.
664
665 config BLK_DEV_IDE_AU1XXX
666         bool "IDE for AMD Alchemy Au1200"
667         depends on MIPS_ALCHEMY
668         select IDE_XFER_MODE
669 choice
670         prompt "IDE Mode for AMD Alchemy Au1200"
671         default BLK_DEV_IDE_AU1XXX_PIO_DBDMA
672         depends on BLK_DEV_IDE_AU1XXX
673
674 config BLK_DEV_IDE_AU1XXX_PIO_DBDMA
675         bool "PIO+DbDMA IDE for AMD Alchemy Au1200"
676
677 config BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
678         bool "MDMA2+DbDMA IDE for AMD Alchemy Au1200"
679         depends on BLK_DEV_IDE_AU1XXX
680 endchoice
681
682 config BLK_DEV_IDE_TX4938
683         tristate "TX4938 internal IDE support"
684         depends on SOC_TX4938
685         select IDE_TIMINGS
686
687 config BLK_DEV_IDE_TX4939
688         tristate "TX4939 internal IDE support"
689         depends on SOC_TX4939
690         select BLK_DEV_IDEDMA_SFF
691
692 config BLK_DEV_IDE_ICSIDE
693         tristate "ICS IDE interface support"
694         depends on ARM && ARCH_ACORN
695         help
696           On Acorn systems, say Y here if you wish to use the ICS IDE
697           interface card.  This is not required for ICS partition support.
698           If you are unsure, say N to this.
699
700 config BLK_DEV_IDEDMA_ICS
701         bool "ICS DMA support"
702         depends on BLK_DEV_IDE_ICSIDE
703         help
704           Say Y here if you want to add DMA (Direct Memory Access) support to
705           the ICS IDE driver.
706
707 config BLK_DEV_IDE_RAPIDE
708         tristate "RapIDE interface support"
709         depends on ARM && ARCH_ACORN
710         help
711           Say Y here if you want to support the Yellowstone RapIDE controller
712           manufactured for use with Acorn computers.
713
714 config BLK_DEV_GAYLE
715         tristate "Amiga Gayle IDE interface support"
716         depends on AMIGA
717         help
718           This is the IDE driver for the Amiga Gayle IDE interface. It supports
719           both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
720           This includes on-board IDE interfaces on some Amiga models (A600,
721           A1200, A4000, and A4000T), and IDE interfaces on the Zorro expansion
722           bus (M-Tech E-Matrix 530 expansion card).
723
724           It also provides support for the so-called `IDE doublers' (made
725           by various manufacturers, e.g. Eyetech) that can be connected to
726           the on-board IDE interface of some Amiga models. Using such an IDE
727           doubler, you can connect up to four instead of two IDE devices to
728           the Amiga's on-board IDE interface. The feature is enabled at kernel
729           runtime using the "gayle.doubler" kernel boot parameter.
730
731           Say Y if you have an Amiga with a Gayle IDE interface and want to use
732           IDE devices (hard disks, CD-ROM drives, etc.) that are connected to
733           it.
734
735           Note that you also have to enable Zorro bus support if you want to
736           use Gayle IDE interfaces on the Zorro expansion bus.
737
738 config BLK_DEV_BUDDHA
739         tristate "Buddha/Catweasel/X-Surf IDE interface support"
740         depends on ZORRO
741         help
742           This is the IDE driver for the IDE interfaces on the Buddha, Catweasel
743           and X-Surf expansion boards.  It supports up to two interfaces on the
744           Buddha, three on the Catweasel and two on the X-Surf.
745
746           Say Y if you have a Buddha or Catweasel expansion board and want to
747           use IDE devices (hard disks, CD-ROM drives, etc.) that are connected
748           to one of its IDE interfaces.
749
750 config BLK_DEV_FALCON_IDE
751         tristate "Falcon IDE interface support"
752         depends on ATARI
753         help
754           This is the IDE driver for the on-board IDE interface on the Atari
755           Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
756           disks, CD-ROM drives, etc.) that are connected to the on-board IDE
757           interface.
758
759 config BLK_DEV_MAC_IDE
760         tristate "Macintosh Quadra/Powerbook IDE interface support"
761         depends on MAC
762         help
763           This is the IDE driver for the on-board IDE interface on some m68k
764           Macintosh models. It supports both the `Quadra style' (used in
765           Quadra/ Centris 630 and Performa 588 models) and `Powerbook style'
766           (used in the Powerbook 150 and 190 models) IDE interface.
767
768           Say Y if you have such an Macintosh model and want to use IDE
769           devices (hard disks, CD-ROM drives, etc.) that are connected to the
770           on-board IDE interface.
771
772 config BLK_DEV_Q40IDE
773         tristate "Q40/Q60 IDE interface support"
774         depends on Q40
775         help
776           Enable the on-board IDE controller in the Q40/Q60.  This should
777           normally be on; disable it only if you are running a custom hard
778           drive subsystem through an expansion card.
779
780 config BLK_DEV_PALMCHIP_BK3710
781         tristate "Palmchip bk3710 IDE controller support"
782         depends on ARCH_DAVINCI
783         select IDE_TIMINGS
784         select BLK_DEV_IDEDMA_SFF
785         help
786           Say Y here if you want to support the onchip IDE controller on the
787           TI DaVinci SoC
788
789 # no isa -> no vlb
790 if ISA && (ALPHA || X86 || MIPS)
791
792 comment "Other IDE chipsets support"
793 comment "Note: most of these also require special kernel boot parameters"
794
795 config BLK_DEV_4DRIVES
796         tristate "Generic 4 drives/port support"
797         help
798           Certain older chipsets, including the Tekram 690CD, use a single set
799           of I/O ports at 0x1f0 to control up to four drives, instead of the
800           customary two drives per port. Support for this can be enabled at
801           runtime using the "ide-4drives.probe" kernel boot parameter if you
802           say Y here.
803
804 config BLK_DEV_ALI14XX
805         tristate "ALI M14xx support"
806         select IDE_TIMINGS
807         select IDE_LEGACY
808         help
809           This driver is enabled at runtime using the "ali14xx.probe" kernel
810           boot parameter.  It enables support for the secondary IDE interface
811           of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster
812           I/O speeds to be set as well.
813           See the files <file:Documentation/ide/ide.rst> and
814           <file:drivers/ide/ali14xx.c> for more info.
815
816 config BLK_DEV_DTC2278
817         tristate "DTC-2278 support"
818         select IDE_XFER_MODE
819         select IDE_LEGACY
820         help
821           This driver is enabled at runtime using the "dtc2278.probe" kernel
822           boot parameter. It enables support for the secondary IDE interface
823           of the DTC-2278 card, and permits faster I/O speeds to be set as
824           well. See the <file:Documentation/ide/ide.rst> and
825           <file:drivers/ide/dtc2278.c> files for more info.
826
827 config BLK_DEV_HT6560B
828         tristate "Holtek HT6560B support"
829         select IDE_TIMINGS
830         select IDE_LEGACY
831         help
832           This driver is enabled at runtime using the "ht6560b.probe" kernel
833           boot parameter. It enables support for the secondary IDE interface
834           of the Holtek card, and permits faster I/O speeds to be set as well.
835           See the <file:Documentation/ide/ide.rst> and
836           <file:drivers/ide/ht6560b.c> files for more info.
837
838 config BLK_DEV_QD65XX
839         tristate "QDI QD65xx support"
840         select IDE_TIMINGS
841         select IDE_LEGACY
842         help
843           This driver is enabled at runtime using the "qd65xx.probe" kernel
844           boot parameter.  It permits faster I/O speeds to be set.  See the
845           <file:Documentation/ide/ide.rst> and <file:drivers/ide/qd65xx.c>
846           for more info.
847
848 config BLK_DEV_UMC8672
849         tristate "UMC-8672 support"
850         select IDE_XFER_MODE
851         select IDE_LEGACY
852         help
853           This driver is enabled at runtime using the "umc8672.probe" kernel
854           boot parameter. It enables support for the secondary IDE interface
855           of the UMC-8672, and permits faster I/O speeds to be set as well.
856           See the files <file:Documentation/ide/ide.rst> and
857           <file:drivers/ide/umc8672.c> for more info.
858
859 endif
860
861 config BLK_DEV_IDEDMA
862         def_bool BLK_DEV_IDEDMA_SFF || \
863                  BLK_DEV_IDEDMA_ICS || BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
864         select IDE_XFER_MODE
865
866 endif # IDE