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 low power chipsets"
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.
129 The value set has the following meanings:
130 0 => Keep firmware settings
131 1 => Maximum performance
133 3 => Medium power with Device Initiated PM enabled
136 Note "Minimum power" is known to cause issues, including disk
137 corruption, with some disks and should not be used.
139 config SATA_AHCI_PLATFORM
140 tristate "Platform AHCI SATA support"
143 This option enables support for Platform AHCI Serial ATA
149 tristate "Broadcom AHCI SATA support"
150 depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_NSP || \
151 ARCH_BCMBCA || COMPILE_TEST
154 This option enables support for the AHCI SATA3 controller found on
160 tristate "DaVinci DA850 AHCI SATA support"
161 depends on ARCH_DAVINCI_DA850 || COMPILE_TEST
164 This option enables support for the DaVinci DA850 SoC's
170 tristate "DaVinci DM816 AHCI SATA support"
171 depends on ARCH_OMAP2PLUS || COMPILE_TEST
174 This option enables support for the DaVinci DM816 SoC's
175 onboard AHCI SATA controller.
180 tristate "Synopsys DWC AHCI SATA support"
182 select MFD_SYSCON if (MIPS_BAIKAL_T1 || COMPILE_TEST)
184 This option enables support for the Synopsys DWC AHCI SATA
185 controller implementation.
190 tristate "ST AHCI SATA support"
191 depends on ARCH_STI || COMPILE_TEST
194 This option enables support for ST AHCI SATA controller.
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
204 This option enables support for the Freescale i.MX SoC's
210 tristate "CEVA AHCI SATA support"
214 This option enables support for the CEVA AHCI SATA.
215 It can be found on the Xilinx Zynq UltraScale+ MPSoC.
220 tristate "MediaTek AHCI SATA support"
221 depends on ARCH_MEDIATEK || COMPILE_TEST
225 This option enables support for the MediaTek SoC's
226 onboard AHCI SATA controller.
231 tristate "Marvell EBU AHCI SATA support"
232 depends on ARCH_MVEBU || COMPILE_TEST
235 This option enables support for the Marvebu EBU SoC's
241 tristate "Cavium Octeon Soc Serial ATA"
242 depends on SATA_AHCI_PLATFORM && CAVIUM_OCTEON_SOC
245 This option enables support for Cavium Octeon SoC Serial ATA.
250 tristate "Allwinner sunxi AHCI SATA support"
251 depends on ARCH_SUNXI || COMPILE_TEST
254 This option enables support for the Allwinner sunxi SoC's
260 tristate "NVIDIA Tegra AHCI SATA support"
261 depends on ARCH_TEGRA || COMPILE_TEST
264 This option enables support for the NVIDIA Tegra SoC's
270 tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support"
271 depends on PHY_XGENE || COMPILE_TEST
274 This option enables support for APM X-Gene SoC SATA host controller.
277 tristate "Freescale QorIQ AHCI SATA support"
279 depends on SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST
282 This option enables support for the Freescale QorIQ AHCI SoC's
288 tristate "Freescale 3.0Gbps SATA support"
289 depends on FSL_SOC || COMPILE_TEST
292 This option enables support for Freescale 3.0Gbps SATA controller.
293 It can be found on MPC837x and MPC8315.
298 tristate "Gemini SATA bridge support"
299 depends on ARCH_GEMINI || COMPILE_TEST
303 This enabled support for the FTIDE010 to SATA bridge
304 found in Cortina Systems Gemini platform.
308 config SATA_AHCI_SEATTLE
309 tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support"
310 depends on ARCH_SEATTLE || COMPILE_TEST
313 This option enables support for AMD Seattle SATA host controller.
318 tristate "Initio 162x SATA support (Very Experimental)"
322 This option enables support for Initio 162x Serial ATA.
324 config SATA_ACARD_AHCI
325 tristate "ACard AHCI variant (ATP 8620)"
329 This option enables support for Acard.
334 tristate "Silicon Image 3124/3132 SATA support"
338 This option enables support for Silicon Image 3124/3132 Serial ATA.
345 bool "ATA SFF support (for legacy IDE and PATA)"
348 This option adds support for ATA controllers with SFF
349 compliant or similar programming interface.
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.
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.
364 comment "SFF controllers with custom DMA interface"
367 tristate "Pacific Digital ADMA support"
370 This option enables support for Pacific Digital ADMA controllers
374 config PATA_OCTEON_CF
375 tristate "OCTEON Boot Bus Compact Flash support"
376 depends on CAVIUM_OCTEON_SOC
379 This option enables a polled compact flash driver for use with
380 compact flash cards attached to the OCTEON boot bus.
385 tristate "Pacific Digital SATA QStor support"
389 This option enables support for Pacific Digital Serial ATA QStor.
394 tristate "Promise SATA SX4 support (Experimental)"
398 This option enables support for Promise Serial ATA SX4.
403 bool "ATA BMDMA support"
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.
415 comment "SATA SFF controllers with BMDMA"
418 tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
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
429 tristate "DesignWare Cores SATA support"
430 depends on DMADEVICES
434 This option enables support for the on-chip SATA controller of the
435 AppliedMicro processor 460EX.
439 config SATA_DWC_OLD_DMA
440 bool "Support old device trees"
445 This option enables support for old device trees without the
449 tristate "Calxeda Highbank SATA support"
450 depends on ARCH_HIGHBANK || COMPILE_TEST
453 This option enables support for the Calxeda Highbank SoC's
459 tristate "Marvell SATA support"
460 depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \
461 ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST
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.
472 tristate "NVIDIA SATA support"
476 This option enables support for NVIDIA Serial ATA.
481 tristate "Promise SATA TX2/TX4 support"
485 This option enables support for Promise Serial ATA TX2/TX4.
490 tristate "Renesas R-Car SATA support"
491 depends on ARCH_RENESAS || COMPILE_TEST
494 This option enables support for Renesas R-Car Serial ATA.
499 tristate "Silicon Image SATA support"
503 This option enables support for Silicon Image Serial ATA.
508 tristate "SiS 964/965/966/180 SATA support"
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.
520 tristate "ServerWorks Frodo / Apple K2 SATA support"
524 This option enables support for Broadcom/Serverworks/Apple K2
530 tristate "ULi Electronics SATA support"
534 This option enables support for ULi Electronics SATA.
539 tristate "VIA SATA support"
543 This option enables support for VIA Serial ATA.
548 tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
552 This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
556 comment "PATA SFF controllers with BMDMA"
559 tristate "ALi PATA support"
563 This option enables support for the ALi ATA interfaces
564 found on the many ALi chipsets.
569 tristate "AMD/NVidia PATA support"
573 This option enables support for the AMD and NVidia PATA
574 interfaces found on the chipsets for Athlon/Athlon64.
578 config PATA_ARASAN_CF
579 tristate "ARASAN CompactFlash PATA Controller Support"
580 depends on ARCH_SPEAR13XX || COMPILE_TEST
581 depends on DMADEVICES
584 Say Y here to support the ARASAN CompactFlash PATA controller
587 tristate "ARTOP 6210/6260 PATA support"
590 This option enables support for ARTOP PATA controllers.
595 tristate "ATI PATA support"
598 This option enables support for the ATI ATA interfaces
599 found on the many ATI chipsets.
604 tristate "ARTOP/Acard ATP867X PATA support"
608 This option enables support for ARTOP/Acard ATP867X PATA
614 tristate "CMD64x PATA support"
618 This option enables support for the CMD64x series chips
619 except for the CMD640.
624 tristate "CS5510/5520 PATA support"
625 depends on PCI && (X86_32 || COMPILE_TEST)
627 This option enables support for the Cyrix 5510/5520
628 companion chip used with the MediaGX/Geode processor family.
633 tristate "CS5530 PATA support"
634 depends on PCI && (X86_32 || COMPILE_TEST)
636 This option enables support for the Cyrix/NatSemi/AMD CS5530
637 companion chip used with the MediaGX/Geode processor family.
642 tristate "CS5535 PATA support (Experimental)"
643 depends on PCI && (X86_32 || (X86_64 && COMPILE_TEST))
646 This option enables support for the NatSemi/AMD CS5535
647 companion chip used with the Geode processor family.
652 tristate "CS5536 PATA support"
653 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
655 This option enables support for the AMD CS5536
656 companion chip used with the Geode LX processor family.
661 tristate "Cypress CY82C693 PATA support (Very Experimental)"
665 This option enables support for the Cypress/Contaq CY82C693
666 chipset found in some Alpha systems
671 tristate "EFAR SLC90E66 support"
674 This option enables support for the EFAR SLC90E66
675 IDE controller found on some older machines.
680 tristate "Cirrus Logic EP93xx PATA support"
681 depends on ARCH_EP93XX
684 This option enables support for the PATA controller in
685 the Cirrus Logic EP9312 and EP9315 ARM CPU.
690 tristate "Faraday Technology FTIDE010 PATA support"
691 depends on ARM || COMPILE_TEST
692 depends on SATA_GEMINI
694 This option enables support for the Faraday FTIDE010
695 PATA controller found in the Cortina Gemini SoCs.
700 tristate "HPT 366/368 PATA support"
703 This option enables support for the HPT 366 and 368
704 PATA controllers via the new ATA layer.
709 tristate "HPT 370/370A/371/372/374/302 PATA support"
712 This option enables support for the majority of the later HPT
713 PATA controllers via the new ATA layer.
718 tristate "HPT 371N/372N/302N PATA support"
721 This option enables support for the N variant HPT PATA
722 controllers via the new ATA layer.
727 tristate "HPT 343/363 PATA support"
730 This option enables support for the HPT 343/363
731 PATA controllers via the new ATA layer
735 config PATA_HPT3X3_DMA
736 bool "HPT 343/363 DMA support"
737 depends on PATA_HPT3X3
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.
744 tristate "Acorn ICS PATA support"
745 depends on ARM && ARCH_ACORN
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.
753 tristate "PATA support for Freescale iMX"
754 depends on ARCH_MXC || COMPILE_TEST
757 This option enables support for the PATA host available on Freescale
763 tristate "IT8213 PATA support (Experimental)"
766 This option enables support for the ITE 821 PATA
767 controllers via the new ATA layer.
772 tristate "IT8211/2 PATA support"
775 This option enables support for the ITE 8211 and 8212
776 PATA controllers via the new ATA layer, including RAID
782 tristate "JMicron PATA support"
785 Enable support for the JMicron IDE controller, via the new
791 tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
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.
800 tristate "Marvell PATA support via legacy mode"
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.
811 tristate "Freescale MPC52xx SoC internal IDE"
812 depends on PPC_MPC52xx && PPC_BESTCOMM
813 select PPC_BESTCOMM_ATA
815 This option enables support for integrated IDE controller
816 of the Freescale MPC52xx SoC.
821 tristate "NETCELL Revolution RAID support"
824 This option enables support for the Netcell Revolution RAID
830 tristate "Ninja32/Delkin Cardbus ATA support"
833 This option enables support for the Ninja32, Delkin and
834 possibly other brands of Cardbus ATA adapter
839 tristate "Nat Semi NS87415 PATA support"
843 This option enables support for the National Semiconductor
844 NS87415 PCI-IDE controller.
849 tristate "Intel PATA old PIIX support"
852 This option enables support for early PIIX PATA support.
857 tristate "OPTI FireStar PATA support (Very Experimental)"
860 This option enables DMA/PIO support for the later OPTi
861 controllers found on some old motherboards and in some
867 tristate "Promise PATA 2027x support"
870 This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
875 tristate "Older Promise PATA controller support"
878 This option enables support for the Promise 20246, 20262, 20263,
879 20265 and 20267 adapters.
884 tristate "RADISYS 82600 PATA support (Experimental)"
887 This option enables support for the RADISYS 82600
888 PATA controllers via the new ATA layer
893 tristate "RDC PATA support"
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.
903 tristate "SC1200 PATA support"
904 depends on PCI && (X86_32 || COMPILE_TEST)
906 This option enables support for the NatSemi/AMD SC1200 SoC
907 companion chip used with the Geode processor family.
912 tristate "Intel SCH PATA support"
915 This option enables support for Intel SCH PATA on the Intel
916 SCH (US15W, US15L, UL11L) series host controllers.
920 config PATA_SERVERWORKS
921 tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
924 This option enables support for the Serverworks OSB4/CSB5/CSB6 and
925 HT1000 PATA controllers, via the new ATA layer.
930 tristate "CMD / Silicon Image 680 PATA support"
933 This option enables support for CMD / Silicon Image 680 PATA.
938 tristate "SiS PATA support"
941 This option enables support for SiS PATA controllers
946 tristate "Toshiba Piccolo support (Experimental)"
949 Support for the Toshiba Piccolo controllers. Currently only the
950 primary channel is supported by this driver.
955 tristate "Compaq Triflex PATA support"
958 Enable support for the Compaq 'Triflex' IDE controller as found
959 on many Compaq Pentium-Pro systems, via the new ATA layer.
964 tristate "VIA PATA support"
968 This option enables support for the VIA PATA interfaces
969 found on the many VIA chipsets.
974 tristate "PXA DMA-capable PATA support"
975 depends on ARCH_PXA || COMPILE_TEST
977 This option enables support for harddrive attached to PXA CPU's bus.
979 NOTE: This driver utilizes PXA DMA controller, in case your hardware
980 is not capable of doing MWDMA, use pata_platform instead.
985 tristate "Winbond SL82C105 PATA support"
988 This option enables support for SL82C105 PATA devices found in the
989 Netwinder and some other systems
995 comment "PIO-only SFF controllers"
997 config PATA_CMD640_PCI
998 tristate "CMD640 PCI PATA support (Experimental)"
1002 This option enables support for the CMD640 PCI IDE
1003 interface chip. Only the primary channel is currently
1009 tristate "Atari Falcon and Q40/Q60 PATA support"
1010 depends on M68K && (ATARI || Q40)
1012 This option enables support for the on-board IDE
1013 interface on the Atari Falcon and Q40/Q60.
1018 tristate "Amiga Gayle PATA support"
1019 depends on M68K && AMIGA
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
1030 tristate "Buddha/Catweasel/X-Surf PATA support"
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
1042 tristate "ISA Plug and Play PATA support"
1045 This option enables support for ISA plug & play ATA
1046 controllers such as those found on old soundcards.
1050 config PATA_IXP4XX_CF
1051 tristate "IXP4XX Compact Flash support"
1052 depends on ARCH_IXP4XX || COMPILE_TEST
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.
1061 tristate "Intel PATA MPIIX support"
1064 This option enables support for MPIIX PATA support.
1069 tristate "Nat Semi NS87410 PATA support"
1073 This option enables support for the National Semiconductor
1074 NS87410 PCI-IDE controller.
1079 tristate "OPTI621/6215 PATA support (Very Experimental)"
1082 This option enables full PIO support for the early Opti ATA
1083 controllers found on some old motherboards.
1088 tristate "PCMCIA PATA support"
1091 This option enables support for PCMCIA ATA interfaces, including
1092 compact flash card adapters via the new ATA layer.
1096 config PATA_PLATFORM
1097 tristate "Generic platform device PATA support" if HAVE_PATA_PLATFORM
1099 This option enables support for generic directly connected ATA
1100 devices commonly found on embedded systems.
1104 config PATA_OF_PLATFORM
1105 tristate "OpenFirmware platform device PATA support"
1107 select PATA_PLATFORM
1109 This option enables support for generic directly connected ATA
1110 devices commonly found on embedded systems with OpenFirmware
1116 tristate "QDI VLB PATA support"
1120 Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
1123 tristate "RouterBoard 532 PATA CompactFlash support"
1124 depends on MIKROTIK_RB532
1126 This option enables support for the RouterBoard 532
1127 PATA CompactFlash controller.
1132 tristate "PC Tech RZ1000 PATA support"
1135 This option enables basic support for the PC Tech RZ1000/1
1136 PATA controllers via the new ATA layer
1140 config PATA_WINBOND_VLB
1141 tristate "Winbond W83759A VLB PATA support (Experimental)"
1145 Support for the Winbond W83759A controller on Vesa Local Bus
1149 tristate "Parallel port IDE device support"
1150 depends on PARPORT_PC
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
1157 Read <file:Documentation/admin-guide/blockdev/paride.rst> for more
1160 source "drivers/ata/pata_parport/Kconfig"
1162 comment "Generic fallback / legacy drivers"
1165 tristate "ACPI firmware driver for PATA"
1166 depends on ATA_ACPI && ATA_BMDMA && PCI
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.
1175 tristate "Generic ATA support"
1176 depends on PCI && ATA_BMDMA
1179 This option enables support for generic BIOS configured
1180 ATA controllers via the new ATA layer
1185 tristate "Legacy ISA PATA support (Experimental)"
1186 depends on (ISA || PCI)
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.