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