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