mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 16:29:59 +00:00
![Martin K. Petersen](/assets/img/avatar_default.png)
This is a driver for the ATA controller on the Geode CS5536 companion chip. The PCI device ID for this device was previously claimed by pata_amd.c but the PIO timings were not correct. This driver also works around a bug in some BIOSes that handle unaligned access to the PCI config registers poorly. Finally, the driver allows fallback to using MSR registers for configuration on BIOSes that are truly broken. Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
651 lines
16 KiB
Text
651 lines
16 KiB
Text
#
|
|
# SATA/PATA driver configuration
|
|
#
|
|
|
|
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
|
|
any other ATA device under Linux, say Y and make sure that you know
|
|
the name of your ATA host adapter (the card inside your computer
|
|
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_ACPI
|
|
bool
|
|
depends on ACPI && PCI
|
|
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_AHCI
|
|
tristate "AHCI SATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for AHCI Serial ATA.
|
|
|
|
If unsure, say N.
|
|
|
|
config SATA_SVW
|
|
tristate "ServerWorks Frodo / Apple K2 SATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for Broadcom/Serverworks/Apple K2
|
|
SATA support.
|
|
|
|
If unsure, say N.
|
|
|
|
config ATA_PIIX
|
|
tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
|
|
depends on PCI
|
|
help
|
|
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
|
|
help
|
|
This option enables support for the Marvell Serial ATA family.
|
|
Currently supports 88SX[56]0[48][01] chips.
|
|
|
|
If unsure, say N.
|
|
|
|
config SATA_NV
|
|
tristate "NVIDIA SATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for NVIDIA Serial ATA.
|
|
|
|
If unsure, say N.
|
|
|
|
config PDC_ADMA
|
|
tristate "Pacific Digital ADMA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for Pacific Digital ADMA controllers
|
|
|
|
If unsure, say N.
|
|
|
|
config SATA_QSTOR
|
|
tristate "Pacific Digital SATA QStor support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for Pacific Digital Serial ATA QStor.
|
|
|
|
If unsure, say N.
|
|
|
|
config SATA_PROMISE
|
|
tristate "Promise SATA TX2/TX4 support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for Promise Serial ATA TX2/TX4.
|
|
|
|
If unsure, say N.
|
|
|
|
config SATA_SX4
|
|
tristate "Promise SATA SX4 support"
|
|
depends on PCI && EXPERIMENTAL
|
|
help
|
|
This option enables support for Promise Serial ATA SX4.
|
|
|
|
If unsure, say N.
|
|
|
|
config SATA_SIL
|
|
tristate "Silicon Image SATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for Silicon Image Serial ATA.
|
|
|
|
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
|
|
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
|
|
tristate "ULi Electronics SATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for ULi Electronics SATA.
|
|
|
|
If unsure, say N.
|
|
|
|
config SATA_VIA
|
|
tristate "VIA SATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for VIA Serial ATA.
|
|
|
|
If unsure, say N.
|
|
|
|
config SATA_VITESSE
|
|
tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
|
|
|
|
If unsure, say N.
|
|
|
|
config SATA_INIC162X
|
|
tristate "Initio 162x SATA support (HIGHLY EXPERIMENTAL)"
|
|
depends on PCI && EXPERIMENTAL
|
|
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
|
|
help
|
|
This option enables support for the ALi ATA interfaces
|
|
found on the many ALi chipsets.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_AMD
|
|
tristate "AMD/NVidia PATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for the AMD and NVidia PATA
|
|
interfaces found on the chipsets for Athlon/Athlon64.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_ARTOP
|
|
tristate "ARTOP 6210/6260 PATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for ARTOP 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"
|
|
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 (Very 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"
|
|
depends on PCI
|
|
help
|
|
This option enables support for the CMD64x series chips
|
|
except for the CMD640.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_CS5520
|
|
tristate "CS5510/5520 PATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for the Cyrix 5510/5520
|
|
companion chip used with the MediaGX/Geode processor family.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_CS5530
|
|
tristate "CS5530 PATA support (Experimental)"
|
|
depends on PCI && EXPERIMENTAL
|
|
help
|
|
This option enables support for the Cyrix/NatSemi/AMD CS5530
|
|
companion chip used with the MediaGX/Geode processor family.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_CS5535
|
|
tristate "CS5535 PATA support (Experimental)"
|
|
depends on PCI && X86 && !X86_64 && EXPERIMENTAL
|
|
help
|
|
This option enables support for the NatSemi/AMD CS5535
|
|
companion chip used with the Geode processor family.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_CS5536
|
|
tristate "CS5536 PATA support (Experimental)"
|
|
depends on PCI && X86 && !X86_64 && EXPERIMENTAL
|
|
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
|
|
help
|
|
This option enables support for the Cypress/Contaq CY82C693
|
|
chipset found in some Alpha systems
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_EFAR
|
|
tristate "EFAR SLC90E66 support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for the EFAR SLC90E66
|
|
IDE controller found on some older machines.
|
|
|
|
If unsure, say N.
|
|
|
|
config ATA_GENERIC
|
|
tristate "Generic ATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for generic BIOS configured
|
|
ATA controllers via the new ATA layer
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_HPT366
|
|
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.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_HPT37X
|
|
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
|
|
PATA controllers via the new ATA layer.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_HPT3X2N
|
|
tristate "HPT 372N/302N PATA support (Very Experimental)"
|
|
depends on PCI && EXPERIMENTAL
|
|
help
|
|
This option enables support for the N variant HPT PATA
|
|
controllers via the new ATA layer
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_HPT3X3
|
|
tristate "HPT 343/363 PATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for the HPT 343/363
|
|
PATA controllers via the new ATA layer
|
|
|
|
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 (Experimental)"
|
|
depends on EXPERIMENTAL && ISAPNP
|
|
help
|
|
This option enables support for ISA plug & play ATA
|
|
controllers such as those found on old soundcards.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_IT821X
|
|
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
|
|
mode.
|
|
|
|
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
|
|
help
|
|
Enable support for the JMicron IDE controller, via the new
|
|
ATA layer.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_LEGACY
|
|
tristate "Legacy ISA PATA support (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.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_TRIFLEX
|
|
tristate "Compaq Triflex PATA support"
|
|
depends on PCI
|
|
help
|
|
Enable support for the Compaq 'Triflex' IDE controller as found
|
|
on many Compaq Pentium-Pro systems, via the new ATA layer.
|
|
|
|
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 88SE6145 ATA
|
|
controller.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_MPC52xx
|
|
tristate "Freescale MPC52xx SoC internal IDE"
|
|
depends on PPC_MPC52xx
|
|
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
|
|
help
|
|
This option enables support for MPIIX PATA support.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_OLDPIIX
|
|
tristate "Intel PATA old PIIX support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for early PIIX PATA support.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_NETCELL
|
|
tristate "NETCELL Revolution RAID support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for the Netcell Revolution RAID
|
|
PATA controller.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_NS87410
|
|
tristate "Nat Semi NS87410 PATA support (Experimental)"
|
|
depends on PCI && EXPERIMENTAL
|
|
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 (Experimental)"
|
|
depends on PCI && EXPERIMENTAL
|
|
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
|
|
help
|
|
This option enables full PIO support for the early Opti ATA
|
|
controllers found on some old motherboards.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_OPTIDMA
|
|
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
|
|
laptops.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_PCMCIA
|
|
tristate "PCMCIA PATA support"
|
|
depends on PCMCIA
|
|
help
|
|
This option enables support for PCMCIA ATA interfaces, including
|
|
compact flash card adapters via the new ATA layer.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_PDC_OLD
|
|
tristate "Older Promise PATA controller support (Experimental)"
|
|
depends on PCI && EXPERIMENTAL
|
|
help
|
|
This option enables support for the Promise 20246, 20262, 20263,
|
|
20265 and 20267 adapters.
|
|
|
|
If unsure, say N.
|
|
|
|
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)"
|
|
depends on PCI && EXPERIMENTAL
|
|
help
|
|
This option enables support for the RADISYS 82600
|
|
PATA controllers via the new ATA layer
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_RZ1000
|
|
tristate "PC Tech RZ1000 PATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables basic support for the PC Tech RZ1000/1
|
|
PATA controllers via the new ATA layer
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_SC1200
|
|
tristate "SC1200 PATA support (Very Experimental)"
|
|
depends on PCI && EXPERIMENTAL
|
|
help
|
|
This option enables support for the NatSemi/AMD SC1200 SoC
|
|
companion chip used with the Geode processor family.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_SERVERWORKS
|
|
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.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_PDC2027X
|
|
tristate "Promise PATA 2027x support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_SIL680
|
|
tristate "CMD / Silicon Image 680 PATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for CMD / Silicon Image 680 PATA.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_SIS
|
|
tristate "SiS PATA support (Experimental)"
|
|
depends on PCI && EXPERIMENTAL
|
|
help
|
|
This option enables support for SiS PATA controllers
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_VIA
|
|
tristate "VIA PATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for the VIA PATA interfaces
|
|
found on the many VIA chipsets.
|
|
|
|
If unsure, say N.
|
|
|
|
config PATA_WINBOND
|
|
tristate "Winbond SL82C105 PATA support"
|
|
depends on PCI
|
|
help
|
|
This option enables support for SL82C105 PATA devices found in the
|
|
Netwinder and some other systems
|
|
|
|
If unsure, say N.
|
|
|
|
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 PATA_PLATFORM
|
|
tristate "Generic platform device PATA support"
|
|
depends on EMBEDDED || ARCH_RPC
|
|
help
|
|
This option enables support for generic directly connected ATA
|
|
devices commonly found on embedded systems.
|
|
|
|
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_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_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.
|
|
|
|
config PATA_BF54X_DMA
|
|
bool "DMA mode"
|
|
depends on PATA_BF54X
|
|
default y
|
|
help
|
|
Enable DMA mode for Blackfin ATAPI controller.
|
|
|
|
endif # ATA
|