summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2006-08-14 19:39:33 +0000
committersos <sos@FreeBSD.org>2006-08-14 19:39:33 +0000
commit194fc40252475eb8fffd5a06bc391c813799cb37 (patch)
tree1d614b4812210648dc292587b0aab68ba1dccadc /sys/dev/ata
parent99a85841081543eb64eccdd2402a4934a76cf674 (diff)
downloadFreeBSD-src-194fc40252475eb8fffd5a06bc391c813799cb37.zip
FreeBSD-src-194fc40252475eb8fffd5a06bc391c813799cb37.tar.gz
Add support for the ICH8 and ESB2 chips, also add a few other missing ICH7 parts.
HW donated by: JMicron
Diffstat (limited to 'sys/dev/ata')
-rw-r--r--sys/dev/ata/ata-chipset.c74
-rw-r--r--sys/dev/ata/ata-pci.h38
2 files changed, 70 insertions, 42 deletions
diff --git a/sys/dev/ata/ata-chipset.c b/sys/dev/ata/ata-chipset.c
index 86d6e30..17bc3f4 100644
--- a/sys/dev/ata/ata-chipset.c
+++ b/sys/dev/ata/ata-chipset.c
@@ -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];
diff --git a/sys/dev/ata/ata-pci.h b/sys/dev/ata/ata-pci.h
index 49d0de5..5b4cef0 100644
--- a/sys/dev/ata/ata-pci.h
+++ b/sys/dev/ata/ata-pci.h
@@ -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
OpenPOWER on IntegriCloud