pata_cs5536: use 32-bit BM DMA template instead of 16-bit.
[safe/jmp/linux-2.6] / drivers / ata / Kconfig
index 99837d9..f2df6e2 100644 (file)
@@ -2,12 +2,11 @@
 # SATA/PATA driver configuration
 #
 
-menu "Serial ATA (prod) and Parallel ATA (experimental) drivers"
-
-config ATA
-       tristate "ATA device support"
+menuconfig ATA
+       tristate "Serial ATA (prod) and Parallel ATA (experimental) drivers"
+       depends on HAS_IOMEM
+       depends on BLOCK
        depends on !(M32R || M68K) || BROKEN
-       depends on !SUN4 || BROKEN
        select SCSI
        ---help---
          If you want to use a ATA hard disk, ATA tape drive, ATA CD-ROM or
@@ -16,8 +15,49 @@ config ATA
          that "speaks" the ATA protocol, also called ATA controller),
          because you will be asked for it.
 
+         NOTE: ATA enables basic SCSI support; *however*,
+         'SCSI disk support', 'SCSI tape support', or
+         'SCSI CDROM support' may also be needed,
+         depending on your hardware configuration.
+
 if ATA
 
+config ATA_NONSTANDARD
+       bool
+       default n
+
+config ATA_VERBOSE_ERROR
+       bool "Verbose ATA error reporting"
+       default y
+       help
+         This option adds parsing of ATA command descriptions and error bits
+         in libata kernel output, making it easier to interpret.
+         This option will enlarge the kernel by approx. 6KB. Disable it only
+         if kernel size is more important than ease of debugging.
+
+         If unsure, say Y.
+
+config ATA_ACPI
+       bool "ATA ACPI Support"
+       depends on ACPI && PCI
+       select ACPI_DOCK
+       default y
+       help
+         This option adds support for ATA-related ACPI objects.
+         These ACPI objects add the ability to retrieve taskfiles
+         from the ACPI BIOS and write them to the disk controller.
+         These objects may be related to performance, security,
+         power management, or other areas.
+         You can disable this at kernel boot time by using the
+         option libata.noacpi=1
+
+config SATA_PMP
+       bool "SATA Port Multiplier support"
+       default y
+       help
+         This option adds support for SATA Port Multipliers
+         (the SATA version of an ethernet hub, or SAS expander).
+
 config SATA_AHCI
        tristate "AHCI SATA support"
        depends on PCI
@@ -26,6 +66,43 @@ config SATA_AHCI
 
          If unsure, say N.
 
+config SATA_SIL24
+       tristate "Silicon Image 3124/3132 SATA support"
+       depends on PCI
+       help
+         This option enables support for Silicon Image 3124/3132 Serial ATA.
+
+         If unsure, say N.
+
+config SATA_FSL
+       tristate "Freescale 3.0Gbps SATA support"
+       depends on FSL_SOC
+       help
+         This option enables support for Freescale 3.0Gbps SATA controller.
+         It can be found on MPC837x and MPC8315.
+
+         If unsure, say N.
+
+config ATA_SFF
+       bool "ATA SFF support"
+       default y
+       help
+         This option adds support for ATA controllers with SFF
+         compliant or similar programming interface.
+
+         SFF is the legacy IDE interface that has been around since
+         the dawn of time.  Almost all PATA controllers have an
+         SFF interface.  Many SATA controllers have an SFF interface
+         when configured into a legacy compatibility mode.
+
+         For users with exclusively modern controllers like AHCI,
+         Silicon Image 3124, or Marvell 6440, you may choose to
+         disable this unneeded SFF support.
+
+         If unsure, say Y.
+
+if ATA_SFF
+
 config SATA_SVW
        tristate "ServerWorks Frodo / Apple K2 SATA support"
        depends on PCI
@@ -36,21 +113,21 @@ config SATA_SVW
          If unsure, say N.
 
 config ATA_PIIX
-       tristate "Intel PIIX/ICH SATA support"
+       tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
        depends on PCI
        help
-         This option enables support for ICH5/6/7/8 Serial ATA.
-         If PATA support was enabled previously, this enables
-         support for select Intel PIIX/ICH PATA host controllers.
+         This option enables support for ICH5/6/7/8 Serial ATA
+         and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
+         host controllers.
 
          If unsure, say N.
 
 config SATA_MV
-       tristate "Marvell SATA support (HIGHLY EXPERIMENTAL)"
-       depends on PCI && EXPERIMENTAL
+       tristate "Marvell SATA support"
        help
          This option enables support for the Marvell Serial ATA family.
