xref: /openbmc/linux/drivers/ata/Kconfig (revision a09d2831)
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_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
76config 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
85config 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
103if ATA_SFF
104
105config 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
114config 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
124config 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
133config 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
141config 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
149config 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
157config 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
165config 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
173config 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
181config 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
192config 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
200config 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
208config 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
216config 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
222config 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
231config 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
240config 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
249config 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
257config 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
266config 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
275config 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
284config 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
294config 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
303config 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
312config 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
321config 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
330config 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
339config 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
348config 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
357config 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
366config 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
375config 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
384config 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
393config 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
402config 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
410config 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
419config 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
429config 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
438config 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
447config PATA_LEGACY
448	tristate "Legacy ISA PATA support (Experimental)"
449	depends on ISA && EXPERIMENTAL
450	help
451	  This option enables support for ISA/VLB bus legacy PATA
452	  ports and allows them to be accessed via the new ATA layer.
453
454	  If unsure, say N.
455
456config 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
465config 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
476config 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
486config 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
494config 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
502config 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
511config 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
520config 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
529config 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
538config 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
547config 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
557config 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
566config 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
575config 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
583config 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
592config 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
598config 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
607config 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
616config 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
626config 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
635config 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
644config 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
653config 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
661config 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
669config 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
678config 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
687config 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
696config 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
703config 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
711config 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
720config 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
728config 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
738config 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
746config 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
756config 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
765config 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
774config 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
783config 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
792config 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
802endif # ATA_SFF
803endif # ATA
804