[coreboot] [commit] r5016 - in trunk/src: mainboard/intel/d945gclf mainboard/intel/eagleheights mainboard/kontron/986lcd-m northbridge/intel/i945 southbridge/intel/i82801gx

svn at coreboot.org svn at coreboot.org
Sat Jan 16 17:35:39 CET 2010


Author: stepan
Date: 2010-01-16 17:35:38 +0100 (Sat, 16 Jan 2010)
New Revision: 5016

Added:
   trunk/src/northbridge/intel/i945/debug.c
Removed:
   trunk/src/mainboard/intel/d945gclf/debug.c
   trunk/src/mainboard/intel/d945gclf/power_reset_check.c
   trunk/src/mainboard/intel/d945gclf/reset.c
   trunk/src/mainboard/intel/eagleheights/power_reset_check.c
   trunk/src/mainboard/kontron/986lcd-m/debug.c
   trunk/src/mainboard/kontron/986lcd-m/power_reset_check.c
   trunk/src/mainboard/kontron/986lcd-m/reset.c
Modified:
   trunk/src/mainboard/intel/d945gclf/Config.lb
   trunk/src/mainboard/intel/d945gclf/Makefile.inc
   trunk/src/mainboard/intel/d945gclf/auto.c
   trunk/src/mainboard/kontron/986lcd-m/Config.lb
   trunk/src/mainboard/kontron/986lcd-m/Makefile.inc
   trunk/src/mainboard/kontron/986lcd-m/auto.c
   trunk/src/southbridge/intel/i82801gx/i82801gx_reset.c
Log:
* drop reset files from 945 mainboards (and use southbridge specific reset)
* drop debug.c files from 945 mainboards (and share it in the northbridge code)
* adapt the mainboard and auto.c files for above changes.

Rather trivial 
Signed-off-by: Stefan Reinauer <stepan at coresystems.de>
Acked-by: Stefan Reinauer <stepan at coresystems.de>



Modified: trunk/src/mainboard/intel/d945gclf/Config.lb
===================================================================
--- trunk/src/mainboard/intel/d945gclf/Config.lb	2010-01-16 14:57:32 UTC (rev 5015)
+++ trunk/src/mainboard/intel/d945gclf/Config.lb	2010-01-16 16:35:38 UTC (rev 5016)
@@ -60,8 +60,6 @@
 	object ./dsdt.o
 end
 
-object reset.o
-
 if CONFIG_USE_INIT
 
 makerule ./auto.o

Modified: trunk/src/mainboard/intel/d945gclf/Makefile.inc
===================================================================
--- trunk/src/mainboard/intel/d945gclf/Makefile.inc	2010-01-16 14:57:32 UTC (rev 5015)
+++ trunk/src/mainboard/intel/d945gclf/Makefile.inc	2010-01-16 16:35:38 UTC (rev 5016)
@@ -24,7 +24,6 @@
 driver-y += mainboard.o
 driver-y += rtl8168.o
 
-#obj-y += ../../../southbridge/intel/i82801gx/i82801gx_reset.c
 obj-$(CONFIG_GENERATE_MP_TABLE) += mptable.o
 obj-$(CONFIG_GENERATE_PIRQ_TABLE) += irq_tables.o
 obj-$(CONFIG_GENERATE_ACPI_TABLES) += dsdt.o

Modified: trunk/src/mainboard/intel/d945gclf/auto.c
===================================================================
--- trunk/src/mainboard/intel/d945gclf/auto.c	2010-01-16 14:57:32 UTC (rev 5015)
+++ trunk/src/mainboard/intel/d945gclf/auto.c	2010-01-16 16:35:38 UTC (rev 5016)
@@ -20,6 +20,10 @@
 // __PRE_RAM__ means: use "unsigned" for device, not a struct.
 #define __PRE_RAM__
 
+/* Configuration of the i945 driver */
+#define CHIPSET_I945GC 1
+#define CHANNEL_XOR_RANDOMIZATION 1
+
 #include <stdint.h>
 #include <string.h>
 #include <arch/io.h>
@@ -45,7 +49,6 @@
 
 #include "lib/ramtest.c"
 #include "southbridge/intel/i82801gx/i82801gx_early_smbus.c"
-#include "reset.c"
 #include "superio/smsc/lpc47m15x/lpc47m15x_early_serial.c"
 
 #include "northbridge/intel/i945/udelay.c"
@@ -77,12 +80,11 @@
 	return smbus_read_byte(device, address);
 }
 
