Right way to test SMBus? Trying to add nForce2...
Jeremy Messenger
mezz7 at cox.net
Thu Sep 2 14:44:44 PDT 2004
Hello,
I got a new motherboard; it is MSI K7N2 Delta2 Platinum (MS-6570E-010).
http://www.msicomputer.com/product/p_spec.asp?model=K7N2_Delta2_Platinum&class=mb
Right now, I am playing with the sys/pci/amdpm.c by add IDs. It's my first
time to poke in the drivers code with no C knowledge, so please try to
speak in English. :-)
Before pciconf:
=====================================
none5 at pci0:1:1: class=0x0c0500 card=0x57001462 chip=0x008410de rev=0xa1
hdr=0x00
vendor = 'NVIDIA Corporation'
device = 'nForce PCI System Management'
class = serial bus
subclass = SMBus
=====================================
After pciconf:
=====================================
amdpm0 at pci0:1:1: class=0x0c0500 card=0x57001462 chip=0x008410de rev=0xa1
hdr=0x00
vendor = 'NVIDIA Corporation'
device = 'nForce PCI System Management'
class = serial bus
subclass = SMBus
=====================================
But in dmesg shows:
=====================================
amdpm0: <nForce SMBus Controller> port 0-0x1f,0xec00-0xec1f irq 23 at
device 1.1 on pci0
amdpm0: could not map i/o space
device_attach: amdpm0 attach returned 6
=====================================
I think, I might have to change the PCI registers from 0x14 to 0x50 and/or
(not sure) 0x54, which I haven't done on this part yet. I hope, I have the
right PCI registers number (found in google). I am going to try add two
PCI registers (not sure how to do it yet) and I want to know how should I
test with SMBus to make sure it works? Thanks!
So far the patch looks like this:
=====================================
--- sys/pci/amdpm.c.orig Thu Sep 2 11:24:09 2004
+++ sys/pci/amdpm.c Thu Sep 2 12:20:01 2004
@@ -73,6 +73,7 @@
/* nVidia nForce chipset */
#define AMDPM_VENDORID_NVIDIA 0x10de
#define AMDPM_DEVICEID_NF_SMB 0x01b4
+#define AMDPM_DEVICEID_NF2_SMB 0x0084
/* PCI Configuration space registers */
#define AMDPCI_PMBASE 0x58
@@ -167,7 +168,8 @@
}
if ((vid == AMDPM_VENDORID_NVIDIA) &&
- (did == AMDPM_DEVICEID_NF_SMB)) {
+ ((did == AMDPM_DEVICEID_NF_SMB) ||
+ (did == AMDPM_DEVICEID_NF2_SMB))) {
device_set_desc(dev, "nForce SMBus Controller");
/*
=====================================
Cheers,
Mezz
--
mezz7 at cox.net - mezz at FreeBSD.org
FreeBSD GNOME Team
http://www.FreeBSD.org/gnome/ - gnome at FreeBSD.org
More information about the freebsd-hackers
mailing list