xref: /openbmc/linux/drivers/ata/Kconfig (revision 6ee73861)
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_ATP867X
259	tristate "ARTOP/Acard ATP867X PATA support"
260	depends on PCI
261	help
262	  This option enables support for ARTOP/Acard ATP867X PATA
263	  controllers.
264
265	  If unsure, say N.
266
267config PATA_AT32
268	tristate "Atmel AVR32 PATA support (Experimental)"
269	depends on AVR32 && PLATFORM_AT32AP && EXPERIMENTAL
270	help
271	  This option enables support for the IDE devices on the
272	  Atmel AT32AP platform.
273
274	  If unsure, say N.
275
276config PATA_ATIIXP
277	tristate "ATI PATA support"
278	depends on PCI
279	help
280	  This option enables support for the ATI ATA interfaces
281	  found on the many ATI chipsets.
282
283	  If unsure, say N.
284
285config PATA_CMD640_PCI
286	tristate "CMD640 PCI PATA support (Experimental)"
287	depends on PCI && EXPERIMENTAL
288	help
289	  This option enables support for the CMD640 PCI IDE
290	  interface chip. Only the primary channel is currently
291	  supported.
292
293	  If unsure, say N.
294
295config PATA_CMD64X
296	tristate "CMD64x PATA support"
297	depends on PCI
298	help
299	  This option enables support for the CMD64x series chips
300	  except for the CMD640.
301
302	  If unsure, say N.
303
304config PATA_CS5520
305	tristate "CS5510/5520 PATA support"
306	depends on PCI
307	help
308	  This option enables support for the Cyrix 5510/5520
309	  companion chip used with the MediaGX/Geode processor family.
310
311	  If unsure, say N.
312
313config PATA_CS5530
314	tristate "CS5530 PATA support"
315	depends on PCI
316	help
317	  This option enables support for the Cyrix/NatSemi/AMD CS5530
318	  companion chip used with the MediaGX/Geode processor family.
319
320	  If unsure, say N.
321
322config PATA_CS5535
323	tristate "CS5535 PATA support (Experimental)"
324	depends on PCI && X86 && !X86_64 && EXPERIMENTAL
325	help
326	  This option enables support for the NatSemi/AMD CS5535
327	  companion chip used with the Geode processor family.
328
329	  If unsure, say N.
330
331config PATA_CS5536
332	tristate "CS5536 PATA support"
333	depends on PCI && X86 && !X86_64
334	help
335	  This option enables support for the AMD CS5536
336	  companion chip used with the Geode LX processor family.
337
338	  If unsure, say N.
339
340config PATA_CYPRESS
341	tristate "Cypress CY82C693 PATA support (Very Experimental)"
342	depends on PCI && EXPERIMENTAL
343	help
344	  This option enables support for the Cypress/Contaq CY82C693
345	  chipset found in some Alpha systems
346
347	  If unsure, say N.
348
349config PATA_EFAR
350	tristate "EFAR SLC90E66 support"
351	depends on PCI
352	help
353	  This option enables support for the EFAR SLC90E66
354	  IDE controller found on some older machines.
355
356	  If unsure, say N.
357
358config ATA_GENERIC
359	tristate "Generic ATA support"
360	depends on PCI
361	help
362	  This option enables support for generic BIOS configured
363	  ATA controllers via the new ATA layer
364
365	  If unsure, say N.
366
367config PATA_HPT366
368	tristate "HPT 366/368 PATA support"
369	depends on PCI
370	help
371	  This option enables support for the HPT 366 and 368
372	  PATA controllers via the new ATA layer.
373
374	  If unsure, say N.
375
376config PATA_HPT37X
377	tristate "HPT 370/370A/371/372/374/302 PATA support (Experimental)"
378	depends on PCI && EXPERIMENTAL
379	help
380	  This option enables support for the majority of the later HPT
381	  PATA controllers via the new ATA layer.
382
383	  If unsure, say N.
384
385config PATA_HPT3X2N
386	tristate "HPT 372N/302N PATA support (Experimental)"
387	depends on PCI && EXPERIMENTAL
388	help
389	  This option enables support for the N variant HPT PATA
390	  controllers via the new ATA layer
391
392	  If unsure, say N.
393
394config PATA_HPT3X3
395	tristate "HPT 343/363 PATA support"
396	depends on PCI
397	help
398	  This option enables support for the HPT 343/363
399	  PATA controllers via the new ATA layer
400
401	  If unsure, say N.
402
403config PATA_HPT3X3_DMA
404	bool "HPT 343/363 DMA support (Experimental)"
405	depends on PATA_HPT3X3
406	help
407	  This option enables DMA support for the HPT343/363
408	  controllers. Enable with care as there are still some
409	  problems with DMA on this chipset.
410
411config PATA_ISAPNP
412	tristate "ISA Plug and Play PATA support"
413	depends on ISAPNP
414	help
415	  This option enables support for ISA plug & play ATA
416	  controllers such as those found on old soundcards.
417
418	  If unsure, say N.
419
420config PATA_IT821X
421	tristate "IT8211/2 PATA support"
422	depends on PCI
423	help
424	  This option enables support for the ITE 8211 and 8212
425	  PATA controllers via the new ATA layer, including RAID
426	  mode.
427
428	  If unsure, say N.
429
430config PATA_IT8213
431	tristate "IT8213 PATA support (Experimental)"
432	depends on PCI && EXPERIMENTAL
433	help
434	  This option enables support for the ITE 821 PATA
435          controllers via the new ATA layer.
436
437	  If unsure, say N.
438
439config PATA_JMICRON
440	tristate "JMicron PATA support"
441	depends on PCI
442	help
443	  Enable support for the JMicron IDE controller, via the new
444	  ATA layer.
445
446	  If unsure, say N.
447
448config PATA_LEGACY
449	tristate "Legacy ISA PATA support (Experimental)"
450	depends on ISA && EXPERIMENTAL
451	help
452	  This option enables support for ISA/VLB bus legacy PATA
453	  ports and allows them to be accessed via the new ATA layer.
454
455	  If unsure, say N.
456
457config PATA_TRIFLEX
458	tristate "Compaq Triflex PATA support"
459	depends on PCI
460	help
461	  Enable support for the Compaq 'Triflex' IDE controller as found
462	  on many Compaq Pentium-Pro systems, via the new ATA layer.
463
464	  If unsure, say N.
465
466config PATA_MARVELL
467	tristate "Marvell PATA support via legacy mode"
468	depends on PCI
469	help
470	  This option enables limited support for the Marvell 88SE61xx ATA
471	  controllers. If you wish to use only the SATA ports then select
472	  the AHCI driver alone. If you wish to the use the PATA port or
473	  both SATA and PATA include this driver.
474
475	  If unsure, say N.
476
477config PATA_MPC52xx
478	tristate "Freescale MPC52xx SoC internal IDE"
479	depends on PPC_MPC52xx && PPC_BESTCOMM
480	select PPC_BESTCOMM_ATA
481	help
482	  This option enables support for integrated IDE controller
483	  of the Freescale MPC52xx SoC.
484
485	  If unsure, say N.
486
487config PATA_MPIIX
488	tristate "Intel PATA MPIIX support"
489	depends on PCI
490	help
491	  This option enables support for MPIIX PATA support.
492
493	  If unsure, say N.
494
495config PATA_OLDPIIX
496	tristate "Intel PATA old PIIX support"
497	depends on PCI
498	help
499	  This option enables support for early PIIX PATA support.
500
501	  If unsure, say N.
502
503config PATA_NETCELL
504	tristate "NETCELL Revolution RAID support"
505	depends on PCI
506	help
507	  This option enables support for the Netcell Revolution RAID
508	  PATA controller.
509
510	  If unsure, say N.
511
512config PATA_NINJA32
513	tristate "Ninja32/Delkin Cardbus ATA support (Experimental)"
514	depends on PCI && EXPERIMENTAL
515	help
516	  This option enables support for the Ninja32, Delkin and
517	  possibly other brands of Cardbus ATA adapter
518
519	  If unsure, say N.
520
521config PATA_NS87410
522	tristate "Nat Semi NS87410 PATA support"
523	depends on PCI
524	help
525	  This option enables support for the National Semiconductor
526	  NS87410 PCI-IDE controller.
527
528	  If unsure, say N.
529
530config PATA_NS87415
531	tristate "Nat Semi NS87415 PATA support"
532	depends on PCI
533	help
534	  This option enables support for the National Semiconductor
535	  NS87415 PCI-IDE controller.
536
537	  If unsure, say N.
538
539config PATA_OPTI
540	tristate "OPTI621/6215 PATA support (Very Experimental)"
541	depends on PCI && EXPERIMENTAL
542	help
543	  This option enables full PIO support for the early Opti ATA
544	  controllers found on some old motherboards.
545
546	  If unsure, say N.
547
548config PATA_OPTIDMA
549	tristate "OPTI FireStar PATA support (Very Experimental)"
550	depends on PCI && EXPERIMENTAL
551	help
552	  This option enables DMA/PIO support for the later OPTi
553	  controllers found on some old motherboards and in some
554	  laptops.
555
556	  If unsure, say N.
557
558config PATA_PALMLD
559	tristate "Palm LifeDrive PATA support"
560	depends on MACH_PALMLD
561	help
562	  This option enables support for Palm LifeDrive's internal ATA
563	  port via the new ATA layer.
564
565	  If unsure, say N.
566
567config PATA_PCMCIA
568	tristate "PCMCIA PATA support"
569	depends on PCMCIA
570	help
571	  This option enables support for PCMCIA ATA interfaces, including
572	  compact flash card adapters via the new ATA layer.
573
574	  If unsure, say N.
575
576config PATA_PDC_OLD
577	tristate "Older Promise PATA controller support"
578	depends on PCI
579	help
580	  This option enables support for the Promise 20246, 20262, 20263,
581	  20265 and 20267 adapters.
582
583	  If unsure, say N.
584
585config PATA_QDI
586	tristate "QDI VLB PATA support"
587	depends on ISA
588	help
589	  Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
590
591config PATA_RADISYS
592	tristate "RADISYS 82600 PATA support (Experimental)"
593	depends on PCI && EXPERIMENTAL
594	help
595	  This option enables support for the RADISYS 82600
596	  PATA controllers via the new ATA layer
597
598	  If unsure, say N.
599
600config PATA_RB532
601	tristate "RouterBoard 532 PATA CompactFlash support"
602	depends on MIKROTIK_RB532
603	help
604	  This option enables support for the RouterBoard 532
605	  PATA CompactFlash controller.
606
607	  If unsure, say N.
608
609config PATA_RDC
610	tristate "RDC PATA support"
611	depends on PCI
612	help
613	  This option enables basic support for the later RDC PATA controllers
614	  controllers via the new ATA layer. For the RDC 1010, you need to
615	  enable the IT821X driver instead.
616
617	  If unsure, say N.
618
619config PATA_RZ1000
620	tristate "PC Tech RZ1000 PATA support"
621	depends on PCI
622	help
623	  This option enables basic support for the PC Tech RZ1000/1
624	  PATA controllers via the new ATA layer
625
626	  If unsure, say N.
627
628config PATA_SC1200
629	tristate "SC1200 PATA support"
630	depends on PCI
631	help
632	  This option enables support for the NatSemi/AMD SC1200 SoC
633	  companion chip used with the Geode processor family.
634
635	  If unsure, say N.
636
637config PATA_SERVERWORKS
638	tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
639	depends on PCI
640	help
641	  This option enables support for the Serverworks OSB4/CSB5/CSB6 and
642	  HT1000 PATA controllers, via the new ATA layer.
643
644	  If unsure, say N.
645
646config PATA_PDC2027X
647	tristate "Promise PATA 2027x support"
648	depends on PCI
649	help
650	  This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
651
652	  If unsure, say N.
653
654config PATA_SIL680
655	tristate "CMD / Silicon Image 680 PATA support"
656	depends on PCI
657	help
658	  This option enables support for CMD / Silicon Image 680 PATA.
659
660	  If unsure, say N.
661
662config PATA_SIS
663	tristate "SiS PATA support"
664	depends on PCI
665	help
666	  This option enables support for SiS PATA controllers
667
668	  If unsure, say N.
669
670config PATA_VIA
671	tristate "VIA PATA support"
672	depends on PCI
673	help
674	  This option enables support for the VIA PATA interfaces
675	  found on the many VIA chipsets.
676
677	  If unsure, say N.
678
679config PATA_WINBOND
680	tristate "Winbond SL82C105 PATA support"
681	depends on PCI
682	help
683	  This option enables support for SL82C105 PATA devices found in the
684	  Netwinder and some other systems
685
686	  If unsure, say N.
687
688config PATA_WINBOND_VLB
689	tristate "Winbond W83759A VLB PATA support (Experimental)"
690	depends on ISA && EXPERIMENTAL
691	help
692	  Support for the Winbond W83759A controller on Vesa Local Bus
693	  systems.
694
695config HAVE_PATA_PLATFORM
696	bool
697	help
698	  This is an internal configuration node for any machine that
699	  uses pata-platform driver to enable the relevant driver in the
700	  configuration structure without having to submit endless patches
701	  to update the PATA_PLATFORM entry.
702
703config PATA_PLATFORM
704	tristate "Generic platform device PATA support"
705	depends on EMBEDDED || PPC || HAVE_PATA_PLATFORM
706	help
707	  This option enables support for generic directly connected ATA
708	  devices commonly found on embedded systems.
709
710	  If unsure, say N.
711
712config PATA_AT91
713	tristate "PATA support for AT91SAM9260"
714	depends on ARM && ARCH_AT91
715	help
716	  This option enables support for IDE devices on the Atmel AT91SAM9260 SoC.
717
718	  If unsure, say N.
719
720config PATA_OF_PLATFORM
721	tristate "OpenFirmware platform device PATA support"
722	depends on PATA_PLATFORM && PPC_OF
723	help
724	  This option enables support for generic directly connected ATA
725	  devices commonly found on embedded systems with OpenFirmware
726	  bindings.
727
728	  If unsure, say N.
729
730config PATA_ICSIDE
731	tristate "Acorn ICS PATA support"
732	depends on ARM && ARCH_ACORN
733	help
734	  On Acorn systems, say Y here if you wish to use the ICS PATA
735	  interface card.  This is not required for ICS partition support.
736	  If you are unsure, say N to this.
737
738config PATA_IXP4XX_CF
739	tristate "IXP4XX Compact Flash support"
740	depends on ARCH_IXP4XX
741	help
742	  This option enables support for a Compact Flash connected on
743	  the ixp4xx expansion bus. This driver had been written for
744	  Loft/Avila boards in mind but can work with others.
745
746	  If unsure, say N.
747
748config PATA_OCTEON_CF
749	tristate "OCTEON Boot Bus Compact Flash support"
750	depends on CPU_CAVIUM_OCTEON
751	help
752	  This option enables a polled compact flash driver for use with
753	  compact flash cards attached to the OCTEON boot bus.
754
755	  If unsure, say N.
756
757config PATA_SCC
758	tristate "Toshiba's Cell Reference Set IDE support"
759	depends on PCI && PPC_CELLEB
760	help
761	  This option enables support for the built-in IDE controller on
762	  Toshiba Cell Reference Board.
763
764	  If unsure, say N.
765
766config PATA_SCH
767	tristate "Intel SCH PATA support"
768	depends on PCI
769	help
770	  This option enables support for Intel SCH PATA on the Intel
771	  SCH (US15W, US15L, UL11L) series host controllers.
772
773	  If unsure, say N.
774
775config PATA_BF54X
776	tristate "Blackfin 54x ATAPI support"
777	depends on BF542 || BF548 || BF549
778	help
779	  This option enables support for the built-in ATAPI controller on
780	  Blackfin 54x family chips.
781
782	  If unsure, say N.
783
784endif # ATA_SFF
785endif # ATA
786