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