i386/119126: ICHWD on ICH9 family chip
Dan Lukes
dan at obluda.cz
Fri Dec 28 18:30:03 PST 2007
>Number: 119126
>Category: i386
>Synopsis: ICHWD on ICH9 family chip
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-i386
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sat Dec 29 02:30:02 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator: Dan Lukes
>Release: FreeBSD 6.3-PRERELEASE i386
>Organization:
Obludarium
>Environment:
isab0 at pci0:31:0: class=0x060100 card=0x73451462 chip=0x29168086 rev=0x02 hdr=0x00
vendor = 'Intel Corporation'
device = '82801IR (ICH9R) LPC Interface Controller'
class = bridge
subclass = PCI-ISA
>Description:
ICHWD shall support watchdog on ICH9 hardware
>How-To-Repeat:
N/A
>Fix:
I readed the
1. Intel's datasheet for 82801IB (ICH9), 82801IR (ICH9R), 82801IH (ICH9DH), 82801IO (ICH9DO)
I/O controllers hub (document #316972-02)
2. Specification update for the same hardware (document #316973-004)
It seems the watchdog is implemented exactly the same way as for ICH8.
So all we need to add the support for ICH9 into ichwd is:
1. add the following into ichwd.h:
#define DEVICEID_ICH9 0x2918
#define DEVICEID_ICH9R 0x2916
#define DEVICEID_ICH9DH 0x2912
#define DEVICEID_ICH9DO 0x2914
2. add the following into ichwd.c:
{ DEVICEID_ICH9, "Intel ICH9 watchdog timer", 9 },
{ DEVICEID_ICH9R, "Intel ICH9R watchdog timer", 9 },
{ DEVICEID_ICH9DH, "Intel ICH9DH watchdog timer", 9 },
{ DEVICEID_ICH9DO, "Intel ICH9DO watchdog timer", 9 },
I not only readed the specification but also tried the change on my hardware. It seems to work.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-i386
mailing list