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