Please correct me if I'm wrong (I don't have NDA'd Intel datasheets, I
can only check the public ones), but I think the enable_hpet() in the
ICH7 code will not work for ICH7. It should work for ICH4/ICH5 or so,
but ICH7 requires a completely different init involving RCBA, offset
0x3404, it seems.

Thus, drop the non-working code, add a TODO until somebody writes the
proper code for ICH7. Maybe I'll do that if nobody beats me to it, but
it may take a while.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
The enable_hpet() code in intel/i82801gx will not work with the
ICH7 southbridge (but it might work with ICH4/ICH5 or so).

The ICH7 needs a different init code. Drop the non-working code for now.

Signed-off-by: Uwe Hermann <[EMAIL PROTECTED]>

Index: src/southbridge/intel/i82801gx/i82801gx.h
===================================================================
--- src/southbridge/intel/i82801gx/i82801gx.h	(Revision 3709)
+++ src/southbridge/intel/i82801gx/i82801gx.h	(Arbeitskopie)
@@ -116,7 +116,6 @@
 
 #define SMBUS_TIMEOUT		(10 * 1000 * 100)
 
-/* HPET, if present */
 #define HPET_ADDR		0xfed0000
 
 #endif				/* SOUTHBRIDGE_INTEL_I82801GX_I82801GX_H */
Index: src/southbridge/intel/i82801gx/i82801gx_lpc.c
===================================================================
--- src/southbridge/intel/i82801gx/i82801gx_lpc.c	(Revision 3709)
+++ src/southbridge/intel/i82801gx/i82801gx_lpc.c	(Arbeitskopie)
@@ -194,22 +194,7 @@
 
 static void enable_hpet(struct device *dev)
 {
-	u32 reg32;
-	u32 code = (0 & 0x3);
-
-	reg32 = pci_read_config32(dev, GEN_CNTL);
-	reg32 |= (1 << 17);	/* Enable HPET. */
-	/*
-	 * Bits [16:15]	Memory Address Range
-	 * 00		FED0_0000h - FED0_03FFh
-	 * 01		FED0_1000h - FED0_13FFh
-	 * 10		FED0_2000h - FED0_23FFh
-	 * 11		FED0_3000h - FED0_33FFh
-	 */
-	reg32 &= ~(3 << 15);	/* Clear it */
-	reg32 |= (code << 15);
-	/* TODO: reg32 is never written to anywhere? */
-	printk_debug("Enabling HPET @0x%x\n", HPET_ADDR | (code << 12));
+	/* TODO: Enable HPET using RCBA, offset 0x3404. */
 }
 
 static void i82801gx_lock_smm(struct device *dev)
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to