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