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
38 config ATA_VERBOSE_ERROR
39 bool "Verbose ATA error reporting"
42 This option adds parsing of ATA command descriptions and error bits
43 in libata kernel output, making it easier to interpret.
44 This option will enlarge the kernel by approx. 6KB. Disable it only
45 if kernel size is more important than ease of debugging.
50 bool "ATA ACPI Support"
54 This option adds support for ATA-related ACPI objects.
55 These ACPI objects add the ability to retrieve taskfiles
56 from the ACPI BIOS and write them to the disk controller.
57 These objects may be related to performance, security,
58 power management, or other areas.
59 You can disable this at kernel boot time by using the
60 option libata.noacpi=1
63 bool "SATA Zero Power Optical Disc Drive (ZPODD) support"
64 depends on ATA_ACPI && PM
67 This option adds support for SATA Zero Power Optical Disc
68 Drive (ZPODD). It requires both the ODD and the platform
69 support, and if enabled, will automatically power on/off the
70 ODD when certain condition is satisfied. This does not impact
71 end user's experience of the ODD, only power is saved when
72 the ODD is not in use (i.e. no disc inside).
77 bool "SATA Port Multiplier support"
80 This option adds support for SATA Port Multipliers
81 (the SATA version of an ethernet hub, or SAS expander).
85 comment "Controllers with non-SFF native interface"
88 tristate "AHCI SATA support"
91 This option enables support for AHCI Serial ATA.
95 config SATA_MOBILE_LPM_POLICY
96 int "Default SATA Link Power Management policy for mobile chipsets"
101 Select the Default SATA Link Power Management (LPM) policy to use
102 for mobile / laptop variants of chipsets / "South Bridges".
104 The value set has the following meanings:
105 0 => Keep firmware settings
106 1 => Maximum performance
108 3 => Medium power with Device Initiated PM enabled
111 Note "Minimum power" is known to cause issues, including disk
112 corruption, with some disks and should not be used.
114 config SATA_AHCI_PLATFORM
115 tristate "Platform AHCI SATA support"
117 This option enables support for Platform AHCI Serial ATA
123 tristate "Broadcom AHCI SATA support"
124 depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_NSP
126 This option enables support for the AHCI SATA3 controller found on
132 tristate "DaVinci DA850 AHCI SATA support"
133 depends on ARCH_DAVINCI_DA850
135 This option enables support for the DaVinci DA850 SoC's
141 tristate "DaVinci DM816 AHCI SATA support"
142 depends on ARCH_OMAP2PLUS
144 This option enables support for the DaVinci DM816 SoC's
145 onboard AHCI SATA controller.
150 tristate "ST AHCI SATA support"
153 This option enables support for ST AHCI SATA controller.
158 tristate "Freescale i.MX AHCI SATA support"
159 depends on MFD_SYSCON && (ARCH_MXC || COMPILE_TEST)
160 depends on (HWMON && (THERMAL || !THERMAL_OF)) || !HWMON
162 This option enables support for the Freescale i.MX SoC's
168 tristate "CEVA AHCI SATA support"
171 This option enables support for the CEVA AHCI SATA.
172 It can be found on the Xilinx Zynq UltraScale+ MPSoC.
177 tristate "MediaTek AHCI SATA support"
178 depends on ARCH_MEDIATEK
181 This option enables support for the MediaTek SoC's
182 onboard AHCI SATA controller.
187 tristate "Marvell EBU AHCI SATA support"
188 depends on ARCH_MVEBU
190 This option enables support for the Marvebu EBU SoC's
196 tristate "Cavium Octeon Soc Serial ATA"
197 depends on SATA_AHCI_PLATFORM && CAVIUM_OCTEON_SOC
200 This option enables support for Cavium Octeon SoC Serial ATA.
205 tristate "Allwinner sunxi AHCI SATA support"
206 depends on ARCH_SUNXI
208 This option enables support for the Allwinner sunxi SoC's
214 tristate "NVIDIA Tegra AHCI SATA support"
215 depends on ARCH_TEGRA
217 This option enables support for the NVIDIA Tegra SoC's
223 tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support"
226 This option enables support for APM X-Gene SoC SATA host controller.
229 tristate "Freescale QorIQ AHCI SATA support"
232 This option enables support for the Freescale QorIQ AHCI SoC's
238 tristate "Freescale 3.0Gbps SATA support"
241 This option enables support for Freescale 3.0Gbps SATA controller.
242 It can be found on MPC837x and MPC8315.
247 tristate "Gemini SATA bridge support"
248 depends on ARCH_GEMINI || COMPILE_TEST
251 This enabled support for the FTIDE010 to SATA bridge
252 found in Cortina Systems Gemini platform.
256 config SATA_AHCI_SEATTLE
257 tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support"
258 depends on ARCH_SEATTLE
260 This option enables support for AMD Seattle SATA host controller.
265 tristate "Initio 162x SATA support (Very Experimental)"
268 This option enables support for Initio 162x Serial ATA.
270 config SATA_ACARD_AHCI
271 tristate "ACard AHCI variant (ATP 8620)"
274 This option enables support for Acard.
279 tristate "Silicon Image 3124/3132 SATA support"
282 This option enables support for Silicon Image 3124/3132 Serial ATA.
289 bool "ATA SFF support (for legacy IDE and PATA)"
292 This option adds support for ATA controllers with SFF
293 compliant or similar programming interface.
295 SFF is the legacy IDE interface that has been around since
296 the dawn of time. Almost all PATA controllers have an
297 SFF interface. Many SATA controllers have an SFF interface
298 when configured into a legacy compatibility mode.
300 For users with exclusively modern controllers like AHCI,
301 Silicon Image 3124, or Marvell 6440, you may choose to
302 disable this unneeded SFF support.
308 comment "SFF controllers with custom DMA interface"
311 tristate "Pacific Digital ADMA support"
314 This option enables support for Pacific Digital ADMA controllers
318 config PATA_OCTEON_CF
319 tristate "OCTEON Boot Bus Compact Flash support"
320 depends on CAVIUM_OCTEON_SOC
322 This option enables a polled compact flash driver for use with
323 compact flash cards attached to the OCTEON boot bus.
328 tristate "Pacific Digital SATA QStor support"
331 This option enables support for Pacific Digital Serial ATA QStor.
336 tristate "Promise SATA SX4 support (Experimental)"
339 This option enables support for Promise Serial ATA SX4.
344 bool "ATA BMDMA support"
348 This option adds support for SFF ATA controllers with BMDMA
349 capability. BMDMA stands for bus-master DMA and is the
350 de facto DMA interface for SFF controllers.
356 comment "SATA SFF controllers with BMDMA"
359 tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
362 This option enables support for ICH5/6/7/8 Serial ATA
363 and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
369 tristate "DesignWare Cores SATA support"
370 depends on DMADEVICES
373 This option enables support for the on-chip SATA controller of the
374 AppliedMicro processor 460EX.
378 config SATA_DWC_OLD_DMA
379 bool "Support old device trees"
384 This option enables support for old device trees without the
387 config SATA_DWC_DEBUG
388 bool "Debugging driver version"
391 This option enables debugging output in the driver.
393 config SATA_DWC_VDEBUG
394 bool "Verbose debug output"
395 depends on SATA_DWC_DEBUG
397 This option enables the taskfile dumping and NCQ debugging.
400 tristate "Calxeda Highbank SATA support"
401 depends on ARCH_HIGHBANK || COMPILE_TEST
403 This option enables support for the Calxeda Highbank SoC's
409 tristate "Marvell SATA support"
410 depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \
411 ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST
414 This option enables support for the Marvell Serial ATA family.
415 Currently supports 88SX[56]0[48][01] PCI(-X) chips,
416 as well as the newer [67]042 PCI-X/PCIe and SOC devices.
421 tristate "NVIDIA SATA support"
424 This option enables support for NVIDIA Serial ATA.
429 tristate "Promise SATA TX2/TX4 support"
432 This option enables support for Promise Serial ATA TX2/TX4.
437 tristate "Renesas R-Car SATA support"
438 depends on ARCH_RENESAS || COMPILE_TEST
440 This option enables support for Renesas R-Car Serial ATA.
445 tristate "Silicon Image SATA support"
448 This option enables support for Silicon Image Serial ATA.
453 tristate "SiS 964/965/966/180 SATA support"
457 This option enables support for SiS Serial ATA on
458 SiS 964/965/966/180 and Parallel ATA on SiS 180.
459 The PATA support for SiS 180 requires additionally to
460 enable the PATA_SIS driver in the config.
464 tristate "ServerWorks Frodo / Apple K2 SATA support"
467 This option enables support for Broadcom/Serverworks/Apple K2
473 tristate "ULi Electronics SATA support"
476 This option enables support for ULi Electronics SATA.
481 tristate "VIA SATA support"
484 This option enables support for VIA Serial ATA.
489 tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
492 This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
496 comment "PATA SFF controllers with BMDMA"
499 tristate "ALi PATA support"
502 This option enables support for the ALi ATA interfaces
503 found on the many ALi chipsets.
508 tristate "AMD/NVidia PATA support"
511 This option enables support for the AMD and NVidia PATA
512 interfaces found on the chipsets for Athlon/Athlon64.
516 config PATA_ARASAN_CF
517 tristate "ARASAN CompactFlash PATA Controller Support"
518 depends on ARCH_SPEAR13XX || COMPILE_TEST
519 depends on DMADEVICES
522 Say Y here to support the ARASAN CompactFlash PATA controller
525 tristate "ARTOP 6210/6260 PATA support"
528 This option enables support for ARTOP PATA controllers.
533 tristate "ATI PATA support"
536 This option enables support for the ATI ATA interfaces
537 found on the many ATI chipsets.
542 tristate "ARTOP/Acard ATP867X PATA support"
545 This option enables support for ARTOP/Acard ATP867X PATA
551 tristate "Palmchip BK3710 PATA support"
552 depends on ARCH_DAVINCI
554 This option enables support for the integrated IDE controller on
560 tristate "CMD64x PATA support"
563 This option enables support for the CMD64x series chips
564 except for the CMD640.
569 tristate "CS5510/5520 PATA support"
570 depends on PCI && (X86_32 || COMPILE_TEST)
572 This option enables support for the Cyrix 5510/5520
573 companion chip used with the MediaGX/Geode processor family.
578 tristate "CS5530 PATA support"
579 depends on PCI && (X86_32 || COMPILE_TEST)
581 This option enables support for the Cyrix/NatSemi/AMD CS5530
582 companion chip used with the MediaGX/Geode processor family.
587 tristate "CS5535 PATA support (Experimental)"
588 depends on PCI && X86_32
590 This option enables support for the NatSemi/AMD CS5535
591 companion chip used with the Geode processor family.
596 tristate "CS5536 PATA support"
597 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
599 This option enables support for the AMD CS5536
600 companion chip used with the Geode LX processor family.
605 tristate "Cypress CY82C693 PATA support (Very Experimental)"
608 This option enables support for the Cypress/Contaq CY82C693
609 chipset found in some Alpha systems
614 tristate "EFAR SLC90E66 support"
617 This option enables support for the EFAR SLC90E66
618 IDE controller found on some older machines.
623 tristate "Cirrus Logic EP93xx PATA support"
624 depends on ARCH_EP93XX
626 This option enables support for the PATA controller in
627 the Cirrus Logic EP9312 and EP9315 ARM CPU.
632 tristate "Faraday Technology FTIDE010 PATA support"
635 depends on SATA_GEMINI
637 This option enables support for the Faraday FTIDE010
638 PATA controller found in the Cortina Gemini SoCs.
643 tristate "HPT 366/368 PATA support"
646 This option enables support for the HPT 366 and 368
647 PATA controllers via the new ATA layer.
652 tristate "HPT 370/370A/371/372/374/302 PATA support"
655 This option enables support for the majority of the later HPT
656 PATA controllers via the new ATA layer.
661 tristate "HPT 371N/372N/302N PATA support"
664 This option enables support for the N variant HPT PATA
665 controllers via the new ATA layer.
670 tristate "HPT 343/363 PATA support"
673 This option enables support for the HPT 343/363
674 PATA controllers via the new ATA layer
678 config PATA_HPT3X3_DMA
679 bool "HPT 343/363 DMA support"
680 depends on PATA_HPT3X3
682 This option enables DMA support for the HPT343/363
683 controllers. Enable with care as there are still some
684 problems with DMA on this chipset.
687 tristate "Acorn ICS PATA support"
688 depends on ARM && ARCH_ACORN
690 On Acorn systems, say Y here if you wish to use the ICS PATA
691 interface card. This is not required for ICS partition support.
692 If you are unsure, say N to this.
695 tristate "PATA support for Freescale iMX"
698 This option enables support for the PATA host available on Freescale
704 tristate "IT8213 PATA support (Experimental)"
707 This option enables support for the ITE 821 PATA
708 controllers via the new ATA layer.
713 tristate "IT8211/2 PATA support"
716 This option enables support for the ITE 8211 and 8212
717 PATA controllers via the new ATA layer, including RAID
723 tristate "JMicron PATA support"
726 Enable support for the JMicron IDE controller, via the new
732 tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
735 Most IDE capable PowerMacs have IDE busses driven by a variant
736 of this controller which is part of the Apple chipset used on
737 most PowerMac models. Some models have multiple busses using
738 different chipsets, though generally, MacIO is one of them.
741 tristate "Marvell PATA support via legacy mode"
744 This option enables limited support for the Marvell 88SE61xx ATA
745 controllers. If you wish to use only the SATA ports then select
746 the AHCI driver alone. If you wish to the use the PATA port or
747 both SATA and PATA include this driver.
752 tristate "Freescale MPC52xx SoC internal IDE"
753 depends on PPC_MPC52xx && PPC_BESTCOMM
754 select PPC_BESTCOMM_ATA
756 This option enables support for integrated IDE controller
757 of the Freescale MPC52xx SoC.
762 tristate "NETCELL Revolution RAID support"
765 This option enables support for the Netcell Revolution RAID
771 tristate "Ninja32/Delkin Cardbus ATA support"
774 This option enables support for the Ninja32, Delkin and
775 possibly other brands of Cardbus ATA adapter
780 tristate "Nat Semi NS87415 PATA support"
783 This option enables support for the National Semiconductor
784 NS87415 PCI-IDE controller.
789 tristate "Intel PATA old PIIX support"
792 This option enables support for early PIIX PATA support.
797 tristate "OPTI FireStar PATA support (Very Experimental)"
800 This option enables DMA/PIO support for the later OPTi
801 controllers found on some old motherboards and in some
807 tristate "Promise PATA 2027x support"
810 This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
815 tristate "Older Promise PATA controller support"
818 This option enables support for the Promise 20246, 20262, 20263,
819 20265 and 20267 adapters.
824 tristate "RADISYS 82600 PATA support (Experimental)"
827 This option enables support for the RADISYS 82600
828 PATA controllers via the new ATA layer
833 tristate "RDC PATA support"
836 This option enables basic support for the later RDC PATA controllers
837 controllers via the new ATA layer. For the RDC 1010, you need to
838 enable the IT821X driver instead.
843 tristate "SC1200 PATA support"
844 depends on PCI && (X86_32 || COMPILE_TEST)
846 This option enables support for the NatSemi/AMD SC1200 SoC
847 companion chip used with the Geode processor family.
852 tristate "Intel SCH PATA support"
855 This option enables support for Intel SCH PATA on the Intel
856 SCH (US15W, US15L, UL11L) series host controllers.
860 config PATA_SERVERWORKS
861 tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
864 This option enables support for the Serverworks OSB4/CSB5/CSB6 and
865 HT1000 PATA controllers, via the new ATA layer.
870 tristate "CMD / Silicon Image 680 PATA support"
873 This option enables support for CMD / Silicon Image 680 PATA.
878 tristate "SiS PATA support"
881 This option enables support for SiS PATA controllers
886 tristate "Toshiba Piccolo support (Experimental)"
889 Support for the Toshiba Piccolo controllers. Currently only the
890 primary channel is supported by this driver.
895 tristate "Compaq Triflex PATA support"
898 Enable support for the Compaq 'Triflex' IDE controller as found
899 on many Compaq Pentium-Pro systems, via the new ATA layer.
904 tristate "VIA PATA support"
907 This option enables support for the VIA PATA interfaces
908 found on the many VIA chipsets.
913 tristate "PXA DMA-capable PATA support"
916 This option enables support for harddrive attached to PXA CPU's bus.
918 NOTE: This driver utilizes PXA DMA controller, in case your hardware
919 is not capable of doing MWDMA, use pata_platform instead.
924 tristate "Winbond SL82C105 PATA support"
927 This option enables support for SL82C105 PATA devices found in the
928 Netwinder and some other systems
934 comment "PIO-only SFF controllers"
936 config PATA_CMD640_PCI
937 tristate "CMD640 PCI PATA support (Experimental)"
940 This option enables support for the CMD640 PCI IDE
941 interface chip. Only the primary channel is currently
947 tristate "Atari Falcon PATA support"
948 depends on M68K && ATARI
950 This option enables support for the on-board IDE
951 interface on the Atari Falcon.
956 tristate "Amiga Gayle PATA support"
957 depends on M68K && AMIGA
959 This option enables support for the on-board IDE
960 interfaces on some Amiga models (A600, A1200,
961 A4000 and A4000T) and also for IDE interfaces on
962 the Zorro expansion bus (M-Tech E-Matrix 530
968 tristate "ISA Plug and Play PATA support"
971 This option enables support for ISA plug & play ATA
972 controllers such as those found on old soundcards.
976 config PATA_IXP4XX_CF
977 tristate "IXP4XX Compact Flash support"
978 depends on ARCH_IXP4XX
980 This option enables support for a Compact Flash connected on
981 the ixp4xx expansion bus. This driver had been written for
982 Loft/Avila boards in mind but can work with others.
987 tristate "Intel PATA MPIIX support"
990 This option enables support for MPIIX PATA support.
995 tristate "Nat Semi NS87410 PATA support"
998 This option enables support for the National Semiconductor
999 NS87410 PCI-IDE controller.
1004 tristate "OPTI621/6215 PATA support (Very Experimental)"
1007 This option enables full PIO support for the early Opti ATA
1008 controllers found on some old motherboards.
1013 tristate "Palm LifeDrive PATA support"
1014 depends on MACH_PALMLD
1016 This option enables support for Palm LifeDrive's internal ATA
1017 port via the new ATA layer.
1022 tristate "PCMCIA PATA support"
1025 This option enables support for PCMCIA ATA interfaces, including
1026 compact flash card adapters via the new ATA layer.
1030 config PATA_PLATFORM
1031 tristate "Generic platform device PATA support"
1032 depends on EXPERT || PPC || HAVE_PATA_PLATFORM
1034 This option enables support for generic directly connected ATA
1035 devices commonly found on embedded systems.
1039 config PATA_OF_PLATFORM
1040 tristate "OpenFirmware platform device PATA support"
1041 depends on PATA_PLATFORM && OF
1043 This option enables support for generic directly connected ATA
1044 devices commonly found on embedded systems with OpenFirmware
1050 tristate "QDI VLB PATA support"
1054 Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
1057 tristate "RouterBoard 532 PATA CompactFlash support"
1058 depends on MIKROTIK_RB532
1060 This option enables support for the RouterBoard 532
1061 PATA CompactFlash controller.
1066 tristate "PC Tech RZ1000 PATA support"
1069 This option enables basic support for the PC Tech RZ1000/1
1070 PATA controllers via the new ATA layer
1074 config PATA_SAMSUNG_CF
1075 tristate "Samsung SoC PATA support"
1076 depends on SAMSUNG_DEV_IDE
1078 This option enables basic support for Samsung's S3C/S5P board
1079 PATA controllers via the new ATA layer
1083 config PATA_WINBOND_VLB
1084 tristate "Winbond W83759A VLB PATA support (Experimental)"
1088 Support for the Winbond W83759A controller on Vesa Local Bus
1091 comment "Generic fallback / legacy drivers"
1094 tristate "ACPI firmware driver for PATA"
1095 depends on ATA_ACPI && ATA_BMDMA
1097 This option enables an ACPI method driver which drives
1098 motherboard PATA controller interfaces through the ACPI
1099 firmware in the BIOS. This driver can sometimes handle
1100 otherwise unsupported hardware.
1103 tristate "Generic ATA support"
1104 depends on PCI && ATA_BMDMA
1106 This option enables support for generic BIOS configured
1107 ATA controllers via the new ATA layer
1112 tristate "Legacy ISA PATA support (Experimental)"
1113 depends on (ISA || PCI)
1115 This option enables support for ISA/VLB/PCI bus legacy PATA
1116 ports and allows them to be accessed via the new ATA layer.