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