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 || \
127 This option enables support for the AHCI SATA3 controller found on
133 tristate "DaVinci DA850 AHCI SATA support"
134 depends on ARCH_DAVINCI_DA850
136 This option enables support for the DaVinci DA850 SoC's
142 tristate "DaVinci DM816 AHCI SATA support"
143 depends on ARCH_OMAP2PLUS
145 This option enables support for the DaVinci DM816 SoC's
146 onboard AHCI SATA controller.
151 tristate "ST AHCI SATA support"
154 This option enables support for ST AHCI SATA controller.
159 tristate "Freescale i.MX AHCI SATA support"
160 depends on MFD_SYSCON && (ARCH_MXC || COMPILE_TEST)
161 depends on (HWMON && (THERMAL || !THERMAL_OF)) || !HWMON
163 This option enables support for the Freescale i.MX SoC's
169 tristate "CEVA AHCI SATA support"
172 This option enables support for the CEVA AHCI SATA.
173 It can be found on the Xilinx Zynq UltraScale+ MPSoC.
178 tristate "MediaTek AHCI SATA support"
179 depends on ARCH_MEDIATEK
182 This option enables support for the MediaTek SoC's
183 onboard AHCI SATA controller.
188 tristate "Marvell EBU AHCI SATA support"
189 depends on ARCH_MVEBU
191 This option enables support for the Marvebu EBU SoC's
197 tristate "Cavium Octeon Soc Serial ATA"
198 depends on SATA_AHCI_PLATFORM && CAVIUM_OCTEON_SOC
201 This option enables support for Cavium Octeon SoC Serial ATA.
206 tristate "Allwinner sunxi AHCI SATA support"
207 depends on ARCH_SUNXI
209 This option enables support for the Allwinner sunxi SoC's
215 tristate "NVIDIA Tegra AHCI SATA support"
216 depends on ARCH_TEGRA
218 This option enables support for the NVIDIA Tegra SoC's
224 tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support"
227 This option enables support for APM X-Gene SoC SATA host controller.
230 tristate "Freescale QorIQ AHCI SATA support"
233 This option enables support for the Freescale QorIQ AHCI SoC's
239 tristate "Freescale 3.0Gbps SATA support"
242 This option enables support for Freescale 3.0Gbps SATA controller.
243 It can be found on MPC837x and MPC8315.
248 tristate "Gemini SATA bridge support"
249 depends on ARCH_GEMINI || COMPILE_TEST
252 This enabled support for the FTIDE010 to SATA bridge
253 found in Cortina Systems Gemini platform.
257 config SATA_AHCI_SEATTLE
258 tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support"
259 depends on ARCH_SEATTLE
261 This option enables support for AMD Seattle SATA host controller.
266 tristate "Initio 162x SATA support (Very Experimental)"
269 This option enables support for Initio 162x Serial ATA.
271 config SATA_ACARD_AHCI
272 tristate "ACard AHCI variant (ATP 8620)"
275 This option enables support for Acard.
280 tristate "Silicon Image 3124/3132 SATA support"
283 This option enables support for Silicon Image 3124/3132 Serial ATA.
290 bool "ATA SFF support (for legacy IDE and PATA)"
293 This option adds support for ATA controllers with SFF
294 compliant or similar programming interface.
296 SFF is the legacy IDE interface that has been around since
297 the dawn of time. Almost all PATA controllers have an
298 SFF interface. Many SATA controllers have an SFF interface
299 when configured into a legacy compatibility mode.
301 For users with exclusively modern controllers like AHCI,
302 Silicon Image 3124, or Marvell 6440, you may choose to
303 disable this unneeded SFF support.
309 comment "SFF controllers with custom DMA interface"
312 tristate "Pacific Digital ADMA support"
315 This option enables support for Pacific Digital ADMA controllers
319 config PATA_OCTEON_CF
320 tristate "OCTEON Boot Bus Compact Flash support"
321 depends on CAVIUM_OCTEON_SOC
323 This option enables a polled compact flash driver for use with
324 compact flash cards attached to the OCTEON boot bus.
329 tristate "Pacific Digital SATA QStor support"
332 This option enables support for Pacific Digital Serial ATA QStor.
337 tristate "Promise SATA SX4 support (Experimental)"
340 This option enables support for Promise Serial ATA SX4.
345 bool "ATA BMDMA support"
349 This option adds support for SFF ATA controllers with BMDMA
350 capability. BMDMA stands for bus-master DMA and is the
351 de facto DMA interface for SFF controllers.
357 comment "SATA SFF controllers with BMDMA"
360 tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
363 This option enables support for ICH5/6/7/8 Serial ATA
364 and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
370 tristate "DesignWare Cores SATA support"
371 depends on DMADEVICES
374 This option enables support for the on-chip SATA controller of the
375 AppliedMicro processor 460EX.
379 config SATA_DWC_OLD_DMA
380 bool "Support old device trees"
385 This option enables support for old device trees without the
388 config SATA_DWC_DEBUG
389 bool "Debugging driver version"
392 This option enables debugging output in the driver.
394 config SATA_DWC_VDEBUG
395 bool "Verbose debug output"
396 depends on SATA_DWC_DEBUG
398 This option enables the taskfile dumping and NCQ debugging.
401 tristate "Calxeda Highbank SATA support"
402 depends on ARCH_HIGHBANK || COMPILE_TEST
404 This option enables support for the Calxeda Highbank SoC's
410 tristate "Marvell SATA support"
411 depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \
412 ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST
415 This option enables support for the Marvell Serial ATA family.
416 Currently supports 88SX[56]0[48][01] PCI(-X) chips,
417 as well as the newer [67]042 PCI-X/PCIe and SOC devices.
422 tristate "NVIDIA SATA support"
425 This option enables support for NVIDIA Serial ATA.
430 tristate "Promise SATA TX2/TX4 support"
433 This option enables support for Promise Serial ATA TX2/TX4.
438 tristate "Renesas R-Car SATA support"
439 depends on ARCH_RENESAS || COMPILE_TEST
441 This option enables support for Renesas R-Car Serial ATA.
446 tristate "Silicon Image SATA support"
449 This option enables support for Silicon Image Serial ATA.
454 tristate "SiS 964/965/966/180 SATA support"
458 This option enables support for SiS Serial ATA on
459 SiS 964/965/966/180 and Parallel ATA on SiS 180.
460 The PATA support for SiS 180 requires additionally to
461 enable the PATA_SIS driver in the config.
465 tristate "ServerWorks Frodo / Apple K2 SATA support"
468 This option enables support for Broadcom/Serverworks/Apple K2
474 tristate "ULi Electronics SATA support"
477 This option enables support for ULi Electronics SATA.
482 tristate "VIA SATA support"
485 This option enables support for VIA Serial ATA.
490 tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
493 This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
497 comment "PATA SFF controllers with BMDMA"
500 tristate "ALi PATA support"
503 This option enables support for the ALi ATA interfaces
504 found on the many ALi chipsets.
509 tristate "AMD/NVidia PATA support"
512 This option enables support for the AMD and NVidia PATA
513 interfaces found on the chipsets for Athlon/Athlon64.
517 config PATA_ARASAN_CF
518 tristate "ARASAN CompactFlash PATA Controller Support"
519 depends on ARCH_SPEAR13XX || COMPILE_TEST
520 depends on DMADEVICES
523 Say Y here to support the ARASAN CompactFlash PATA controller
526 tristate "ARTOP 6210/6260 PATA support"
529 This option enables support for ARTOP PATA controllers.
534 tristate "ATI PATA support"
537 This option enables support for the ATI ATA interfaces
538 found on the many ATI chipsets.
543 tristate "ARTOP/Acard ATP867X PATA support"
546 This option enables support for ARTOP/Acard ATP867X PATA
552 tristate "Palmchip BK3710 PATA support"
553 depends on ARCH_DAVINCI
555 This option enables support for the integrated IDE controller on
561 tristate "CMD64x PATA support"
564 This option enables support for the CMD64x series chips
565 except for the CMD640.
570 tristate "CS5510/5520 PATA support"
571 depends on PCI && (X86_32 || COMPILE_TEST)
573 This option enables support for the Cyrix 5510/5520
574 companion chip used with the MediaGX/Geode processor family.
579 tristate "CS5530 PATA support"
580 depends on PCI && (X86_32 || COMPILE_TEST)
582 This option enables support for the Cyrix/NatSemi/AMD CS5530
583 companion chip used with the MediaGX/Geode processor family.
588 tristate "CS5535 PATA support (Experimental)"
589 depends on PCI && X86_32
591 This option enables support for the NatSemi/AMD CS5535
592 companion chip used with the Geode processor family.
597 tristate "CS5536 PATA support"
598 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
600 This option enables support for the AMD CS5536
601 companion chip used with the Geode LX processor family.
606 tristate "Cypress CY82C693 PATA support (Very Experimental)"
609 This option enables support for the Cypress/Contaq CY82C693
610 chipset found in some Alpha systems
615 tristate "EFAR SLC90E66 support"
618 This option enables support for the EFAR SLC90E66
619 IDE controller found on some older machines.
624 tristate "Cirrus Logic EP93xx PATA support"
625 depends on ARCH_EP93XX
627 This option enables support for the PATA controller in
628 the Cirrus Logic EP9312 and EP9315 ARM CPU.
633 tristate "Faraday Technology FTIDE010 PATA support"
636 depends on SATA_GEMINI
638 This option enables support for the Faraday FTIDE010
639 PATA controller found in the Cortina Gemini SoCs.
644 tristate "HPT 366/368 PATA support"
647 This option enables support for the HPT 366 and 368
648 PATA controllers via the new ATA layer.
653 tristate "HPT 370/370A/371/372/374/302 PATA support"
656 This option enables support for the majority of the later HPT
657 PATA controllers via the new ATA layer.
662 tristate "HPT 371N/372N/302N PATA support"
665 This option enables support for the N variant HPT PATA
666 controllers via the new ATA layer.
671 tristate "HPT 343/363 PATA support"
674 This option enables support for the HPT 343/363
675 PATA controllers via the new ATA layer
679 config PATA_HPT3X3_DMA
680 bool "HPT 343/363 DMA support"
681 depends on PATA_HPT3X3
683 This option enables DMA support for the HPT343/363
684 controllers. Enable with care as there are still some
685 problems with DMA on this chipset.
688 tristate "Acorn ICS PATA support"
689 depends on ARM && ARCH_ACORN
691 On Acorn systems, say Y here if you wish to use the ICS PATA
692 interface card. This is not required for ICS partition support.
693 If you are unsure, say N to this.
696 tristate "PATA support for Freescale iMX"
699 This option enables support for the PATA host available on Freescale
705 tristate "IT8213 PATA support (Experimental)"
708 This option enables support for the ITE 821 PATA
709 controllers via the new ATA layer.
714 tristate "IT8211/2 PATA support"
717 This option enables support for the ITE 8211 and 8212
718 PATA controllers via the new ATA layer, including RAID
724 tristate "JMicron PATA support"
727 Enable support for the JMicron IDE controller, via the new
733 tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
736 Most IDE capable PowerMacs have IDE busses driven by a variant
737 of this controller which is part of the Apple chipset used on
738 most PowerMac models. Some models have multiple busses using
739 different chipsets, though generally, MacIO is one of them.
742 tristate "Marvell PATA support via legacy mode"
745 This option enables limited support for the Marvell 88SE61xx ATA
746 controllers. If you wish to use only the SATA ports then select
747 the AHCI driver alone. If you wish to the use the PATA port or
748 both SATA and PATA include this driver.
753 tristate "Freescale MPC52xx SoC internal IDE"
754 depends on PPC_MPC52xx && PPC_BESTCOMM
755 select PPC_BESTCOMM_ATA
757 This option enables support for integrated IDE controller
758 of the Freescale MPC52xx SoC.
763 tristate "NETCELL Revolution RAID support"
766 This option enables support for the Netcell Revolution RAID
772 tristate "Ninja32/Delkin Cardbus ATA support"
775 This option enables support for the Ninja32, Delkin and
776 possibly other brands of Cardbus ATA adapter
781 tristate "Nat Semi NS87415 PATA support"
784 This option enables support for the National Semiconductor
785 NS87415 PCI-IDE controller.
790 tristate "Intel PATA old PIIX support"
793 This option enables support for early PIIX PATA support.
798 tristate "OPTI FireStar PATA support (Very Experimental)"
801 This option enables DMA/PIO support for the later OPTi
802 controllers found on some old motherboards and in some
808 tristate "Promise PATA 2027x support"
811 This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
816 tristate "Older Promise PATA controller support"
819 This option enables support for the Promise 20246, 20262, 20263,
820 20265 and 20267 adapters.
825 tristate "RADISYS 82600 PATA support (Experimental)"
828 This option enables support for the RADISYS 82600
829 PATA controllers via the new ATA layer
834 tristate "RDC PATA support"
837 This option enables basic support for the later RDC PATA controllers
838 controllers via the new ATA layer. For the RDC 1010, you need to
839 enable the IT821X driver instead.
844 tristate "SC1200 PATA support"
845 depends on PCI && (X86_32 || COMPILE_TEST)
847 This option enables support for the NatSemi/AMD SC1200 SoC
848 companion chip used with the Geode processor family.
853 tristate "Intel SCH PATA support"
856 This option enables support for Intel SCH PATA on the Intel
857 SCH (US15W, US15L, UL11L) series host controllers.
861 config PATA_SERVERWORKS
862 tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
865 This option enables support for the Serverworks OSB4/CSB5/CSB6 and
866 HT1000 PATA controllers, via the new ATA layer.
871 tristate "CMD / Silicon Image 680 PATA support"
874 This option enables support for CMD / Silicon Image 680 PATA.
879 tristate "SiS PATA support"
882 This option enables support for SiS PATA controllers
887 tristate "Toshiba Piccolo support (Experimental)"
890 Support for the Toshiba Piccolo controllers. Currently only the
891 primary channel is supported by this driver.
896 tristate "Compaq Triflex PATA support"
899 Enable support for the Compaq 'Triflex' IDE controller as found
900 on many Compaq Pentium-Pro systems, via the new ATA layer.
905 tristate "VIA PATA support"
908 This option enables support for the VIA PATA interfaces
909 found on the many VIA chipsets.
914 tristate "PXA DMA-capable PATA support"
917 This option enables support for harddrive attached to PXA CPU's bus.
919 NOTE: This driver utilizes PXA DMA controller, in case your hardware
920 is not capable of doing MWDMA, use pata_platform instead.
925 tristate "Winbond SL82C105 PATA support"
928 This option enables support for SL82C105 PATA devices found in the
929 Netwinder and some other systems
935 comment "PIO-only SFF controllers"
937 config PATA_CMD640_PCI
938 tristate "CMD640 PCI PATA support (Experimental)"
941 This option enables support for the CMD640 PCI IDE
942 interface chip. Only the primary channel is currently
948 tristate "Atari Falcon PATA support"
949 depends on M68K && ATARI
951 This option enables support for the on-board IDE
952 interface on the Atari Falcon.
957 tristate "Amiga Gayle PATA support"
958 depends on M68K && AMIGA
960 This option enables support for the on-board IDE
961 interfaces on some Amiga models (A600, A1200,
962 A4000 and A4000T) and also for IDE interfaces on
963 the Zorro expansion bus (M-Tech E-Matrix 530
969 tristate "ISA Plug and Play PATA support"
972 This option enables support for ISA plug & play ATA
973 controllers such as those found on old soundcards.
977 config PATA_IXP4XX_CF
978 tristate "IXP4XX Compact Flash support"
979 depends on ARCH_IXP4XX
981 This option enables support for a Compact Flash connected on
982 the ixp4xx expansion bus. This driver had been written for
983 Loft/Avila boards in mind but can work with others.
988 tristate "Intel PATA MPIIX support"
991 This option enables support for MPIIX PATA support.
996 tristate "Nat Semi NS87410 PATA support"
999 This option enables support for the National Semiconductor
1000 NS87410 PCI-IDE controller.
1005 tristate "OPTI621/6215 PATA support (Very Experimental)"
1008 This option enables full PIO support for the early Opti ATA
1009 controllers found on some old motherboards.
1014 tristate "Palm LifeDrive PATA support"
1015 depends on MACH_PALMLD
1017 This option enables support for Palm LifeDrive's internal ATA
1018 port via the new ATA layer.
1023 tristate "PCMCIA PATA support"
1026 This option enables support for PCMCIA ATA interfaces, including
1027 compact flash card adapters via the new ATA layer.
1031 config PATA_PLATFORM
1032 tristate "Generic platform device PATA support"
1033 depends on EXPERT || PPC || HAVE_PATA_PLATFORM
1035 This option enables support for generic directly connected ATA
1036 devices commonly found on embedded systems.
1040 config PATA_OF_PLATFORM
1041 tristate "OpenFirmware platform device PATA support"
1042 depends on PATA_PLATFORM && OF
1044 This option enables support for generic directly connected ATA
1045 devices commonly found on embedded systems with OpenFirmware
1051 tristate "QDI VLB PATA support"
1055 Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
1058 tristate "RouterBoard 532 PATA CompactFlash support"
1059 depends on MIKROTIK_RB532
1061 This option enables support for the RouterBoard 532
1062 PATA CompactFlash controller.
1067 tristate "PC Tech RZ1000 PATA support"
1070 This option enables basic support for the PC Tech RZ1000/1
1071 PATA controllers via the new ATA layer
1075 config PATA_SAMSUNG_CF
1076 tristate "Samsung SoC PATA support"
1077 depends on SAMSUNG_DEV_IDE
1079 This option enables basic support for Samsung's S3C/S5P board
1080 PATA controllers via the new ATA layer
1084 config PATA_WINBOND_VLB
1085 tristate "Winbond W83759A VLB PATA support (Experimental)"
1089 Support for the Winbond W83759A controller on Vesa Local Bus
1092 comment "Generic fallback / legacy drivers"
1095 tristate "ACPI firmware driver for PATA"
1096 depends on ATA_ACPI && ATA_BMDMA
1098 This option enables an ACPI method driver which drives
1099 motherboard PATA controller interfaces through the ACPI
1100 firmware in the BIOS. This driver can sometimes handle
1101 otherwise unsupported hardware.
1104 tristate "Generic ATA support"
1105 depends on PCI && ATA_BMDMA
1107 This option enables support for generic BIOS configured
1108 ATA controllers via the new ATA layer
1113 tristate "Legacy ISA PATA support (Experimental)"
1114 depends on (ISA || PCI)
1116 This option enables support for ISA/VLB/PCI bus legacy PATA
1117 ports and allows them to be accessed via the new ATA layer.