Linux Audio

Check our new training course

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