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
107 This option enables support for the AHCI SATA3 controller found on
113 tristate "DaVinci DA850 AHCI SATA support"
114 depends on ARCH_DAVINCI_DA850
116 This option enables support for the DaVinci DA850 SoC's
122 tristate "DaVinci DM816 AHCI SATA support"
123 depends on ARCH_OMAP2PLUS
125 This option enables support for the DaVinci DM816 SoC's
126 onboard AHCI SATA controller.
131 tristate "ST AHCI SATA support"
134 This option enables support for ST AHCI SATA controller.
139 tristate "Freescale i.MX AHCI SATA support"
140 depends on MFD_SYSCON && (ARCH_MXC || COMPILE_TEST)
141 depends on (HWMON && (THERMAL || !THERMAL_OF)) || !HWMON
143 This option enables support for the Freescale i.MX SoC's
149 tristate "CEVA AHCI SATA support"
152 This option enables support for the CEVA AHCI SATA.
153 It can be found on the Xilinx Zynq UltraScale+ MPSoC.
158 tristate "MediaTek AHCI SATA support"
159 depends on ARCH_MEDIATEK
162 This option enables support for the MediaTek SoC's
163 onboard AHCI SATA controller.
168 tristate "Marvell EBU AHCI SATA support"
169 depends on ARCH_MVEBU
171 This option enables support for the Marvebu EBU SoC's
177 tristate "Cavium Octeon Soc Serial ATA"
178 depends on SATA_AHCI_PLATFORM && CAVIUM_OCTEON_SOC
181 This option enables support for Cavium Octeon SoC Serial ATA.
186 tristate "Allwinner sunxi AHCI SATA support"
187 depends on ARCH_SUNXI
189 This option enables support for the Allwinner sunxi SoC's
195 tristate "NVIDIA Tegra124 AHCI SATA support"
196 depends on ARCH_TEGRA
198 This option enables support for the NVIDIA Tegra124 SoC's
204 tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support"
207 This option enables support for APM X-Gene SoC SATA host controller.
210 tristate "Freescale QorIQ AHCI SATA support"
213 This option enables support for the Freescale QorIQ AHCI SoC's
219 tristate "Freescale 3.0Gbps SATA support"
222 This option enables support for Freescale 3.0Gbps SATA controller.
223 It can be found on MPC837x and MPC8315.
228 tristate "Gemini SATA bridge support"
229 depends on ARCH_GEMINI || COMPILE_TEST
232 This enabled support for the FTIDE010 to SATA bridge
233 found in Cortina Systems Gemini platform.
237 config SATA_AHCI_SEATTLE
238 tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support"
239 depends on ARCH_SEATTLE
241 This option enables support for AMD Seattle SATA host controller.
246 tristate "Initio 162x SATA support (Very Experimental)"
249 This option enables support for Initio 162x Serial ATA.
251 config SATA_ACARD_AHCI
252 tristate "ACard AHCI variant (ATP 8620)"
255 This option enables support for Acard.
260 tristate "Silicon Image 3124/3132 SATA support"
263 This option enables support for Silicon Image 3124/3132 Serial ATA.
270 bool "ATA SFF support (for legacy IDE and PATA)"
273 This option adds support for ATA controllers with SFF
274 compliant or similar programming interface.
276 SFF is the legacy IDE interface that has been around since
277 the dawn of time. Almost all PATA controllers have an
278 SFF interface. Many SATA controllers have an SFF interface
279 when configured into a legacy compatibility mode.
281 For users with exclusively modern controllers like AHCI,
282 Silicon Image 3124, or Marvell 6440, you may choose to
283 disable this unneeded SFF support.
289 comment "SFF controllers with custom DMA interface"
292 tristate "Pacific Digital ADMA support"
295 This option enables support for Pacific Digital ADMA controllers
299 config PATA_OCTEON_CF
300 tristate "OCTEON Boot Bus Compact Flash support"
301 depends on CAVIUM_OCTEON_SOC
303 This option enables a polled compact flash driver for use with
304 compact flash cards attached to the OCTEON boot bus.
309 tristate "Pacific Digital SATA QStor support"
312 This option enables support for Pacific Digital Serial ATA QStor.
317 tristate "Promise SATA SX4 support (Experimental)"
320 This option enables support for Promise Serial ATA SX4.
325 bool "ATA BMDMA support"
329 This option adds support for SFF ATA controllers with BMDMA
330 capability. BMDMA stands for bus-master DMA and is the
331 de facto DMA interface for SFF controllers.
337 comment "SATA SFF controllers with BMDMA"
340 tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
343 This option enables support for ICH5/6/7/8 Serial ATA
344 and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
350 tristate "DesignWare Cores SATA support"
351 depends on DMADEVICES
354 This option enables support for the on-chip SATA controller of the
355 AppliedMicro processor 460EX.
359 config SATA_DWC_OLD_DMA
360 bool "Support old device trees"
365 This option enables support for old device trees without the
368 config SATA_DWC_DEBUG
369 bool "Debugging driver version"
372 This option enables debugging output in the driver.
374 config SATA_DWC_VDEBUG
375 bool "Verbose debug output"
376 depends on SATA_DWC_DEBUG
378 This option enables the taskfile dumping and NCQ debugging.
381 tristate "Calxeda Highbank SATA support"
383 depends on ARCH_HIGHBANK || COMPILE_TEST
385 This option enables support for the Calxeda Highbank SoC's
391 tristate "Marvell SATA support"
393 depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \
394 ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST
397 This option enables support for the Marvell Serial ATA family.
398 Currently supports 88SX[56]0[48][01] PCI(-X) chips,
399 as well as the newer [67]042 PCI-X/PCIe and SOC devices.
404 tristate "NVIDIA SATA support"
407 This option enables support for NVIDIA Serial ATA.
412 tristate "Promise SATA TX2/TX4 support"
415 This option enables support for Promise Serial ATA TX2/TX4.
420 tristate "Renesas R-Car SATA support"
421 depends on ARCH_RENESAS || COMPILE_TEST
423 This option enables support for Renesas R-Car Serial ATA.
428 tristate "Silicon Image SATA support"
431 This option enables support for Silicon Image Serial ATA.
436 tristate "SiS 964/965/966/180 SATA support"
440 This option enables support for SiS Serial ATA on
441 SiS 964/965/966/180 and Parallel ATA on SiS 180.
442 The PATA support for SiS 180 requires additionally to
443 enable the PATA_SIS driver in the config.
447 tristate "ServerWorks Frodo / Apple K2 SATA support"
450 This option enables support for Broadcom/Serverworks/Apple K2
456 tristate "ULi Electronics SATA support"
459 This option enables support for ULi Electronics SATA.
464 tristate "VIA SATA support"
467 This option enables support for VIA Serial ATA.
472 tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
475 This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
479 comment "PATA SFF controllers with BMDMA"
482 tristate "ALi PATA support"
485 This option enables support for the ALi ATA interfaces
486 found on the many ALi chipsets.
491 tristate "AMD/NVidia PATA support"
494 This option enables support for the AMD and NVidia PATA
495 interfaces found on the chipsets for Athlon/Athlon64.
499 config PATA_ARASAN_CF
500 tristate "ARASAN CompactFlash PATA Controller Support"
501 depends on ARCH_SPEAR13XX || COMPILE_TEST
502 depends on DMADEVICES
505 Say Y here to support the ARASAN CompactFlash PATA controller
508 tristate "ARTOP 6210/6260 PATA support"
511 This option enables support for ARTOP PATA controllers.
516 tristate "ATI PATA support"
519 This option enables support for the ATI ATA interfaces
520 found on the many ATI chipsets.
525 tristate "ARTOP/Acard ATP867X PATA support"
528 This option enables support for ARTOP/Acard ATP867X PATA
534 tristate "Blackfin 54x ATAPI support"
535 depends on BF542 || BF548 || BF549
537 This option enables support for the built-in ATAPI controller on
538 Blackfin 54x family chips.
543 tristate "Palmchip BK3710 PATA support"
544 depends on ARCH_DAVINCI
546 This option enables support for the integrated IDE controller on
552 tristate "CMD64x PATA support"
555 This option enables support for the CMD64x series chips
556 except for the CMD640.
561 tristate "CS5510/5520 PATA support"
562 depends on PCI && (X86_32 || COMPILE_TEST)
564 This option enables support for the Cyrix 5510/5520
565 companion chip used with the MediaGX/Geode processor family.
570 tristate "CS5530 PATA support"
571 depends on PCI && (X86_32 || COMPILE_TEST)
573 This option enables support for the Cyrix/NatSemi/AMD CS5530
574 companion chip used with the MediaGX/Geode processor family.
579 tristate "CS5535 PATA support (Experimental)"
580 depends on PCI && X86_32
582 This option enables support for the NatSemi/AMD CS5535
583 companion chip used with the Geode processor family.
588 tristate "CS5536 PATA support"
589 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
591 This option enables support for the AMD CS5536
592 companion chip used with the Geode LX processor family.
597 tristate "Cypress CY82C693 PATA support (Very Experimental)"
600 This option enables support for the Cypress/Contaq CY82C693
601 chipset found in some Alpha systems
606 tristate "EFAR SLC90E66 support"
609 This option enables support for the EFAR SLC90E66
610 IDE controller found on some older machines.
615 tristate "Cirrus Logic EP93xx PATA support"
616 depends on ARCH_EP93XX
618 This option enables support for the PATA controller in
619 the Cirrus Logic EP9312 and EP9315 ARM CPU.
624 tristate "Faraday Technology FTIDE010 PATA support"
627 depends on SATA_GEMINI
629 This option enables support for the Faraday FTIDE010
630 PATA controller found in the Cortina Gemini SoCs.
635 tristate "HPT 366/368 PATA support"
638 This option enables support for the HPT 366 and 368
639 PATA controllers via the new ATA layer.
644 tristate "HPT 370/370A/371/372/374/302 PATA support"
647 This option enables support for the majority of the later HPT
648 PATA controllers via the new ATA layer.
653 tristate "HPT 371N/372N/302N PATA support"
656 This option enables support for the N variant HPT PATA
657 controllers via the new ATA layer.
662 tristate "HPT 343/363 PATA support"
665 This option enables support for the HPT 343/363
666 PATA controllers via the new ATA layer
670 config PATA_HPT3X3_DMA
671 bool "HPT 343/363 DMA support"
672 depends on PATA_HPT3X3
674 This option enables DMA support for the HPT343/363
675 controllers. Enable with care as there are still some
676 problems with DMA on this chipset.
679 tristate "Acorn ICS PATA support"
680 depends on ARM && ARCH_ACORN
682 On Acorn systems, say Y here if you wish to use the ICS PATA
683 interface card. This is not required for ICS partition support.
684 If you are unsure, say N to this.
687 tristate "PATA support for Freescale iMX"
690 This option enables support for the PATA host available on Freescale
696 tristate "IT8213 PATA support (Experimental)"
699 This option enables support for the ITE 821 PATA
700 controllers via the new ATA layer.
705 tristate "IT8211/2 PATA support"
708 This option enables support for the ITE 8211 and 8212
709 PATA controllers via the new ATA layer, including RAID
715 tristate "JMicron PATA support"
718 Enable support for the JMicron IDE controller, via the new
724 tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
727 Most IDE capable PowerMacs have IDE busses driven by a variant
728 of this controller which is part of the Apple chipset used on
729 most PowerMac models. Some models have multiple busses using
730 different chipsets, though generally, MacIO is one of them.
733 tristate "Marvell PATA support via legacy mode"
736 This option enables limited support for the Marvell 88SE61xx ATA
737 controllers. If you wish to use only the SATA ports then select
738 the AHCI driver alone. If you wish to the use the PATA port or
739 both SATA and PATA include this driver.
744 tristate "Freescale MPC52xx SoC internal IDE"
745 depends on PPC_MPC52xx && PPC_BESTCOMM
746 select PPC_BESTCOMM_ATA
748 This option enables support for integrated IDE controller
749 of the Freescale MPC52xx SoC.
754 tristate "NETCELL Revolution RAID support"
757 This option enables support for the Netcell Revolution RAID
763 tristate "Ninja32/Delkin Cardbus ATA support"
766 This option enables support for the Ninja32, Delkin and
767 possibly other brands of Cardbus ATA adapter
772 tristate "Nat Semi NS87415 PATA support"
775 This option enables support for the National Semiconductor
776 NS87415 PCI-IDE controller.
781 tristate "Intel PATA old PIIX support"
784 This option enables support for early PIIX PATA support.
789 tristate "OPTI FireStar PATA support (Very Experimental)"
792 This option enables DMA/PIO support for the later OPTi
793 controllers found on some old motherboards and in some
799 tristate "Promise PATA 2027x support"
802 This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
807 tristate "Older Promise PATA controller support"
810 This option enables support for the Promise 20246, 20262, 20263,
811 20265 and 20267 adapters.
816 tristate "RADISYS 82600 PATA support (Experimental)"
819 This option enables support for the RADISYS 82600
820 PATA controllers via the new ATA layer
825 tristate "RDC PATA support"
828 This option enables basic support for the later RDC PATA controllers
829 controllers via the new ATA layer. For the RDC 1010, you need to
830 enable the IT821X driver instead.
835 tristate "SC1200 PATA support"
836 depends on PCI && (X86_32 || COMPILE_TEST)
838 This option enables support for the NatSemi/AMD SC1200 SoC
839 companion chip used with the Geode processor family.
844 tristate "Intel SCH PATA support"
847 This option enables support for Intel SCH PATA on the Intel
848 SCH (US15W, US15L, UL11L) series host controllers.
852 config PATA_SERVERWORKS
853 tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
856 This option enables support for the Serverworks OSB4/CSB5/CSB6 and
857 HT1000 PATA controllers, via the new ATA layer.
862 tristate "CMD / Silicon Image 680 PATA support"
865 This option enables support for CMD / Silicon Image 680 PATA.
870 tristate "SiS PATA support"
873 This option enables support for SiS PATA controllers
878 tristate "Toshiba Piccolo support (Experimental)"
881 Support for the Toshiba Piccolo controllers. Currently only the
882 primary channel is supported by this driver.
887 tristate "Compaq Triflex PATA support"
890 Enable support for the Compaq 'Triflex' IDE controller as found
891 on many Compaq Pentium-Pro systems, via the new ATA layer.
896 tristate "VIA PATA support"
899 This option enables support for the VIA PATA interfaces
900 found on the many VIA chipsets.
905 tristate "PXA DMA-capable PATA support"
908 This option enables support for harddrive attached to PXA CPU's bus.
910 NOTE: This driver utilizes PXA DMA controller, in case your hardware
911 is not capable of doing MWDMA, use pata_platform instead.
916 tristate "Winbond SL82C105 PATA support"
919 This option enables support for SL82C105 PATA devices found in the
920 Netwinder and some other systems
926 comment "PIO-only SFF controllers"
929 tristate "Atmel AVR32 PATA support (Experimental)"
930 depends on AVR32 && PLATFORM_AT32AP
932 This option enables support for the IDE devices on the
933 Atmel AT32AP platform.
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 "ISA Plug and Play PATA support"
960 This option enables support for ISA plug & play ATA
961 controllers such as those found on old soundcards.
965 config PATA_IXP4XX_CF
966 tristate "IXP4XX Compact Flash support"
967 depends on ARCH_IXP4XX
969 This option enables support for a Compact Flash connected on
970 the ixp4xx expansion bus. This driver had been written for
971 Loft/Avila boards in mind but can work with others.
976 tristate "Intel PATA MPIIX support"
979 This option enables support for MPIIX PATA support.
984 tristate "Nat Semi NS87410 PATA support"
987 This option enables support for the National Semiconductor
988 NS87410 PCI-IDE controller.
993 tristate "OPTI621/6215 PATA support (Very Experimental)"
996 This option enables full PIO support for the early Opti ATA
997 controllers found on some old motherboards.
1002 tristate "Palm LifeDrive PATA support"
1003 depends on MACH_PALMLD
1005 This option enables support for Palm LifeDrive's internal ATA
1006 port via the new ATA layer.
1011 tristate "PCMCIA PATA support"
1014 This option enables support for PCMCIA ATA interfaces, including
1015 compact flash card adapters via the new ATA layer.
1019 config PATA_PLATFORM
1020 tristate "Generic platform device PATA support"
1021 depends on EXPERT || PPC || HAVE_PATA_PLATFORM
1023 This option enables support for generic directly connected ATA
1024 devices commonly found on embedded systems.
1028 config PATA_OF_PLATFORM
1029 tristate "OpenFirmware platform device PATA support"
1030 depends on PATA_PLATFORM && OF
1032 This option enables support for generic directly connected ATA
1033 devices commonly found on embedded systems with OpenFirmware
1039 tristate "QDI VLB PATA support"
1043 Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
1046 tristate "RouterBoard 532 PATA CompactFlash support"
1047 depends on MIKROTIK_RB532
1049 This option enables support for the RouterBoard 532
1050 PATA CompactFlash controller.
1055 tristate "PC Tech RZ1000 PATA support"
1058 This option enables basic support for the PC Tech RZ1000/1
1059 PATA controllers via the new ATA layer
1063 config PATA_SAMSUNG_CF
1064 tristate "Samsung SoC PATA support"
1065 depends on SAMSUNG_DEV_IDE
1067 This option enables basic support for Samsung's S3C/S5P board
1068 PATA controllers via the new ATA layer
1072 config PATA_WINBOND_VLB
1073 tristate "Winbond W83759A VLB PATA support (Experimental)"
1077 Support for the Winbond W83759A controller on Vesa Local Bus
1080 comment "Generic fallback / legacy drivers"
1083 tristate "ACPI firmware driver for PATA"
1084 depends on ATA_ACPI && ATA_BMDMA
1086 This option enables an ACPI method driver which drives
1087 motherboard PATA controller interfaces through the ACPI
1088 firmware in the BIOS. This driver can sometimes handle
1089 otherwise unsupported hardware.
1092 tristate "Generic ATA support"
1093 depends on PCI && ATA_BMDMA
1095 This option enables support for generic BIOS configured
1096 ATA controllers via the new ATA layer
1101 tristate "Legacy ISA PATA support (Experimental)"
1102 depends on (ISA || PCI)
1104 This option enables support for ISA/VLB/PCI bus legacy PATA
1105 ports and allows them to be accessed via the new ATA layer.