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