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