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