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