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