Alexandru Gagniuc (mr.nuke.me(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1257
-gerrit
commit b3f75cda920ecc056099f640a0339d380e6b4bea
Author: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
Date: Fri Jul 20 18:17:01 2012 -0500
VIA Nano: Add support for VIA Nano CPUs
Add code to do the following for the VIA Nano CPUs
- Update microcode
- Set maximum frequency
- Initialize power states
- Set up cache
Attempting to change the voltage or frequency of the CPU without
applying the microcode update will hang the CPU, so we only do
transitions if we can verify the microcode has been updated.
The microcode is updated directly from CBFS. No microcode is
included in ramstage. The microcode is not included in this
commit.
To get the microcode, run bios_extract on the manufacturer supplied
BIOS, and look for the file marked "P6 Microcode". Include this
file in CBFS.
You can have the build system include this file automatically by
selecting Expert Mode, then look under
'Chipset' -> 'Include CPU microcode in CBFS' ->
Include external microcode file (check)
'Path and filename of CPU microcode' should contain the location of
the microcode file previously extracted.
Change-Id: I586aaca5715e047b42ef901d66772ace0e6b655e
Signed-off-by: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
---
src/cpu/via/Kconfig | 1 +
src/cpu/via/Makefile.inc | 6 +-
src/cpu/via/nano/Kconfig | 41 ++++++++
src/cpu/via/nano/Makefile.inc | 33 ++++++
src/cpu/via/nano/nano_init.c | 204 +++++++++++++++++++++++++++++++++++++++
src/cpu/via/nano/update_ucode.c | 150 ++++++++++++++++++++++++++++
src/cpu/via/nano/update_ucode.h | 73 ++++++++++++++
7 files changed, 505 insertions(+), 3 deletions(-)
diff --git a/src/cpu/via/Kconfig b/src/cpu/via/Kconfig
index 570d408..5c38c91 100644
--- a/src/cpu/via/Kconfig
+++ b/src/cpu/via/Kconfig
@@ -1,2 +1,3 @@
source src/cpu/via/c3/Kconfig
source src/cpu/via/c7/Kconfig
+source src/cpu/via/nano/Kconfig
diff --git a/src/cpu/via/Makefile.inc b/src/cpu/via/Makefile.inc
index 2616111..f1e198d 100644
--- a/src/cpu/via/Makefile.inc
+++ b/src/cpu/via/Makefile.inc
@@ -1,3 +1,3 @@
-subdirs-$(CONFIG_CPU_VIA_C7) += c7
-subdirs-$(CONFIG_CPU_VIA_C3) += c3
-
+subdirs-$(CONFIG_CPU_VIA_C7) += c7
+subdirs-$(CONFIG_CPU_VIA_C3) += c3
+subdirs-$(CONFIG_CPU_VIA_NANO) += nano
diff --git a/src/cpu/via/nano/Kconfig b/src/cpu/via/nano/Kconfig
new file mode 100644
index 0000000..3b1c213
--- /dev/null
+++ b/src/cpu/via/nano/Kconfig
@@ -0,0 +1,41 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2011 Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
+##
+## 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, either version 2 of the License, or
+## (at your option) any later version.
+##
+## 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, see <http://www.gnu.org/licenses/>.
+##
+
+config CPU_VIA_NANO
+ bool
+
+if CPU_VIA_NANO
+
+config CPU_SPECIFIC_OPTIONS
+ def_bool y
+ select UDELAY_TSC
+ select MMX
+ select SSE2
+ select CACHE_AS_RAM
+ select CPU_MICROCODE_IN_CBFS
+
+config DCACHE_RAM_BASE
+ hex
+ default 0xffe00000
+
+config DCACHE_RAM_SIZE
+ hex
+ default 0x8000
+
+endif # CPU_VIA_NANO
diff --git a/src/cpu/via/nano/Makefile.inc b/src/cpu/via/nano/Makefile.inc
new file mode 100644
index 0000000..6b0c1e9
--- /dev/null
+++ b/src/cpu/via/nano/Makefile.inc
@@ -0,0 +1,33 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2012 Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
+##
+## 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, either version 2 of the License, or
+## (at your option) any later version.
+##
+## 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, see <http://www.gnu.org/licenses/>.
+##
+
+subdirs-y += ../../x86/tsc
+subdirs-y += ../../x86/mtrr
+subdirs-y += ../../x86/lapic
+subdirs-y += ../../x86/cache
+subdirs-y += ../../x86/smm
+
+driver-y += nano_init.c
+ramstage-y += update_ucode.c
+
+# We need to hear from VIA to get permission to include this file in the
+# official coreboot repository. Until then, we leave this commented out
+# cpu-microcode-y += nano_ucode_blob.c
+
+cpu_incs += $(src)/cpu/via/car/cache_as_ram.inc
diff --git a/src/cpu/via/nano/nano_init.c b/src/cpu/via/nano/nano_init.c
new file mode 100644
index 0000000..417119f
--- /dev/null
+++ b/src/cpu/via/nano/nano_init.c
@@ -0,0 +1,204 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2012 Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
+ *
+ * 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, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "update_ucode.h"
+#include <console/console.h>
+#include <device/device.h>
+#include <cpu/cpu.h>
+#include <cpu/x86/mtrr.h>
+#include <cpu/x86/msr.h>
+#include <cpu/x86/lapic.h>
+#include <cpu/x86/cache.h>
+#include <delay.h>
+
+#define MODEL_NANO 0x2
+#define MODEL_NANO_3000_B0 0x8
+#define MODEL_NANO_3000_B2 0xa
+
+#define MSR_IA32_PERF_STATUS 0x00000198
+#define MSR_IA32_PERF_CTL 0x00000199
+#define MSR_IA32_MISC_ENABLE 0x000001a0
+#define NANO_MYSTERIOUS_MSR 0x120e
+
+static void nano_finish_fid_vid_transition(void)
+{
+
+ msr_t msr;
+ /* Wait until the power transition ends */
+ int cnt = 0;
+ do {
+ udelay(16);
+ msr = rdmsr(MSR_IA32_PERF_STATUS);
+ cnt++;
+ if (cnt > 128) {
+ printk(BIOS_WARNING,
+ "Error while updating multiplier and voltage\n");
+ break;
+ }
+ } while (msr.lo & ((1 << 16) | (1 << 17)));
+
+ /* Print the new FID and Voltage */
+ u8 cur_vid = (msr.lo >> 0) & 0xff;
+ u8 cur_fid = (msr.lo >> 8) & 0xff;
+ printk(BIOS_INFO, "New CPU multiplier: %dx\n", cur_fid);
+ printk(BIOS_INFO, "New Voltage ID : %dx\n", cur_vid);
+}
+
+static void nano_set_max_fid_vid(void)
+{
+ msr_t msr;
+ /* Get voltage and frequency info */
+ msr = rdmsr(MSR_IA32_PERF_STATUS);
+ u8 min_fid = (msr.hi >> 24);
+ u8 max_fid = (msr.hi >> 8) & 0xff;
+ u8 min_vid = (msr.hi >> 16) & 0xff;
+ u8 max_vid = (msr.hi >> 0) & 0xff;
+ u8 cur_vid = (msr.lo >> 0) & 0xff;
+ u8 cur_fid = (msr.lo >> 8) & 0xff;
+
+ printk(BIOS_INFO, "CPU multiplier: %dx (min %dx; max %dx)\n",
+ cur_fid, min_fid, max_fid);
+ printk(BIOS_INFO, "Voltage ID : %dx (min %dx; max %dx)\n",
+ cur_vid, min_vid, max_vid);
+
+ if( (cur_fid != max_fid) || (cur_vid != max_vid) ) {
+ /* Set highest frequency and VID */
+ msr.lo = msr.hi;
+ msr.hi = 0;
+ wrmsr(MSR_IA32_PERF_CTL, msr);
+ /* Wait for the transition to complete, otherwise, the CPU
+ * might reset itself repeatedly */
+ nano_finish_fid_vid_transition();
+ }
+ /* As a side note, if we didn't update the microcode by this point, the
+ * second PLL will not lock correctly. The clock will still be provided
+ * by the first PLL, and execution will continue normally, ___until___
+ * the CPU switches PLL. Once that happens we will no longer have a
+ * working clock source, and the CPU will hang
+ * Moral of the story: update the microcode, or don't change FID
+ * This check is handled before calling nano_power() */
+}
+
+static void nano_power(void)
+{
+ msr_t msr;
+ /* Enable Powersaver */
+ msr = rdmsr(MSR_IA32_MISC_ENABLE);
+ msr.lo |= (1 << 16);
+ wrmsr(MSR_IA32_MISC_ENABLE, msr);
+
+ /* Enable 6 bit or 7-bit VRM support
+ * This MSR is not documented by VIA docs, other than setting these
+ * bits */
+ msr = rdmsr(NANO_MYSTERIOUS_MSR);
+ msr.lo |= ( (1<<7) | (1<<4) );
+ /* FIXME: Do we have a 6-bit or 7-bit VRM?
+ * set bit [5] for 7-bit, or don't set it for 6 bit VRM
+ * This will probably require a Kconfig option
+ * My board has a 7-bit VRM, so I can't test the 6-bit VRM stuff */
+ msr.lo |= (1<<5);
+ wrmsr(NANO_MYSTERIOUS_MSR, msr);
+
+ /* Set the maximum frequency and voltage */
+ nano_set_max_fid_vid();
+
+ /* Enable TM3 */
+ msr = rdmsr(MSR_IA32_MISC_ENABLE);
+ msr.lo |= ( (1<<3) | (1<<13) );
+ wrmsr(MSR_IA32_MISC_ENABLE, msr);
+
+ u8 stepping = ( cpuid_eax(0x1) ) &0xf;
+ if(stepping >= MODEL_NANO_3000_B0) {
+ /* Hello Nano 3000. The Terminator needs a CPU upgrade */
+ /* Enable C1e, C2e, C3e, and C4e states */
+ msr = rdmsr(MSR_IA32_MISC_ENABLE);
+ msr.lo |= ( (1<<25) | (1<<26) | (1<<31)); /* C1e, C2e, C3e */
+ msr.hi |= (1<<0); /* C4e */
+ wrmsr(MSR_IA32_MISC_ENABLE, msr);
+ }
+
+ /* Lock on Powersaver */
+ msr = rdmsr(MSR_IA32_MISC_ENABLE);
+ msr.lo |= (1<<20);
+ wrmsr(MSR_IA32_MISC_ENABLE, msr);
+}
+
+static void nano_init(device_t dev)
+{
+ struct cpuinfo_x86 c;
+
+ get_fms(&c, dev->device);
+
+ /* We didn't test this on the Nano 1000/2000 series, so warn the user */
+ if(c.x86_mask < MODEL_NANO_3000_B0) {
+ printk(BIOS_EMERG, "WARNING: This CPU has not been tested. "
+ "Please report any issues encountered. \n");
+ }
+ switch (c.x86_mask) {
+ case MODEL_NANO:
+ printk(BIOS_INFO, "VIA Nano");
+ break;
+ case MODEL_NANO_3000_B0:
+ printk(BIOS_INFO, "VIA Nano 3000 rev B0");
+ break;
+ case MODEL_NANO_3000_B2:
+ printk(BIOS_INFO, "VIA Nano 3000 rev B2");
+ break;
+ default:
+ printk(BIOS_EMERG, "Stepping not recognized: %x\n", c.x86_mask);
+ }
+ printk(BIOS_INFO, "\n");
+
+ /* We only read microcode from CBFS. If we don't have any microcode in
+ * CBFS, we'll just get back with 0 updates. User choice FTW. */
+ unsigned int n_updates = nano_update_ucode();
+
+ if(n_updates != 0){
+ nano_power();
+ } else {
+ /* Changing the frequency or voltage without first updating the
+ * microcode will hang the CPU, so just don't do it */
+ printk(BIOS_EMERG, "WARNING: CPU Microcode not updated.\n"
+ " Will not change frequency, as this may hang the CPU.\n");
+ }
+
+ /* Turn on cache */
+ x86_enable_cache();
+ /* Set up Memory Type Range Registers */
+ x86_setup_mtrrs();
+ x86_mtrr_check();
+ /* Enable the local cpu apics */
+ setup_lapic();
+}
+
+static struct device_operations cpu_dev_ops = {
+ .init = nano_init,
+};
+
+static struct cpu_device_id cpu_table[] = {
+ {X86_VENDOR_CENTAUR, 0x06f2}, // VIA NANO 1000/2000 Series
+ {X86_VENDOR_CENTAUR, 0x06f8}, // VIA NANO 3000 rev B0
+ {X86_VENDOR_CENTAUR, 0x06fa}, // VIA NANO 3000 rev B2
+ {0, 0},
+};
+
+static const struct cpu_driver driver __cpu_driver = {
+ .ops = &cpu_dev_ops,
+ .id_table = cpu_table,
+};
diff --git a/src/cpu/via/nano/update_ucode.c b/src/cpu/via/nano/update_ucode.c
new file mode 100644
index 0000000..8f7ee22
--- /dev/null
+++ b/src/cpu/via/nano/update_ucode.c
@@ -0,0 +1,150 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2012 Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
+ *
+ * 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, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "update_ucode.h"
+#include <cpu/x86/msr.h>
+#include <console/console.h>
+#include <stddef.h>
+#include <cpu/cpu.h>
+#include <arch/cpu.h>
+#include <cbfs.h>
+
+static ucode_update_status nano_apply_ucode(const nano_ucode_header *ucode)
+{
+ printk(BIOS_SPEW, "Attempting to apply microcode update\n");
+
+ msr_t msr;
+ /* Address of ucode block goes in msr.lo for 32-bit mode
+ * Now remember, we need to pass the address of the actual microcode,
+ * not the header. The header is just there to help us. */
+ msr.lo = (unsigned int)(&(ucode->ucode_start));
+ msr.hi = 0;
+ wrmsr(MSR_IA32_BIOS_UPDT_TRIG, msr);
+
+ /* Let's see if we updated succesfully */
+ msr = rdmsr(MSR_UCODE_UPDATE_STATUS);
+
+ return msr.lo & 0x07;
+}
+
+static void nano_print_ucode_info(const nano_ucode_header *ucode)
+{
+ printk(BIOS_SPEW, "Microcode update information:\n");
+ printk(BIOS_SPEW, "Name: %8s\n", ucode->name );
+ printk(BIOS_SPEW, "Date: %u/%u/%u\n", ucode->month,
+ ucode->day, ucode->year );
+}
+
+static ucode_validity nano_ucode_is_valid(const nano_ucode_header *ucode)
+{
+ /* We must have a valid signature */
+ if(ucode->signature != NANO_UCODE_SIGNATURE)
+ return NANO_UCODE_SIGNATURE_ERROR;
+ /* The size of the head must be exactly 12 double words */
+ if( (ucode->total_size - ucode->payload_size) != NANO_UCODE_HEADER_SIZE)
+ return NANO_UCODE_WRONG_SIZE;
+
+ /* How about a checksum ? Checksum must be 0
+ * Two's complement done over the entire file, including the header */
+ int i;
+ u32 check = 0;
+ u32 *raw = (void*) ucode;
+ for(i = 0 ; i < ((ucode->total_size) >> 2); i++) {
+ check += raw[i];
+ }
+ if(check != 0)
+ return NANO_UCODE_CHECKSUM_FAIL;
+ /* Made it here huh? Then it looks valid to us.
+ * If there's anything else wrong, the CPU will reject the update */
+ return NANO_UCODE_VALID;
+}
+
+static void nano_print_ucode_status(ucode_update_status stat)
+{
+ switch(stat)
+ {
+ case UCODE_UPDATE_SUCCESS:
+ printk(BIOS_INFO, "Microcode update succesful.\n");
+ break;
+ case UCODE_UPDATE_FAIL:
+ printk(BIOS_ALERT, "Microcode update failed, bad environment."
+ "Update was not applied.\n");
+ break;
+ case UCODE_UPDATE_WRONG_CPU:
+ printk(BIOS_ALERT, "Update not applicable to this CPU.\n");
+ break;
+ case UCODE_INVALID_UPDATE_BLOCK:
+ printk(BIOS_ALERT, "Microcode block invalid."
+ "Update was not applied.\n");
+ break;
+ default:
+ printk(BIOS_ALERT, "Unknown status. No update applied.\n");
+ }
+}
+
+unsigned int nano_update_ucode(void)
+{
+ size_t i;
+ unsigned int n_updates = 0;
+ const struct cbfs_file *cbfs_ucode;
+ u32 fms = cpuid_eax(0x1);
+
+ cbfs_ucode = cbfs_find("cpu_microcode_blob.bin");
+ /* Oops, did you forget to include the microcode ? */
+ if(cbfs_ucode == NULL) {
+ printk(BIOS_ALERT, "WARNING: No microcode file found in CBFS. "
+ "Aborting microcode updates\n");
+ return 0;
+ }
+
+ /* Considering we are running with eXecute-In-Place (XIP), there's no
+ * need to worry that accessing data from ROM will slow us down.
+ * Microcode data should be aligned to a 4-byte boundary, but CBFS
+ * already does that for us (Do you, CBFS?) */
+ const u32 *ucode_data = CBFS_SUBHEADER(cbfs_ucode);
+ const u32 ucode_len = ntohl(cbfs_ucode->len);
+
+ /* We might do a lot of loops searching for the microcode updates, but
+ * keep in mind, nano_ucode_is_valid searches for the signature before
+ * doing anything else. */
+ for( i = 0; i < (ucode_len >> 2); /* don't increment i here */ )
+ {
+ ucode_update_status stat;
+ const nano_ucode_header * ucode = (void *)(&ucode_data[i]);
+ if(nano_ucode_is_valid(ucode) != NANO_UCODE_VALID) {
+ i++;
+ continue;
+ }
+ /* Since we have a valid microcode, there's no need to search
+ * in this region, so we restart our search at the end of this
+ * microcode */
+ i += (ucode->total_size >> 2);
+ /* Is the microcode compatible with our CPU? */
+ if(ucode->applicable_fms != fms) continue;
+ /* For our most curious users */
+ nano_print_ucode_info(ucode);
+ /* The meat of the pie */
+ stat = nano_apply_ucode(ucode);
+ /* The user might want to know how the update went */
+ nano_print_ucode_status(stat);
+ if(stat == UCODE_UPDATE_SUCCESS) n_updates++;
+ }
+
+ return n_updates;
+}
diff --git a/src/cpu/via/nano/update_ucode.h b/src/cpu/via/nano/update_ucode.h
new file mode 100644
index 0000000..14063fa
--- /dev/null
+++ b/src/cpu/via/nano/update_ucode.h
@@ -0,0 +1,73 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2012 Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
+ *
+ * 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, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef __UPDATE_UCODE_H
+#define __UPDATE_UCODE_H
+
+#include <console/console.h>
+#include <cpu/cpu.h>
+
+#define MSR_IA32_BIOS_UPDT_TRIG 0x00000079
+#define MSR_IA32_BIOS_SIGN_ID 0x0000008b
+#define MSR_UCODE_UPDATE_STATUS 0x00001205
+
+#define NANO_UCODE_SIGNATURE 0x53415252
+#define NANO_UCODE_HEADER_SIZE 0x30
+
+/* These are values returned by the CPU after we attempt microcode updates.
+ * We care what these values are exactly, so we define them to be sure */
+typedef enum {
+ UCODE_UPDATE_NOT_ATTEMPTED = 0x0,
+ UCODE_UPDATE_SUCCESS = 0x1,
+ UCODE_UPDATE_FAIL = 0x2,
+ UCODE_UPDATE_WRONG_CPU = 0x3,
+ UCODE_INVALID_UPDATE_BLOCK = 0x4,
+} ucode_update_status;
+
+
+typedef enum ucode_validity_enum {
+ NANO_UCODE_VALID = 0, /* We only care that valid == 0 */
+ NANO_UCODE_SIGNATURE_ERROR,
+ NANO_UCODE_WRONG_SIZE,
+ NANO_UCODE_CHECKSUM_FAIL,
+} ucode_validity;
+
+typedef struct {
+ u32 signature; /* NANO_UCODE_SIGNATURE */
+ u32 update_revision; /* Revision of the update header */
+ u16 year; /* Year of patch release */
+ u8 day; /* Day of patch release */
+ u8 month; /* Month of patch release */
+ u32 applicable_fms; /* Fam/model/stepping to which ucode applies */
+ u32 checksum; /* Two's complement checksum of ucode+header */
+ u32 loader_revision; /* Revision of hardware ucode update loader*/
+ u32 rfu_1; /* Reservod for future use */
+ u32 payload_size; /* Size of the ucode payload only */
+ u32 total_size; /* Size of the ucode, including header */
+ char name[8]; /* ASCII string of ucode filename */
+ u32 rfu_2; /* Reservod for future use */
+ /* First double-word of the ucode payload
+ * Its address represents the beginning of the ucode update we need to
+ * send to the CPU */
+ u32 ucode_start;
+
+} nano_ucode_header;
+
+unsigned int nano_update_ucode(void);
+
+#endif /* __UPDATE_UCODE_H */
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1420
-gerrit
commit 8bf93e4c4cb2458a046fdd94ecb3a85c30b2c590
Author: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
Date: Tue Aug 7 22:12:09 2012 +0200
Revert "Drop mainboard chip.h"
This reverts commit 188e3c2ff06a82f61d7d71e610b32b1a250c0a45
There is more stuff broken, hence reverting this one.
---
src/mainboard/a-trend/atc-6220/chip.h | 22 +++++++++++++++
src/mainboard/a-trend/atc-6220/mainboard.c | 1 +
src/mainboard/a-trend/atc-6240/chip.h | 22 +++++++++++++++
src/mainboard/a-trend/atc-6240/mainboard.c | 1 +
src/mainboard/aaeon/pfm-540i_revb/chip.h | 23 +++++++++++++++
src/mainboard/aaeon/pfm-540i_revb/mainboard.c | 1 +
src/mainboard/abit/be6-ii_v2_0/chip.h | 22 +++++++++++++++
src/mainboard/abit/be6-ii_v2_0/mainboard.c | 1 +
src/mainboard/advansus/a785e-i/chip.h | 22 +++++++++++++++
src/mainboard/advansus/a785e-i/mainboard.c | 5 +++
src/mainboard/advantech/pcm-5820/chip.h | 22 +++++++++++++++
src/mainboard/advantech/pcm-5820/mainboard.c | 1 +
src/mainboard/amd/bimini_fam10/chip.h | 22 +++++++++++++++
src/mainboard/amd/bimini_fam10/mainboard.c | 5 +++
src/mainboard/amd/db800/chip.h | 23 +++++++++++++++
src/mainboard/amd/db800/mainboard.c | 1 +
src/mainboard/amd/dbm690t/chip.h | 21 ++++++++++++++
src/mainboard/amd/dbm690t/mainboard.c | 1 +
src/mainboard/amd/dinar/chip.h | 23 +++++++++++++++
src/mainboard/amd/dinar/mainboard.c | 1 +
src/mainboard/amd/inagua/chip.h | 23 +++++++++++++++
src/mainboard/amd/inagua/mainboard.c | 1 +
src/mainboard/amd/mahogany/chip.h | 21 ++++++++++++++
src/mainboard/amd/mahogany/mainboard.c | 1 +
src/mainboard/amd/mahogany_fam10/chip.h | 23 +++++++++++++++
src/mainboard/amd/mahogany_fam10/mainboard.c | 1 +
src/mainboard/amd/norwich/chip.h | 23 +++++++++++++++
src/mainboard/amd/norwich/mainboard.c | 1 +
src/mainboard/amd/parmer/chip.h | 22 +++++++++++++++
src/mainboard/amd/parmer/mainboard.c | 1 +
src/mainboard/amd/persimmon/chip.h | 23 +++++++++++++++
src/mainboard/amd/persimmon/mainboard.c | 1 +
src/mainboard/amd/pistachio/chip.h | 23 +++++++++++++++
src/mainboard/amd/pistachio/mainboard.c | 1 +
src/mainboard/amd/rumba/chip.h | 5 +++
src/mainboard/amd/rumba/mainboard.c | 8 ++++-
src/mainboard/amd/serengeti_cheetah/chip.h | 3 ++
src/mainboard/amd/serengeti_cheetah/mainboard.c | 1 +
src/mainboard/amd/serengeti_cheetah_fam10/chip.h | 23 +++++++++++++++
.../amd/serengeti_cheetah_fam10/mainboard.c | 1 +
src/mainboard/amd/south_station/chip.h | 23 +++++++++++++++
src/mainboard/amd/south_station/mainboard.c | 1 +
src/mainboard/amd/tilapia_fam10/chip.h | 23 +++++++++++++++
src/mainboard/amd/tilapia_fam10/mainboard.c | 1 +
src/mainboard/amd/torpedo/chip.h | 23 +++++++++++++++
src/mainboard/amd/torpedo/mainboard.c | 1 +
src/mainboard/amd/union_station/chip.h | 23 +++++++++++++++
src/mainboard/amd/union_station/mainboard.c | 1 +
src/mainboard/aopen/dxplplusu/chip.h | 4 +++
src/mainboard/aopen/dxplplusu/mainboard.c | 1 +
src/mainboard/arima/hdama/chip.h | 3 ++
src/mainboard/arima/hdama/mainboard.c | 1 +
src/mainboard/artecgroup/dbe61/chip.h | 3 ++
src/mainboard/artecgroup/dbe61/mainboard.c | 1 +
src/mainboard/asi/mb_5blgp/chip.h | 22 +++++++++++++++
src/mainboard/asi/mb_5blgp/mainboard.c | 1 +
src/mainboard/asi/mb_5blmp/chip.h | 23 +++++++++++++++
src/mainboard/asi/mb_5blmp/mainboard.c | 1 +
src/mainboard/asrock/939a785gmh/chip.h | 23 +++++++++++++++
src/mainboard/asrock/939a785gmh/mainboard.c | 1 +
src/mainboard/asrock/e350m1/chip.h | 23 +++++++++++++++
src/mainboard/asrock/e350m1/mainboard.c | 1 +
src/mainboard/asus/a8n_e/chip.h | 24 ++++++++++++++++
src/mainboard/asus/a8n_e/mainboard.c | 1 +
src/mainboard/asus/a8v-e_deluxe/chip.h | 22 +++++++++++++++
src/mainboard/asus/a8v-e_deluxe/mainboard.c | 1 +
src/mainboard/asus/a8v-e_se/chip.h | 22 +++++++++++++++
src/mainboard/asus/a8v-e_se/mainboard.c | 1 +
src/mainboard/asus/dsbf/chip.h | 21 ++++++++++++++
src/mainboard/asus/dsbf/mainboard.c | 1 +
src/mainboard/asus/k8v-x/chip.h | 22 +++++++++++++++
src/mainboard/asus/k8v-x/mainboard.c | 1 +
src/mainboard/asus/m2n-e/chip.h | 23 +++++++++++++++
src/mainboard/asus/m2n-e/mainboard.c | 1 +
src/mainboard/asus/m2v-mx_se/chip.h | 22 +++++++++++++++
src/mainboard/asus/m2v-mx_se/mainboard.c | 1 +
src/mainboard/asus/m2v/chip.h | 22 +++++++++++++++
src/mainboard/asus/m2v/mainboard.c | 1 +
src/mainboard/asus/m4a78-em/chip.h | 23 +++++++++++++++
src/mainboard/asus/m4a78-em/mainboard.c | 1 +
src/mainboard/asus/m4a785-m/chip.h | 23 +++++++++++++++
src/mainboard/asus/m4a785-m/mainboard.c | 1 +
src/mainboard/asus/m4a785t-m/chip.h | 23 +++++++++++++++
src/mainboard/asus/m5a88-v/chip.h | 22 +++++++++++++++
src/mainboard/asus/m5a88-v/mainboard.c | 1 +
src/mainboard/asus/mew-am/chip.h | 22 +++++++++++++++
src/mainboard/asus/mew-am/mainboard.c | 1 +
src/mainboard/asus/mew-vm/chip.h | 3 ++
src/mainboard/asus/mew-vm/mainboard.c | 1 +
src/mainboard/asus/p2b-d/chip.h | 22 +++++++++++++++
src/mainboard/asus/p2b-d/mainboard.c | 1 +
src/mainboard/asus/p2b-ds/chip.h | 22 +++++++++++++++
src/mainboard/asus/p2b-ds/mainboard.c | 1 +
src/mainboard/asus/p2b-f/chip.h | 22 +++++++++++++++
src/mainboard/asus/p2b-f/mainboard.c | 1 +
src/mainboard/asus/p2b-ls/chip.h | 22 +++++++++++++++
src/mainboard/asus/p2b-ls/mainboard.c | 1 +
src/mainboard/asus/p2b/chip.h | 22 +++++++++++++++
src/mainboard/asus/p2b/mainboard.c | 1 +
src/mainboard/asus/p3b-f/chip.h | 22 +++++++++++++++
src/mainboard/asus/p3b-f/mainboard.c | 1 +
src/mainboard/avalue/eax-785e/chip.h | 22 +++++++++++++++
src/mainboard/avalue/eax-785e/mainboard.c | 5 +++
src/mainboard/axus/tc320/chip.h | 22 +++++++++++++++
src/mainboard/axus/tc320/mainboard.c | 1 +
src/mainboard/azza/pt-6ibd/chip.h | 22 +++++++++++++++
src/mainboard/azza/pt-6ibd/mainboard.c | 1 +
src/mainboard/bachmann/ot200/chip.h | 23 +++++++++++++++
src/mainboard/bcom/winnet100/chip.h | 23 +++++++++++++++
src/mainboard/bcom/winnet100/mainboard.c | 1 +
src/mainboard/bcom/winnetp680/chip.h | 24 ++++++++++++++++
src/mainboard/bcom/winnetp680/mainboard.c | 1 +
src/mainboard/bifferos/bifferboard/chip.h | 23 +++++++++++++++
src/mainboard/bifferos/bifferboard/mainboard.c | 1 +
src/mainboard/biostar/m6tba/chip.h | 22 +++++++++++++++
src/mainboard/biostar/m6tba/mainboard.c | 1 +
src/mainboard/broadcom/blast/chip.h | 3 ++
src/mainboard/broadcom/blast/mainboard.c | 1 +
src/mainboard/compaq/deskpro_en_sff_p600/chip.h | 22 +++++++++++++++
.../compaq/deskpro_en_sff_p600/mainboard.c | 1 +
src/mainboard/digitallogic/adl855pc/chip.h | 3 ++
src/mainboard/digitallogic/adl855pc/mainboard.c | 1 +
src/mainboard/digitallogic/msm586seg/chip.h | 3 ++
src/mainboard/digitallogic/msm586seg/mainboard.c | 1 +
src/mainboard/digitallogic/msm800sev/chip.h | 3 ++
src/mainboard/digitallogic/msm800sev/mainboard.c | 1 +
src/mainboard/eaglelion/5bcm/chip.h | 3 ++
src/mainboard/eaglelion/5bcm/mainboard.c | 1 +
src/mainboard/ecs/p6iwp-fe/chip.h | 22 +++++++++++++++
src/mainboard/ecs/p6iwp-fe/mainboard.c | 1 +
src/mainboard/emulation/qemu-x86/mainboard.c | 1 +
src/mainboard/getac/p470/chip.h | 23 +++++++++++++++
src/mainboard/getac/p470/mainboard.c | 1 +
src/mainboard/gigabyte/ga-6bxc/chip.h | 22 +++++++++++++++
src/mainboard/gigabyte/ga-6bxc/mainboard.c | 1 +
src/mainboard/gigabyte/ga-6bxe/chip.h | 22 +++++++++++++++
src/mainboard/gigabyte/ga-6bxe/mainboard.c | 1 +
src/mainboard/gigabyte/ga_2761gxdk/chip.h | 24 ++++++++++++++++
src/mainboard/gigabyte/ga_2761gxdk/mainboard.c | 1 +
src/mainboard/gigabyte/m57sli/chip.h | 24 ++++++++++++++++
src/mainboard/gigabyte/m57sli/mainboard.c | 1 +
src/mainboard/gigabyte/ma785gm/chip.h | 23 +++++++++++++++
src/mainboard/gigabyte/ma785gm/mainboard.c | 1 +
src/mainboard/gigabyte/ma785gmt/chip.h | 23 +++++++++++++++
src/mainboard/gigabyte/ma785gmt/mainboard.c | 1 +
src/mainboard/gigabyte/ma78gm/chip.h | 23 +++++++++++++++
src/mainboard/gigabyte/ma78gm/mainboard.c | 1 +
src/mainboard/hp/dl145_g1/chip.h | 3 ++
src/mainboard/hp/dl145_g1/mainboard.c | 1 +
src/mainboard/hp/dl145_g3/chip.h | 24 ++++++++++++++++
src/mainboard/hp/dl145_g3/mainboard.c | 1 +
src/mainboard/hp/dl165_g6_fam10/chip.h | 26 +++++++++++++++++
src/mainboard/hp/dl165_g6_fam10/mainboard.c | 1 +
src/mainboard/hp/e_vectra_p2706t/chip.h | 23 +++++++++++++++
src/mainboard/hp/e_vectra_p2706t/mainboard.c | 1 +
src/mainboard/ibase/mb899/chip.h | 21 ++++++++++++++
src/mainboard/ibase/mb899/mainboard.c | 1 +
src/mainboard/ibm/e325/chip.h | 3 ++
src/mainboard/ibm/e325/mainboard.c | 1 +
src/mainboard/ibm/e326/chip.h | 3 ++
src/mainboard/ibm/e326/mainboard.c | 1 +
src/mainboard/iei/juki-511p/chip.h | 23 +++++++++++++++
src/mainboard/iei/juki-511p/mainboard.c | 1 +
src/mainboard/iei/kino-780am2-fam10/chip.h | 23 +++++++++++++++
src/mainboard/iei/kino-780am2-fam10/mainboard.c | 1 +
src/mainboard/iei/nova4899r/chip.h | 23 +++++++++++++++
src/mainboard/iei/nova4899r/mainboard.c | 1 +
src/mainboard/iei/pcisa-lx-800-r10/chip.h | 23 +++++++++++++++
src/mainboard/iei/pm-lx-800-r11/chip.h | 23 +++++++++++++++
src/mainboard/intel/d810e2cb/chip.h | 21 ++++++++++++++
src/mainboard/intel/d810e2cb/mainboard.c | 1 +
src/mainboard/intel/d945gclf/chip.h | 21 ++++++++++++++
src/mainboard/intel/d945gclf/mainboard.c | 1 +
src/mainboard/intel/eagleheights/chip.h | 22 +++++++++++++++
src/mainboard/intel/eagleheights/mainboard.c | 1 +
src/mainboard/intel/emeraldlake2/chip.h | 21 ++++++++++++++
src/mainboard/intel/emeraldlake2/mainboard.c | 1 +
src/mainboard/intel/jarrell/chip.h | 3 ++
src/mainboard/intel/jarrell/mainboard.c | 1 +
src/mainboard/intel/mtarvon/chip.h | 22 +++++++++++++++
src/mainboard/intel/mtarvon/mainboard.c | 1 +
src/mainboard/intel/truxton/chip.h | 22 +++++++++++++++
src/mainboard/intel/truxton/mainboard.c | 1 +
src/mainboard/intel/xe7501devkit/chip.h | 3 ++
src/mainboard/intel/xe7501devkit/mainboard.c | 1 +
src/mainboard/iwave/iWRainbowG6/chip.h | 21 ++++++++++++++
src/mainboard/iwave/iWRainbowG6/mainboard.c | 1 +
src/mainboard/iwill/dk8_htx/chip.h | 3 ++
src/mainboard/iwill/dk8_htx/mainboard.c | 1 +
src/mainboard/iwill/dk8s2/chip.h | 3 ++
src/mainboard/iwill/dk8s2/mainboard.c | 1 +
src/mainboard/iwill/dk8x/chip.h | 3 ++
src/mainboard/iwill/dk8x/mainboard.c | 1 +
src/mainboard/jetway/j7f24/chip.h | 24 ++++++++++++++++
src/mainboard/jetway/j7f24/mainboard.c | 1 +
src/mainboard/jetway/pa78vm5/chip.h | 24 ++++++++++++++++
src/mainboard/jetway/pa78vm5/mainboard.c | 1 +
src/mainboard/kontron/986lcd-m/chip.h | 21 ++++++++++++++
src/mainboard/kontron/986lcd-m/mainboard.c | 1 +
src/mainboard/kontron/kt690/chip.h | 23 +++++++++++++++
src/mainboard/kontron/kt690/mainboard.c | 1 +
src/mainboard/lanner/em8510/chip.h | 23 +++++++++++++++
src/mainboard/lanner/em8510/mainboard.c | 1 +
src/mainboard/lenovo/t60/chip.h | 21 ++++++++++++++
src/mainboard/lenovo/t60/mainboard.c | 1 +
src/mainboard/lenovo/x60/chip.h | 21 ++++++++++++++
src/mainboard/lenovo/x60/mainboard.c | 1 +
src/mainboard/lippert/frontrunner/chip.h | 3 ++
src/mainboard/lippert/frontrunner/mainboard.c | 1 +
src/mainboard/lippert/hurricane-lx/chip.h | 23 +++++++++++++++
src/mainboard/lippert/hurricane-lx/mainboard.c | 1 +
src/mainboard/lippert/literunner-lx/chip.h | 23 +++++++++++++++
src/mainboard/lippert/literunner-lx/mainboard.c | 1 +
src/mainboard/lippert/roadrunner-lx/chip.h | 23 +++++++++++++++
src/mainboard/lippert/roadrunner-lx/mainboard.c | 1 +
src/mainboard/lippert/spacerunner-lx/chip.h | 23 +++++++++++++++
src/mainboard/lippert/spacerunner-lx/mainboard.c | 1 +
src/mainboard/mitac/6513wu/chip.h | 22 +++++++++++++++
src/mainboard/mitac/6513wu/mainboard.c | 1 +
src/mainboard/msi/ms6119/chip.h | 22 +++++++++++++++
src/mainboard/msi/ms6119/mainboard.c | 1 +
src/mainboard/msi/ms6147/chip.h | 22 +++++++++++++++
src/mainboard/msi/ms6147/mainboard.c | 1 +
src/mainboard/msi/ms6156/chip.h | 22 +++++++++++++++
src/mainboard/msi/ms6156/mainboard.c | 1 +
src/mainboard/msi/ms6178/chip.h | 23 +++++++++++++++
src/mainboard/msi/ms6178/mainboard.c | 1 +
src/mainboard/msi/ms7135/chip.h | 23 +++++++++++++++
src/mainboard/msi/ms7135/mainboard.c | 1 +
src/mainboard/msi/ms7260/chip.h | 23 +++++++++++++++
src/mainboard/msi/ms7260/mainboard.c | 1 +
src/mainboard/msi/ms9185/chip.h | 25 +++++++++++++++++
src/mainboard/msi/ms9185/mainboard.c | 1 +
src/mainboard/msi/ms9282/chip.h | 24 ++++++++++++++++
src/mainboard/msi/ms9282/mainboard.c | 1 +
src/mainboard/msi/ms9652_fam10/chip.h | 24 ++++++++++++++++
src/mainboard/msi/ms9652_fam10/mainboard.c | 1 +
src/mainboard/nec/powermate2000/chip.h | 23 +++++++++++++++
src/mainboard/nec/powermate2000/mainboard.c | 1 +
src/mainboard/newisys/khepri/chip.h | 3 ++
src/mainboard/newisys/khepri/mainboard.c | 1 +
src/mainboard/nokia/ip530/chip.h | 22 +++++++++++++++
src/mainboard/nokia/ip530/mainboard.c | 1 +
src/mainboard/nvidia/l1_2pvv/chip.h | 24 ++++++++++++++++
src/mainboard/nvidia/l1_2pvv/mainboard.c | 1 +
src/mainboard/pcengines/alix1c/chip.h | 22 +++++++++++++++
src/mainboard/pcengines/alix1c/mainboard.c | 1 +
src/mainboard/pcengines/alix2d/chip.h | 22 +++++++++++++++
src/mainboard/pcengines/alix2d/mainboard.c | 1 +
src/mainboard/rca/rm4100/chip.h | 23 +++++++++++++++
src/mainboard/rca/rm4100/mainboard.c | 1 +
src/mainboard/roda/rk886ex/chip.h | 21 ++++++++++++++
src/mainboard/roda/rk886ex/mainboard.c | 1 +
src/mainboard/samsung/lumpy/chip.h | 21 ++++++++++++++
src/mainboard/samsung/lumpy/mainboard.c | 1 +
src/mainboard/samsung/stumpy/chip.h | 21 ++++++++++++++
src/mainboard/samsung/stumpy/mainboard.c | 1 +
src/mainboard/siemens/sitemp_g1p1/chip.h | 29 ++++++++++++++++++++
src/mainboard/siemens/sitemp_g1p1/mainboard.c | 16 +++++-----
src/mainboard/soyo/sy-6ba-plus-iii/chip.h | 22 +++++++++++++++
src/mainboard/soyo/sy-6ba-plus-iii/mainboard.c | 1 +
src/mainboard/sunw/ultra40/chip.h | 3 ++
src/mainboard/sunw/ultra40/mainboard.c | 1 +
src/mainboard/supermicro/h8dme/chip.h | 21 ++++++++++++++
src/mainboard/supermicro/h8dme/mainboard.c | 1 +
src/mainboard/supermicro/h8dmr/chip.h | 24 ++++++++++++++++
src/mainboard/supermicro/h8dmr/mainboard.c | 1 +
src/mainboard/supermicro/h8dmr_fam10/chip.h | 24 ++++++++++++++++
src/mainboard/supermicro/h8dmr_fam10/mainboard.c | 1 +
src/mainboard/supermicro/h8qgi/chip.h | 23 +++++++++++++++
src/mainboard/supermicro/h8qgi/mainboard.c | 1 +
src/mainboard/supermicro/h8qme_fam10/chip.h | 24 ++++++++++++++++
src/mainboard/supermicro/h8qme_fam10/mainboard.c | 1 +
src/mainboard/supermicro/h8scm_fam10/chip.h | 23 +++++++++++++++
src/mainboard/supermicro/h8scm_fam10/mainboard.c | 5 +++
src/mainboard/supermicro/x6dai_g/chip.h | 3 ++
src/mainboard/supermicro/x6dai_g/mainboard.c | 1 +
src/mainboard/supermicro/x6dhe_g/chip.h | 3 ++
src/mainboard/supermicro/x6dhe_g/mainboard.c | 1 +
src/mainboard/supermicro/x6dhe_g2/chip.h | 3 ++
src/mainboard/supermicro/x6dhe_g2/mainboard.c | 1 +
src/mainboard/supermicro/x6dhr_ig/chip.h | 3 ++
src/mainboard/supermicro/x6dhr_ig/mainboard.c | 1 +
src/mainboard/supermicro/x6dhr_ig2/chip.h | 3 ++
src/mainboard/supermicro/x6dhr_ig2/mainboard.c | 1 +
src/mainboard/supermicro/x7db8/chip.h | 21 ++++++++++++++
src/mainboard/supermicro/x7db8/mainboard.c | 1 +
src/mainboard/technexion/tim5690/chip.h | 23 +++++++++++++++
src/mainboard/technexion/tim5690/mainboard.c | 1 +
src/mainboard/technexion/tim8690/chip.h | 23 +++++++++++++++
src/mainboard/technexion/tim8690/mainboard.c | 1 +
src/mainboard/technologic/ts5300/chip.h | 3 ++
src/mainboard/technologic/ts5300/mainboard.c | 1 +
src/mainboard/televideo/tc7020/chip.h | 23 +++++++++++++++
src/mainboard/televideo/tc7020/mainboard.c | 1 +
src/mainboard/thomson/ip1000/chip.h | 23 +++++++++++++++
src/mainboard/thomson/ip1000/mainboard.c | 1 +
src/mainboard/traverse/geos/chip.h | 23 +++++++++++++++
src/mainboard/traverse/geos/mainboard.c | 1 +
src/mainboard/tyan/s1846/chip.h | 22 +++++++++++++++
src/mainboard/tyan/s1846/mainboard.c | 1 +
src/mainboard/tyan/s2735/chip.h | 3 ++
src/mainboard/tyan/s2735/mainboard.c | 1 +
src/mainboard/tyan/s2850/chip.h | 3 ++
src/mainboard/tyan/s2850/mainboard.c | 1 +
src/mainboard/tyan/s2875/chip.h | 3 ++
src/mainboard/tyan/s2875/mainboard.c | 1 +
src/mainboard/tyan/s2880/chip.h | 3 ++
src/mainboard/tyan/s2880/mainboard.c | 1 +
src/mainboard/tyan/s2881/chip.h | 3 ++
src/mainboard/tyan/s2881/mainboard.c | 1 +
src/mainboard/tyan/s2882/chip.h | 3 ++
src/mainboard/tyan/s2882/mainboard.c | 1 +
src/mainboard/tyan/s2885/chip.h | 3 ++
src/mainboard/tyan/s2885/mainboard.c | 1 +
src/mainboard/tyan/s2891/chip.h | 3 ++
src/mainboard/tyan/s2891/mainboard.c | 1 +
src/mainboard/tyan/s2892/chip.h | 3 ++
src/mainboard/tyan/s2892/mainboard.c | 1 +
src/mainboard/tyan/s2895/chip.h | 3 ++
src/mainboard/tyan/s2895/mainboard.c | 1 +
src/mainboard/tyan/s2912/chip.h | 24 ++++++++++++++++
src/mainboard/tyan/s2912/mainboard.c | 1 +
src/mainboard/tyan/s2912_fam10/chip.h | 24 ++++++++++++++++
src/mainboard/tyan/s2912_fam10/mainboard.c | 1 +
src/mainboard/tyan/s4880/chip.h | 3 ++
src/mainboard/tyan/s4880/mainboard.c | 1 +
src/mainboard/tyan/s4882/chip.h | 3 ++
src/mainboard/tyan/s4882/mainboard.c | 1 +
src/mainboard/via/epia-cn/chip.h | 24 ++++++++++++++++
src/mainboard/via/epia-cn/mainboard.c | 1 +
src/mainboard/via/epia-m/chip.h | 3 ++
src/mainboard/via/epia-m/mainboard.c | 1 +
src/mainboard/via/epia-m700/chip.h | 23 +++++++++++++++
src/mainboard/via/epia-m700/mainboard.c | 1 +
src/mainboard/via/epia-n/chip.h | 24 ++++++++++++++++
src/mainboard/via/epia-n/mainboard.c | 1 +
src/mainboard/via/epia/chip.h | 3 ++
src/mainboard/via/epia/mainboard.c | 1 +
src/mainboard/via/pc2500e/chip.h | 23 +++++++++++++++
src/mainboard/via/pc2500e/mainboard.c | 1 +
src/mainboard/via/vt8454c/chip.h | 22 +++++++++++++++
src/mainboard/via/vt8454c/mainboard.c | 1 +
src/mainboard/winent/pl6064/chip.h | 23 +++++++++++++++
src/mainboard/winent/pl6064/mainboard.c | 1 +
src/mainboard/wyse/s50/chip.h | 22 +++++++++++++++
src/mainboard/wyse/s50/mainboard.c | 1 +
util/sconfig/main.c | 13 +-------
348 files changed, 3343 insertions(+), 21 deletions(-)
diff --git a/src/mainboard/a-trend/atc-6220/chip.h b/src/mainboard/a-trend/atc-6220/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/a-trend/atc-6220/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/a-trend/atc-6220/mainboard.c b/src/mainboard/a-trend/atc-6220/mainboard.c
index 26f18dd..f30ebfa 100644
--- a/src/mainboard/a-trend/atc-6220/mainboard.c
+++ b/src/mainboard/a-trend/atc-6220/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("A-Trend ATC-6220 Mainboard")
diff --git a/src/mainboard/a-trend/atc-6240/chip.h b/src/mainboard/a-trend/atc-6240/chip.h
new file mode 100644
index 0000000..56e17ca
--- /dev/null
+++ b/src/mainboard/a-trend/atc-6240/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/a-trend/atc-6240/mainboard.c b/src/mainboard/a-trend/atc-6240/mainboard.c
index 13f6e3f..0e09ea3 100644
--- a/src/mainboard/a-trend/atc-6240/mainboard.c
+++ b/src/mainboard/a-trend/atc-6240/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("A-Trend ATC-6240 Mainboard")
diff --git a/src/mainboard/aaeon/pfm-540i_revb/chip.h b/src/mainboard/aaeon/pfm-540i_revb/chip.h
new file mode 100644
index 0000000..c8c54b0
--- /dev/null
+++ b/src/mainboard/aaeon/pfm-540i_revb/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Mark Norman <mpnorman(a)gmail.com>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/aaeon/pfm-540i_revb/mainboard.c b/src/mainboard/aaeon/pfm-540i_revb/mainboard.c
index 8f1412f..72e500c 100644
--- a/src/mainboard/aaeon/pfm-540i_revb/mainboard.c
+++ b/src/mainboard/aaeon/pfm-540i_revb/mainboard.c
@@ -19,6 +19,7 @@
#include <console/console.h>
#include <device/device.h>
+#include "chip.h"
static void init(struct device *dev)
{
diff --git a/src/mainboard/abit/be6-ii_v2_0/chip.h b/src/mainboard/abit/be6-ii_v2_0/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/abit/be6-ii_v2_0/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/abit/be6-ii_v2_0/mainboard.c b/src/mainboard/abit/be6-ii_v2_0/mainboard.c
index c70df95..6fc23ec 100644
--- a/src/mainboard/abit/be6-ii_v2_0/mainboard.c
+++ b/src/mainboard/abit/be6-ii_v2_0/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Abit BE6-II V2.0 Mainboard")
diff --git a/src/mainboard/advansus/a785e-i/chip.h b/src/mainboard/advansus/a785e-i/chip.h
new file mode 100644
index 0000000..5957589
--- /dev/null
+++ b/src/mainboard/advansus/a785e-i/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/advansus/a785e-i/mainboard.c b/src/mainboard/advansus/a785e-i/mainboard.c
index 6c190f0..d3530cf 100644
--- a/src/mainboard/advansus/a785e-i/mainboard.c
+++ b/src/mainboard/advansus/a785e-i/mainboard.c
@@ -26,6 +26,7 @@
#include <cpu/amd/mtrr.h>
#include <device/pci_def.h>
#include "SBPLATFORM.h"
+#include "chip.h"
u8 is_dev3_present(void);
@@ -76,6 +77,10 @@ u8 is_dev3_present(void)
*************************************************/
static void a785e_i_enable(device_t dev)
{
+ /* Leave it for furture use. */
+ /* struct mainboard_config *mainboard =
+ (struct mainboard_config *)dev->chip_info; */
+
printk(BIOS_INFO, "Mainboard A785E-I Enable. dev=0x%p\n", dev);
setup_uma_memory();
diff --git a/src/mainboard/advantech/pcm-5820/chip.h b/src/mainboard/advantech/pcm-5820/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/advantech/pcm-5820/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/advantech/pcm-5820/mainboard.c b/src/mainboard/advantech/pcm-5820/mainboard.c
index 345c6f8..4256059 100644
--- a/src/mainboard/advantech/pcm-5820/mainboard.c
+++ b/src/mainboard/advantech/pcm-5820/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Advantech PCM-5820 Mainboard")
diff --git a/src/mainboard/amd/bimini_fam10/chip.h b/src/mainboard/amd/bimini_fam10/chip.h
new file mode 100644
index 0000000..2013516
--- /dev/null
+++ b/src/mainboard/amd/bimini_fam10/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/bimini_fam10/mainboard.c b/src/mainboard/amd/bimini_fam10/mainboard.c
index f587ac1..e2706c5 100644
--- a/src/mainboard/amd/bimini_fam10/mainboard.c
+++ b/src/mainboard/amd/bimini_fam10/mainboard.c
@@ -26,6 +26,7 @@
#include <cpu/amd/mtrr.h>
#include <device/pci_def.h>
#include <southbridge/amd/sb800/sb800.h>
+#include "chip.h"
u8 is_dev3_present(void);
@@ -126,6 +127,10 @@ static void get_ide_dma66(void)
*************************************************/
static void bimini_enable(device_t dev)
{
+ /* Leave it for furture use. */
+ /* struct mainboard_config *mainboard =
+ (struct mainboard_config *)dev->chip_info; */
+
printk(BIOS_INFO, "Mainboard BIMINI Enable. dev=0x%p\n", dev);
setup_uma_memory();
diff --git a/src/mainboard/amd/db800/chip.h b/src/mainboard/amd/db800/chip.h
new file mode 100644
index 0000000..ae69536
--- /dev/null
+++ b/src/mainboard/amd/db800/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/db800/mainboard.c b/src/mainboard/amd/db800/mainboard.c
index e841d07..f95ea22 100644
--- a/src/mainboard/amd/db800/mainboard.c
+++ b/src/mainboard/amd/db800/mainboard.c
@@ -19,6 +19,7 @@
#include <console/console.h>
#include <device/device.h>
+#include "chip.h"
static void init(struct device *dev)
{
diff --git a/src/mainboard/amd/dbm690t/chip.h b/src/mainboard/amd/dbm690t/chip.h
new file mode 100644
index 0000000..9ee2dc8
--- /dev/null
+++ b/src/mainboard/amd/dbm690t/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/amd/dbm690t/mainboard.c b/src/mainboard/amd/dbm690t/mainboard.c
index fbff55b..df79b34 100644
--- a/src/mainboard/amd/dbm690t/mainboard.c
+++ b/src/mainboard/amd/dbm690t/mainboard.c
@@ -26,6 +26,7 @@
#include <cpu/amd/mtrr.h>
#include <device/pci_def.h>
#include <southbridge/amd/sb600/sb600.h>
+#include "chip.h"
#define ADT7461_ADDRESS 0x4C
#define ARA_ADDRESS 0x0C /* Alert Response Address */
diff --git a/src/mainboard/amd/dinar/chip.h b/src/mainboard/amd/dinar/chip.h
new file mode 100644
index 0000000..42630fa
--- /dev/null
+++ b/src/mainboard/amd/dinar/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2012 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/dinar/mainboard.c b/src/mainboard/amd/dinar/mainboard.c
index 6301b4f..0d4015b 100644
--- a/src/mainboard/amd/dinar/mainboard.c
+++ b/src/mainboard/amd/dinar/mainboard.c
@@ -26,6 +26,7 @@
#include <cpu/amd/mtrr.h>
#include <device/pci_def.h>
#include <NbPlatform.h>
+#include "chip.h"
//#define SMBUS_IO_BASE 0x6000
diff --git a/src/mainboard/amd/inagua/chip.h b/src/mainboard/amd/inagua/chip.h
new file mode 100644
index 0000000..a252705
--- /dev/null
+++ b/src/mainboard/amd/inagua/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/inagua/mainboard.c b/src/mainboard/amd/inagua/mainboard.c
index dc83258..5291165 100644
--- a/src/mainboard/amd/inagua/mainboard.c
+++ b/src/mainboard/amd/inagua/mainboard.c
@@ -27,6 +27,7 @@
#include <device/pci_def.h>
//#include <southbridge/amd/sb800/sb800.h>
#include "SBPLATFORM.h" /* Platfrom Specific Definitions */
+#include "chip.h"
void set_pcie_reset(void);
void set_pcie_dereset(void);
diff --git a/src/mainboard/amd/mahogany/chip.h b/src/mainboard/amd/mahogany/chip.h
new file mode 100644
index 0000000..42664d0
--- /dev/null
+++ b/src/mainboard/amd/mahogany/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/amd/mahogany/mainboard.c b/src/mainboard/amd/mahogany/mainboard.c
index 43ea66f..46ce2d2 100644
--- a/src/mainboard/amd/mahogany/mainboard.c
+++ b/src/mainboard/amd/mahogany/mainboard.c
@@ -27,6 +27,7 @@
#include <device/pci_def.h>
#include "southbridge/amd/sb700/sb700.h"
#include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
void set_pcie_dereset(void);
void set_pcie_reset(void);
diff --git a/src/mainboard/amd/mahogany_fam10/chip.h b/src/mainboard/amd/mahogany_fam10/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/amd/mahogany_fam10/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/mahogany_fam10/mainboard.c b/src/mainboard/amd/mahogany_fam10/mainboard.c
index b47cdff..6245e5f 100644
--- a/src/mainboard/amd/mahogany_fam10/mainboard.c
+++ b/src/mainboard/amd/mahogany_fam10/mainboard.c
@@ -27,6 +27,7 @@
#include <device/pci_def.h>
#include "southbridge/amd/sb700/sb700.h"
#include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
void set_pcie_dereset(void);
void set_pcie_reset(void);
diff --git a/src/mainboard/amd/norwich/chip.h b/src/mainboard/amd/norwich/chip.h
new file mode 100644
index 0000000..ae69536
--- /dev/null
+++ b/src/mainboard/amd/norwich/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/norwich/mainboard.c b/src/mainboard/amd/norwich/mainboard.c
index c735abb..0814a16 100644
--- a/src/mainboard/amd/norwich/mainboard.c
+++ b/src/mainboard/amd/norwich/mainboard.c
@@ -19,6 +19,7 @@
#include <console/console.h>
#include <device/device.h>
+#include "chip.h"
static void init(struct device *dev)
{
diff --git a/src/mainboard/amd/parmer/chip.h b/src/mainboard/amd/parmer/chip.h
new file mode 100644
index 0000000..352a6ff
--- /dev/null
+++ b/src/mainboard/amd/parmer/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2012 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/parmer/mainboard.c b/src/mainboard/amd/parmer/mainboard.c
index dae70c1..bf04d30 100644
--- a/src/mainboard/amd/parmer/mainboard.c
+++ b/src/mainboard/amd/parmer/mainboard.c
@@ -28,6 +28,7 @@
#include <arch/acpi.h>
#include "BiosCallOuts.h"
#include <cpu/amd/agesa/s3_resume.h>
+#include "chip.h"
#include "agesawrapper.h"
/*************************************************
diff --git a/src/mainboard/amd/persimmon/chip.h b/src/mainboard/amd/persimmon/chip.h
new file mode 100644
index 0000000..a252705
--- /dev/null
+++ b/src/mainboard/amd/persimmon/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/persimmon/mainboard.c b/src/mainboard/amd/persimmon/mainboard.c
index aa3bc1b..86172ba 100644
--- a/src/mainboard/amd/persimmon/mainboard.c
+++ b/src/mainboard/amd/persimmon/mainboard.c
@@ -26,6 +26,7 @@
#include <device/pci_def.h>
#include <southbridge/amd/sb800/sb800.h>
#include <arch/acpi.h>
+#include "chip.h"
#include "BiosCallOuts.h"
#include <cpu/amd/agesa/s3_resume.h>
#include <cpu/amd/mtrr.h>
diff --git a/src/mainboard/amd/pistachio/chip.h b/src/mainboard/amd/pistachio/chip.h
new file mode 100644
index 0000000..05e1582
--- /dev/null
+++ b/src/mainboard/amd/pistachio/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
+
diff --git a/src/mainboard/amd/pistachio/mainboard.c b/src/mainboard/amd/pistachio/mainboard.c
index 1355c37..4cd1c94 100644
--- a/src/mainboard/amd/pistachio/mainboard.c
+++ b/src/mainboard/amd/pistachio/mainboard.c
@@ -26,6 +26,7 @@
#include <cpu/amd/mtrr.h>
#include <device/pci_def.h>
#include <southbridge/amd/sb600/sb600.h>
+#include "chip.h"
#define ADT7475_ADDRESS 0x2E
#define SMBUS_IO_BASE 0x1000
diff --git a/src/mainboard/amd/rumba/chip.h b/src/mainboard/amd/rumba/chip.h
new file mode 100644
index 0000000..2094b23
--- /dev/null
+++ b/src/mainboard/amd/rumba/chip.h
@@ -0,0 +1,5 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {
+ int nicirq;
+};
diff --git a/src/mainboard/amd/rumba/mainboard.c b/src/mainboard/amd/rumba/mainboard.c
index 42547cc..0e7bbb6 100644
--- a/src/mainboard/amd/rumba/mainboard.c
+++ b/src/mainboard/amd/rumba/mainboard.c
@@ -4,14 +4,18 @@
#include <device/pci_ids.h>
#include <device/pci_ops.h>
#include <arch/io.h>
+#include "chip.h"
-static void init(struct device *dev)
-{
+static void init(struct device *dev) {
+ struct mainboard_config *mainboard = (struct mainboard_config*)dev->chip_info;
device_t nic = NULL;
unsigned bus = 0;
unsigned devfn = PCI_DEVFN(0xd, 0);
int nicirq = 1;
+ if (mainboard->nicirq)
+ nicirq = mainboard->nicirq;
+
printk(BIOS_DEBUG, "AMD RUMBA ENTER %s\n", __func__);
if (nicirq) {
diff --git a/src/mainboard/amd/serengeti_cheetah/chip.h b/src/mainboard/amd/serengeti_cheetah/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/amd/serengeti_cheetah/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/serengeti_cheetah/mainboard.c b/src/mainboard/amd/serengeti_cheetah/mainboard.c
index a156f2e..4fb715f 100644
--- a/src/mainboard/amd/serengeti_cheetah/mainboard.c
+++ b/src/mainboard/amd/serengeti_cheetah/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("AMD Serengeti Cheetah Mainboard")
diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/chip.h b/src/mainboard/amd/serengeti_cheetah_fam10/chip.h
new file mode 100644
index 0000000..df1a3eb
--- /dev/null
+++ b/src/mainboard/amd/serengeti_cheetah_fam10/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/mainboard.c b/src/mainboard/amd/serengeti_cheetah_fam10/mainboard.c
index 9984bd6..ba1ee9c 100644
--- a/src/mainboard/amd/serengeti_cheetah_fam10/mainboard.c
+++ b/src/mainboard/amd/serengeti_cheetah_fam10/mainboard.c
@@ -23,6 +23,7 @@
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("AMD family 10 Cheetah mainboard")
diff --git a/src/mainboard/amd/south_station/chip.h b/src/mainboard/amd/south_station/chip.h
new file mode 100644
index 0000000..a252705
--- /dev/null
+++ b/src/mainboard/amd/south_station/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/south_station/mainboard.c b/src/mainboard/amd/south_station/mainboard.c
index 715b40a..3d5137c 100644
--- a/src/mainboard/amd/south_station/mainboard.c
+++ b/src/mainboard/amd/south_station/mainboard.c
@@ -26,6 +26,7 @@
#include <cpu/amd/mtrr.h>
#include <device/pci_def.h>
#include "SBPLATFORM.h" /* Platfrom Specific Definitions */
+#include "chip.h"
void set_pcie_reset(void);
diff --git a/src/mainboard/amd/tilapia_fam10/chip.h b/src/mainboard/amd/tilapia_fam10/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/amd/tilapia_fam10/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/tilapia_fam10/mainboard.c b/src/mainboard/amd/tilapia_fam10/mainboard.c
index cf3e3d3..03735f4 100644
--- a/src/mainboard/amd/tilapia_fam10/mainboard.c
+++ b/src/mainboard/amd/tilapia_fam10/mainboard.c
@@ -27,6 +27,7 @@
#include <device/pci_def.h>
#include <southbridge/amd/sb700/sb700.h>
#include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
#define ADT7461_ADDRESS 0x4C
#define ARA_ADDRESS 0x0C /* Alert Response Address */
diff --git a/src/mainboard/amd/torpedo/chip.h b/src/mainboard/amd/torpedo/chip.h
new file mode 100644
index 0000000..a252705
--- /dev/null
+++ b/src/mainboard/amd/torpedo/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/torpedo/mainboard.c b/src/mainboard/amd/torpedo/mainboard.c
index 839ec5c..29909b0 100644
--- a/src/mainboard/amd/torpedo/mainboard.c
+++ b/src/mainboard/amd/torpedo/mainboard.c
@@ -26,6 +26,7 @@
#include <cpu/amd/mtrr.h>
#include <device/pci_def.h>
//#include <southbridge/amd/sb900/sb900.h>
+#include "chip.h"
#define ONE_MB 0x100000
//#define SMBUS_IO_BASE 0x6000
diff --git a/src/mainboard/amd/union_station/chip.h b/src/mainboard/amd/union_station/chip.h
new file mode 100644
index 0000000..a252705
--- /dev/null
+++ b/src/mainboard/amd/union_station/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/amd/union_station/mainboard.c b/src/mainboard/amd/union_station/mainboard.c
index f0f610a..a08938c 100644
--- a/src/mainboard/amd/union_station/mainboard.c
+++ b/src/mainboard/amd/union_station/mainboard.c
@@ -26,6 +26,7 @@
#include <cpu/amd/mtrr.h>
#include <device/pci_def.h>
#include "SBPLATFORM.h" /* Platfrom Specific Definitions */
+#include "chip.h"
void set_pcie_reset(void);
void set_pcie_dereset(void);
diff --git a/src/mainboard/aopen/dxplplusu/chip.h b/src/mainboard/aopen/dxplplusu/chip.h
new file mode 100644
index 0000000..06f11d0
--- /dev/null
+++ b/src/mainboard/aopen/dxplplusu/chip.h
@@ -0,0 +1,4 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {
+};
diff --git a/src/mainboard/aopen/dxplplusu/mainboard.c b/src/mainboard/aopen/dxplplusu/mainboard.c
index 0688914..2d41509 100644
--- a/src/mainboard/aopen/dxplplusu/mainboard.c
+++ b/src/mainboard/aopen/dxplplusu/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("AOpen DXPL Plus-U Mainboard")
diff --git a/src/mainboard/arima/hdama/chip.h b/src/mainboard/arima/hdama/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/arima/hdama/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/arima/hdama/mainboard.c b/src/mainboard/arima/hdama/mainboard.c
index df658e2..688a01c 100644
--- a/src/mainboard/arima/hdama/mainboard.c
+++ b/src/mainboard/arima/hdama/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Arima HDAMA Mainboard")
diff --git a/src/mainboard/artecgroup/dbe61/chip.h b/src/mainboard/artecgroup/dbe61/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/artecgroup/dbe61/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/artecgroup/dbe61/mainboard.c b/src/mainboard/artecgroup/dbe61/mainboard.c
index 649f955..f49c215 100644
--- a/src/mainboard/artecgroup/dbe61/mainboard.c
+++ b/src/mainboard/artecgroup/dbe61/mainboard.c
@@ -26,6 +26,7 @@
#include <cpu/x86/msr.h>
#include <cpu/amd/lxdef.h>
#include "southbridge/amd/cs5536/cs5536.h"
+#include "chip.h"
static void init_gpio(void)
{
diff --git a/src/mainboard/asi/mb_5blgp/chip.h b/src/mainboard/asi/mb_5blgp/chip.h
new file mode 100644
index 0000000..56e17ca
--- /dev/null
+++ b/src/mainboard/asi/mb_5blgp/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asi/mb_5blgp/mainboard.c b/src/mainboard/asi/mb_5blgp/mainboard.c
index 7a466bd..22bc52d 100644
--- a/src/mainboard/asi/mb_5blgp/mainboard.c
+++ b/src/mainboard/asi/mb_5blgp/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("ASI MB-5BLGP Mainboard")
diff --git a/src/mainboard/asi/mb_5blmp/chip.h b/src/mainboard/asi/mb_5blmp/chip.h
new file mode 100644
index 0000000..982cfb3
--- /dev/null
+++ b/src/mainboard/asi/mb_5blmp/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asi/mb_5blmp/mainboard.c b/src/mainboard/asi/mb_5blmp/mainboard.c
index 9aaf14d..78366ba 100644
--- a/src/mainboard/asi/mb_5blmp/mainboard.c
+++ b/src/mainboard/asi/mb_5blmp/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("ASI/BCom MB-5BLMP Mainboard")
diff --git a/src/mainboard/asrock/939a785gmh/chip.h b/src/mainboard/asrock/939a785gmh/chip.h
new file mode 100644
index 0000000..be42783
--- /dev/null
+++ b/src/mainboard/asrock/939a785gmh/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
+
diff --git a/src/mainboard/asrock/939a785gmh/mainboard.c b/src/mainboard/asrock/939a785gmh/mainboard.c
index d3ea27e..ec050cb 100644
--- a/src/mainboard/asrock/939a785gmh/mainboard.c
+++ b/src/mainboard/asrock/939a785gmh/mainboard.c
@@ -27,6 +27,7 @@
#include <device/pci_def.h>
#include "southbridge/amd/sb700/sb700.h"
#include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
void set_pcie_dereset(void);
void set_pcie_reset(void);
diff --git a/src/mainboard/asrock/e350m1/chip.h b/src/mainboard/asrock/e350m1/chip.h
new file mode 100644
index 0000000..a252705
--- /dev/null
+++ b/src/mainboard/asrock/e350m1/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asrock/e350m1/mainboard.c b/src/mainboard/asrock/e350m1/mainboard.c
index d0151be..5859ae4 100644
--- a/src/mainboard/asrock/e350m1/mainboard.c
+++ b/src/mainboard/asrock/e350m1/mainboard.c
@@ -26,6 +26,7 @@
#include <cpu/amd/mtrr.h>
#include <device/pci_def.h>
//#include <southbridge/amd/sb800/sb800.h>
+#include "chip.h"
//#define SMBUS_IO_BASE 0x6000
diff --git a/src/mainboard/asus/a8n_e/chip.h b/src/mainboard/asus/a8n_e/chip.h
new file mode 100644
index 0000000..1b910e6
--- /dev/null
+++ b/src/mainboard/asus/a8n_e/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Philipp Degler <pdegler(a)rumms.uni-mannheim.de>
+ * (Thanks to LSRA University of Mannheim for their support)
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/a8n_e/mainboard.c b/src/mainboard/asus/a8n_e/mainboard.c
index aedca67..4bd6311 100644
--- a/src/mainboard/asus/a8n_e/mainboard.c
+++ b/src/mainboard/asus/a8n_e/mainboard.c
@@ -20,6 +20,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("ASUS A8N-E Mainboard")
diff --git a/src/mainboard/asus/a8v-e_deluxe/chip.h b/src/mainboard/asus/a8v-e_deluxe/chip.h
new file mode 100644
index 0000000..c2849ef
--- /dev/null
+++ b/src/mainboard/asus/a8v-e_deluxe/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Rudolf Marek <r.marek(a)assembler.cz>
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/a8v-e_deluxe/mainboard.c b/src/mainboard/asus/a8v-e_deluxe/mainboard.c
index cb38be2..0180a2f 100644
--- a/src/mainboard/asus/a8v-e_deluxe/mainboard.c
+++ b/src/mainboard/asus/a8v-e_deluxe/mainboard.c
@@ -21,6 +21,7 @@
#include <device/device.h>
#include <device/pci.h>
#include <device/pci_ids.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("ASUS A8V-E Deluxe Mainboard")
diff --git a/src/mainboard/asus/a8v-e_se/chip.h b/src/mainboard/asus/a8v-e_se/chip.h
new file mode 100644
index 0000000..c2849ef
--- /dev/null
+++ b/src/mainboard/asus/a8v-e_se/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Rudolf Marek <r.marek(a)assembler.cz>
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/a8v-e_se/mainboard.c b/src/mainboard/asus/a8v-e_se/mainboard.c
index c119e1c..b70f396 100644
--- a/src/mainboard/asus/a8v-e_se/mainboard.c
+++ b/src/mainboard/asus/a8v-e_se/mainboard.c
@@ -21,6 +21,7 @@
#include <device/device.h>
#include <device/pci.h>
#include <device/pci_ids.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("ASUS A8V-E SE Mainboard")
diff --git a/src/mainboard/asus/dsbf/chip.h b/src/mainboard/asus/dsbf/chip.h
new file mode 100644
index 0000000..70f9bb4
--- /dev/null
+++ b/src/mainboard/asus/dsbf/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (c) 2011 Sven Schnelle <svens(a)stackframe.org>
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/dsbf/mainboard.c b/src/mainboard/asus/dsbf/mainboard.c
index 618eca9..27a26f9 100644
--- a/src/mainboard/asus/dsbf/mainboard.c
+++ b/src/mainboard/asus/dsbf/mainboard.c
@@ -25,6 +25,7 @@
#include <boot/tables.h>
#include <delay.h>
#include <arch/coreboot_tables.h>
+#include "chip.h"
#include <device/pci_def.h>
#include <device/pci_ops.h>
#include <arch/io.h>
diff --git a/src/mainboard/asus/k8v-x/chip.h b/src/mainboard/asus/k8v-x/chip.h
new file mode 100644
index 0000000..c2849ef
--- /dev/null
+++ b/src/mainboard/asus/k8v-x/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Rudolf Marek <r.marek(a)assembler.cz>
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/k8v-x/mainboard.c b/src/mainboard/asus/k8v-x/mainboard.c
index 82d8ba0..3e294b8 100644
--- a/src/mainboard/asus/k8v-x/mainboard.c
+++ b/src/mainboard/asus/k8v-x/mainboard.c
@@ -24,6 +24,7 @@
#include <device/pci_ids.h>
#include <arch/io.h>
#include "southbridge/via/vt8237r/vt8237r.h"
+#include "chip.h"
u32 vt8237_ide_80pin_detect(struct device *dev)
{
diff --git a/src/mainboard/asus/m2n-e/chip.h b/src/mainboard/asus/m2n-e/chip.h
new file mode 100644
index 0000000..a69b9ef
--- /dev/null
+++ b/src/mainboard/asus/m2n-e/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/m2n-e/mainboard.c b/src/mainboard/asus/m2n-e/mainboard.c
index 0d7013f..aa0cc5c 100644
--- a/src/mainboard/asus/m2n-e/mainboard.c
+++ b/src/mainboard/asus/m2n-e/mainboard.c
@@ -20,6 +20,7 @@
#include <device/device.h>
#include "hda_verb.h"
+#include "chip.h"
static void verb_setup(void)
{
diff --git a/src/mainboard/asus/m2v-mx_se/chip.h b/src/mainboard/asus/m2v-mx_se/chip.h
new file mode 100644
index 0000000..c2849ef
--- /dev/null
+++ b/src/mainboard/asus/m2v-mx_se/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Rudolf Marek <r.marek(a)assembler.cz>
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/m2v-mx_se/mainboard.c b/src/mainboard/asus/m2v-mx_se/mainboard.c
index 5e3c720..c592282 100644
--- a/src/mainboard/asus/m2v-mx_se/mainboard.c
+++ b/src/mainboard/asus/m2v-mx_se/mainboard.c
@@ -22,6 +22,7 @@
#include <device/pci_ids.h>
#include <boot/tables.h>
#include <southbridge/via/k8t890/k8t890.h>
+#include "chip.h"
int add_mainboard_resources(struct lb_memory *mem)
{
diff --git a/src/mainboard/asus/m2v/chip.h b/src/mainboard/asus/m2v/chip.h
new file mode 100644
index 0000000..c2849ef
--- /dev/null
+++ b/src/mainboard/asus/m2v/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Rudolf Marek <r.marek(a)assembler.cz>
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/m2v/mainboard.c b/src/mainboard/asus/m2v/mainboard.c
index 2a44851..2f20fe0 100644
--- a/src/mainboard/asus/m2v/mainboard.c
+++ b/src/mainboard/asus/m2v/mainboard.c
@@ -23,6 +23,7 @@
#include <device/pci_ids.h>
#include <console/console.h>
#include "southbridge/via/vt8237r/vt8237r.h"
+#include "chip.h"
u32 vt8237_ide_80pin_detect(struct device *dev)
{
diff --git a/src/mainboard/asus/m4a78-em/chip.h b/src/mainboard/asus/m4a78-em/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/asus/m4a78-em/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/m4a78-em/mainboard.c b/src/mainboard/asus/m4a78-em/mainboard.c
index eea8c0d..6b87177 100644
--- a/src/mainboard/asus/m4a78-em/mainboard.c
+++ b/src/mainboard/asus/m4a78-em/mainboard.c
@@ -26,6 +26,7 @@
#include <device/pci_def.h>
#include "southbridge/amd/sb700/sb700.h"
#include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
void set_pcie_dereset(void);
diff --git a/src/mainboard/asus/m4a785-m/chip.h b/src/mainboard/asus/m4a785-m/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/asus/m4a785-m/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/m4a785-m/mainboard.c b/src/mainboard/asus/m4a785-m/mainboard.c
index 45af025..1bfeda5 100644
--- a/src/mainboard/asus/m4a785-m/mainboard.c
+++ b/src/mainboard/asus/m4a785-m/mainboard.c
@@ -26,6 +26,7 @@
#include <device/pci_def.h>
#include "southbridge/amd/sb700/sb700.h"
#include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
#define ADT7461_ADDRESS 0x4C
#define ARA_ADDRESS 0x0C /* Alert Response Address */
diff --git a/src/mainboard/asus/m4a785t-m/chip.h b/src/mainboard/asus/m4a785t-m/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/asus/m4a785t-m/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/m5a88-v/chip.h b/src/mainboard/asus/m5a88-v/chip.h
new file mode 100644
index 0000000..d5b991d
--- /dev/null
+++ b/src/mainboard/asus/m5a88-v/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 QingPei Wang <wangqingpei(a)gmail.com>
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/m5a88-v/mainboard.c b/src/mainboard/asus/m5a88-v/mainboard.c
index 866e8c2..2042f9b 100644
--- a/src/mainboard/asus/m5a88-v/mainboard.c
+++ b/src/mainboard/asus/m5a88-v/mainboard.c
@@ -26,6 +26,7 @@
#include <cpu/amd/mtrr.h>
#include <device/pci_def.h>
#include "SBPLATFORM.h"
+#include "chip.h"
u8 is_dev3_present(void);
diff --git a/src/mainboard/asus/mew-am/chip.h b/src/mainboard/asus/mew-am/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/asus/mew-am/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/mew-am/mainboard.c b/src/mainboard/asus/mew-am/mainboard.c
index 8887218..e5008b9 100644
--- a/src/mainboard/asus/mew-am/mainboard.c
+++ b/src/mainboard/asus/mew-am/mainboard.c
@@ -20,6 +20,7 @@
#include <device/device.h>
#include <boot/tables.h>
+#include "chip.h"
int add_mainboard_resources(struct lb_memory *mem)
{
diff --git a/src/mainboard/asus/mew-vm/chip.h b/src/mainboard/asus/mew-vm/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/asus/mew-vm/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/asus/mew-vm/mainboard.c b/src/mainboard/asus/mew-vm/mainboard.c
index e278565..831be01 100644
--- a/src/mainboard/asus/mew-vm/mainboard.c
+++ b/src/mainboard/asus/mew-vm/mainboard.c
@@ -1,5 +1,6 @@
#include <device/device.h>
#include <boot/tables.h>
+#include "chip.h"
int add_mainboard_resources(struct lb_memory *mem)
{
diff --git a/src/mainboard/asus/p2b-d/chip.h b/src/mainboard/asus/p2b-d/chip.h
new file mode 100644
index 0000000..1c3876d
--- /dev/null
+++ b/src/mainboard/asus/p2b-d/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2009 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/p2b-d/mainboard.c b/src/mainboard/asus/p2b-d/mainboard.c
index 3fe9dc4..58cce0a 100644
--- a/src/mainboard/asus/p2b-d/mainboard.c
+++ b/src/mainboard/asus/p2b-d/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("ASUS P2B-D Mainboard")
diff --git a/src/mainboard/asus/p2b-ds/chip.h b/src/mainboard/asus/p2b-ds/chip.h
new file mode 100644
index 0000000..56e17ca
--- /dev/null
+++ b/src/mainboard/asus/p2b-ds/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/p2b-ds/mainboard.c b/src/mainboard/asus/p2b-ds/mainboard.c
index c874137..910b130 100644
--- a/src/mainboard/asus/p2b-ds/mainboard.c
+++ b/src/mainboard/asus/p2b-ds/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("ASUS P2B-DS Mainboard")
diff --git a/src/mainboard/asus/p2b-f/chip.h b/src/mainboard/asus/p2b-f/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/asus/p2b-f/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/p2b-f/mainboard.c b/src/mainboard/asus/p2b-f/mainboard.c
index e5d2e14..e2b022a 100644
--- a/src/mainboard/asus/p2b-f/mainboard.c
+++ b/src/mainboard/asus/p2b-f/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("ASUS P2B-F Mainboard")
diff --git a/src/mainboard/asus/p2b-ls/chip.h b/src/mainboard/asus/p2b-ls/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/asus/p2b-ls/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/p2b-ls/mainboard.c b/src/mainboard/asus/p2b-ls/mainboard.c
index 9f250f4..fec75e3 100644
--- a/src/mainboard/asus/p2b-ls/mainboard.c
+++ b/src/mainboard/asus/p2b-ls/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("ASUS P2B-LS Mainboard")
diff --git a/src/mainboard/asus/p2b/chip.h b/src/mainboard/asus/p2b/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/asus/p2b/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/p2b/mainboard.c b/src/mainboard/asus/p2b/mainboard.c
index 527dc7a..21e5a4e 100644
--- a/src/mainboard/asus/p2b/mainboard.c
+++ b/src/mainboard/asus/p2b/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("ASUS P2B Mainboard")
diff --git a/src/mainboard/asus/p3b-f/chip.h b/src/mainboard/asus/p3b-f/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/asus/p3b-f/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/asus/p3b-f/mainboard.c b/src/mainboard/asus/p3b-f/mainboard.c
index 9b41c79..c234fc2 100644
--- a/src/mainboard/asus/p3b-f/mainboard.c
+++ b/src/mainboard/asus/p3b-f/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("ASUS P3B-F Mainboard")
diff --git a/src/mainboard/avalue/eax-785e/chip.h b/src/mainboard/avalue/eax-785e/chip.h
new file mode 100644
index 0000000..5957589
--- /dev/null
+++ b/src/mainboard/avalue/eax-785e/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/avalue/eax-785e/mainboard.c b/src/mainboard/avalue/eax-785e/mainboard.c
index 5e50efa..0aa20e1 100644
--- a/src/mainboard/avalue/eax-785e/mainboard.c
+++ b/src/mainboard/avalue/eax-785e/mainboard.c
@@ -26,6 +26,7 @@
#include <cpu/amd/mtrr.h>
#include <device/pci_def.h>
#include "SBPLATFORM.h"
+#include "chip.h"
u8 is_dev3_present(void);
@@ -76,6 +77,10 @@ u8 is_dev3_present(void)
*************************************************/
static void eax_785e(device_t dev)
{
+ /* Leave it for furture use. */
+ /* struct mainboard_config *mainboard =
+ (struct mainboard_config *)dev->chip_info; */
+
printk(BIOS_INFO, "Mainboard " CONFIG_MAINBOARD_PART_NUMBER " Enable.\n");
setup_uma_memory();
diff --git a/src/mainboard/axus/tc320/chip.h b/src/mainboard/axus/tc320/chip.h
new file mode 100644
index 0000000..6e6f190
--- /dev/null
+++ b/src/mainboard/axus/tc320/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Juergen Beisert <juergen(a)kreuzholzen.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/axus/tc320/mainboard.c b/src/mainboard/axus/tc320/mainboard.c
index af52755..89c3dca 100644
--- a/src/mainboard/axus/tc320/mainboard.c
+++ b/src/mainboard/axus/tc320/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("AXUS TC320 Mainboard")
diff --git a/src/mainboard/azza/pt-6ibd/chip.h b/src/mainboard/azza/pt-6ibd/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/azza/pt-6ibd/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/azza/pt-6ibd/mainboard.c b/src/mainboard/azza/pt-6ibd/mainboard.c
index 483f328..45efc16 100644
--- a/src/mainboard/azza/pt-6ibd/mainboard.c
+++ b/src/mainboard/azza/pt-6ibd/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("AZZA PT-6IBD Mainboard")
diff --git a/src/mainboard/bachmann/ot200/chip.h b/src/mainboard/bachmann/ot200/chip.h
new file mode 100644
index 0000000..6acb1ff
--- /dev/null
+++ b/src/mainboard/bachmann/ot200/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2012 Bachmann electronic 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/bcom/winnet100/chip.h b/src/mainboard/bcom/winnet100/chip.h
new file mode 100644
index 0000000..4bce558
--- /dev/null
+++ b/src/mainboard/bcom/winnet100/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Juergen Beisert <juergen(a)kreuzholzen.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/bcom/winnet100/mainboard.c b/src/mainboard/bcom/winnet100/mainboard.c
index 13089df..279701d 100644
--- a/src/mainboard/bcom/winnet100/mainboard.c
+++ b/src/mainboard/bcom/winnet100/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("BCOM WinNET100 Mainboard")
diff --git a/src/mainboard/bcom/winnetp680/chip.h b/src/mainboard/bcom/winnetp680/chip.h
new file mode 100644
index 0000000..0a2badb
--- /dev/null
+++ b/src/mainboard/bcom/winnetp680/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 VIA Technologies, Inc.
+ * (Written by Aaron Lwe <aaron.lwe(a)gmail.com> for VIA)
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/bcom/winnetp680/mainboard.c b/src/mainboard/bcom/winnetp680/mainboard.c
index 26fc5e3..f467e1b 100644
--- a/src/mainboard/bcom/winnetp680/mainboard.c
+++ b/src/mainboard/bcom/winnetp680/mainboard.c
@@ -20,6 +20,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("BCOM WinNET P680 Mainboard")
diff --git a/src/mainboard/bifferos/bifferboard/chip.h b/src/mainboard/bifferos/bifferboard/chip.h
new file mode 100644
index 0000000..be42783
--- /dev/null
+++ b/src/mainboard/bifferos/bifferboard/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
+
diff --git a/src/mainboard/bifferos/bifferboard/mainboard.c b/src/mainboard/bifferos/bifferboard/mainboard.c
index f3387a3..5840f95 100644
--- a/src/mainboard/bifferos/bifferboard/mainboard.c
+++ b/src/mainboard/bifferos/bifferboard/mainboard.c
@@ -18,6 +18,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Bifferos Bifferboard")
diff --git a/src/mainboard/biostar/m6tba/chip.h b/src/mainboard/biostar/m6tba/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/biostar/m6tba/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/biostar/m6tba/mainboard.c b/src/mainboard/biostar/m6tba/mainboard.c
index 6795284..fb6896a 100644
--- a/src/mainboard/biostar/m6tba/mainboard.c
+++ b/src/mainboard/biostar/m6tba/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Biostar M6TBA Mainboard")
diff --git a/src/mainboard/broadcom/blast/chip.h b/src/mainboard/broadcom/blast/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/broadcom/blast/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/broadcom/blast/mainboard.c b/src/mainboard/broadcom/blast/mainboard.c
index c556bd5..5f4b525 100644
--- a/src/mainboard/broadcom/blast/mainboard.c
+++ b/src/mainboard/broadcom/blast/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Broadcom Blast Mainboard")
diff --git a/src/mainboard/compaq/deskpro_en_sff_p600/chip.h b/src/mainboard/compaq/deskpro_en_sff_p600/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/compaq/deskpro_en_sff_p600/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/compaq/deskpro_en_sff_p600/mainboard.c b/src/mainboard/compaq/deskpro_en_sff_p600/mainboard.c
index d4abb63..75d7876 100644
--- a/src/mainboard/compaq/deskpro_en_sff_p600/mainboard.c
+++ b/src/mainboard/compaq/deskpro_en_sff_p600/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Compaq Deskpro EN SFF P600 Mainboard")
diff --git a/src/mainboard/digitallogic/adl855pc/chip.h b/src/mainboard/digitallogic/adl855pc/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/digitallogic/adl855pc/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/digitallogic/adl855pc/mainboard.c b/src/mainboard/digitallogic/adl855pc/mainboard.c
index 41c34e4..c6ab63e 100644
--- a/src/mainboard/digitallogic/adl855pc/mainboard.c
+++ b/src/mainboard/digitallogic/adl855pc/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("DIGITAL-LOGIC ADL855PC Mainboard")
diff --git a/src/mainboard/digitallogic/msm586seg/chip.h b/src/mainboard/digitallogic/msm586seg/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/digitallogic/msm586seg/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/digitallogic/msm586seg/mainboard.c b/src/mainboard/digitallogic/msm586seg/mainboard.c
index 8f2d8c6..2361059 100644
--- a/src/mainboard/digitallogic/msm586seg/mainboard.c
+++ b/src/mainboard/digitallogic/msm586seg/mainboard.c
@@ -4,6 +4,7 @@
#include <device/pci_ids.h>
#include <device/pci_ops.h>
#include <cpu/amd/sc520.h>
+#include "chip.h"
static void irqdump(void)
diff --git a/src/mainboard/digitallogic/msm800sev/chip.h b/src/mainboard/digitallogic/msm800sev/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/digitallogic/msm800sev/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/digitallogic/msm800sev/mainboard.c b/src/mainboard/digitallogic/msm800sev/mainboard.c
index 3ade3d6..f4d0e0e 100644
--- a/src/mainboard/digitallogic/msm800sev/mainboard.c
+++ b/src/mainboard/digitallogic/msm800sev/mainboard.c
@@ -19,6 +19,7 @@
#include <console/console.h>
#include <device/device.h>
+#include "chip.h"
static void init(struct device *dev)
{
diff --git a/src/mainboard/eaglelion/5bcm/chip.h b/src/mainboard/eaglelion/5bcm/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/eaglelion/5bcm/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/eaglelion/5bcm/mainboard.c b/src/mainboard/eaglelion/5bcm/mainboard.c
index e1c499e..c0b3ae0 100644
--- a/src/mainboard/eaglelion/5bcm/mainboard.c
+++ b/src/mainboard/eaglelion/5bcm/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Eaglelion 5BCM Mainboard")
diff --git a/src/mainboard/ecs/p6iwp-fe/chip.h b/src/mainboard/ecs/p6iwp-fe/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/ecs/p6iwp-fe/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/ecs/p6iwp-fe/mainboard.c b/src/mainboard/ecs/p6iwp-fe/mainboard.c
index 9031ac7..aec1250 100644
--- a/src/mainboard/ecs/p6iwp-fe/mainboard.c
+++ b/src/mainboard/ecs/p6iwp-fe/mainboard.c
@@ -20,6 +20,7 @@
#include <device/device.h>
#include <boot/tables.h>
+#include "chip.h"
int add_mainboard_resources(struct lb_memory *mem)
{
diff --git a/src/mainboard/emulation/qemu-x86/mainboard.c b/src/mainboard/emulation/qemu-x86/mainboard.c
index f8d0da7..e4c9785 100644
--- a/src/mainboard/emulation/qemu-x86/mainboard.c
+++ b/src/mainboard/emulation/qemu-x86/mainboard.c
@@ -5,6 +5,7 @@
#include <device/pci_ops.h>
#include <pc80/keyboard.h>
#include <arch/io.h>
+#include "chip.h"
/* not sure how these are routed in qemu */
static const unsigned char enetIrqs[4] = { 11, 0, 0, 0 };
diff --git a/src/mainboard/getac/p470/chip.h b/src/mainboard/getac/p470/chip.h
new file mode 100644
index 0000000..b75c381
--- /dev/null
+++ b/src/mainboard/getac/p470/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2009 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/getac/p470/mainboard.c b/src/mainboard/getac/p470/mainboard.c
index 83b4718..b7a248d 100644
--- a/src/mainboard/getac/p470/mainboard.c
+++ b/src/mainboard/getac/p470/mainboard.c
@@ -25,6 +25,7 @@
#include <arch/io.h>
#include <boot/tables.h>
#include <delay.h>
+#include "chip.h"
#include "hda_verb.h"
#include "ec_oem.c"
diff --git a/src/mainboard/gigabyte/ga-6bxc/chip.h b/src/mainboard/gigabyte/ga-6bxc/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/gigabyte/ga-6bxc/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/gigabyte/ga-6bxc/mainboard.c b/src/mainboard/gigabyte/ga-6bxc/mainboard.c
index d43a577..01411f3 100644
--- a/src/mainboard/gigabyte/ga-6bxc/mainboard.c
+++ b/src/mainboard/gigabyte/ga-6bxc/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("GIGABYTE GA-6BXC Mainboard")
diff --git a/src/mainboard/gigabyte/ga-6bxe/chip.h b/src/mainboard/gigabyte/ga-6bxe/chip.h
new file mode 100644
index 0000000..8e3af56
--- /dev/null
+++ b/src/mainboard/gigabyte/ga-6bxe/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Anders Jenbo <anders(a)jenbo.dk>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/gigabyte/ga-6bxe/mainboard.c b/src/mainboard/gigabyte/ga-6bxe/mainboard.c
index 281d841..2d04794 100644
--- a/src/mainboard/gigabyte/ga-6bxe/mainboard.c
+++ b/src/mainboard/gigabyte/ga-6bxe/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("GIGABYTE GA-6BXE Mainboard")
diff --git a/src/mainboard/gigabyte/ga_2761gxdk/chip.h b/src/mainboard/gigabyte/ga_2761gxdk/chip.h
new file mode 100644
index 0000000..3c303ee
--- /dev/null
+++ b/src/mainboard/gigabyte/ga_2761gxdk/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Silicon Integrated Systems Corp. (SiS)
+ * Written by Morgan Tsai <my_tsai(a)sis.com> for SiS.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/gigabyte/ga_2761gxdk/mainboard.c b/src/mainboard/gigabyte/ga_2761gxdk/mainboard.c
index e8b8969..e365575 100644
--- a/src/mainboard/gigabyte/ga_2761gxdk/mainboard.c
+++ b/src/mainboard/gigabyte/ga_2761gxdk/mainboard.c
@@ -24,6 +24,7 @@
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("GIGABYTE GA-2761GXDK Mainboard")
diff --git a/src/mainboard/gigabyte/m57sli/chip.h b/src/mainboard/gigabyte/m57sli/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/gigabyte/m57sli/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu(a)amd.com> for AMD.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/gigabyte/m57sli/mainboard.c b/src/mainboard/gigabyte/m57sli/mainboard.c
index dffa769..b198fb6 100644
--- a/src/mainboard/gigabyte/m57sli/mainboard.c
+++ b/src/mainboard/gigabyte/m57sli/mainboard.c
@@ -25,6 +25,7 @@
#include <device/pci_ids.h>
#include <device/pci_ops.h>
// #include "hda_verb.h"
+#include "chip.h"
static void verb_setup(void)
{
diff --git a/src/mainboard/gigabyte/ma785gm/chip.h b/src/mainboard/gigabyte/ma785gm/chip.h
new file mode 100644
index 0000000..70102aa
--- /dev/null
+++ b/src/mainboard/gigabyte/ma785gm/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Wang Qing Pei <wangqingpei(a)gmail.com>
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/gigabyte/ma785gm/mainboard.c b/src/mainboard/gigabyte/ma785gm/mainboard.c
index 680bb2e..6303778 100644
--- a/src/mainboard/gigabyte/ma785gm/mainboard.c
+++ b/src/mainboard/gigabyte/ma785gm/mainboard.c
@@ -27,6 +27,7 @@
#include <device/pci_def.h>
#include "southbridge/amd/sb700/sb700.h"
#include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
void set_pcie_dereset(void);
void set_pcie_reset(void);
diff --git a/src/mainboard/gigabyte/ma785gmt/chip.h b/src/mainboard/gigabyte/ma785gmt/chip.h
new file mode 100644
index 0000000..70102aa
--- /dev/null
+++ b/src/mainboard/gigabyte/ma785gmt/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Wang Qing Pei <wangqingpei(a)gmail.com>
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/gigabyte/ma785gmt/mainboard.c b/src/mainboard/gigabyte/ma785gmt/mainboard.c
index b7ecf9f..fdfe38b 100644
--- a/src/mainboard/gigabyte/ma785gmt/mainboard.c
+++ b/src/mainboard/gigabyte/ma785gmt/mainboard.c
@@ -27,6 +27,7 @@
#include <device/pci_def.h>
#include "southbridge/amd/sb700/sb700.h"
#include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
#define ADT7461_ADDRESS 0x4C
#define ARA_ADDRESS 0x0C /* Alert Response Address */
diff --git a/src/mainboard/gigabyte/ma78gm/chip.h b/src/mainboard/gigabyte/ma78gm/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/gigabyte/ma78gm/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/gigabyte/ma78gm/mainboard.c b/src/mainboard/gigabyte/ma78gm/mainboard.c
index 6756690..6ab63ac 100644
--- a/src/mainboard/gigabyte/ma78gm/mainboard.c
+++ b/src/mainboard/gigabyte/ma78gm/mainboard.c
@@ -28,6 +28,7 @@
#include <device/pci_def.h>
#include "southbridge/amd/sb700/sb700.h"
#include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
void set_pcie_dereset(void);
void set_pcie_reset(void);
diff --git a/src/mainboard/hp/dl145_g1/chip.h b/src/mainboard/hp/dl145_g1/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/hp/dl145_g1/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/hp/dl145_g1/mainboard.c b/src/mainboard/hp/dl145_g1/mainboard.c
index fde9d22..d68e720 100644
--- a/src/mainboard/hp/dl145_g1/mainboard.c
+++ b/src/mainboard/hp/dl145_g1/mainboard.c
@@ -22,6 +22,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("HP ProLiant DL145 G1 Mainboard")
diff --git a/src/mainboard/hp/dl145_g3/chip.h b/src/mainboard/hp/dl145_g3/chip.h
new file mode 100644
index 0000000..04039f1
--- /dev/null
+++ b/src/mainboard/hp/dl145_g3/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 University of Mannheim
+ * Written by Philipp Degler <pdegler(a)rumms.uni-mannheim.de> for University of Mannheim.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/hp/dl145_g3/mainboard.c b/src/mainboard/hp/dl145_g3/mainboard.c
index 81f074e..7799c16 100644
--- a/src/mainboard/hp/dl145_g3/mainboard.c
+++ b/src/mainboard/hp/dl145_g3/mainboard.c
@@ -27,6 +27,7 @@
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("HP ProLiant DL145 G3 Mainboard")
diff --git a/src/mainboard/hp/dl165_g6_fam10/chip.h b/src/mainboard/hp/dl165_g6_fam10/chip.h
new file mode 100644
index 0000000..6c54f71
--- /dev/null
+++ b/src/mainboard/hp/dl165_g6_fam10/chip.h
@@ -0,0 +1,26 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 University of Mannheim
+ * Written by Philipp Degler <pdegler(a)rumms.uni-mannheim.de> for University of Mannheim.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {
+};
+
diff --git a/src/mainboard/hp/dl165_g6_fam10/mainboard.c b/src/mainboard/hp/dl165_g6_fam10/mainboard.c
index 97f2fb7..d84ba47 100644
--- a/src/mainboard/hp/dl165_g6_fam10/mainboard.c
+++ b/src/mainboard/hp/dl165_g6_fam10/mainboard.c
@@ -27,6 +27,7 @@
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("HP ProLiant DL165 G6 Mainboard (Fam10h)")
diff --git a/src/mainboard/hp/e_vectra_p2706t/chip.h b/src/mainboard/hp/e_vectra_p2706t/chip.h
new file mode 100644
index 0000000..f354ee8
--- /dev/null
+++ b/src/mainboard/hp/e_vectra_p2706t/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2009 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/hp/e_vectra_p2706t/mainboard.c b/src/mainboard/hp/e_vectra_p2706t/mainboard.c
index 0f9b75e..74339e9 100644
--- a/src/mainboard/hp/e_vectra_p2706t/mainboard.c
+++ b/src/mainboard/hp/e_vectra_p2706t/mainboard.c
@@ -20,6 +20,7 @@
#include <device/device.h>
#include <boot/tables.h>
+#include "chip.h"
int add_mainboard_resources(struct lb_memory *mem)
{
diff --git a/src/mainboard/ibase/mb899/chip.h b/src/mainboard/ibase/mb899/chip.h
new file mode 100644
index 0000000..831a973
--- /dev/null
+++ b/src/mainboard/ibase/mb899/chip.h
@@ -0,0 +1,21 @@
+/*
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/ibase/mb899/mainboard.c b/src/mainboard/ibase/mb899/mainboard.c
index 4e3d606..5989685 100644
--- a/src/mainboard/ibase/mb899/mainboard.c
+++ b/src/mainboard/ibase/mb899/mainboard.c
@@ -27,6 +27,7 @@
#include <pc80/mc146818rtc.h>
#include <arch/io.h>
#include <arch/coreboot_tables.h>
+#include "chip.h"
#if CONFIG_PCI_OPTION_ROM_RUN_YABEL
static int int15_handler(void)
diff --git a/src/mainboard/ibm/e325/chip.h b/src/mainboard/ibm/e325/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/ibm/e325/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/ibm/e325/mainboard.c b/src/mainboard/ibm/e325/mainboard.c
index 136ffaf..49a8c41 100644
--- a/src/mainboard/ibm/e325/mainboard.c
+++ b/src/mainboard/ibm/e325/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("IBM eServer 325 Mainboard")
diff --git a/src/mainboard/ibm/e326/chip.h b/src/mainboard/ibm/e326/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/ibm/e326/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/ibm/e326/mainboard.c b/src/mainboard/ibm/e326/mainboard.c
index bd5ebc5..70b59a9 100644
--- a/src/mainboard/ibm/e326/mainboard.c
+++ b/src/mainboard/ibm/e326/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("IBM eServer 326 Mainboard")
diff --git a/src/mainboard/iei/juki-511p/chip.h b/src/mainboard/iei/juki-511p/chip.h
new file mode 100644
index 0000000..f5f5b7a
--- /dev/null
+++ b/src/mainboard/iei/juki-511p/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Nikolay Petukhov <nikolay.petukhov(a)gmail.com>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/iei/juki-511p/mainboard.c b/src/mainboard/iei/juki-511p/mainboard.c
index e5714cf..e44a07c 100644
--- a/src/mainboard/iei/juki-511p/mainboard.c
+++ b/src/mainboard/iei/juki-511p/mainboard.c
@@ -24,6 +24,7 @@
#include <device/pci_ids.h>
#include <device/pci_ops.h>
#include <arch/io.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("IEI JUKI-511P Mainboard")
diff --git a/src/mainboard/iei/kino-780am2-fam10/chip.h b/src/mainboard/iei/kino-780am2-fam10/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/iei/kino-780am2-fam10/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/iei/kino-780am2-fam10/mainboard.c b/src/mainboard/iei/kino-780am2-fam10/mainboard.c
index e9ef596..b18e5a6 100644
--- a/src/mainboard/iei/kino-780am2-fam10/mainboard.c
+++ b/src/mainboard/iei/kino-780am2-fam10/mainboard.c
@@ -27,6 +27,7 @@
#include <device/pci_def.h>
#include "southbridge/amd/sb700/sb700.h"
#include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
void set_pcie_dereset(void);
void set_pcie_reset(void);
diff --git a/src/mainboard/iei/nova4899r/chip.h b/src/mainboard/iei/nova4899r/chip.h
new file mode 100644
index 0000000..271b02c
--- /dev/null
+++ b/src/mainboard/iei/nova4899r/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Luis Correia <luis.f.correia(a)gmail.com>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/iei/nova4899r/mainboard.c b/src/mainboard/iei/nova4899r/mainboard.c
index 85c6521..7ca0a14 100644
--- a/src/mainboard/iei/nova4899r/mainboard.c
+++ b/src/mainboard/iei/nova4899r/mainboard.c
@@ -24,6 +24,7 @@
#include <device/pci_ids.h>
#include <device/pci_ops.h>
#include <arch/io.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("IEI NOVA-4899R Mainboard")
diff --git a/src/mainboard/iei/pcisa-lx-800-r10/chip.h b/src/mainboard/iei/pcisa-lx-800-r10/chip.h
new file mode 100644
index 0000000..f5f5b7a
--- /dev/null
+++ b/src/mainboard/iei/pcisa-lx-800-r10/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Nikolay Petukhov <nikolay.petukhov(a)gmail.com>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/iei/pm-lx-800-r11/chip.h b/src/mainboard/iei/pm-lx-800-r11/chip.h
new file mode 100644
index 0000000..d69f9b6
--- /dev/null
+++ b/src/mainboard/iei/pm-lx-800-r11/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2012 Ricardo Martins <rasmartins(a)gmail.com>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/intel/d810e2cb/chip.h b/src/mainboard/intel/d810e2cb/chip.h
new file mode 100644
index 0000000..1f9a793
--- /dev/null
+++ b/src/mainboard/intel/d810e2cb/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Joseph Smith <joe(a)settoplinux.org>
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/intel/d810e2cb/mainboard.c b/src/mainboard/intel/d810e2cb/mainboard.c
index 7589d6e..c55a680 100644
--- a/src/mainboard/intel/d810e2cb/mainboard.c
+++ b/src/mainboard/intel/d810e2cb/mainboard.c
@@ -19,6 +19,7 @@
#include <device/device.h>
#include <boot/tables.h>
+#include "chip.h"
int add_mainboard_resources(struct lb_memory *mem)
{
diff --git a/src/mainboard/intel/d945gclf/chip.h b/src/mainboard/intel/d945gclf/chip.h
new file mode 100644
index 0000000..491eebd
--- /dev/null
+++ b/src/mainboard/intel/d945gclf/chip.h
@@ -0,0 +1,21 @@
+/*
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/intel/d945gclf/mainboard.c b/src/mainboard/intel/d945gclf/mainboard.c
index ca920bc..ff08b8a 100644
--- a/src/mainboard/intel/d945gclf/mainboard.c
+++ b/src/mainboard/intel/d945gclf/mainboard.c
@@ -21,6 +21,7 @@
#include <console/console.h>
#include <boot/tables.h>
#include <arch/coreboot_tables.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Intel D945GCLF Mainboard")
diff --git a/src/mainboard/intel/eagleheights/chip.h b/src/mainboard/intel/eagleheights/chip.h
new file mode 100644
index 0000000..3ae8657
--- /dev/null
+++ b/src/mainboard/intel/eagleheights/chip.h
@@ -0,0 +1,22 @@
+/*
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/intel/eagleheights/mainboard.c b/src/mainboard/intel/eagleheights/mainboard.c
index d6bc10f..7974dbc 100644
--- a/src/mainboard/intel/eagleheights/mainboard.c
+++ b/src/mainboard/intel/eagleheights/mainboard.c
@@ -23,6 +23,7 @@
#include <device/device.h>
#include <boot/tables.h>
#include <arch/coreboot_tables.h>
+#include "chip.h"
int add_mainboard_resources(struct lb_memory *mem)
{
diff --git a/src/mainboard/intel/emeraldlake2/chip.h b/src/mainboard/intel/emeraldlake2/chip.h
new file mode 100644
index 0000000..fbe2477
--- /dev/null
+++ b/src/mainboard/intel/emeraldlake2/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2012 The Chromium OS Authors. All rights reserved.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/intel/emeraldlake2/mainboard.c b/src/mainboard/intel/emeraldlake2/mainboard.c
index 5717edf..0bf33fc 100644
--- a/src/mainboard/intel/emeraldlake2/mainboard.c
+++ b/src/mainboard/intel/emeraldlake2/mainboard.c
@@ -34,6 +34,7 @@
#include <arch/interrupt.h>
#include <arch/coreboot_tables.h>
#include "hda_verb.h"
+#include "chip.h"
#include <southbridge/intel/bd82x6x/pch.h>
void mainboard_suspend_resume(void)
diff --git a/src/mainboard/intel/jarrell/chip.h b/src/mainboard/intel/jarrell/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/intel/jarrell/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/intel/jarrell/mainboard.c b/src/mainboard/intel/jarrell/mainboard.c
index f66431d..ba2bfc5 100644
--- a/src/mainboard/intel/jarrell/mainboard.c
+++ b/src/mainboard/intel/jarrell/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Intel Jarell Mainboard")
diff --git a/src/mainboard/intel/mtarvon/chip.h b/src/mainboard/intel/mtarvon/chip.h
new file mode 100644
index 0000000..9c9114d
--- /dev/null
+++ b/src/mainboard/intel/mtarvon/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Arastra, Inc.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/intel/mtarvon/mainboard.c b/src/mainboard/intel/mtarvon/mainboard.c
index b69df9b..26111f5 100644
--- a/src/mainboard/intel/mtarvon/mainboard.c
+++ b/src/mainboard/intel/mtarvon/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Intel Mt. Arvon Mainboard")
diff --git a/src/mainboard/intel/truxton/chip.h b/src/mainboard/intel/truxton/chip.h
new file mode 100644
index 0000000..9c9114d
--- /dev/null
+++ b/src/mainboard/intel/truxton/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Arastra, Inc.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/intel/truxton/mainboard.c b/src/mainboard/intel/truxton/mainboard.c
index 754ba0d..78a16a9 100644
--- a/src/mainboard/intel/truxton/mainboard.c
+++ b/src/mainboard/intel/truxton/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Intel Truxton Mainboard")
diff --git a/src/mainboard/intel/xe7501devkit/chip.h b/src/mainboard/intel/xe7501devkit/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/intel/xe7501devkit/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/intel/xe7501devkit/mainboard.c b/src/mainboard/intel/xe7501devkit/mainboard.c
index c605624..3b757d6 100644
--- a/src/mainboard/intel/xe7501devkit/mainboard.c
+++ b/src/mainboard/intel/xe7501devkit/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Intel Xeon E7501 DevKit Mainboard")
diff --git a/src/mainboard/iwave/iWRainbowG6/chip.h b/src/mainboard/iwave/iWRainbowG6/chip.h
new file mode 100644
index 0000000..831a973
--- /dev/null
+++ b/src/mainboard/iwave/iWRainbowG6/chip.h
@@ -0,0 +1,21 @@
+/*
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/iwave/iWRainbowG6/mainboard.c b/src/mainboard/iwave/iWRainbowG6/mainboard.c
index f3fc20f..7d0c61d 100644
--- a/src/mainboard/iwave/iWRainbowG6/mainboard.c
+++ b/src/mainboard/iwave/iWRainbowG6/mainboard.c
@@ -21,6 +21,7 @@
#include <device/device.h>
#include <console/console.h>
#include <boot/tables.h>
+#include "chip.h"
#include "hda_verb.h"
static void verb_setup(void)
diff --git a/src/mainboard/iwill/dk8_htx/chip.h b/src/mainboard/iwill/dk8_htx/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/iwill/dk8_htx/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/iwill/dk8_htx/mainboard.c b/src/mainboard/iwill/dk8_htx/mainboard.c
index 251852f..cbbd3f2 100644
--- a/src/mainboard/iwill/dk8_htx/mainboard.c
+++ b/src/mainboard/iwill/dk8_htx/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("IWILL DK8-HTX Mainboard")
diff --git a/src/mainboard/iwill/dk8s2/chip.h b/src/mainboard/iwill/dk8s2/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/iwill/dk8s2/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/iwill/dk8s2/mainboard.c b/src/mainboard/iwill/dk8s2/mainboard.c
index 18ab152..7559da6 100644
--- a/src/mainboard/iwill/dk8s2/mainboard.c
+++ b/src/mainboard/iwill/dk8s2/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("IWILL DK8S2 Mainboard")
diff --git a/src/mainboard/iwill/dk8x/chip.h b/src/mainboard/iwill/dk8x/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/iwill/dk8x/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/iwill/dk8x/mainboard.c b/src/mainboard/iwill/dk8x/mainboard.c
index 3e062de..a936f40 100644
--- a/src/mainboard/iwill/dk8x/mainboard.c
+++ b/src/mainboard/iwill/dk8x/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("IWILL DK8X Mainboard")
diff --git a/src/mainboard/jetway/j7f24/chip.h b/src/mainboard/jetway/j7f24/chip.h
new file mode 100644
index 0000000..0a2badb
--- /dev/null
+++ b/src/mainboard/jetway/j7f24/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 VIA Technologies, Inc.
+ * (Written by Aaron Lwe <aaron.lwe(a)gmail.com> for VIA)
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/jetway/j7f24/mainboard.c b/src/mainboard/jetway/j7f24/mainboard.c
index 4b1ee39..6693747 100644
--- a/src/mainboard/jetway/j7f24/mainboard.c
+++ b/src/mainboard/jetway/j7f24/mainboard.c
@@ -20,6 +20,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Jetway J7F[24]* Mainboard")
diff --git a/src/mainboard/jetway/pa78vm5/chip.h b/src/mainboard/jetway/pa78vm5/chip.h
new file mode 100644
index 0000000..d081720
--- /dev/null
+++ b/src/mainboard/jetway/pa78vm5/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Wang Qing Pei <wangqingpei(a)gmail.com>
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/jetway/pa78vm5/mainboard.c b/src/mainboard/jetway/pa78vm5/mainboard.c
index cb37c11..585a2a4 100644
--- a/src/mainboard/jetway/pa78vm5/mainboard.c
+++ b/src/mainboard/jetway/pa78vm5/mainboard.c
@@ -28,6 +28,7 @@
#include <device/pci_def.h>
#include "southbridge/amd/sb700/sb700.h"
#include "southbridge/amd/sb700/smbus.h"
+#include "chip.h"
void set_pcie_dereset(void);
void set_pcie_reset(void);
diff --git a/src/mainboard/kontron/986lcd-m/chip.h b/src/mainboard/kontron/986lcd-m/chip.h
new file mode 100644
index 0000000..831a973
--- /dev/null
+++ b/src/mainboard/kontron/986lcd-m/chip.h
@@ -0,0 +1,21 @@
+/*
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/kontron/986lcd-m/mainboard.c b/src/mainboard/kontron/986lcd-m/mainboard.c
index b9686bd..d7b1f13 100644
--- a/src/mainboard/kontron/986lcd-m/mainboard.c
+++ b/src/mainboard/kontron/986lcd-m/mainboard.c
@@ -26,6 +26,7 @@
#include <pc80/mc146818rtc.h>
#include <arch/io.h>
#include <arch/interrupt.h>
+#include "chip.h"
#if CONFIG_PCI_OPTION_ROM_RUN_YABEL
static int int15_handler(void)
diff --git a/src/mainboard/kontron/kt690/chip.h b/src/mainboard/kontron/kt690/chip.h
new file mode 100644
index 0000000..05e1582
--- /dev/null
+++ b/src/mainboard/kontron/kt690/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
+
diff --git a/src/mainboard/kontron/kt690/mainboard.c b/src/mainboard/kontron/kt690/mainboard.c
index dbd4141..d24d97d 100644
--- a/src/mainboard/kontron/kt690/mainboard.c
+++ b/src/mainboard/kontron/kt690/mainboard.c
@@ -26,6 +26,7 @@
#include <cpu/amd/mtrr.h>
#include <device/pci_def.h>
#include <southbridge/amd/sb600/sb600.h>
+#include "chip.h"
#define ADT7461_ADDRESS 0x4C
#define ARA_ADDRESS 0x0C /* Alert Response Address */
diff --git a/src/mainboard/lanner/em8510/chip.h b/src/mainboard/lanner/em8510/chip.h
new file mode 100644
index 0000000..96d8705
--- /dev/null
+++ b/src/mainboard/lanner/em8510/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Travelping GmbH <info(a)travelping.com>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/lanner/em8510/mainboard.c b/src/mainboard/lanner/em8510/mainboard.c
index 9317944..4a20d25 100644
--- a/src/mainboard/lanner/em8510/mainboard.c
+++ b/src/mainboard/lanner/em8510/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("LANNER EM-8510 Mainboard")
diff --git a/src/mainboard/lenovo/t60/chip.h b/src/mainboard/lenovo/t60/chip.h
new file mode 100644
index 0000000..70f9bb4
--- /dev/null
+++ b/src/mainboard/lenovo/t60/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (c) 2011 Sven Schnelle <svens(a)stackframe.org>
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/lenovo/t60/mainboard.c b/src/mainboard/lenovo/t60/mainboard.c
index bd4c4a7..a9f4117 100644
--- a/src/mainboard/lenovo/t60/mainboard.c
+++ b/src/mainboard/lenovo/t60/mainboard.c
@@ -26,6 +26,7 @@
#include <boot/tables.h>
#include <delay.h>
#include <arch/coreboot_tables.h>
+#include "chip.h"
#include <device/pci_def.h>
#include <device/pci_ops.h>
#include <arch/io.h>
diff --git a/src/mainboard/lenovo/x60/chip.h b/src/mainboard/lenovo/x60/chip.h
new file mode 100644
index 0000000..70f9bb4
--- /dev/null
+++ b/src/mainboard/lenovo/x60/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (c) 2011 Sven Schnelle <svens(a)stackframe.org>
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/lenovo/x60/mainboard.c b/src/mainboard/lenovo/x60/mainboard.c
index 4ded239..453cf38 100644
--- a/src/mainboard/lenovo/x60/mainboard.c
+++ b/src/mainboard/lenovo/x60/mainboard.c
@@ -26,6 +26,7 @@
#include <boot/tables.h>
#include <delay.h>
#include <arch/coreboot_tables.h>
+#include "chip.h"
#include <device/pci_def.h>
#include <device/pci_ops.h>
#include <device/pci_ids.h>
diff --git a/src/mainboard/lippert/frontrunner/chip.h b/src/mainboard/lippert/frontrunner/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/lippert/frontrunner/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/lippert/frontrunner/mainboard.c b/src/mainboard/lippert/frontrunner/mainboard.c
index ec1503e..7cd9f1d 100644
--- a/src/mainboard/lippert/frontrunner/mainboard.c
+++ b/src/mainboard/lippert/frontrunner/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Lippert Cool Frontrunner Mainboard")
diff --git a/src/mainboard/lippert/hurricane-lx/chip.h b/src/mainboard/lippert/hurricane-lx/chip.h
new file mode 100644
index 0000000..0c70fcd
--- /dev/null
+++ b/src/mainboard/lippert/hurricane-lx/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 LiPPERT Embedded Computers 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/lippert/hurricane-lx/mainboard.c b/src/mainboard/lippert/hurricane-lx/mainboard.c
index 9b7ad98..959966c 100644
--- a/src/mainboard/lippert/hurricane-lx/mainboard.c
+++ b/src/mainboard/lippert/hurricane-lx/mainboard.c
@@ -27,6 +27,7 @@
#include <arch/io.h>
#include <device/pci.h>
#include <device/pci_ids.h>
+#include "chip.h"
/* Bit1 switches Com1 to RS485, bit2 same for Com2. */
#if CONFIG_ONBOARD_UARTS_RS485
diff --git a/src/mainboard/lippert/literunner-lx/chip.h b/src/mainboard/lippert/literunner-lx/chip.h
new file mode 100644
index 0000000..0c70fcd
--- /dev/null
+++ b/src/mainboard/lippert/literunner-lx/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 LiPPERT Embedded Computers 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/lippert/literunner-lx/mainboard.c b/src/mainboard/lippert/literunner-lx/mainboard.c
index cfec2a8..65ea12a 100644
--- a/src/mainboard/lippert/literunner-lx/mainboard.c
+++ b/src/mainboard/lippert/literunner-lx/mainboard.c
@@ -27,6 +27,7 @@
#include <arch/io.h>
#include <device/pci.h>
#include <device/pci_ids.h>
+#include "chip.h"
/* Bit0 turns off the Live LED, bit1 switches Com1 to RS485, bit2 same for Com2. */
#if CONFIG_ONBOARD_UARTS_RS485
diff --git a/src/mainboard/lippert/roadrunner-lx/chip.h b/src/mainboard/lippert/roadrunner-lx/chip.h
new file mode 100644
index 0000000..398d424
--- /dev/null
+++ b/src/mainboard/lippert/roadrunner-lx/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 LiPPERT Embedded Computers 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/lippert/roadrunner-lx/mainboard.c b/src/mainboard/lippert/roadrunner-lx/mainboard.c
index 26adb2f..31fdd46 100644
--- a/src/mainboard/lippert/roadrunner-lx/mainboard.c
+++ b/src/mainboard/lippert/roadrunner-lx/mainboard.c
@@ -27,6 +27,7 @@
#include <arch/io.h>
#include <device/pci.h>
#include <device/pci_ids.h>
+#include "chip.h"
/* Bit1 switches Com1 to RS485, bit2 same for Com2, bit5 turns off the Live LED. */
#if CONFIG_ONBOARD_UARTS_RS485
diff --git a/src/mainboard/lippert/spacerunner-lx/chip.h b/src/mainboard/lippert/spacerunner-lx/chip.h
new file mode 100644
index 0000000..398d424
--- /dev/null
+++ b/src/mainboard/lippert/spacerunner-lx/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 LiPPERT Embedded Computers 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/lippert/spacerunner-lx/mainboard.c b/src/mainboard/lippert/spacerunner-lx/mainboard.c
index f2aeb10..34cd8c4 100644
--- a/src/mainboard/lippert/spacerunner-lx/mainboard.c
+++ b/src/mainboard/lippert/spacerunner-lx/mainboard.c
@@ -27,6 +27,7 @@
#include <arch/io.h>
#include <device/pci.h>
#include <device/pci_ids.h>
+#include "chip.h"
/* Bit0 turns off the Live LED, bit1 switches Com1 to RS485, bit2 same for Com2. */
#if CONFIG_ONBOARD_UARTS_RS485
diff --git a/src/mainboard/mitac/6513wu/chip.h b/src/mainboard/mitac/6513wu/chip.h
new file mode 100644
index 0000000..0421977
--- /dev/null
+++ b/src/mainboard/mitac/6513wu/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2009 Michael Gold <mgold(a)ncf.ca>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/mitac/6513wu/mainboard.c b/src/mainboard/mitac/6513wu/mainboard.c
index 968b9e9..9e4ec8d 100644
--- a/src/mainboard/mitac/6513wu/mainboard.c
+++ b/src/mainboard/mitac/6513wu/mainboard.c
@@ -20,6 +20,7 @@
#include <device/device.h>
#include <boot/tables.h>
+#include "chip.h"
int add_mainboard_resources(struct lb_memory *mem)
{
diff --git a/src/mainboard/msi/ms6119/chip.h b/src/mainboard/msi/ms6119/chip.h
new file mode 100644
index 0000000..56e17ca
--- /dev/null
+++ b/src/mainboard/msi/ms6119/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms6119/mainboard.c b/src/mainboard/msi/ms6119/mainboard.c
index 7ef3d4b..9c4ef29 100644
--- a/src/mainboard/msi/ms6119/mainboard.c
+++ b/src/mainboard/msi/ms6119/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("MSI MS-6119 Mainboard")
diff --git a/src/mainboard/msi/ms6147/chip.h b/src/mainboard/msi/ms6147/chip.h
new file mode 100644
index 0000000..fbf5d32
--- /dev/null
+++ b/src/mainboard/msi/ms6147/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Mats Erik Andersson <mats.andersson(a)gisladisker.org>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms6147/mainboard.c b/src/mainboard/msi/ms6147/mainboard.c
index 091de54..b7c7386 100644
--- a/src/mainboard/msi/ms6147/mainboard.c
+++ b/src/mainboard/msi/ms6147/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("MSI MS-6147 Mainboard")
diff --git a/src/mainboard/msi/ms6156/chip.h b/src/mainboard/msi/ms6156/chip.h
new file mode 100644
index 0000000..1c3876d
--- /dev/null
+++ b/src/mainboard/msi/ms6156/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2009 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms6156/mainboard.c b/src/mainboard/msi/ms6156/mainboard.c
index 28b5e81..1864f0b 100644
--- a/src/mainboard/msi/ms6156/mainboard.c
+++ b/src/mainboard/msi/ms6156/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("MSI MS-6156 Mainboard")
diff --git a/src/mainboard/msi/ms6178/chip.h b/src/mainboard/msi/ms6178/chip.h
new file mode 100644
index 0000000..982cfb3
--- /dev/null
+++ b/src/mainboard/msi/ms6178/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms6178/mainboard.c b/src/mainboard/msi/ms6178/mainboard.c
index 0aeedb8..e4ba148 100644
--- a/src/mainboard/msi/ms6178/mainboard.c
+++ b/src/mainboard/msi/ms6178/mainboard.c
@@ -20,6 +20,7 @@
#include <device/device.h>
#include <boot/tables.h>
+#include "chip.h"
int add_mainboard_resources(struct lb_memory *mem)
{
diff --git a/src/mainboard/msi/ms7135/chip.h b/src/mainboard/msi/ms7135/chip.h
new file mode 100644
index 0000000..063d25b
--- /dev/null
+++ b/src/mainboard/msi/ms7135/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Jonathan A. Kollasch <jakllsch(a)kollasch.net>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms7135/mainboard.c b/src/mainboard/msi/ms7135/mainboard.c
index 3ed0c6b..586f9c5 100644
--- a/src/mainboard/msi/ms7135/mainboard.c
+++ b/src/mainboard/msi/ms7135/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("MSI MS7135 Mainboard")
diff --git a/src/mainboard/msi/ms7260/chip.h b/src/mainboard/msi/ms7260/chip.h
new file mode 100644
index 0000000..982cfb3
--- /dev/null
+++ b/src/mainboard/msi/ms7260/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms7260/mainboard.c b/src/mainboard/msi/ms7260/mainboard.c
index 06d606f..2b61736 100644
--- a/src/mainboard/msi/ms7260/mainboard.c
+++ b/src/mainboard/msi/ms7260/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
#if 0
#include "hda_verb.h"
diff --git a/src/mainboard/msi/ms9185/chip.h b/src/mainboard/msi/ms9185/chip.h
new file mode 100644
index 0000000..6638ef1
--- /dev/null
+++ b/src/mainboard/msi/ms9185/chip.h
@@ -0,0 +1,25 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2006 MSI
+ * Written by bxshi <bingxunshi(a)gmail.com> for MSI.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
+
diff --git a/src/mainboard/msi/ms9185/mainboard.c b/src/mainboard/msi/ms9185/mainboard.c
index f3e28d4..873a490 100644
--- a/src/mainboard/msi/ms9185/mainboard.c
+++ b/src/mainboard/msi/ms9185/mainboard.c
@@ -24,6 +24,7 @@
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("MSI MS-9185 Mainboard")
diff --git a/src/mainboard/msi/ms9282/chip.h b/src/mainboard/msi/ms9282/chip.h
new file mode 100644
index 0000000..0831119
--- /dev/null
+++ b/src/mainboard/msi/ms9282/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2006 MSI
+ * Written by Bingxun Shi <bingxunshi(a)gmail.com> for MSI.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms9282/mainboard.c b/src/mainboard/msi/ms9282/mainboard.c
index 800fd25..99f7e22 100644
--- a/src/mainboard/msi/ms9282/mainboard.c
+++ b/src/mainboard/msi/ms9282/mainboard.c
@@ -25,6 +25,7 @@
#include <device/pci_ids.h>
#include <device/pci_ops.h>
// #include "hda_verb.h"
+#include "chip.h"
static void verb_setup(void)
{
diff --git a/src/mainboard/msi/ms9652_fam10/chip.h b/src/mainboard/msi/ms9652_fam10/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/msi/ms9652_fam10/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu(a)amd.com> for AMD.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/msi/ms9652_fam10/mainboard.c b/src/mainboard/msi/ms9652_fam10/mainboard.c
index e570607..255b22d 100644
--- a/src/mainboard/msi/ms9652_fam10/mainboard.c
+++ b/src/mainboard/msi/ms9652_fam10/mainboard.c
@@ -25,6 +25,7 @@
#include <device/pci_ids.h>
#include <device/pci_ops.h>
// #include "hda_verb.h"
+#include "chip.h"
static void verb_setup(void)
{
diff --git a/src/mainboard/nec/powermate2000/chip.h b/src/mainboard/nec/powermate2000/chip.h
new file mode 100644
index 0000000..41784c9
--- /dev/null
+++ b/src/mainboard/nec/powermate2000/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/nec/powermate2000/mainboard.c b/src/mainboard/nec/powermate2000/mainboard.c
index 3b29c7c..a26e8df 100644
--- a/src/mainboard/nec/powermate2000/mainboard.c
+++ b/src/mainboard/nec/powermate2000/mainboard.c
@@ -20,6 +20,7 @@
#include <device/device.h>
#include <boot/tables.h>
+#include "chip.h"
int add_mainboard_resources(struct lb_memory *mem)
{
diff --git a/src/mainboard/newisys/khepri/chip.h b/src/mainboard/newisys/khepri/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/newisys/khepri/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/newisys/khepri/mainboard.c b/src/mainboard/newisys/khepri/mainboard.c
index 11e7032..d278fd2 100644
--- a/src/mainboard/newisys/khepri/mainboard.c
+++ b/src/mainboard/newisys/khepri/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Newisys 2100 Mainboard")
diff --git a/src/mainboard/nokia/ip530/chip.h b/src/mainboard/nokia/ip530/chip.h
new file mode 100644
index 0000000..1046412
--- /dev/null
+++ b/src/mainboard/nokia/ip530/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Marc Bertens <mbertens(a)xs4all.nl>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/nokia/ip530/mainboard.c b/src/mainboard/nokia/ip530/mainboard.c
index 8b934ff..b0dd27b 100644
--- a/src/mainboard/nokia/ip530/mainboard.c
+++ b/src/mainboard/nokia/ip530/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Nokia IP530 Mainboard")
diff --git a/src/mainboard/nvidia/l1_2pvv/chip.h b/src/mainboard/nvidia/l1_2pvv/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/nvidia/l1_2pvv/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu(a)amd.com> for AMD.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/nvidia/l1_2pvv/mainboard.c b/src/mainboard/nvidia/l1_2pvv/mainboard.c
index 5836571..b425c3d 100644
--- a/src/mainboard/nvidia/l1_2pvv/mainboard.c
+++ b/src/mainboard/nvidia/l1_2pvv/mainboard.c
@@ -25,6 +25,7 @@
#include <device/pci_ids.h>
#include <device/pci_ops.h>
#include "hda_verb.h"
+#include "chip.h"
static void verb_setup(void)
{
diff --git a/src/mainboard/pcengines/alix1c/chip.h b/src/mainboard/pcengines/alix1c/chip.h
new file mode 100644
index 0000000..fb321d5
--- /dev/null
+++ b/src/mainboard/pcengines/alix1c/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/pcengines/alix1c/mainboard.c b/src/mainboard/pcengines/alix1c/mainboard.c
index 74c1cc4..a32cb14 100644
--- a/src/mainboard/pcengines/alix1c/mainboard.c
+++ b/src/mainboard/pcengines/alix1c/mainboard.c
@@ -19,6 +19,7 @@
#include <console/console.h>
#include <device/device.h>
+#include "chip.h"
static void init(struct device *dev)
{
diff --git a/src/mainboard/pcengines/alix2d/chip.h b/src/mainboard/pcengines/alix2d/chip.h
new file mode 100644
index 0000000..fb321d5
--- /dev/null
+++ b/src/mainboard/pcengines/alix2d/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/pcengines/alix2d/mainboard.c b/src/mainboard/pcengines/alix2d/mainboard.c
index 1b526c9..b227d66 100644
--- a/src/mainboard/pcengines/alix2d/mainboard.c
+++ b/src/mainboard/pcengines/alix2d/mainboard.c
@@ -19,6 +19,7 @@
#include <console/console.h>
#include <device/device.h>
+#include "chip.h"
static void init(struct device *dev)
{
diff --git a/src/mainboard/rca/rm4100/chip.h b/src/mainboard/rca/rm4100/chip.h
new file mode 100644
index 0000000..4aec17f
--- /dev/null
+++ b/src/mainboard/rca/rm4100/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Joseph Smith <joe(a)settoplinux.org>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/rca/rm4100/mainboard.c b/src/mainboard/rca/rm4100/mainboard.c
index 613c1d7..653b22a 100644
--- a/src/mainboard/rca/rm4100/mainboard.c
+++ b/src/mainboard/rca/rm4100/mainboard.c
@@ -21,6 +21,7 @@
#include <device/device.h>
#include <boot/tables.h>
#include <arch/coreboot_tables.h>
+#include "chip.h"
int add_mainboard_resources(struct lb_memory *mem)
{
diff --git a/src/mainboard/roda/rk886ex/chip.h b/src/mainboard/roda/rk886ex/chip.h
new file mode 100644
index 0000000..6f24f71
--- /dev/null
+++ b/src/mainboard/roda/rk886ex/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2009 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/roda/rk886ex/mainboard.c b/src/mainboard/roda/rk886ex/mainboard.c
index 1f4ebc7..d87d712 100644
--- a/src/mainboard/roda/rk886ex/mainboard.c
+++ b/src/mainboard/roda/rk886ex/mainboard.c
@@ -29,6 +29,7 @@
#include <x86emu/x86emu.h>
#endif
#include <arch/coreboot_tables.h>
+#include "chip.h"
#include <ec/acpi/ec.h>
#include "m3885.h"
diff --git a/src/mainboard/samsung/lumpy/chip.h b/src/mainboard/samsung/lumpy/chip.h
new file mode 100644
index 0000000..831a973
--- /dev/null
+++ b/src/mainboard/samsung/lumpy/chip.h
@@ -0,0 +1,21 @@
+/*
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/samsung/lumpy/mainboard.c b/src/mainboard/samsung/lumpy/mainboard.c
index 20b59b7..c5db0d3 100644
--- a/src/mainboard/samsung/lumpy/mainboard.c
+++ b/src/mainboard/samsung/lumpy/mainboard.c
@@ -34,6 +34,7 @@
#include <arch/coreboot_tables.h>
#include <ec/smsc/mec1308/ec.h>
#include "hda_verb.h"
+#include "chip.h"
#include "ec.h"
#include "onboard.h"
#include <southbridge/intel/bd82x6x/pch.h>
diff --git a/src/mainboard/samsung/stumpy/chip.h b/src/mainboard/samsung/stumpy/chip.h
new file mode 100644
index 0000000..831a973
--- /dev/null
+++ b/src/mainboard/samsung/stumpy/chip.h
@@ -0,0 +1,21 @@
+/*
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/samsung/stumpy/mainboard.c b/src/mainboard/samsung/stumpy/mainboard.c
index 2456e70..9152a3b 100644
--- a/src/mainboard/samsung/stumpy/mainboard.c
+++ b/src/mainboard/samsung/stumpy/mainboard.c
@@ -34,6 +34,7 @@
#include <arch/interrupt.h>
#include <arch/coreboot_tables.h>
#include "hda_verb.h"
+#include "chip.h"
#include <southbridge/intel/bd82x6x/pch.h>
void mainboard_suspend_resume(void)
diff --git a/src/mainboard/siemens/sitemp_g1p1/chip.h b/src/mainboard/siemens/sitemp_g1p1/chip.h
new file mode 100644
index 0000000..ff426e0
--- /dev/null
+++ b/src/mainboard/siemens/sitemp_g1p1/chip.h
@@ -0,0 +1,29 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ * Copyright (C) 2010 Siemens AG, Inc.
+ * (Written by Josef Kellermann <joseph.kellermann(a)heitec.de> for Siemens AG, Inc.)
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config
+{
+ u32 uma_size; /* How many UMA should be used in memory for TOP. */
+ unsigned int plx_present : 1;
+};
+
diff --git a/src/mainboard/siemens/sitemp_g1p1/mainboard.c b/src/mainboard/siemens/sitemp_g1p1/mainboard.c
index 905d23f..05435d8 100644
--- a/src/mainboard/siemens/sitemp_g1p1/mainboard.c
+++ b/src/mainboard/siemens/sitemp_g1p1/mainboard.c
@@ -34,6 +34,7 @@
#include <southbridge/amd/rs690/chip.h>
#include <southbridge/amd/rs690/rs690.h>
#include <superio/ite/it8712f/it8712f.h>
+#include "chip.h"
#if CONFIG_PCI_OPTION_ROM_RUN_YABEL
#include <x86emu/x86emu.h>
#endif
@@ -672,14 +673,13 @@ struct {
};
-unsigned int plx_present = 0;
+static void update_subsystemid( device_t dev ) {
-static void update_subsystemid( device_t dev )
-{
int i;
+ struct mainboard_config *mb = dev->chip_info;
dev->subsystem_vendor = 0x110a;
- if( plx_present ){
+ if( mb->plx_present ){
dev->subsystem_device = 0x4076; // U1P1 = 0x4076, U1P0 = 0x4077
} else {
dev->subsystem_device = 0x4077; // U1P0 = 0x4077
@@ -701,12 +701,12 @@ static void update_subsystemid( device_t dev )
* @param
*/
-static void detect_hw_variant( device_t dev )
-{
+static void detect_hw_variant( device_t dev ) {
device_t nb_dev =0, dev2 = 0;
struct southbridge_amd_rs690_config *cfg;
u32 lc_state, id = 0;
+ struct mainboard_config *mb = dev->chip_info;
printk(BIOS_INFO, "Scan for PLX device ...\n");
nb_dev = dev_find_slot(0, PCI_DEVFN(0, 0));
@@ -782,10 +782,10 @@ static void detect_hw_variant( device_t dev )
break;
}
- plx_present = 0;
+ mb->plx_present = 0;
if( id == PLX_VIDDID ){
printk(BIOS_INFO, "found PLX device\n");
- plx_present = 1;
+ mb->plx_present = 1;
cfg = (struct southbridge_amd_rs690_config *)dev2->chip_info;
if( cfg->gfx_tmds ) {
printk(BIOS_INFO, "Disable 'gfx_tmds' support\n");
diff --git a/src/mainboard/soyo/sy-6ba-plus-iii/chip.h b/src/mainboard/soyo/sy-6ba-plus-iii/chip.h
new file mode 100644
index 0000000..1c3876d
--- /dev/null
+++ b/src/mainboard/soyo/sy-6ba-plus-iii/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2009 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/soyo/sy-6ba-plus-iii/mainboard.c b/src/mainboard/soyo/sy-6ba-plus-iii/mainboard.c
index 9e7b1f2..4cead76 100644
--- a/src/mainboard/soyo/sy-6ba-plus-iii/mainboard.c
+++ b/src/mainboard/soyo/sy-6ba-plus-iii/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Soyo SY-6BA+ III Mainboard")
diff --git a/src/mainboard/sunw/ultra40/chip.h b/src/mainboard/sunw/ultra40/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/sunw/ultra40/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/sunw/ultra40/mainboard.c b/src/mainboard/sunw/ultra40/mainboard.c
index d46ea38..b5e865d 100644
--- a/src/mainboard/sunw/ultra40/mainboard.c
+++ b/src/mainboard/sunw/ultra40/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Sun Ultra 40 Mainboard")
diff --git a/src/mainboard/supermicro/h8dme/chip.h b/src/mainboard/supermicro/h8dme/chip.h
new file mode 100644
index 0000000..2076c6f
--- /dev/null
+++ b/src/mainboard/supermicro/h8dme/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/h8dme/mainboard.c b/src/mainboard/supermicro/h8dme/mainboard.c
index c092c71..c1b9635 100644
--- a/src/mainboard/supermicro/h8dme/mainboard.c
+++ b/src/mainboard/supermicro/h8dme/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Supermicro H8DME Mainboard")
diff --git a/src/mainboard/supermicro/h8dmr/chip.h b/src/mainboard/supermicro/h8dmr/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/supermicro/h8dmr/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu(a)amd.com> for AMD.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/h8dmr/mainboard.c b/src/mainboard/supermicro/h8dmr/mainboard.c
index 45536af..a00d9e8 100644
--- a/src/mainboard/supermicro/h8dmr/mainboard.c
+++ b/src/mainboard/supermicro/h8dmr/mainboard.c
@@ -20,6 +20,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Supermicro H8DMR Mainboard")
diff --git a/src/mainboard/supermicro/h8dmr_fam10/chip.h b/src/mainboard/supermicro/h8dmr_fam10/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/supermicro/h8dmr_fam10/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu(a)amd.com> for AMD.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/h8dmr_fam10/mainboard.c b/src/mainboard/supermicro/h8dmr_fam10/mainboard.c
index 24736a9..e59a980 100644
--- a/src/mainboard/supermicro/h8dmr_fam10/mainboard.c
+++ b/src/mainboard/supermicro/h8dmr_fam10/mainboard.c
@@ -20,6 +20,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Supermicro H8DMR Mainboard (Family 10)")
diff --git a/src/mainboard/supermicro/h8qgi/chip.h b/src/mainboard/supermicro/h8qgi/chip.h
new file mode 100644
index 0000000..a252705
--- /dev/null
+++ b/src/mainboard/supermicro/h8qgi/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/h8qgi/mainboard.c b/src/mainboard/supermicro/h8qgi/mainboard.c
index 1f02c73..f6d437e 100644
--- a/src/mainboard/supermicro/h8qgi/mainboard.c
+++ b/src/mainboard/supermicro/h8qgi/mainboard.c
@@ -26,6 +26,7 @@
#include <cpu/amd/mtrr.h>
#include <device/pci_def.h>
#include <NbPlatform.h>
+#include "chip.h"
void set_pcie_dereset(void *nbconfig);
void set_pcie_reset(void *nbconfig);
diff --git a/src/mainboard/supermicro/h8qme_fam10/chip.h b/src/mainboard/supermicro/h8qme_fam10/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/supermicro/h8qme_fam10/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu(a)amd.com> for AMD.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/h8qme_fam10/mainboard.c b/src/mainboard/supermicro/h8qme_fam10/mainboard.c
index 647f623..45b0920 100644
--- a/src/mainboard/supermicro/h8qme_fam10/mainboard.c
+++ b/src/mainboard/supermicro/h8qme_fam10/mainboard.c
@@ -20,6 +20,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Supermicro H8QME-2+ Mainboard (Family 10)")
diff --git a/src/mainboard/supermicro/h8scm_fam10/chip.h b/src/mainboard/supermicro/h8scm_fam10/chip.h
new file mode 100644
index 0000000..a98b97e
--- /dev/null
+++ b/src/mainboard/supermicro/h8scm_fam10/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/h8scm_fam10/mainboard.c b/src/mainboard/supermicro/h8scm_fam10/mainboard.c
index e5a58fe..d0fb541 100644
--- a/src/mainboard/supermicro/h8scm_fam10/mainboard.c
+++ b/src/mainboard/supermicro/h8scm_fam10/mainboard.c
@@ -27,6 +27,7 @@
#include <device/pci_def.h>
#include <southbridge/amd/sb700/sb700.h>
#include <southbridge/amd/sr5650/cmn.h>
+#include "chip.h"
void set_pcie_reset(void);
@@ -72,6 +73,10 @@ void set_pcie_dereset(void)
*************************************************/
static void h8scm_enable(device_t dev)
{
+ /* Leave it for furture use. */
+ /* struct mainboard_config *mainboard =
+ (struct mainboard_config *)dev->chip_info; */
+
printk(BIOS_INFO, "Mainboard H8SCM Enable. dev=0x%p\n", dev);
msr_t msr, msr2;
diff --git a/src/mainboard/supermicro/x6dai_g/chip.h b/src/mainboard/supermicro/x6dai_g/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/supermicro/x6dai_g/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/x6dai_g/mainboard.c b/src/mainboard/supermicro/x6dai_g/mainboard.c
index d9b4bc4..1db8cd4 100644
--- a/src/mainboard/supermicro/x6dai_g/mainboard.c
+++ b/src/mainboard/supermicro/x6dai_g/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Supermicro X6DAi-G Mainboard")
diff --git a/src/mainboard/supermicro/x6dhe_g/chip.h b/src/mainboard/supermicro/x6dhe_g/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/supermicro/x6dhe_g/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/x6dhe_g/mainboard.c b/src/mainboard/supermicro/x6dhe_g/mainboard.c
index c09c95a..a242ddd 100644
--- a/src/mainboard/supermicro/x6dhe_g/mainboard.c
+++ b/src/mainboard/supermicro/x6dhe_g/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Supermicro X6DHE-G Mainboard")
diff --git a/src/mainboard/supermicro/x6dhe_g2/chip.h b/src/mainboard/supermicro/x6dhe_g2/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/supermicro/x6dhe_g2/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/x6dhe_g2/mainboard.c b/src/mainboard/supermicro/x6dhe_g2/mainboard.c
index c20a842..fdb67cc 100644
--- a/src/mainboard/supermicro/x6dhe_g2/mainboard.c
+++ b/src/mainboard/supermicro/x6dhe_g2/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Supermicro X6DHE-G2 Mainboard")
diff --git a/src/mainboard/supermicro/x6dhr_ig/chip.h b/src/mainboard/supermicro/x6dhr_ig/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/supermicro/x6dhr_ig/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/x6dhr_ig/mainboard.c b/src/mainboard/supermicro/x6dhr_ig/mainboard.c
index 3875fe0..51acb86 100644
--- a/src/mainboard/supermicro/x6dhr_ig/mainboard.c
+++ b/src/mainboard/supermicro/x6dhr_ig/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Supermicro X6DHR-iG Mainboard")
diff --git a/src/mainboard/supermicro/x6dhr_ig2/chip.h b/src/mainboard/supermicro/x6dhr_ig2/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/supermicro/x6dhr_ig2/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/x6dhr_ig2/mainboard.c b/src/mainboard/supermicro/x6dhr_ig2/mainboard.c
index 981aee8..6b6c64f 100644
--- a/src/mainboard/supermicro/x6dhr_ig2/mainboard.c
+++ b/src/mainboard/supermicro/x6dhr_ig2/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Supermicro X6DHR-iG2 Mainboard")
diff --git a/src/mainboard/supermicro/x7db8/chip.h b/src/mainboard/supermicro/x7db8/chip.h
new file mode 100644
index 0000000..70f9bb4
--- /dev/null
+++ b/src/mainboard/supermicro/x7db8/chip.h
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (c) 2011 Sven Schnelle <svens(a)stackframe.org>
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/supermicro/x7db8/mainboard.c b/src/mainboard/supermicro/x7db8/mainboard.c
index 618eca9..27a26f9 100644
--- a/src/mainboard/supermicro/x7db8/mainboard.c
+++ b/src/mainboard/supermicro/x7db8/mainboard.c
@@ -25,6 +25,7 @@
#include <boot/tables.h>
#include <delay.h>
#include <arch/coreboot_tables.h>
+#include "chip.h"
#include <device/pci_def.h>
#include <device/pci_ops.h>
#include <arch/io.h>
diff --git a/src/mainboard/technexion/tim5690/chip.h b/src/mainboard/technexion/tim5690/chip.h
new file mode 100644
index 0000000..05e1582
--- /dev/null
+++ b/src/mainboard/technexion/tim5690/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
+
diff --git a/src/mainboard/technexion/tim5690/mainboard.c b/src/mainboard/technexion/tim5690/mainboard.c
index 2975e86..5a22182 100644
--- a/src/mainboard/technexion/tim5690/mainboard.c
+++ b/src/mainboard/technexion/tim5690/mainboard.c
@@ -27,6 +27,7 @@
#include <device/pci_def.h>
#include <southbridge/amd/sb600/sb600.h>
#include <superio/ite/it8712f/it8712f.h>
+#include "chip.h"
#include "tn_post_code.h"
#include "vgabios.h"
diff --git a/src/mainboard/technexion/tim8690/chip.h b/src/mainboard/technexion/tim8690/chip.h
new file mode 100644
index 0000000..05e1582
--- /dev/null
+++ b/src/mainboard/technexion/tim8690/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
+
diff --git a/src/mainboard/technexion/tim8690/mainboard.c b/src/mainboard/technexion/tim8690/mainboard.c
index 40ab345..f7ec110 100644
--- a/src/mainboard/technexion/tim8690/mainboard.c
+++ b/src/mainboard/technexion/tim8690/mainboard.c
@@ -26,6 +26,7 @@
#include <cpu/amd/mtrr.h>
#include <device/pci_def.h>
#include <southbridge/amd/sb600/sb600.h>
+#include "chip.h"
#define ADT7461_ADDRESS 0x4C
#define ARA_ADDRESS 0x0C /* Alert Response Address */
diff --git a/src/mainboard/technologic/ts5300/chip.h b/src/mainboard/technologic/ts5300/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/technologic/ts5300/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/technologic/ts5300/mainboard.c b/src/mainboard/technologic/ts5300/mainboard.c
index 164b7e8..58333b8 100644
--- a/src/mainboard/technologic/ts5300/mainboard.c
+++ b/src/mainboard/technologic/ts5300/mainboard.c
@@ -4,6 +4,7 @@
#include <device/pci_ids.h>
#include <device/pci_ops.h>
#include <cpu/amd/sc520.h>
+#include "chip.h"
#if 0
diff --git a/src/mainboard/televideo/tc7020/chip.h b/src/mainboard/televideo/tc7020/chip.h
new file mode 100644
index 0000000..6b6d455
--- /dev/null
+++ b/src/mainboard/televideo/tc7020/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Kenji Noguchi <tokyo246(a)gmail.com>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/televideo/tc7020/mainboard.c b/src/mainboard/televideo/tc7020/mainboard.c
index ee41109..a0919dc 100644
--- a/src/mainboard/televideo/tc7020/mainboard.c
+++ b/src/mainboard/televideo/tc7020/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("TeleVideo TC7020 Mainboard")
diff --git a/src/mainboard/thomson/ip1000/chip.h b/src/mainboard/thomson/ip1000/chip.h
new file mode 100644
index 0000000..4aec17f
--- /dev/null
+++ b/src/mainboard/thomson/ip1000/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Joseph Smith <joe(a)settoplinux.org>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/thomson/ip1000/mainboard.c b/src/mainboard/thomson/ip1000/mainboard.c
index e5c3ea1..f6eee68 100644
--- a/src/mainboard/thomson/ip1000/mainboard.c
+++ b/src/mainboard/thomson/ip1000/mainboard.c
@@ -27,6 +27,7 @@
#endif
#include <arch/coreboot_tables.h>
#include <arch/io.h>
+#include "chip.h"
int add_mainboard_resources(struct lb_memory *mem)
{
diff --git a/src/mainboard/traverse/geos/chip.h b/src/mainboard/traverse/geos/chip.h
new file mode 100644
index 0000000..ae69536
--- /dev/null
+++ b/src/mainboard/traverse/geos/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/traverse/geos/mainboard.c b/src/mainboard/traverse/geos/mainboard.c
index c299bc8..b578959 100644
--- a/src/mainboard/traverse/geos/mainboard.c
+++ b/src/mainboard/traverse/geos/mainboard.c
@@ -19,6 +19,7 @@
#include <console/console.h>
#include <device/device.h>
+#include "chip.h"
static void init(struct device *dev)
{
diff --git a/src/mainboard/tyan/s1846/chip.h b/src/mainboard/tyan/s1846/chip.h
new file mode 100644
index 0000000..dc9bed3
--- /dev/null
+++ b/src/mainboard/tyan/s1846/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s1846/mainboard.c b/src/mainboard/tyan/s1846/mainboard.c
index fb2034c..e5ab1c9 100644
--- a/src/mainboard/tyan/s1846/mainboard.c
+++ b/src/mainboard/tyan/s1846/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S1846 Mainboard")
diff --git a/src/mainboard/tyan/s2735/chip.h b/src/mainboard/tyan/s2735/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2735/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2735/mainboard.c b/src/mainboard/tyan/s2735/mainboard.c
index 5456b9e..267755c 100644
--- a/src/mainboard/tyan/s2735/mainboard.c
+++ b/src/mainboard/tyan/s2735/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S2735 Mainboard")
diff --git a/src/mainboard/tyan/s2850/chip.h b/src/mainboard/tyan/s2850/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2850/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2850/mainboard.c b/src/mainboard/tyan/s2850/mainboard.c
index 137aa57..8afa8f0 100644
--- a/src/mainboard/tyan/s2850/mainboard.c
+++ b/src/mainboard/tyan/s2850/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S2850 Mainboard")
diff --git a/src/mainboard/tyan/s2875/chip.h b/src/mainboard/tyan/s2875/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2875/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2875/mainboard.c b/src/mainboard/tyan/s2875/mainboard.c
index cbc4c6c..49e1092 100644
--- a/src/mainboard/tyan/s2875/mainboard.c
+++ b/src/mainboard/tyan/s2875/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S2875 Mainboard")
diff --git a/src/mainboard/tyan/s2880/chip.h b/src/mainboard/tyan/s2880/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2880/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2880/mainboard.c b/src/mainboard/tyan/s2880/mainboard.c
index 96e3cf2..7fc8615 100644
--- a/src/mainboard/tyan/s2880/mainboard.c
+++ b/src/mainboard/tyan/s2880/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S2880 Mainboard")
diff --git a/src/mainboard/tyan/s2881/chip.h b/src/mainboard/tyan/s2881/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2881/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2881/mainboard.c b/src/mainboard/tyan/s2881/mainboard.c
index 5034c5d..9da5fe8 100644
--- a/src/mainboard/tyan/s2881/mainboard.c
+++ b/src/mainboard/tyan/s2881/mainboard.c
@@ -21,6 +21,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S2881 Mainboard")
diff --git a/src/mainboard/tyan/s2882/chip.h b/src/mainboard/tyan/s2882/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2882/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2882/mainboard.c b/src/mainboard/tyan/s2882/mainboard.c
index 771d8b6..0779df1 100644
--- a/src/mainboard/tyan/s2882/mainboard.c
+++ b/src/mainboard/tyan/s2882/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S2882 Mainboard")
diff --git a/src/mainboard/tyan/s2885/chip.h b/src/mainboard/tyan/s2885/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2885/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2885/mainboard.c b/src/mainboard/tyan/s2885/mainboard.c
index 446460d..27da722 100644
--- a/src/mainboard/tyan/s2885/mainboard.c
+++ b/src/mainboard/tyan/s2885/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S2885 Mainboard")
diff --git a/src/mainboard/tyan/s2891/chip.h b/src/mainboard/tyan/s2891/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2891/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2891/mainboard.c b/src/mainboard/tyan/s2891/mainboard.c
index 155f084..c529c0a 100644
--- a/src/mainboard/tyan/s2891/mainboard.c
+++ b/src/mainboard/tyan/s2891/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S2891 Mainboard")
diff --git a/src/mainboard/tyan/s2892/chip.h b/src/mainboard/tyan/s2892/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2892/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2892/mainboard.c b/src/mainboard/tyan/s2892/mainboard.c
index 10fd0c0..299f836 100644
--- a/src/mainboard/tyan/s2892/mainboard.c
+++ b/src/mainboard/tyan/s2892/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S2892 Mainboard")
diff --git a/src/mainboard/tyan/s2895/chip.h b/src/mainboard/tyan/s2895/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s2895/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2895/mainboard.c b/src/mainboard/tyan/s2895/mainboard.c
index 4de60af..f152eae 100644
--- a/src/mainboard/tyan/s2895/mainboard.c
+++ b/src/mainboard/tyan/s2895/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S2895 Mainboard")
diff --git a/src/mainboard/tyan/s2912/chip.h b/src/mainboard/tyan/s2912/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/tyan/s2912/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu(a)amd.com> for AMD.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2912/mainboard.c b/src/mainboard/tyan/s2912/mainboard.c
index bfdb75e..6084b3d 100644
--- a/src/mainboard/tyan/s2912/mainboard.c
+++ b/src/mainboard/tyan/s2912/mainboard.c
@@ -20,6 +20,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S2912 Mainboard")
diff --git a/src/mainboard/tyan/s2912_fam10/chip.h b/src/mainboard/tyan/s2912_fam10/chip.h
new file mode 100644
index 0000000..ebd990b
--- /dev/null
+++ b/src/mainboard/tyan/s2912_fam10/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 AMD
+ * Written by Yinghai Lu <yinghailu(a)amd.com> for AMD.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s2912_fam10/mainboard.c b/src/mainboard/tyan/s2912_fam10/mainboard.c
index 3fed2f8..f976b14 100644
--- a/src/mainboard/tyan/s2912_fam10/mainboard.c
+++ b/src/mainboard/tyan/s2912_fam10/mainboard.c
@@ -20,6 +20,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S2912 Mainboard (Family 10)")
diff --git a/src/mainboard/tyan/s4880/chip.h b/src/mainboard/tyan/s4880/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s4880/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s4880/mainboard.c b/src/mainboard/tyan/s4880/mainboard.c
index ad9adab..f2f865b 100644
--- a/src/mainboard/tyan/s4880/mainboard.c
+++ b/src/mainboard/tyan/s4880/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S4880 Mainboard")
diff --git a/src/mainboard/tyan/s4882/chip.h b/src/mainboard/tyan/s4882/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/tyan/s4882/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/tyan/s4882/mainboard.c b/src/mainboard/tyan/s4882/mainboard.c
index 0595d59..8d626c7 100644
--- a/src/mainboard/tyan/s4882/mainboard.c
+++ b/src/mainboard/tyan/s4882/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S4882 Mainboard")
diff --git a/src/mainboard/via/epia-cn/chip.h b/src/mainboard/via/epia-cn/chip.h
new file mode 100644
index 0000000..0a2badb
--- /dev/null
+++ b/src/mainboard/via/epia-cn/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 VIA Technologies, Inc.
+ * (Written by Aaron Lwe <aaron.lwe(a)gmail.com> for VIA)
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/via/epia-cn/mainboard.c b/src/mainboard/via/epia-cn/mainboard.c
index 702b5b0..1a7210e 100644
--- a/src/mainboard/via/epia-cn/mainboard.c
+++ b/src/mainboard/via/epia-cn/mainboard.c
@@ -20,6 +20,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("VIA EPIA-CN Mainboard")
diff --git a/src/mainboard/via/epia-m/chip.h b/src/mainboard/via/epia-m/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/via/epia-m/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/via/epia-m/mainboard.c b/src/mainboard/via/epia-m/mainboard.c
index 49f18df..2e517a3 100644
--- a/src/mainboard/via/epia-m/mainboard.c
+++ b/src/mainboard/via/epia-m/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("VIA EPIA-M Mainboard")
diff --git a/src/mainboard/via/epia-m700/chip.h b/src/mainboard/via/epia-m700/chip.h
new file mode 100644
index 0000000..c44330b
--- /dev/null
+++ b/src/mainboard/via/epia-m700/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2009 One Laptop per Child, Association, Inc.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/via/epia-m700/mainboard.c b/src/mainboard/via/epia-m700/mainboard.c
index 53537e0..5a21b86 100644
--- a/src/mainboard/via/epia-m700/mainboard.c
+++ b/src/mainboard/via/epia-m700/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("VIA EPIA-M700 Mainboard")
diff --git a/src/mainboard/via/epia-n/chip.h b/src/mainboard/via/epia-n/chip.h
new file mode 100644
index 0000000..0a2badb
--- /dev/null
+++ b/src/mainboard/via/epia-n/chip.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 VIA Technologies, Inc.
+ * (Written by Aaron Lwe <aaron.lwe(a)gmail.com> for VIA)
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/via/epia-n/mainboard.c b/src/mainboard/via/epia-n/mainboard.c
index 0dfbd3c..cf5ae96 100644
--- a/src/mainboard/via/epia-n/mainboard.c
+++ b/src/mainboard/via/epia-n/mainboard.c
@@ -26,6 +26,7 @@
#include <arch/ioapic.h>
#include <southbridge/via/vt8237r/vt8237r.h>
#include <cpu/x86/lapic_def.h>
+#include "chip.h"
int add_mainboard_resources(struct lb_memory *mem)
{
diff --git a/src/mainboard/via/epia/chip.h b/src/mainboard/via/epia/chip.h
new file mode 100644
index 0000000..d138e51
--- /dev/null
+++ b/src/mainboard/via/epia/chip.h
@@ -0,0 +1,3 @@
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/via/epia/mainboard.c b/src/mainboard/via/epia/mainboard.c
index 95edf46..25d72a5 100644
--- a/src/mainboard/via/epia/mainboard.c
+++ b/src/mainboard/via/epia/mainboard.c
@@ -1,4 +1,5 @@
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("VIA EPIA Mainboard")
diff --git a/src/mainboard/via/pc2500e/chip.h b/src/mainboard/via/pc2500e/chip.h
new file mode 100644
index 0000000..41784c9
--- /dev/null
+++ b/src/mainboard/via/pc2500e/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2008 Uwe Hermann <uwe(a)hermann-uwe.de>
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/via/pc2500e/mainboard.c b/src/mainboard/via/pc2500e/mainboard.c
index 65aed56..9fcee55 100644
--- a/src/mainboard/via/pc2500e/mainboard.c
+++ b/src/mainboard/via/pc2500e/mainboard.c
@@ -19,6 +19,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("VIA pc2500e Mainboard")
diff --git a/src/mainboard/via/vt8454c/chip.h b/src/mainboard/via/vt8454c/chip.h
new file mode 100644
index 0000000..5101c16
--- /dev/null
+++ b/src/mainboard/via/vt8454c/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007-2009 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/via/vt8454c/mainboard.c b/src/mainboard/via/vt8454c/mainboard.c
index c6e1b92..e931ccd 100644
--- a/src/mainboard/via/vt8454c/mainboard.c
+++ b/src/mainboard/via/vt8454c/mainboard.c
@@ -20,6 +20,7 @@
*/
#include <device/device.h>
+#include "chip.h"
struct chip_operations mainboard_ops = {
CHIP_NAME("VIA VT8454c Mainboard")
diff --git a/src/mainboard/winent/pl6064/chip.h b/src/mainboard/winent/pl6064/chip.h
new file mode 100644
index 0000000..ae69536
--- /dev/null
+++ b/src/mainboard/winent/pl6064/chip.h
@@ -0,0 +1,23 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/winent/pl6064/mainboard.c b/src/mainboard/winent/pl6064/mainboard.c
index 0293c7a..cd664f6 100644
--- a/src/mainboard/winent/pl6064/mainboard.c
+++ b/src/mainboard/winent/pl6064/mainboard.c
@@ -19,6 +19,7 @@
#include <console/console.h>
#include <device/device.h>
+#include "chip.h"
static void init(struct device *dev)
{
diff --git a/src/mainboard/wyse/s50/chip.h b/src/mainboard/wyse/s50/chip.h
new file mode 100644
index 0000000..e0e9727
--- /dev/null
+++ b/src/mainboard/wyse/s50/chip.h
@@ -0,0 +1,22 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2010 Nils Jacobs
+ *
+ * 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
+ */
+
+extern struct chip_operations mainboard_ops;
+
+struct mainboard_config {};
diff --git a/src/mainboard/wyse/s50/mainboard.c b/src/mainboard/wyse/s50/mainboard.c
index 99dfb42..8497b24 100644
--- a/src/mainboard/wyse/s50/mainboard.c
+++ b/src/mainboard/wyse/s50/mainboard.c
@@ -21,6 +21,7 @@
#include <console/console.h>
#include <device/device.h>
+#include "chip.h"
static void init(struct device *dev)
{
diff --git a/util/sconfig/main.c b/util/sconfig/main.c
index 824bc6c..989f747 100644
--- a/util/sconfig/main.c
+++ b/util/sconfig/main.c
@@ -45,11 +45,7 @@ static struct device mainboard = {
.id = 0,
.chip = &mainboard,
.type = chip,
-#ifdef MAINBOARDS_HAVE_CHIP_H
.chiph_exists = 1,
-#else
- .chiph_exists = 0,
-#endif
.children = &root
};
@@ -565,14 +561,12 @@ int main(int argc, char** argv) {
}
headers.next = 0;
-#ifdef MAINBOARDS_HAVE_CHIP_H
if (scan_mode == STATIC_MODE) {
headers.next = malloc(sizeof(struct header));
headers.next->name = malloc(strlen(mainboard)+12);
headers.next->next = 0;
sprintf(headers.next->name, "mainboard/%s", mainboard);
}
-#endif
FILE *filec = fopen(devtree, "r");
if (!filec) {
@@ -616,11 +610,8 @@ int main(int argc, char** argv) {
walk_device_tree(autogen, &root, inherit_subsystem_ids, NULL);
fprintf(autogen, "\n/* pass 0 */\n");
walk_device_tree(autogen, &root, pass0, NULL);
- fprintf(autogen, "\n/* pass 1 */\n"
- "struct device *last_dev = &%s;\n", lastdev->name);
-#ifdef MAINBOARDS_HAVE_CHIP_H
- fprintf(autogen, "struct mainboard_config mainboard_info_0;\n");
-#endif
+ fprintf(autogen, "\n/* pass 1 */\nstruct mainboard_config mainboard_info_0;\n"
+ "struct device *last_dev = &%s;\n", lastdev->name);
walk_device_tree(autogen, &root, pass1, NULL);
} else if (scan_mode == BOOTBLOCK_MODE) {
Zheng Bao (zheng.bao(a)amd.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1400
-gerrit
commit 618cc0c676150e1085a1afe31178e8043bbd5c8c
Author: zbao <fishbaozi(a)gmail.com>
Date: Fri Aug 3 13:53:10 2012 +0800
AMD S3: Add a document about S3 on AMD platform
See the document. Need review. Everything should be in Authentic
English.
Change-Id: Idc528b8c6b0d5afe08fc4f4387b7bff30698f677
Signed-off-by: Zheng Bao <zheng.bao(a)amd.com>
Signed-off-by: zbao <fishbaozi(a)gmail.com>
---
documentation/AMD-S3.txt | 95 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 95 insertions(+), 0 deletions(-)
diff --git a/documentation/AMD-S3.txt b/documentation/AMD-S3.txt
new file mode 100644
index 0000000..58ee0d7
--- /dev/null
+++ b/documentation/AMD-S3.txt
@@ -0,0 +1,95 @@
+ _____ ____ _____ ______ ____ ____ ____ _______
+ / ____/ __ \| __ \| ____| _ \ / __ \ / __ \__ __|
+ | | | | | | |__) | |__ | |_) | | | | | | | | |
+ | | | | | | _ /| __| | _ <| | | | | | | | |
+ | |___| |__| | | \ \| |____| |_) | |__| | |__| | | |
+ \_____\____/|_| \_\______|____/ \____/ \____/ |_|
+
+ __ __ _____ _____ ____
+ /\ | \/ | __ \ / ____| |___ \
+ / \ | \ / | | | | | (___ __) |
+ / /\ \ | |\/| | | | | \___ \ |__ <
+ / ____ \| | | | |__| | ____) | ___) |
+ /_/ \_\_| |_|_____/ |_____/ |____/
+
+
+ S3 in Coreboot
+----------------------------------------
+ Zheng Bao
+ <zheng.bao(a)amd.com>
+ <fishbaozi(a)gmail.com>
+
+Introduction
+============
+This document is about how the feature S3 is implemented on coreboot,
+specificly on AMD platform. This topic deals with ACPI spec, hardware,
+BIOS, OS. We try to help coreboot users to realize their own S3.
+
+S3 in a nutshell
+================
+The S3 sleeping state is a low wake latency sleeping state where all
+system context is lost except system memory. [1]. S3 is a ACPI
+definition.
+To enter S3, write 3 in SLP_TYPx and setting the SLP_EN bit. But if
+you do that, board can not resume at where it sleeps, because you
+don't save the context. More often than not, we make the board go into
+S3 by the tools which OSes provide. For windows, click
+Start->sleep. For linux, some distribution provide a tools called
+pm-suspend, which can make the system goto S3. If pm-suspend is not
+available, we can run "echo mem > /sys/power/state", but this way may
+not save all the needed context.
+In S3 state, the power is off. So when the power button is pressed,
+BIOS runs as it does in cold boot. If BIOS didn't detect whether
+board boots or resume, it would go the same way as boot. It is not
+what we expect. BIOS detects the SLP_TYPx. If it is 3, it means BIOS
+are waking up.
+BIOS is responsible for restore the machine state as it is before
+sleep. It needs restore the memory controller, not overwriting memory
+which is marked as reserved. For the peripheral which loses its
+registers, BIOS needs to write the original value.
+When everything is done, BIOS needs to find out the wakeup vector
+provided by OSes and jump there. OSes also have work to do. We can go
+to linux kernel or some other open source projects to find out how they
+handle S3 resume.
+
+Memory Layout
+=============
+Restoring memory is the most important job done by BIOS. When the
+power is off, the memory is maintained by standby power. BIOS need to
+make sure that when flow goes to OS, everything in memory should be
+the same as it was.
+
+The chip vendor will provide a way, or code, to wake up the memory
+from sleeping. In AGESA 2008 arch, it is called AmdInitResume.
+
+The BIOS itself needs some memory to run. Either, BIOS marks the erea
+as reserved in e820, or BIOS saves the content into reserved space.
+
+Here is the address Map for S3 Resume. Assumingly the total memory is 1GB.
+00000000 --- 00100000 BIOS Reserved area.
+00100000 --- 00200000 Free
+00200000 --- 01000000 Coreboot ramstage area.
+01000000 --- 2e160000 Free
+2e160000 --- 2e170000 ACPI table
+2e170000 --- 2ef70000 OSRAM
+2ef70000 --- 2efe0000 Stack in highmem
+2efe0000 --- 2f000000 heap in highmem
+2f000000 TOM
+
+AMD requirements in S3
+======================
+Chip vendor like AMD will provide bunch of routines to restore the
+board.[2]
+ * AmdS3Save: It is called in cold boot, save required register into
+ non-volatile storage. Currently, we use SPI flash to store the data.
+ * AmdInitResume: Restore the memory controller.
+ * AmdS3LateRestore: Called after AmdInitResume, restore other
+ register that memory.
+ * (SouthBridge)InitS3EarlyRestore, (SouthBridge)InitS3LateRestore:
+ Provided by Southbridge vendor code. Early is called before PCI
+ enumeration, and Late is called after that.
+
+Reference
+=========
+[1] ACPI40
+[2] Coreboot Vendorcode