pata_cs5536: use 32-bit BM DMA template instead of 16-bit.
[safe/jmp/linux-2.6] / drivers / ata / Kconfig
index 7bdbe5a..f2df6e2 100644 (file)
@@ -2,13 +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
@@ -17,12 +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
@@ -31,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
@@ -51,11 +123,11 @@ config ATA_PIIX
          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.
 
@@ -92,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.
@@ -107,20 +179,12 @@ 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/965/966/180 SATA support"
        depends on PCI
        select PATA_SIS
        help
-         This option enables support for SiS Serial ATA on 
+         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.
@@ -151,32 +215,23 @@ config SATA_VITESSE
          If unsure, say N.
 
 config SATA_INIC162X
-       tristate "Initio 162x SATA support (HIGHLY EXPERIMENTAL)"
-       depends on PCI && EXPERIMENTAL
+       tristate "Initio 162x SATA support"
+       depends on PCI
        help
          This option enables support for Initio 162x Serial ATA.
 
-config SATA_INTEL_COMBINED
-       bool
-       depends on IDE=y && !BLK_DEV_IDE_SATA && (SATA_AHCI || ATA_PIIX)
-       default y
-
-config SATA_ACPI
-       bool
-       depends on ACPI && PCI
-       default y
+config PATA_ACPI
+       tristate "ACPI firmware driver for PATA"
+       depends on ATA_ACPI
        help
-         This option adds support for SATA-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
+         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.
@@ -184,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
@@ -193,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.
@@ -228,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.
@@ -245,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
@@ -273,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.
@@ -282,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
@@ -291,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
@@ -300,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
@@ -308,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.
@@ -318,8 +418,8 @@ config PATA_ISAPNP
          If unsure, say N.
 
 config PATA_IT821X
-       tristate "IT8211/2 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
@@ -367,14 +467,17 @@ config PATA_MARVELL
        tristate "Marvell PATA support via legacy mode"
        depends on PCI
        help
-         This option enables limited support for the Marvell 88SE6145 ATA
-         controller.
+         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
+       depends on PPC_MPC52xx && PPC_BESTCOMM
+       select PPC_BESTCOMM_ATA
        help
          This option enables support for integrated IDE controller
          of the Freescale MPC52xx SoC.
@@ -390,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.
 
@@ -406,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
@@ -430,7 +551,16 @@ config PATA_OPTIDMA
        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.
 
@@ -444,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.
@@ -459,7 +589,7 @@ config PATA_QDI
          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
@@ -467,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
@@ -477,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.
@@ -486,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.
@@ -511,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
 
@@ -543,15 +692,49 @@ config PATA_WINBOND_VLB
          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
+       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
@@ -562,6 +745,15 @@ config PATA_IXP4XX_CF
 
          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
@@ -571,6 +763,23 @@ config PATA_SCC
 
          If unsure, say N.
 
-endif
-endmenu
+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