1 # SPDX-License-Identifier: GPL-2.0
3 # SATA/PATA driver configuration
6 config HAVE_PATA_PLATFORM
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.
15 tristate "Serial ATA and Parallel ATA drivers (libata)"
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.
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.
34 config ATA_NONSTANDARD
43 config ATA_VERBOSE_ERROR
44 bool "Verbose ATA error reporting"
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.
55 bool "\"libata.force=\" kernel parameter support" if EXPERT
58 This option adds support for "libata.force=" kernel parameter for
59 forcing configuration settings.
61 For further information, please read
62 <file:Documentation/admin-guide/kernel-parameters.txt>.
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.
71 bool "ATA ACPI Support"
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
85 bool "SATA Zero Power Optical Disc Drive (ZPODD) support"
86 depends on ATA_ACPI && PM
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).
98 bool "SATA Port Multiplier support"
102 This option adds support for SATA Port Multipliers
103 (the SATA version of an ethernet hub, or SAS expander).
107 comment "Controllers with non-SFF native interface"
110 tristate "AHCI SATA support"
114 This option enables support for AHCI Serial ATA.
118 config SATA_MOBILE_LPM_POLICY
119 int "Default SATA Link Power Management policy for mobile chipsets"
124 Select the Default SATA Link Power Management (LPM) policy to use
125 for mobile / laptop variants of chipsets / "South Bridges".
127 The value set has the following meanings:
128 0 => Keep firmware settings
129 1 => Maximum performance
131 3 => Medium power with Device Initiated PM enabled
134 Note "Minimum power" is known to cause issues, including disk
135 corruption, with some disks and should not be used.
137 config SATA_AHCI_PLATFORM
138 tristate "Platform AHCI SATA support"
141 This option enables support for Platform AHCI Serial ATA
147 tristate "Broadcom AHCI SATA support"
148 depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_NSP || \
152 This option enables support for the AHCI SATA3 controller found on
158 tristate "DaVinci DA850 AHCI SATA support"
159 depends on ARCH_DAVINCI_DA850
162 This option enables support for the DaVinci DA850 SoC's
168 tristate "DaVinci DM816 AHCI SATA support"
169 depends on ARCH_OMAP2PLUS
172 This option enables support for the DaVinci DM816 SoC's
173 onboard AHCI SATA controller.
178 tristate "ST AHCI SATA support"
182 This option enables support for ST AHCI SATA controller.
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
192 This option enables support for the Freescale i.MX SoC's
198 tristate "CEVA AHCI SATA support"
202 This option enables support for the CEVA AHCI SATA.
203 It can be found on the Xilinx Zynq UltraScale+ MPSoC.
208 tristate "MediaTek AHCI SATA support"
209 depends on ARCH_MEDIATEK
213 This option enables support for the MediaTek SoC's
214 onboard AHCI SATA controller.
219 tristate "Marvell EBU AHCI SATA support"
220 depends on ARCH_MVEBU
223 This option enables support for the Marvebu EBU SoC's
229 tristate "Cavium Octeon Soc Serial ATA"
230 depends on SATA_AHCI_PLATFORM && CAVIUM_OCTEON_SOC
233 This option enables support for Cavium Octeon SoC Serial ATA.
238 tristate "Allwinner sunxi AHCI SATA support"
239 depends on ARCH_SUNXI
242 This option enables support for the Allwinner sunxi SoC's
248 tristate "NVIDIA Tegra AHCI SATA support"
249 depends on ARCH_TEGRA
252 This option enables support for the NVIDIA Tegra SoC's
258 tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support"
262 This option enables support for APM X-Gene SoC SATA host controller.
265 tristate "Freescale QorIQ AHCI SATA support"
269 This option enables support for the Freescale QorIQ AHCI SoC's
275 tristate "Freescale 3.0Gbps SATA support"
279 This option enables support for Freescale 3.0Gbps SATA controller.
280 It can be found on MPC837x and MPC8315.
285 tristate "Gemini SATA bridge support"
286 depends on ARCH_GEMINI || COMPILE_TEST
290 This enabled support for the FTIDE010 to SATA bridge
291 found in Cortina Systems Gemini platform.
295 config SATA_AHCI_SEATTLE
296 tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support"
297 depends on ARCH_SEATTLE
300 This option enables support for AMD Seattle SATA host controller.
305 tristate "Initio 162x SATA support (Very Experimental)"
309 This option enables support for Initio 162x Serial ATA.
311 config SATA_ACARD_AHCI
312 tristate "ACard AHCI variant (ATP 8620)"
316 This option enables support for Acard.
321 tristate "Silicon Image 3124/3132 SATA support"
325 This option enables support for Silicon Image 3124/3132 Serial ATA.
332 bool "ATA SFF support (for legacy IDE and PATA)"
335 This option adds support for ATA controllers with SFF
336 compliant or similar programming interface.
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.
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.
351 comment "SFF controllers with custom DMA interface"
354 tristate "Pacific Digital ADMA support"
357 This option enables support for Pacific Digital ADMA controllers
361 config PATA_OCTEON_CF
362 tristate "OCTEON Boot Bus Compact Flash support"
363 depends on CAVIUM_OCTEON_SOC
366 This option enables a polled compact flash driver for use with
367 compact flash cards attached to the OCTEON boot bus.
372 tristate "Pacific Digital SATA QStor support"
376 This option enables support for Pacific Digital Serial ATA QStor.
381 tristate "Promise SATA SX4 support (Experimental)"
385 This option enables support for Promise Serial ATA SX4.
390 bool "ATA BMDMA support"
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.
402 comment "SATA SFF controllers with BMDMA"
405 tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
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
416 tristate "DesignWare Cores SATA support"
417 depends on DMADEVICES
421 This option enables support for the on-chip SATA controller of the
422 AppliedMicro processor 460EX.
426 config SATA_DWC_OLD_DMA
427 bool "Support old device trees"
432 This option enables support for old device trees without the
436 tristate "Calxeda Highbank SATA support"
437 depends on ARCH_HIGHBANK || COMPILE_TEST
440 This option enables support for the Calxeda Highbank SoC's
446 tristate "Marvell SATA support"
447 depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \
448 ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST
452 This option enables support for the Marvell Serial ATA family.
453 Currently supports 88SX[56]0[48][01] PCI(-X) chips,
454 as well as the newer [67]042 PCI-X/PCIe and SOC devices.
459 tristate "NVIDIA SATA support"
463 This option enables support for NVIDIA Serial ATA.
468 tristate "Promise SATA TX2/TX4 support"
472 This option enables support for Promise Serial ATA TX2/TX4.
477 tristate "Renesas R-Car SATA support"
478 depends on ARCH_RENESAS || COMPILE_TEST
481 This option enables support for Renesas R-Car Serial ATA.
486 tristate "Silicon Image SATA support"
490 This option enables support for Silicon Image Serial ATA.
495 tristate "SiS 964/965/966/180 SATA support"
500 This option enables support for SiS Serial ATA on
501 SiS 964/965/966/180 and Parallel ATA on SiS 180.
502 The PATA support for SiS 180 requires additionally to
503 enable the PATA_SIS driver in the config.
507 tristate "ServerWorks Frodo / Apple K2 SATA support"
511 This option enables support for Broadcom/Serverworks/Apple K2
517 tristate "ULi Electronics SATA support"
521 This option enables support for ULi Electronics SATA.
526 tristate "VIA SATA support"
530 This option enables support for VIA Serial ATA.
535 tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
539 This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
543 comment "PATA SFF controllers with BMDMA"
546 tristate "ALi PATA support"
550 This option enables support for the ALi ATA interfaces
551 found on the many ALi chipsets.
556 tristate "AMD/NVidia PATA support"
560 This option enables support for the AMD and NVidia PATA
561 interfaces found on the chipsets for Athlon/Athlon64.
565 config PATA_ARASAN_CF
566 tristate "ARASAN CompactFlash PATA Controller Support"
567 depends on ARCH_SPEAR13XX || COMPILE_TEST
568 depends on DMADEVICES
571 Say Y here to support the ARASAN CompactFlash PATA controller
574 tristate "ARTOP 6210/6260 PATA support"
577 This option enables support for ARTOP PATA controllers.
582 tristate "ATI PATA support"
585 This option enables support for the ATI ATA interfaces
586 found on the many ATI chipsets.
591 tristate "ARTOP/Acard ATP867X PATA support"
595 This option enables support for ARTOP/Acard ATP867X PATA
601 tristate "Palmchip BK3710 PATA support"
602 depends on ARCH_DAVINCI
605 This option enables support for the integrated IDE controller on
611 tristate "CMD64x PATA support"
615 This option enables support for the CMD64x series chips
616 except for the CMD640.
621 tristate "CS5510/5520 PATA support"
622 depends on PCI && (X86_32 || COMPILE_TEST)
624 This option enables support for the Cyrix 5510/5520
625 companion chip used with the MediaGX/Geode processor family.
630 tristate "CS5530 PATA support"
631 depends on PCI && (X86_32 || COMPILE_TEST)
633 This option enables support for the Cyrix/NatSemi/AMD CS5530
634 companion chip used with the MediaGX/Geode processor family.
639 tristate "CS5535 PATA support (Experimental)"
640 depends on PCI && X86_32
642 This option enables support for the NatSemi/AMD CS5535
643 companion chip used with the Geode processor family.
648 tristate "CS5536 PATA support"
649 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
651 This option enables support for the AMD CS5536
652 companion chip used with the Geode LX processor family.
657 tristate "Cypress CY82C693 PATA support (Very Experimental)"
661 This option enables support for the Cypress/Contaq CY82C693
662 chipset found in some Alpha systems
667 tristate "EFAR SLC90E66 support"
670 This option enables support for the EFAR SLC90E66
671 IDE controller found on some older machines.
676 tristate "Cirrus Logic EP93xx PATA support"
677 depends on ARCH_EP93XX
680 This option enables support for the PATA controller in
681 the Cirrus Logic EP9312 and EP9315 ARM CPU.
686 tristate "Faraday Technology FTIDE010 PATA support"
689 depends on SATA_GEMINI
691 This option enables support for the Faraday FTIDE010
692 PATA controller found in the Cortina Gemini SoCs.
697 tristate "HPT 366/368 PATA support"
700 This option enables support for the HPT 366 and 368
701 PATA controllers via the new ATA layer.
706 tristate "HPT 370/370A/371/372/374/302 PATA support"
709 This option enables support for the majority of the later HPT
710 PATA controllers via the new ATA layer.
715 tristate "HPT 371N/372N/302N PATA support"
718 This option enables support for the N variant HPT PATA
719 controllers via the new ATA layer.
724 tristate "HPT 343/363 PATA support"
727 This option enables support for the HPT 343/363
728 PATA controllers via the new ATA layer
732 config PATA_HPT3X3_DMA
733 bool "HPT 343/363 DMA support"
734 depends on PATA_HPT3X3
736 This option enables DMA support for the HPT343/363
737 controllers. Enable with care as there are still some
738 problems with DMA on this chipset.
741 tristate "Acorn ICS PATA support"
742 depends on ARM && ARCH_ACORN
745 On Acorn systems, say Y here if you wish to use the ICS PATA
746 interface card. This is not required for ICS partition support.
747 If you are unsure, say N to this.
750 tristate "PATA support for Freescale iMX"
754 This option enables support for the PATA host available on Freescale
760 tristate "IT8213 PATA support (Experimental)"
763 This option enables support for the ITE 821 PATA
764 controllers via the new ATA layer.
769 tristate "IT8211/2 PATA support"
772 This option enables support for the ITE 8211 and 8212
773 PATA controllers via the new ATA layer, including RAID
779 tristate "JMicron PATA support"
782 Enable support for the JMicron IDE controller, via the new
788 tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
791 Most IDE capable PowerMacs have IDE busses driven by a variant
792 of this controller which is part of the Apple chipset used on
793 most PowerMac models. Some models have multiple busses using
794 different chipsets, though generally, MacIO is one of them.
797 tristate "Marvell PATA support via legacy mode"
800 This option enables limited support for the Marvell 88SE61xx ATA
801 controllers. If you wish to use only the SATA ports then select
802 the AHCI driver alone. If you wish to the use the PATA port or
803 both SATA and PATA include this driver.
808 tristate "Freescale MPC52xx SoC internal IDE"
809 depends on PPC_MPC52xx && PPC_BESTCOMM
810 select PPC_BESTCOMM_ATA
812 This option enables support for integrated IDE controller
813 of the Freescale MPC52xx SoC.
818 tristate "NETCELL Revolution RAID support"
821 This option enables support for the Netcell Revolution RAID
827 tristate "Ninja32/Delkin Cardbus ATA support"
830 This option enables support for the Ninja32, Delkin and
831 possibly other brands of Cardbus ATA adapter
836 tristate "Nat Semi NS87415 PATA support"
840 This option enables support for the National Semiconductor
841 NS87415 PCI-IDE controller.
846 tristate "Intel PATA old PIIX support"
849 This option enables support for early PIIX PATA support.
854 tristate "OPTI FireStar PATA support (Very Experimental)"
857 This option enables DMA/PIO support for the later OPTi
858 controllers found on some old motherboards and in some
864 tristate "Promise PATA 2027x support"
867 This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
872 tristate "Older Promise PATA controller support"
875 This option enables support for the Promise 20246, 20262, 20263,
876 20265 and 20267 adapters.
881 tristate "RADISYS 82600 PATA support (Experimental)"
884 This option enables support for the RADISYS 82600
885 PATA controllers via the new ATA layer
890 tristate "RDC PATA support"
893 This option enables basic support for the later RDC PATA controllers
894 controllers via the new ATA layer. For the RDC 1010, you need to
895 enable the IT821X driver instead.
900 tristate "SC1200 PATA support"
901 depends on PCI && (X86_32 || COMPILE_TEST)
903 This option enables support for the NatSemi/AMD SC1200 SoC
904 companion chip used with the Geode processor family.
909 tristate "Intel SCH PATA support"
912 This option enables support for Intel SCH PATA on the Intel
913 SCH (US15W, US15L, UL11L) series host controllers.
917 config PATA_SERVERWORKS
918 tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
921 This option enables support for the Serverworks OSB4/CSB5/CSB6 and
922 HT1000 PATA controllers, via the new ATA layer.
927 tristate "CMD / Silicon Image 680 PATA support"
930 This option enables support for CMD / Silicon Image 680 PATA.
935 tristate "SiS PATA support"
938 This option enables support for SiS PATA controllers
943 tristate "Toshiba Piccolo support (Experimental)"
946 Support for the Toshiba Piccolo controllers. Currently only the
947 primary channel is supported by this driver.
952 tristate "Compaq Triflex PATA support"
955 Enable support for the Compaq 'Triflex' IDE controller as found
956 on many Compaq Pentium-Pro systems, via the new ATA layer.
961 tristate "VIA PATA support"
965 This option enables support for the VIA PATA interfaces
966 found on the many VIA chipsets.
971 tristate "PXA DMA-capable PATA support"
974 This option enables support for harddrive attached to PXA CPU's bus.
976 NOTE: This driver utilizes PXA DMA controller, in case your hardware
977 is not capable of doing MWDMA, use pata_platform instead.
982 tristate "Winbond SL82C105 PATA support"
985 This option enables support for SL82C105 PATA devices found in the
986 Netwinder and some other systems
992 comment "PIO-only SFF controllers"
994 config PATA_CMD640_PCI
995 tristate "CMD640 PCI PATA support (Experimental)"
999 This option enables support for the CMD640 PCI IDE
1000 interface chip. Only the primary channel is currently
1006 tristate "Atari Falcon and Q40/Q60 PATA support"
1007 depends on M68K && (ATARI || Q40)
1009 This option enables support for the on-board IDE
1010 interface on the Atari Falcon and Q40/Q60.
1015 tristate "Amiga Gayle PATA support"
1016 depends on M68K && AMIGA
1018 This option enables support for the on-board IDE
1019 interfaces on some Amiga models (A600, A1200,
1020 A4000 and A4000T) and also for IDE interfaces on
1021 the Zorro expansion bus (M-Tech E-Matrix 530
1027 tristate "Buddha/Catweasel/X-Surf PATA support"
1030 This option enables support for the IDE interfaces
1031 on the Buddha, Catweasel and X-Surf expansion boards
1032 on the Zorro expansion bus. It supports up to two
1033 interfaces on the Buddha, three on the Catweasel and
1039 tristate "ISA Plug and Play PATA support"
1042 This option enables support for ISA plug & play ATA
1043 controllers such as those found on old soundcards.
1047 config PATA_IXP4XX_CF
1048 tristate "IXP4XX Compact Flash support"
1049 depends on ARCH_IXP4XX || COMPILE_TEST
1051 This option enables support for a Compact Flash connected on
1052 the ixp4xx expansion bus. This driver had been written for
1053 Loft/Avila boards in mind but can work with others.
1058 tristate "Intel PATA MPIIX support"
1061 This option enables support for MPIIX PATA support.
1066 tristate "Nat Semi NS87410 PATA support"
1070 This option enables support for the National Semiconductor
1071 NS87410 PCI-IDE controller.
1076 tristate "OPTI621/6215 PATA support (Very Experimental)"
1079 This option enables full PIO support for the early Opti ATA
1080 controllers found on some old motherboards.
1085 tristate "Palm LifeDrive PATA support"
1086 depends on MACH_PALMLD
1088 This option enables support for Palm LifeDrive's internal ATA
1089 port via the new ATA layer.
1094 tristate "PCMCIA PATA support"
1097 This option enables support for PCMCIA ATA interfaces, including
1098 compact flash card adapters via the new ATA layer.
1102 config PATA_PLATFORM
1103 tristate "Generic platform device PATA support"
1104 depends on EXPERT || PPC || HAVE_PATA_PLATFORM
1106 This option enables support for generic directly connected ATA
1107 devices commonly found on embedded systems.
1111 config PATA_OF_PLATFORM
1112 tristate "OpenFirmware platform device PATA support"
1113 depends on PATA_PLATFORM && OF
1115 This option enables support for generic directly connected ATA
1116 devices commonly found on embedded systems with OpenFirmware
1122 tristate "QDI VLB PATA support"
1126 Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
1129 tristate "RouterBoard 532 PATA CompactFlash support"
1130 depends on MIKROTIK_RB532
1132 This option enables support for the RouterBoard 532
1133 PATA CompactFlash controller.
1138 tristate "PC Tech RZ1000 PATA support"
1141 This option enables basic support for the PC Tech RZ1000/1
1142 PATA controllers via the new ATA layer
1146 config PATA_SAMSUNG_CF
1147 tristate "Samsung SoC PATA support"
1148 depends on SAMSUNG_DEV_IDE
1151 This option enables basic support for Samsung's S3C/S5P board
1152 PATA controllers via the new ATA layer
1156 config PATA_WINBOND_VLB
1157 tristate "Winbond W83759A VLB PATA support (Experimental)"
1161 Support for the Winbond W83759A controller on Vesa Local Bus
1164 comment "Generic fallback / legacy drivers"
1167 tristate "ACPI firmware driver for PATA"
1168 depends on ATA_ACPI && ATA_BMDMA && PCI
1171 This option enables an ACPI method driver which drives
1172 motherboard PATA controller interfaces through the ACPI
1173 firmware in the BIOS. This driver can sometimes handle
1174 otherwise unsupported hardware.
1177 tristate "Generic ATA support"
1178 depends on PCI && ATA_BMDMA
1181 This option enables support for generic BIOS configured
1182 ATA controllers via the new ATA layer
1187 tristate "Legacy ISA PATA support (Experimental)"
1188 depends on (ISA || PCI)
1191 This option enables support for ISA/VLB/PCI bus legacy PATA
1192 ports and allows them to be accessed via the new ATA layer.