-         Currently supports 88SX[56]0[48][01] chips.
+         Currently supports 88SX[56]0[48][01] PCI(-X) chips,
+         as well as the newer [67]042 PCI-X/PCIe and SOC devices.
 
          If unsure, say N.
 
@@ -87,7 +164,7 @@ config SATA_PROMISE
          If unsure, say N.
 
 config SATA_SX4
-       tristate "Promise SATA SX4 support"
+       tristate "Promise SATA SX4 support (Experimental)"
        depends on PCI && EXPERIMENTAL
        help
          This option enables support for Promise Serial ATA SX4.
@@ -102,20 +179,15 @@ config SATA_SIL
 
          If unsure, say N.
 
-config SATA_SIL24
-       tristate "Silicon Image 3124/3132 SATA support"
-       depends on PCI
-       help
-         This option enables support for Silicon Image 3124/3132 Serial ATA.
-
-         If unsure, say N.
-
 config SATA_SIS
-       tristate "SiS 964/180 SATA support"
+       tristate "SiS 964/965/966/180 SATA support"
        depends on PCI
+       select PATA_SIS
        help
-         This option enables support for SiS Serial ATA 964/180.
-
+         This option enables support for SiS Serial ATA on
+         SiS 964/965/966/180 and Parallel ATA on SiS 180.
+         The PATA support for SiS 180 requires additionally to
+         enable the PATA_SIS driver in the config.
          If unsure, say N.
 
 config SATA_ULI
@@ -142,14 +214,24 @@ config SATA_VITESSE
 
          If unsure, say N.
 
-config SATA_INTEL_COMBINED
-       bool
-       depends on IDE=y && !BLK_DEV_IDE_SATA && (SATA_AHCI || ATA_PIIX)
-       default y
+config SATA_INIC162X
+       tristate "Initio 162x SATA support"
+       depends on PCI
+       help
+         This option enables support for Initio 162x Serial ATA.
+
+config PATA_ACPI
+       tristate "ACPI firmware driver for PATA"
+       depends on ATA_ACPI
+       help
+         This option enables an ACPI method driver which drives
+         motherboard PATA controller interfaces through the ACPI
+         firmware in the BIOS. This driver can sometimes handle
+         otherwise unsupported hardware.
 
 config PATA_ALI
-       tristate "ALi PATA support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "ALi PATA support"
+       depends on PCI
        help
          This option enables support for the ALi ATA interfaces
          found on the many ALi chipsets.
@@ -157,7 +239,7 @@ config PATA_ALI
          If unsure, say N.
 
 config PATA_AMD
-       tristate "AMD/NVidia PATA support (Experimental)"
+       tristate "AMD/NVidia PATA support"
        depends on PCI
        help
          This option enables support for the AMD and NVidia PATA
@@ -166,25 +248,53 @@ config PATA_AMD
          If unsure, say N.
 
 config PATA_ARTOP
-       tristate "ARTOP 6210/6260 PATA support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "ARTOP 6210/6260 PATA support"
+       depends on PCI
        help
          This option enables support for ARTOP PATA controllers.
 
          If unsure, say N.
 
+config PATA_ATP867X
+       tristate "ARTOP/Acard ATP867X PATA support"
+       depends on PCI
+       help
+         This option enables support for ARTOP/Acard ATP867X PATA
+         controllers.
+
+         If unsure, say N.
+
+config PATA_AT32
+       tristate "Atmel AVR32 PATA support (Experimental)"
+       depends on AVR32 && PLATFORM_AT32AP && EXPERIMENTAL
+       help
+         This option enables support for the IDE devices on the
+         Atmel AT32AP platform.
+
+         If unsure, say N.
+
 config PATA_ATIIXP
-       tristate "ATI PATA support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "ATI PATA support"
+       depends on PCI
        help
          This option enables support for the ATI ATA interfaces
          found on the many ATI chipsets.
 
          If unsure, say N.
 
+config PATA_CMD640_PCI
+       tristate "CMD640 PCI PATA support (Experimental)"
+       depends on PCI && EXPERIMENTAL
+       help
+         This option enables support for the CMD640 PCI IDE
+         interface chip. Only the primary channel is currently
+         supported.
+
+         If unsure, say N.
+
 config PATA_CMD64X
-       tristate "CMD64x PATA support (Very Experimental)"
-       depends on PCI&& EXPERIMENTAL
+       tristate "CMD64x PATA support"
+       depends on PCI
        help
          This option enables support for the CMD64x series chips
          except for the CMD640.
