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