[coreboot] [commit] r6481 - trunk/src/mainboard/lenovo/x60

repository service svn at coreboot.org
Tue Apr 5 15:00:34 CEST 2011


Author: svens
Date: Tue Apr  5 15:00:33 2011
New Revision: 6481
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6481

Log:
X60: use pnp_write_config() instead of custom function

Signed-off-by: Sven Schnelle <svens at stackframe.org>
Acked-by: Sven Schnelle <svens at stackframe.org>

Modified:
   trunk/src/mainboard/lenovo/x60/romstage.c

Modified: trunk/src/mainboard/lenovo/x60/romstage.c
==============================================================================
--- trunk/src/mainboard/lenovo/x60/romstage.c	Tue Apr  5 15:00:14 2011	(r6480)
+++ trunk/src/mainboard/lenovo/x60/romstage.c	Tue Apr  5 15:00:33 2011	(r6481)
@@ -101,25 +101,20 @@
 	pci_write_config16(PCI_DEV(0, 0x1f, 0), 0x8e, 0x001c);
 }
 
-static void pnp_write_register(device_t dev, int reg, int val)
-{
-	unsigned int port = dev >> 8;
-	outb(reg, port);
-	outb(val, port+1);
-}
-
 static void early_superio_config(void)
 {
-	device_t dev;
+	int timeout = 100000;
+	device_t dev = PNP_DEV(0x2e, 3);
+
+	pnp_write_config(dev, 0x29, 0x06);
 
-	dev=PNP_DEV(0x2e, 0x00);
-	pnp_write_register(dev, 0x29, 0x06);
+	while(!(pnp_read_config(dev, 0x29) & 0x08) && timeout--)
+		udelay(1000);
 
 	/* Enable COM1 */
-	pnp_write_register(dev, 0x07, 0x03);
-	pnp_write_register(dev, 0x60, 0x03);
-	pnp_write_register(dev, 0x61, 0xf8);
-	pnp_write_register(dev, 0x30, 0x01);
+	pnp_set_logical_device(dev);
+	pnp_set_iobase(dev, PNP_IDX_IO0, 0x3f8);
+	pnp_set_enable(dev, 1);
 }
 
 static void rcba_config(void)




More information about the coreboot mailing list