diff options
author | Stefan Reinauer <stepan@coresystems.de> | 2010-01-16 16:35:38 +0000 |
---|---|---|
committer | Stefan Reinauer <stepan@openbios.org> | 2010-01-16 16:35:38 +0000 |
commit | 67cd80299057d83790da235c4dc7286298dc6b16 (patch) | |
tree | 500a35f6c3d7290de60bd04618688b89398791c8 /src | |
parent | 42944c3989f27b14a66fa7c75a47c820c8d92119 (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.lb | 2 | ||||
-rw-r--r-- | src/mainboard/intel/d945gclf/Makefile.inc | 1 | ||||
-rw-r--r-- | src/mainboard/intel/d945gclf/auto.c | 8 | ||||
-rw-r--r-- | src/mainboard/intel/d945gclf/debug.c | 126 | ||||
-rw-r--r-- | src/mainboard/intel/d945gclf/power_reset_check.c | 28 | ||||
-rw-r--r-- | src/mainboard/intel/d945gclf/reset.c | 31 | ||||
-rw-r--r-- | src/mainboard/intel/eagleheights/power_reset_check.c | 31 | ||||
-rw-r--r-- | src/mainboard/kontron/986lcd-m/Config.lb | 2 | ||||
-rw-r--r-- | src/mainboard/kontron/986lcd-m/Makefile.inc | 2 | ||||
-rw-r--r-- | src/mainboard/kontron/986lcd-m/auto.c | 27 | ||||
-rw-r--r-- | src/mainboard/kontron/986lcd-m/power_reset_check.c | 31 | ||||
-rw-r--r-- | src/mainboard/kontron/986lcd-m/reset.c | 33 | ||||
-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.c | 13 |
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); +} |