Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0
2#
3# SATA/PATA driver configuration
4#
5
6config HAVE_PATA_PLATFORM
7 bool
8 help
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.
13
14menuconfig ATA
15 tristate "Serial ATA and Parallel ATA drivers (libata)"
16 depends on HAS_IOMEM
17 depends on BLOCK
18 select SCSI
19 select GLOB
20 help
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.
26
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.
31
32if ATA
33
34config ATA_NONSTANDARD
35 bool
36
37config SATA_HOST
38 bool
39
40config PATA_TIMINGS
41 bool
42
43config ATA_VERBOSE_ERROR
44 bool "Verbose ATA error reporting"
45 default y
46 help
47 This option adds parsing of ATA command descriptions and error bits
48 in libata kernel output, making it easier to interpret.
49 This option will enlarge the kernel by approx. 6KB. Disable it only
50 if kernel size is more important than ease of debugging.
51
52 If unsure, say Y.
53
54config ATA_FORCE
55 bool "\"libata.force=\" kernel parameter support" if EXPERT
56 default y
57 help
58 This option adds support for "libata.force=" kernel parameter for
59 forcing configuration settings.
60
61 For further information, please read
62 <file:Documentation/admin-guide/kernel-parameters.txt>.
63
64 This option will enlarge the kernel by approx. 3KB. Disable it if
65 kernel size is more important than ability to override the default
66 configuration settings.
67
68 If unsure, say Y.
69
70config ATA_ACPI
71 bool "ATA ACPI Support"
72 depends on ACPI
73 select PATA_TIMINGS
74 default y
75 help
76 This option adds support for ATA-related ACPI objects.
77 These ACPI objects add the ability to retrieve taskfiles
78 from the ACPI BIOS and write them to the disk controller.
79 These objects may be related to performance, security,
80 power management, or other areas.
81 You can disable this at kernel boot time by using the
82 option libata.noacpi=1
83
84config SATA_ZPODD
85 bool "SATA Zero Power Optical Disc Drive (ZPODD) support"
86 depends on ATA_ACPI && PM
87 help
88 This option adds support for SATA Zero Power Optical Disc
89 Drive (ZPODD). It requires both the ODD and the platform
90 support, and if enabled, will automatically power on/off the
91 ODD when certain condition is satisfied. This does not impact
92 end user's experience of the ODD, only power is saved when
93 the ODD is not in use (i.e. no disc inside).
94
95 If unsure, say N.
96
97config SATA_PMP
98 bool "SATA Port Multiplier support"
99 depends on SATA_HOST
100 default y
101 help
102 This option adds support for SATA Port Multipliers
103 (the SATA version of an ethernet hub, or SAS expander).
104
105if HAS_DMA
106
107comment "Controllers with non-SFF native interface"
108
109config SATA_AHCI
110 tristate "AHCI SATA support"
111 depends on PCI
112 select SATA_HOST
113 help
114 This option enables support for AHCI Serial ATA.
115
116 If unsure, say N.
117
118config SATA_MOBILE_LPM_POLICY
119 int "Default SATA Link Power Management policy for low power chipsets"
120 range 0 4
121 default 0
122 depends on SATA_AHCI
123 help
124 Select the Default SATA Link Power Management (LPM) policy to use
125 for chipsets / "South Bridges" supporting low-power modes. Such
126 chipsets are typically found on most laptops but desktops and
127 servers now also widely use chipsets supporting low power modes.
128
129 The value set has the following meanings:
130 0 => Keep firmware settings
131 1 => Maximum performance
132 2 => Medium power
133 3 => Medium power with Device Initiated PM enabled
134 4 => Minimum power
135
136 Note "Minimum power" is known to cause issues, including disk
137 corruption, with some disks and should not be used.
138
139config SATA_AHCI_PLATFORM
140 tristate "Platform AHCI SATA support"
141 select SATA_HOST
142 help
143 This option enables support for Platform AHCI Serial ATA
144 controllers.
145
146 If unsure, say N.
147
148config AHCI_BRCM
149 tristate "Broadcom AHCI SATA support"
150 depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_NSP || \
151 ARCH_BCMBCA || COMPILE_TEST
152 select SATA_HOST
153 help
154 This option enables support for the AHCI SATA3 controller found on
155 Broadcom SoC's.
156
157 If unsure, say N.
158
159config AHCI_DA850
160 tristate "DaVinci DA850 AHCI SATA support"
161 depends on ARCH_DAVINCI_DA850 || COMPILE_TEST
162 select SATA_HOST
163 help
164 This option enables support for the DaVinci DA850 SoC's
165 onboard AHCI SATA.
166
167 If unsure, say N.
168
169config AHCI_DM816
170 tristate "DaVinci DM816 AHCI SATA support"
171 depends on ARCH_OMAP2PLUS || COMPILE_TEST
172 select SATA_HOST
173 help
174 This option enables support for the DaVinci DM816 SoC's
175 onboard AHCI SATA controller.
176
177 If unsure, say N.
178
179config AHCI_DWC
180 tristate "Synopsys DWC AHCI SATA support"
181 select SATA_HOST
182 select MFD_SYSCON if (MIPS_BAIKAL_T1 || COMPILE_TEST)
183 help
184 This option enables support for the Synopsys DWC AHCI SATA
185 controller implementation.
186
187 If unsure, say N.
188
189config AHCI_ST
190 tristate "ST AHCI SATA support"
191 depends on ARCH_STI || COMPILE_TEST
192 select SATA_HOST
193 help
194 This option enables support for ST AHCI SATA controller.
195
196 If unsure, say N.
197
198config AHCI_IMX
199 tristate "Freescale i.MX AHCI SATA support"
200 depends on MFD_SYSCON && (ARCH_MXC || COMPILE_TEST)
201 depends on (HWMON && (THERMAL || !THERMAL_OF)) || !HWMON
202 select SATA_HOST
203 help
204 This option enables support for the Freescale i.MX SoC's
205 onboard AHCI SATA.
206
207 If unsure, say N.
208
209config AHCI_CEVA
210 tristate "CEVA AHCI SATA support"
211 depends on OF
212 select SATA_HOST
213 help
214 This option enables support for the CEVA AHCI SATA.
215 It can be found on the Xilinx Zynq UltraScale+ MPSoC.
216
217 If unsure, say N.
218
219config AHCI_MTK
220 tristate "MediaTek AHCI SATA support"
221 depends on ARCH_MEDIATEK || COMPILE_TEST
222 select MFD_SYSCON
223 select SATA_HOST
224 help
225 This option enables support for the MediaTek SoC's
226 onboard AHCI SATA controller.
227
228 If unsure, say N.
229
230config AHCI_MVEBU
231 tristate "Marvell EBU AHCI SATA support"
232 depends on ARCH_MVEBU || COMPILE_TEST
233 select SATA_HOST
234 help
235 This option enables support for the Marvebu EBU SoC's
236 onboard AHCI SATA.
237
238 If unsure, say N.
239
240config AHCI_OCTEON
241 tristate "Cavium Octeon Soc Serial ATA"
242 depends on SATA_AHCI_PLATFORM && CAVIUM_OCTEON_SOC
243 default y
244 help
245 This option enables support for Cavium Octeon SoC Serial ATA.
246
247 If unsure, say N.
248
249config AHCI_SUNXI
250 tristate "Allwinner sunxi AHCI SATA support"
251 depends on ARCH_SUNXI || COMPILE_TEST
252 select SATA_HOST
253 help
254 This option enables support for the Allwinner sunxi SoC's
255 onboard AHCI SATA.
256
257 If unsure, say N.
258
259config AHCI_TEGRA
260 tristate "NVIDIA Tegra AHCI SATA support"
261 depends on ARCH_TEGRA || COMPILE_TEST
262 select SATA_HOST
263 help
264 This option enables support for the NVIDIA Tegra SoC's
265 onboard AHCI SATA.
266
267 If unsure, say N.
268
269config AHCI_XGENE
270 tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support"
271 depends on PHY_XGENE || COMPILE_TEST
272 select SATA_HOST
273 help
274 This option enables support for APM X-Gene SoC SATA host controller.
275
276config AHCI_QORIQ
277 tristate "Freescale QorIQ AHCI SATA support"
278 depends on OF
279 select SATA_HOST
280 help
281 This option enables support for the Freescale QorIQ AHCI SoC's
282 onboard AHCI SATA.
283
284 If unsure, say N.
285
286config SATA_FSL
287 tristate "Freescale 3.0Gbps SATA support"
288 depends on FSL_SOC || COMPILE_TEST
289 select SATA_HOST
290 help
291 This option enables support for Freescale 3.0Gbps SATA controller.
292 It can be found on MPC837x and MPC8315.
293
294 If unsure, say N.
295
296config SATA_GEMINI
297 tristate "Gemini SATA bridge support"
298 depends on ARCH_GEMINI || COMPILE_TEST
299 select SATA_HOST
300 default ARCH_GEMINI
301 help
302 This enabled support for the FTIDE010 to SATA bridge
303 found in Cortina Systems Gemini platform.
304
305 If unsure, say N.
306
307config SATA_AHCI_SEATTLE
308 tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support"
309 depends on ARCH_SEATTLE || COMPILE_TEST
310 select SATA_HOST
311 help
312 This option enables support for AMD Seattle SATA host controller.
313
314 If unsure, say N
315
316config SATA_INIC162X
317 tristate "Initio 162x SATA support (Very Experimental)"
318 depends on PCI
319 select SATA_HOST
320 help
321 This option enables support for Initio 162x Serial ATA.
322
323config SATA_ACARD_AHCI
324 tristate "ACard AHCI variant (ATP 8620)"
325 depends on PCI
326 select SATA_HOST
327 help
328 This option enables support for Acard.
329
330 If unsure, say N.
331
332config SATA_SIL24
333 tristate "Silicon Image 3124/3132 SATA support"
334 depends on PCI
335 select SATA_HOST
336 help
337 This option enables support for Silicon Image 3124/3132 Serial ATA.
338
339 If unsure, say N.
340
341endif # HAS_DMA
342
343config ATA_SFF
344 bool "ATA SFF support (for legacy IDE and PATA)"
345 default y
346 help
347 This option adds support for ATA controllers with SFF
348 compliant or similar programming interface.
349
350 SFF is the legacy IDE interface that has been around since
351 the dawn of time. Almost all PATA controllers have an
352 SFF interface. Many SATA controllers have an SFF interface
353 when configured into a legacy compatibility mode.
354
355 For users with exclusively modern controllers like AHCI,
356 Silicon Image 3124, or Marvell 6440, you may choose to
357 disable this unneeded SFF support.
358
359 If unsure, say Y.
360
361if ATA_SFF
362
363comment "SFF controllers with custom DMA interface"
364
365config PDC_ADMA
366 tristate "Pacific Digital ADMA support"
367 depends on PCI
368 help
369 This option enables support for Pacific Digital ADMA controllers
370
371 If unsure, say N.
372
373config PATA_OCTEON_CF
374 tristate "OCTEON Boot Bus Compact Flash support"
375 depends on CAVIUM_OCTEON_SOC
376 select PATA_TIMINGS
377 help
378 This option enables a polled compact flash driver for use with
379 compact flash cards attached to the OCTEON boot bus.
380
381 If unsure, say N.
382
383config SATA_QSTOR
384 tristate "Pacific Digital SATA QStor support"
385 depends on PCI
386 select SATA_HOST
387 help
388 This option enables support for Pacific Digital Serial ATA QStor.
389
390 If unsure, say N.
391
392config SATA_SX4
393 tristate "Promise SATA SX4 support (Experimental)"
394 depends on PCI
395 select SATA_HOST
396 help
397 This option enables support for Promise Serial ATA SX4.
398
399 If unsure, say N.
400
401config ATA_BMDMA
402 bool "ATA BMDMA support"
403 depends on HAS_DMA
404 default y
405 help
406 This option adds support for SFF ATA controllers with BMDMA
407 capability. BMDMA stands for bus-master DMA and is the
408 de facto DMA interface for SFF controllers.
409
410 If unsure, say Y.
411
412if ATA_BMDMA
413
414comment "SATA SFF controllers with BMDMA"
415
416config ATA_PIIX
417 tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
418 depends on PCI
419 select SATA_HOST
420 help
421 This option enables support for ICH5/6/7/8 Serial ATA
422 and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
423 host controllers.
424
425 If unsure, say N.
426
427config SATA_DWC
428 tristate "DesignWare Cores SATA support"
429 depends on DMADEVICES
430 select GENERIC_PHY
431 select SATA_HOST
432 help
433 This option enables support for the on-chip SATA controller of the
434 AppliedMicro processor 460EX.
435
436 If unsure, say N.
437
438config SATA_DWC_OLD_DMA
439 bool "Support old device trees"
440 depends on SATA_DWC
441 select DW_DMAC_CORE
442 default y if 460EX
443 help
444 This option enables support for old device trees without the
445 "dmas" property.
446
447config SATA_HIGHBANK
448 tristate "Calxeda Highbank SATA support"
449 depends on ARCH_HIGHBANK || COMPILE_TEST
450 select SATA_HOST
451 help
452 This option enables support for the Calxeda Highbank SoC's
453 onboard SATA.
454
455 If unsure, say N.
456
457config SATA_MV
458 tristate "Marvell SATA support"
459 depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \
460 ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST
461 select GENERIC_PHY
462 select SATA_HOST
463 help
464 This option enables support for the Marvell Serial ATA family.
465 Currently supports 88SX[56]0[48][01] PCI(-X) chips,
466 as well as the newer [67]042 PCI-X/PCIe and SOC devices.
467
468 If unsure, say N.
469
470config SATA_NV
471 tristate "NVIDIA SATA support"
472 depends on PCI
473 select SATA_HOST
474 help
475 This option enables support for NVIDIA Serial ATA.
476
477 If unsure, say N.
478
479config SATA_PROMISE
480 tristate "Promise SATA TX2/TX4 support"
481 depends on PCI
482 select SATA_HOST
483 help
484 This option enables support for Promise Serial ATA TX2/TX4.
485
486 If unsure, say N.
487
488config SATA_RCAR
489 tristate "Renesas R-Car SATA support"
490 depends on ARCH_RENESAS || COMPILE_TEST
491 select SATA_HOST
492 help
493 This option enables support for Renesas R-Car Serial ATA.
494
495 If unsure, say N.
496
497config SATA_SIL
498 tristate "Silicon Image SATA support"
499 depends on PCI
500 select SATA_HOST
501 help
502 This option enables support for Silicon Image Serial ATA.
503
504 If unsure, say N.
505
506config SATA_SIS
507 tristate "SiS 964/965/966/180 SATA support"
508 depends on PCI
509 select PATA_SIS
510 select SATA_HOST
511 help
512 This option enables support for SiS Serial ATA on
513 SiS 964/965/966/180 and Parallel ATA on SiS 180.
514 The PATA support for SiS 180 requires additionally to
515 enable the PATA_SIS driver in the config.
516 If unsure, say N.
517
518config SATA_SVW
519 tristate "ServerWorks Frodo / Apple K2 SATA support"
520 depends on PCI
521 select SATA_HOST
522 help
523 This option enables support for Broadcom/Serverworks/Apple K2
524 SATA support.
525
526 If unsure, say N.
527
528config SATA_ULI
529 tristate "ULi Electronics SATA support"
530 depends on PCI
531 select SATA_HOST
532 help
533 This option enables support for ULi Electronics SATA.
534
535 If unsure, say N.
536
537config SATA_VIA
538 tristate "VIA SATA support"
539 depends on PCI
540 select SATA_HOST
541 help
542 This option enables support for VIA Serial ATA.
543
544 If unsure, say N.
545
546config SATA_VITESSE
547 tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
548 depends on PCI
549 select SATA_HOST
550 help
551 This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
552
553 If unsure, say N.
554
555comment "PATA SFF controllers with BMDMA"
556
557config PATA_ALI
558 tristate "ALi PATA support"
559 depends on PCI
560 select PATA_TIMINGS
561 help
562 This option enables support for the ALi ATA interfaces
563 found on the many ALi chipsets.
564
565 If unsure, say N.
566
567config PATA_AMD
568 tristate "AMD/NVidia PATA support"
569 depends on PCI
570 select PATA_TIMINGS
571 help
572 This option enables support for the AMD and NVidia PATA
573 interfaces found on the chipsets for Athlon/Athlon64.
574
575 If unsure, say N.
576
577config PATA_ARASAN_CF
578 tristate "ARASAN CompactFlash PATA Controller Support"
579 depends on ARCH_SPEAR13XX || COMPILE_TEST
580 depends on DMADEVICES
581 select DMA_ENGINE
582 help
583 Say Y here to support the ARASAN CompactFlash PATA controller
584
585config PATA_ARTOP
586 tristate "ARTOP 6210/6260 PATA support"
587 depends on PCI
588 help
589 This option enables support for ARTOP PATA controllers.
590
591 If unsure, say N.
592
593config PATA_ATIIXP
594 tristate "ATI PATA support"
595 depends on PCI
596 help
597 This option enables support for the ATI ATA interfaces
598 found on the many ATI chipsets.
599
600 If unsure, say N.
601
602config PATA_ATP867X
603 tristate "ARTOP/Acard ATP867X PATA support"
604 depends on PCI
605 select PATA_TIMINGS
606 help
607 This option enables support for ARTOP/Acard ATP867X PATA
608 controllers.
609
610 If unsure, say N.
611
612config PATA_CMD64X
613 tristate "CMD64x PATA support"
614 depends on PCI
615 select PATA_TIMINGS
616 help
617 This option enables support for the CMD64x series chips
618 except for the CMD640.
619
620 If unsure, say N.
621
622config PATA_CS5520
623 tristate "CS5510/5520 PATA support"
624 depends on PCI && (X86_32 || COMPILE_TEST)
625 help
626 This option enables support for the Cyrix 5510/5520
627 companion chip used with the MediaGX/Geode processor family.
628
629 If unsure, say N.
630
631config PATA_CS5530
632 tristate "CS5530 PATA support"
633 depends on PCI && (X86_32 || COMPILE_TEST)
634 help
635 This option enables support for the Cyrix/NatSemi/AMD CS5530
636 companion chip used with the MediaGX/Geode processor family.
637
638 If unsure, say N.
639
640config PATA_CS5535
641 tristate "CS5535 PATA support (Experimental)"
642 depends on PCI && (X86_32 || (X86_64 && COMPILE_TEST))
643 depends on !UML
644 help
645 This option enables support for the NatSemi/AMD CS5535
646 companion chip used with the Geode processor family.
647
648 If unsure, say N.
649
650config PATA_CS5536
651 tristate "CS5536 PATA support"
652 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
653 help
654 This option enables support for the AMD CS5536
655 companion chip used with the Geode LX processor family.
656
657 If unsure, say N.
658
659config PATA_CYPRESS
660 tristate "Cypress CY82C693 PATA support (Very Experimental)"
661 depends on PCI
662 select PATA_TIMINGS
663 help
664 This option enables support for the Cypress/Contaq CY82C693
665 chipset found in some Alpha systems
666
667 If unsure, say N.
668
669config PATA_EFAR
670 tristate "EFAR SLC90E66 support"
671 depends on PCI
672 help
673 This option enables support for the EFAR SLC90E66
674 IDE controller found on some older machines.
675
676 If unsure, say N.
677
678config PATA_EP93XX
679 tristate "Cirrus Logic EP93xx PATA support"
680 depends on ARCH_EP93XX
681 select PATA_TIMINGS
682 help
683 This option enables support for the PATA controller in
684 the Cirrus Logic EP9312 and EP9315 ARM CPU.
685
686 If unsure, say N.
687
688config PATA_FTIDE010
689 tristate "Faraday Technology FTIDE010 PATA support"
690 depends on ARM || COMPILE_TEST
691 depends on SATA_GEMINI
692 help
693 This option enables support for the Faraday FTIDE010
694 PATA controller found in the Cortina Gemini SoCs.
695
696 If unsure, say N.
697
698config PATA_HPT366
699 tristate "HPT 366/368 PATA support"
700 depends on PCI
701 help
702 This option enables support for the HPT 366 and 368
703 PATA controllers via the new ATA layer.
704
705 If unsure, say N.
706
707config PATA_HPT37X
708 tristate "HPT 370/370A/371/372/374/302 PATA support"
709 depends on PCI
710 help
711 This option enables support for the majority of the later HPT
712 PATA controllers via the new ATA layer.
713
714 If unsure, say N.
715
716config PATA_HPT3X2N
717 tristate "HPT 371N/372N/302N PATA support"
718 depends on PCI
719 help
720 This option enables support for the N variant HPT PATA
721 controllers via the new ATA layer.
722
723 If unsure, say N.
724
725config PATA_HPT3X3
726 tristate "HPT 343/363 PATA support"
727 depends on PCI
728 help
729 This option enables support for the HPT 343/363
730 PATA controllers via the new ATA layer
731
732 If unsure, say N.
733
734config PATA_HPT3X3_DMA
735 bool "HPT 343/363 DMA support"
736 depends on PATA_HPT3X3
737 help
738 This option enables DMA support for the HPT343/363
739 controllers. Enable with care as there are still some
740 problems with DMA on this chipset.
741
742config PATA_ICSIDE
743 tristate "Acorn ICS PATA support"
744 depends on ARM && ARCH_ACORN
745 select PATA_TIMINGS
746 help
747 On Acorn systems, say Y here if you wish to use the ICS PATA
748 interface card. This is not required for ICS partition support.
749 If you are unsure, say N to this.
750
751config PATA_IMX
752 tristate "PATA support for Freescale iMX"
753 depends on ARCH_MXC || COMPILE_TEST
754 select PATA_TIMINGS
755 help
756 This option enables support for the PATA host available on Freescale
757 iMX SoCs.
758
759 If unsure, say N.
760
761config PATA_IT8213
762 tristate "IT8213 PATA support (Experimental)"
763 depends on PCI
764 help
765 This option enables support for the ITE 821 PATA
766 controllers via the new ATA layer.
767
768 If unsure, say N.
769
770config PATA_IT821X
771 tristate "IT8211/2 PATA support"
772 depends on PCI
773 help
774 This option enables support for the ITE 8211 and 8212
775 PATA controllers via the new ATA layer, including RAID
776 mode.
777
778 If unsure, say N.
779
780config PATA_JMICRON
781 tristate "JMicron PATA support"
782 depends on PCI
783 help
784 Enable support for the JMicron IDE controller, via the new
785 ATA layer.
786
787 If unsure, say N.
788
789config PATA_MACIO
790 tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
791 depends on PPC_PMAC
792 help
793 Most IDE capable PowerMacs have IDE busses driven by a variant
794 of this controller which is part of the Apple chipset used on
795 most PowerMac models. Some models have multiple busses using
796 different chipsets, though generally, MacIO is one of them.
797
798config PATA_MARVELL
799 tristate "Marvell PATA support via legacy mode"
800 depends on PCI
801 help
802 This option enables limited support for the Marvell 88SE61xx ATA
803 controllers. If you wish to use only the SATA ports then select
804 the AHCI driver alone. If you wish to the use the PATA port or
805 both SATA and PATA include this driver.
806
807 If unsure, say N.
808
809config PATA_MPC52xx
810 tristate "Freescale MPC52xx SoC internal IDE"
811 depends on PPC_MPC52xx && PPC_BESTCOMM
812 select PPC_BESTCOMM_ATA
813 help
814 This option enables support for integrated IDE controller
815 of the Freescale MPC52xx SoC.
816
817 If unsure, say N.
818
819config PATA_NETCELL
820 tristate "NETCELL Revolution RAID support"
821 depends on PCI
822 help
823 This option enables support for the Netcell Revolution RAID
824 PATA controller.
825
826 If unsure, say N.
827
828config PATA_NINJA32
829 tristate "Ninja32/Delkin Cardbus ATA support"
830 depends on PCI
831 help
832 This option enables support for the Ninja32, Delkin and
833 possibly other brands of Cardbus ATA adapter
834
835 If unsure, say N.
836
837config PATA_NS87415
838 tristate "Nat Semi NS87415 PATA support"
839 depends on PCI
840 select PATA_TIMINGS
841 help
842 This option enables support for the National Semiconductor
843 NS87415 PCI-IDE controller.
844
845 If unsure, say N.
846
847config PATA_OLDPIIX
848 tristate "Intel PATA old PIIX support"
849 depends on PCI
850 help
851 This option enables support for early PIIX PATA support.
852
853 If unsure, say N.
854
855config PATA_OPTIDMA
856 tristate "OPTI FireStar PATA support (Very Experimental)"
857 depends on PCI
858 help
859 This option enables DMA/PIO support for the later OPTi
860 controllers found on some old motherboards and in some
861 laptops.
862
863 If unsure, say N.
864
865config PATA_PDC2027X
866 tristate "Promise PATA 2027x support"
867 depends on PCI
868 help
869 This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
870
871 If unsure, say N.
872
873config PATA_PDC_OLD
874 tristate "Older Promise PATA controller support"
875 depends on PCI
876 help
877 This option enables support for the Promise 20246, 20262, 20263,
878 20265 and 20267 adapters.
879
880 If unsure, say N.
881
882config PATA_RADISYS
883 tristate "RADISYS 82600 PATA support (Experimental)"
884 depends on PCI
885 help
886 This option enables support for the RADISYS 82600
887 PATA controllers via the new ATA layer
888
889 If unsure, say N.
890
891config PATA_RDC
892 tristate "RDC PATA support"
893 depends on PCI
894 help
895 This option enables basic support for the later RDC PATA controllers
896 controllers via the new ATA layer. For the RDC 1010, you need to
897 enable the IT821X driver instead.
898
899 If unsure, say N.
900
901config PATA_SC1200
902 tristate "SC1200 PATA support"
903 depends on PCI && (X86_32 || COMPILE_TEST)
904 help
905 This option enables support for the NatSemi/AMD SC1200 SoC
906 companion chip used with the Geode processor family.
907
908 If unsure, say N.
909
910config PATA_SCH
911 tristate "Intel SCH PATA support"
912 depends on PCI
913 help
914 This option enables support for Intel SCH PATA on the Intel
915 SCH (US15W, US15L, UL11L) series host controllers.
916
917 If unsure, say N.
918
919config PATA_SERVERWORKS
920 tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
921 depends on PCI
922 help
923 This option enables support for the Serverworks OSB4/CSB5/CSB6 and
924 HT1000 PATA controllers, via the new ATA layer.
925
926 If unsure, say N.
927
928config PATA_SIL680
929 tristate "CMD / Silicon Image 680 PATA support"
930 depends on PCI
931 help
932 This option enables support for CMD / Silicon Image 680 PATA.
933
934 If unsure, say N.
935
936config PATA_SIS
937 tristate "SiS PATA support"
938 depends on PCI
939 help
940 This option enables support for SiS PATA controllers
941
942 If unsure, say N.
943
944config PATA_TOSHIBA
945 tristate "Toshiba Piccolo support (Experimental)"
946 depends on PCI
947 help
948 Support for the Toshiba Piccolo controllers. Currently only the
949 primary channel is supported by this driver.
950
951 If unsure, say N.
952
953config PATA_TRIFLEX
954 tristate "Compaq Triflex PATA support"
955 depends on PCI
956 help
957 Enable support for the Compaq 'Triflex' IDE controller as found
958 on many Compaq Pentium-Pro systems, via the new ATA layer.
959
960 If unsure, say N.
961
962config PATA_VIA
963 tristate "VIA PATA support"
964 depends on PCI
965 select PATA_TIMINGS
966 help
967 This option enables support for the VIA PATA interfaces
968 found on the many VIA chipsets.
969
970 If unsure, say N.
971
972config PATA_PXA
973 tristate "PXA DMA-capable PATA support"
974 depends on ARCH_PXA || COMPILE_TEST
975 help
976 This option enables support for harddrive attached to PXA CPU's bus.
977
978 NOTE: This driver utilizes PXA DMA controller, in case your hardware
979 is not capable of doing MWDMA, use pata_platform instead.
980
981 If unsure, say N.
982
983config PATA_WINBOND
984 tristate "Winbond SL82C105 PATA support"
985 depends on PCI
986 help
987 This option enables support for SL82C105 PATA devices found in the
988 Netwinder and some other systems
989
990 If unsure, say N.
991
992endif # ATA_BMDMA
993
994comment "PIO-only SFF controllers"
995
996config PATA_CMD640_PCI
997 tristate "CMD640 PCI PATA support (Experimental)"
998 depends on PCI
999 select PATA_TIMINGS
1000 help
1001 This option enables support for the CMD640 PCI IDE
1002 interface chip. Only the primary channel is currently
1003 supported.
1004
1005 If unsure, say N.
1006
1007config PATA_FALCON
1008 tristate "Atari Falcon and Q40/Q60 PATA support"
1009 depends on M68K && (ATARI || Q40)
1010 help
1011 This option enables support for the on-board IDE
1012 interface on the Atari Falcon and Q40/Q60.
1013
1014 If unsure, say N.
1015
1016config PATA_GAYLE
1017 tristate "Amiga Gayle PATA support"
1018 depends on M68K && AMIGA
1019 help
1020 This option enables support for the on-board IDE
1021 interfaces on some Amiga models (A600, A1200,
1022 A4000 and A4000T) and also for IDE interfaces on
1023 the Zorro expansion bus (M-Tech E-Matrix 530
1024 expansion card).
1025
1026 If unsure, say N.
1027
1028config PATA_BUDDHA
1029 tristate "Buddha/Catweasel/X-Surf PATA support"
1030 depends on ZORRO
1031 help
1032 This option enables support for the IDE interfaces
1033 on the Buddha, Catweasel and X-Surf expansion boards
1034 on the Zorro expansion bus. It supports up to two
1035 interfaces on the Buddha, three on the Catweasel and
1036 two on the X-Surf.
1037
1038 If unsure, say N.
1039
1040config PATA_ISAPNP
1041 tristate "ISA Plug and Play PATA support"
1042 depends on ISAPNP
1043 help
1044 This option enables support for ISA plug & play ATA
1045 controllers such as those found on old soundcards.
1046
1047 If unsure, say N.
1048
1049config PATA_IXP4XX_CF
1050 tristate "IXP4XX Compact Flash support"
1051 depends on ARCH_IXP4XX || COMPILE_TEST
1052 help
1053 This option enables support for a Compact Flash connected on
1054 the ixp4xx expansion bus. This driver had been written for
1055 Loft/Avila boards in mind but can work with others.
1056
1057 If unsure, say N.
1058
1059config PATA_MPIIX
1060 tristate "Intel PATA MPIIX support"
1061 depends on PCI
1062 help
1063 This option enables support for MPIIX PATA support.
1064
1065 If unsure, say N.
1066
1067config PATA_NS87410
1068 tristate "Nat Semi NS87410 PATA support"
1069 depends on PCI
1070 select PATA_TIMINGS
1071 help
1072 This option enables support for the National Semiconductor
1073 NS87410 PCI-IDE controller.
1074
1075 If unsure, say N.
1076
1077config PATA_OPTI
1078 tristate "OPTI621/6215 PATA support (Very Experimental)"
1079 depends on PCI
1080 help
1081 This option enables full PIO support for the early Opti ATA
1082 controllers found on some old motherboards.
1083
1084 If unsure, say N.
1085
1086config PATA_PCMCIA
1087 tristate "PCMCIA PATA support"
1088 depends on PCMCIA
1089 help
1090 This option enables support for PCMCIA ATA interfaces, including
1091 compact flash card adapters via the new ATA layer.
1092
1093 If unsure, say N.
1094
1095config PATA_PLATFORM
1096 tristate "Generic platform device PATA support" if HAVE_PATA_PLATFORM
1097 help
1098 This option enables support for generic directly connected ATA
1099 devices commonly found on embedded systems.
1100
1101 If unsure, say N.
1102
1103config PATA_OF_PLATFORM
1104 tristate "OpenFirmware platform device PATA support"
1105 depends on OF
1106 select PATA_PLATFORM
1107 help
1108 This option enables support for generic directly connected ATA
1109 devices commonly found on embedded systems with OpenFirmware
1110 bindings.
1111
1112 If unsure, say N.
1113
1114config PATA_QDI
1115 tristate "QDI VLB PATA support"
1116 depends on ISA
1117 select PATA_LEGACY
1118 help
1119 Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
1120
1121config PATA_RB532
1122 tristate "RouterBoard 532 PATA CompactFlash support"
1123 depends on MIKROTIK_RB532
1124 help
1125 This option enables support for the RouterBoard 532
1126 PATA CompactFlash controller.
1127
1128 If unsure, say N.
1129
1130config PATA_RZ1000
1131 tristate "PC Tech RZ1000 PATA support"
1132 depends on PCI
1133 help
1134 This option enables basic support for the PC Tech RZ1000/1
1135 PATA controllers via the new ATA layer
1136
1137 If unsure, say N.
1138
1139config PATA_WINBOND_VLB
1140 tristate "Winbond W83759A VLB PATA support (Experimental)"
1141 depends on ISA
1142 select PATA_LEGACY
1143 help
1144 Support for the Winbond W83759A controller on Vesa Local Bus
1145 systems.
1146
1147config PATA_PARPORT
1148 tristate "Parallel port IDE device support"
1149 depends on PARPORT_PC
1150 help
1151 There are many external CD-ROM and disk devices that connect through
1152 your computer's parallel port. Most of them are actually IDE devices
1153 using a parallel port IDE adapter. This option enables the
1154 PATA_PARPORT subsystem which contains drivers for many of these
1155 external drives.
1156 Read <file:Documentation/admin-guide/blockdev/paride.rst> for more
1157 information.
1158
1159source "drivers/ata/pata_parport/Kconfig"
1160
1161comment "Generic fallback / legacy drivers"
1162
1163config PATA_ACPI
1164 tristate "ACPI firmware driver for PATA"
1165 depends on ATA_ACPI && ATA_BMDMA && PCI
1166 select PATA_TIMINGS
1167 help
1168 This option enables an ACPI method driver which drives
1169 motherboard PATA controller interfaces through the ACPI
1170 firmware in the BIOS. This driver can sometimes handle
1171 otherwise unsupported hardware.
1172
1173config ATA_GENERIC
1174 tristate "Generic ATA support"
1175 depends on PCI && ATA_BMDMA
1176 select SATA_HOST
1177 help
1178 This option enables support for generic BIOS configured
1179 ATA controllers via the new ATA layer
1180
1181 If unsure, say N.
1182
1183config PATA_LEGACY
1184 tristate "Legacy ISA PATA support (Experimental)"
1185 depends on (ISA || PCI)
1186 select PATA_TIMINGS
1187 help
1188 This option enables support for ISA/VLB/PCI bus legacy PATA
1189 ports and allows them to be accessed via the new ATA layer.
1190
1191 If unsure, say N.
1192
1193endif # ATA_SFF
1194endif # ATA