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"
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.
128 The value set has the following meanings:
129 0 => Keep firmware settings
130 1 => Maximum performance
132 3 => Medium power with Device Initiated PM enabled
135 Note "Minimum power" is known to cause issues, including disk
136 corruption, with some disks and should not be used.
138 config SATA_AHCI_PLATFORM
139 tristate "Platform AHCI SATA support"
142 This option enables support for Platform AHCI Serial ATA
148 tristate "Broadcom AHCI SATA support"
149 depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_NSP || \
150 ARCH_BCMBCA || COMPILE_TEST
153 This option enables support for the AHCI SATA3 controller found on
159 tristate "DaVinci DA850 AHCI SATA support"
160 depends on ARCH_DAVINCI_DA850 || COMPILE_TEST
163 This option enables support for the DaVinci DA850 SoC's
169 tristate "DaVinci DM816 AHCI SATA support"
170 depends on ARCH_OMAP2PLUS || COMPILE_TEST
173 This option enables support for the DaVinci DM816 SoC's
174 onboard AHCI SATA controller.
179 tristate "Synopsys DWC AHCI SATA support"
181 select MFD_SYSCON if (MIPS_BAIKAL_T1 || COMPILE_TEST)
183 This option enables support for the Synopsys DWC AHCI SATA
184 controller implementation.
189 tristate "ST AHCI SATA support"
190 depends on ARCH_STI || COMPILE_TEST
193 This option enables support for ST AHCI SATA controller.
198 tristate "Freescale i.MX AHCI SATA support"
199 depends on MFD_SYSCON && (ARCH_MXC || COMPILE_TEST)
200 depends on (HWMON && (THERMAL || !THERMAL_OF)) || !HWMON
203 This option enables support for the Freescale i.MX SoC's
209 tristate "CEVA AHCI SATA support"
213 This option enables support for the CEVA AHCI SATA.
214 It can be found on the Xilinx Zynq UltraScale+ MPSoC.
219 tristate "MediaTek AHCI SATA support"
220 depends on ARCH_MEDIATEK || COMPILE_TEST
224 This option enables support for the MediaTek SoC's
225 onboard AHCI SATA controller.
230 tristate "Marvell EBU AHCI SATA support"
231 depends on ARCH_MVEBU || COMPILE_TEST
234 This option enables support for the Marvebu EBU SoC's
240 tristate "Cavium Octeon Soc Serial ATA"
241 depends on SATA_AHCI_PLATFORM && CAVIUM_OCTEON_SOC
244 This option enables support for Cavium Octeon SoC Serial ATA.
249 tristate "Allwinner sunxi AHCI SATA support"
250 depends on ARCH_SUNXI || COMPILE_TEST
253 This option enables support for the Allwinner sunxi SoC's
259 tristate "NVIDIA Tegra AHCI SATA support"
260 depends on ARCH_TEGRA || COMPILE_TEST
263 This option enables support for the NVIDIA Tegra SoC's
269 tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support"
270 depends on PHY_XGENE || COMPILE_TEST
273 This option enables support for APM X-Gene SoC SATA host controller.
276 tristate "Freescale QorIQ AHCI SATA support"
278 depends on SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST
281 This option enables support for the Freescale QorIQ AHCI SoC's
287 tristate "Freescale 3.0Gbps SATA support"
288 depends on FSL_SOC || COMPILE_TEST
291 This option enables support for Freescale 3.0Gbps SATA controller.
292 It can be found on MPC837x and MPC8315.
297 tristate "Gemini SATA bridge support"
298 depends on ARCH_GEMINI || COMPILE_TEST
302 This enabled support for the FTIDE010 to SATA bridge
303 found in Cortina Systems Gemini platform.
307 config SATA_AHCI_SEATTLE
308 tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support"
309 depends on ARCH_SEATTLE || COMPILE_TEST
312 This option enables support for AMD Seattle SATA host controller.
317 tristate "Initio 162x SATA support (Very Experimental)"
321 This option enables support for Initio 162x Serial ATA.
323 config SATA_ACARD_AHCI
324 tristate "ACard AHCI variant (ATP 8620)"
328 This option enables support for Acard.
333 tristate "Silicon Image 3124/3132 SATA support"
337 This option enables support for Silicon Image 3124/3132 Serial ATA.
344 bool "ATA SFF support (for legacy IDE and PATA)"
347 This option adds support for ATA controllers with SFF
348 compliant or similar programming interface.
350 SFF is the legacy IDE interface that has been around since
351 the dawn of time. Almost all PATA controllers have an
352 SFF interface. Many SATA controllers have an SFF interface
353 when configured into a legacy compatibility mode.
355 For users with exclusively modern controllers like AHCI,
356 Silicon Image 3124, or Marvell 6440, you may choose to
357 disable this unneeded SFF support.
363 comment "SFF controllers with custom DMA interface"
366 tristate "Pacific Digital ADMA support"
369 This option enables support for Pacific Digital ADMA controllers
373 config PATA_OCTEON_CF
374 tristate "OCTEON Boot Bus Compact Flash support"
375 depends on CAVIUM_OCTEON_SOC
378 This option enables a polled compact flash driver for use with
379 compact flash cards attached to the OCTEON boot bus.
384 tristate "Pacific Digital SATA QStor support"
388 This option enables support for Pacific Digital Serial ATA QStor.
393 tristate "Promise SATA SX4 support (Experimental)"
397 This option enables support for Promise Serial ATA SX4.
402 bool "ATA BMDMA support"
406 This option adds support for SFF ATA controllers with BMDMA
407 capability. BMDMA stands for bus-master DMA and is the
408 de facto DMA interface for SFF controllers.
414 comment "SATA SFF controllers with BMDMA"
417 tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
421 This option enables support for ICH5/6/7/8 Serial ATA
422 and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
428 tristate "DesignWare Cores SATA support"
429 depends on DMADEVICES
433 This option enables support for the on-chip SATA controller of the
434 AppliedMicro processor 460EX.
438 config SATA_DWC_OLD_DMA
439 bool "Support old device trees"
444 This option enables support for old device trees without the
448 tristate "Calxeda Highbank SATA support"
449 depends on ARCH_HIGHBANK || COMPILE_TEST
452 This option enables support for the Calxeda Highbank SoC's
458 tristate "Marvell SATA support"
459 depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \
460 ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST
464 This option enables support for the Marvell Serial ATA family.
465 Currently supports 88SX[56]0[48][01] PCI(-X) chips,
466 as well as the newer [67]042 PCI-X/PCIe and SOC devices.
471 tristate "NVIDIA SATA support"
475 This option enables support for NVIDIA Serial ATA.
480 tristate "Promise SATA TX2/TX4 support"
484 This option enables support for Promise Serial ATA TX2/TX4.
489 tristate "Renesas R-Car SATA support"
490 depends on ARCH_RENESAS || COMPILE_TEST
493 This option enables support for Renesas R-Car Serial ATA.
498 tristate "Silicon Image SATA support"
502 This option enables support for Silicon Image Serial ATA.
507 tristate "SiS 964/965/966/180 SATA support"
512 This option enables support for SiS Serial ATA on
513 SiS 964/965/966/180 and Parallel ATA on SiS 180.
514 The PATA support for SiS 180 requires additionally to
515 enable the PATA_SIS driver in the config.
519 tristate "ServerWorks Frodo / Apple K2 SATA support"
523 This option enables support for Broadcom/Serverworks/Apple K2
529 tristate "ULi Electronics SATA support"
533 This option enables support for ULi Electronics SATA.
538 tristate "VIA SATA support"
542 This option enables support for VIA Serial ATA.
547 tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
551 This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
555 comment "PATA SFF controllers with BMDMA"
558 tristate "ALi PATA support"
559 depends on PCI && HAS_IOPORT
562 This option enables support for the ALi ATA interfaces
563 found on the many ALi chipsets.
568 tristate "AMD/NVidia PATA support"
569 depends on PCI && HAS_IOPORT
572 This option enables support for the AMD and NVidia PATA
573 interfaces found on the chipsets for Athlon/Athlon64.
577 config PATA_ARASAN_CF
578 tristate "ARASAN CompactFlash PATA Controller Support"
579 depends on ARCH_SPEAR13XX || COMPILE_TEST
580 depends on DMADEVICES
583 Say Y here to support the ARASAN CompactFlash PATA controller
586 tristate "ARTOP 6210/6260 PATA support"
587 depends on PCI && HAS_IOPORT
589 This option enables support for ARTOP PATA controllers.
594 tristate "ATI PATA support"
597 This option enables support for the ATI ATA interfaces
598 found on the many ATI chipsets.
603 tristate "ARTOP/Acard ATP867X PATA support"
607 This option enables support for ARTOP/Acard ATP867X PATA
613 tristate "CMD64x PATA support"
614 depends on PCI && HAS_IOPORT
617 This option enables support for the CMD64x series chips
618 except for the CMD640.
623 tristate "CS5510/5520 PATA support"
624 depends on PCI && (X86_32 || COMPILE_TEST)
626 This option enables support for the Cyrix 5510/5520
627 companion chip used with the MediaGX/Geode processor family.
632 tristate "CS5530 PATA support"
633 depends on PCI && (X86_32 || COMPILE_TEST)
635 This option enables support for the Cyrix/NatSemi/AMD CS5530
636 companion chip used with the MediaGX/Geode processor family.
641 tristate "CS5535 PATA support (Experimental)"
642 depends on PCI && (X86_32 || (X86_64 && COMPILE_TEST))
645 This option enables support for the NatSemi/AMD CS5535
646 companion chip used with the Geode processor family.
651 tristate "CS5536 PATA support"
652 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
654 This option enables support for the AMD CS5536
655 companion chip used with the Geode LX processor family.
660 tristate "Cypress CY82C693 PATA support (Very Experimental)"
661 depends on PCI && HAS_IOPORT
664 This option enables support for the Cypress/Contaq CY82C693
665 chipset found in some Alpha systems
670 tristate "EFAR SLC90E66 support"
673 This option enables support for the EFAR SLC90E66
674 IDE controller found on some older machines.
679 tristate "Cirrus Logic EP93xx PATA support"
680 depends on ARCH_EP93XX
683 This option enables support for the PATA controller in
684 the Cirrus Logic EP9312 and EP9315 ARM CPU.
689 tristate "Faraday Technology FTIDE010 PATA support"
690 depends on ARM || COMPILE_TEST
691 depends on SATA_GEMINI
693 This option enables support for the Faraday FTIDE010
694 PATA controller found in the Cortina Gemini SoCs.
699 tristate "HPT 366/368 PATA support"
702 This option enables support for the HPT 366 and 368
703 PATA controllers via the new ATA layer.
708 tristate "HPT 370/370A/371/372/374/302 PATA support"
709 depends on PCI && HAS_IOPORT
711 This option enables support for the majority of the later HPT
712 PATA controllers via the new ATA layer.
717 tristate "HPT 371N/372N/302N PATA support"
718 depends on PCI && HAS_IOPORT
720 This option enables support for the N variant HPT PATA
721 controllers via the new ATA layer.
726 tristate "HPT 343/363 PATA support"
729 This option enables support for the HPT 343/363
730 PATA controllers via the new ATA layer
734 config PATA_HPT3X3_DMA
735 bool "HPT 343/363 DMA support"
736 depends on PATA_HPT3X3
738 This option enables DMA support for the HPT343/363
739 controllers. Enable with care as there are still some
740 problems with DMA on this chipset.
743 tristate "Acorn ICS PATA support"
744 depends on ARM && ARCH_ACORN
747 On Acorn systems, say Y here if you wish to use the ICS PATA
748 interface card. This is not required for ICS partition support.
749 If you are unsure, say N to this.
752 tristate "PATA support for Freescale iMX"
753 depends on ARCH_MXC || COMPILE_TEST
756 This option enables support for the PATA host available on Freescale
762 tristate "IT8213 PATA support (Experimental)"
765 This option enables support for the ITE 821 PATA
766 controllers via the new ATA layer.
771 tristate "IT8211/2 PATA support"
774 This option enables support for the ITE 8211 and 8212
775 PATA controllers via the new ATA layer, including RAID
781 tristate "JMicron PATA support"
784 Enable support for the JMicron IDE controller, via the new
790 tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
793 Most IDE capable PowerMacs have IDE busses driven by a variant
794 of this controller which is part of the Apple chipset used on
795 most PowerMac models. Some models have multiple busses using
796 different chipsets, though generally, MacIO is one of them.
799 tristate "Marvell PATA support via legacy mode"
802 This option enables limited support for the Marvell 88SE61xx ATA
803 controllers. If you wish to use only the SATA ports then select
804 the AHCI driver alone. If you wish to the use the PATA port or
805 both SATA and PATA include this driver.
810 tristate "Freescale MPC52xx SoC internal IDE"
811 depends on PPC_MPC52xx && PPC_BESTCOMM
812 select PPC_BESTCOMM_ATA
814 This option enables support for integrated IDE controller
815 of the Freescale MPC52xx SoC.
820 tristate "NETCELL Revolution RAID support"
821 depends on PCI && HAS_IOPORT
823 This option enables support for the Netcell Revolution RAID
829 tristate "Ninja32/Delkin Cardbus ATA support"
832 This option enables support for the Ninja32, Delkin and
833 possibly other brands of Cardbus ATA adapter
838 tristate "Nat Semi NS87415 PATA support"
842 This option enables support for the National Semiconductor
843 NS87415 PCI-IDE controller.
848 tristate "Intel PATA old PIIX support"
851 This option enables support for early PIIX PATA support.
856 tristate "OPTI FireStar PATA support (Very Experimental)"
857 depends on PCI && HAS_IOPORT
859 This option enables DMA/PIO support for the later OPTi
860 controllers found on some old motherboards and in some
866 tristate "Promise PATA 2027x support"
867 depends on PCI && HAS_IOPORT
869 This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
874 tristate "Older Promise PATA controller support"
875 depends on PCI && HAS_IOPORT
877 This option enables support for the Promise 20246, 20262, 20263,
878 20265 and 20267 adapters.
883 tristate "RADISYS 82600 PATA support (Experimental)"
886 This option enables support for the RADISYS 82600
887 PATA controllers via the new ATA layer
892 tristate "RDC PATA support"
895 This option enables basic support for the later RDC PATA controllers
896 controllers via the new ATA layer. For the RDC 1010, you need to
897 enable the IT821X driver instead.
902 tristate "SC1200 PATA support"
903 depends on PCI && (X86_32 || COMPILE_TEST) && HAS_IOPORT
905 This option enables support for the NatSemi/AMD SC1200 SoC
906 companion chip used with the Geode processor family.
911 tristate "Intel SCH PATA support"
914 This option enables support for Intel SCH PATA on the Intel
915 SCH (US15W, US15L, UL11L) series host controllers.
919 config PATA_SERVERWORKS
920 tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
921 depends on PCI && HAS_IOPORT
923 This option enables support for the Serverworks OSB4/CSB5/CSB6 and
924 HT1000 PATA controllers, via the new ATA layer.
929 tristate "CMD / Silicon Image 680 PATA support"
932 This option enables support for CMD / Silicon Image 680 PATA.
937 tristate "SiS PATA support"
940 This option enables support for SiS PATA controllers
945 tristate "Toshiba Piccolo support (Experimental)"
948 Support for the Toshiba Piccolo controllers. Currently only the
949 primary channel is supported by this driver.
954 tristate "Compaq Triflex PATA support"
957 Enable support for the Compaq 'Triflex' IDE controller as found
958 on many Compaq Pentium-Pro systems, via the new ATA layer.
963 tristate "VIA PATA support"
967 This option enables support for the VIA PATA interfaces
968 found on the many VIA chipsets.
973 tristate "PXA DMA-capable PATA support"
974 depends on ARCH_PXA || COMPILE_TEST
976 This option enables support for harddrive attached to PXA CPU's bus.
978 NOTE: This driver utilizes PXA DMA controller, in case your hardware
979 is not capable of doing MWDMA, use pata_platform instead.
984 tristate "Winbond SL82C105 PATA support"
987 This option enables support for SL82C105 PATA devices found in the
988 Netwinder and some other systems
994 comment "PIO-only SFF controllers"
996 config PATA_CMD640_PCI
997 tristate "CMD640 PCI PATA support (Experimental)"
1001 This option enables support for the CMD640 PCI IDE
1002 interface chip. Only the primary channel is currently
1008 tristate "Atari Falcon and Q40/Q60 PATA support"
1009 depends on M68K && (ATARI || Q40)
1011 This option enables support for the on-board IDE
1012 interface on the Atari Falcon and Q40/Q60.
1017 tristate "Amiga Gayle PATA support"
1018 depends on M68K && AMIGA
1020 This option enables support for the on-board IDE
1021 interfaces on some Amiga models (A600, A1200,
1022 A4000 and A4000T) and also for IDE interfaces on
1023 the Zorro expansion bus (M-Tech E-Matrix 530
1029 tristate "Buddha/Catweasel/X-Surf PATA support"
1032 This option enables support for the IDE interfaces
1033 on the Buddha, Catweasel and X-Surf expansion boards
1034 on the Zorro expansion bus. It supports up to two
1035 interfaces on the Buddha, three on the Catweasel and
1041 tristate "ISA Plug and Play PATA support"
1044 This option enables support for ISA plug & play ATA
1045 controllers such as those found on old soundcards.
1049 config PATA_IXP4XX_CF
1050 tristate "IXP4XX Compact Flash support"
1051 depends on ARCH_IXP4XX || COMPILE_TEST
1053 This option enables support for a Compact Flash connected on
1054 the ixp4xx expansion bus. This driver had been written for
1055 Loft/Avila boards in mind but can work with others.
1060 tristate "Intel PATA MPIIX support"
1063 This option enables support for MPIIX PATA support.
1068 tristate "Nat Semi NS87410 PATA support"
1072 This option enables support for the National Semiconductor
1073 NS87410 PCI-IDE controller.
1078 tristate "OPTI621/6215 PATA support (Very Experimental)"
1081 This option enables full PIO support for the early Opti ATA
1082 controllers found on some old motherboards.
1087 tristate "PCMCIA PATA support"
1090 This option enables support for PCMCIA ATA interfaces, including
1091 compact flash card adapters via the new ATA layer.
1095 config PATA_PLATFORM
1096 tristate "Generic platform device PATA support" if HAVE_PATA_PLATFORM
1098 This option enables support for generic directly connected ATA
1099 devices commonly found on embedded systems.
1103 config PATA_OF_PLATFORM
1104 tristate "OpenFirmware platform device PATA support"
1106 select PATA_PLATFORM
1108 This option enables support for generic directly connected ATA
1109 devices commonly found on embedded systems with OpenFirmware
1115 tristate "QDI VLB PATA support"
1119 Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
1122 tristate "RouterBoard 532 PATA CompactFlash support"
1123 depends on MIKROTIK_RB532
1125 This option enables support for the RouterBoard 532
1126 PATA CompactFlash controller.
1131 tristate "PC Tech RZ1000 PATA support"
1134 This option enables basic support for the PC Tech RZ1000/1
1135 PATA controllers via the new ATA layer
1139 config PATA_WINBOND_VLB
1140 tristate "Winbond W83759A VLB PATA support (Experimental)"
1144 Support for the Winbond W83759A controller on Vesa Local Bus
1148 tristate "Parallel port IDE device support"
1149 depends on PARPORT_PC
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
1156 Read <file:Documentation/admin-guide/blockdev/paride.rst> for more
1159 source "drivers/ata/pata_parport/Kconfig"
1161 comment "Generic fallback / legacy drivers"
1164 tristate "ACPI firmware driver for PATA"
1165 depends on ATA_ACPI && ATA_BMDMA && PCI
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.
1174 tristate "Generic ATA support"
1175 depends on PCI && ATA_BMDMA
1178 This option enables support for generic BIOS configured
1179 ATA controllers via the new ATA layer
1184 tristate "Legacy ISA PATA support (Experimental)"
1185 depends on (ISA || PCI) && HAS_IOPORT
1188 This option enables support for ISA/VLB/PCI bus legacy PATA
1189 ports and allows them to be accessed via the new ATA layer.