diff options
author | Alexander Yurchenko <grange@cvs.openbsd.org> | 2003-05-22 19:26:28 +0000 |
---|---|---|
committer | Alexander Yurchenko <grange@cvs.openbsd.org> | 2003-05-22 19:26:28 +0000 |
commit | 2db165da75b10e6c077b4f038213fc591112734d (patch) | |
tree | 4fac6ad27ba199ad63525d879deea5964e6a5e80 /sys | |
parent | 7c874a40822d87b232d52cda8a1350623d990166 (diff) |
Support for Intel ICH4-M; from marius aamodt eriksen <marius@monkey.org>.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/pci/pciide.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/sys/dev/pci/pciide.c b/sys/dev/pci/pciide.c index cfa34bca73f..e26af856899 100644 --- a/sys/dev/pci/pciide.c +++ b/sys/dev/pci/pciide.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pciide.c,v 1.126 2003/05/17 18:45:15 grange Exp $ */ +/* $OpenBSD: pciide.c,v 1.127 2003/05/22 19:26:27 grange Exp $ */ /* $NetBSD: pciide.c,v 1.127 2001/08/03 01:31:08 tsutsui Exp $ */ /* @@ -350,6 +350,10 @@ const struct pciide_product_desc pciide_intel_products[] = { 0, piix_chip_map }, + { PCI_PRODUCT_INTEL_82801DBM_IDE, /* Intel 82801DBM IDE (ICH4-M) */ + 0, + piix_chip_map + }, }; const struct pciide_product_desc pciide_amd_products[] = { @@ -1636,6 +1640,7 @@ piix_chip_map(sc, pa) case PCI_PRODUCT_INTEL_82801CAM_IDE: case PCI_PRODUCT_INTEL_82801CA_IDE: case PCI_PRODUCT_INTEL_82801DB_IDE: + case PCI_PRODUCT_INTEL_82801DBM_IDE: sc->sc_wdcdev.cap |= WDC_CAPABILITY_UDMA; break; } @@ -1651,6 +1656,7 @@ piix_chip_map(sc, pa) case PCI_PRODUCT_INTEL_82801CAM_IDE: case PCI_PRODUCT_INTEL_82801CA_IDE: case PCI_PRODUCT_INTEL_82801DB_IDE: + case PCI_PRODUCT_INTEL_82801DBM_IDE: sc->sc_wdcdev.UDMA_cap = 5; break; default: @@ -1684,7 +1690,8 @@ piix_chip_map(sc, pa) sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801BA_IDE || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801CAM_IDE || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801CA_IDE || - sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DB_IDE) { + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DB_IDE || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DBM_IDE) { WDCDEBUG_PRINT((", IDE_CONTROL 0x%x", pci_conf_read(sc->sc_pc, sc->sc_tag, PIIX_CONFIG)), DEBUG_PROBE); @@ -1744,7 +1751,8 @@ next: sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801BA_IDE || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801CAM_IDE || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801CA_IDE || - sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DB_IDE) { + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DB_IDE || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DBM_IDE) { WDCDEBUG_PRINT((", IDE_CONTROL 0x%x", pci_conf_read(sc->sc_pc, sc->sc_tag, PIIX_CONFIG)), DEBUG_PROBE); @@ -1908,14 +1916,16 @@ piix3_4_setup_channel(chp) sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801BA_IDE || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801CAM_IDE || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801CA_IDE || - sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DB_IDE) { + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DB_IDE || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DBM_IDE) { ideconf |= PIIX_CONFIG_PINGPONG; } if (sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801BAM_IDE || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801BA_IDE|| sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801CAM_IDE|| sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801CA_IDE || - sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DB_IDE) { + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DB_IDE || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DBM_IDE) { /* setup Ultra/100 */ if (drvp->UDMA_mode > 2 && (ideconf & PIIX_CONFIG_CR(channel, drive)) == 0) |