diff options
author | Bryan Steele <brynet@cvs.openbsd.org> | 2012-03-07 21:41:54 +0000 |
---|---|---|
committer | Bryan Steele <brynet@cvs.openbsd.org> | 2012-03-07 21:41:54 +0000 |
commit | 8f1dc5bcc7598e53a97c0ccda8bf81e319cabd14 (patch) | |
tree | 6bb466bdbbc3717904b6fc5afc142ae3af4b3438 | |
parent | 62b8cd5565c847fc613df7eb69b95f0ce7c2bf3d (diff) |
Add AMD Hudson-2 support, thanks to Jorg Willekens for testing.
ok mlarkin@
-rw-r--r-- | sys/dev/pci/piixpm.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/dev/pci/piixpm.c b/sys/dev/pci/piixpm.c index b1e19c82c51..aa9504d42c9 100644 --- a/sys/dev/pci/piixpm.c +++ b/sys/dev/pci/piixpm.c @@ -1,4 +1,4 @@ -/* $OpenBSD: piixpm.c,v 1.36 2011/05/28 14:56:32 kettenis Exp $ */ +/* $OpenBSD: piixpm.c,v 1.37 2012/03/07 21:41:53 brynet Exp $ */ /* * Copyright (c) 2005, 2006 Alexander Yurchenko <grange@openbsd.org> @@ -85,6 +85,8 @@ struct cfdriver piixpm_cd = { }; const struct pci_matchid piixpm_ids[] = { + { PCI_VENDOR_AMD, PCI_PRODUCT_AMD_HUDSON2_SMB }, + { PCI_VENDOR_ATI, PCI_PRODUCT_ATI_SB200_SMB }, { PCI_VENDOR_ATI, PCI_PRODUCT_ATI_SB300_SMB }, { PCI_VENDOR_ATI, PCI_PRODUCT_ATI_SB400_SMB }, @@ -124,11 +126,13 @@ piixpm_attach(struct device *parent, struct device *self, void *aux) sc->sc_iot = pa->pa_iot; - if (PCI_VENDOR(pa->pa_id) == PCI_VENDOR_ATI && + if ((PCI_VENDOR(pa->pa_id) == PCI_VENDOR_AMD && + PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_AMD_HUDSON2_SMB) || + (PCI_VENDOR(pa->pa_id) == PCI_VENDOR_ATI && PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ATI_SBX00_SMB && - PCI_REVISION(pa->pa_class) >= 0x40) { + PCI_REVISION(pa->pa_class) >= 0x40)) { /* - * On the AMD SB800, the SMBus I/O registers are well + * On the AMD SB800+, the SMBus I/O registers are well * hidden. We need to look at the "SMBus0En" Power * Management register to find out where they live. * We use indirect IO access through the index/data |