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