kern/55092: [PATCH] New Intel ichsmb controller added
Brent Casavant
bcasavan at angeltread.org
Wed Jul 30 22:00:28 PDT 2003
>Number: 55092
>Category: kern
>Synopsis: [PATCH] New Intel ichsmb controller added
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Wed Jul 30 22:00:26 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Brent Casavant
>Release: FreeBSD 5.1-RELEASE i386
>Organization:
Angeltread Software Organization
>Environment:
System: FreeBSD abigail.msp.angeltread.org 5.1-RELEASE FreeBSD 5.1-RELEASE #7: Wed Jul 30 23:33:08 CDT 2003 bcasavan at abigail.msp.angeltread.org:/usr/home/bcasavan/Workarea/ac97/sys/i386/compile/abigail i386
P4 2.4GHz, Gigabyte GA-8IK1100 motherboard.
FreeBSD 5.1-RELEASE, with local modifications to enable hardware not
yet supported by -RELEASE (and maybe not even -CURRENT).
>Description:
The SMBus controller on this particular motherboard is not yet recognized
by the FreeBSD kernel and drivers. The following is a patch to enable
its recognition. It has not been tested, other than booting the kernel
and seeing that it is recognized. I have no idea what sort of interesting
things one can do with the SMBus, thus the lack of testing.
With my local modifications, the pciconf output is as follows:
--- cut here ---
ichsmb0 at pci0:31:3: class=0x0c0500 card=0x24d21458 chip=0x24d38086 rev=0x02 hdr=0x00
vendor = 'Intel Corporation'
class = serial bus
subclass = SMBus
--- cut here ---
And the dmesg output is:
--- cut here ---
ichsmb0: <Intel 82801DD (ICH5) SMBus controller> port 0x1400-0x141f irq 11 at device 31.3 on pci0
--- cut here ---
I'm not sure I named this thing correctly (Intel 82801DD in particular),
but this is an Intel ICH5R controller, and "82801DD" was the next sequential
controller name after those already in the code. I don't know what
documentation would give me the official name, hopefully the maintainer
knows where to look.
>How-To-Repeat:
Boot a FreeBSD kernel on the Gigabyte GA-8IK1100 motherboard.
>Fix:
The following patch enables the existing ichsmb driver to recognize
the controller:
--- cut here ---
cvs diff -u sys/dev/ichsmb/ichsmb_pci.c
Index: sys/dev/ichsmb/ichsmb_pci.c
===================================================================
RCS file: /usr/FreeBSDCVS/src/sys/dev/ichsmb/ichsmb_pci.c,v
retrieving revision 1.6
diff -u -r1.6 ichsmb_pci.c
--- sys/dev/ichsmb/ichsmb_pci.c 18 Oct 2002 12:06:01 -0000 1.6
+++ sys/dev/ichsmb/ichsmb_pci.c 31 Jul 2003 04:28:16 -0000
@@ -71,6 +71,7 @@
#define ID_82801BA 0x24438086
#define ID_82801CA 0x24838086
#define ID_82801DC 0x24C38086
+#define ID_82801DD 0x24D38086
#define PCIS_SERIALBUS_SMBUS_PROGIF 0x00
@@ -131,6 +132,9 @@
break;
case ID_82801DC:
device_set_desc(dev, "Intel 82801DC (ICH4) SMBus controller");
+ break;
+ case ID_82801DD:
+ device_set_desc(dev, "Intel 82801DD (ICH5) SMBus controller");
break;
default:
if (pci_get_class(dev) == PCIC_SERIALBUS
--- cut here ---
I hope this proves useful.
Thanks,
Brent Casavant
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list