-#define CHANNEL_XOR_RANDOMIZATION 1
 #include "northbridge/intel/i945/raminit.h"
 #include "northbridge/intel/i945/raminit.c"
 #include "northbridge/intel/i945/reset_test.c"
 #include "northbridge/intel/i945/errata.c"
-#include "debug.c"
+#include "northbridge/intel/i945/debug.c"
 
 static void ich7_enable_lpc(void)
 {

Deleted: trunk/src/mainboard/intel/d945gclf/debug.c
===================================================================
--- trunk/src/mainboard/intel/d945gclf/debug.c	2010-01-16 14:57:32 UTC (rev 5015)
+++ trunk/src/mainboard/intel/d945gclf/debug.c	2010-01-16 16:35:38 UTC (rev 5016)
@@ -1,126 +0,0 @@
-/*
- * This file is part of the coreboot project.
- * 
- * Copyright (C) 2007-2008 coresystems GmbH
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#define SMBUS_MEM_DEVICE_START 0x50
-#define SMBUS_MEM_DEVICE_END 0x53
-#define SMBUS_MEM_DEVICE_INC 1
-
-static void print_pci_devices(void)
-{
-	device_t dev;
-	for(dev = PCI_DEV(0, 0, 0); 
-		dev <= PCI_DEV(0, 0x1f, 0x7); 
-		dev += PCI_DEV(0,0,1)) {
-		uint32_t id;
-		id = pci_read_config32(dev, PCI_VENDOR_ID);
-		if (((id & 0xffff) == 0x0000) || ((id & 0xffff) == 0xffff) ||
-			(((id >> 16) & 0xffff) == 0xffff) ||
-			(((id >> 16) & 0xffff) == 0x0000)) {
-			continue;
-		}
-		printk_debug("PCI: %02x:%02x.%02x", (dev >> 20) & 0xff,
-			(dev >> 15) & 0x1f, (dev >> 12) & 7);
-		printk_debug(" [%04x:%04x]\r\n", id &0xffff, id >> 16);
-	}
-}
-
-static void dump_pci_device(unsigned dev)
-{
-	int i;
-
-	printk_debug("PCI: %02x:%02x.%02x\r\n", (dev >> 20) & 0xff, (dev >> 15) & 0x1f, (dev >> 12) & 7);
-
-	for(i = 0; i <= 255; i++) {
-		unsigned char val;
-		if ((i & 0x0f) == 0) {
-			printk_debug("%02x:", i);
-		}
-		val = pci_read_config8(dev, i);
-		printk_debug(" %02x", val);
-		if ((i & 0x0f) == 0x0f) {
-			printk_debug("\r\n");
-		}
-	}
-}
-
-static void dump_pci_devices(void)
-{
-	device_t dev;
-	for(dev = PCI_DEV(0, 0, 0); 
-		dev <= PCI_DEV(0, 0x1f, 0x7); 
-		dev += PCI_DEV(0,0,1)) {
-		uint32_t id;
-		id = pci_read_config32(dev, PCI_VENDOR_ID);
-		if (((id & 0xffff) == 0x0000) || ((id & 0xffff) == 0xffff) ||
-			(((id >> 16) & 0xffff) == 0xffff) ||
-			(((id >> 16) & 0xffff) == 0x0000)) {
-			continue;
-		}
-		dump_pci_device(dev);
-	}
-}
-
-void dump_spd_registers(void)
-{
-        unsigned device;
-        device = SMBUS_MEM_DEVICE_START;
-        while(device <= SMBUS_MEM_DEVICE_END) {
-                int status = 0;
-                int i;
-        	printk_debug("\r\ndimm %02x", device);
-		
-                for(i = 0; (i < 256) ; i++) {
-                        if ((i % 16) == 0) {
-				printk_debug("\r\n%02x: ", i);
-                        }
-			status = smbus_read_byte(device, i);
-                        if (status < 0) {
-			         printk_debug("bad device: %02x\r\n", -status);
-			         break; 
-			}
-			printk_debug("%02x ", status);
-		}
-		device += SMBUS_MEM_DEVICE_INC;
-		printk_debug("\r\n");
-	}
-}
-
-static void dump_mem(unsigned start, unsigned end)
-{
-        unsigned i;
-	print_debug("dump_mem:");
-        for(i=start;i<end;i++) {
-		if((i & 0xf)==0) {
-#if CONFIG_USE_INIT
-			printk_debug("\r\n%08x:", i);
-#else	
-			print_debug("\r\n");
-			print_debug_hex32(i);
-			print_debug(":");
-#endif
-		}
-#if CONFIG_USE_INIT	
-		printk_debug(" %02x", (unsigned char)*((unsigned char *)i));
-#else
-		print_debug(" ");
-             	print_debug_hex8((unsigned char)*((unsigned char *)i));
-#endif
-        }
-        print_debug("\r\n");
- }

Deleted: trunk/src/mainboard/intel/d945gclf/power_reset_check.c
===================================================================
--- trunk/src/mainboard/intel/d945gclf/power_reset_check.c	2010-01-16 14:57:32 UTC (rev 5015)
+++ trunk/src/mainboard/intel/d945gclf/power_reset_check.c	2010-01-16 16:35:38 UTC (rev 5016)
@@ -1,28 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2007-2008 coresystems GmbH
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-static void power_down_reset_check(void)
-{
-	uint8_t cmos;
-
-	cmos=cmos_read(RTC_BOOT_BYTE)>>4 ;
-	printk_debug("Boot byte = %x\r\n", cmos);
-
-	if((cmos>2)&&(cmos&1))  full_reset();
-}

Deleted: trunk/src/mainboard/intel/d945gclf/reset.c
===================================================================
--- trunk/src/mainboard/intel/d945gclf/reset.c	2010-01-16 14:57:32 UTC (rev 5015)
+++ trunk/src/mainboard/intel/d945gclf/reset.c	2010-01-16 16:35:38 UTC (rev 5016)
@@ -1,31 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2007-2008 coresystems GmbH
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include <arch/io.h>
-
-void soft_reset(void)
-{
-        outb(0x04, 0xcf9);
-}
-
-void hard_reset(void)
-{
-        outb(0x02, 0xcf9);
-        outb(0x06, 0xcf9);
-}

Deleted: trunk/src/mainboard/intel/eagleheights/power_reset_check.c
===================================================================
--- trunk/src/mainboard/intel/eagleheights/power_reset_check.c	2010-01-16 14:57:32 UTC (rev 5015)
+++ trunk/src/mainboard/intel/eagleheights/power_reset_check.c	2010-01-16 16:35:38 UTC (rev 5016)
@@ -1,31 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2007-2008 coresystems GmbH
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; version 2 of
- * the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
- * MA 02110-1301 USA
- */
-
-
-static void power_down_reset_check(void)
-{
-	uint8_t cmos;
-
-	cmos=cmos_read(RTC_BOOT_BYTE)>>4 ;
-	printk_debug("Boot byte = %x\r\n", cmos);
-
-	if((cmos>2)&&(cmos&1))  full_reset();
-}

Modified: trunk/src/mainboard/kontron/986lcd-m/Config.lb
===================================================================
--- trunk/src/mainboard/kontron/986lcd-m/Config.lb	2010-01-16 14:57:32 UTC (rev 5015)
+++ trunk/src/mainboard/kontron/986lcd-m/Config.lb	2010-01-16 16:35:38 UTC (rev 5016)
@@ -62,8 +62,6 @@
 	object ./dsdt.o
 end
 
-if CONFIG_HAVE_HARD_RESET object reset.o end
-
 if CONFIG_USE_INIT
 
 makerule ./auto.o

Modified: trunk/src/mainboard/kontron/986lcd-m/Makefile.inc
===================================================================
--- trunk/src/mainboard/kontron/986lcd-m/Makefile.inc	2010-01-16 14:57:32 UTC (rev 5015)
+++ trunk/src/mainboard/kontron/986lcd-m/Makefile.inc	2010-01-16 16:35:38 UTC (rev 5016)
@@ -26,13 +26,11 @@
 driver-y += mainboard.o
 driver-y += rtl8168.o
 
-#obj-y += ../../../southbridge/intel/i82801gx/i82801gx_reset.c
 obj-$(CONFIG_GENERATE_MP_TABLE) += mptable.o
 obj-$(CONFIG_GENERATE_PIRQ_TABLE) += irq_tables.o
 obj-$(CONFIG_GENERATE_ACPI_TABLES) += dsdt.o
 obj-$(CONFIG_GENERATE_ACPI_TABLES) += acpi_tables.o
 obj-$(CONFIG_GENERATE_ACPI_TABLES) += fadt.o
-obj-$(CONFIG_HAVE_HARD_RESET) += reset.o
 
 smmobj-$(CONFIG_HAVE_SMI_HANDLER) += mainboard_smi.o
 

Modified: trunk/src/mainboard/kontron/986lcd-m/auto.c
===================================================================
--- trunk/src/mainboard/kontron/986lcd-m/auto.c	2010-01-16 14:57:32 UTC (rev 5015)
+++ trunk/src/mainboard/kontron/986lcd-m/auto.c	2010-01-16 16:35:38 UTC (rev 5016)
@@ -22,6 +22,19 @@
 // __PRE_RAM__ means: use "unsigned" for device, not a struct.
 #define __PRE_RAM__
 
+/* Configuration of the i945 driver */
+#define CHIPSET_I945GM 1
+/* Usually system firmware turns off system memory clock signals to 
+ * unused SO-DIMM slots to reduce EMI and power consumption.
+ * However, the Kontron 986LCD-M does not like unused clock signals to
+ * be disabled. If other similar mainboard occur, it would make sense
+ * to make this an entry in the sysinfo structure, and pre-initialize that
+ * structure in the mainboard's auto.c main() function. For now a
+ * #define will do.
+ */
+#define OVERRIDE_CLOCK_DISABLE 1
+#define CHANNEL_XOR_RANDOMIZATION 1
+
 #include <stdint.h>
 #include <string.h>
 #include <arch/io.h>
@@ -47,7 +60,6 @@
 
 #include "lib/ramtest.c"
 #include "southbridge/intel/i82801gx/i82801gx_early_smbus.c"
-#include "reset.c"
 #include "superio/winbond/w83627thg/w83627thg_early_serial.c"
 
 #include "northbridge/intel/i945/udelay.c"
@@ -78,22 +90,11 @@
 	return smbus_read_byte(device, address);
 }
 