@@ -201,8 +311,8 @@ config PATA_CS5520
          If unsure, say N.
 
 config PATA_CS5530
-       tristate "CS5530 PATA support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "CS5530 PATA support"
+       depends on PCI
        help
          This option enables support for the Cyrix/NatSemi/AMD CS5530
          companion chip used with the MediaGX/Geode processor family.
@@ -218,6 +328,15 @@ config PATA_CS5535
 
          If unsure, say N.
 
+config PATA_CS5536
+       tristate "CS5536 PATA support"
+       depends on PCI && X86 && !X86_64
+       help
+         This option enables support for the AMD CS5536
+         companion chip used with the Geode LX processor family.
+
+         If unsure, say N.
+
 config PATA_CYPRESS
        tristate "Cypress CY82C693 PATA support (Very Experimental)"
        depends on PCI && EXPERIMENTAL
@@ -246,8 +365,8 @@ config ATA_GENERIC
          If unsure, say N.
 
 config PATA_HPT366
-       tristate "HPT 366/368 PATA support (Very Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "HPT 366/368 PATA support"
+       depends on PCI
        help
          This option enables support for the HPT 366 and 368
          PATA controllers via the new ATA layer.
@@ -255,7 +374,7 @@ config PATA_HPT366
          If unsure, say N.
 
 config PATA_HPT37X
-       tristate "HPT 370/370A/371/372/374/302 PATA support (Very Experimental)"
+       tristate "HPT 370/370A/371/372/374/302 PATA support (Experimental)"
        depends on PCI && EXPERIMENTAL
        help
          This option enables support for the majority of the later HPT
@@ -264,7 +383,7 @@ config PATA_HPT37X
          If unsure, say N.
 
 config PATA_HPT3X2N
-       tristate "HPT 372N/302N PATA support (Very Experimental)"
+       tristate "HPT 372N/302N PATA support (Experimental)"
        depends on PCI && EXPERIMENTAL
        help
          This option enables support for the N variant HPT PATA
@@ -273,7 +392,7 @@ config PATA_HPT3X2N
          If unsure, say N.
 
 config PATA_HPT3X3
-       tristate "HPT 343/363 PATA support (Experimental)"
+       tristate "HPT 343/363 PATA support"
        depends on PCI
        help
          This option enables support for the HPT 343/363
@@ -281,9 +400,17 @@ config PATA_HPT3X3
 
          If unsure, say N.
 
+config PATA_HPT3X3_DMA
+       bool "HPT 343/363 DMA support (Experimental)"
+       depends on PATA_HPT3X3
+       help
+         This option enables DMA support for the HPT343/363
+         controllers. Enable with care as there are still some
+         problems with DMA on this chipset.
+
 config PATA_ISAPNP
-       tristate "ISA Plug and Play PATA support (Very Experimental)"
-       depends on EXPERIMENTAL && ISAPNP
+       tristate "ISA Plug and Play PATA support"
+       depends on ISAPNP
        help
          This option enables support for ISA plug & play ATA
          controllers such as those found on old soundcards.
@@ -291,8 +418,8 @@ config PATA_ISAPNP
          If unsure, say N.
 
 config PATA_IT821X
-       tristate "IT821x PATA support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "IT8211/2 PATA support"
+       depends on PCI
        help
          This option enables support for the ITE 8211 and 8212
          PATA controllers via the new ATA layer, including RAID
@@ -300,6 +427,15 @@ config PATA_IT821X
 
          If unsure, say N.
 
+config PATA_IT8213
+       tristate "IT8213 PATA support (Experimental)"
+       depends on PCI && EXPERIMENTAL
+       help
+         This option enables support for the ITE 821 PATA
+          controllers via the new ATA layer.
+
+         If unsure, say N.
+
 config PATA_JMICRON
        tristate "JMicron PATA support"
        depends on PCI
@@ -311,7 +447,7 @@ config PATA_JMICRON
 
 config PATA_LEGACY
        tristate "Legacy ISA PATA support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       depends on ISA && EXPERIMENTAL
        help
          This option enables support for ISA/VLB bus legacy PATA
          ports and allows them to be accessed via the new ATA layer.
@@ -327,6 +463,27 @@ config PATA_TRIFLEX
 
          If unsure, say N.
 
