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