xref: /openbmc/linux/drivers/ata/Kconfig (revision bc05aa6e)
1# SPDX-License-Identifier: GPL-2.0
2#
3# SATA/PATA driver configuration
4#
5
6config HAVE_PATA_PLATFORM
7	bool
8	help
9	  This is an internal configuration node for any machine that
10	  uses pata-platform driver to enable the relevant driver in the
11	  configuration structure without having to submit endless patches
12	  to update the PATA_PLATFORM entry.
13
14menuconfig ATA
15	tristate "Serial ATA and Parallel ATA drivers (libata)"
16	depends on HAS_IOMEM
17	depends on BLOCK
18	select SCSI
19	select GLOB
20	---help---
21	  If you want to use an ATA hard disk, ATA tape drive, ATA CD-ROM or
22	  any other ATA device under Linux, say Y and make sure that you know
23	  the name of your ATA host adapter (the card inside your computer
24	  that "speaks" the ATA protocol, also called ATA controller),
25	  because you will be asked for it.
26
27	  NOTE: ATA enables basic SCSI support; *however*,
28	  'SCSI disk support', 'SCSI tape support', or
29	  'SCSI CDROM support' may also be needed,
30	  depending on your hardware configuration.
31
32if ATA
33
34config ATA_NONSTANDARD
35       bool
36       default n
37
38config ATA_VERBOSE_ERROR
39	bool "Verbose ATA error reporting"
40	default y
41	help
42	  This option adds parsing of ATA command descriptions and error bits
43	  in libata kernel output, making it easier to interpret.
44	  This option will enlarge the kernel by approx. 6KB. Disable it only
45	  if kernel size is more important than ease of debugging.
46
47	  If unsure, say Y.
48
49config ATA_ACPI
50	bool "ATA ACPI Support"
51	depends on ACPI
52	default y
53	help
54	  This option adds support for ATA-related ACPI objects.
55	  These ACPI objects add the ability to retrieve taskfiles
56	  from the ACPI BIOS and write them to the disk controller.
57	  These objects may be related to performance, security,
58	  power management, or other areas.
59	  You can disable this at kernel boot time by using the
60	  option libata.noacpi=1
61
62config SATA_ZPODD
63	bool "SATA Zero Power Optical Disc Drive (ZPODD) support"
64	depends on ATA_ACPI && PM
65	default n
66	help
67	  This option adds support for SATA Zero Power Optical Disc
68	  Drive (ZPODD). It requires both the ODD and the platform
69	  support, and if enabled, will automatically power on/off the
70	  ODD when certain condition is satisfied. This does not impact
71	  end user's experience of the ODD, only power is saved when
72	  the ODD is not in use (i.e. no disc inside).
73
74	  If unsure, say N.
75
76config SATA_PMP
77	bool "SATA Port Multiplier support"
78	default y
79	help
80	  This option adds support for SATA Port Multipliers
81	  (the SATA version of an ethernet hub, or SAS expander).
82
83if HAS_DMA
84
85comment "Controllers with non-SFF native interface"
86
87config SATA_AHCI
88	tristate "AHCI SATA support"
89	depends on PCI
90	help
91	  This option enables support for AHCI Serial ATA.
92
93	  If unsure, say N.
94
95config SATA_MOBILE_LPM_POLICY
96	int "Default SATA Link Power Management policy for mobile chipsets"
97	range 0 4
98	default 0
99	depends on SATA_AHCI
100	help
101	  Select the Default SATA Link Power Management (LPM) policy to use
102	  for mobile / laptop variants of chipsets / "South Bridges".
103
104	  The value set has the following meanings:
105		0 => Keep firmware settings
106		1 => Maximum performance
107		2 => Medium power
108		3 => Medium power with Device Initiated PM enabled
109		4 => Minimum power
110
111	  Note "Minimum power" is known to cause issues, including disk
112	  corruption, with some disks and should not be used.
113
114config SATA_AHCI_PLATFORM
115	tristate "Platform AHCI SATA support"
116	help
117	  This option enables support for Platform AHCI Serial ATA
118	  controllers.
119
120	  If unsure, say N.
121
122config AHCI_BRCM
123	tristate "Broadcom AHCI SATA support"
124	depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_NSP
125	help
126	  This option enables support for the AHCI SATA3 controller found on
127	  Broadcom SoC's.
128
129	  If unsure, say N.
130
131config AHCI_DA850
132	tristate "DaVinci DA850 AHCI SATA support"
133	depends on ARCH_DAVINCI_DA850
134	help
135	  This option enables support for the DaVinci DA850 SoC's
136	  onboard AHCI SATA.
137
138	  If unsure, say N.
139
140config AHCI_DM816
141	tristate "DaVinci DM816 AHCI SATA support"
142	depends on ARCH_OMAP2PLUS
143	help
144	  This option enables support for the DaVinci DM816 SoC's
145	  onboard AHCI SATA controller.
146
147	  If unsure, say N.
148
149config AHCI_ST
150	tristate "ST AHCI SATA support"
151	depends on ARCH_STI
152	help
153	  This option enables support for ST AHCI SATA controller.
154
155	  If unsure, say N.
156
157config AHCI_IMX
158	tristate "Freescale i.MX AHCI SATA support"
159	depends on MFD_SYSCON && (ARCH_MXC || COMPILE_TEST)
160	depends on (HWMON && (THERMAL || !THERMAL_OF)) || !HWMON
161	help
162	  This option enables support for the Freescale i.MX SoC's
163	  onboard AHCI SATA.
164
165	  If unsure, say N.
166
167config AHCI_CEVA
168	tristate "CEVA AHCI SATA support"
169	depends on OF
170	help
171	  This option enables support for the CEVA AHCI SATA.
172	  It can be found on the Xilinx Zynq UltraScale+ MPSoC.
173
174	  If unsure, say N.
175
176config AHCI_MTK
177	tristate "MediaTek AHCI SATA support"
178	depends on ARCH_MEDIATEK
179	select MFD_SYSCON
180	help
181	  This option enables support for the MediaTek SoC's
182	  onboard AHCI SATA controller.
183
184	  If unsure, say N.
185
186config AHCI_MVEBU
187	tristate "Marvell EBU AHCI SATA support"
188	depends on ARCH_MVEBU
189	help
190	  This option enables support for the Marvebu EBU SoC's
191	  onboard AHCI SATA.
192
193	  If unsure, say N.
194
195config AHCI_OCTEON
196	tristate "Cavium Octeon Soc Serial ATA"
197	depends on SATA_AHCI_PLATFORM && CAVIUM_OCTEON_SOC
198	default y
199	help
200	  This option enables support for Cavium Octeon SoC Serial ATA.
201
202	  If unsure, say N.
203
204config AHCI_SUNXI
205	tristate "Allwinner sunxi AHCI SATA support"
206	depends on ARCH_SUNXI
207	help
208	  This option enables support for the Allwinner sunxi SoC's
209	  onboard AHCI SATA.
210
211	  If unsure, say N.
212
213config AHCI_TEGRA
214	tristate "NVIDIA Tegra124 AHCI SATA support"
215	depends on ARCH_TEGRA
216	help
217	  This option enables support for the NVIDIA Tegra124 SoC's
218	  onboard AHCI SATA.
219
220	  If unsure, say N.
221
222config AHCI_XGENE
223	tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support"
224	depends on PHY_XGENE
225	help
226	 This option enables support for APM X-Gene SoC SATA host controller.
227
228config AHCI_QORIQ
229	tristate "Freescale QorIQ AHCI SATA support"
230	depends on OF
231	help
232	  This option enables support for the Freescale QorIQ AHCI SoC's
233	  onboard AHCI SATA.
234
235	  If unsure, say N.
236
237config SATA_FSL
238	tristate "Freescale 3.0Gbps SATA support"
239	depends on FSL_SOC
240	help
241	  This option enables support for Freescale 3.0Gbps SATA controller.
242	  It can be found on MPC837x and MPC8315.
243
244	  If unsure, say N.
245
246config SATA_GEMINI
247	tristate "Gemini SATA bridge support"
248	depends on ARCH_GEMINI || COMPILE_TEST
249	default ARCH_GEMINI
250	help
251	  This enabled support for the FTIDE010 to SATA bridge
252	  found in Cortina Systems Gemini platform.
253
254	  If unsure, say N.
255
256config SATA_AHCI_SEATTLE
257	tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support"
258	depends on ARCH_SEATTLE
259	help
260	 This option enables support for AMD Seattle SATA host controller.
261
262	 If unsure, say N
263
264config SATA_INIC162X
265	tristate "Initio 162x SATA support (Very Experimental)"
266	depends on PCI
267	help
268	  This option enables support for Initio 162x Serial ATA.
269
270config SATA_ACARD_AHCI
271	tristate "ACard AHCI variant (ATP 8620)"
272	depends on PCI
273	help
274	  This option enables support for Acard.
275
276	  If unsure, say N.
277
278config SATA_SIL24
279	tristate "Silicon Image 3124/3132 SATA support"
280	depends on PCI
281	help
282	  This option enables support for Silicon Image 3124/3132 Serial ATA.
283
284	  If unsure, say N.
285
286endif # HAS_DMA
287
288config ATA_SFF
289	bool "ATA SFF support (for legacy IDE and PATA)"
290	default y
291	help
292	  This option adds support for ATA controllers with SFF
293	  compliant or similar programming interface.
294
295	  SFF is the legacy IDE interface that has been around since
296	  the dawn of time.  Almost all PATA controllers have an
297	  SFF interface.  Many SATA controllers have an SFF interface
298	  when configured into a legacy compatibility mode.
299
300	  For users with exclusively modern controllers like AHCI,
301	  Silicon Image 3124, or Marvell 6440, you may choose to
302	  disable this unneeded SFF support.
303
304	  If unsure, say Y.
305
306if ATA_SFF
307
308comment "SFF controllers with custom DMA interface"
309
310config PDC_ADMA
311	tristate "Pacific Digital ADMA support"
312	depends on PCI
313	help
314	  This option enables support for Pacific Digital ADMA controllers
315
316	  If unsure, say N.
317
318config PATA_OCTEON_CF
319	tristate "OCTEON Boot Bus Compact Flash support"
320	depends on CAVIUM_OCTEON_SOC
321	help
322	  This option enables a polled compact flash driver for use with
323	  compact flash cards attached to the OCTEON boot bus.
324
325	  If unsure, say N.
326
327config SATA_QSTOR
328	tristate "Pacific Digital SATA QStor support"
329	depends on PCI
330	help
331	  This option enables support for Pacific Digital Serial ATA QStor.
332
333	  If unsure, say N.
334
335config SATA_SX4
336	tristate "Promise SATA SX4 support (Experimental)"
337	depends on PCI
338	help
339	  This option enables support for Promise Serial ATA SX4.
340
341	  If unsure, say N.
342
343config ATA_BMDMA
344	bool "ATA BMDMA support"
345	depends on HAS_DMA
346	default y
347	help
348	  This option adds support for SFF ATA controllers with BMDMA
349	  capability.  BMDMA stands for bus-master DMA and is the
350	  de facto DMA interface for SFF controllers.
351
352	  If unsure, say Y.
353
354if ATA_BMDMA
355
356comment "SATA SFF controllers with BMDMA"
357
358config ATA_PIIX
359	tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
360	depends on PCI
361	help
362	  This option enables support for ICH5/6/7/8 Serial ATA
363	  and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
364	  host controllers.
365
366	  If unsure, say N.
367
368config SATA_DWC
369	tristate "DesignWare Cores SATA support"
370	depends on DMADEVICES
371	select GENERIC_PHY
372	help
373	  This option enables support for the on-chip SATA controller of the
374	  AppliedMicro processor 460EX.
375
376	  If unsure, say N.
377
378config SATA_DWC_OLD_DMA
379	bool "Support old device trees"
380	depends on SATA_DWC
381	select DW_DMAC_CORE
382	default y if 460EX
383	help
384	  This option enables support for old device trees without the
385	  "dmas" property.
386
387config SATA_DWC_DEBUG
388	bool "Debugging driver version"
389	depends on SATA_DWC
390	help
391	  This option enables debugging output in the driver.
392
393config SATA_DWC_VDEBUG
394	bool "Verbose debug output"
395	depends on SATA_DWC_DEBUG
396	help
397	  This option enables the taskfile dumping and NCQ debugging.
398
399config SATA_HIGHBANK
400	tristate "Calxeda Highbank SATA support"
401	depends on HAS_DMA
402	depends on ARCH_HIGHBANK || COMPILE_TEST
403	help
404	  This option enables support for the Calxeda Highbank SoC's
405	  onboard SATA.
406
407	  If unsure, say N.
408
409config SATA_MV
410	tristate "Marvell SATA support"
411	depends on HAS_DMA
412	depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \
413		   ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST
414	select GENERIC_PHY
415	help
416	  This option enables support for the Marvell Serial ATA family.
417	  Currently supports 88SX[56]0[48][01] PCI(-X) chips,
418	  as well as the newer [67]042 PCI-X/PCIe and SOC devices.
419
420	  If unsure, say N.
421
422config SATA_NV
423	tristate "NVIDIA SATA support"
424	depends on PCI
425	help
426	  This option enables support for NVIDIA Serial ATA.
427
428	  If unsure, say N.
429
430config SATA_PROMISE
431	tristate "Promise SATA TX2/TX4 support"
432	depends on PCI
433	help
434	  This option enables support for Promise Serial ATA TX2/TX4.
435
436	  If unsure, say N.
437
438config SATA_RCAR
439	tristate "Renesas R-Car SATA support"
440	depends on ARCH_RENESAS || COMPILE_TEST
441	help
442	  This option enables support for Renesas R-Car Serial ATA.
443
444	  If unsure, say N.
445
446config SATA_SIL
447	tristate "Silicon Image SATA support"
448	depends on PCI
449	help
450	  This option enables support for Silicon Image Serial ATA.
451
452	  If unsure, say N.
453
454config SATA_SIS
455	tristate "SiS 964/965/966/180 SATA support"
456	depends on PCI
457	select PATA_SIS
458	help
459	  This option enables support for SiS Serial ATA on
460	  SiS 964/965/966/180 and Parallel ATA on SiS 180.
461	  The PATA support for SiS 180 requires additionally to
462	  enable the PATA_SIS driver in the config.
463	  If unsure, say N.
464
465config SATA_SVW
466	tristate "ServerWorks Frodo / Apple K2 SATA support"
467	depends on PCI
468	help
469	  This option enables support for Broadcom/Serverworks/Apple K2
470	  SATA support.
471
472	  If unsure, say N.
473
474config SATA_ULI
475	tristate "ULi Electronics SATA support"
476	depends on PCI
477	help
478	  This option enables support for ULi Electronics SATA.
479
480	  If unsure, say N.
481
482config SATA_VIA
483	tristate "VIA SATA support"
484	depends on PCI
485	help
486	  This option enables support for VIA Serial ATA.
487
488	  If unsure, say N.
489
490config SATA_VITESSE
491	tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
492	depends on PCI
493	help
494	  This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
495
496	  If unsure, say N.
497
498comment "PATA SFF controllers with BMDMA"
499
500config PATA_ALI
501	tristate "ALi PATA support"
502	depends on PCI
503	help
504	  This option enables support for the ALi ATA interfaces
505	  found on the many ALi chipsets.
506
507	  If unsure, say N.
508
509config PATA_AMD
510	tristate "AMD/NVidia PATA support"
511	depends on PCI
512	help
513	  This option enables support for the AMD and NVidia PATA
514	  interfaces found on the chipsets for Athlon/Athlon64.
515
516	  If unsure, say N.
517
518config PATA_ARASAN_CF
519	tristate "ARASAN CompactFlash PATA Controller Support"
520	depends on ARCH_SPEAR13XX || COMPILE_TEST
521	depends on DMADEVICES
522	select DMA_ENGINE
523	help
524	  Say Y here to support the ARASAN CompactFlash PATA controller
525
526config PATA_ARTOP
527	tristate "ARTOP 6210/6260 PATA support"
528	depends on PCI
529	help
530	  This option enables support for ARTOP PATA controllers.
531
532	  If unsure, say N.
533
534config PATA_ATIIXP
535	tristate "ATI PATA support"
536	depends on PCI
537	help
538	  This option enables support for the ATI ATA interfaces
539	  found on the many ATI chipsets.
540
541	  If unsure, say N.
542
543config PATA_ATP867X
544	tristate "ARTOP/Acard ATP867X PATA support"
545	depends on PCI
546	help
547	  This option enables support for ARTOP/Acard ATP867X PATA
548	  controllers.
549
550	  If unsure, say N.
551
552config PATA_BF54X
553	tristate "Blackfin 54x ATAPI support"
554	depends on BF542 || BF548 || BF549
555	help
556	  This option enables support for the built-in ATAPI controller on
557	  Blackfin 54x family chips.
558
559	  If unsure, say N.
560
561config PATA_BK3710
562	tristate "Palmchip BK3710 PATA support"
563	depends on ARCH_DAVINCI
564	help
565	  This option enables support for the integrated IDE controller on
566	  the TI DaVinci SoC.
567
568	  If unsure, say N.
569
570config PATA_CMD64X
571	tristate "CMD64x PATA support"
572	depends on PCI
573	help
574	  This option enables support for the CMD64x series chips
575	  except for the CMD640.
576
577	  If unsure, say N.
578
579config PATA_CS5520
580	tristate "CS5510/5520 PATA support"
581	depends on PCI && (X86_32 || COMPILE_TEST)
582	help
583	  This option enables support for the Cyrix 5510/5520
584	  companion chip used with the MediaGX/Geode processor family.
585
586	  If unsure, say N.
587
588config PATA_CS5530
589	tristate "CS5530 PATA support"
590	depends on PCI && (X86_32 || COMPILE_TEST)
591	help
592	  This option enables support for the Cyrix/NatSemi/AMD CS5530
593	  companion chip used with the MediaGX/Geode processor family.
594
595	  If unsure, say N.
596
597config PATA_CS5535
598	tristate "CS5535 PATA support (Experimental)"
599	depends on PCI && X86_32
600	help
601	  This option enables support for the NatSemi/AMD CS5535
602	  companion chip used with the Geode processor family.
603
604	  If unsure, say N.
605
606config PATA_CS5536
607	tristate "CS5536 PATA support"
608	depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
609	help
610	  This option enables support for the AMD CS5536
611	  companion chip used with the Geode LX processor family.
612
613	  If unsure, say N.
614
615config PATA_CYPRESS
616	tristate "Cypress CY82C693 PATA support (Very Experimental)"
617	depends on PCI
618	help
619	  This option enables support for the Cypress/Contaq CY82C693
620	  chipset found in some Alpha systems
621
622	  If unsure, say N.
623
624config PATA_EFAR
625	tristate "EFAR SLC90E66 support"
626	depends on PCI
627	help
628	  This option enables support for the EFAR SLC90E66
629	  IDE controller found on some older machines.
630
631	  If unsure, say N.
632
633config PATA_EP93XX
634	tristate "Cirrus Logic EP93xx PATA support"
635	depends on ARCH_EP93XX
636	help
637	  This option enables support for the PATA controller in
638	  the Cirrus Logic EP9312 and EP9315 ARM CPU.
639
640	  If unsure, say N.
641
642config PATA_FTIDE010
643	tristate "Faraday Technology FTIDE010 PATA support"
644	depends on OF
645	depends on ARM
646	depends on SATA_GEMINI
647	help
648	  This option enables support for the Faraday FTIDE010
649	  PATA controller found in the Cortina Gemini SoCs.
650
651	  If unsure, say N.
652
653config PATA_HPT366
654	tristate "HPT 366/368 PATA support"
655	depends on PCI
656	help
657	  This option enables support for the HPT 366 and 368
658	  PATA controllers via the new ATA layer.
659
660	  If unsure, say N.
661
662config PATA_HPT37X
663	tristate "HPT 370/370A/371/372/374/302 PATA support"
664	depends on PCI
665	help
666	  This option enables support for the majority of the later HPT
667	  PATA controllers via the new ATA layer.
668
669	  If unsure, say N.
670
671config PATA_HPT3X2N
672	tristate "HPT 371N/372N/302N PATA support"
673	depends on PCI
674	help
675	  This option enables support for the N variant HPT PATA
676	  controllers via the new ATA layer.
677
678	  If unsure, say N.
679
680config PATA_HPT3X3
681	tristate "HPT 343/363 PATA support"
682	depends on PCI
683	help
684	  This option enables support for the HPT 343/363
685	  PATA controllers via the new ATA layer
686
687	  If unsure, say N.
688
689config PATA_HPT3X3_DMA
690	bool "HPT 343/363 DMA support"
691	depends on PATA_HPT3X3
692	help
693	  This option enables DMA support for the HPT343/363
694	  controllers. Enable with care as there are still some
695	  problems with DMA on this chipset.
696
697config PATA_ICSIDE
698	tristate "Acorn ICS PATA support"
699	depends on ARM && ARCH_ACORN
700	help
701	  On Acorn systems, say Y here if you wish to use the ICS PATA
702	  interface card.  This is not required for ICS partition support.
703	  If you are unsure, say N to this.
704
705config PATA_IMX
706	tristate "PATA support for Freescale iMX"
707	depends on ARCH_MXC
708	help
709	  This option enables support for the PATA host available on Freescale
710          iMX SoCs.
711
712	  If unsure, say N.
713
714config PATA_IT8213
715	tristate "IT8213 PATA support (Experimental)"
716	depends on PCI
717	help
718	  This option enables support for the ITE 821 PATA
719          controllers via the new ATA layer.
720
721	  If unsure, say N.
722
723config PATA_IT821X
724	tristate "IT8211/2 PATA support"
725	depends on PCI
726	help
727	  This option enables support for the ITE 8211 and 8212
728	  PATA controllers via the new ATA layer, including RAID
729	  mode.
730
731	  If unsure, say N.
732
733config PATA_JMICRON
734	tristate "JMicron PATA support"
735	depends on PCI
736	help
737	  Enable support for the JMicron IDE controller, via the new
738	  ATA layer.
739
740	  If unsure, say N.
741
742config PATA_MACIO
743	tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
744	depends on PPC_PMAC
745	help
746	  Most IDE capable PowerMacs have IDE busses driven by a variant
747          of this controller which is part of the Apple chipset used on
748          most PowerMac models. Some models have multiple busses using
749          different chipsets, though generally, MacIO is one of them.
750
751config PATA_MARVELL
752	tristate "Marvell PATA support via legacy mode"
753	depends on PCI
754	help
755	  This option enables limited support for the Marvell 88SE61xx ATA
756	  controllers. If you wish to use only the SATA ports then select
757	  the AHCI driver alone. If you wish to the use the PATA port or
758	  both SATA and PATA include this driver.
759
760	  If unsure, say N.
761
762config PATA_MPC52xx
763	tristate "Freescale MPC52xx SoC internal IDE"
764	depends on PPC_MPC52xx && PPC_BESTCOMM
765	select PPC_BESTCOMM_ATA
766	help
767	  This option enables support for integrated IDE controller
768	  of the Freescale MPC52xx SoC.
769
770	  If unsure, say N.
771
772config PATA_NETCELL
773	tristate "NETCELL Revolution RAID support"
774	depends on PCI
775	help
776	  This option enables support for the Netcell Revolution RAID
777	  PATA controller.
778
779	  If unsure, say N.
780
781config PATA_NINJA32
782	tristate "Ninja32/Delkin Cardbus ATA support"
783	depends on PCI
784	help
785	  This option enables support for the Ninja32, Delkin and
786	  possibly other brands of Cardbus ATA adapter
787
788	  If unsure, say N.
789
790config PATA_NS87415
791	tristate "Nat Semi NS87415 PATA support"
792	depends on PCI
793	help
794	  This option enables support for the National Semiconductor
795	  NS87415 PCI-IDE controller.
796
797	  If unsure, say N.
798
799config PATA_OLDPIIX
800	tristate "Intel PATA old PIIX support"
801	depends on PCI
802	help
803	  This option enables support for early PIIX PATA support.
804
805	  If unsure, say N.
806
807config PATA_OPTIDMA
808	tristate "OPTI FireStar PATA support (Very Experimental)"
809	depends on PCI
810	help
811	  This option enables DMA/PIO support for the later OPTi
812	  controllers found on some old motherboards and in some
813	  laptops.
814
815	  If unsure, say N.
816
817config PATA_PDC2027X
818	tristate "Promise PATA 2027x support"
819	depends on PCI
820	help
821	  This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
822
823	  If unsure, say N.
824
825config PATA_PDC_OLD
826	tristate "Older Promise PATA controller support"
827	depends on PCI
828	help
829	  This option enables support for the Promise 20246, 20262, 20263,
830	  20265 and 20267 adapters.
831
832	  If unsure, say N.
833
834config PATA_RADISYS
835	tristate "RADISYS 82600 PATA support (Experimental)"
836	depends on PCI
837	help
838	  This option enables support for the RADISYS 82600
839	  PATA controllers via the new ATA layer
840
841	  If unsure, say N.
842
843config PATA_RDC
844	tristate "RDC PATA support"
845	depends on PCI
846	help
847	  This option enables basic support for the later RDC PATA controllers
848	  controllers via the new ATA layer. For the RDC 1010, you need to
849	  enable the IT821X driver instead.
850
851	  If unsure, say N.
852
853config PATA_SC1200
854	tristate "SC1200 PATA support"
855	depends on PCI && (X86_32 || COMPILE_TEST)
856	help
857	  This option enables support for the NatSemi/AMD SC1200 SoC
858	  companion chip used with the Geode processor family.
859
860	  If unsure, say N.
861
862config PATA_SCH
863	tristate "Intel SCH PATA support"
864	depends on PCI
865	help
866	  This option enables support for Intel SCH PATA on the Intel
867	  SCH (US15W, US15L, UL11L) series host controllers.
868
869	  If unsure, say N.
870
871config PATA_SERVERWORKS
872	tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
873	depends on PCI
874	help
875	  This option enables support for the Serverworks OSB4/CSB5/CSB6 and
876	  HT1000 PATA controllers, via the new ATA layer.
877
878	  If unsure, say N.
879
880config PATA_SIL680
881	tristate "CMD / Silicon Image 680 PATA support"
882	depends on PCI
883	help
884	  This option enables support for CMD / Silicon Image 680 PATA.
885
886	  If unsure, say N.
887
888config PATA_SIS
889	tristate "SiS PATA support"
890	depends on PCI
891	help
892	  This option enables support for SiS PATA controllers
893
894	  If unsure, say N.
895
896config PATA_TOSHIBA
897	tristate "Toshiba Piccolo support (Experimental)"
898	depends on PCI
899	help
900	  Support for the Toshiba Piccolo controllers. Currently only the
901	  primary channel is supported by this driver.
902
903	  If unsure, say N.
904
905config PATA_TRIFLEX
906	tristate "Compaq Triflex PATA support"
907	depends on PCI
908	help
909	  Enable support for the Compaq 'Triflex' IDE controller as found
910	  on many Compaq Pentium-Pro systems, via the new ATA layer.
911
912	  If unsure, say N.
913
914config PATA_VIA
915	tristate "VIA PATA support"
916	depends on PCI
917	help
918	  This option enables support for the VIA PATA interfaces
919	  found on the many VIA chipsets.
920
921	  If unsure, say N.
922
923config PATA_PXA
924	tristate "PXA DMA-capable PATA support"
925	depends on ARCH_PXA
926	help
927	  This option enables support for harddrive attached to PXA CPU's bus.
928
929	  NOTE: This driver utilizes PXA DMA controller, in case your hardware
930	        is not capable of doing MWDMA, use pata_platform instead.
931
932	  If unsure, say N.
933
934config PATA_WINBOND
935	tristate "Winbond SL82C105 PATA support"
936	depends on PCI
937	help
938	  This option enables support for SL82C105 PATA devices found in the
939	  Netwinder and some other systems
940
941	  If unsure, say N.
942
943endif # ATA_BMDMA
944
945comment "PIO-only SFF controllers"
946
947config PATA_CMD640_PCI
948	tristate "CMD640 PCI PATA support (Experimental)"
949	depends on PCI
950	help
951	  This option enables support for the CMD640 PCI IDE
952	  interface chip. Only the primary channel is currently
953	  supported.
954
955	  If unsure, say N.
956
957config PATA_FALCON
958	tristate "Atari Falcon PATA support"
959	depends on M68K && ATARI
960	help
961	  This option enables support for the on-board IDE
962	  interface on the Atari Falcon.
963
964	  If unsure, say N.
965
966config PATA_ISAPNP
967	tristate "ISA Plug and Play PATA support"
968	depends on ISAPNP
969	help
970	  This option enables support for ISA plug & play ATA
971	  controllers such as those found on old soundcards.
972
973	  If unsure, say N.
974
975config PATA_IXP4XX_CF
976	tristate "IXP4XX Compact Flash support"
977	depends on ARCH_IXP4XX
978	help
979	  This option enables support for a Compact Flash connected on
980	  the ixp4xx expansion bus. This driver had been written for
981	  Loft/Avila boards in mind but can work with others.
982
983	  If unsure, say N.
984
985config PATA_MPIIX
986	tristate "Intel PATA MPIIX support"
987	depends on PCI
988	help
989	  This option enables support for MPIIX PATA support.
990
991	  If unsure, say N.
992
993config PATA_NS87410
994	tristate "Nat Semi NS87410 PATA support"
995	depends on PCI
996	help
997	  This option enables support for the National Semiconductor
998	  NS87410 PCI-IDE controller.
999
1000	  If unsure, say N.
1001
1002config PATA_OPTI
1003	tristate "OPTI621/6215 PATA support (Very Experimental)"
1004	depends on PCI
1005	help
1006	  This option enables full PIO support for the early Opti ATA
1007	  controllers found on some old motherboards.
1008
1009	  If unsure, say N.
1010
1011config PATA_PALMLD
1012	tristate "Palm LifeDrive PATA support"
1013	depends on MACH_PALMLD
1014	help
1015	  This option enables support for Palm LifeDrive's internal ATA
1016	  port via the new ATA layer.
1017
1018	  If unsure, say N.
1019
1020config PATA_PCMCIA
1021	tristate "PCMCIA PATA support"
1022	depends on PCMCIA
1023	help
1024	  This option enables support for PCMCIA ATA interfaces, including
1025	  compact flash card adapters via the new ATA layer.
1026
1027	  If unsure, say N.
1028
1029config PATA_PLATFORM
1030	tristate "Generic platform device PATA support"
1031	depends on EXPERT || PPC || HAVE_PATA_PLATFORM
1032	help
1033	  This option enables support for generic directly connected ATA
1034	  devices commonly found on embedded systems.
1035
1036	  If unsure, say N.
1037
1038config PATA_OF_PLATFORM
1039	tristate "OpenFirmware platform device PATA support"
1040	depends on PATA_PLATFORM && OF
1041	help
1042	  This option enables support for generic directly connected ATA
1043	  devices commonly found on embedded systems with OpenFirmware
1044	  bindings.
1045
1046	  If unsure, say N.
1047
1048config PATA_QDI
1049	tristate "QDI VLB PATA support"
1050	depends on ISA
1051	select PATA_LEGACY
1052	help
1053	  Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
1054
1055config PATA_RB532
1056	tristate "RouterBoard 532 PATA CompactFlash support"
1057	depends on MIKROTIK_RB532
1058	help
1059	  This option enables support for the RouterBoard 532
1060	  PATA CompactFlash controller.
1061
1062	  If unsure, say N.
1063
1064config PATA_RZ1000
1065	tristate "PC Tech RZ1000 PATA support"
1066	depends on PCI
1067	help
1068	  This option enables basic support for the PC Tech RZ1000/1
1069	  PATA controllers via the new ATA layer
1070
1071	  If unsure, say N.
1072
1073config PATA_SAMSUNG_CF
1074	tristate "Samsung SoC PATA support"
1075	depends on SAMSUNG_DEV_IDE
1076	help
1077	  This option enables basic support for Samsung's S3C/S5P board
1078	  PATA controllers via the new ATA layer
1079
1080	  If unsure, say N.
1081
1082config PATA_WINBOND_VLB
1083	tristate "Winbond W83759A VLB PATA support (Experimental)"
1084	depends on ISA
1085	select PATA_LEGACY
1086	help
1087	  Support for the Winbond W83759A controller on Vesa Local Bus
1088	  systems.
1089
1090comment "Generic fallback / legacy drivers"
1091
1092config PATA_ACPI
1093	tristate "ACPI firmware driver for PATA"
1094	depends on ATA_ACPI && ATA_BMDMA
1095	help
1096	  This option enables an ACPI method driver which drives
1097	  motherboard PATA controller interfaces through the ACPI
1098	  firmware in the BIOS. This driver can sometimes handle
1099	  otherwise unsupported hardware.
1100
1101config ATA_GENERIC
1102	tristate "Generic ATA support"
1103	depends on PCI && ATA_BMDMA
1104	help
1105	  This option enables support for generic BIOS configured
1106	  ATA controllers via the new ATA layer
1107
1108	  If unsure, say N.
1109
1110config PATA_LEGACY
1111	tristate "Legacy ISA PATA support (Experimental)"
1112	depends on (ISA || PCI)
1113	help
1114	  This option enables support for ISA/VLB/PCI bus legacy PATA
1115	  ports and allows them to be accessed via the new ATA layer.
1116
1117	  If unsure, say N.
1118
1119endif # ATA_SFF
1120endif # ATA
1121