+config PATA_MARVELL
+       tristate "Marvell PATA support via legacy mode"
+       depends on PCI
+       help
+         This option enables limited support for the Marvell 88SE61xx ATA
+         controllers. If you wish to use only the SATA ports then select
+         the AHCI driver alone. If you wish to the use the PATA port or
+         both SATA and PATA include this driver.
+
+         If unsure, say N.
+
+config PATA_MPC52xx
+       tristate "Freescale MPC52xx SoC internal IDE"
+       depends on PPC_MPC52xx && PPC_BESTCOMM
+       select PPC_BESTCOMM_ATA
+       help
+         This option enables support for integrated IDE controller
+         of the Freescale MPC52xx SoC.
+
+         If unsure, say N.
+
 config PATA_MPIIX
        tristate "Intel PATA MPIIX support"
        depends on PCI
@@ -336,10 +493,10 @@ config PATA_MPIIX
          If unsure, say N.
 
 config PATA_OLDPIIX
-       tristate "Intel PATA old PIIX support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "Intel PATA old PIIX support"
+       depends on PCI
        help
-         This option enables support for old(?) PIIX PATA support.
+         This option enables support for early PIIX PATA support.
 
          If unsure, say N.
 
@@ -352,15 +509,33 @@ config PATA_NETCELL
 
          If unsure, say N.
 
-config PATA_NS87410
-       tristate "Nat Semi NS87410 PATA support (Experimental)"
+config PATA_NINJA32
+       tristate "Ninja32/Delkin Cardbus ATA support (Experimental)"
        depends on PCI && EXPERIMENTAL
        help
+         This option enables support for the Ninja32, Delkin and
+         possibly other brands of Cardbus ATA adapter
+
+         If unsure, say N.
+
+config PATA_NS87410
+       tristate "Nat Semi NS87410 PATA support"
+       depends on PCI
+       help
          This option enables support for the National Semiconductor
          NS87410 PCI-IDE controller.
 
          If unsure, say N.
 
+config PATA_NS87415
+       tristate "Nat Semi NS87415 PATA support"
+       depends on PCI
+       help
+         This option enables support for the National Semiconductor
+         NS87415 PCI-IDE controller.
+
+         If unsure, say N.
+
 config PATA_OPTI
        tristate "OPTI621/6215 PATA support (Very Experimental)"
        depends on PCI && EXPERIMENTAL
@@ -371,12 +546,21 @@ config PATA_OPTI
          If unsure, say N.
 
 config PATA_OPTIDMA
-       tristate "OPTI FireStar PATA support (Veyr Experimental)"
+       tristate "OPTI FireStar PATA support (Very Experimental)"
        depends on PCI && EXPERIMENTAL
        help
          This option enables DMA/PIO support for the later OPTi
          controllers found on some old motherboards and in some
-         latops
+         laptops.
+
+         If unsure, say N.
+
+config PATA_PALMLD
+       tristate "Palm LifeDrive PATA support"
+       depends on MACH_PALMLD
+       help
+         This option enables support for Palm LifeDrive's internal ATA
+         port via the new ATA layer.
 
          If unsure, say N.
 
@@ -390,8 +574,8 @@ config PATA_PCMCIA
          If unsure, say N.
 
 config PATA_PDC_OLD
-       tristate "Older Promise PATA controller support (Very Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "Older Promise PATA controller support"
+       depends on PCI
        help
          This option enables support for the Promise 20246, 20262, 20263,
          20265 and 20267 adapters.
@@ -400,11 +584,12 @@ config PATA_PDC_OLD
 
 config PATA_QDI
        tristate "QDI VLB PATA support"
+       depends on ISA
        help
          Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
 
 config PATA_RADISYS
-       tristate "RADISYS 82600 PATA support (Very experimental)"
+       tristate "RADISYS 82600 PATA support (Experimental)"
        depends on PCI && EXPERIMENTAL
        help
          This option enables support for the RADISYS 82600
@@ -412,6 +597,25 @@ config PATA_RADISYS
 
          If unsure, say N.
 
+config PATA_RB532
+       tristate "RouterBoard 532 PATA CompactFlash support"
+       depends on MIKROTIK_RB532
+       help
+         This option enables support for the RouterBoard 532
+         PATA CompactFlash controller.
+
+         If unsure, say N.
+
+config PATA_RDC
+       tristate "RDC PATA support"
+       depends on PCI
+       help
+         This option enables basic support for the later RDC PATA controllers
+         controllers via the new ATA layer. For the RDC 1010, you need to
+         enable the IT821X driver instead.
+
+         If unsure, say N.
+
 config PATA_RZ1000
        tristate "PC Tech RZ1000 PATA support"
        depends on PCI
