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