summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorbouyer <bouyer@NetBSD.org>2003-06-28 23:04:11 +0000
committerbouyer <bouyer@NetBSD.org>2003-06-28 23:04:11 +0000
commit2eb9add4440eda095dcbe62abc636bfe74adfa84 (patch)
tree5fbb307f0ae5d47aefc9d1d5828dc4c77435c8d2 /sys/dev
parent641fa8dccc9cac5fc9ba09a15c5a6ae2c6d64c84 (diff)
Add support for ICH5, from Quentin Garnier in private mail.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pci/pciide.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/sys/dev/pci/pciide.c b/sys/dev/pci/pciide.c
index e7b291335bc..636ba8ec99b 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 <sys/cdefs.h>
-__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)