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