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
37 config ATA_VERBOSE_ERROR
38 bool "Verbose ATA error reporting"
41 This option adds parsing of ATA command descriptions and error bits
42 in libata kernel output, making it easier to interpret.
43 This option will enlarge the kernel by approx. 6KB. Disable it only
44 if kernel size is more important than ease of debugging.
49 bool "ATA ACPI Support"
53 This option adds support for ATA-related ACPI objects.
54 These ACPI objects add the ability to retrieve taskfiles
55 from the ACPI BIOS and write them to the disk controller.
56 These objects may be related to performance, security,
57 power management, or other areas.
58 You can disable this at kernel boot time by using the
59 option libata.noacpi=1
62 bool "SATA Zero Power Optical Disc Drive (ZPODD) support"
63 depends on ATA_ACPI && PM
65 This option adds support for SATA Zero Power Optical Disc
66 Drive (ZPODD). It requires both the ODD and the platform
67 support, and if enabled, will automatically power on/off the
68 ODD when certain condition is satisfied. This does not impact
69 end user's experience of the ODD, only power is saved when
70 the ODD is not in use (i.e. no disc inside).
75 bool "SATA Port Multiplier support"
78 This option adds support for SATA Port Multipliers
79 (the SATA version of an ethernet hub, or SAS expander).
83 comment "Controllers with non-SFF native interface"
86 tristate "AHCI SATA support"
89 This option enables support for AHCI Serial ATA.
93 config SATA_MOBILE_LPM_POLICY
94 int "Default SATA Link Power Management policy for mobile chipsets"
99 Select the Default SATA Link Power Management (LPM) policy to use
100 for mobile / laptop variants of chipsets / "South Bridges".
102 The value set has the following meanings:
103 0 => Keep firmware settings
104 1 => Maximum performance
106 3 => Medium power with Device Initiated PM enabled
109 Note "Minimum power" is known to cause issues, including disk
110 corruption, with some disks and should not be used.
112 config SATA_AHCI_PLATFORM
113 tristate "Platform AHCI SATA support"
115 This option enables support for Platform AHCI Serial ATA
121 tristate "Broadcom AHCI SATA support"
122 depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_NSP || \
125 This option enables support for the AHCI SATA3 controller found on
131 tristate "DaVinci DA850 AHCI SATA support"
132 depends on ARCH_DAVINCI_DA850
134 This option enables support for the DaVinci DA850 SoC's
140 tristate "DaVinci DM816 AHCI SATA support"
141 depends on ARCH_OMAP2PLUS
143 This option enables support for the DaVinci DM816 SoC's
144 onboard AHCI SATA controller.
149 tristate "ST AHCI SATA support"
152 This option enables support for ST AHCI SATA controller.
157 tristate "Freescale i.MX AHCI SATA support"
158 depends on MFD_SYSCON && (ARCH_MXC || COMPILE_TEST)
159 depends on (HWMON && (THERMAL || !THERMAL_OF)) || !HWMON
161 This option enables support for the Freescale i.MX SoC's
167 tristate "CEVA AHCI SATA support"
170 This option enables support for the CEVA AHCI SATA.
171 It can be found on the Xilinx Zynq UltraScale+ MPSoC.
176 tristate "MediaTek AHCI SATA support"
177 depends on ARCH_MEDIATEK
180 This option enables support for the MediaTek SoC's
181 onboard AHCI SATA controller.
186 tristate "Marvell EBU AHCI SATA support"
187 depends on ARCH_MVEBU
189 This option enables support for the Marvebu EBU SoC's
195 tristate "Cavium Octeon Soc Serial ATA"
196 depends on SATA_AHCI_PLATFORM && CAVIUM_OCTEON_SOC
199 This option enables support for Cavium Octeon SoC Serial ATA.
204 tristate "Allwinner sunxi AHCI SATA support"
205 depends on ARCH_SUNXI
207 This option enables support for the Allwinner sunxi SoC's
213 tristate "NVIDIA Tegra AHCI SATA support"
214 depends on ARCH_TEGRA
216 This option enables support for the NVIDIA Tegra SoC's
222 tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support"
225 This option enables support for APM X-Gene SoC SATA host controller.
228 tristate "Freescale QorIQ AHCI SATA support"
231 This option enables support for the Freescale QorIQ AHCI SoC's
237 tristate "Freescale 3.0Gbps SATA support"
240 This option enables support for Freescale 3.0Gbps SATA controller.
241 It can be found on MPC837x and MPC8315.
246 tristate "Gemini SATA bridge support"
247 depends on ARCH_GEMINI || COMPILE_TEST
250 This enabled support for the FTIDE010 to SATA bridge
251 found in Cortina Systems Gemini platform.
255 config SATA_AHCI_SEATTLE
256 tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support"
257 depends on ARCH_SEATTLE
259 This option enables support for AMD Seattle SATA host controller.
264 tristate "Initio 162x SATA support (Very Experimental)"
267 This option enables support for Initio 162x Serial ATA.
269 config SATA_ACARD_AHCI
270 tristate "ACard AHCI variant (ATP 8620)"
273 This option enables support for Acard.
278 tristate "Silicon Image 3124/3132 SATA support"
281 This option enables support for Silicon Image 3124/3132 Serial ATA.
288 bool "ATA SFF support (for legacy IDE and PATA)"
291 This option adds support for ATA controllers with SFF
292 compliant or similar programming interface.
294 SFF is the legacy IDE interface that has been around since
295 the dawn of time. Almost all PATA controllers have an
296 SFF interface. Many SATA controllers have an SFF interface
297 when configured into a legacy compatibility mode.
299 For users with exclusively modern controllers like AHCI,
300 Silicon Image 3124, or Marvell 6440, you may choose to
301 disable this unneeded SFF support.
307 comment "SFF controllers with custom DMA interface"
310 tristate "Pacific Digital ADMA support"
313 This option enables support for Pacific Digital ADMA controllers
317 config PATA_OCTEON_CF
318 tristate "OCTEON Boot Bus Compact Flash support"
319 depends on CAVIUM_OCTEON_SOC
321 This option enables a polled compact flash driver for use with
322 compact flash cards attached to the OCTEON boot bus.
327 tristate "Pacific Digital SATA QStor support"
330 This option enables support for Pacific Digital Serial ATA QStor.
335 tristate "Promise SATA SX4 support (Experimental)"
338 This option enables support for Promise Serial ATA SX4.
343 bool "ATA BMDMA support"
347 This option adds support for SFF ATA controllers with BMDMA
348 capability. BMDMA stands for bus-master DMA and is the
349 de facto DMA interface for SFF controllers.
355 comment "SATA SFF controllers with BMDMA"
358 tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
361 This option enables support for ICH5/6/7/8 Serial ATA
362 and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
368 tristate "DesignWare Cores SATA support"
369 depends on DMADEVICES
372 This option enables support for the on-chip SATA controller of the
373 AppliedMicro processor 460EX.
377 config SATA_DWC_OLD_DMA
378 bool "Support old device trees"
383 This option enables support for old device trees without the
386 config SATA_DWC_DEBUG
387 bool "Debugging driver version"
390 This option enables debugging output in the driver.
392 config SATA_DWC_VDEBUG
393 bool "Verbose debug output"
394 depends on SATA_DWC_DEBUG
396 This option enables the taskfile dumping and NCQ debugging.
399 tristate "Calxeda Highbank SATA support"
400 depends on ARCH_HIGHBANK || COMPILE_TEST
402 This option enables support for the Calxeda Highbank SoC's
408 tristate "Marvell SATA support"
409 depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \
410 ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST
413 This option enables support for the Marvell Serial ATA family.
414 Currently supports 88SX[56]0[48][01] PCI(-X) chips,
415 as well as the newer [67]042 PCI-X/PCIe and SOC devices.
420 tristate "NVIDIA SATA support"
423 This option enables support for NVIDIA Serial ATA.
428 tristate "Promise SATA TX2/TX4 support"
431 This option enables support for Promise Serial ATA TX2/TX4.
436 tristate "Renesas R-Car SATA support"
437 depends on ARCH_RENESAS || COMPILE_TEST
439 This option enables support for Renesas R-Car Serial ATA.
444 tristate "Silicon Image SATA support"
447 This option enables support for Silicon Image Serial ATA.
452 tristate "SiS 964/965/966/180 SATA support"
456 This option enables support for SiS Serial ATA on
457 SiS 964/965/966/180 and Parallel ATA on SiS 180.
458 The PATA support for SiS 180 requires additionally to
459 enable the PATA_SIS driver in the config.
463 tristate "ServerWorks Frodo / Apple K2 SATA support"
466 This option enables support for Broadcom/Serverworks/Apple K2
472 tristate "ULi Electronics SATA support"
475 This option enables support for ULi Electronics SATA.
480 tristate "VIA SATA support"
483 This option enables support for VIA Serial ATA.
488 tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
491 This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
495 comment "PATA SFF controllers with BMDMA"
498 tristate "ALi PATA support"
501 This option enables support for the ALi ATA interfaces
502 found on the many ALi chipsets.
507 tristate "AMD/NVidia PATA support"
510 This option enables support for the AMD and NVidia PATA
511 interfaces found on the chipsets for Athlon/Athlon64.
515 config PATA_ARASAN_CF
516 tristate "ARASAN CompactFlash PATA Controller Support"
517 depends on ARCH_SPEAR13XX || COMPILE_TEST
518 depends on DMADEVICES
521 Say Y here to support the ARASAN CompactFlash PATA controller
524 tristate "ARTOP 6210/6260 PATA support"
527 This option enables support for ARTOP PATA controllers.
532 tristate "ATI PATA support"
535 This option enables support for the ATI ATA interfaces
536 found on the many ATI chipsets.
541 tristate "ARTOP/Acard ATP867X PATA support"
544 This option enables support for ARTOP/Acard ATP867X PATA
550 tristate "Palmchip BK3710 PATA support"
551 depends on ARCH_DAVINCI
553 This option enables support for the integrated IDE controller on
559 tristate "CMD64x PATA support"
562 This option enables support for the CMD64x series chips
563 except for the CMD640.
568 tristate "CS5510/5520 PATA support"
569 depends on PCI && (X86_32 || COMPILE_TEST)
571 This option enables support for the Cyrix 5510/5520
572 companion chip used with the MediaGX/Geode processor family.
577 tristate "CS5530 PATA support"
578 depends on PCI && (X86_32 || COMPILE_TEST)
580 This option enables support for the Cyrix/NatSemi/AMD CS5530
581 companion chip used with the MediaGX/Geode processor family.
586 tristate "CS5535 PATA support (Experimental)"
587 depends on PCI && X86_32
589 This option enables support for the NatSemi/AMD CS5535
590 companion chip used with the Geode processor family.
595 tristate "CS5536 PATA support"
596 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
598 This option enables support for the AMD CS5536
599 companion chip used with the Geode LX processor family.
604 tristate "Cypress CY82C693 PATA support (Very Experimental)"
607 This option enables support for the Cypress/Contaq CY82C693
608 chipset found in some Alpha systems
613 tristate "EFAR SLC90E66 support"
616 This option enables support for the EFAR SLC90E66
617 IDE controller found on some older machines.
622 tristate "Cirrus Logic EP93xx PATA support"
623 depends on ARCH_EP93XX
625 This option enables support for the PATA controller in
626 the Cirrus Logic EP9312 and EP9315 ARM CPU.
631 tristate "Faraday Technology FTIDE010 PATA support"
634 depends on SATA_GEMINI
636 This option enables support for the Faraday FTIDE010
637 PATA controller found in the Cortina Gemini SoCs.
642 tristate "HPT 366/368 PATA support"
645 This option enables support for the HPT 366 and 368
646 PATA controllers via the new ATA layer.
651 tristate "HPT 370/370A/371/372/374/302 PATA support"
654 This option enables support for the majority of the later HPT
655 PATA controllers via the new ATA layer.
660 tristate "HPT 371N/372N/302N PATA support"
663 This option enables support for the N variant HPT PATA
664 controllers via the new ATA layer.
669 tristate "HPT 343/363 PATA support"
672 This option enables support for the HPT 343/363
673 PATA controllers via the new ATA layer
677 config PATA_HPT3X3_DMA
678 bool "HPT 343/363 DMA support"
679 depends on PATA_HPT3X3
681 This option enables DMA support for the HPT343/363
682 controllers. Enable with care as there are still some
683 problems with DMA on this chipset.
686 tristate "Acorn ICS PATA support"
687 depends on ARM && ARCH_ACORN
689 On Acorn systems, say Y here if you wish to use the ICS PATA
690 interface card. This is not required for ICS partition support.
691 If you are unsure, say N to this.
694 tristate "PATA support for Freescale iMX"
697 This option enables support for the PATA host available on Freescale
703 tristate "IT8213 PATA support (Experimental)"
706 This option enables support for the ITE 821 PATA
707 controllers via the new ATA layer.
712 tristate "IT8211/2 PATA support"
715 This option enables support for the ITE 8211 and 8212
716 PATA controllers via the new ATA layer, including RAID
722 tristate "JMicron PATA support"
725 Enable support for the JMicron IDE controller, via the new
731 tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
734 Most IDE capable PowerMacs have IDE busses driven by a variant
735 of this controller which is part of the Apple chipset used on
736 most PowerMac models. Some models have multiple busses using
737 different chipsets, though generally, MacIO is one of them.
740 tristate "Marvell PATA support via legacy mode"
743 This option enables limited support for the Marvell 88SE61xx ATA
744 controllers. If you wish to use only the SATA ports then select
745 the AHCI driver alone. If you wish to the use the PATA port or
746 both SATA and PATA include this driver.
751 tristate "Freescale MPC52xx SoC internal IDE"
752 depends on PPC_MPC52xx && PPC_BESTCOMM
753 select PPC_BESTCOMM_ATA
755 This option enables support for integrated IDE controller
756 of the Freescale MPC52xx SoC.
761 tristate "NETCELL Revolution RAID support"
764 This option enables support for the Netcell Revolution RAID
770 tristate "Ninja32/Delkin Cardbus ATA support"
773 This option enables support for the Ninja32, Delkin and
774 possibly other brands of Cardbus ATA adapter
779 tristate "Nat Semi NS87415 PATA support"
782 This option enables support for the National Semiconductor
783 NS87415 PCI-IDE controller.
788 tristate "Intel PATA old PIIX support"
791 This option enables support for early PIIX PATA support.
796 tristate "OPTI FireStar PATA support (Very Experimental)"
799 This option enables DMA/PIO support for the later OPTi
800 controllers found on some old motherboards and in some
806 tristate "Promise PATA 2027x support"
809 This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
814 tristate "Older Promise PATA controller support"
817 This option enables support for the Promise 20246, 20262, 20263,
818 20265 and 20267 adapters.
823 tristate "RADISYS 82600 PATA support (Experimental)"
826 This option enables support for the RADISYS 82600
827 PATA controllers via the new ATA layer
832 tristate "RDC PATA support"
835 This option enables basic support for the later RDC PATA controllers
836 controllers via the new ATA layer. For the RDC 1010, you need to
837 enable the IT821X driver instead.
842 tristate "SC1200 PATA support"
843 depends on PCI && (X86_32 || COMPILE_TEST)
845 This option enables support for the NatSemi/AMD SC1200 SoC
846 companion chip used with the Geode processor family.
851 tristate "Intel SCH PATA support"
854 This option enables support for Intel SCH PATA on the Intel
855 SCH (US15W, US15L, UL11L) series host controllers.
859 config PATA_SERVERWORKS
860 tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
863 This option enables support for the Serverworks OSB4/CSB5/CSB6 and
864 HT1000 PATA controllers, via the new ATA layer.
869 tristate "CMD / Silicon Image 680 PATA support"
872 This option enables support for CMD / Silicon Image 680 PATA.
877 tristate "SiS PATA support"
880 This option enables support for SiS PATA controllers
885 tristate "Toshiba Piccolo support (Experimental)"
888 Support for the Toshiba Piccolo controllers. Currently only the
889 primary channel is supported by this driver.
894 tristate "Compaq Triflex PATA support"
897 Enable support for the Compaq 'Triflex' IDE controller as found
898 on many Compaq Pentium-Pro systems, via the new ATA layer.
903 tristate "VIA PATA support"
906 This option enables support for the VIA PATA interfaces
907 found on the many VIA chipsets.
912 tristate "PXA DMA-capable PATA support"
915 This option enables support for harddrive attached to PXA CPU's bus.
917 NOTE: This driver utilizes PXA DMA controller, in case your hardware
918 is not capable of doing MWDMA, use pata_platform instead.
923 tristate "Winbond SL82C105 PATA support"
926 This option enables support for SL82C105 PATA devices found in the
927 Netwinder and some other systems
933 comment "PIO-only SFF controllers"
935 config PATA_CMD640_PCI
936 tristate "CMD640 PCI PATA support (Experimental)"
939 This option enables support for the CMD640 PCI IDE
940 interface chip. Only the primary channel is currently
946 tristate "Atari Falcon PATA support"
947 depends on M68K && ATARI
949 This option enables support for the on-board IDE
950 interface on the Atari Falcon.
955 tristate "Amiga Gayle PATA support"
956 depends on M68K && AMIGA
958 This option enables support for the on-board IDE
959 interfaces on some Amiga models (A600, A1200,
960 A4000 and A4000T) and also for IDE interfaces on
961 the Zorro expansion bus (M-Tech E-Matrix 530
967 tristate "Buddha/Catweasel/X-Surf PATA support"
970 This option enables support for the IDE interfaces
971 on the Buddha, Catweasel and X-Surf expansion boards
972 on the Zorro expansion bus. It supports up to two
973 interfaces on the Buddha, three on the Catweasel and
979 tristate "ISA Plug and Play PATA support"
982 This option enables support for ISA plug & play ATA
983 controllers such as those found on old soundcards.
987 config PATA_IXP4XX_CF
988 tristate "IXP4XX Compact Flash support"
989 depends on ARCH_IXP4XX
991 This option enables support for a Compact Flash connected on
992 the ixp4xx expansion bus. This driver had been written for
993 Loft/Avila boards in mind but can work with others.
998 tristate "Intel PATA MPIIX support"
1001 This option enables support for MPIIX PATA support.
1006 tristate "Nat Semi NS87410 PATA support"
1009 This option enables support for the National Semiconductor
1010 NS87410 PCI-IDE controller.
1015 tristate "OPTI621/6215 PATA support (Very Experimental)"
1018 This option enables full PIO support for the early Opti ATA
1019 controllers found on some old motherboards.
1024 tristate "Palm LifeDrive PATA support"
1025 depends on MACH_PALMLD
1027 This option enables support for Palm LifeDrive's internal ATA
1028 port via the new ATA layer.
1033 tristate "PCMCIA PATA support"
1036 This option enables support for PCMCIA ATA interfaces, including
1037 compact flash card adapters via the new ATA layer.
1041 config PATA_PLATFORM
1042 tristate "Generic platform device PATA support"
1043 depends on EXPERT || PPC || HAVE_PATA_PLATFORM
1045 This option enables support for generic directly connected ATA
1046 devices commonly found on embedded systems.
1050 config PATA_OF_PLATFORM
1051 tristate "OpenFirmware platform device PATA support"
1052 depends on PATA_PLATFORM && OF
1054 This option enables support for generic directly connected ATA
1055 devices commonly found on embedded systems with OpenFirmware
1061 tristate "QDI VLB PATA support"
1065 Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
1068 tristate "RouterBoard 532 PATA CompactFlash support"
1069 depends on MIKROTIK_RB532
1071 This option enables support for the RouterBoard 532
1072 PATA CompactFlash controller.
1077 tristate "PC Tech RZ1000 PATA support"
1080 This option enables basic support for the PC Tech RZ1000/1
1081 PATA controllers via the new ATA layer
1085 config PATA_SAMSUNG_CF
1086 tristate "Samsung SoC PATA support"
1087 depends on SAMSUNG_DEV_IDE
1089 This option enables basic support for Samsung's S3C/S5P board
1090 PATA controllers via the new ATA layer
1094 config PATA_WINBOND_VLB
1095 tristate "Winbond W83759A VLB PATA support (Experimental)"
1099 Support for the Winbond W83759A controller on Vesa Local Bus
1102 comment "Generic fallback / legacy drivers"
1105 tristate "ACPI firmware driver for PATA"
1106 depends on ATA_ACPI && ATA_BMDMA && PCI
1108 This option enables an ACPI method driver which drives
1109 motherboard PATA controller interfaces through the ACPI
1110 firmware in the BIOS. This driver can sometimes handle
1111 otherwise unsupported hardware.
1114 tristate "Generic ATA support"
1115 depends on PCI && ATA_BMDMA
1117 This option enables support for generic BIOS configured
1118 ATA controllers via the new ATA layer
1123 tristate "Legacy ISA PATA support (Experimental)"
1124 depends on (ISA || PCI)
1126 This option enables support for ISA/VLB/PCI bus legacy PATA
1127 ports and allows them to be accessed via the new ATA layer.