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