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