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