aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2010-01-16 16:35:38 +0000
committerStefan Reinauer <stepan@openbios.org>2010-01-16 16:35:38 +0000
commit67cd80299057d83790da235c4dc7286298dc6b16 (patch)
tree500a35f6c3d7290de60bd04618688b89398791c8 /src
parent42944c3989f27b14a66fa7c75a47c820c8d92119 (diff)
* 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@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5016 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/intel/d945gclf/Config.lb2
-rw-r--r--src/mainboard/intel/d945gclf/Makefile.inc1
-rw-r--r--src/mainboard/intel/d945gclf/auto.c8
-rw-r--r--src/mainboard/intel/d945gclf/debug.c126
-rw-r--r--src/mainboard/intel/d945gclf/power_reset_check.c28
-rw-r--r--src/mainboard/intel/d945gclf/reset.c31
-rw-r--r--src/mainboard/intel/eagleheights/power_reset_check.c31
-rw-r--r--src/mainboard/kontron/986lcd-m/Config.lb2
-rw-r--r--src/mainboard/kontron/986lcd-m/Makefile.inc2
-rw-r--r--src/mainboard/kontron/986lcd-m/auto.c27
-rw-r--r--src/mainboard/kontron/986lcd-m/power_reset_check.c31
-rw-r--r--src/mainboard/kontron/986lcd-m/reset.c33
-rw-r--r--src/northbridge/intel/i945/debug.c (renamed from src/mainboard/kontron/986lcd-m/debug.c)29
-rw-r--r--src/southbridge/intel/i82801gx/i82801gx_reset.c13
14 files changed, 41 insertions, 323 deletions
diff --git a/src/mainboard/intel/d945gclf/Config.lb b/src/mainboard/intel/d945gclf/Config.lb
index 1801753503..6671471132 100644
--- a/src/mainboard/intel/d945gclf/Config.lb
+++ b/src/mainboard/intel/d945gclf/Config.lb
@@ -60,8 +60,6 @@ if CONFIG_GENERATE_ACPI_TABLES
object ./dsdt.o
end
-object reset.o
-
if CONFIG_USE_INIT
makerule ./auto.o
diff --git a/src/mainboard/intel/d945gclf/Makefile.inc b/src/mainboard/intel/d945gclf/Makefile.inc
index 47ab895f90..b58ba35967 100644
--- a/src/mainboard/intel/d945gclf/Makefile.inc
+++ b/src/mainboard/intel/d945gclf/Makefile.inc
@@ -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
diff --git a/src/mainboard/intel/d945gclf/auto.c b/src/mainboard/intel/d945gclf/auto.c
index e0c4c52348..8d1dc16815 100644
--- a/src/mainboard/intel/d945gclf/auto.c
+++ b/src/mainboard/intel/d945gclf/auto.c
@@ -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 @@ static inline int spd_read_byte(unsigned device, unsigned address)
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)
{
diff --git a/src/mainboard/intel/d945gclf/debug.c b/src/mainboard/intel/d945gclf/debug.c
deleted file mode 100644
index 3e4b13d1ce..0000000000
--- a/src/mainboard/intel/d945gclf/debug.c
+++ /dev/null
@@ -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");
- }
diff --git a/src/mainboard/intel/d945gclf/power_reset_check.c b/src/mainboard/intel/d945gclf/power_reset_check.c
deleted file mode 100644
index f0bf646d92..0000000000
--- a/src/mainboard/intel/d945gclf/power_reset_check.c
+++ /dev/null
@@ -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();
-}
diff --git a/src/mainboard/intel/d945gclf/reset.c b/src/mainboard/intel/d945gclf/reset.c
deleted file mode 100644
index 9c790179ab..0000000000
--- a/src/mainboard/intel/d945gclf/reset.c
+++ /dev/null
@@ -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);
-}
diff --git a/src/mainboard/intel/eagleheights/power_reset_check.c b/src/mainboard/intel/eagleheights/power_reset_check.c
deleted file mode 100644
index 53ec28f4bb..0000000000
--- a/src/mainboard/intel/eagleheights/power_reset_check.c
+++ /dev/null
@@ -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();
-}
diff --git a/src/mainboard/kontron/986lcd-m/Config.lb b/src/mainboard/kontron/986lcd-m/Config.lb
index a5d48f9a43..66ada57c65 100644
--- a/src/mainboard/kontron/986lcd-m/Config.lb
+++ b/src/mainboard/kontron/986lcd-m/Config.lb
@@ -62,8 +62,6 @@ if CONFIG_GENERATE_ACPI_TABLES
object ./dsdt.o
end
-if CONFIG_HAVE_HARD_RESET object reset.o end
-
if CONFIG_USE_INIT
makerule ./auto.o
diff --git a/src/mainboard/kontron/986lcd-m/Makefile.inc b/src/mainboard/kontron/986lcd-m/Makefile.inc
index d0c2883a6e..a9402a32de 100644
--- a/src/mainboard/kontron/986lcd-m/Makefile.inc
+++ b/src/mainboard/kontron/986lcd-m/Makefile.inc
@@ -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
diff --git a/src/mainboard/kontron/986lcd-m/auto.c b/src/mainboard/kontron/986lcd-m/auto.c
index f8304111ce..29d1d242ff 100644
--- a/src/mainboard/kontron/986lcd-m/auto.c
+++ b/src/mainboard/kontron/986lcd-m/auto.c
@@ -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 @@ static inline int spd_read_byte(unsigned device, unsigned address)
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)
{
diff --git a/src/mainboard/kontron/986lcd-m/power_reset_check.c b/src/mainboard/kontron/986lcd-m/power_reset_check.c
deleted file mode 100644
index 53ec28f4bb..0000000000
--- a/src/mainboard/kontron/986lcd-m/power_reset_check.c
+++ /dev/null
@@ -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();
-}
diff --git a/src/mainboard/kontron/986lcd-m/reset.c b/src/mainboard/kontron/986lcd-m/reset.c
deleted file mode 100644
index 3e03a392bc..0000000000
--- a/src/mainboard/kontron/986lcd-m/reset.c
+++ /dev/null
@@ -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);
-}
diff --git a/src/mainboard/kontron/986lcd-m/debug.c b/src/northbridge/intel/i945/debug.c
index ecd6b7e2d1..4a59fee372 100644
--- a/src/mainboard/kontron/986lcd-m/debug.c
+++ b/src/northbridge/intel/i945/debug.c
@@ -38,7 +38,7 @@ static void print_pci_devices(void)
}
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);
+ printk_debug(" [%04x:%04x]\n", id &0xffff, id >> 16);
}
}
@@ -46,7 +46,7 @@ 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);
+ 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;
@@ -56,7 +56,7 @@ static void dump_pci_device(unsigned dev)
val = pci_read_config8(dev, i);
printk_debug(" %02x", val);
if ((i & 0x0f) == 0x0f) {
- printk_debug("\r\n");
+ printk_debug("\n");
}
}
}
@@ -85,21 +85,21 @@ void dump_spd_registers(void)
while(device <= SMBUS_MEM_DEVICE_END) {
int status = 0;
int i;
- printk_debug("\r\ndimm %02x", device);
+ printk_debug("\ndimm %02x", device);
for(i = 0; (i < 256) ; i++) {
if ((i % 16) == 0) {
- printk_debug("\r\n%02x: ", i);
+ printk_debug("\n%02x: ", i);
}
status = smbus_read_byte(device, i);
if (status < 0) {
- printk_debug("bad device: %02x\r\n", -status);
+ printk_debug("bad device: %02x\n", -status);
break;
}
printk_debug("%02x ", status);
}
device += SMBUS_MEM_DEVICE_INC;
- printk_debug("\r\n");
+ printk_debug("\n");
}
}
@@ -109,20 +109,9 @@ static void dump_mem(unsigned start, unsigned end)
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
+ printk_debug("\n%08x:", i);
}
-#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");
+ print_debug("\n");
}
diff --git a/src/southbridge/intel/i82801gx/i82801gx_reset.c b/src/southbridge/intel/i82801gx/i82801gx_reset.c
index 1facb08105..35710125b2 100644
--- a/src/southbridge/intel/i82801gx/i82801gx_reset.c
+++ b/src/southbridge/intel/i82801gx/i82801gx_reset.c
@@ -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);
+}