Add support for the ICH8 and ESB2 chips, also add a few other missing ICH7 parts.

HW donated by:	JMicron
This commit is contained in:
sos 2006-08-14 19:39:33 +00:00
parent 99a8584108
commit 194fc40252
2 changed files with 70 additions and 42 deletions

View File

@ -1639,36 +1639,50 @@ ata_intel_ident(device_t dev)
struct ata_pci_controller *ctlr = device_get_softc(dev);
struct ata_chip_id *idx;
static struct ata_chip_id ids[] =
{{ ATA_I82371FB, 0, 0, 0x00, ATA_WDMA2, "PIIX" },
{ ATA_I82371SB, 0, 0, 0x00, ATA_WDMA2, "PIIX3" },
{ ATA_I82371AB, 0, 0, 0x00, ATA_UDMA2, "PIIX4" },
{ ATA_I82443MX, 0, 0, 0x00, ATA_UDMA2, "PIIX4" },
{ ATA_I82451NX, 0, 0, 0x00, ATA_UDMA2, "PIIX4" },
{ ATA_I82801AB, 0, 0, 0x00, ATA_UDMA2, "ICH0" },
{ ATA_I82801AA, 0, 0, 0x00, ATA_UDMA4, "ICH" },
{ ATA_I82372FB, 0, 0, 0x00, ATA_UDMA4, "ICH" },
{ ATA_I82801BA, 0, 0, 0x00, ATA_UDMA5, "ICH2" },
{ ATA_I82801BA_1, 0, 0, 0x00, ATA_UDMA5, "ICH2" },
{ ATA_I82801CA, 0, 0, 0x00, ATA_UDMA5, "ICH3" },
{ ATA_I82801CA_1, 0, 0, 0x00, ATA_UDMA5, "ICH3" },
{ ATA_I82801DB, 0, 0, 0x00, ATA_UDMA5, "ICH4" },
{ ATA_I82801DB_1, 0, 0, 0x00, ATA_UDMA5, "ICH4" },
{ ATA_I82801EB, 0, 0, 0x00, ATA_UDMA5, "ICH5" },
{ ATA_I82801EB_S1, 0, 0, 0x00, ATA_SA150, "ICH5" },
{ ATA_I82801EB_R1, 0, 0, 0x00, ATA_SA150, "ICH5" },
{ ATA_I6300ESB, 0, 0, 0x00, ATA_UDMA5, "6300ESB" },
{ ATA_I6300ESB_S1, 0, 0, 0x00, ATA_SA150, "6300ESB" },
{ ATA_I6300ESB_R1, 0, 0, 0x00, ATA_SA150, "6300ESB" },
{ ATA_I82801FB, 0, 0, 0x00, ATA_UDMA5, "ICH6" },
{ ATA_I82801FB_S1, 0, AHCI, 0x00, ATA_SA150, "ICH6" },
{ ATA_I82801FB_R1, 0, AHCI, 0x00, ATA_SA150, "ICH6" },
{ ATA_I82801FB_M, 0, AHCI, 0x00, ATA_SA150, "ICH6" },
{ ATA_I82801GB, 0, 0, 0x00, ATA_UDMA5, "ICH7" },
{ ATA_I82801GB_S1, 0, AHCI, 0x00, ATA_SA300, "ICH7" },
{ ATA_I82801GB_R1, 0, AHCI, 0x00, ATA_SA300, "ICH7" },
{ ATA_I82801GB_M, 0, AHCI, 0x00, ATA_SA300, "ICH7" },
{ ATA_I82801GB_AH, 0, AHCI, 0x00, ATA_SA300, "ICH7" },
{ ATA_I31244, 0, 0, 0x00, ATA_SA150, "31244" },
{{ ATA_I82371FB, 0, 0, 0x00, ATA_WDMA2, "PIIX" },
{ ATA_I82371SB, 0, 0, 0x00, ATA_WDMA2, "PIIX3" },
{ ATA_I82371AB, 0, 0, 0x00, ATA_UDMA2, "PIIX4" },
{ ATA_I82443MX, 0, 0, 0x00, ATA_UDMA2, "PIIX4" },
{ ATA_I82451NX, 0, 0, 0x00, ATA_UDMA2, "PIIX4" },
{ ATA_I82801AB, 0, 0, 0x00, ATA_UDMA2, "ICH0" },
{ ATA_I82801AA, 0, 0, 0x00, ATA_UDMA4, "ICH" },
{ ATA_I82372FB, 0, 0, 0x00, ATA_UDMA4, "ICH" },
{ ATA_I82801BA, 0, 0, 0x00, ATA_UDMA5, "ICH2" },
{ ATA_I82801BA_1, 0, 0, 0x00, ATA_UDMA5, "ICH2" },
{ ATA_I82801CA, 0, 0, 0x00, ATA_UDMA5, "ICH3" },
{ ATA_I82801CA_1, 0, 0, 0x00, ATA_UDMA5, "ICH3" },
{ ATA_I82801DB, 0, 0, 0x00, ATA_UDMA5, "ICH4" },
{ ATA_I82801DB_1, 0, 0, 0x00, ATA_UDMA5, "ICH4" },
{ ATA_I82801EB, 0, 0, 0x00, ATA_UDMA5, "ICH5" },
{ ATA_I82801EB_S1, 0, 0, 0x00, ATA_SA150, "ICH5" },
{ ATA_I82801EB_R1, 0, 0, 0x00, ATA_SA150, "ICH5" },
{ ATA_I6300ESB, 0, 0, 0x00, ATA_UDMA5, "6300ESB" },
{ ATA_I6300ESB_S1, 0, 0, 0x00, ATA_SA150, "6300ESB" },
{ ATA_I6300ESB_R1, 0, 0, 0x00, ATA_SA150, "6300ESB" },
{ ATA_I82801FB, 0, 0, 0x00, ATA_UDMA5, "ICH6" },
{ ATA_I82801FB_S1, 0, AHCI, 0x00, ATA_SA150, "ICH6" },
{ ATA_I82801FB_R1, 0, AHCI, 0x00, ATA_SA150, "ICH6" },
{ ATA_I82801FBM, 0, AHCI, 0x00, ATA_SA150, "ICH6M" },
{ ATA_I82801GB, 0, 0, 0x00, ATA_UDMA5, "ICH7" },
{ ATA_I82801GB_S1, 0, AHCI, 0x00, ATA_SA300, "ICH7" },
{ ATA_I82801GB_R1, 0, AHCI, 0x00, ATA_SA300, "ICH7" },
{ ATA_I82801GB_AH, 0, AHCI, 0x00, ATA_SA300, "ICH7" },
{ ATA_I82801GBM_S1, 0, AHCI, 0x00, ATA_SA300, "ICH7M" },
{ ATA_I82801GBM_R1, 0, AHCI, 0x00, ATA_SA300, "ICH7M" },
{ ATA_I82801GBM_AH, 0, AHCI, 0x00, ATA_SA300, "ICH7M" },
{ ATA_I63XXESB2, 0, 0, 0x00, ATA_UDMA5, "63XXESB2" },
{ ATA_I63XXESB2_S1, 0, AHCI, 0x00, ATA_SA300, "63XXESB2" },
{ ATA_I63XXESB2_S2, 0, AHCI, 0x00, ATA_SA300, "63XXESB2" },
{ ATA_I63XXESB2_R1, 0, AHCI, 0x00, ATA_SA300, "63XXESB2" },
{ ATA_I63XXESB2_R2, 0, AHCI, 0x00, ATA_SA300, "63XXESB2" },
{ ATA_I82801HB_S1, 0, AHCI, 0x00, ATA_SA300, "ICH8" },
{ ATA_I82801HB_S2, 0, AHCI, 0x00, ATA_SA300, "ICH8" },
{ ATA_I82801HB_R1, 0, AHCI, 0x00, ATA_SA300, "ICH8" },
{ ATA_I82801HB_AH4, 0, AHCI, 0x00, ATA_SA300, "ICH8" },
{ ATA_I82801HB_AH6, 0, AHCI, 0x00, ATA_SA300, "ICH8" },
{ ATA_I82801HBM_S1, 0, AHCI, 0x00, ATA_SA300, "ICH8M" },
{ ATA_I82801HBM_S2, 0, AHCI, 0x00, ATA_SA300, "ICH8M" },
{ ATA_I31244, 0, 0, 0x00, ATA_SA150, "31244" },
{ 0, 0, 0, 0, 0, 0}};
char buffer[64];

View File

@ -144,27 +144,41 @@ struct ata_connect_task {
#define ATA_I6300ESB 0x25a28086
#define ATA_I6300ESB_S1 0x25a38086
#define ATA_I6300ESB_R1 0x25b08086
#define ATA_I63XXESB2 0x269e8086
#define ATA_I63XXESB2_S1 0x26808086
#define ATA_I63XXESB2_S2 0x26818086
#define ATA_I63XXESB2_R1 0x26828086
#define ATA_I63XXESB2_R2 0x26838086
#define ATA_I82801FB 0x266f8086
#define ATA_I82801FB_S1 0x26518086
#define ATA_I82801FB_R1 0x26528086
#define ATA_I82801FB_M 0x26538086
#define ATA_I82801FBM 0x26538086
#define ATA_I82801GB 0x27df8086
#define ATA_I82801GB_S1 0x27c08086
#define ATA_I82801GB_R1 0x27c38086
#define ATA_I82801GB_AH 0x27c18086
#define ATA_I82801GB_M 0x27c58086
#define ATA_I82801GB_R1 0x27c38086
#define ATA_I82801GBM_S1 0x27c48086
#define ATA_I82801GBM_AH 0x27c58086
#define ATA_I82801GBM_R1 0x27c68086
#define ATA_I82801HB_S1 0x28208086
#define ATA_I82801HB_AH6 0x28218086
#define ATA_I82801HB_R1 0x28228086
#define ATA_I82801HB_AH4 0x28248086
#define ATA_I82801HB_S2 0x28258086
#define ATA_I82801HBM_S1 0x28298086
#define ATA_I82801HBM_S2 0x282a8086
#define ATA_I31244 0x32008086
#define ATA_ITE_ID 0x1283
#define ATA_IT8211F 0x82111283
#define ATA_IT8212F 0x82121283
#define ATA_JMICRON_ID 0x197b
#define ATA_JMB360 0x2360197b
#define ATA_JMB361 0x2361197b
#define ATA_JMB363 0x2363197b
#define ATA_JMB365 0x2365197b
#define ATA_JMB366 0x2366197b
#define ATA_JMICRON_ID 0x197b
#define ATA_JMB360 0x2360197b
#define ATA_JMB361 0x2361197b
#define ATA_JMB363 0x2363197b
#define ATA_JMB365 0x2365197b
#define ATA_JMB366 0x2366197b
#define ATA_MARVELL_ID 0x11ab
#define ATA_M88SX5040 0x504011ab
@ -249,9 +263,9 @@ struct ata_connect_task {
#define ATA_CSB5 0x02121166
#define ATA_CSB6 0x02131166
#define ATA_CSB6_1 0x02171166
#define ATA_HT1000 0x02141166
#define ATA_HT1000_S1 0x024b1166
#define ATA_HT1000_S2 0x024a1166
#define ATA_HT1000 0x02141166
#define ATA_HT1000_S1 0x024b1166
#define ATA_HT1000_S2 0x024a1166
#define ATA_SILICON_IMAGE_ID 0x1095
#define ATA_SII3114 0x31141095