@@ -422,8 +626,8 @@ config PATA_RZ1000
          If unsure, say N.
 
 config PATA_SC1200
-       tristate "SC1200 PATA support (Raving Lunatic)"
-       depends on PCI && EXPERIMENTAL
+       tristate "SC1200 PATA support"
+       depends on PCI
        help
          This option enables support for the NatSemi/AMD SC1200 SoC
          companion chip used with the Geode processor family.
@@ -431,8 +635,8 @@ config PATA_SC1200
          If unsure, say N.
 
 config PATA_SERVERWORKS
-       tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
+       depends on PCI
        help
          This option enables support for the Serverworks OSB4/CSB5/CSB6 and
          HT1000 PATA controllers, via the new ATA layer.
@@ -456,8 +660,8 @@ config PATA_SIL680
          If unsure, say N.
 
 config PATA_SIS
-       tristate "SiS PATA support (Experimental)"
-       depends on PCI && EXPERIMENTAL
+       tristate "SiS PATA support"
+       depends on PCI
        help
          This option enables support for SiS PATA controllers
 
@@ -481,6 +685,101 @@ config PATA_WINBOND
 
          If unsure, say N.
 
-endif
-endmenu
+config PATA_WINBOND_VLB
+       tristate "Winbond W83759A VLB PATA support (Experimental)"
+       depends on ISA && EXPERIMENTAL
+       help
+         Support for the Winbond W83759A controller on Vesa Local Bus
+         systems.
+
+config HAVE_PATA_PLATFORM
+       bool
+       help
+         This is an internal configuration node for any machine that
+         uses pata-platform driver to enable the relevant driver in the
+         configuration structure without having to submit endless patches
+         to update the PATA_PLATFORM entry.
+
+config PATA_PLATFORM
+       tristate "Generic platform device PATA support"
+       depends on EMBEDDED || PPC || HAVE_PATA_PLATFORM
+       help
+         This option enables support for generic directly connected ATA
+         devices commonly found on embedded systems.
+
+         If unsure, say N.
+
+config PATA_AT91
+       tristate "PATA support for AT91SAM9260"
+       depends on ARM && ARCH_AT91
+       help
+         This option enables support for IDE devices on the Atmel AT91SAM9260 SoC.
+
+         If unsure, say N.
+
+config PATA_OF_PLATFORM
+       tristate "OpenFirmware platform device PATA support"
+       depends on PATA_PLATFORM && PPC_OF
+       help
+         This option enables support for generic directly connected ATA
+         devices commonly found on embedded systems with OpenFirmware
+         bindings.
+
+         If unsure, say N.
+
+config PATA_ICSIDE
+       tristate "Acorn ICS PATA support"
+       depends on ARM && ARCH_ACORN
+       help
+         On Acorn systems, say Y here if you wish to use the ICS PATA
+         interface card.  This is not required for ICS partition support.
+         If you are unsure, say N to this.
+
+config PATA_IXP4XX_CF
+       tristate "IXP4XX Compact Flash support"
+       depends on ARCH_IXP4XX
+       help
+         This option enables support for a Compact Flash connected on
+         the ixp4xx expansion bus. This driver had been written for
+         Loft/Avila boards in mind but can work with others.
+
+         If unsure, say N.
+
+config PATA_OCTEON_CF
+       tristate "OCTEON Boot Bus Compact Flash support"
+       depends on CPU_CAVIUM_OCTEON
+       help
+         This option enables a polled compact flash driver for use with
+         compact flash cards attached to the OCTEON boot bus.
+
+         If unsure, say N.
+
+config PATA_SCC
+       tristate "Toshiba's Cell Reference Set IDE support"
+       depends on PCI && PPC_CELLEB
+       help
+         This option enables support for the built-in IDE controller on
+         Toshiba Cell Reference Board.
+
+         If unsure, say N.
+
+config PATA_SCH
+       tristate "Intel SCH PATA support"
+       depends on PCI
+       help
+         This option enables support for Intel SCH PATA on the Intel
+         SCH (US15W, US15L, UL11L) series host controllers.
+
+         If unsure, say N.
+
+config PATA_BF54X
+       tristate "Blackfin 54x ATAPI support"
+       depends on BF542 || BF548 || BF549
+       help
+         This option enables support for the built-in ATAPI controller on
+         Blackfin 54x family chips.
+
+         If unsure, say N.
 
+endif # ATA_SFF
+endif # ATA