Merge branch 'for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
[sfrench/cifs-2.6.git] / drivers / ata / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 #
3 # SATA/PATA driver configuration
4 #
5
6 config HAVE_PATA_PLATFORM
7         bool
8         help
9           This is an internal configuration node for any machine that
10           uses pata-platform driver to enable the relevant driver in the
11           configuration structure without having to submit endless patches
12           to update the PATA_PLATFORM entry.
13
14 menuconfig ATA
15         tristate "Serial ATA and Parallel ATA drivers (libata)"
16         depends on HAS_IOMEM
17         depends on BLOCK
18         select SCSI
19         select GLOB
20         ---help---
21           If you want to use an ATA hard disk, ATA tape drive, ATA CD-ROM or
22           any other ATA device under Linux, say Y and make sure that you know
23           the name of your ATA host adapter (the card inside your computer
24           that "speaks" the ATA protocol, also called ATA controller),
25           because you will be asked for it.
26
27           NOTE: ATA enables basic SCSI support; *however*,
28           'SCSI disk support', 'SCSI tape support', or
29           'SCSI CDROM support' may also be needed,
30           depending on your hardware configuration.
31
32 if ATA
33
34 config ATA_NONSTANDARD
35        bool
36        default n
37
38 config ATA_VERBOSE_ERROR
39         bool "Verbose ATA error reporting"
40         default y
41         help
42           This option adds parsing of ATA command descriptions and error bits
43           in libata kernel output, making it easier to interpret.
44           This option will enlarge the kernel by approx. 6KB. Disable it only
45           if kernel size is more important than ease of debugging.
46
47           If unsure, say Y.
48
49 config ATA_ACPI
50         bool "ATA ACPI Support"
51         depends on ACPI
52         default y
53         help
54           This option adds support for ATA-related ACPI objects.
55           These ACPI objects add the ability to retrieve taskfiles
56           from the ACPI BIOS and write them to the disk controller.
57           These objects may be related to performance, security,
58           power management, or other areas.
59           You can disable this at kernel boot time by using the
60           option libata.noacpi=1
61
62 config SATA_ZPODD
63         bool "SATA Zero Power Optical Disc Drive (ZPODD) support"
64         depends on ATA_ACPI && PM
65         default n
66         help
67           This option adds support for SATA Zero Power Optical Disc
68           Drive (ZPODD). It requires both the ODD and the platform
69           support, and if enabled, will automatically power on/off the
70           ODD when certain condition is satisfied. This does not impact
71           end user's experience of the ODD, only power is saved when
72           the ODD is not in use (i.e. no disc inside).
73
74           If unsure, say N.
75
76 config SATA_PMP
77         bool "SATA Port Multiplier support"
78         default y
79         help
80           This option adds support for SATA Port Multipliers
81           (the SATA version of an ethernet hub, or SAS expander).
82
83 if HAS_DMA
84
85 comment "Controllers with non-SFF native interface"
86
87 config SATA_AHCI
88         tristate "AHCI SATA support"
89         depends on PCI
90         help
91           This option enables support for AHCI Serial ATA.
92
93           If unsure, say N.
94
95 config SATA_AHCI_PLATFORM
96         tristate "Platform AHCI SATA support"
97         help
98           This option enables support for Platform AHCI Serial ATA
99           controllers.
100
101           If unsure, say N.
102
103 config AHCI_BRCM
104         tristate "Broadcom AHCI SATA support"
105         depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_NSP
106         help
107           This option enables support for the AHCI SATA3 controller found on
108           Broadcom SoC's.
109
110           If unsure, say N.
111
112 config AHCI_DA850
113         tristate "DaVinci DA850 AHCI SATA support"
114         depends on ARCH_DAVINCI_DA850
115         help
116           This option enables support for the DaVinci DA850 SoC's
117           onboard AHCI SATA.
118
119           If unsure, say N.
120
121 config AHCI_DM816
122         tristate "DaVinci DM816 AHCI SATA support"
123         depends on ARCH_OMAP2PLUS
124         help
125           This option enables support for the DaVinci DM816 SoC's
126           onboard AHCI SATA controller.
127
128           If unsure, say N.
129
130 config AHCI_ST
131         tristate "ST AHCI SATA support"
132         depends on ARCH_STI
133         help
134           This option enables support for ST AHCI SATA controller.
135
136           If unsure, say N.
137
138 config AHCI_IMX
139         tristate "Freescale i.MX AHCI SATA support"
140         depends on MFD_SYSCON && (ARCH_MXC || COMPILE_TEST)
141         depends on (HWMON && (THERMAL || !THERMAL_OF)) || !HWMON
142         help
143           This option enables support for the Freescale i.MX SoC's
144           onboard AHCI SATA.
145
146           If unsure, say N.
147
148 config AHCI_CEVA
149         tristate "CEVA AHCI SATA support"
150         depends on OF
151         help
152           This option enables support for the CEVA AHCI SATA.
153           It can be found on the Xilinx Zynq UltraScale+ MPSoC.
154
155           If unsure, say N.
156
157 config AHCI_MTK
158         tristate "MediaTek AHCI SATA support"
159         depends on ARCH_MEDIATEK
160         select MFD_SYSCON
161         help
162           This option enables support for the MediaTek SoC's
163           onboard AHCI SATA controller.
164
165           If unsure, say N.
166
167 config AHCI_MVEBU
168         tristate "Marvell EBU AHCI SATA support"
169         depends on ARCH_MVEBU
170         help
171           This option enables support for the Marvebu EBU SoC's
172           onboard AHCI SATA.
173
174           If unsure, say N.
175
176 config AHCI_OCTEON
177         tristate "Cavium Octeon Soc Serial ATA"
178         depends on SATA_AHCI_PLATFORM && CAVIUM_OCTEON_SOC
179         default y
180         help
181           This option enables support for Cavium Octeon SoC Serial ATA.
182
183           If unsure, say N.
184
185 config AHCI_SUNXI
186         tristate "Allwinner sunxi AHCI SATA support"
187         depends on ARCH_SUNXI
188         help
189           This option enables support for the Allwinner sunxi SoC's
190           onboard AHCI SATA.
191
192           If unsure, say N.
193
194 config AHCI_TEGRA
195         tristate "NVIDIA Tegra124 AHCI SATA support"
196         depends on ARCH_TEGRA
197         help
198           This option enables support for the NVIDIA Tegra124 SoC's
199           onboard AHCI SATA.
200
201           If unsure, say N.
202
203 config AHCI_XGENE
204         tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support"
205         depends on PHY_XGENE
206         help
207          This option enables support for APM X-Gene SoC SATA host controller.
208
209 config AHCI_QORIQ
210         tristate "Freescale QorIQ AHCI SATA support"
211         depends on OF
212         help
213           This option enables support for the Freescale QorIQ AHCI SoC's
214           onboard AHCI SATA.
215
216           If unsure, say N.
217
218 config SATA_FSL
219         tristate "Freescale 3.0Gbps SATA support"
220         depends on FSL_SOC
221         help
222           This option enables support for Freescale 3.0Gbps SATA controller.
223           It can be found on MPC837x and MPC8315.
224
225           If unsure, say N.
226
227 config SATA_GEMINI
228         tristate "Gemini SATA bridge support"
229         depends on ARCH_GEMINI || COMPILE_TEST
230         default ARCH_GEMINI
231         help
232           This enabled support for the FTIDE010 to SATA bridge
233           found in Cortina Systems Gemini platform.
234
235           If unsure, say N.
236
237 config SATA_AHCI_SEATTLE
238         tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support"
239         depends on ARCH_SEATTLE
240         help
241          This option enables support for AMD Seattle SATA host controller.
242
243          If unsure, say N
244
245 config SATA_INIC162X
246         tristate "Initio 162x SATA support (Very Experimental)"
247         depends on PCI
248         help
249           This option enables support for Initio 162x Serial ATA.
250
251 config SATA_ACARD_AHCI
252         tristate "ACard AHCI variant (ATP 8620)"
253         depends on PCI
254         help
255           This option enables support for Acard.
256
257           If unsure, say N.
258
259 config SATA_SIL24
260         tristate "Silicon Image 3124/3132 SATA support"
261         depends on PCI
262         help
263           This option enables support for Silicon Image 3124/3132 Serial ATA.
264
265           If unsure, say N.
266
267 endif # HAS_DMA
268
269 config ATA_SFF
270         bool "ATA SFF support (for legacy IDE and PATA)"
271         default y
272         help
273           This option adds support for ATA controllers with SFF
274           compliant or similar programming interface.
275
276           SFF is the legacy IDE interface that has been around since
277           the dawn of time.  Almost all PATA controllers have an
278           SFF interface.  Many SATA controllers have an SFF interface
279           when configured into a legacy compatibility mode.
280
281           For users with exclusively modern controllers like AHCI,
282           Silicon Image 3124, or Marvell 6440, you may choose to
283           disable this unneeded SFF support.
284
285           If unsure, say Y.
286
287 if ATA_SFF
288
289 comment "SFF controllers with custom DMA interface"
290
291 config PDC_ADMA
292         tristate "Pacific Digital ADMA support"
293         depends on PCI
294         help
295           This option enables support for Pacific Digital ADMA controllers
296
297           If unsure, say N.
298
299 config PATA_OCTEON_CF
300         tristate "OCTEON Boot Bus Compact Flash support"
301         depends on CAVIUM_OCTEON_SOC
302         help
303           This option enables a polled compact flash driver for use with
304           compact flash cards attached to the OCTEON boot bus.
305
306           If unsure, say N.
307
308 config SATA_QSTOR
309         tristate "Pacific Digital SATA QStor support"
310         depends on PCI
311         help
312           This option enables support for Pacific Digital Serial ATA QStor.
313
314           If unsure, say N.
315
316 config SATA_SX4
317         tristate "Promise SATA SX4 support (Experimental)"
318         depends on PCI
319         help
320           This option enables support for Promise Serial ATA SX4.
321
322           If unsure, say N.
323
324 config ATA_BMDMA
325         bool "ATA BMDMA support"
326         depends on HAS_DMA
327         default y
328         help
329           This option adds support for SFF ATA controllers with BMDMA
330           capability.  BMDMA stands for bus-master DMA and is the
331           de facto DMA interface for SFF controllers.
332
333           If unsure, say Y.
334
335 if ATA_BMDMA
336
337 comment "SATA SFF controllers with BMDMA"
338
339 config ATA_PIIX
340         tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
341         depends on PCI
342         help
343           This option enables support for ICH5/6/7/8 Serial ATA
344           and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
345           host controllers.
346
347           If unsure, say N.
348
349 config SATA_DWC
350         tristate "DesignWare Cores SATA support"
351         depends on DMADEVICES
352         select GENERIC_PHY
353         help
354           This option enables support for the on-chip SATA controller of the
355           AppliedMicro processor 460EX.
356
357           If unsure, say N.
358
359 config SATA_DWC_OLD_DMA
360         bool "Support old device trees"
361         depends on SATA_DWC
362         select DW_DMAC_CORE
363         default y if 460EX
364         help
365           This option enables support for old device trees without the
366           "dmas" property.
367
368 config SATA_DWC_DEBUG
369         bool "Debugging driver version"
370         depends on SATA_DWC
371         help
372           This option enables debugging output in the driver.
373
374 config SATA_DWC_VDEBUG
375         bool "Verbose debug output"
376         depends on SATA_DWC_DEBUG
377         help
378           This option enables the taskfile dumping and NCQ debugging.
379
380 config SATA_HIGHBANK
381         tristate "Calxeda Highbank SATA support"
382         depends on HAS_DMA
383         depends on ARCH_HIGHBANK || COMPILE_TEST
384         help
385           This option enables support for the Calxeda Highbank SoC's
386           onboard SATA.
387
388           If unsure, say N.
389
390 config SATA_MV
391         tristate "Marvell SATA support"
392         depends on HAS_DMA
393         depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \
394                    ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST
395         select GENERIC_PHY
396         help
397           This option enables support for the Marvell Serial ATA family.
398           Currently supports 88SX[56]0[48][01] PCI(-X) chips,
399           as well as the newer [67]042 PCI-X/PCIe and SOC devices.
400
401           If unsure, say N.
402
403 config SATA_NV
404         tristate "NVIDIA SATA support"
405         depends on PCI
406         help
407           This option enables support for NVIDIA Serial ATA.
408
409           If unsure, say N.
410
411 config SATA_PROMISE
412         tristate "Promise SATA TX2/TX4 support"
413         depends on PCI
414         help
415           This option enables support for Promise Serial ATA TX2/TX4.
416
417           If unsure, say N.
418
419 config SATA_RCAR
420         tristate "Renesas R-Car SATA support"
421         depends on ARCH_RENESAS || COMPILE_TEST
422         help
423           This option enables support for Renesas R-Car Serial ATA.
424
425           If unsure, say N.
426
427 config SATA_SIL
428         tristate "Silicon Image SATA support"
429         depends on PCI
430         help
431           This option enables support for Silicon Image Serial ATA.
432
433           If unsure, say N.
434
435 config SATA_SIS
436         tristate "SiS 964/965/966/180 SATA support"
437         depends on PCI
438         select PATA_SIS
439         help
440           This option enables support for SiS Serial ATA on
441           SiS 964/965/966/180 and Parallel ATA on SiS 180.
442           The PATA support for SiS 180 requires additionally to
443           enable the PATA_SIS driver in the config.
444           If unsure, say N.
445
446 config SATA_SVW
447         tristate "ServerWorks Frodo / Apple K2 SATA support"
448         depends on PCI
449         help
450           This option enables support for Broadcom/Serverworks/Apple K2
451           SATA support.
452
453           If unsure, say N.
454
455 config SATA_ULI
456         tristate "ULi Electronics SATA support"
457         depends on PCI
458         help
459           This option enables support for ULi Electronics SATA.
460
461           If unsure, say N.
462
463 config SATA_VIA
464         tristate "VIA SATA support"
465         depends on PCI
466         help
467           This option enables support for VIA Serial ATA.
468
469           If unsure, say N.
470
471 config SATA_VITESSE
472         tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
473         depends on PCI
474         help
475           This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
476
477           If unsure, say N.
478
479 comment "PATA SFF controllers with BMDMA"
480
481 config PATA_ALI
482         tristate "ALi PATA support"
483         depends on PCI
484         help
485           This option enables support for the ALi ATA interfaces
486           found on the many ALi chipsets.
487
488           If unsure, say N.
489
490 config PATA_AMD
491         tristate "AMD/NVidia PATA support"
492         depends on PCI
493         help
494           This option enables support for the AMD and NVidia PATA
495           interfaces found on the chipsets for Athlon/Athlon64.
496
497           If unsure, say N.
498
499 config PATA_ARASAN_CF
500         tristate "ARASAN CompactFlash PATA Controller Support"
501         depends on ARCH_SPEAR13XX || COMPILE_TEST
502         depends on DMADEVICES
503         select DMA_ENGINE
504         help
505           Say Y here to support the ARASAN CompactFlash PATA controller
506
507 config PATA_ARTOP
508         tristate "ARTOP 6210/6260 PATA support"
509         depends on PCI
510         help
511           This option enables support for ARTOP PATA controllers.
512
513           If unsure, say N.
514
515 config PATA_ATIIXP
516         tristate "ATI PATA support"
517         depends on PCI
518         help
519           This option enables support for the ATI ATA interfaces
520           found on the many ATI chipsets.
521
522           If unsure, say N.
523
524 config PATA_ATP867X
525         tristate "ARTOP/Acard ATP867X PATA support"
526         depends on PCI
527         help
528           This option enables support for ARTOP/Acard ATP867X PATA
529           controllers.
530
531           If unsure, say N.
532
533 config PATA_BF54X
534         tristate "Blackfin 54x ATAPI support"
535         depends on BF542 || BF548 || BF549
536         help
537           This option enables support for the built-in ATAPI controller on
538           Blackfin 54x family chips.
539
540           If unsure, say N.
541
542 config PATA_BK3710
543         tristate "Palmchip BK3710 PATA support"
544         depends on ARCH_DAVINCI
545         help
546           This option enables support for the integrated IDE controller on
547           the TI DaVinci SoC.
548
549           If unsure, say N.
550
551 config PATA_CMD64X
552         tristate "CMD64x PATA support"
553         depends on PCI
554         help
555           This option enables support for the CMD64x series chips
556           except for the CMD640.
557
558           If unsure, say N.
559
560 config PATA_CS5520
561         tristate "CS5510/5520 PATA support"
562         depends on PCI && (X86_32 || COMPILE_TEST)
563         help
564           This option enables support for the Cyrix 5510/5520
565           companion chip used with the MediaGX/Geode processor family.
566
567           If unsure, say N.
568
569 config PATA_CS5530
570         tristate "CS5530 PATA support"
571         depends on PCI && (X86_32 || COMPILE_TEST)
572         help
573           This option enables support for the Cyrix/NatSemi/AMD CS5530
574           companion chip used with the MediaGX/Geode processor family.
575
576           If unsure, say N.
577
578 config PATA_CS5535
579         tristate "CS5535 PATA support (Experimental)"
580         depends on PCI && X86_32
581         help
582           This option enables support for the NatSemi/AMD CS5535
583           companion chip used with the Geode processor family.
584
585           If unsure, say N.
586
587 config PATA_CS5536
588         tristate "CS5536 PATA support"
589         depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
590         help
591           This option enables support for the AMD CS5536
592           companion chip used with the Geode LX processor family.
593
594           If unsure, say N.
595
596 config PATA_CYPRESS
597         tristate "Cypress CY82C693 PATA support (Very Experimental)"
598         depends on PCI
599         help
600           This option enables support for the Cypress/Contaq CY82C693
601           chipset found in some Alpha systems
602
603           If unsure, say N.
604
605 config PATA_EFAR
606         tristate "EFAR SLC90E66 support"
607         depends on PCI
608         help
609           This option enables support for the EFAR SLC90E66
610           IDE controller found on some older machines.
611
612           If unsure, say N.
613
614 config PATA_EP93XX
615         tristate "Cirrus Logic EP93xx PATA support"
616         depends on ARCH_EP93XX
617         help
618           This option enables support for the PATA controller in
619           the Cirrus Logic EP9312 and EP9315 ARM CPU.
620
621           If unsure, say N.
622
623 config PATA_FTIDE010
624         tristate "Faraday Technology FTIDE010 PATA support"
625         depends on OF
626         depends on ARM
627         depends on SATA_GEMINI
628         help
629           This option enables support for the Faraday FTIDE010
630           PATA controller found in the Cortina Gemini SoCs.
631
632           If unsure, say N.
633
634 config PATA_HPT366
635         tristate "HPT 366/368 PATA support"
636         depends on PCI
637         help
638           This option enables support for the HPT 366 and 368
639           PATA controllers via the new ATA layer.
640
641           If unsure, say N.
642
643 config PATA_HPT37X
644         tristate "HPT 370/370A/371/372/374/302 PATA support"
645         depends on PCI
646         help
647           This option enables support for the majority of the later HPT
648           PATA controllers via the new ATA layer.
649
650           If unsure, say N.
651
652 config PATA_HPT3X2N
653         tristate "HPT 371N/372N/302N PATA support"
654         depends on PCI
655         help
656           This option enables support for the N variant HPT PATA
657           controllers via the new ATA layer.
658
659           If unsure, say N.
660
661 config PATA_HPT3X3
662         tristate "HPT 343/363 PATA support"
663         depends on PCI
664         help
665           This option enables support for the HPT 343/363
666           PATA controllers via the new ATA layer
667
668           If unsure, say N.
669
670 config PATA_HPT3X3_DMA
671         bool "HPT 343/363 DMA support"
672         depends on PATA_HPT3X3
673         help
674           This option enables DMA support for the HPT343/363
675           controllers. Enable with care as there are still some
676           problems with DMA on this chipset.
677
678 config PATA_ICSIDE
679         tristate "Acorn ICS PATA support"
680         depends on ARM && ARCH_ACORN
681         help
682           On Acorn systems, say Y here if you wish to use the ICS PATA
683           interface card.  This is not required for ICS partition support.
684           If you are unsure, say N to this.
685
686 config PATA_IMX
687         tristate "PATA support for Freescale iMX"
688         depends on ARCH_MXC
689         help
690           This option enables support for the PATA host available on Freescale
691           iMX SoCs.
692
693           If unsure, say N.
694
695 config PATA_IT8213
696         tristate "IT8213 PATA support (Experimental)"
697         depends on PCI
698         help
699           This option enables support for the ITE 821 PATA
700           controllers via the new ATA layer.
701
702           If unsure, say N.
703
704 config PATA_IT821X
705         tristate "IT8211/2 PATA support"
706         depends on PCI
707         help
708           This option enables support for the ITE 8211 and 8212
709           PATA controllers via the new ATA layer, including RAID
710           mode.
711
712           If unsure, say N.
713
714 config PATA_JMICRON
715         tristate "JMicron PATA support"
716         depends on PCI
717         help
718           Enable support for the JMicron IDE controller, via the new
719           ATA layer.
720
721           If unsure, say N.
722
723 config PATA_MACIO
724         tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
725         depends on PPC_PMAC
726         help
727           Most IDE capable PowerMacs have IDE busses driven by a variant
728           of this controller which is part of the Apple chipset used on
729           most PowerMac models. Some models have multiple busses using
730           different chipsets, though generally, MacIO is one of them.
731
732 config PATA_MARVELL
733         tristate "Marvell PATA support via legacy mode"
734         depends on PCI
735         help
736           This option enables limited support for the Marvell 88SE61xx ATA
737           controllers. If you wish to use only the SATA ports then select
738           the AHCI driver alone. If you wish to the use the PATA port or
739           both SATA and PATA include this driver.
740
741           If unsure, say N.
742
743 config PATA_MPC52xx
744         tristate "Freescale MPC52xx SoC internal IDE"
745         depends on PPC_MPC52xx && PPC_BESTCOMM
746         select PPC_BESTCOMM_ATA
747         help
748           This option enables support for integrated IDE controller
749           of the Freescale MPC52xx SoC.
750
751           If unsure, say N.
752
753 config PATA_NETCELL
754         tristate "NETCELL Revolution RAID support"
755         depends on PCI
756         help
757           This option enables support for the Netcell Revolution RAID
758           PATA controller.
759
760           If unsure, say N.
761
762 config PATA_NINJA32
763         tristate "Ninja32/Delkin Cardbus ATA support"
764         depends on PCI
765         help
766           This option enables support for the Ninja32, Delkin and
767           possibly other brands of Cardbus ATA adapter
768
769           If unsure, say N.
770
771 config PATA_NS87415
772         tristate "Nat Semi NS87415 PATA support"
773         depends on PCI
774         help
775           This option enables support for the National Semiconductor
776           NS87415 PCI-IDE controller.
777
778           If unsure, say N.
779
780 config PATA_OLDPIIX
781         tristate "Intel PATA old PIIX support"
782         depends on PCI
783         help
784           This option enables support for early PIIX PATA support.
785
786           If unsure, say N.
787
788 config PATA_OPTIDMA
789         tristate "OPTI FireStar PATA support (Very Experimental)"
790         depends on PCI
791         help
792           This option enables DMA/PIO support for the later OPTi
793           controllers found on some old motherboards and in some
794           laptops.
795
796           If unsure, say N.
797
798 config PATA_PDC2027X
799         tristate "Promise PATA 2027x support"
800         depends on PCI
801         help
802           This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
803
804           If unsure, say N.
805
806 config PATA_PDC_OLD
807         tristate "Older Promise PATA controller support"
808         depends on PCI
809         help
810           This option enables support for the Promise 20246, 20262, 20263,
811           20265 and 20267 adapters.
812
813           If unsure, say N.
814
815 config PATA_RADISYS
816         tristate "RADISYS 82600 PATA support (Experimental)"
817         depends on PCI
818         help
819           This option enables support for the RADISYS 82600
820           PATA controllers via the new ATA layer
821
822           If unsure, say N.
823
824 config PATA_RDC
825         tristate "RDC PATA support"
826         depends on PCI
827         help
828           This option enables basic support for the later RDC PATA controllers
829           controllers via the new ATA layer. For the RDC 1010, you need to
830           enable the IT821X driver instead.
831
832           If unsure, say N.
833
834 config PATA_SC1200
835         tristate "SC1200 PATA support"
836         depends on PCI && (X86_32 || COMPILE_TEST)
837         help
838           This option enables support for the NatSemi/AMD SC1200 SoC
839           companion chip used with the Geode processor family.
840
841           If unsure, say N.
842
843 config PATA_SCH
844         tristate "Intel SCH PATA support"
845         depends on PCI
846         help
847           This option enables support for Intel SCH PATA on the Intel
848           SCH (US15W, US15L, UL11L) series host controllers.
849
850           If unsure, say N.
851
852 config PATA_SERVERWORKS
853         tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
854         depends on PCI
855         help
856           This option enables support for the Serverworks OSB4/CSB5/CSB6 and
857           HT1000 PATA controllers, via the new ATA layer.
858
859           If unsure, say N.
860
861 config PATA_SIL680
862         tristate "CMD / Silicon Image 680 PATA support"
863         depends on PCI
864         help
865           This option enables support for CMD / Silicon Image 680 PATA.
866
867           If unsure, say N.
868
869 config PATA_SIS
870         tristate "SiS PATA support"
871         depends on PCI
872         help
873           This option enables support for SiS PATA controllers
874
875           If unsure, say N.
876
877 config PATA_TOSHIBA
878         tristate "Toshiba Piccolo support (Experimental)"
879         depends on PCI
880         help
881           Support for the Toshiba Piccolo controllers. Currently only the
882           primary channel is supported by this driver.
883
884           If unsure, say N.
885
886 config PATA_TRIFLEX
887         tristate "Compaq Triflex PATA support"
888         depends on PCI
889         help
890           Enable support for the Compaq 'Triflex' IDE controller as found
891           on many Compaq Pentium-Pro systems, via the new ATA layer.
892
893           If unsure, say N.
894
895 config PATA_VIA
896         tristate "VIA PATA support"
897         depends on PCI
898         help
899           This option enables support for the VIA PATA interfaces
900           found on the many VIA chipsets.
901
902           If unsure, say N.
903
904 config PATA_PXA
905         tristate "PXA DMA-capable PATA support"
906         depends on ARCH_PXA
907         help
908           This option enables support for harddrive attached to PXA CPU's bus.
909
910           NOTE: This driver utilizes PXA DMA controller, in case your hardware
911                 is not capable of doing MWDMA, use pata_platform instead.
912
913           If unsure, say N.
914
915 config PATA_WINBOND
916         tristate "Winbond SL82C105 PATA support"
917         depends on PCI
918         help
919           This option enables support for SL82C105 PATA devices found in the
920           Netwinder and some other systems
921
922           If unsure, say N.
923
924 endif # ATA_BMDMA
925
926 comment "PIO-only SFF controllers"
927
928 config PATA_AT32
929         tristate "Atmel AVR32 PATA support (Experimental)"
930         depends on AVR32 && PLATFORM_AT32AP
931         help
932           This option enables support for the IDE devices on the
933           Atmel AT32AP platform.
934
935           If unsure, say N.
936
937 config PATA_CMD640_PCI
938         tristate "CMD640 PCI PATA support (Experimental)"
939         depends on PCI
940         help
941           This option enables support for the CMD640 PCI IDE
942           interface chip. Only the primary channel is currently
943           supported.
944
945           If unsure, say N.
946
947 config PATA_FALCON
948         tristate "Atari Falcon PATA support"
949         depends on M68K && ATARI
950         help
951           This option enables support for the on-board IDE
952           interface on the Atari Falcon.
953
954           If unsure, say N.
955
956 config PATA_ISAPNP
957         tristate "ISA Plug and Play PATA support"
958         depends on ISAPNP
959         help
960           This option enables support for ISA plug & play ATA
961           controllers such as those found on old soundcards.
962
963           If unsure, say N.
964
965 config PATA_IXP4XX_CF
966         tristate "IXP4XX Compact Flash support"
967         depends on ARCH_IXP4XX
968         help
969           This option enables support for a Compact Flash connected on
970           the ixp4xx expansion bus. This driver had been written for
971           Loft/Avila boards in mind but can work with others.
972
973           If unsure, say N.
974
975 config PATA_MPIIX
976         tristate "Intel PATA MPIIX support"
977         depends on PCI
978         help
979           This option enables support for MPIIX PATA support.
980
981           If unsure, say N.
982
983 config PATA_NS87410
984         tristate "Nat Semi NS87410 PATA support"
985         depends on PCI
986         help
987           This option enables support for the National Semiconductor
988           NS87410 PCI-IDE controller.
989
990           If unsure, say N.
991
992 config PATA_OPTI
993         tristate "OPTI621/6215 PATA support (Very Experimental)"
994         depends on PCI
995         help
996           This option enables full PIO support for the early Opti ATA
997           controllers found on some old motherboards.
998
999           If unsure, say N.
1000
1001 config PATA_PALMLD
1002         tristate "Palm LifeDrive PATA support"
1003         depends on MACH_PALMLD
1004         help
1005           This option enables support for Palm LifeDrive's internal ATA
1006           port via the new ATA layer.
1007
1008           If unsure, say N.
1009
1010 config PATA_PCMCIA
1011         tristate "PCMCIA PATA support"
1012         depends on PCMCIA
1013         help
1014           This option enables support for PCMCIA ATA interfaces, including
1015           compact flash card adapters via the new ATA layer.
1016
1017           If unsure, say N.
1018
1019 config PATA_PLATFORM
1020         tristate "Generic platform device PATA support"
1021         depends on EXPERT || PPC || HAVE_PATA_PLATFORM
1022         help
1023           This option enables support for generic directly connected ATA
1024           devices commonly found on embedded systems.
1025
1026           If unsure, say N.
1027
1028 config PATA_OF_PLATFORM
1029         tristate "OpenFirmware platform device PATA support"
1030         depends on PATA_PLATFORM && OF
1031         help
1032           This option enables support for generic directly connected ATA
1033           devices commonly found on embedded systems with OpenFirmware
1034           bindings.
1035
1036           If unsure, say N.
1037
1038 config PATA_QDI
1039         tristate "QDI VLB PATA support"
1040         depends on ISA
1041         select PATA_LEGACY
1042         help
1043           Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
1044
1045 config PATA_RB532
1046         tristate "RouterBoard 532 PATA CompactFlash support"
1047         depends on MIKROTIK_RB532
1048         help
1049           This option enables support for the RouterBoard 532
1050           PATA CompactFlash controller.
1051
1052           If unsure, say N.
1053
1054 config PATA_RZ1000
1055         tristate "PC Tech RZ1000 PATA support"
1056         depends on PCI
1057         help
1058           This option enables basic support for the PC Tech RZ1000/1
1059           PATA controllers via the new ATA layer
1060
1061           If unsure, say N.
1062
1063 config PATA_SAMSUNG_CF
1064         tristate "Samsung SoC PATA support"
1065         depends on SAMSUNG_DEV_IDE
1066         help
1067           This option enables basic support for Samsung's S3C/S5P board
1068           PATA controllers via the new ATA layer
1069
1070           If unsure, say N.
1071
1072 config PATA_WINBOND_VLB
1073         tristate "Winbond W83759A VLB PATA support (Experimental)"
1074         depends on ISA
1075         select PATA_LEGACY
1076         help
1077           Support for the Winbond W83759A controller on Vesa Local Bus
1078           systems.
1079
1080 comment "Generic fallback / legacy drivers"
1081
1082 config PATA_ACPI
1083         tristate "ACPI firmware driver for PATA"
1084         depends on ATA_ACPI && ATA_BMDMA
1085         help
1086           This option enables an ACPI method driver which drives
1087           motherboard PATA controller interfaces through the ACPI
1088           firmware in the BIOS. This driver can sometimes handle
1089           otherwise unsupported hardware.
1090
1091 config ATA_GENERIC
1092         tristate "Generic ATA support"
1093         depends on PCI && ATA_BMDMA
1094         help
1095           This option enables support for generic BIOS configured
1096           ATA controllers via the new ATA layer
1097
1098           If unsure, say N.
1099
1100 config PATA_LEGACY
1101         tristate "Legacy ISA PATA support (Experimental)"
1102         depends on (ISA || PCI)
1103         help
1104           This option enables support for ISA/VLB/PCI bus legacy PATA
1105           ports and allows them to be accessed via the new ATA layer.
1106
1107           If unsure, say N.
1108
1109 endif # ATA_SFF
1110 endif # ATA