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