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