0001 # SPDX-License-Identifier: GPL-2.0
0002 #
0003 # SATA/PATA driver configuration
0004 #
0005
0006 config HAVE_PATA_PLATFORM
0007 bool
0008 help
0009 This is an internal configuration node for any machine that
0010 uses pata-platform driver to enable the relevant driver in the
0011 configuration structure without having to submit endless patches
0012 to update the PATA_PLATFORM entry.
0013
0014 menuconfig ATA
0015 tristate "Serial ATA and Parallel ATA drivers (libata)"
0016 depends on HAS_IOMEM
0017 depends on BLOCK
0018 select SCSI
0019 select GLOB
0020 help
0021 If you want to use an ATA hard disk, ATA tape drive, ATA CD-ROM or
0022 any other ATA device under Linux, say Y and make sure that you know
0023 the name of your ATA host adapter (the card inside your computer
0024 that "speaks" the ATA protocol, also called ATA controller),
0025 because you will be asked for it.
0026
0027 NOTE: ATA enables basic SCSI support; *however*,
0028 'SCSI disk support', 'SCSI tape support', or
0029 'SCSI CDROM support' may also be needed,
0030 depending on your hardware configuration.
0031
0032 if ATA
0033
0034 config ATA_NONSTANDARD
0035 bool
0036
0037 config SATA_HOST
0038 bool
0039
0040 config PATA_TIMINGS
0041 bool
0042
0043 config ATA_VERBOSE_ERROR
0044 bool "Verbose ATA error reporting"
0045 default y
0046 help
0047 This option adds parsing of ATA command descriptions and error bits
0048 in libata kernel output, making it easier to interpret.
0049 This option will enlarge the kernel by approx. 6KB. Disable it only
0050 if kernel size is more important than ease of debugging.
0051
0052 If unsure, say Y.
0053
0054 config ATA_FORCE
0055 bool "\"libata.force=\" kernel parameter support" if EXPERT
0056 default y
0057 help
0058 This option adds support for "libata.force=" kernel parameter for
0059 forcing configuration settings.
0060
0061 For further information, please read
0062 <file:Documentation/admin-guide/kernel-parameters.txt>.
0063
0064 This option will enlarge the kernel by approx. 3KB. Disable it if
0065 kernel size is more important than ability to override the default
0066 configuration settings.
0067
0068 If unsure, say Y.
0069
0070 config ATA_ACPI
0071 bool "ATA ACPI Support"
0072 depends on ACPI
0073 select PATA_TIMINGS
0074 default y
0075 help
0076 This option adds support for ATA-related ACPI objects.
0077 These ACPI objects add the ability to retrieve taskfiles
0078 from the ACPI BIOS and write them to the disk controller.
0079 These objects may be related to performance, security,
0080 power management, or other areas.
0081 You can disable this at kernel boot time by using the
0082 option libata.noacpi=1
0083
0084 config SATA_ZPODD
0085 bool "SATA Zero Power Optical Disc Drive (ZPODD) support"
0086 depends on ATA_ACPI && PM
0087 help
0088 This option adds support for SATA Zero Power Optical Disc
0089 Drive (ZPODD). It requires both the ODD and the platform
0090 support, and if enabled, will automatically power on/off the
0091 ODD when certain condition is satisfied. This does not impact
0092 end user's experience of the ODD, only power is saved when
0093 the ODD is not in use (i.e. no disc inside).
0094
0095 If unsure, say N.
0096
0097 config SATA_PMP
0098 bool "SATA Port Multiplier support"
0099 depends on SATA_HOST
0100 default y
0101 help
0102 This option adds support for SATA Port Multipliers
0103 (the SATA version of an ethernet hub, or SAS expander).
0104
0105 if HAS_DMA
0106
0107 comment "Controllers with non-SFF native interface"
0108
0109 config SATA_AHCI
0110 tristate "AHCI SATA support"
0111 depends on PCI
0112 select SATA_HOST
0113 help
0114 This option enables support for AHCI Serial ATA.
0115
0116 If unsure, say N.
0117
0118 config SATA_MOBILE_LPM_POLICY
0119 int "Default SATA Link Power Management policy for low power chipsets"
0120 range 0 4
0121 default 0
0122 depends on SATA_AHCI
0123 help
0124 Select the Default SATA Link Power Management (LPM) policy to use
0125 for chipsets / "South Bridges" supporting low-power modes. Such
0126 chipsets are typically found on most laptops but desktops and
0127 servers now also widely use chipsets supporting low power modes.
0128
0129 The value set has the following meanings:
0130 0 => Keep firmware settings
0131 1 => Maximum performance
0132 2 => Medium power
0133 3 => Medium power with Device Initiated PM enabled
0134 4 => Minimum power
0135
0136 Note "Minimum power" is known to cause issues, including disk
0137 corruption, with some disks and should not be used.
0138
0139 config SATA_AHCI_PLATFORM
0140 tristate "Platform AHCI SATA support"
0141 select SATA_HOST
0142 help
0143 This option enables support for Platform AHCI Serial ATA
0144 controllers.
0145
0146 If unsure, say N.
0147
0148 config AHCI_BRCM
0149 tristate "Broadcom AHCI SATA support"
0150 depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_NSP || \
0151 ARCH_BCMBCA || COMPILE_TEST
0152 select SATA_HOST
0153 help
0154 This option enables support for the AHCI SATA3 controller found on
0155 Broadcom SoC's.
0156
0157 If unsure, say N.
0158
0159 config AHCI_DA850
0160 tristate "DaVinci DA850 AHCI SATA support"
0161 depends on ARCH_DAVINCI_DA850 || COMPILE_TEST
0162 select SATA_HOST
0163 help
0164 This option enables support for the DaVinci DA850 SoC's
0165 onboard AHCI SATA.
0166
0167 If unsure, say N.
0168
0169 config AHCI_DM816
0170 tristate "DaVinci DM816 AHCI SATA support"
0171 depends on ARCH_OMAP2PLUS || COMPILE_TEST
0172 select SATA_HOST
0173 help
0174 This option enables support for the DaVinci DM816 SoC's
0175 onboard AHCI SATA controller.
0176
0177 If unsure, say N.
0178
0179 config AHCI_ST
0180 tristate "ST AHCI SATA support"
0181 depends on ARCH_STI
0182 select SATA_HOST
0183 help
0184 This option enables support for ST AHCI SATA controller.
0185
0186 If unsure, say N.
0187
0188 config AHCI_IMX
0189 tristate "Freescale i.MX AHCI SATA support"
0190 depends on MFD_SYSCON && (ARCH_MXC || COMPILE_TEST)
0191 depends on (HWMON && (THERMAL || !THERMAL_OF)) || !HWMON
0192 select SATA_HOST
0193 help
0194 This option enables support for the Freescale i.MX SoC's
0195 onboard AHCI SATA.
0196
0197 If unsure, say N.
0198
0199 config AHCI_CEVA
0200 tristate "CEVA AHCI SATA support"
0201 depends on OF
0202 select SATA_HOST
0203 help
0204 This option enables support for the CEVA AHCI SATA.
0205 It can be found on the Xilinx Zynq UltraScale+ MPSoC.
0206
0207 If unsure, say N.
0208
0209 config AHCI_MTK
0210 tristate "MediaTek AHCI SATA support"
0211 depends on ARCH_MEDIATEK || COMPILE_TEST
0212 select MFD_SYSCON
0213 select SATA_HOST
0214 help
0215 This option enables support for the MediaTek SoC's
0216 onboard AHCI SATA controller.
0217
0218 If unsure, say N.
0219
0220 config AHCI_MVEBU
0221 tristate "Marvell EBU AHCI SATA support"
0222 depends on ARCH_MVEBU || COMPILE_TEST
0223 select SATA_HOST
0224 help
0225 This option enables support for the Marvebu EBU SoC's
0226 onboard AHCI SATA.
0227
0228 If unsure, say N.
0229
0230 config AHCI_OCTEON
0231 tristate "Cavium Octeon Soc Serial ATA"
0232 depends on SATA_AHCI_PLATFORM && CAVIUM_OCTEON_SOC
0233 default y
0234 help
0235 This option enables support for Cavium Octeon SoC Serial ATA.
0236
0237 If unsure, say N.
0238
0239 config AHCI_SUNXI
0240 tristate "Allwinner sunxi AHCI SATA support"
0241 depends on ARCH_SUNXI || COMPILE_TEST
0242 select SATA_HOST
0243 help
0244 This option enables support for the Allwinner sunxi SoC's
0245 onboard AHCI SATA.
0246
0247 If unsure, say N.
0248
0249 config AHCI_TEGRA
0250 tristate "NVIDIA Tegra AHCI SATA support"
0251 depends on ARCH_TEGRA || COMPILE_TEST
0252 select SATA_HOST
0253 help
0254 This option enables support for the NVIDIA Tegra SoC's
0255 onboard AHCI SATA.
0256
0257 If unsure, say N.
0258
0259 config AHCI_XGENE
0260 tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support"
0261 depends on PHY_XGENE || COMPILE_TEST
0262 select SATA_HOST
0263 help
0264 This option enables support for APM X-Gene SoC SATA host controller.
0265
0266 config AHCI_QORIQ
0267 tristate "Freescale QorIQ AHCI SATA support"
0268 depends on OF
0269 select SATA_HOST
0270 help
0271 This option enables support for the Freescale QorIQ AHCI SoC's
0272 onboard AHCI SATA.
0273
0274 If unsure, say N.
0275
0276 config SATA_FSL
0277 tristate "Freescale 3.0Gbps SATA support"
0278 depends on FSL_SOC || COMPILE_TEST
0279 select SATA_HOST
0280 help
0281 This option enables support for Freescale 3.0Gbps SATA controller.
0282 It can be found on MPC837x and MPC8315.
0283
0284 If unsure, say N.
0285
0286 config SATA_GEMINI
0287 tristate "Gemini SATA bridge support"
0288 depends on ARCH_GEMINI || (OF && COMPILE_TEST)
0289 select SATA_HOST
0290 default ARCH_GEMINI
0291 help
0292 This enabled support for the FTIDE010 to SATA bridge
0293 found in Cortina Systems Gemini platform.
0294
0295 If unsure, say N.
0296
0297 config SATA_AHCI_SEATTLE
0298 tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support"
0299 depends on ARCH_SEATTLE || COMPILE_TEST
0300 select SATA_HOST
0301 help
0302 This option enables support for AMD Seattle SATA host controller.
0303
0304 If unsure, say N
0305
0306 config SATA_INIC162X
0307 tristate "Initio 162x SATA support (Very Experimental)"
0308 depends on PCI
0309 select SATA_HOST
0310 help
0311 This option enables support for Initio 162x Serial ATA.
0312
0313 config SATA_ACARD_AHCI
0314 tristate "ACard AHCI variant (ATP 8620)"
0315 depends on PCI
0316 select SATA_HOST
0317 help
0318 This option enables support for Acard.
0319
0320 If unsure, say N.
0321
0322 config SATA_SIL24
0323 tristate "Silicon Image 3124/3132 SATA support"
0324 depends on PCI
0325 select SATA_HOST
0326 help
0327 This option enables support for Silicon Image 3124/3132 Serial ATA.
0328
0329 If unsure, say N.
0330
0331 endif # HAS_DMA
0332
0333 config ATA_SFF
0334 bool "ATA SFF support (for legacy IDE and PATA)"
0335 default y
0336 help
0337 This option adds support for ATA controllers with SFF
0338 compliant or similar programming interface.
0339
0340 SFF is the legacy IDE interface that has been around since
0341 the dawn of time. Almost all PATA controllers have an
0342 SFF interface. Many SATA controllers have an SFF interface
0343 when configured into a legacy compatibility mode.
0344
0345 For users with exclusively modern controllers like AHCI,
0346 Silicon Image 3124, or Marvell 6440, you may choose to
0347 disable this unneeded SFF support.
0348
0349 If unsure, say Y.
0350
0351 if ATA_SFF
0352
0353 comment "SFF controllers with custom DMA interface"
0354
0355 config PDC_ADMA
0356 tristate "Pacific Digital ADMA support"
0357 depends on PCI
0358 help
0359 This option enables support for Pacific Digital ADMA controllers
0360
0361 If unsure, say N.
0362
0363 config PATA_OCTEON_CF
0364 tristate "OCTEON Boot Bus Compact Flash support"
0365 depends on CAVIUM_OCTEON_SOC
0366 select PATA_TIMINGS
0367 help
0368 This option enables a polled compact flash driver for use with
0369 compact flash cards attached to the OCTEON boot bus.
0370
0371 If unsure, say N.
0372
0373 config SATA_QSTOR
0374 tristate "Pacific Digital SATA QStor support"
0375 depends on PCI
0376 select SATA_HOST
0377 help
0378 This option enables support for Pacific Digital Serial ATA QStor.
0379
0380 If unsure, say N.
0381
0382 config SATA_SX4
0383 tristate "Promise SATA SX4 support (Experimental)"
0384 depends on PCI
0385 select SATA_HOST
0386 help
0387 This option enables support for Promise Serial ATA SX4.
0388
0389 If unsure, say N.
0390
0391 config ATA_BMDMA
0392 bool "ATA BMDMA support"
0393 depends on HAS_DMA
0394 default y
0395 help
0396 This option adds support for SFF ATA controllers with BMDMA
0397 capability. BMDMA stands for bus-master DMA and is the
0398 de facto DMA interface for SFF controllers.
0399
0400 If unsure, say Y.
0401
0402 if ATA_BMDMA
0403
0404 comment "SATA SFF controllers with BMDMA"
0405
0406 config ATA_PIIX
0407 tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
0408 depends on PCI
0409 select SATA_HOST
0410 help
0411 This option enables support for ICH5/6/7/8 Serial ATA
0412 and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
0413 host controllers.
0414
0415 If unsure, say N.
0416
0417 config SATA_DWC
0418 tristate "DesignWare Cores SATA support"
0419 depends on DMADEVICES
0420 select GENERIC_PHY
0421 select SATA_HOST
0422 help
0423 This option enables support for the on-chip SATA controller of the
0424 AppliedMicro processor 460EX.
0425
0426 If unsure, say N.
0427
0428 config SATA_DWC_OLD_DMA
0429 bool "Support old device trees"
0430 depends on SATA_DWC
0431 select DW_DMAC_CORE
0432 default y if 460EX
0433 help
0434 This option enables support for old device trees without the
0435 "dmas" property.
0436
0437 config SATA_HIGHBANK
0438 tristate "Calxeda Highbank SATA support"
0439 depends on ARCH_HIGHBANK || COMPILE_TEST
0440 select SATA_HOST
0441 help
0442 This option enables support for the Calxeda Highbank SoC's
0443 onboard SATA.
0444
0445 If unsure, say N.
0446
0447 config SATA_MV
0448 tristate "Marvell SATA support"
0449 depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \
0450 ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST
0451 select GENERIC_PHY
0452 select SATA_HOST
0453 help
0454 This option enables support for the Marvell Serial ATA family.
0455 Currently supports 88SX[56]0[48][01] PCI(-X) chips,
0456 as well as the newer [67]042 PCI-X/PCIe and SOC devices.
0457
0458 If unsure, say N.
0459
0460 config SATA_NV
0461 tristate "NVIDIA SATA support"
0462 depends on PCI
0463 select SATA_HOST
0464 help
0465 This option enables support for NVIDIA Serial ATA.
0466
0467 If unsure, say N.
0468
0469 config SATA_PROMISE
0470 tristate "Promise SATA TX2/TX4 support"
0471 depends on PCI
0472 select SATA_HOST
0473 help
0474 This option enables support for Promise Serial ATA TX2/TX4.
0475
0476 If unsure, say N.
0477
0478 config SATA_RCAR
0479 tristate "Renesas R-Car SATA support"
0480 depends on ARCH_RENESAS || COMPILE_TEST
0481 select SATA_HOST
0482 help
0483 This option enables support for Renesas R-Car Serial ATA.
0484
0485 If unsure, say N.
0486
0487 config SATA_SIL
0488 tristate "Silicon Image SATA support"
0489 depends on PCI
0490 select SATA_HOST
0491 help
0492 This option enables support for Silicon Image Serial ATA.
0493
0494 If unsure, say N.
0495
0496 config SATA_SIS
0497 tristate "SiS 964/965/966/180 SATA support"
0498 depends on PCI
0499 select PATA_SIS
0500 select SATA_HOST
0501 help
0502 This option enables support for SiS Serial ATA on
0503 SiS 964/965/966/180 and Parallel ATA on SiS 180.
0504 The PATA support for SiS 180 requires additionally to
0505 enable the PATA_SIS driver in the config.
0506 If unsure, say N.
0507
0508 config SATA_SVW
0509 tristate "ServerWorks Frodo / Apple K2 SATA support"
0510 depends on PCI
0511 select SATA_HOST
0512 help
0513 This option enables support for Broadcom/Serverworks/Apple K2
0514 SATA support.
0515
0516 If unsure, say N.
0517
0518 config SATA_ULI
0519 tristate "ULi Electronics SATA support"
0520 depends on PCI
0521 select SATA_HOST
0522 help
0523 This option enables support for ULi Electronics SATA.
0524
0525 If unsure, say N.
0526
0527 config SATA_VIA
0528 tristate "VIA SATA support"
0529 depends on PCI
0530 select SATA_HOST
0531 help
0532 This option enables support for VIA Serial ATA.
0533
0534 If unsure, say N.
0535
0536 config SATA_VITESSE
0537 tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
0538 depends on PCI
0539 select SATA_HOST
0540 help
0541 This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
0542
0543 If unsure, say N.
0544
0545 comment "PATA SFF controllers with BMDMA"
0546
0547 config PATA_ALI
0548 tristate "ALi PATA support"
0549 depends on PCI
0550 select PATA_TIMINGS
0551 help
0552 This option enables support for the ALi ATA interfaces
0553 found on the many ALi chipsets.
0554
0555 If unsure, say N.
0556
0557 config PATA_AMD
0558 tristate "AMD/NVidia PATA support"
0559 depends on PCI
0560 select PATA_TIMINGS
0561 help
0562 This option enables support for the AMD and NVidia PATA
0563 interfaces found on the chipsets for Athlon/Athlon64.
0564
0565 If unsure, say N.
0566
0567 config PATA_ARASAN_CF
0568 tristate "ARASAN CompactFlash PATA Controller Support"
0569 depends on ARCH_SPEAR13XX || COMPILE_TEST
0570 depends on DMADEVICES
0571 select DMA_ENGINE
0572 help
0573 Say Y here to support the ARASAN CompactFlash PATA controller
0574
0575 config PATA_ARTOP
0576 tristate "ARTOP 6210/6260 PATA support"
0577 depends on PCI
0578 help
0579 This option enables support for ARTOP PATA controllers.
0580
0581 If unsure, say N.
0582
0583 config PATA_ATIIXP
0584 tristate "ATI PATA support"
0585 depends on PCI
0586 help
0587 This option enables support for the ATI ATA interfaces
0588 found on the many ATI chipsets.
0589
0590 If unsure, say N.
0591
0592 config PATA_ATP867X
0593 tristate "ARTOP/Acard ATP867X PATA support"
0594 depends on PCI
0595 select PATA_TIMINGS
0596 help
0597 This option enables support for ARTOP/Acard ATP867X PATA
0598 controllers.
0599
0600 If unsure, say N.
0601
0602 config PATA_BK3710
0603 tristate "Palmchip BK3710 PATA support"
0604 depends on ARCH_DAVINCI || COMPILE_TEST
0605 select PATA_TIMINGS
0606 help
0607 This option enables support for the integrated IDE controller on
0608 the TI DaVinci SoC.
0609
0610 If unsure, say N.
0611
0612 config PATA_CMD64X
0613 tristate "CMD64x PATA support"
0614 depends on PCI
0615 select PATA_TIMINGS
0616 help
0617 This option enables support for the CMD64x series chips
0618 except for the CMD640.
0619
0620 If unsure, say N.
0621
0622 config PATA_CS5520
0623 tristate "CS5510/5520 PATA support"
0624 depends on PCI && (X86_32 || COMPILE_TEST)
0625 help
0626 This option enables support for the Cyrix 5510/5520
0627 companion chip used with the MediaGX/Geode processor family.
0628
0629 If unsure, say N.
0630
0631 config PATA_CS5530
0632 tristate "CS5530 PATA support"
0633 depends on PCI && (X86_32 || COMPILE_TEST)
0634 help
0635 This option enables support for the Cyrix/NatSemi/AMD CS5530
0636 companion chip used with the MediaGX/Geode processor family.
0637
0638 If unsure, say N.
0639
0640 config PATA_CS5535
0641 tristate "CS5535 PATA support (Experimental)"
0642 depends on PCI && (X86_32 || (X86_64 && COMPILE_TEST))
0643 help
0644 This option enables support for the NatSemi/AMD CS5535
0645 companion chip used with the Geode processor family.
0646
0647 If unsure, say N.
0648
0649 config PATA_CS5536
0650 tristate "CS5536 PATA support"
0651 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
0652 help
0653 This option enables support for the AMD CS5536
0654 companion chip used with the Geode LX processor family.
0655
0656 If unsure, say N.
0657
0658 config PATA_CYPRESS
0659 tristate "Cypress CY82C693 PATA support (Very Experimental)"
0660 depends on PCI
0661 select PATA_TIMINGS
0662 help
0663 This option enables support for the Cypress/Contaq CY82C693
0664 chipset found in some Alpha systems
0665
0666 If unsure, say N.
0667
0668 config PATA_EFAR
0669 tristate "EFAR SLC90E66 support"
0670 depends on PCI
0671 help
0672 This option enables support for the EFAR SLC90E66
0673 IDE controller found on some older machines.
0674
0675 If unsure, say N.
0676
0677 config PATA_EP93XX
0678 tristate "Cirrus Logic EP93xx PATA support"
0679 depends on ARCH_EP93XX
0680 select PATA_TIMINGS
0681 help
0682 This option enables support for the PATA controller in
0683 the Cirrus Logic EP9312 and EP9315 ARM CPU.
0684
0685 If unsure, say N.
0686
0687 config PATA_FTIDE010
0688 tristate "Faraday Technology FTIDE010 PATA support"
0689 depends on OF
0690 depends on ARM || COMPILE_TEST
0691 depends on SATA_GEMINI
0692 help
0693 This option enables support for the Faraday FTIDE010
0694 PATA controller found in the Cortina Gemini SoCs.
0695
0696 If unsure, say N.
0697
0698 config PATA_HPT366
0699 tristate "HPT 366/368 PATA support"
0700 depends on PCI
0701 help
0702 This option enables support for the HPT 366 and 368
0703 PATA controllers via the new ATA layer.
0704
0705 If unsure, say N.
0706
0707 config PATA_HPT37X
0708 tristate "HPT 370/370A/371/372/374/302 PATA support"
0709 depends on PCI
0710 help
0711 This option enables support for the majority of the later HPT
0712 PATA controllers via the new ATA layer.
0713
0714 If unsure, say N.
0715
0716 config PATA_HPT3X2N
0717 tristate "HPT 371N/372N/302N PATA support"
0718 depends on PCI
0719 help
0720 This option enables support for the N variant HPT PATA
0721 controllers via the new ATA layer.
0722
0723 If unsure, say N.
0724
0725 config PATA_HPT3X3
0726 tristate "HPT 343/363 PATA support"
0727 depends on PCI
0728 help
0729 This option enables support for the HPT 343/363
0730 PATA controllers via the new ATA layer
0731
0732 If unsure, say N.
0733
0734 config PATA_HPT3X3_DMA
0735 bool "HPT 343/363 DMA support"
0736 depends on PATA_HPT3X3
0737 help
0738 This option enables DMA support for the HPT343/363
0739 controllers. Enable with care as there are still some
0740 problems with DMA on this chipset.
0741
0742 config PATA_ICSIDE
0743 tristate "Acorn ICS PATA support"
0744 depends on ARM && ARCH_ACORN
0745 select PATA_TIMINGS
0746 help
0747 On Acorn systems, say Y here if you wish to use the ICS PATA
0748 interface card. This is not required for ICS partition support.
0749 If you are unsure, say N to this.
0750
0751 config PATA_IMX
0752 tristate "PATA support for Freescale iMX"
0753 depends on ARCH_MXC || COMPILE_TEST
0754 select PATA_TIMINGS
0755 help
0756 This option enables support for the PATA host available on Freescale
0757 iMX SoCs.
0758
0759 If unsure, say N.
0760
0761 config PATA_IT8213
0762 tristate "IT8213 PATA support (Experimental)"
0763 depends on PCI
0764 help
0765 This option enables support for the ITE 821 PATA
0766 controllers via the new ATA layer.
0767
0768 If unsure, say N.
0769
0770 config PATA_IT821X
0771 tristate "IT8211/2 PATA support"
0772 depends on PCI
0773 help
0774 This option enables support for the ITE 8211 and 8212
0775 PATA controllers via the new ATA layer, including RAID
0776 mode.
0777
0778 If unsure, say N.
0779
0780 config PATA_JMICRON
0781 tristate "JMicron PATA support"
0782 depends on PCI
0783 help
0784 Enable support for the JMicron IDE controller, via the new
0785 ATA layer.
0786
0787 If unsure, say N.
0788
0789 config PATA_MACIO
0790 tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
0791 depends on PPC_PMAC
0792 help
0793 Most IDE capable PowerMacs have IDE busses driven by a variant
0794 of this controller which is part of the Apple chipset used on
0795 most PowerMac models. Some models have multiple busses using
0796 different chipsets, though generally, MacIO is one of them.
0797
0798 config PATA_MARVELL
0799 tristate "Marvell PATA support via legacy mode"
0800 depends on PCI
0801 help
0802 This option enables limited support for the Marvell 88SE61xx ATA
0803 controllers. If you wish to use only the SATA ports then select
0804 the AHCI driver alone. If you wish to the use the PATA port or
0805 both SATA and PATA include this driver.
0806
0807 If unsure, say N.
0808
0809 config PATA_MPC52xx
0810 tristate "Freescale MPC52xx SoC internal IDE"
0811 depends on PPC_MPC52xx && PPC_BESTCOMM
0812 select PPC_BESTCOMM_ATA
0813 help
0814 This option enables support for integrated IDE controller
0815 of the Freescale MPC52xx SoC.
0816
0817 If unsure, say N.
0818
0819 config PATA_NETCELL
0820 tristate "NETCELL Revolution RAID support"
0821 depends on PCI
0822 help
0823 This option enables support for the Netcell Revolution RAID
0824 PATA controller.
0825
0826 If unsure, say N.
0827
0828 config PATA_NINJA32
0829 tristate "Ninja32/Delkin Cardbus ATA support"
0830 depends on PCI
0831 help
0832 This option enables support for the Ninja32, Delkin and
0833 possibly other brands of Cardbus ATA adapter
0834
0835 If unsure, say N.
0836
0837 config PATA_NS87415
0838 tristate "Nat Semi NS87415 PATA support"
0839 depends on PCI
0840 select PATA_TIMINGS
0841 help
0842 This option enables support for the National Semiconductor
0843 NS87415 PCI-IDE controller.
0844
0845 If unsure, say N.
0846
0847 config PATA_OLDPIIX
0848 tristate "Intel PATA old PIIX support"
0849 depends on PCI
0850 help
0851 This option enables support for early PIIX PATA support.
0852
0853 If unsure, say N.
0854
0855 config PATA_OPTIDMA
0856 tristate "OPTI FireStar PATA support (Very Experimental)"
0857 depends on PCI
0858 help
0859 This option enables DMA/PIO support for the later OPTi
0860 controllers found on some old motherboards and in some
0861 laptops.
0862
0863 If unsure, say N.
0864
0865 config PATA_PDC2027X
0866 tristate "Promise PATA 2027x support"
0867 depends on PCI
0868 help
0869 This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
0870
0871 If unsure, say N.
0872
0873 config PATA_PDC_OLD
0874 tristate "Older Promise PATA controller support"
0875 depends on PCI
0876 help
0877 This option enables support for the Promise 20246, 20262, 20263,
0878 20265 and 20267 adapters.
0879
0880 If unsure, say N.
0881
0882 config PATA_RADISYS
0883 tristate "RADISYS 82600 PATA support (Experimental)"
0884 depends on PCI
0885 help
0886 This option enables support for the RADISYS 82600
0887 PATA controllers via the new ATA layer
0888
0889 If unsure, say N.
0890
0891 config PATA_RDC
0892 tristate "RDC PATA support"
0893 depends on PCI
0894 help
0895 This option enables basic support for the later RDC PATA controllers
0896 controllers via the new ATA layer. For the RDC 1010, you need to
0897 enable the IT821X driver instead.
0898
0899 If unsure, say N.
0900
0901 config PATA_SC1200
0902 tristate "SC1200 PATA support"
0903 depends on PCI && (X86_32 || COMPILE_TEST)
0904 help
0905 This option enables support for the NatSemi/AMD SC1200 SoC
0906 companion chip used with the Geode processor family.
0907
0908 If unsure, say N.
0909
0910 config PATA_SCH
0911 tristate "Intel SCH PATA support"
0912 depends on PCI
0913 help
0914 This option enables support for Intel SCH PATA on the Intel
0915 SCH (US15W, US15L, UL11L) series host controllers.
0916
0917 If unsure, say N.
0918
0919 config PATA_SERVERWORKS
0920 tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
0921 depends on PCI
0922 help
0923 This option enables support for the Serverworks OSB4/CSB5/CSB6 and
0924 HT1000 PATA controllers, via the new ATA layer.
0925
0926 If unsure, say N.
0927
0928 config PATA_SIL680
0929 tristate "CMD / Silicon Image 680 PATA support"
0930 depends on PCI
0931 help
0932 This option enables support for CMD / Silicon Image 680 PATA.
0933
0934 If unsure, say N.
0935
0936 config PATA_SIS
0937 tristate "SiS PATA support"
0938 depends on PCI
0939 help
0940 This option enables support for SiS PATA controllers
0941
0942 If unsure, say N.
0943
0944 config PATA_TOSHIBA
0945 tristate "Toshiba Piccolo support (Experimental)"
0946 depends on PCI
0947 help
0948 Support for the Toshiba Piccolo controllers. Currently only the
0949 primary channel is supported by this driver.
0950
0951 If unsure, say N.
0952
0953 config PATA_TRIFLEX
0954 tristate "Compaq Triflex PATA support"
0955 depends on PCI
0956 help
0957 Enable support for the Compaq 'Triflex' IDE controller as found
0958 on many Compaq Pentium-Pro systems, via the new ATA layer.
0959
0960 If unsure, say N.
0961
0962 config PATA_VIA
0963 tristate "VIA PATA support"
0964 depends on PCI
0965 select PATA_TIMINGS
0966 help
0967 This option enables support for the VIA PATA interfaces
0968 found on the many VIA chipsets.
0969
0970 If unsure, say N.
0971
0972 config PATA_PXA
0973 tristate "PXA DMA-capable PATA support"
0974 depends on ARCH_PXA || COMPILE_TEST
0975 help
0976 This option enables support for harddrive attached to PXA CPU's bus.
0977
0978 NOTE: This driver utilizes PXA DMA controller, in case your hardware
0979 is not capable of doing MWDMA, use pata_platform instead.
0980
0981 If unsure, say N.
0982
0983 config PATA_WINBOND
0984 tristate "Winbond SL82C105 PATA support"
0985 depends on PCI
0986 help
0987 This option enables support for SL82C105 PATA devices found in the
0988 Netwinder and some other systems
0989
0990 If unsure, say N.
0991
0992 endif # ATA_BMDMA
0993
0994 comment "PIO-only SFF controllers"
0995
0996 config PATA_CMD640_PCI
0997 tristate "CMD640 PCI PATA support (Experimental)"
0998 depends on PCI
0999 select PATA_TIMINGS
1000 help
1001 This option enables support for the CMD640 PCI IDE
1002 interface chip. Only the primary channel is currently
1003 supported.
1004
1005 If unsure, say N.
1006
1007 config PATA_FALCON
1008 tristate "Atari Falcon and Q40/Q60 PATA support"
1009 depends on M68K && (ATARI || Q40)
1010 help
1011 This option enables support for the on-board IDE
1012 interface on the Atari Falcon and Q40/Q60.
1013
1014 If unsure, say N.
1015
1016 config PATA_GAYLE
1017 tristate "Amiga Gayle PATA support"
1018 depends on M68K && AMIGA
1019 help
1020 This option enables support for the on-board IDE
1021 interfaces on some Amiga models (A600, A1200,
1022 A4000 and A4000T) and also for IDE interfaces on
1023 the Zorro expansion bus (M-Tech E-Matrix 530
1024 expansion card).
1025
1026 If unsure, say N.
1027
1028 config PATA_BUDDHA
1029 tristate "Buddha/Catweasel/X-Surf PATA support"
1030 depends on ZORRO
1031 help
1032 This option enables support for the IDE interfaces
1033 on the Buddha, Catweasel and X-Surf expansion boards
1034 on the Zorro expansion bus. It supports up to two
1035 interfaces on the Buddha, three on the Catweasel and
1036 two on the X-Surf.
1037
1038 If unsure, say N.
1039
1040 config PATA_ISAPNP
1041 tristate "ISA Plug and Play PATA support"
1042 depends on ISAPNP
1043 help
1044 This option enables support for ISA plug & play ATA
1045 controllers such as those found on old soundcards.
1046
1047 If unsure, say N.
1048
1049 config PATA_IXP4XX_CF
1050 tristate "IXP4XX Compact Flash support"
1051 depends on ARCH_IXP4XX || COMPILE_TEST
1052 help
1053 This option enables support for a Compact Flash connected on
1054 the ixp4xx expansion bus. This driver had been written for
1055 Loft/Avila boards in mind but can work with others.
1056
1057 If unsure, say N.
1058
1059 config PATA_MPIIX
1060 tristate "Intel PATA MPIIX support"
1061 depends on PCI
1062 help
1063 This option enables support for MPIIX PATA support.
1064
1065 If unsure, say N.
1066
1067 config PATA_NS87410
1068 tristate "Nat Semi NS87410 PATA support"
1069 depends on PCI
1070 select PATA_TIMINGS
1071 help
1072 This option enables support for the National Semiconductor
1073 NS87410 PCI-IDE controller.
1074
1075 If unsure, say N.
1076
1077 config PATA_OPTI
1078 tristate "OPTI621/6215 PATA support (Very Experimental)"
1079 depends on PCI
1080 help
1081 This option enables full PIO support for the early Opti ATA
1082 controllers found on some old motherboards.
1083
1084 If unsure, say N.
1085
1086 config PATA_PALMLD
1087 tristate "Palm LifeDrive PATA support"
1088 depends on MACH_PALMLD
1089 help
1090 This option enables support for Palm LifeDrive's internal ATA
1091 port via the new ATA layer.
1092
1093 If unsure, say N.
1094
1095 config PATA_PCMCIA
1096 tristate "PCMCIA PATA support"
1097 depends on PCMCIA
1098 help
1099 This option enables support for PCMCIA ATA interfaces, including
1100 compact flash card adapters via the new ATA layer.
1101
1102 If unsure, say N.
1103
1104 config PATA_PLATFORM
1105 tristate "Generic platform device PATA support"
1106 depends on EXPERT || PPC || HAVE_PATA_PLATFORM
1107 help
1108 This option enables support for generic directly connected ATA
1109 devices commonly found on embedded systems.
1110
1111 If unsure, say N.
1112
1113 config PATA_OF_PLATFORM
1114 tristate "OpenFirmware platform device PATA support"
1115 depends on PATA_PLATFORM && OF
1116 help
1117 This option enables support for generic directly connected ATA
1118 devices commonly found on embedded systems with OpenFirmware
1119 bindings.
1120
1121 If unsure, say N.
1122
1123 config PATA_QDI
1124 tristate "QDI VLB PATA support"
1125 depends on ISA
1126 select PATA_LEGACY
1127 help
1128 Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
1129
1130 config PATA_RB532
1131 tristate "RouterBoard 532 PATA CompactFlash support"
1132 depends on MIKROTIK_RB532
1133 help
1134 This option enables support for the RouterBoard 532
1135 PATA CompactFlash controller.
1136
1137 If unsure, say N.
1138
1139 config PATA_RZ1000
1140 tristate "PC Tech RZ1000 PATA support"
1141 depends on PCI
1142 help
1143 This option enables basic support for the PC Tech RZ1000/1
1144 PATA controllers via the new ATA layer
1145
1146 If unsure, say N.
1147
1148 config PATA_SAMSUNG_CF
1149 tristate "Samsung SoC PATA support"
1150 depends on SAMSUNG_DEV_IDE || COMPILE_TEST
1151 select PATA_TIMINGS
1152 help
1153 This option enables basic support for Samsung's S3C/S5P board
1154 PATA controllers via the new ATA layer
1155
1156 If unsure, say N.
1157
1158 config PATA_WINBOND_VLB
1159 tristate "Winbond W83759A VLB PATA support (Experimental)"
1160 depends on ISA
1161 select PATA_LEGACY
1162 help
1163 Support for the Winbond W83759A controller on Vesa Local Bus
1164 systems.
1165
1166 comment "Generic fallback / legacy drivers"
1167
1168 config PATA_ACPI
1169 tristate "ACPI firmware driver for PATA"
1170 depends on ATA_ACPI && ATA_BMDMA && PCI
1171 select PATA_TIMINGS
1172 help
1173 This option enables an ACPI method driver which drives
1174 motherboard PATA controller interfaces through the ACPI
1175 firmware in the BIOS. This driver can sometimes handle
1176 otherwise unsupported hardware.
1177
1178 config ATA_GENERIC
1179 tristate "Generic ATA support"
1180 depends on PCI && ATA_BMDMA
1181 select SATA_HOST
1182 help
1183 This option enables support for generic BIOS configured
1184 ATA controllers via the new ATA layer
1185
1186 If unsure, say N.
1187
1188 config PATA_LEGACY
1189 tristate "Legacy ISA PATA support (Experimental)"
1190 depends on (ISA || PCI)
1191 select PATA_TIMINGS
1192 help
1193 This option enables support for ISA/VLB/PCI bus legacy PATA
1194 ports and allows them to be accessed via the new ATA layer.
1195
1196 If unsure, say N.
1197
1198 endif # ATA_SFF
1199 endif # ATA