Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6] / drivers / ata / Kconfig
1 #
2 # SATA/PATA driver configuration
3 #
4
5 menuconfig ATA
6         tristate "Serial ATA (prod) and Parallel ATA (experimental) drivers"
7         depends on HAS_IOMEM
8         depends on BLOCK
9         depends on !(M32R || M68K) || BROKEN
10         select SCSI
11         ---help---
12           If you want to use a ATA hard disk, ATA tape drive, ATA CD-ROM or
13           any other ATA device under Linux, say Y and make sure that you know
14           the name of your ATA host adapter (the card inside your computer
15           that "speaks" the ATA protocol, also called ATA controller),
16           because you will be asked for it.
17
18           NOTE: ATA enables basic SCSI support; *however*,
19           'SCSI disk support', 'SCSI tape support', or
20           'SCSI CDROM support' may also be needed,
21           depending on your hardware configuration.
22
23 if ATA
24
25 config ATA_NONSTANDARD
26        bool
27        default n
28
29 config ATA_ACPI
30         bool "ATA ACPI Support"
31         depends on ACPI && PCI
32         select ACPI_DOCK
33         default y
34         help
35           This option adds support for ATA-related ACPI objects.
36           These ACPI objects add the ability to retrieve taskfiles
37           from the ACPI BIOS and write them to the disk controller.
38           These objects may be related to performance, security,
39           power management, or other areas.
40           You can disable this at kernel boot time by using the
41           option libata.noacpi=1
42
43 config SATA_PMP
44         bool "SATA Port Multiplier support"
45         default y
46         help
47           This option adds support for SATA Port Multipliers
48           (the SATA version of an ethernet hub, or SAS expander).
49
50 config SATA_AHCI
51         tristate "AHCI SATA support"
52         depends on PCI
53         help
54           This option enables support for AHCI Serial ATA.
55
56           If unsure, say N.
57
58 config SATA_SIL24
59         tristate "Silicon Image 3124/3132 SATA support"
60         depends on PCI
61         help
62           This option enables support for Silicon Image 3124/3132 Serial ATA.
63
64           If unsure, say N.
65
66 config SATA_FSL
67         tristate "Freescale 3.0Gbps SATA support"
68         depends on FSL_SOC
69         help
70           This option enables support for Freescale 3.0Gbps SATA controller.
71           It can be found on MPC837x and MPC8315.
72
73           If unsure, say N.
74
75 config ATA_SFF
76         bool "ATA SFF support"
77         default y
78         help
79           This option adds support for ATA controllers with SFF
80           compliant or similar programming interface.
81
82           SFF is the legacy IDE interface that has been around since
83           the dawn of time.  Almost all PATA controllers have an
84           SFF interface.  Many SATA controllers have an SFF interface
85           when configured into a legacy compatibility mode.
86
87           For users with exclusively modern controllers like AHCI,
88           Silicon Image 3124, or Marvell 6440, you may choose to
89           disable this uneeded SFF support.
90
91           If unsure, say Y.
92
93 if ATA_SFF
94
95 config SATA_SVW
96         tristate "ServerWorks Frodo / Apple K2 SATA support"
97         depends on PCI
98         help
99           This option enables support for Broadcom/Serverworks/Apple K2
100           SATA support.
101
102           If unsure, say N.
103
104 config ATA_PIIX
105         tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
106         depends on PCI
107         help
108           This option enables support for ICH5/6/7/8 Serial ATA
109           and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
110           host controllers.
111
112           If unsure, say N.
113
114 config SATA_MV
115         tristate "Marvell SATA support (HIGHLY EXPERIMENTAL)"
116         depends on EXPERIMENTAL
117         help
118           This option enables support for the Marvell Serial ATA family.
119           Currently supports 88SX[56]0[48][01] chips.
120
121           If unsure, say N.
122
123 config SATA_NV
124         tristate "NVIDIA SATA support"
125         depends on PCI
126         help
127           This option enables support for NVIDIA Serial ATA.
128
129           If unsure, say N.
130
131 config PDC_ADMA
132         tristate "Pacific Digital ADMA support"
133         depends on PCI
134         help
135           This option enables support for Pacific Digital ADMA controllers
136
137           If unsure, say N.
138
139 config SATA_QSTOR
140         tristate "Pacific Digital SATA QStor support"
141         depends on PCI
142         help
143           This option enables support for Pacific Digital Serial ATA QStor.
144
145           If unsure, say N.
146
147 config SATA_PROMISE
148         tristate "Promise SATA TX2/TX4 support"
149         depends on PCI
150         help
151           This option enables support for Promise Serial ATA TX2/TX4.
152
153           If unsure, say N.
154
155 config SATA_SX4
156         tristate "Promise SATA SX4 support (Experimental)"
157         depends on PCI && EXPERIMENTAL
158         help
159           This option enables support for Promise Serial ATA SX4.
160
161           If unsure, say N.
162
163 config SATA_SIL
164         tristate "Silicon Image SATA support"
165         depends on PCI
166         help
167           This option enables support for Silicon Image Serial ATA.
168
169           If unsure, say N.
170
171 config SATA_SIS
172         tristate "SiS 964/965/966/180 SATA support"
173         depends on PCI
174         select PATA_SIS
175         help
176           This option enables support for SiS Serial ATA on
177           SiS 964/965/966/180 and Parallel ATA on SiS 180.
178           The PATA support for SiS 180 requires additionally to
179           enable the PATA_SIS driver in the config.
180           If unsure, say N.
181
182 config SATA_ULI
183         tristate "ULi Electronics SATA support"
184         depends on PCI
185         help
186           This option enables support for ULi Electronics SATA.
187
188           If unsure, say N.
189
190 config SATA_VIA
191         tristate "VIA SATA support"
192         depends on PCI
193         help
194           This option enables support for VIA Serial ATA.
195
196           If unsure, say N.
197
198 config SATA_VITESSE
199         tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
200         depends on PCI
201         help
202           This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
203
204           If unsure, say N.
205
206 config SATA_INIC162X
207         tristate "Initio 162x SATA support"
208         depends on PCI
209         help
210           This option enables support for Initio 162x Serial ATA.
211
212 config PATA_ACPI
213         tristate "ACPI firmware driver for PATA"
214         depends on ATA_ACPI
215         help
216           This option enables an ACPI method driver which drives
217           motherboard PATA controller interfaces through the ACPI
218           firmware in the BIOS. This driver can sometimes handle
219           otherwise unsupported hardware.
220
221 config PATA_ALI
222         tristate "ALi PATA support"
223         depends on PCI
224         help
225           This option enables support for the ALi ATA interfaces
226           found on the many ALi chipsets.
227
228           If unsure, say N.
229
230 config PATA_AMD
231         tristate "AMD/NVidia PATA support"
232         depends on PCI
233         help
234           This option enables support for the AMD and NVidia PATA
235           interfaces found on the chipsets for Athlon/Athlon64.
236
237           If unsure, say N.
238
239 config PATA_ARTOP
240         tristate "ARTOP 6210/6260 PATA support"
241         depends on PCI
242         help
243           This option enables support for ARTOP PATA controllers.
244
245           If unsure, say N.
246
247 config PATA_AT32
248         tristate "Atmel AVR32 PATA support (Experimental)"
249         depends on AVR32 && PLATFORM_AT32AP && EXPERIMENTAL
250         help
251           This option enables support for the IDE devices on the
252           Atmel AT32AP platform.
253
254           If unsure, say N.
255
256 config PATA_ATIIXP
257         tristate "ATI PATA support"
258         depends on PCI
259         help
260           This option enables support for the ATI ATA interfaces
261           found on the many ATI chipsets.
262
263           If unsure, say N.
264
265 config PATA_CMD640_PCI
266         tristate "CMD640 PCI PATA support (Experimental)"
267         depends on PCI && EXPERIMENTAL
268         help
269           This option enables support for the CMD640 PCI IDE
270           interface chip. Only the primary channel is currently
271           supported.
272
273           If unsure, say N.
274
275 config PATA_CMD64X
276         tristate "CMD64x PATA support"
277         depends on PCI
278         help
279           This option enables support for the CMD64x series chips
280           except for the CMD640.
281
282           If unsure, say N.
283
284 config PATA_CS5520
285         tristate "CS5510/5520 PATA support"
286         depends on PCI
287         help
288           This option enables support for the Cyrix 5510/5520
289           companion chip used with the MediaGX/Geode processor family.
290
291           If unsure, say N.
292
293 config PATA_CS5530
294         tristate "CS5530 PATA support"
295         depends on PCI
296         help
297           This option enables support for the Cyrix/NatSemi/AMD CS5530
298           companion chip used with the MediaGX/Geode processor family.
299
300           If unsure, say N.
301
302 config PATA_CS5535
303         tristate "CS5535 PATA support (Experimental)"
304         depends on PCI && X86 && !X86_64 && EXPERIMENTAL
305         help
306           This option enables support for the NatSemi/AMD CS5535
307           companion chip used with the Geode processor family.
308
309           If unsure, say N.
310
311 config PATA_CS5536
312         tristate "CS5536 PATA support"
313         depends on PCI && X86 && !X86_64
314         help
315           This option enables support for the AMD CS5536
316           companion chip used with the Geode LX processor family.
317
318           If unsure, say N.
319
320 config PATA_CYPRESS
321         tristate "Cypress CY82C693 PATA support (Very Experimental)"
322         depends on PCI && EXPERIMENTAL
323         help
324           This option enables support for the Cypress/Contaq CY82C693
325           chipset found in some Alpha systems
326
327           If unsure, say N.
328
329 config PATA_EFAR
330         tristate "EFAR SLC90E66 support"
331         depends on PCI
332         help
333           This option enables support for the EFAR SLC90E66
334           IDE controller found on some older machines.
335
336           If unsure, say N.
337
338 config ATA_GENERIC
339         tristate "Generic ATA support"
340         depends on PCI
341         help
342           This option enables support for generic BIOS configured
343           ATA controllers via the new ATA layer
344
345           If unsure, say N.
346
347 config PATA_HPT366
348         tristate "HPT 366/368 PATA support"
349         depends on PCI
350         help
351           This option enables support for the HPT 366 and 368
352           PATA controllers via the new ATA layer.
353
354           If unsure, say N.
355
356 config PATA_HPT37X
357         tristate "HPT 370/370A/371/372/374/302 PATA support (Experimental)"
358         depends on PCI && EXPERIMENTAL
359         help
360           This option enables support for the majority of the later HPT
361           PATA controllers via the new ATA layer.
362
363           If unsure, say N.
364
365 config PATA_HPT3X2N
366         tristate "HPT 372N/302N PATA support (Experimental)"
367         depends on PCI && EXPERIMENTAL
368         help
369           This option enables support for the N variant HPT PATA
370           controllers via the new ATA layer
371
372           If unsure, say N.
373
374 config PATA_HPT3X3
375         tristate "HPT 343/363 PATA support"
376         depends on PCI
377         help
378           This option enables support for the HPT 343/363
379           PATA controllers via the new ATA layer
380
381           If unsure, say N.
382
383 config PATA_HPT3X3_DMA
384         bool "HPT 343/363 DMA support (Experimental)"
385         depends on PATA_HPT3X3
386         help
387           This option enables DMA support for the HPT343/363
388           controllers. Enable with care as there are still some
389           problems with DMA on this chipset.
390
391 config PATA_ISAPNP
392         tristate "ISA Plug and Play PATA support"
393         depends on ISAPNP
394         help
395           This option enables support for ISA plug & play ATA
396           controllers such as those found on old soundcards.
397
398           If unsure, say N.
399
400 config PATA_IT821X
401         tristate "IT8211/2 PATA support"
402         depends on PCI
403         help
404           This option enables support for the ITE 8211 and 8212
405           PATA controllers via the new ATA layer, including RAID
406           mode.
407
408           If unsure, say N.
409
410 config PATA_IT8213
411         tristate "IT8213 PATA support (Experimental)"
412         depends on PCI && EXPERIMENTAL
413         help
414           This option enables support for the ITE 821 PATA
415           controllers via the new ATA layer.
416
417           If unsure, say N.
418
419 config PATA_JMICRON
420         tristate "JMicron PATA support"
421         depends on PCI
422         help
423           Enable support for the JMicron IDE controller, via the new
424           ATA layer.
425
426           If unsure, say N.
427
428 config PATA_LEGACY
429         tristate "Legacy ISA PATA support (Experimental)"
430         depends on ISA && EXPERIMENTAL
431         help
432           This option enables support for ISA/VLB bus legacy PATA
433           ports and allows them to be accessed via the new ATA layer.
434
435           If unsure, say N.
436
437 config PATA_TRIFLEX
438         tristate "Compaq Triflex PATA support"
439         depends on PCI
440         help
441           Enable support for the Compaq 'Triflex' IDE controller as found
442           on many Compaq Pentium-Pro systems, via the new ATA layer.
443
444           If unsure, say N.
445
446 config PATA_MARVELL
447         tristate "Marvell PATA support via legacy mode"
448         depends on PCI
449         help
450           This option enables limited support for the Marvell 88SE61xx ATA
451           controllers. If you wish to use only the SATA ports then select
452           the AHCI driver alone. If you wish to the use the PATA port or
453           both SATA and PATA include this driver.
454
455           If unsure, say N.
456
457 config PATA_MPC52xx
458         tristate "Freescale MPC52xx SoC internal IDE"
459         depends on PPC_MPC52xx && PPC_BESTCOMM
460         select PPC_BESTCOMM_ATA
461         help
462           This option enables support for integrated IDE controller
463           of the Freescale MPC52xx SoC.
464
465           If unsure, say N.
466
467 config PATA_MPIIX
468         tristate "Intel PATA MPIIX support"
469         depends on PCI
470         help
471           This option enables support for MPIIX PATA support.
472
473           If unsure, say N.
474
475 config PATA_OLDPIIX
476         tristate "Intel PATA old PIIX support"
477         depends on PCI
478         help
479           This option enables support for early PIIX PATA support.
480
481           If unsure, say N.
482
483 config PATA_NETCELL
484         tristate "NETCELL Revolution RAID support"
485         depends on PCI
486         help
487           This option enables support for the Netcell Revolution RAID
488           PATA controller.
489
490           If unsure, say N.
491
492 config PATA_NINJA32
493         tristate "Ninja32/Delkin Cardbus ATA support (Experimental)"
494         depends on PCI && EXPERIMENTAL
495         help
496           This option enables support for the Ninja32, Delkin and
497           possibly other brands of Cardbus ATA adapter
498
499           If unsure, say N.
500
501 config PATA_NS87410
502         tristate "Nat Semi NS87410 PATA support"
503         depends on PCI
504         help
505           This option enables support for the National Semiconductor
506           NS87410 PCI-IDE controller.
507
508           If unsure, say N.
509
510 config PATA_NS87415
511         tristate "Nat Semi NS87415 PATA support"
512         depends on PCI
513         help
514           This option enables support for the National Semiconductor
515           NS87415 PCI-IDE controller.
516
517           If unsure, say N.
518
519 config PATA_OPTI
520         tristate "OPTI621/6215 PATA support (Very Experimental)"
521         depends on PCI && EXPERIMENTAL
522         help
523           This option enables full PIO support for the early Opti ATA
524           controllers found on some old motherboards.
525
526           If unsure, say N.
527
528 config PATA_OPTIDMA
529         tristate "OPTI FireStar PATA support (Very Experimental)"
530         depends on PCI && EXPERIMENTAL
531         help
532           This option enables DMA/PIO support for the later OPTi
533           controllers found on some old motherboards and in some
534           laptops.
535
536           If unsure, say N.
537
538 config PATA_PCMCIA
539         tristate "PCMCIA PATA support"
540         depends on PCMCIA
541         help
542           This option enables support for PCMCIA ATA interfaces, including
543           compact flash card adapters via the new ATA layer.
544
545           If unsure, say N.
546
547 config PATA_PDC_OLD
548         tristate "Older Promise PATA controller support"
549         depends on PCI
550         help
551           This option enables support for the Promise 20246, 20262, 20263,
552           20265 and 20267 adapters.
553
554           If unsure, say N.
555
556 config PATA_QDI
557         tristate "QDI VLB PATA support"
558         depends on ISA
559         help
560           Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
561
562 config PATA_RADISYS
563         tristate "RADISYS 82600 PATA support (Experimental)"
564         depends on PCI && EXPERIMENTAL
565         help
566           This option enables support for the RADISYS 82600
567           PATA controllers via the new ATA layer
568
569           If unsure, say N.
570
571 config PATA_RB532
572         tristate "RouterBoard 532 PATA CompactFlash support"
573         depends on MIKROTIK_RB532
574         help
575           This option enables support for the RouterBoard 532
576           PATA CompactFlash controller.
577
578           If unsure, say N.
579
580 config PATA_RZ1000
581         tristate "PC Tech RZ1000 PATA support"
582         depends on PCI
583         help
584           This option enables basic support for the PC Tech RZ1000/1
585           PATA controllers via the new ATA layer
586
587           If unsure, say N.
588
589 config PATA_SC1200
590         tristate "SC1200 PATA support"
591         depends on PCI
592         help
593           This option enables support for the NatSemi/AMD SC1200 SoC
594           companion chip used with the Geode processor family.
595
596           If unsure, say N.
597
598 config PATA_SERVERWORKS
599         tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
600         depends on PCI
601         help
602           This option enables support for the Serverworks OSB4/CSB5/CSB6 and
603           HT1000 PATA controllers, via the new ATA layer.
604
605           If unsure, say N.
606
607 config PATA_PDC2027X
608         tristate "Promise PATA 2027x support"
609         depends on PCI
610         help
611           This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
612
613           If unsure, say N.
614
615 config PATA_SIL680
616         tristate "CMD / Silicon Image 680 PATA support"
617         depends on PCI
618         help
619           This option enables support for CMD / Silicon Image 680 PATA.
620
621           If unsure, say N.
622
623 config PATA_SIS
624         tristate "SiS PATA support"
625         depends on PCI
626         help
627           This option enables support for SiS PATA controllers
628
629           If unsure, say N.
630
631 config PATA_VIA
632         tristate "VIA PATA support"
633         depends on PCI
634         help
635           This option enables support for the VIA PATA interfaces
636           found on the many VIA chipsets.
637
638           If unsure, say N.
639
640 config PATA_WINBOND
641         tristate "Winbond SL82C105 PATA support"
642         depends on PCI
643         help
644           This option enables support for SL82C105 PATA devices found in the
645           Netwinder and some other systems
646
647           If unsure, say N.
648
649 config PATA_WINBOND_VLB
650         tristate "Winbond W83759A VLB PATA support (Experimental)"
651         depends on ISA && EXPERIMENTAL
652         help
653           Support for the Winbond W83759A controller on Vesa Local Bus
654           systems.
655
656 config HAVE_PATA_PLATFORM
657         bool
658         help
659           This is an internal configuration node for any machine that
660           uses pata-platform driver to enable the relevant driver in the
661           configuration structure without having to submit endless patches
662           to update the PATA_PLATFORM entry.
663
664 config PATA_PLATFORM
665         tristate "Generic platform device PATA support"
666         depends on EMBEDDED || PPC || HAVE_PATA_PLATFORM
667         help
668           This option enables support for generic directly connected ATA
669           devices commonly found on embedded systems.
670
671           If unsure, say N.
672
673 config PATA_OF_PLATFORM
674         tristate "OpenFirmware platform device PATA support"
675         depends on PATA_PLATFORM && PPC_OF
676         help
677           This option enables support for generic directly connected ATA
678           devices commonly found on embedded systems with OpenFirmware
679           bindings.
680
681           If unsure, say N.
682
683 config PATA_ICSIDE
684         tristate "Acorn ICS PATA support"
685         depends on ARM && ARCH_ACORN
686         help
687           On Acorn systems, say Y here if you wish to use the ICS PATA
688           interface card.  This is not required for ICS partition support.
689           If you are unsure, say N to this.
690
691 config PATA_IXP4XX_CF
692         tristate "IXP4XX Compact Flash support"
693         depends on ARCH_IXP4XX
694         help
695           This option enables support for a Compact Flash connected on
696           the ixp4xx expansion bus. This driver had been written for
697           Loft/Avila boards in mind but can work with others.
698
699           If unsure, say N.
700
701 config PATA_SCC
702         tristate "Toshiba's Cell Reference Set IDE support"
703         depends on PCI && PPC_CELLEB
704         help
705           This option enables support for the built-in IDE controller on
706           Toshiba Cell Reference Board.
707
708           If unsure, say N.
709
710 config PATA_SCH
711         tristate "Intel SCH PATA support"
712         depends on PCI
713         help
714           This option enables support for Intel SCH PATA on the Intel
715           SCH (US15W, US15L, UL11L) series host controllers.
716
717           If unsure, say N.
718
719 config PATA_BF54X
720         tristate "Blackfin 54x ATAPI support"
721         depends on BF542 || BF548 || BF549
722         help
723           This option enables support for the built-in ATAPI controller on
724           Blackfin 54x family chips.
725
726           If unsure, say N.
727
728 endif # ATA_SFF
729 endif # ATA