-/* Usually system firmware turns off system memory clock signals to 
- * unused SO-DIMM slots to reduce EMI and power consumption.
- * However, the Kontron 986LCD-M does not like unused clock signals to
- * be disabled. If other similar mainboard occur, it would make sense
- * to make this an entry in the sysinfo structure, and pre-initialize that
- * structure in the mainboard's auto.c main() function. For now a
- * #define will do.
- */
-#define OVERRIDE_CLOCK_DISABLE 1
-
-#define CHANNEL_XOR_RANDOMIZATION 1
 #include "northbridge/intel/i945/raminit.h"
 #include "northbridge/intel/i945/raminit.c"
 #include "northbridge/intel/i945/reset_test.c"
 #include "northbridge/intel/i945/errata.c"
-#include "debug.c"
+#include "northbridge/intel/i945/debug.c"
 
 static void ich7_enable_lpc(void)
 {

Deleted: trunk/src/mainboard/kontron/986lcd-m/debug.c
===================================================================
--- trunk/src/mainboard/kontron/986lcd-m/debug.c	2010-01-16 14:57:32 UTC (rev 5015)
+++ trunk/src/mainboard/kontron/986lcd-m/debug.c	2010-01-16 16:35:38 UTC (rev 5016)
@@ -1,128 +0,0 @@
-/*
- * This file is part of the coreboot project.
- * 
- * Copyright (C) 2007-2008 coresystems GmbH
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; version 2 of
- * the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
- * MA 02110-1301 USA
- */
-
-#define SMBUS_MEM_DEVICE_START 0x50
-#define SMBUS_MEM_DEVICE_END 0x53
-#define SMBUS_MEM_DEVICE_INC 1
-
-static void print_pci_devices(void)
-{
-	device_t dev;
-	for(dev = PCI_DEV(0, 0, 0); 
-		dev <= PCI_DEV(0, 0x1f, 0x7); 
-		dev += PCI_DEV(0,0,1)) {
-		uint32_t id;
-		id = pci_read_config32(dev, PCI_VENDOR_ID);
-		if (((id & 0xffff) == 0x0000) || ((id & 0xffff) == 0xffff) ||
-			(((id >> 16) & 0xffff) == 0xffff) ||
-			(((id >> 16) & 0xffff) == 0x0000)) {
-			continue;
-		}
-		printk_debug("PCI: %02x:%02x.%02x", (dev >> 20) & 0xff,
-			(dev >> 15) & 0x1f, (dev >> 12) & 7);
-		printk_debug(" [%04x:%04x]\r\n", id &0xffff, id >> 16);
-	}
-}
-
-static void dump_pci_device(unsigned dev)
-{
-	int i;
-
-	printk_debug("PCI: %02x:%02x.%02x\r\n", (dev >> 20) & 0xff, (dev >> 15) & 0x1f, (dev >> 12) & 7);
-
-	for(i = 0; i <= 255; i++) {
-		unsigned char val;
-		if ((i & 0x0f) == 0) {
-			printk_debug("%02x:", i);
-		}
-		val = pci_read_config8(dev, i);
-		printk_debug(" %02x", val);
-		if ((i & 0x0f) == 0x0f) {
-			printk_debug("\r\n");
-		}
-	}
-}
-
-static void dump_pci_devices(void)
-{
-	device_t dev;
-	for(dev = PCI_DEV(0, 0, 0); 
-		dev <= PCI_DEV(0, 0x1f, 0x7); 
-		dev += PCI_DEV(0,0,1)) {
-		uint32_t id;
-		id = pci_read_config32(dev, PCI_VENDOR_ID);
-		if (((id & 0xffff) == 0x0000) || ((id & 0xffff) == 0xffff) ||
-			(((id >> 16) & 0xffff) == 0xffff) ||
-			(((id >> 16) & 0xffff) == 0x0000)) {
-			continue;
-		}
-		dump_pci_device(dev);
-	}
-}
-
-void dump_spd_registers(void)
-{
-        unsigned device;
-        device = SMBUS_MEM_DEVICE_START;
-        while(device <= SMBUS_MEM_DEVICE_END) {
-                int status = 0;
-                int i;
-        	printk_debug("\r\ndimm %02x", device);
-		
-                for(i = 0; (i < 256) ; i++) {
-                        if ((i % 16) == 0) {
-				printk_debug("\r\n%02x: ", i);
-                        }
-			status = smbus_read_byte(device, i);
-                        if (status < 0) {
-			         printk_debug("bad device: %02x\r\n", -status);
-			         break; 
-			}
-			printk_debug("%02x ", status);
-		}
-		device += SMBUS_MEM_DEVICE_INC;
-		printk_debug("\r\n");
-	}
-}
-
-static void dump_mem(unsigned start, unsigned end)
-{
-        unsigned i;
-	print_debug("dump_mem:");
-        for(i=start;i<end;i++) {
-		if((i & 0xf)==0) {
-#if CONFIG_USE_INIT
-			printk_debug("\r\n%08x:", i);
-#else	
-			print_debug("\r\n");
-			print_debug_hex32(i);
-			print_debug(":");
-#endif
-		}
-#if CONFIG_USE_INIT	
-		printk_debug(" %02x", (unsigned char)*((unsigned char *)i));
-#else
-		print_debug(" ");
-             	print_debug_hex8((unsigned char)*((unsigned char *)i));
-#endif
-        }
-        print_debug("\r\n");
- }

Deleted: trunk/src/mainboard/kontron/986lcd-m/power_reset_check.c
===================================================================
--- trunk/src/mainboard/kontron/986lcd-m/power_reset_check.c	2010-01-16 14:57:32 UTC (rev 5015)
+++ trunk/src/mainboard/kontron/986lcd-m/power_reset_check.c	2010-01-16 16:35:38 UTC (rev 5016)
@@ -1,31 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2007-2008 coresystems GmbH
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; version 2 of
- * the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
- * MA 02110-1301 USA
- */
-
-
-static void power_down_reset_check(void)
-{
-	uint8_t cmos;
-
-	cmos=cmos_read(RTC_BOOT_BYTE)>>4 ;
-	printk_debug("Boot byte = %x\r\n", cmos);
-
-	if((cmos>2)&&(cmos&1))  full_reset();
-}

Deleted: trunk/src/mainboard/kontron/986lcd-m/reset.c
===================================================================
--- trunk/src/mainboard/kontron/986lcd-m/reset.c	2010-01-16 14:57:32 UTC (rev 5015)
+++ trunk/src/mainboard/kontron/986lcd-m/reset.c	2010-01-16 16:35:38 UTC (rev 5016)
@@ -1,33 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2007-2008 coresystems GmbH
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; version 2 of
- * the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
- * MA 02110-1301 USA
- */
-
-#include <arch/io.h>
-
-void soft_reset(void)
-{
-        outb(0x04, 0xcf9);
-}
-
-void hard_reset(void)
-{
-        outb(0x02, 0xcf9);
-        outb(0x06, 0xcf9);
-}

Added: trunk/src/northbridge/intel/i945/debug.c
===================================================================
--- trunk/src/northbridge/intel/i945/debug.c	                        (rev 0)
+++ trunk/src/northbridge/intel/i945/debug.c	2010-01-16 16:35:38 UTC (rev 5016)
@@ -0,0 +1,117 @@
+/*
+ * This file is part of the coreboot project.
+ * 
+ * Copyright (C) 2007-2008 coresystems GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#define SMBUS_MEM_DEVICE_START 0x50
+#define SMBUS_MEM_DEVICE_END 0x53
+#define SMBUS_MEM_DEVICE_INC 1
+
+static void print_pci_devices(void)
+{
+	device_t dev;
+	for(dev = PCI_DEV(0, 0, 0); 
+		dev <= PCI_DEV(0, 0x1f, 0x7); 
+		dev += PCI_DEV(0,0,1)) {
+		uint32_t id;
+		id = pci_read_config32(dev, PCI_VENDOR_ID);
+		if (((id & 0xffff) == 0x0000) || ((id & 0xffff) == 0xffff) ||
+			(((id >> 16) & 0xffff) == 0xffff) ||
+			(((id >> 16) & 0xffff) == 0x0000)) {
+			continue;
+		}
+		printk_debug("PCI: %02x:%02x.%02x", (dev >> 20) & 0xff,
+			(dev >> 15) & 0x1f, (dev >> 12) & 7);
+		printk_debug(" [%04x:%04x]\n", id &0xffff, id >> 16);
+	}
+}
+
+static void dump_pci_device(unsigned dev)
+{
+	int i;
+
+	printk_debug("PCI: %02x:%02x.%02x\n", (dev >> 20) & 0xff, (dev >> 15) & 0x1f, (dev >> 12) & 7);
+
+	for(i = 0; i <= 255; i++) {
+		unsigned char val;
+		if ((i & 0x0f) == 0) {
+			printk_debug("%02x:", i);
+		}
+		val = pci_read_config8(dev, i);
+		printk_debug(" %02x", val);
+		if ((i & 0x0f) == 0x0f) {
+			printk_debug("\n");
+		}
+	}
+}
+
+static void dump_pci_devices(void)
+{
+	device_t dev;
+	for(dev = PCI_DEV(0, 0, 0); 
+		dev <= PCI_DEV(0, 0x1f, 0x7); 
+		dev += PCI_DEV(0,0,1)) {
+		uint32_t id;
+		id = pci_read_config32(dev, PCI_VENDOR_ID);
+		if (((id & 0xffff) == 0x0000) || ((id & 0xffff) == 0xffff) ||
+			(((id >> 16) & 0xffff) == 0xffff) ||
+			(((id >> 16) & 0xffff) == 0x0000)) {
+			continue;
+		}
+		dump_pci_device(dev);
+	}
+}
+
+void dump_spd_registers(void)
+{
+        unsigned device;
+        device = SMBUS_MEM_DEVICE_START;
+        while(device <= SMBUS_MEM_DEVICE_END) {
+                int status = 0;
+                int i;
+        	printk_debug("\ndimm %02x", device);
+		
+                for(i = 0; (i < 256) ; i++) {
+                        if ((i % 16) == 0) {
+				printk_debug("\n%02x: ", i);
+                        }
+			status = smbus_read_byte(device, i);
+                        if (status < 0) {
+			         printk_debug("bad device: %02x\n", -status);
+			         break; 
+			}
+			printk_debug("%02x ", status);
+		}
+		device += SMBUS_MEM_DEVICE_INC;
+		printk_debug("\n");
+	}
+}
+
+static void dump_mem(unsigned start, unsigned end)
+{
+        unsigned i;
+	print_debug("dump_mem:");
+        for(i=start;i<end;i++) {
+		if((i & 0xf)==0) {
+			printk_debug("\n%08x:", i);
+		}
+		printk_debug(" %02x", (unsigned char)*((unsigned char *)i));
+        }
+        print_debug("\n");
+ }

Modified: trunk/src/southbridge/intel/i82801gx/i82801gx_reset.c
===================================================================
--- trunk/src/southbridge/intel/i82801gx/i82801gx_reset.c	2010-01-16 14:57:32 UTC (rev 5015)
+++ trunk/src/southbridge/intel/i82801gx/i82801gx_reset.c	2010-01-16 16:35:38 UTC (rev 5016)
@@ -20,8 +20,21 @@
 
 #include <arch/io.h>
 
+void soft_reset(void)
+{
+        outb(0x04, 0xcf9);
+}
+
+#if 0
 void hard_reset(void)
 {
 	/* Try rebooting through port 0xcf9. */
 	outb((1 << 2) | (1 << 1), 0xcf9);
 }
+#endif
+
+void hard_reset(void)
+{
+        outb(0x02, 0xcf9);
+        outb(0x06, 0xcf9);
+}





More information about the coreboot mailing list