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_AHCI_PLATFORM
96 tristate "Platform AHCI SATA support"
98 This option enables support for Platform AHCI Serial ATA
104 tristate "Broadcom AHCI SATA support"
105 depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_NSP || \
108 This option enables support for the AHCI SATA3 controller found on
114 tristate "DaVinci DA850 AHCI SATA support"
115 depends on ARCH_DAVINCI_DA850
117 This option enables support for the DaVinci DA850 SoC's
123 tristate "DaVinci DM816 AHCI SATA support"
124 depends on ARCH_OMAP2PLUS
126 This option enables support for the DaVinci DM816 SoC's
127 onboard AHCI SATA controller.
132 tristate "ST AHCI SATA support"
135 This option enables support for ST AHCI SATA controller.
140 tristate "Freescale i.MX AHCI SATA support"
141 depends on MFD_SYSCON && (ARCH_MXC || COMPILE_TEST)
142 depends on (HWMON && (THERMAL || !THERMAL_OF)) || !HWMON
144 This option enables support for the Freescale i.MX SoC's
150 tristate "CEVA AHCI SATA support"
153 This option enables support for the CEVA AHCI SATA.
154 It can be found on the Xilinx Zynq UltraScale+ MPSoC.
159 tristate "MediaTek AHCI SATA support"
160 depends on ARCH_MEDIATEK
163 This option enables support for the MediaTek SoC's
164 onboard AHCI SATA controller.
169 tristate "Marvell EBU AHCI SATA support"
170 depends on ARCH_MVEBU
172 This option enables support for the Marvebu EBU SoC's
178 tristate "Cavium Octeon Soc Serial ATA"
179 depends on SATA_AHCI_PLATFORM && CAVIUM_OCTEON_SOC
182 This option enables support for Cavium Octeon SoC Serial ATA.
187 tristate "Allwinner sunxi AHCI SATA support"
188 depends on ARCH_SUNXI
190 This option enables support for the Allwinner sunxi SoC's
196 tristate "NVIDIA Tegra124 AHCI SATA support"
197 depends on ARCH_TEGRA
199 This option enables support for the NVIDIA Tegra124 SoC's
205 tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support"
208 This option enables support for APM X-Gene SoC SATA host controller.
211 tristate "Freescale QorIQ AHCI SATA support"
214 This option enables support for the Freescale QorIQ AHCI SoC's
220 tristate "Freescale 3.0Gbps SATA support"
223 This option enables support for Freescale 3.0Gbps SATA controller.
224 It can be found on MPC837x and MPC8315.
229 tristate "Gemini SATA bridge support"
230 depends on ARCH_GEMINI || COMPILE_TEST
233 This enabled support for the FTIDE010 to SATA bridge
234 found in Cortina Systems Gemini platform.
238 config SATA_AHCI_SEATTLE
239 tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support"
240 depends on ARCH_SEATTLE
242 This option enables support for AMD Seattle SATA host controller.
247 tristate "Initio 162x SATA support (Very Experimental)"
250 This option enables support for Initio 162x Serial ATA.
252 config SATA_ACARD_AHCI
253 tristate "ACard AHCI variant (ATP 8620)"
256 This option enables support for Acard.
261 tristate "Silicon Image 3124/3132 SATA support"
264 This option enables support for Silicon Image 3124/3132 Serial ATA.
271 bool "ATA SFF support (for legacy IDE and PATA)"
274 This option adds support for ATA controllers with SFF
275 compliant or similar programming interface.
277 SFF is the legacy IDE interface that has been around since
278 the dawn of time. Almost all PATA controllers have an
279 SFF interface. Many SATA controllers have an SFF interface
280 when configured into a legacy compatibility mode.
282 For users with exclusively modern controllers like AHCI,
283 Silicon Image 3124, or Marvell 6440, you may choose to
284 disable this unneeded SFF support.
290 comment "SFF controllers with custom DMA interface"
293 tristate "Pacific Digital ADMA support"
296 This option enables support for Pacific Digital ADMA controllers
300 config PATA_OCTEON_CF
301 tristate "OCTEON Boot Bus Compact Flash support"
302 depends on CAVIUM_OCTEON_SOC
304 This option enables a polled compact flash driver for use with
305 compact flash cards attached to the OCTEON boot bus.
310 tristate "Pacific Digital SATA QStor support"
313 This option enables support for Pacific Digital Serial ATA QStor.
318 tristate "Promise SATA SX4 support (Experimental)"
321 This option enables support for Promise Serial ATA SX4.
326 bool "ATA BMDMA support"
330 This option adds support for SFF ATA controllers with BMDMA
331 capability. BMDMA stands for bus-master DMA and is the
332 de facto DMA interface for SFF controllers.
338 comment "SATA SFF controllers with BMDMA"
341 tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
344 This option enables support for ICH5/6/7/8 Serial ATA
345 and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
351 tristate "DesignWare Cores SATA support"
352 depends on DMADEVICES
355 This option enables support for the on-chip SATA controller of the
356 AppliedMicro processor 460EX.
360 config SATA_DWC_OLD_DMA
361 bool "Support old device trees"
366 This option enables support for old device trees without the
369 config SATA_DWC_DEBUG
370 bool "Debugging driver version"
373 This option enables debugging output in the driver.
375 config SATA_DWC_VDEBUG
376 bool "Verbose debug output"
377 depends on SATA_DWC_DEBUG
379 This option enables the taskfile dumping and NCQ debugging.
382 tristate "Calxeda Highbank SATA support"
384 depends on ARCH_HIGHBANK || COMPILE_TEST
386 This option enables support for the Calxeda Highbank SoC's
392 tristate "Marvell SATA support"
394 depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \
395 ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST
398 This option enables support for the Marvell Serial ATA family.
399 Currently supports 88SX[56]0[48][01] PCI(-X) chips,
400 as well as the newer [67]042 PCI-X/PCIe and SOC devices.
405 tristate "NVIDIA SATA support"
408 This option enables support for NVIDIA Serial ATA.
413 tristate "Promise SATA TX2/TX4 support"
416 This option enables support for Promise Serial ATA TX2/TX4.
421 tristate "Renesas R-Car SATA support"
422 depends on ARCH_RENESAS || COMPILE_TEST
424 This option enables support for Renesas R-Car Serial ATA.
429 tristate "Silicon Image SATA support"
432 This option enables support for Silicon Image Serial ATA.
437 tristate "SiS 964/965/966/180 SATA support"
441 This option enables support for SiS Serial ATA on
442 SiS 964/965/966/180 and Parallel ATA on SiS 180.
443 The PATA support for SiS 180 requires additionally to
444 enable the PATA_SIS driver in the config.
448 tristate "ServerWorks Frodo / Apple K2 SATA support"
451 This option enables support for Broadcom/Serverworks/Apple K2
457 tristate "ULi Electronics SATA support"
460 This option enables support for ULi Electronics SATA.
465 tristate "VIA SATA support"
468 This option enables support for VIA Serial ATA.
473 tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
476 This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
480 comment "PATA SFF controllers with BMDMA"
483 tristate "ALi PATA support"
486 This option enables support for the ALi ATA interfaces
487 found on the many ALi chipsets.
492 tristate "AMD/NVidia PATA support"
495 This option enables support for the AMD and NVidia PATA
496 interfaces found on the chipsets for Athlon/Athlon64.
500 config PATA_ARASAN_CF
501 tristate "ARASAN CompactFlash PATA Controller Support"
502 depends on ARCH_SPEAR13XX || COMPILE_TEST
503 depends on DMADEVICES
506 Say Y here to support the ARASAN CompactFlash PATA controller
509 tristate "ARTOP 6210/6260 PATA support"
512 This option enables support for ARTOP PATA controllers.
517 tristate "ATI PATA support"
520 This option enables support for the ATI ATA interfaces
521 found on the many ATI chipsets.
526 tristate "ARTOP/Acard ATP867X PATA support"
529 This option enables support for ARTOP/Acard ATP867X PATA
535 tristate "Blackfin 54x ATAPI support"
536 depends on BF542 || BF548 || BF549
538 This option enables support for the built-in ATAPI controller on
539 Blackfin 54x family chips.
544 tristate "Palmchip BK3710 PATA support"
545 depends on ARCH_DAVINCI
547 This option enables support for the integrated IDE controller on
553 tristate "CMD64x PATA support"
556 This option enables support for the CMD64x series chips
557 except for the CMD640.
562 tristate "CS5510/5520 PATA support"
563 depends on PCI && (X86_32 || COMPILE_TEST)
565 This option enables support for the Cyrix 5510/5520
566 companion chip used with the MediaGX/Geode processor family.
571 tristate "CS5530 PATA support"
572 depends on PCI && (X86_32 || COMPILE_TEST)
574 This option enables support for the Cyrix/NatSemi/AMD CS5530
575 companion chip used with the MediaGX/Geode processor family.
580 tristate "CS5535 PATA support (Experimental)"
581 depends on PCI && X86_32
583 This option enables support for the NatSemi/AMD CS5535
584 companion chip used with the Geode processor family.
589 tristate "CS5536 PATA support"
590 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
592 This option enables support for the AMD CS5536
593 companion chip used with the Geode LX processor family.
598 tristate "Cypress CY82C693 PATA support (Very Experimental)"
601 This option enables support for the Cypress/Contaq CY82C693
602 chipset found in some Alpha systems
607 tristate "EFAR SLC90E66 support"
610 This option enables support for the EFAR SLC90E66
611 IDE controller found on some older machines.
616 tristate "Cirrus Logic EP93xx PATA support"
617 depends on ARCH_EP93XX
619 This option enables support for the PATA controller in
620 the Cirrus Logic EP9312 and EP9315 ARM CPU.
625 tristate "Faraday Technology FTIDE010 PATA support"
628 depends on SATA_GEMINI
630 This option enables support for the Faraday FTIDE010
631 PATA controller found in the Cortina Gemini SoCs.
636 tristate "HPT 366/368 PATA support"
639 This option enables support for the HPT 366 and 368
640 PATA controllers via the new ATA layer.
645 tristate "HPT 370/370A/371/372/374/302 PATA support"
648 This option enables support for the majority of the later HPT
649 PATA controllers via the new ATA layer.
654 tristate "HPT 371N/372N/302N PATA support"
657 This option enables support for the N variant HPT PATA
658 controllers via the new ATA layer.
663 tristate "HPT 343/363 PATA support"
666 This option enables support for the HPT 343/363
667 PATA controllers via the new ATA layer
671 config PATA_HPT3X3_DMA
672 bool "HPT 343/363 DMA support"
673 depends on PATA_HPT3X3
675 This option enables DMA support for the HPT343/363
676 controllers. Enable with care as there are still some
677 problems with DMA on this chipset.
680 tristate "Acorn ICS PATA support"
681 depends on ARM && ARCH_ACORN
683 On Acorn systems, say Y here if you wish to use the ICS PATA
684 interface card. This is not required for ICS partition support.
685 If you are unsure, say N to this.
688 tristate "PATA support for Freescale iMX"
691 This option enables support for the PATA host available on Freescale
697 tristate "IT8213 PATA support (Experimental)"
700 This option enables support for the ITE 821 PATA
701 controllers via the new ATA layer.
706 tristate "IT8211/2 PATA support"
709 This option enables support for the ITE 8211 and 8212
710 PATA controllers via the new ATA layer, including RAID
716 tristate "JMicron PATA support"
719 Enable support for the JMicron IDE controller, via the new
725 tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
728 Most IDE capable PowerMacs have IDE busses driven by a variant
729 of this controller which is part of the Apple chipset used on
730 most PowerMac models. Some models have multiple busses using
731 different chipsets, though generally, MacIO is one of them.
734 tristate "Marvell PATA support via legacy mode"
737 This option enables limited support for the Marvell 88SE61xx ATA
738 controllers. If you wish to use only the SATA ports then select
739 the AHCI driver alone. If you wish to the use the PATA port or
740 both SATA and PATA include this driver.
745 tristate "Freescale MPC52xx SoC internal IDE"
746 depends on PPC_MPC52xx && PPC_BESTCOMM
747 select PPC_BESTCOMM_ATA
749 This option enables support for integrated IDE controller
750 of the Freescale MPC52xx SoC.
755 tristate "NETCELL Revolution RAID support"
758 This option enables support for the Netcell Revolution RAID
764 tristate "Ninja32/Delkin Cardbus ATA support"
767 This option enables support for the Ninja32, Delkin and
768 possibly other brands of Cardbus ATA adapter
773 tristate "Nat Semi NS87415 PATA support"
776 This option enables support for the National Semiconductor
777 NS87415 PCI-IDE controller.
782 tristate "Intel PATA old PIIX support"
785 This option enables support for early PIIX PATA support.
790 tristate "OPTI FireStar PATA support (Very Experimental)"
793 This option enables DMA/PIO support for the later OPTi
794 controllers found on some old motherboards and in some
800 tristate "Promise PATA 2027x support"
803 This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
808 tristate "Older Promise PATA controller support"
811 This option enables support for the Promise 20246, 20262, 20263,
812 20265 and 20267 adapters.
817 tristate "RADISYS 82600 PATA support (Experimental)"
820 This option enables support for the RADISYS 82600
821 PATA controllers via the new ATA layer
826 tristate "RDC PATA support"
829 This option enables basic support for the later RDC PATA controllers
830 controllers via the new ATA layer. For the RDC 1010, you need to
831 enable the IT821X driver instead.
836 tristate "SC1200 PATA support"
837 depends on PCI && (X86_32 || COMPILE_TEST)
839 This option enables support for the NatSemi/AMD SC1200 SoC
840 companion chip used with the Geode processor family.
845 tristate "Intel SCH PATA support"
848 This option enables support for Intel SCH PATA on the Intel
849 SCH (US15W, US15L, UL11L) series host controllers.
853 config PATA_SERVERWORKS
854 tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
857 This option enables support for the Serverworks OSB4/CSB5/CSB6 and
858 HT1000 PATA controllers, via the new ATA layer.
863 tristate "CMD / Silicon Image 680 PATA support"
866 This option enables support for CMD / Silicon Image 680 PATA.
871 tristate "SiS PATA support"
874 This option enables support for SiS PATA controllers
879 tristate "Toshiba Piccolo support (Experimental)"
882 Support for the Toshiba Piccolo controllers. Currently only the
883 primary channel is supported by this driver.
888 tristate "Compaq Triflex PATA support"
891 Enable support for the Compaq 'Triflex' IDE controller as found
892 on many Compaq Pentium-Pro systems, via the new ATA layer.
897 tristate "VIA PATA support"
900 This option enables support for the VIA PATA interfaces
901 found on the many VIA chipsets.
906 tristate "PXA DMA-capable PATA support"
909 This option enables support for harddrive attached to PXA CPU's bus.
911 NOTE: This driver utilizes PXA DMA controller, in case your hardware
912 is not capable of doing MWDMA, use pata_platform instead.
917 tristate "Winbond SL82C105 PATA support"
920 This option enables support for SL82C105 PATA devices found in the
921 Netwinder and some other systems
927 comment "PIO-only SFF controllers"
930 tristate "Atmel AVR32 PATA support (Experimental)"
931 depends on AVR32 && PLATFORM_AT32AP
933 This option enables support for the IDE devices on the
934 Atmel AT32AP platform.
938 config PATA_CMD640_PCI
939 tristate "CMD640 PCI PATA support (Experimental)"
942 This option enables support for the CMD640 PCI IDE
943 interface chip. Only the primary channel is currently
949 tristate "Atari Falcon PATA support"
950 depends on M68K && ATARI
952 This option enables support for the on-board IDE
953 interface on the Atari Falcon.
958 tristate "ISA Plug and Play PATA support"
961 This option enables support for ISA plug & play ATA
962 controllers such as those found on old soundcards.
966 config PATA_IXP4XX_CF
967 tristate "IXP4XX Compact Flash support"
968 depends on ARCH_IXP4XX
970 This option enables support for a Compact Flash connected on
971 the ixp4xx expansion bus. This driver had been written for
972 Loft/Avila boards in mind but can work with others.
977 tristate "Intel PATA MPIIX support"
980 This option enables support for MPIIX PATA support.
985 tristate "Nat Semi NS87410 PATA support"
988 This option enables support for the National Semiconductor
989 NS87410 PCI-IDE controller.
994 tristate "OPTI621/6215 PATA support (Very Experimental)"
997 This option enables full PIO support for the early Opti ATA
998 controllers found on some old motherboards.
1003 tristate "Palm LifeDrive PATA support"
1004 depends on MACH_PALMLD
1006 This option enables support for Palm LifeDrive's internal ATA
1007 port via the new ATA layer.
1012 tristate "PCMCIA PATA support"
1015 This option enables support for PCMCIA ATA interfaces, including
1016 compact flash card adapters via the new ATA layer.
1020 config PATA_PLATFORM
1021 tristate "Generic platform device PATA support"
1022 depends on EXPERT || PPC || HAVE_PATA_PLATFORM
1024 This option enables support for generic directly connected ATA
1025 devices commonly found on embedded systems.
1029 config PATA_OF_PLATFORM
1030 tristate "OpenFirmware platform device PATA support"
1031 depends on PATA_PLATFORM && OF
1033 This option enables support for generic directly connected ATA
1034 devices commonly found on embedded systems with OpenFirmware
1040 tristate "QDI VLB PATA support"
1044 Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
1047 tristate "RouterBoard 532 PATA CompactFlash support"
1048 depends on MIKROTIK_RB532
1050 This option enables support for the RouterBoard 532
1051 PATA CompactFlash controller.
1056 tristate "PC Tech RZ1000 PATA support"
1059 This option enables basic support for the PC Tech RZ1000/1
1060 PATA controllers via the new ATA layer
1064 config PATA_SAMSUNG_CF
1065 tristate "Samsung SoC PATA support"
1066 depends on SAMSUNG_DEV_IDE
1068 This option enables basic support for Samsung's S3C/S5P board
1069 PATA controllers via the new ATA layer
1073 config PATA_WINBOND_VLB
1074 tristate "Winbond W83759A VLB PATA support (Experimental)"
1078 Support for the Winbond W83759A controller on Vesa Local Bus
1081 comment "Generic fallback / legacy drivers"
1084 tristate "ACPI firmware driver for PATA"
1085 depends on ATA_ACPI && ATA_BMDMA
1087 This option enables an ACPI method driver which drives
1088 motherboard PATA controller interfaces through the ACPI
1089 firmware in the BIOS. This driver can sometimes handle
1090 otherwise unsupported hardware.
1093 tristate "Generic ATA support"
1094 depends on PCI && ATA_BMDMA
1096 This option enables support for generic BIOS configured
1097 ATA controllers via the new ATA layer
1102 tristate "Legacy ISA PATA support (Experimental)"
1103 depends on (ISA || PCI)
1105 This option enables support for ISA/VLB/PCI bus legacy PATA
1106 ports and allows them to be accessed via the new ATA layer.