From 2eb9add4440eda095dcbe62abc636bfe74adfa84 Mon Sep 17 00:00:00 2001 From: bouyer Date: Sat, 28 Jun 2003 23:04:11 +0000 Subject: [PATCH] Add support for ICH5, from Quentin Garnier in private mail. --- sys/dev/pci/pciide.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/sys/dev/pci/pciide.c b/sys/dev/pci/pciide.c index e7b291335bcc..636ba8ec99b7 100644 --- a/sys/dev/pci/pciide.c +++ b/sys/dev/pci/pciide.c @@ -1,4 +1,4 @@ -/* $NetBSD: pciide.c,v 1.192 2003/05/17 21:52:04 thorpej Exp $ */ +/* $NetBSD: pciide.c,v 1.193 2003/06/28 23:04:11 bouyer Exp $ */ /* @@ -76,7 +76,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: pciide.c,v 1.192 2003/05/17 21:52:04 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pciide.c,v 1.193 2003/06/28 23:04:11 bouyer Exp $"); #ifndef WDCDEBUG #define WDCDEBUG @@ -327,6 +327,11 @@ const struct pciide_product_desc pciide_intel_products[] = { "Intel 82801DBM IDE Controller (ICH4-M)", piix_chip_map, }, + { PCI_PRODUCT_INTEL_82801EB_IDE, + 0, + "Intel 82801EB IDE Controller (ICH5)", + piix_chip_map, + }, { PCI_PRODUCT_INTEL_31244, 0, "Intel 31244 Serial ATA Controller", @@ -1668,6 +1673,7 @@ piix_chip_map(sc, pa) case PCI_PRODUCT_INTEL_82801CA_IDE_2: case PCI_PRODUCT_INTEL_82801DB_IDE: case PCI_PRODUCT_INTEL_82801DBM_IDE: + case PCI_PRODUCT_INTEL_82801EB_IDE: sc->sc_wdcdev.cap |= WDC_CAPABILITY_UDMA; } } @@ -1683,6 +1689,7 @@ piix_chip_map(sc, pa) case PCI_PRODUCT_INTEL_82801CA_IDE_2: case PCI_PRODUCT_INTEL_82801DB_IDE: case PCI_PRODUCT_INTEL_82801DBM_IDE: + case PCI_PRODUCT_INTEL_82801EB_IDE: sc->sc_wdcdev.UDMA_cap = 5; break; default: @@ -1714,7 +1721,8 @@ piix_chip_map(sc, pa) sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801CA_IDE_1 || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801CA_IDE_2 || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DB_IDE || - sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DBM_IDE) { + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DBM_IDE || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801EB_IDE ) { WDCDEBUG_PRINT((", IDE_CONTROL 0x%x", pci_conf_read(sc->sc_pc, sc->sc_tag, PIIX_CONFIG)), DEBUG_PROBE); @@ -1935,7 +1943,8 @@ piix3_4_setup_channel(chp) sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801CA_IDE_1 || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801CA_IDE_2 || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DB_IDE || - sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DBM_IDE) { + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DBM_IDE || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801EB_IDE) { ideconf |= PIIX_CONFIG_PINGPONG; } if (sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801BA_IDE || @@ -1943,7 +1952,8 @@ piix3_4_setup_channel(chp) sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801CA_IDE_1 || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801CA_IDE_2 || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DB_IDE || - sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DBM_IDE) { + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DBM_IDE || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801EB_IDE) { /* setup Ultra/100 */ if (drvp->UDMA_mode > 2 && (ideconf & PIIX_CONFIG_CR(channel, drive)) == 0)