summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdwin Beasant <edwin_beasant@virtensys.com>2010-07-06 21:05:04 +0000
committerMyles Watson <mylesgw@gmail.com>2010-07-06 21:05:04 +0000
commiteb50c7d922e91f0247b3705eccb2d2eec638c277 (patch)
tree2def570d089b2f6deb2beac165e18756a578e308
parent8376831eafc1be1175529fd21e0d2fe40339d4eb (diff)
downloadcoreboot-eb50c7d922e91f0247b3705eccb2d2eec638c277.tar.gz
coreboot-eb50c7d922e91f0247b3705eccb2d2eec638c277.tar.bz2
coreboot-eb50c7d922e91f0247b3705eccb2d2eec638c277.zip
Re-integrate "USE_OPTION_TABLE" code.
Signed-off-by: Edwin Beasant <edwin_beasant@virtensys.com> Signed-off-by: Myles Watson <mylesgw@gmail.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5653 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--src/Kconfig9
-rw-r--r--src/arch/i386/boot/coreboot_table.c6
-rw-r--r--src/arch/i386/init/bootblock_normal.c2
-rw-r--r--src/cpu/amd/dualcore/dualcore.c4
-rw-r--r--src/cpu/amd/model_10xxx/init_cpus.c9
-rw-r--r--src/cpu/amd/model_fxx/init_cpus.c9
-rw-r--r--src/cpu/amd/quadcore/quadcore.c2
-rw-r--r--src/include/pc80/mc146818rtc.h37
-rw-r--r--src/mainboard/a-trend/atc-6220/Kconfig5
-rw-r--r--src/mainboard/a-trend/atc-6240/Kconfig5
-rw-r--r--src/mainboard/abit/be6-ii_v2_0/Kconfig5
-rw-r--r--src/mainboard/advantech/pcm-5820/Kconfig5
-rw-r--r--src/mainboard/amd/db800/Kconfig5
-rw-r--r--src/mainboard/amd/dbm690t/Kconfig1
-rw-r--r--src/mainboard/amd/dbm690t/romstage.c3
-rw-r--r--src/mainboard/amd/mahogany/Kconfig1
-rw-r--r--src/mainboard/amd/mahogany/romstage.c3
-rw-r--r--src/mainboard/amd/mahogany_fam10/Kconfig1
-rw-r--r--src/mainboard/amd/mahogany_fam10/romstage.c1
-rw-r--r--src/mainboard/amd/norwich/Kconfig5
-rw-r--r--src/mainboard/amd/pistachio/Kconfig1
-rw-r--r--src/mainboard/amd/pistachio/romstage.c3
-rw-r--r--src/mainboard/amd/rumba/Kconfig5
-rw-r--r--src/mainboard/amd/serengeti_cheetah/Kconfig1
-rw-r--r--src/mainboard/amd/serengeti_cheetah/ap_romstage.c3
-rw-r--r--src/mainboard/amd/serengeti_cheetah/romstage.c3
-rw-r--r--src/mainboard/amd/serengeti_cheetah_fam10/Kconfig1
-rw-r--r--src/mainboard/amd/serengeti_cheetah_fam10/romstage.c1
-rw-r--r--src/mainboard/amd/tilapia_fam10/Kconfig1
-rw-r--r--src/mainboard/amd/tilapia_fam10/romstage.c1
-rw-r--r--src/mainboard/arima/hdama/Kconfig1
-rw-r--r--src/mainboard/arima/hdama/romstage.c3
-rw-r--r--src/mainboard/artecgroup/dbe61/Kconfig5
-rw-r--r--src/mainboard/asi/mb_5blgp/Kconfig5
-rw-r--r--src/mainboard/asi/mb_5blmp/Kconfig5
-rw-r--r--src/mainboard/asrock/939a785gmh/Kconfig1
-rw-r--r--src/mainboard/asrock/939a785gmh/romstage.c3
-rw-r--r--src/mainboard/asus/a8n_e/Kconfig1
-rw-r--r--src/mainboard/asus/a8n_e/romstage.c3
-rw-r--r--src/mainboard/asus/a8v-e_se/Kconfig1
-rw-r--r--src/mainboard/asus/a8v-e_se/romstage.c3
-rw-r--r--src/mainboard/asus/m2v-mx_se/romstage.c3
-rw-r--r--src/mainboard/asus/mew-am/Kconfig5
-rw-r--r--src/mainboard/asus/mew-vm/Kconfig1
-rw-r--r--src/mainboard/asus/p2b-d/Kconfig5
-rw-r--r--src/mainboard/asus/p2b-ds/Kconfig5
-rw-r--r--src/mainboard/asus/p2b-f/Kconfig5
-rw-r--r--src/mainboard/asus/p2b-ls/Kconfig5
-rw-r--r--src/mainboard/asus/p2b/Kconfig5
-rw-r--r--src/mainboard/asus/p3b-f/Kconfig5
-rw-r--r--src/mainboard/axus/tc320/Kconfig5
-rw-r--r--src/mainboard/azza/pt-6ibd/Kconfig5
-rw-r--r--src/mainboard/bcom/winnet100/Kconfig5
-rw-r--r--src/mainboard/bcom/winnetp680/Kconfig1
-rw-r--r--src/mainboard/biostar/m6tba/Kconfig5
-rw-r--r--src/mainboard/broadcom/blast/Kconfig1
-rw-r--r--src/mainboard/broadcom/blast/romstage.c3
-rw-r--r--src/mainboard/compaq/deskpro_en_sff_p600/Kconfig5
-rw-r--r--src/mainboard/dell/s1850/Kconfig1
-rw-r--r--src/mainboard/dell/s1850/romstage.c3
-rw-r--r--src/mainboard/digitallogic/adl855pc/Kconfig1
-rw-r--r--src/mainboard/digitallogic/adl855pc/romstage.c3
-rw-r--r--src/mainboard/digitallogic/msm586seg/Kconfig1
-rw-r--r--src/mainboard/digitallogic/msm586seg/romstage.c2
-rw-r--r--src/mainboard/digitallogic/msm800sev/Kconfig5
-rw-r--r--src/mainboard/eaglelion/5bcm/Kconfig5
-rw-r--r--src/mainboard/ecs/p6iwp-fe/Kconfig5
-rw-r--r--src/mainboard/emulation/qemu-x86/Kconfig1
-rw-r--r--src/mainboard/emulation/qemu-x86/romstage.c3
-rw-r--r--src/mainboard/getac/p470/Kconfig1
-rw-r--r--src/mainboard/getac/p470/romstage.c3
-rw-r--r--src/mainboard/gigabyte/ga-6bxc/Kconfig5
-rw-r--r--src/mainboard/gigabyte/ga-6bxe/Kconfig5
-rw-r--r--src/mainboard/gigabyte/ga_2761gxdk/Kconfig1
-rw-r--r--src/mainboard/gigabyte/ga_2761gxdk/ap_romstage.c3
-rw-r--r--src/mainboard/gigabyte/ga_2761gxdk/romstage.c3
-rw-r--r--src/mainboard/gigabyte/m57sli/Kconfig1
-rw-r--r--src/mainboard/gigabyte/m57sli/ap_romstage.c3
-rw-r--r--src/mainboard/gigabyte/m57sli/romstage.c3
-rw-r--r--src/mainboard/hp/dl145_g3/Kconfig1
-rw-r--r--src/mainboard/hp/dl145_g3/romstage.c3
-rw-r--r--src/mainboard/hp/e_vectra_p2706t/Kconfig5
-rw-r--r--src/mainboard/ibase/mb899/Kconfig1
-rw-r--r--src/mainboard/ibase/mb899/romstage.c3
-rw-r--r--src/mainboard/ibm/e325/Kconfig1
-rw-r--r--src/mainboard/ibm/e325/romstage.c3
-rw-r--r--src/mainboard/ibm/e326/Kconfig1
-rw-r--r--src/mainboard/ibm/e326/romstage.c3
-rw-r--r--src/mainboard/iei/pcisa-lx-800-r10/Kconfig5
-rw-r--r--src/mainboard/intel/d810e2cb/Kconfig5
-rw-r--r--src/mainboard/intel/d945gclf/Kconfig1
-rw-r--r--src/mainboard/intel/d945gclf/romstage.c3
-rw-r--r--src/mainboard/intel/eagleheights/Kconfig1
-rw-r--r--src/mainboard/intel/eagleheights/romstage.c3
-rw-r--r--src/mainboard/intel/jarrell/Kconfig1
-rw-r--r--src/mainboard/intel/jarrell/romstage.c3
-rw-r--r--src/mainboard/intel/mtarvon/Kconfig5
-rw-r--r--src/mainboard/intel/mtarvon/romstage.c2
-rw-r--r--src/mainboard/intel/truxton/Kconfig5
-rw-r--r--src/mainboard/intel/truxton/romstage.c2
-rw-r--r--src/mainboard/intel/xe7501devkit/Kconfig1
-rw-r--r--src/mainboard/intel/xe7501devkit/romstage.c3
-rw-r--r--src/mainboard/iwill/dk8_htx/Kconfig1
-rw-r--r--src/mainboard/iwill/dk8_htx/romstage.c3
-rw-r--r--src/mainboard/iwill/dk8s2/Kconfig1
-rw-r--r--src/mainboard/iwill/dk8s2/romstage.c3
-rw-r--r--src/mainboard/iwill/dk8x/Kconfig1
-rw-r--r--src/mainboard/iwill/dk8x/romstage.c3
-rw-r--r--src/mainboard/jetway/j7f24/Kconfig1
-rw-r--r--src/mainboard/kontron/986lcd-m/Kconfig1
-rw-r--r--src/mainboard/kontron/986lcd-m/romstage.c3
-rw-r--r--src/mainboard/kontron/kt690/Kconfig1
-rw-r--r--src/mainboard/kontron/kt690/romstage.c3
-rw-r--r--src/mainboard/lippert/frontrunner/Kconfig5
-rw-r--r--src/mainboard/lippert/roadrunner-lx/Kconfig5
-rw-r--r--src/mainboard/lippert/spacerunner-lx/Kconfig5
-rw-r--r--src/mainboard/mitac/6513wu/Kconfig5
-rw-r--r--src/mainboard/msi/ms6119/Kconfig5
-rw-r--r--src/mainboard/msi/ms6147/Kconfig5
-rw-r--r--src/mainboard/msi/ms6156/Kconfig5
-rw-r--r--src/mainboard/msi/ms6178/Kconfig5
-rw-r--r--src/mainboard/msi/ms7135/Kconfig1
-rw-r--r--src/mainboard/msi/ms7135/romstage.c3
-rw-r--r--src/mainboard/msi/ms7260/Kconfig1
-rw-r--r--src/mainboard/msi/ms7260/ap_romstage.c3
-rw-r--r--src/mainboard/msi/ms7260/romstage.c3
-rw-r--r--src/mainboard/msi/ms9185/Kconfig1
-rw-r--r--src/mainboard/msi/ms9185/romstage.c3
-rw-r--r--src/mainboard/msi/ms9282/Kconfig1
-rw-r--r--src/mainboard/msi/ms9282/romstage.c3
-rw-r--r--src/mainboard/msi/ms9652_fam10/Kconfig5
-rw-r--r--src/mainboard/msi/ms9652_fam10/romstage.c1
-rw-r--r--src/mainboard/nec/powermate2000/Kconfig5
-rw-r--r--src/mainboard/newisys/khepri/Kconfig1
-rw-r--r--src/mainboard/newisys/khepri/romstage.c3
-rw-r--r--src/mainboard/nokia/ip530/Kconfig5
-rw-r--r--src/mainboard/nvidia/l1_2pvv/Kconfig1
-rw-r--r--src/mainboard/nvidia/l1_2pvv/ap_romstage.c3
-rw-r--r--src/mainboard/nvidia/l1_2pvv/romstage.c3
-rw-r--r--src/mainboard/olpc/btest/Kconfig5
-rw-r--r--src/mainboard/olpc/rev_a/Kconfig5
-rw-r--r--src/mainboard/pcengines/alix1c/Kconfig5
-rw-r--r--src/mainboard/rca/rm4100/Kconfig5
-rw-r--r--src/mainboard/roda/rk886ex/Kconfig1
-rw-r--r--src/mainboard/roda/rk886ex/romstage.c3
-rw-r--r--src/mainboard/soyo/sy-6ba-plus-iii/Kconfig5
-rw-r--r--src/mainboard/sunw/ultra40/Kconfig1
-rw-r--r--src/mainboard/sunw/ultra40/romstage.c3
-rw-r--r--src/mainboard/supermicro/h8dme/Kconfig1
-rw-r--r--src/mainboard/supermicro/h8dme/ap_romstage.c3
-rw-r--r--src/mainboard/supermicro/h8dme/romstage.c3
-rw-r--r--src/mainboard/supermicro/h8dmr/Kconfig1
-rw-r--r--src/mainboard/supermicro/h8dmr/ap_romstage.c3
-rw-r--r--src/mainboard/supermicro/h8dmr/romstage.c3
-rw-r--r--src/mainboard/supermicro/h8dmr_fam10/Kconfig1
-rw-r--r--src/mainboard/supermicro/h8dmr_fam10/romstage.c1
-rw-r--r--src/mainboard/supermicro/h8qme_fam10/Kconfig1
-rw-r--r--src/mainboard/supermicro/h8qme_fam10/romstage.c1
-rw-r--r--src/mainboard/supermicro/x6dai_g/Kconfig1
-rw-r--r--src/mainboard/supermicro/x6dai_g/romstage.c3
-rw-r--r--src/mainboard/supermicro/x6dhe_g/Kconfig1
-rw-r--r--src/mainboard/supermicro/x6dhe_g/romstage.c3
-rw-r--r--src/mainboard/supermicro/x6dhe_g2/Kconfig1
-rw-r--r--src/mainboard/supermicro/x6dhe_g2/romstage.c3
-rw-r--r--src/mainboard/supermicro/x6dhr_ig/Kconfig1
-rw-r--r--src/mainboard/supermicro/x6dhr_ig/romstage.c3
-rw-r--r--src/mainboard/supermicro/x6dhr_ig2/Kconfig1
-rw-r--r--src/mainboard/supermicro/x6dhr_ig2/romstage.c3
-rw-r--r--src/mainboard/technexion/tim5690/Kconfig1
-rw-r--r--src/mainboard/technexion/tim5690/romstage.c3
-rw-r--r--src/mainboard/technexion/tim8690/Kconfig1
-rw-r--r--src/mainboard/technexion/tim8690/romstage.c3
-rw-r--r--src/mainboard/technologic/ts5300/Kconfig1
-rw-r--r--src/mainboard/technologic/ts5300/romstage.c2
-rw-r--r--src/mainboard/televideo/tc7020/Kconfig5
-rw-r--r--src/mainboard/thomson/ip1000/Kconfig5
-rw-r--r--src/mainboard/traverse/geos/Kconfig5
-rw-r--r--src/mainboard/tyan/s1846/Kconfig4
-rw-r--r--src/mainboard/tyan/s2735/romstage.c3
-rw-r--r--src/mainboard/tyan/s2850/Kconfig1
-rw-r--r--src/mainboard/tyan/s2850/romstage.c3
-rw-r--r--src/mainboard/tyan/s2875/Kconfig1
-rw-r--r--src/mainboard/tyan/s2875/romstage.c3
-rw-r--r--src/mainboard/tyan/s2880/Kconfig1
-rw-r--r--src/mainboard/tyan/s2880/romstage.c3
-rw-r--r--src/mainboard/tyan/s2881/Kconfig1
-rw-r--r--src/mainboard/tyan/s2881/romstage.c3
-rw-r--r--src/mainboard/tyan/s2882/Kconfig1
-rw-r--r--src/mainboard/tyan/s2882/romstage.c3
-rw-r--r--src/mainboard/tyan/s2885/Kconfig1
-rw-r--r--src/mainboard/tyan/s2885/romstage.c3
-rw-r--r--src/mainboard/tyan/s2891/Kconfig1
-rw-r--r--src/mainboard/tyan/s2891/romstage.c3
-rw-r--r--src/mainboard/tyan/s2892/Kconfig1
-rw-r--r--src/mainboard/tyan/s2892/romstage.c3
-rw-r--r--src/mainboard/tyan/s2895/Kconfig1
-rw-r--r--src/mainboard/tyan/s2895/romstage.c3
-rw-r--r--src/mainboard/tyan/s2912/Kconfig1
-rw-r--r--src/mainboard/tyan/s2912/ap_romstage.c3
-rw-r--r--src/mainboard/tyan/s2912/romstage.c3
-rw-r--r--src/mainboard/tyan/s2912_fam10/Kconfig1
-rw-r--r--src/mainboard/tyan/s2912_fam10/romstage.c1
-rw-r--r--src/mainboard/tyan/s4880/Kconfig1
-rw-r--r--src/mainboard/tyan/s4880/romstage.c3
-rw-r--r--src/mainboard/tyan/s4882/Kconfig1
-rw-r--r--src/mainboard/tyan/s4882/romstage.c3
-rw-r--r--src/mainboard/via/epia-cn/Kconfig1
-rw-r--r--src/mainboard/via/epia-m/Kconfig1
-rw-r--r--src/mainboard/via/epia-m700/Kconfig1
-rw-r--r--src/mainboard/via/epia-n/Kconfig1
-rw-r--r--src/mainboard/via/epia/Kconfig1
-rw-r--r--src/mainboard/via/pc2500e/Kconfig1
-rw-r--r--src/mainboard/via/pc2500e/romstage.c3
-rw-r--r--src/mainboard/via/vt8454c/Kconfig1
-rw-r--r--src/mainboard/winent/pl6064/Kconfig5
-rw-r--r--src/mainboard/wyse/s50/Kconfig5
-rw-r--r--src/northbridge/amd/amdk8/coherent_ht.c4
-rw-r--r--src/northbridge/amd/amdk8/raminit.c8
-rw-r--r--src/northbridge/intel/i945/raminit.c3
-rw-r--r--src/pc80/Makefile.inc2
-rw-r--r--src/pc80/mc146818rtc.c36
-rw-r--r--src/pc80/mc146818rtc_early.c31
-rw-r--r--src/pc80/serial.c5
-rw-r--r--util/options/build_opt_tbl.c1
224 files changed, 223 insertions, 508 deletions
diff --git a/src/Kconfig b/src/Kconfig
index afddca93754b..fd1ed1aa5a66 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -83,6 +83,7 @@ config CCACHE
config USE_OPTION_TABLE
bool "Use CMOS for configuration values"
default n
+ depends on HAVE_OPTION_TABLE
help
Enable this option if coreboot shall read options from the "CMOS"
NVRAM instead of using hard coded values.
@@ -189,13 +190,17 @@ config HAVE_MAINBOARD_RESOURCES
bool
default n
+config USE_OPTION_TABLE
+ bool
+ default n
+
config HAVE_OPTION_TABLE
bool
- default y
+ default n
help
This variable specifies whether a given board has a cmos.layout
file containing NVRAM/CMOS bit definitions.
- It defaults to 'y' but can be changed to 'n' in mainboard/*/Kconfig.
+ It defaults to 'n' but can be selected in mainboard/*/Kconfig.
config PIRQ_ROUTE
bool
diff --git a/src/arch/i386/boot/coreboot_table.c b/src/arch/i386/boot/coreboot_table.c
index 8053fc133360..f44e3dd5007e 100644
--- a/src/arch/i386/boot/coreboot_table.c
+++ b/src/arch/i386/boot/coreboot_table.c
@@ -29,7 +29,7 @@
#include <version.h>
#include <device/device.h>
#include <stdlib.h>
-#if (CONFIG_HAVE_OPTION_TABLE == 1)
+#if (CONFIG_USE_OPTION_TABLE == 1)
#include <option_table.h>
#endif
@@ -188,7 +188,7 @@ static struct lb_mainboard *lb_mainboard(struct lb_header *header)
return mainboard;
}
-#if (CONFIG_HAVE_OPTION_TABLE == 1)
+#if (CONFIG_USE_OPTION_TABLE == 1)
static struct cmos_checksum *lb_cmos_checksum(struct lb_header *header)
{
struct lb_record *rec;
@@ -535,7 +535,7 @@ unsigned long write_coreboot_table(
rom_table_end &= ~0xffff;
printk(BIOS_DEBUG, "0x%08lx \n", rom_table_end);
-#if (CONFIG_HAVE_OPTION_TABLE == 1)
+#if (CONFIG_USE_OPTION_TABLE == 1)
{
struct lb_record *rec_dest = lb_new_record(head);
/* Copy the option config table, it's already a lb_record... */
diff --git a/src/arch/i386/init/bootblock_normal.c b/src/arch/i386/init/bootblock_normal.c
index 0e5bd25556d8..1f3f6c2ea58a 100644
--- a/src/arch/i386/init/bootblock_normal.c
+++ b/src/arch/i386/init/bootblock_normal.c
@@ -2,7 +2,7 @@
#include <arch/io.h>
#include "arch/romcc_io.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
static void main(unsigned long bist)
{
diff --git a/src/cpu/amd/dualcore/dualcore.c b/src/cpu/amd/dualcore/dualcore.c
index 99a0dbbb8be8..f13a62cbe7fa 100644
--- a/src/cpu/amd/dualcore/dualcore.c
+++ b/src/cpu/amd/dualcore/dualcore.c
@@ -6,6 +6,7 @@
#endif
#include "cpu/amd/dualcore/dualcore_id.c"
+#include <pc80/mc146818rtc.h>
static inline unsigned get_core_num_in_bsp(unsigned nodeid)
{
@@ -56,8 +57,7 @@ static inline void start_other_cores(void)
unsigned nodes;
unsigned nodeid;
- if (CONFIG_HAVE_OPTION_TABLE &&
- read_option(CMOS_VSTART_multi_core, CMOS_VLEN_multi_core, 0) != 0) {
+ if (read_option(CMOS_VSTART_multi_core, CMOS_VLEN_multi_core, 0)) {
return; // disable multi_core
}
diff --git a/src/cpu/amd/model_10xxx/init_cpus.c b/src/cpu/amd/model_10xxx/init_cpus.c
index 48a32f8e2646..43a62256f5ee 100644
--- a/src/cpu/amd/model_10xxx/init_cpus.c
+++ b/src/cpu/amd/model_10xxx/init_cpus.c
@@ -109,13 +109,12 @@ static void for_each_ap(u32 bsp_apicid, u32 core_range, process_ap_t process_ap,
/* get_nodes define in ht_wrapper.c */
nodes = get_nodes();
- disable_siblings = !CONFIG_LOGICAL_CPUS;
-
-#if CONFIG_LOGICAL_CPUS == 1 && CONFIG_HAVE_OPTION_TABLE == 1
- if (read_option(CMOS_VSTART_multi_core, CMOS_VLEN_multi_core, 0) != 0) { // 0 mean multi core
+ if (!CONFIG_LOGICAL_CPUS ||
+ read_option(CMOS_VSTART_multi_core, CMOS_VLEN_multi_core, 0) != 0) { // 0 means multi core
disable_siblings = 1;
+ } else {
+ disable_siblings = 0;
}
-#endif
/* Assume that all node are same stepping, otherwise we can use use
nb_cfg_54 from bsp for all nodes */
diff --git a/src/cpu/amd/model_fxx/init_cpus.c b/src/cpu/amd/model_fxx/init_cpus.c
index fb8fbaa9d296..3fad4e19e33a 100644
--- a/src/cpu/amd/model_fxx/init_cpus.c
+++ b/src/cpu/amd/model_fxx/init_cpus.c
@@ -36,13 +36,12 @@ static void for_each_ap(u32 bsp_apicid, u32 core_range, process_ap_t process_ap,
/* get_nodes define in in_coherent_ht.c */
nodes = get_nodes();
- disable_siblings = !CONFIG_LOGICAL_CPUS;
-
-#if CONFIG_LOGICAL_CPUS == 1 && CONFIG_HAVE_OPTION_TABLE == 1
- if (read_option(CMOS_VSTART_multi_core, CMOS_VLEN_multi_core, 0) != 0) { // 0 mean multi core
+ if (!CONFIG_LOGICAL_CPUS ||
+ read_option(CMOS_VSTART_multi_core, CMOS_VLEN_multi_core, 0) != 0) { // 0 means multi core
disable_siblings = 1;
+ } else {
+ disable_siblings = 0;
}
-#endif
/* here I assume that all node are same stepping, otherwise we can use use nb_cfg_54 from bsp for all nodes */
nb_cfg_54 = read_nb_cfg_54();
diff --git a/src/cpu/amd/quadcore/quadcore.c b/src/cpu/amd/quadcore/quadcore.c
index cb256c4d7dbd..e0659892ef9f 100644
--- a/src/cpu/amd/quadcore/quadcore.c
+++ b/src/cpu/amd/quadcore/quadcore.c
@@ -18,7 +18,7 @@
*/
#include <console/console.h>
-#include <pc80/mc146818rtc_early.c>
+#include <pc80/mc146818rtc.h>
#include <northbridge/amd/amdht/ht_wrapper.c>
#ifndef SET_NB_CFG_54
diff --git a/src/include/pc80/mc146818rtc.h b/src/include/pc80/mc146818rtc.h
index cd8c8181aa81..0abb2a6b4b5f 100644
--- a/src/include/pc80/mc146818rtc.h
+++ b/src/include/pc80/mc146818rtc.h
@@ -85,15 +85,48 @@
* LB_CKS_RANGE_START, LB_CKS_RANGE_END and LB_CKS_LOC are defined
* in option_table.h
*/
+#if CONFIG_HAVE_OPTION_TABLE
+#include <option_table.h>
+#endif
+
+#ifndef UTIL_BUILD_OPTION_TABLE
+#include <arch/io.h>
+static inline unsigned char cmos_read(unsigned char addr)
+{
+ int offs = 0;
+ if (addr >= 128) {
+ offs = 2;
+ addr -= 128;
+ }
+ outb(addr, RTC_BASE_PORT + offs + 0);
+ return inb(RTC_BASE_PORT + offs + 1);
+}
-#if !defined(ASSEMBLY) && !defined(__PRE_RAM__)
+static inline void cmos_write(unsigned char val, unsigned char addr)
+{
+ int offs = 0;
+ if (addr >= 128) {
+ offs = 2;
+ addr -= 128;
+ }
+ outb(addr, RTC_BASE_PORT + offs + 0);
+ outb(val, RTC_BASE_PORT + offs + 1);
+}
+#endif
+
+#if !defined(__ROMCC__)
void rtc_init(int invalid);
-#if CONFIG_USE_OPTION_TABLE == 1
+#if CONFIG_USE_OPTION_TABLE
int get_option(void *dest, const char *name);
+unsigned read_option(unsigned start, unsigned size, unsigned def);
#else
static inline int get_option(void *dest __attribute__((unused)),
const char *name __attribute__((unused))) { return -2; }
+static inline unsigned read_option(unsigned start, unsigned size, unsigned def)
+ { return def; }
#endif
+#else
+#include <pc80/mc146818rtc_early.c>
#endif
#endif /* PC80_MC146818RTC_H */
diff --git a/src/mainboard/a-trend/atc-6220/Kconfig b/src/mainboard/a-trend/atc-6220/Kconfig
index 36c7b7c81493..413252890158 100644
--- a/src/mainboard/a-trend/atc-6220/Kconfig
+++ b/src/mainboard/a-trend/atc-6220/Kconfig
@@ -39,11 +39,6 @@ config MAINBOARD_PART_NUMBER
default "ATC-6220"
depends on BOARD_A_TREND_ATC_6220
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_A_TREND_ATC_6220
-
config IRQ_SLOT_COUNT
int
default 7
diff --git a/src/mainboard/a-trend/atc-6240/Kconfig b/src/mainboard/a-trend/atc-6240/Kconfig
index 54aa628d3189..6295b46ae698 100644
--- a/src/mainboard/a-trend/atc-6240/Kconfig
+++ b/src/mainboard/a-trend/atc-6240/Kconfig
@@ -39,11 +39,6 @@ config MAINBOARD_PART_NUMBER
default "ATC-6240"
depends on BOARD_A_TREND_ATC_6240
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_A_TREND_ATC_6240
-
config IRQ_SLOT_COUNT
int
default 7
diff --git a/src/mainboard/abit/be6-ii_v2_0/Kconfig b/src/mainboard/abit/be6-ii_v2_0/Kconfig
index e28e678ef619..851820e0ca1e 100644
--- a/src/mainboard/abit/be6-ii_v2_0/Kconfig
+++ b/src/mainboard/abit/be6-ii_v2_0/Kconfig
@@ -39,11 +39,6 @@ config MAINBOARD_PART_NUMBER
default "BE6-II V2.0"
depends on BOARD_ABIT_BE6_II_V2_0
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_ABIT_BE6_II_V2_0
-
config IRQ_SLOT_COUNT
int
default 9
diff --git a/src/mainboard/advantech/pcm-5820/Kconfig b/src/mainboard/advantech/pcm-5820/Kconfig
index ecf32faebc37..9b79e59a081f 100644
--- a/src/mainboard/advantech/pcm-5820/Kconfig
+++ b/src/mainboard/advantech/pcm-5820/Kconfig
@@ -40,11 +40,6 @@ config MAINBOARD_PART_NUMBER
default "PCM-5820"
depends on BOARD_ADVANTECH_PCM_5820
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_ADVANTECH_PCM_5820
-
config IRQ_SLOT_COUNT
int
default 2
diff --git a/src/mainboard/amd/db800/Kconfig b/src/mainboard/amd/db800/Kconfig
index 95cd0e7b978c..e25af727ef6a 100644
--- a/src/mainboard/amd/db800/Kconfig
+++ b/src/mainboard/amd/db800/Kconfig
@@ -22,11 +22,6 @@ config MAINBOARD_PART_NUMBER
default "DB800"
depends on BOARD_AMD_DB800
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_AMD_DB800
-
config IRQ_SLOT_COUNT
int
default 4
diff --git a/src/mainboard/amd/dbm690t/Kconfig b/src/mainboard/amd/dbm690t/Kconfig
index 0ba834dcc97a..3071da61a574 100644
--- a/src/mainboard/amd/dbm690t/Kconfig
+++ b/src/mainboard/amd/dbm690t/Kconfig
@@ -11,6 +11,7 @@ config BOARD_AMD_DBM690T
select GENERATE_ACPI_TABLES
select GENERATE_MP_TABLE
select GENERATE_PIRQ_TABLE
+ select HAVE_OPTION_TABLE
select HAVE_MAINBOARD_RESOURCES
select HAVE_BUS_CONFIG
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/amd/dbm690t/romstage.c b/src/mainboard/amd/dbm690t/romstage.c
index 005de2c4094a..5988b75cd7b1 100644
--- a/src/mainboard/amd/dbm690t/romstage.c
+++ b/src/mainboard/amd/dbm690t/romstage.c
@@ -40,8 +40,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/amd/model_fxx_rev.h>
diff --git a/src/mainboard/amd/mahogany/Kconfig b/src/mainboard/amd/mahogany/Kconfig
index 2723da112652..f159ad325fcc 100644
--- a/src/mainboard/amd/mahogany/Kconfig
+++ b/src/mainboard/amd/mahogany/Kconfig
@@ -11,6 +11,7 @@ config BOARD_AMD_MAHOGANY
select GENERATE_ACPI_TABLES
select GENERATE_MP_TABLE
select GENERATE_PIRQ_TABLE
+ select HAVE_OPTION_TABLE
select HAVE_MAINBOARD_RESOURCES
select HAVE_BUS_CONFIG
select LIFT_BSP_APIC_ID
diff --git a/src/mainboard/amd/mahogany/romstage.c b/src/mainboard/amd/mahogany/romstage.c
index af0b5cd163fb..1b3275599e7b 100644
--- a/src/mainboard/amd/mahogany/romstage.c
+++ b/src/mainboard/amd/mahogany/romstage.c
@@ -40,8 +40,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/amd/model_fxx_rev.h>
diff --git a/src/mainboard/amd/mahogany_fam10/Kconfig b/src/mainboard/amd/mahogany_fam10/Kconfig
index 339b9e81db49..8c66e4663056 100644
--- a/src/mainboard/amd/mahogany_fam10/Kconfig
+++ b/src/mainboard/amd/mahogany_fam10/Kconfig
@@ -8,6 +8,7 @@ config BOARD_AMD_MAHOGANY_FAM10
select SUPERIO_ITE_IT8718F
select BOARD_HAS_FADT
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select GENERATE_PIRQ_TABLE
select GENERATE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/amd/mahogany_fam10/romstage.c b/src/mainboard/amd/mahogany_fam10/romstage.c
index fa08e357b30d..707d7f2a7bda 100644
--- a/src/mainboard/amd/mahogany_fam10/romstage.c
+++ b/src/mainboard/amd/mahogany_fam10/romstage.c
@@ -45,7 +45,6 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
#include <console/console.h>
#include "lib/ramtest.c"
#include <cpu/amd/model_10xxx_rev.h>
diff --git a/src/mainboard/amd/norwich/Kconfig b/src/mainboard/amd/norwich/Kconfig
index 007d8502d212..2dd968882cd0 100644
--- a/src/mainboard/amd/norwich/Kconfig
+++ b/src/mainboard/amd/norwich/Kconfig
@@ -21,11 +21,6 @@ config MAINBOARD_PART_NUMBER
default "Norwich"
depends on BOARD_AMD_NORWICH
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_AMD_NORWICH
-
config IRQ_SLOT_COUNT
int
default 6
diff --git a/src/mainboard/amd/pistachio/Kconfig b/src/mainboard/amd/pistachio/Kconfig
index 9e866b23e491..a15163db2324 100644
--- a/src/mainboard/amd/pistachio/Kconfig
+++ b/src/mainboard/amd/pistachio/Kconfig
@@ -8,6 +8,7 @@ config BOARD_AMD_PISTACHIO
select SOUTHBRIDGE_AMD_SB600
select BOARD_HAS_FADT
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/amd/pistachio/romstage.c b/src/mainboard/amd/pistachio/romstage.c
index 58806e8ba90f..182fab8a0b95 100644
--- a/src/mainboard/amd/pistachio/romstage.c
+++ b/src/mainboard/amd/pistachio/romstage.c
@@ -34,8 +34,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/amd/model_fxx_rev.h>
diff --git a/src/mainboard/amd/rumba/Kconfig b/src/mainboard/amd/rumba/Kconfig
index 20aa08a431ed..98bea7e33c82 100644
--- a/src/mainboard/amd/rumba/Kconfig
+++ b/src/mainboard/amd/rumba/Kconfig
@@ -38,11 +38,6 @@ config MAINBOARD_PART_NUMBER
default "Rumba"
depends on BOARD_AMD_RUMBA
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_AMD_RUMBA
-
config IRQ_SLOT_COUNT
int
default 2
diff --git a/src/mainboard/amd/serengeti_cheetah/Kconfig b/src/mainboard/amd/serengeti_cheetah/Kconfig
index 9aba165cc2a8..2640d231ff38 100644
--- a/src/mainboard/amd/serengeti_cheetah/Kconfig
+++ b/src/mainboard/amd/serengeti_cheetah/Kconfig
@@ -9,6 +9,7 @@ config BOARD_AMD_SERENGETI_CHEETAH
select SUPERIO_WINBOND_W83627HF
select BOARD_HAS_FADT
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/amd/serengeti_cheetah/ap_romstage.c b/src/mainboard/amd/serengeti_cheetah/ap_romstage.c
index f132ec727cc5..3d7a514dea1c 100644
--- a/src/mainboard/amd/serengeti_cheetah/ap_romstage.c
+++ b/src/mainboard/amd/serengeti_cheetah/ap_romstage.c
@@ -18,8 +18,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include "pc80/serial.c"
#include "./arch/i386/lib/printk_init.c"
diff --git a/src/mainboard/amd/serengeti_cheetah/romstage.c b/src/mainboard/amd/serengeti_cheetah/romstage.c
index f89ea846abc2..65cabe9a4ff6 100644
--- a/src/mainboard/amd/serengeti_cheetah/romstage.c
+++ b/src/mainboard/amd/serengeti_cheetah/romstage.c
@@ -26,8 +26,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/amd/model_fxx_rev.h>
diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/Kconfig b/src/mainboard/amd/serengeti_cheetah_fam10/Kconfig
index 94a44ea57931..a25bac4ae929 100644
--- a/src/mainboard/amd/serengeti_cheetah_fam10/Kconfig
+++ b/src/mainboard/amd/serengeti_cheetah_fam10/Kconfig
@@ -8,6 +8,7 @@ config BOARD_AMD_SERENGETI_CHEETAH_FAM10
select SUPERIO_WINBOND_W83627HF
select BOARD_HAS_FADT
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/romstage.c b/src/mainboard/amd/serengeti_cheetah_fam10/romstage.c
index 038fbedff912..742700575b42 100644
--- a/src/mainboard/amd/serengeti_cheetah_fam10/romstage.c
+++ b/src/mainboard/amd/serengeti_cheetah_fam10/romstage.c
@@ -45,7 +45,6 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
#include <console/console.h>
#include "lib/ramtest.c"
#include <cpu/amd/model_10xxx_rev.h>
diff --git a/src/mainboard/amd/tilapia_fam10/Kconfig b/src/mainboard/amd/tilapia_fam10/Kconfig
index 1a6c59e3c020..ca527b578381 100644
--- a/src/mainboard/amd/tilapia_fam10/Kconfig
+++ b/src/mainboard/amd/tilapia_fam10/Kconfig
@@ -8,6 +8,7 @@ config BOARD_AMD_TILAPIA_FAM10
select SUPERIO_ITE_IT8718F
select BOARD_HAS_FADT
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select GENERATE_PIRQ_TABLE
select GENERATE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/amd/tilapia_fam10/romstage.c b/src/mainboard/amd/tilapia_fam10/romstage.c
index d8458d7fb17e..70ba6a7e00be 100644
--- a/src/mainboard/amd/tilapia_fam10/romstage.c
+++ b/src/mainboard/amd/tilapia_fam10/romstage.c
@@ -45,7 +45,6 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
#include <console/console.h>
#include "lib/ramtest.c"
#include <cpu/amd/model_10xxx_rev.h>
diff --git a/src/mainboard/arima/hdama/Kconfig b/src/mainboard/arima/hdama/Kconfig
index 521f7ff491e4..6b2e5947de26 100644
--- a/src/mainboard/arima/hdama/Kconfig
+++ b/src/mainboard/arima/hdama/Kconfig
@@ -8,6 +8,7 @@ config BOARD_ARIMA_HDAMA
select SOUTHBRIDGE_AMD_AMD8131
select SUPERIO_NSC_PC87360
select HAVE_PIRQ_TABLE
+ select HAVE_OPTION_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
select USE_DCACHE_RAM
diff --git a/src/mainboard/arima/hdama/romstage.c b/src/mainboard/arima/hdama/romstage.c
index cdbea42bde22..78332f838a92 100644
--- a/src/mainboard/arima/hdama/romstage.c
+++ b/src/mainboard/arima/hdama/romstage.c
@@ -5,8 +5,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/artecgroup/dbe61/Kconfig b/src/mainboard/artecgroup/dbe61/Kconfig
index 6803b9375667..dfb82c695c30 100644
--- a/src/mainboard/artecgroup/dbe61/Kconfig
+++ b/src/mainboard/artecgroup/dbe61/Kconfig
@@ -21,11 +21,6 @@ config MAINBOARD_PART_NUMBER
default "DBE61"
depends on BOARD_ARTECGROUP_DBE61
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_ARTECGROUP_DBE61
-
config IRQ_SLOT_COUNT
int
default 3
diff --git a/src/mainboard/asi/mb_5blgp/Kconfig b/src/mainboard/asi/mb_5blgp/Kconfig
index bce92ab89390..1734536f383e 100644
--- a/src/mainboard/asi/mb_5blgp/Kconfig
+++ b/src/mainboard/asi/mb_5blgp/Kconfig
@@ -40,11 +40,6 @@ config MAINBOARD_PART_NUMBER
default "MB-5BLGP"
depends on BOARD_ASI_MB_5BLGP
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_ASI_MB_5BLGP
-
config IRQ_SLOT_COUNT
int
default 3
diff --git a/src/mainboard/asi/mb_5blmp/Kconfig b/src/mainboard/asi/mb_5blmp/Kconfig
index 76706b1e4eb1..6434c7878bfd 100644
--- a/src/mainboard/asi/mb_5blmp/Kconfig
+++ b/src/mainboard/asi/mb_5blmp/Kconfig
@@ -40,11 +40,6 @@ config MAINBOARD_PART_NUMBER
default "MB-5BLMP"
depends on BOARD_ASI_MB_5BLMP
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_ASI_MB_5BLMP
-
config IRQ_SLOT_COUNT
int
default 5
diff --git a/src/mainboard/asrock/939a785gmh/Kconfig b/src/mainboard/asrock/939a785gmh/Kconfig
index 6736e30c0c32..2ff4a43a606c 100644
--- a/src/mainboard/asrock/939a785gmh/Kconfig
+++ b/src/mainboard/asrock/939a785gmh/Kconfig
@@ -13,6 +13,7 @@ config BOARD_ASROCK_939A785GMH
select GENERATE_MP_TABLE
select GENERATE_PIRQ_TABLE
select HAVE_MAINBOARD_RESOURCES
+ select HAVE_OPTION_TABLE
select HAVE_BUS_CONFIG
select LIFT_BSP_APIC_ID
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/asrock/939a785gmh/romstage.c b/src/mainboard/asrock/939a785gmh/romstage.c
index 8060b4a3d65d..76c4414b7521 100644
--- a/src/mainboard/asrock/939a785gmh/romstage.c
+++ b/src/mainboard/asrock/939a785gmh/romstage.c
@@ -41,8 +41,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/amd/model_fxx_rev.h>
diff --git a/src/mainboard/asus/a8n_e/Kconfig b/src/mainboard/asus/a8n_e/Kconfig
index 19a6d86a3e24..a624e2b01122 100644
--- a/src/mainboard/asus/a8n_e/Kconfig
+++ b/src/mainboard/asus/a8n_e/Kconfig
@@ -7,6 +7,7 @@ config BOARD_ASUS_A8N_E
select SOUTHBRIDGE_NVIDIA_CK804
select SUPERIO_ITE_IT8712F
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/asus/a8n_e/romstage.c b/src/mainboard/asus/a8n_e/romstage.c
index 8f2d6ba3dc76..4b101d1c9cb5 100644
--- a/src/mainboard/asus/a8n_e/romstage.c
+++ b/src/mainboard/asus/a8n_e/romstage.c
@@ -38,8 +38,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include "cpu/x86/lapic/boot_cpu.c"
#include "northbridge/amd/amdk8/reset_test.c"
#include "superio/ite/it8712f/it8712f_early_serial.c"
diff --git a/src/mainboard/asus/a8v-e_se/Kconfig b/src/mainboard/asus/a8v-e_se/Kconfig
index d0dfaf50fd7b..f794b2a9f38b 100644
--- a/src/mainboard/asus/a8v-e_se/Kconfig
+++ b/src/mainboard/asus/a8v-e_se/Kconfig
@@ -10,6 +10,7 @@ config BOARD_ASUS_A8V_E_SE
select SUPERIO_WINBOND_W83627EHG
select USE_PRINTK_IN_CAR
select USE_DCACHE_RAM
+ select HAVE_OPTION_TABLE
select HAVE_ACPI_TABLES
select HAVE_MP_TABLE
select BOARD_ROMSIZE_KB_512
diff --git a/src/mainboard/asus/a8v-e_se/romstage.c b/src/mainboard/asus/a8v-e_se/romstage.c
index 4bed32b02ce4..1f56947eed4a 100644
--- a/src/mainboard/asus/a8v-e_se/romstage.c
+++ b/src/mainboard/asus/a8v-e_se/romstage.c
@@ -44,8 +44,7 @@ unsigned int get_sbdn(unsigned bus);
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/amd/model_fxx_rev.h>
#include "northbridge/amd/amdk8/raminit.h"
diff --git a/src/mainboard/asus/m2v-mx_se/romstage.c b/src/mainboard/asus/m2v-mx_se/romstage.c
index 2ee0fb0ef9c3..03086ec1283c 100644
--- a/src/mainboard/asus/m2v-mx_se/romstage.c
+++ b/src/mainboard/asus/m2v-mx_se/romstage.c
@@ -49,8 +49,7 @@ unsigned int get_sbdn(unsigned bus);
#include <arch/romcc_io.h>
#include <cpu/amd/mtrr.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/amd/model_fxx_rev.h>
#include "northbridge/amd/amdk8/raminit.h"
diff --git a/src/mainboard/asus/mew-am/Kconfig b/src/mainboard/asus/mew-am/Kconfig
index c0a5da9875e0..fc0691cb079d 100644
--- a/src/mainboard/asus/mew-am/Kconfig
+++ b/src/mainboard/asus/mew-am/Kconfig
@@ -41,11 +41,6 @@ config MAINBOARD_PART_NUMBER
default "MEW-AM"
depends on BOARD_ASUS_MEW_AM
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_ASUS_MEW_AM
-
config IRQ_SLOT_COUNT
int
default 8
diff --git a/src/mainboard/asus/mew-vm/Kconfig b/src/mainboard/asus/mew-vm/Kconfig
index cab90cc46aea..886bb5b2ab7d 100644
--- a/src/mainboard/asus/mew-vm/Kconfig
+++ b/src/mainboard/asus/mew-vm/Kconfig
@@ -25,6 +25,7 @@ config BOARD_ASUS_MEW_VM
select SOUTHBRIDGE_INTEL_I82801AX
select SUPERIO_SMSC_LPC47B272
select ROMCC
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select UDELAY_TSC
select BOARD_ROMSIZE_KB_512
diff --git a/src/mainboard/asus/p2b-d/Kconfig b/src/mainboard/asus/p2b-d/Kconfig
index 1847c798504a..db9b3e895f39 100644
--- a/src/mainboard/asus/p2b-d/Kconfig
+++ b/src/mainboard/asus/p2b-d/Kconfig
@@ -42,11 +42,6 @@ config MAINBOARD_PART_NUMBER
default "P2B-D"
depends on BOARD_ASUS_P2B_D
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_ASUS_P2B_D
-
config IRQ_SLOT_COUNT
int
default 6
diff --git a/src/mainboard/asus/p2b-ds/Kconfig b/src/mainboard/asus/p2b-ds/Kconfig
index 1448d8146d40..23a96facab9f 100644
--- a/src/mainboard/asus/p2b-ds/Kconfig
+++ b/src/mainboard/asus/p2b-ds/Kconfig
@@ -42,11 +42,6 @@ config MAINBOARD_PART_NUMBER
default "P2B-DS"
depends on BOARD_ASUS_P2B_DS
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_ASUS_P2B_DS
-
config IRQ_SLOT_COUNT
int
default 7
diff --git a/src/mainboard/asus/p2b-f/Kconfig b/src/mainboard/asus/p2b-f/Kconfig
index 0de9b252a638..bddc27617986 100644
--- a/src/mainboard/asus/p2b-f/Kconfig
+++ b/src/mainboard/asus/p2b-f/Kconfig
@@ -39,11 +39,6 @@ config MAINBOARD_PART_NUMBER
default "P2B-F"
depends on BOARD_ASUS_P2B_F
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_ASUS_P2B_F
-
config IRQ_SLOT_COUNT
int
default 7
diff --git a/src/mainboard/asus/p2b-ls/Kconfig b/src/mainboard/asus/p2b-ls/Kconfig
index 5b836d098693..181d1b4cec15 100644
--- a/src/mainboard/asus/p2b-ls/Kconfig
+++ b/src/mainboard/asus/p2b-ls/Kconfig
@@ -40,11 +40,6 @@ config MAINBOARD_PART_NUMBER
default "P2B-LS"
depends on BOARD_ASUS_P2B_LS
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_ASUS_P2B_LS
-
config IRQ_SLOT_COUNT
int
default 8
diff --git a/src/mainboard/asus/p2b/Kconfig b/src/mainboard/asus/p2b/Kconfig
index d60267be35cf..b5ae83e475f3 100644
--- a/src/mainboard/asus/p2b/Kconfig
+++ b/src/mainboard/asus/p2b/Kconfig
@@ -39,11 +39,6 @@ config MAINBOARD_PART_NUMBER
default "P2B"
depends on BOARD_ASUS_P2B
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_ASUS_P2B
-
config IRQ_SLOT_COUNT
int
default 6
diff --git a/src/mainboard/asus/p3b-f/Kconfig b/src/mainboard/asus/p3b-f/Kconfig
index fb3fda8e9b28..5815f6b0876e 100644
--- a/src/mainboard/asus/p3b-f/Kconfig
+++ b/src/mainboard/asus/p3b-f/Kconfig
@@ -40,11 +40,6 @@ config MAINBOARD_PART_NUMBER
default "P3B-F"
depends on BOARD_ASUS_P3B_F
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_ASUS_P3B_F
-
config IRQ_SLOT_COUNT
int
default 8
diff --git a/src/mainboard/axus/tc320/Kconfig b/src/mainboard/axus/tc320/Kconfig
index b391f798e077..6ff4d4f27fef 100644
--- a/src/mainboard/axus/tc320/Kconfig
+++ b/src/mainboard/axus/tc320/Kconfig
@@ -40,11 +40,6 @@ config MAINBOARD_PART_NUMBER
default "TC320"
depends on BOARD_AXUS_TC320
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_AXUS_TC320
-
# Soldered NIC, internal USB, no real PCI slots.
config IRQ_SLOT_COUNT
int
diff --git a/src/mainboard/azza/pt-6ibd/Kconfig b/src/mainboard/azza/pt-6ibd/Kconfig
index 7c40b6f42795..74adf71a3b34 100644
--- a/src/mainboard/azza/pt-6ibd/Kconfig
+++ b/src/mainboard/azza/pt-6ibd/Kconfig
@@ -39,11 +39,6 @@ config MAINBOARD_PART_NUMBER
default "PT-6IBD"
depends on BOARD_AZZA_PT_6IBD
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_AZZA_PT_6IBD
-
config IRQ_SLOT_COUNT
int
default 7
diff --git a/src/mainboard/bcom/winnet100/Kconfig b/src/mainboard/bcom/winnet100/Kconfig
index 7518c4bc9f6e..14979e8fc510 100644
--- a/src/mainboard/bcom/winnet100/Kconfig
+++ b/src/mainboard/bcom/winnet100/Kconfig
@@ -40,11 +40,6 @@ config MAINBOARD_PART_NUMBER
default "WinNET100"
depends on BOARD_BCOM_WINNET100
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_BCOM_WINNET100
-
# Soldered NIC, internal USB, no real PCI slots.
config IRQ_SLOT_COUNT
int
diff --git a/src/mainboard/bcom/winnetp680/Kconfig b/src/mainboard/bcom/winnetp680/Kconfig
index 0bc7b2f12b2c..d02bcfbcf19c 100644
--- a/src/mainboard/bcom/winnetp680/Kconfig
+++ b/src/mainboard/bcom/winnetp680/Kconfig
@@ -6,6 +6,7 @@ config BOARD_BCOM_WINNETP680
select SOUTHBRIDGE_VIA_VT8237R
select SUPERIO_WINBOND_W83697HF
select HAVE_PIRQ_TABLE
+ select HAVE_OPTION_TABLE
select UDELAY_TSC
select BOARD_ROMSIZE_KB_512
diff --git a/src/mainboard/biostar/m6tba/Kconfig b/src/mainboard/biostar/m6tba/Kconfig
index cf98c86f69dc..f96333206c9b 100644
--- a/src/mainboard/biostar/m6tba/Kconfig
+++ b/src/mainboard/biostar/m6tba/Kconfig
@@ -39,11 +39,6 @@ config MAINBOARD_PART_NUMBER
default "M6TBA"
depends on BOARD_BIOSTAR_M6TBA
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_BIOSTAR_M6TBA
-
config IRQ_SLOT_COUNT
int
default 7
diff --git a/src/mainboard/broadcom/blast/Kconfig b/src/mainboard/broadcom/blast/Kconfig
index d2408a36bd2d..bd9573411fdb 100644
--- a/src/mainboard/broadcom/blast/Kconfig
+++ b/src/mainboard/broadcom/blast/Kconfig
@@ -8,6 +8,7 @@ config BOARD_BROADCOM_BLAST
select SOUTHBRIDGE_BROADCOM_BCM5785
select SUPERIO_NSC_PC87417
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/broadcom/blast/romstage.c b/src/mainboard/broadcom/blast/romstage.c
index ada56b0016af..47b9fd24d749 100644
--- a/src/mainboard/broadcom/blast/romstage.c
+++ b/src/mainboard/broadcom/blast/romstage.c
@@ -11,8 +11,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/compaq/deskpro_en_sff_p600/Kconfig b/src/mainboard/compaq/deskpro_en_sff_p600/Kconfig
index 1c79a7924bf9..f4701baa19ff 100644
--- a/src/mainboard/compaq/deskpro_en_sff_p600/Kconfig
+++ b/src/mainboard/compaq/deskpro_en_sff_p600/Kconfig
@@ -40,11 +40,6 @@ config MAINBOARD_PART_NUMBER
default "Deskpro EN SFF P600"
depends on BOARD_COMPAQ_DESKPRO_EN_SFF_P600
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_COMPAQ_DESKPRO_EN_SFF_P600
-
config IRQ_SLOT_COUNT
int
default 5
diff --git a/src/mainboard/dell/s1850/Kconfig b/src/mainboard/dell/s1850/Kconfig
index 7ac83f254d6d..1b0b27bdec58 100644
--- a/src/mainboard/dell/s1850/Kconfig
+++ b/src/mainboard/dell/s1850/Kconfig
@@ -8,6 +8,7 @@ config BOARD_DELL_S1850
select SUPERIO_NSC_PC8374
select ROMCC
select HAVE_HARD_RESET
+ select HAVE_OPTION_TABLE
select BOARD_HAS_HARD_RESET
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
diff --git a/src/mainboard/dell/s1850/romstage.c b/src/mainboard/dell/s1850/romstage.c
index b45fe90d582a..c2533d72e502 100644
--- a/src/mainboard/dell/s1850/romstage.c
+++ b/src/mainboard/dell/s1850/romstage.c
@@ -5,8 +5,7 @@
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
#include <stdlib.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
#include "southbridge/intel/i82801ex/i82801ex_early_smbus.c"
diff --git a/src/mainboard/digitallogic/adl855pc/Kconfig b/src/mainboard/digitallogic/adl855pc/Kconfig
index 78da8f1b1b9b..31b27ed17a95 100644
--- a/src/mainboard/digitallogic/adl855pc/Kconfig
+++ b/src/mainboard/digitallogic/adl855pc/Kconfig
@@ -5,6 +5,7 @@ config BOARD_DIGITALLOGIC_ADL855PC
select NORTHBRIDGE_INTEL_I855
select SOUTHBRIDGE_INTEL_I82801DX
select SUPERIO_WINBOND_W83627HF
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_HARD_RESET
select BOARD_ROMSIZE_KB_1024
diff --git a/src/mainboard/digitallogic/adl855pc/romstage.c b/src/mainboard/digitallogic/adl855pc/romstage.c
index 424b2e1ed944..097ecde8f1b8 100644
--- a/src/mainboard/digitallogic/adl855pc/romstage.c
+++ b/src/mainboard/digitallogic/adl855pc/romstage.c
@@ -4,10 +4,9 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <arch/hlt.h>
-//#include "option_table.h"
#include <stdlib.h>
#include "pc80/udelay_io.c"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
#include "southbridge/intel/i82801dx/i82801dx.h"
diff --git a/src/mainboard/digitallogic/msm586seg/Kconfig b/src/mainboard/digitallogic/msm586seg/Kconfig
index e667a03fef22..5f1abe3e5287 100644
--- a/src/mainboard/digitallogic/msm586seg/Kconfig
+++ b/src/mainboard/digitallogic/msm586seg/Kconfig
@@ -3,6 +3,7 @@ config BOARD_DIGITALLOGIC_MSM586SEG
select ARCH_X86
select CPU_AMD_SC520
select HAVE_PIRQ_TABLE
+ select HAVE_OPTION_TABLE
select BOARD_ROMSIZE_KB_512
select ROMCC
diff --git a/src/mainboard/digitallogic/msm586seg/romstage.c b/src/mainboard/digitallogic/msm586seg/romstage.c
index c93648f60d70..7fbf9d39b63e 100644
--- a/src/mainboard/digitallogic/msm586seg/romstage.c
+++ b/src/mainboard/digitallogic/msm586seg/romstage.c
@@ -4,7 +4,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <arch/hlt.h>
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
#include "cpu/x86/bist.h"
diff --git a/src/mainboard/digitallogic/msm800sev/Kconfig b/src/mainboard/digitallogic/msm800sev/Kconfig
index 06ac45645fe0..4e89beb39374 100644
--- a/src/mainboard/digitallogic/msm800sev/Kconfig
+++ b/src/mainboard/digitallogic/msm800sev/Kconfig
@@ -22,11 +22,6 @@ config MAINBOARD_PART_NUMBER
default "MSM800SEV"
depends on BOARD_DIGITALLOGIC_MSM800SEV
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_DIGITALLOGIC_MSM800SEV
-
config IRQ_SLOT_COUNT
int
default 9
diff --git a/src/mainboard/eaglelion/5bcm/Kconfig b/src/mainboard/eaglelion/5bcm/Kconfig
index 2770aa7f9bf3..0fbd990264a7 100644
--- a/src/mainboard/eaglelion/5bcm/Kconfig
+++ b/src/mainboard/eaglelion/5bcm/Kconfig
@@ -40,11 +40,6 @@ config MAINBOARD_PART_NUMBER
default "5BCM"
depends on BOARD_EAGLELION_5BCM
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_EAGLELION_5BCM
-
config IRQ_SLOT_COUNT
int
default 2
diff --git a/src/mainboard/ecs/p6iwp-fe/Kconfig b/src/mainboard/ecs/p6iwp-fe/Kconfig
index bb2a06daddc8..5748a5712a39 100644
--- a/src/mainboard/ecs/p6iwp-fe/Kconfig
+++ b/src/mainboard/ecs/p6iwp-fe/Kconfig
@@ -42,11 +42,6 @@ config MAINBOARD_PART_NUMBER
default "P6IWP-FE"
depends on BOARD_ECS_P6IWP_FE
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_ECS_P6IWP_FE
-
config IRQ_SLOT_COUNT
int
default 10
diff --git a/src/mainboard/emulation/qemu-x86/Kconfig b/src/mainboard/emulation/qemu-x86/Kconfig
index 27a334d073a8..72f3c273c665 100644
--- a/src/mainboard/emulation/qemu-x86/Kconfig
+++ b/src/mainboard/emulation/qemu-x86/Kconfig
@@ -3,6 +3,7 @@ config BOARD_EMULATION_QEMU_X86
select ARCH_X86
select SOUTHBRIDGE_INTEL_I82371EB
select ROMCC
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select BOARD_ROMSIZE_KB_256
select WARNINGS_ARE_ERRORS
diff --git a/src/mainboard/emulation/qemu-x86/romstage.c b/src/mainboard/emulation/qemu-x86/romstage.c
index 7460a7bde1bf..6f78dea9685f 100644
--- a/src/mainboard/emulation/qemu-x86/romstage.c
+++ b/src/mainboard/emulation/qemu-x86/romstage.c
@@ -5,8 +5,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <arch/hlt.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "pc80/udelay_io.c"
#include "lib/delay.c"
diff --git a/src/mainboard/getac/p470/Kconfig b/src/mainboard/getac/p470/Kconfig
index 1c94c263ab21..fb117b316b60 100644
--- a/src/mainboard/getac/p470/Kconfig
+++ b/src/mainboard/getac/p470/Kconfig
@@ -31,6 +31,7 @@ config BOARD_GETAC_P470
select GENERATE_ACPI_TABLES
select GENERATE_PIRQ_TABLE
select GENERATE_MP_TABLE
+ select HAVE_OPTION_TABLE
select HAVE_HARD_RESET
select HAVE_ACPI_RESUME
select HAVE_ACPI_SLIC
diff --git a/src/mainboard/getac/p470/romstage.c b/src/mainboard/getac/p470/romstage.c
index c3a0b767133b..451f5d9d8a50 100644
--- a/src/mainboard/getac/p470/romstage.c
+++ b/src/mainboard/getac/p470/romstage.c
@@ -31,8 +31,7 @@
#include <device/pnp_def.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/x86/bist.h>
diff --git a/src/mainboard/gigabyte/ga-6bxc/Kconfig b/src/mainboard/gigabyte/ga-6bxc/Kconfig
index 184ed729ed4b..46c76475ccde 100644
--- a/src/mainboard/gigabyte/ga-6bxc/Kconfig
+++ b/src/mainboard/gigabyte/ga-6bxc/Kconfig
@@ -39,11 +39,6 @@ config MAINBOARD_PART_NUMBER
default "GA-6BXC"
depends on BOARD_GIGABYTE_GA_6BXC
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_GIGABYTE_GA_6BXC
-
config IRQ_SLOT_COUNT
int
default 6
diff --git a/src/mainboard/gigabyte/ga-6bxe/Kconfig b/src/mainboard/gigabyte/ga-6bxe/Kconfig
index 01106f285ad5..dc8e6bece6eb 100644
--- a/src/mainboard/gigabyte/ga-6bxe/Kconfig
+++ b/src/mainboard/gigabyte/ga-6bxe/Kconfig
@@ -41,11 +41,6 @@ config MAINBOARD_PART_NUMBER
default "GA-6BXE"
depends on BOARD_GIGABYTE_GA_6BXE
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_GIGABYTE_GA_6BXE
-
config IRQ_SLOT_COUNT
int
default 7
diff --git a/src/mainboard/gigabyte/ga_2761gxdk/Kconfig b/src/mainboard/gigabyte/ga_2761gxdk/Kconfig
index 728c40caf9e2..549dbfea75b6 100644
--- a/src/mainboard/gigabyte/ga_2761gxdk/Kconfig
+++ b/src/mainboard/gigabyte/ga_2761gxdk/Kconfig
@@ -7,6 +7,7 @@ config BOARD_GIGABYTE_GA_2761GXDK
select SOUTHBRIDGE_SIS_SIS966
select SUPERIO_ITE_IT8716F
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select USE_PRINTK_IN_CAR
select USE_DCACHE_RAM
diff --git a/src/mainboard/gigabyte/ga_2761gxdk/ap_romstage.c b/src/mainboard/gigabyte/ga_2761gxdk/ap_romstage.c
index a7a4dbdfaae8..7644ab49ba59 100644
--- a/src/mainboard/gigabyte/ga_2761gxdk/ap_romstage.c
+++ b/src/mainboard/gigabyte/ga_2761gxdk/ap_romstage.c
@@ -41,8 +41,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include "pc80/serial.c"
#include "lib/uart8250.c"
diff --git a/src/mainboard/gigabyte/ga_2761gxdk/romstage.c b/src/mainboard/gigabyte/ga_2761gxdk/romstage.c
index 5162000b0550..bcead81e9e33 100644
--- a/src/mainboard/gigabyte/ga_2761gxdk/romstage.c
+++ b/src/mainboard/gigabyte/ga_2761gxdk/romstage.c
@@ -50,8 +50,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#if CONFIG_USBDEBUG
diff --git a/src/mainboard/gigabyte/m57sli/Kconfig b/src/mainboard/gigabyte/m57sli/Kconfig
index b36261e53344..6f7635ef08f1 100644
--- a/src/mainboard/gigabyte/m57sli/Kconfig
+++ b/src/mainboard/gigabyte/m57sli/Kconfig
@@ -8,6 +8,7 @@ config BOARD_GIGABYTE_M57SLI
select SUPERIO_ITE_IT8716F
select SUPERIO_ITE_IT8716F_OVERRIDE_FANCTL
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/gigabyte/m57sli/ap_romstage.c b/src/mainboard/gigabyte/m57sli/ap_romstage.c
index 61ca908248df..d429b4cd3124 100644
--- a/src/mainboard/gigabyte/m57sli/ap_romstage.c
+++ b/src/mainboard/gigabyte/m57sli/ap_romstage.c
@@ -39,8 +39,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include "pc80/serial.c"
#include "lib/uart8250.c"
diff --git a/src/mainboard/gigabyte/m57sli/romstage.c b/src/mainboard/gigabyte/m57sli/romstage.c
index 18c6e9280e42..e37d81e8a048 100644
--- a/src/mainboard/gigabyte/m57sli/romstage.c
+++ b/src/mainboard/gigabyte/m57sli/romstage.c
@@ -48,8 +48,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#if CONFIG_USBDEBUG
diff --git a/src/mainboard/hp/dl145_g3/Kconfig b/src/mainboard/hp/dl145_g3/Kconfig
index 3d70aac6d74c..ee7bca4e9fb3 100644
--- a/src/mainboard/hp/dl145_g3/Kconfig
+++ b/src/mainboard/hp/dl145_g3/Kconfig
@@ -8,6 +8,7 @@ config BOARD_HP_DL145_G3
select SOUTHBRIDGE_BROADCOM_BCM5785
select SUPERIO_NSC_PC87417
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/hp/dl145_g3/romstage.c b/src/mainboard/hp/dl145_g3/romstage.c
index dec92c3ec817..fb0d5eb5d5a3 100644
--- a/src/mainboard/hp/dl145_g3/romstage.c
+++ b/src/mainboard/hp/dl145_g3/romstage.c
@@ -54,8 +54,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/hp/e_vectra_p2706t/Kconfig b/src/mainboard/hp/e_vectra_p2706t/Kconfig
index 67118c079357..57131e94b019 100644
--- a/src/mainboard/hp/e_vectra_p2706t/Kconfig
+++ b/src/mainboard/hp/e_vectra_p2706t/Kconfig
@@ -44,11 +44,6 @@ config MAINBOARD_PART_NUMBER
default "e-Vectra P2706T"
depends on BOARD_HP_E_VECTRA_P2706T
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_HP_E_VECTRA_P2706T
-
config IRQ_SLOT_COUNT
int
default 3
diff --git a/src/mainboard/ibase/mb899/Kconfig b/src/mainboard/ibase/mb899/Kconfig
index 2875973dea21..77c0eb177e12 100644
--- a/src/mainboard/ibase/mb899/Kconfig
+++ b/src/mainboard/ibase/mb899/Kconfig
@@ -11,6 +11,7 @@ config BOARD_IBASE_MB899
select GENERATE_PIRQ_TABLE
select GENERATE_MP_TABLE
select HAVE_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_ACPI_RESUME
select HAVE_MAINBOARD_RESOURCES
select MMCONF_SUPPORT
diff --git a/src/mainboard/ibase/mb899/romstage.c b/src/mainboard/ibase/mb899/romstage.c
index dc10e4cbdb66..8d4ca8125428 100644
--- a/src/mainboard/ibase/mb899/romstage.c
+++ b/src/mainboard/ibase/mb899/romstage.c
@@ -34,8 +34,7 @@
#include "superio/winbond/w83627ehg/w83627ehg.h"
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/x86/bist.h>
diff --git a/src/mainboard/ibm/e325/Kconfig b/src/mainboard/ibm/e325/Kconfig
index c0e5ebe014f2..e8c068965cf9 100644
--- a/src/mainboard/ibm/e325/Kconfig
+++ b/src/mainboard/ibm/e325/Kconfig
@@ -7,6 +7,7 @@ config BOARD_IBM_E325
select SOUTHBRIDGE_AMD_AMD8111
select SOUTHBRIDGE_AMD_AMD8131
select SUPERIO_NSC_PC87366
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/ibm/e325/romstage.c b/src/mainboard/ibm/e325/romstage.c
index a63f9587f7c8..a05feea6b8e3 100644
--- a/src/mainboard/ibm/e325/romstage.c
+++ b/src/mainboard/ibm/e325/romstage.c
@@ -7,8 +7,7 @@
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
#include <stdlib.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/ibm/e326/Kconfig b/src/mainboard/ibm/e326/Kconfig
index 48b8f72f9544..e1b53ec3afa8 100644
--- a/src/mainboard/ibm/e326/Kconfig
+++ b/src/mainboard/ibm/e326/Kconfig
@@ -7,6 +7,7 @@ config BOARD_IBM_E326
select SOUTHBRIDGE_AMD_AMD8111
select SOUTHBRIDGE_AMD_AMD8131
select SUPERIO_NSC_PC87366
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/ibm/e326/romstage.c b/src/mainboard/ibm/e326/romstage.c
index db2439a55a7c..859368962027 100644
--- a/src/mainboard/ibm/e326/romstage.c
+++ b/src/mainboard/ibm/e326/romstage.c
@@ -7,8 +7,7 @@
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
#include <stdlib.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/iei/pcisa-lx-800-r10/Kconfig b/src/mainboard/iei/pcisa-lx-800-r10/Kconfig
index 2678c149b1ce..c1116343ecab 100644
--- a/src/mainboard/iei/pcisa-lx-800-r10/Kconfig
+++ b/src/mainboard/iei/pcisa-lx-800-r10/Kconfig
@@ -21,11 +21,6 @@ config MAINBOARD_PART_NUMBER
default "PCISA-LX-800-R10"
depends on BOARD_IEI_PCISA_LX_800_R10
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_IEI_PCISA_LX_800_R10
-
config IRQ_SLOT_COUNT
int
default 9
diff --git a/src/mainboard/intel/d810e2cb/Kconfig b/src/mainboard/intel/d810e2cb/Kconfig
index a74d3748406b..4df00c966281 100644
--- a/src/mainboard/intel/d810e2cb/Kconfig
+++ b/src/mainboard/intel/d810e2cb/Kconfig
@@ -40,11 +40,6 @@ config MAINBOARD_PART_NUMBER
default "D810E2CB"
depends on BOARD_INTEL_D810E2CB
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_INTEL_D810E2CB
-
config IRQ_SLOT_COUNT
int
default 7
diff --git a/src/mainboard/intel/d945gclf/Kconfig b/src/mainboard/intel/d945gclf/Kconfig
index b9c396da61d0..61b7340dbfa4 100644
--- a/src/mainboard/intel/d945gclf/Kconfig
+++ b/src/mainboard/intel/d945gclf/Kconfig
@@ -29,6 +29,7 @@ config BOARD_INTEL_D945GCLF
select GENERATE_ACPI_TABLES
select GENERATE_PIRQ_TABLE
select GENERATE_MP_TABLE
+ select HAVE_OPTION_TABLE
select HAVE_HARD_RESET
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
diff --git a/src/mainboard/intel/d945gclf/romstage.c b/src/mainboard/intel/d945gclf/romstage.c
index 6f32fe5f8676..43681a2d14f6 100644
--- a/src/mainboard/intel/d945gclf/romstage.c
+++ b/src/mainboard/intel/d945gclf/romstage.c
@@ -33,8 +33,7 @@
#include "superio/smsc/lpc47m15x/lpc47m15x.h"
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/x86/bist.h>
diff --git a/src/mainboard/intel/eagleheights/Kconfig b/src/mainboard/intel/eagleheights/Kconfig
index d04e79eafea4..dbb7d164e9af 100644
--- a/src/mainboard/intel/eagleheights/Kconfig
+++ b/src/mainboard/intel/eagleheights/Kconfig
@@ -6,6 +6,7 @@ config BOARD_INTEL_EAGLEHEIGHTS
select SOUTHBRIDGE_INTEL_I3100
select SUPERIO_INTEL_I3100
select SUPERIO_SMSC_SMSCSUPERIO
+ select HAVE_OPTION_TABLE
select HAVE_HARD_RESET
select BOARD_HAS_HARD_RESET
select BOARD_HAS_FADT
diff --git a/src/mainboard/intel/eagleheights/romstage.c b/src/mainboard/intel/eagleheights/romstage.c
index cc6966b074f1..1d7c8d50281a 100644
--- a/src/mainboard/intel/eagleheights/romstage.c
+++ b/src/mainboard/intel/eagleheights/romstage.c
@@ -29,8 +29,7 @@
#include <device/pnp_def.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/x86/bist.h>
diff --git a/src/mainboard/intel/jarrell/Kconfig b/src/mainboard/intel/jarrell/Kconfig
index e5d5314f97f8..aef112c9ba43 100644
--- a/src/mainboard/intel/jarrell/Kconfig
+++ b/src/mainboard/intel/jarrell/Kconfig
@@ -9,6 +9,7 @@ config BOARD_INTEL_JARRELL
select ROMCC
select HAVE_HARD_RESET
select BOARD_HAS_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select UDELAY_TSC
diff --git a/src/mainboard/intel/jarrell/romstage.c b/src/mainboard/intel/jarrell/romstage.c
index b6e74fac08be..1caf4b9548a0 100644
--- a/src/mainboard/intel/jarrell/romstage.c
+++ b/src/mainboard/intel/jarrell/romstage.c
@@ -5,8 +5,7 @@
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
#include <stdlib.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
#include "southbridge/intel/i82801ex/i82801ex_early_smbus.c"
diff --git a/src/mainboard/intel/mtarvon/Kconfig b/src/mainboard/intel/mtarvon/Kconfig
index cea70b1054d4..ce9d9a4f0cbd 100644
--- a/src/mainboard/intel/mtarvon/Kconfig
+++ b/src/mainboard/intel/mtarvon/Kconfig
@@ -22,11 +22,6 @@ config MAINBOARD_PART_NUMBER
default "3100 devkit (Mt. Arvon)"
depends on BOARD_INTEL_MTARVON
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_INTEL_MTARVON
-
config IRQ_SLOT_COUNT
int
default 1
diff --git a/src/mainboard/intel/mtarvon/romstage.c b/src/mainboard/intel/mtarvon/romstage.c
index 51df42d9f58e..6d9d92f764c5 100644
--- a/src/mainboard/intel/mtarvon/romstage.c
+++ b/src/mainboard/intel/mtarvon/romstage.c
@@ -26,7 +26,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
#include "southbridge/intel/i3100/i3100_early_smbus.c"
diff --git a/src/mainboard/intel/truxton/Kconfig b/src/mainboard/intel/truxton/Kconfig
index 5a382d308821..6b7a22061432 100644
--- a/src/mainboard/intel/truxton/Kconfig
+++ b/src/mainboard/intel/truxton/Kconfig
@@ -23,11 +23,6 @@ config MAINBOARD_PART_NUMBER
default "Truxton"
depends on BOARD_INTEL_TRUXTON
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_INTEL_TRUXTON
-
config IRQ_SLOT_COUNT
int
default 1
diff --git a/src/mainboard/intel/truxton/romstage.c b/src/mainboard/intel/truxton/romstage.c
index 3cbeeda63dea..1a02f856ad56 100644
--- a/src/mainboard/intel/truxton/romstage.c
+++ b/src/mainboard/intel/truxton/romstage.c
@@ -26,7 +26,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include "pc80/udelay_io.c"
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/intel/xe7501devkit/Kconfig b/src/mainboard/intel/xe7501devkit/Kconfig
index a83c1bc0cab3..5ce7021cf808 100644
--- a/src/mainboard/intel/xe7501devkit/Kconfig
+++ b/src/mainboard/intel/xe7501devkit/Kconfig
@@ -12,7 +12,6 @@ config BOARD_INTEL_XE7501DEVKIT
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select UDELAY_TSC
- select HAVE_OPTION_TABLE
select HAVE_ACPI_TABLES
select BOARD_ROMSIZE_KB_2048
diff --git a/src/mainboard/intel/xe7501devkit/romstage.c b/src/mainboard/intel/xe7501devkit/romstage.c
index af96a09a485c..c04d63790ccc 100644
--- a/src/mainboard/intel/xe7501devkit/romstage.c
+++ b/src/mainboard/intel/xe7501devkit/romstage.c
@@ -6,8 +6,7 @@
#include <cpu/x86/lapic.h>
#include <arch/cpu.h>
#include <stdlib.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
#include "southbridge/intel/i82801cx/i82801cx_early_smbus.c"
diff --git a/src/mainboard/iwill/dk8_htx/Kconfig b/src/mainboard/iwill/dk8_htx/Kconfig
index 02255b90b91a..bf5cb81a8a87 100644
--- a/src/mainboard/iwill/dk8_htx/Kconfig
+++ b/src/mainboard/iwill/dk8_htx/Kconfig
@@ -9,6 +9,7 @@ config BOARD_IWILL_DK8_HTX
select SUPERIO_WINBOND_W83627HF
select BOARD_HAS_FADT
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/iwill/dk8_htx/romstage.c b/src/mainboard/iwill/dk8_htx/romstage.c
index 117113a9fbc9..1af5c2c55f51 100644
--- a/src/mainboard/iwill/dk8_htx/romstage.c
+++ b/src/mainboard/iwill/dk8_htx/romstage.c
@@ -26,8 +26,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/amd/model_fxx_rev.h>
diff --git a/src/mainboard/iwill/dk8s2/Kconfig b/src/mainboard/iwill/dk8s2/Kconfig
index cd39edea95e1..6f35928a8100 100644
--- a/src/mainboard/iwill/dk8s2/Kconfig
+++ b/src/mainboard/iwill/dk8s2/Kconfig
@@ -8,6 +8,7 @@ config BOARD_IWILL_DK8S2
select SOUTHBRIDGE_AMD_AMD8131
select SUPERIO_WINBOND_W83627HF
select HAVE_PIRQ_TABLE
+ select HAVE_OPTION_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
select USE_DCACHE_RAM
diff --git a/src/mainboard/iwill/dk8s2/romstage.c b/src/mainboard/iwill/dk8s2/romstage.c
index 84431296016a..706014b9c28b 100644
--- a/src/mainboard/iwill/dk8s2/romstage.c
+++ b/src/mainboard/iwill/dk8s2/romstage.c
@@ -26,8 +26,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/amd/model_fxx_rev.h>
diff --git a/src/mainboard/iwill/dk8x/Kconfig b/src/mainboard/iwill/dk8x/Kconfig
index 9d518137d2d5..87ee7ea048f8 100644
--- a/src/mainboard/iwill/dk8x/Kconfig
+++ b/src/mainboard/iwill/dk8x/Kconfig
@@ -7,6 +7,7 @@ config BOARD_IWILL_DK8X
select SOUTHBRIDGE_AMD_AMD8111
select SOUTHBRIDGE_AMD_AMD8131
select SUPERIO_WINBOND_W83627THF
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/iwill/dk8x/romstage.c b/src/mainboard/iwill/dk8x/romstage.c
index 84431296016a..706014b9c28b 100644
--- a/src/mainboard/iwill/dk8x/romstage.c
+++ b/src/mainboard/iwill/dk8x/romstage.c
@@ -26,8 +26,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/amd/model_fxx_rev.h>
diff --git a/src/mainboard/jetway/j7f24/Kconfig b/src/mainboard/jetway/j7f24/Kconfig
index e1afc27e8a16..5742a5d2983b 100644
--- a/src/mainboard/jetway/j7f24/Kconfig
+++ b/src/mainboard/jetway/j7f24/Kconfig
@@ -6,6 +6,7 @@ config BOARD_JETWAY_J7F24
select NORTHBRIDGE_VIA_CN700
select SOUTHBRIDGE_VIA_VT8237R
select SUPERIO_FINTEK_F71805F
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select BOARD_ROMSIZE_KB_512
diff --git a/src/mainboard/kontron/986lcd-m/Kconfig b/src/mainboard/kontron/986lcd-m/Kconfig
index 41670d22ff0f..645637bf50a0 100644
--- a/src/mainboard/kontron/986lcd-m/Kconfig
+++ b/src/mainboard/kontron/986lcd-m/Kconfig
@@ -10,6 +10,7 @@ config BOARD_KONTRON_986LCD_M
select GENERATE_ACPI_TABLES
select GENERATE_PIRQ_TABLE
select GENERATE_MP_TABLE
+ select HAVE_OPTION_TABLE
select HAVE_HARD_RESET
select HAVE_ACPI_RESUME
select HAVE_MAINBOARD_RESOURCES
diff --git a/src/mainboard/kontron/986lcd-m/romstage.c b/src/mainboard/kontron/986lcd-m/romstage.c
index 30c118e73bbd..5faf699129a3 100644
--- a/src/mainboard/kontron/986lcd-m/romstage.c
+++ b/src/mainboard/kontron/986lcd-m/romstage.c
@@ -42,8 +42,7 @@
#include "superio/winbond/w83627thg/w83627thg.h"
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/x86/bist.h>
diff --git a/src/mainboard/kontron/kt690/Kconfig b/src/mainboard/kontron/kt690/Kconfig
index 50b72a4bf25f..933b87af28df 100644
--- a/src/mainboard/kontron/kt690/Kconfig
+++ b/src/mainboard/kontron/kt690/Kconfig
@@ -8,6 +8,7 @@ config BOARD_KONTRON_KT690
select SOUTHBRIDGE_AMD_SB600
select SUPERIO_WINBOND_W83627DHG
select BOARD_HAS_FADT
+ select HAVE_OPTION_TABLE
select HAVE_BUS_CONFIG
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
diff --git a/src/mainboard/kontron/kt690/romstage.c b/src/mainboard/kontron/kt690/romstage.c
index f30b23d3b683..9088a48da429 100644
--- a/src/mainboard/kontron/kt690/romstage.c
+++ b/src/mainboard/kontron/kt690/romstage.c
@@ -41,8 +41,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/amd/model_fxx_rev.h>
diff --git a/src/mainboard/lippert/frontrunner/Kconfig b/src/mainboard/lippert/frontrunner/Kconfig
index fa6d8ca53a17..f99058b8cbf6 100644
--- a/src/mainboard/lippert/frontrunner/Kconfig
+++ b/src/mainboard/lippert/frontrunner/Kconfig
@@ -19,11 +19,6 @@ config MAINBOARD_PART_NUMBER
default "Cool Frontrunner"
depends on BOARD_LIPPERT_FRONTRUNNER
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_LIPPERT_FRONTRUNNER
-
config IRQ_SLOT_COUNT
int
default 2
diff --git a/src/mainboard/lippert/roadrunner-lx/Kconfig b/src/mainboard/lippert/roadrunner-lx/Kconfig
index ddd73db8e537..24ab417dcb21 100644
--- a/src/mainboard/lippert/roadrunner-lx/Kconfig
+++ b/src/mainboard/lippert/roadrunner-lx/Kconfig
@@ -22,11 +22,6 @@ config MAINBOARD_PART_NUMBER
default "Cool RoadRunner-LX"
depends on BOARD_LIPPERT_ROADRUNNER_LX
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_LIPPERT_ROADRUNNER_LX
-
config IRQ_SLOT_COUNT
int
default 7
diff --git a/src/mainboard/lippert/spacerunner-lx/Kconfig b/src/mainboard/lippert/spacerunner-lx/Kconfig
index fcba6ada75b7..dda7ecc14f9e 100644
--- a/src/mainboard/lippert/spacerunner-lx/Kconfig
+++ b/src/mainboard/lippert/spacerunner-lx/Kconfig
@@ -22,11 +22,6 @@ config MAINBOARD_PART_NUMBER
default "Cool SpaceRunner-LX"
depends on BOARD_LIPPERT_SPACERUNNER_LX
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_LIPPERT_SPACERUNNER_LX
-
config IRQ_SLOT_COUNT
int
default 7
diff --git a/src/mainboard/mitac/6513wu/Kconfig b/src/mainboard/mitac/6513wu/Kconfig
index 2f66733c8aee..2bcd961d6329 100644
--- a/src/mainboard/mitac/6513wu/Kconfig
+++ b/src/mainboard/mitac/6513wu/Kconfig
@@ -41,11 +41,6 @@ config MAINBOARD_PART_NUMBER
default "6513WU"
depends on BOARD_MITAC_6513WU
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_MITAC_6513WU
-
config IRQ_SLOT_COUNT
int
default 8
diff --git a/src/mainboard/msi/ms6119/Kconfig b/src/mainboard/msi/ms6119/Kconfig
index 3a49c9d3345b..e786f4f02cc7 100644
--- a/src/mainboard/msi/ms6119/Kconfig
+++ b/src/mainboard/msi/ms6119/Kconfig
@@ -39,11 +39,6 @@ config MAINBOARD_PART_NUMBER
default "MS-6119"
depends on BOARD_MSI_MS_6119
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_MSI_MS_6119
-
config IRQ_SLOT_COUNT
int
default 7
diff --git a/src/mainboard/msi/ms6147/Kconfig b/src/mainboard/msi/ms6147/Kconfig
index ff8a1f656395..1e443a42aeba 100644
--- a/src/mainboard/msi/ms6147/Kconfig
+++ b/src/mainboard/msi/ms6147/Kconfig
@@ -39,11 +39,6 @@ config MAINBOARD_PART_NUMBER
default "MS-6147"
depends on BOARD_MSI_MS_6147
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_MSI_MS_6147
-
config IRQ_SLOT_COUNT
int
default 8
diff --git a/src/mainboard/msi/ms6156/Kconfig b/src/mainboard/msi/ms6156/Kconfig
index 8d9ba810c9e8..5dcd212be3b0 100644
--- a/src/mainboard/msi/ms6156/Kconfig
+++ b/src/mainboard/msi/ms6156/Kconfig
@@ -39,11 +39,6 @@ config MAINBOARD_PART_NUMBER
default "MS-6156"
depends on BOARD_MSI_MS_6156
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_MSI_MS_6156
-
config IRQ_SLOT_COUNT
int
default 7
diff --git a/src/mainboard/msi/ms6178/Kconfig b/src/mainboard/msi/ms6178/Kconfig
index b5cef0e69582..605b6504bcbf 100644
--- a/src/mainboard/msi/ms6178/Kconfig
+++ b/src/mainboard/msi/ms6178/Kconfig
@@ -40,11 +40,6 @@ config MAINBOARD_PART_NUMBER
default "MS-6178"
depends on BOARD_MSI_MS_6178
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_MSI_MS_6178
-
config IRQ_SLOT_COUNT
int
default 4
diff --git a/src/mainboard/msi/ms7135/Kconfig b/src/mainboard/msi/ms7135/Kconfig
index 4617c9f8f9da..9f8529381a5c 100644
--- a/src/mainboard/msi/ms7135/Kconfig
+++ b/src/mainboard/msi/ms7135/Kconfig
@@ -8,6 +8,7 @@ config BOARD_MSI_MS7135
select SUPERIO_WINBOND_W83627THF
select HAVE_BUS_CONFIG
select HAVE_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_DCACHE_RAM
diff --git a/src/mainboard/msi/ms7135/romstage.c b/src/mainboard/msi/ms7135/romstage.c
index 67eb446c9c7e..50e75285aa34 100644
--- a/src/mainboard/msi/ms7135/romstage.c
+++ b/src/mainboard/msi/ms7135/romstage.c
@@ -38,8 +38,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include "cpu/x86/lapic/boot_cpu.c"
#include "northbridge/amd/amdk8/reset_test.c"
#include "superio/winbond/w83627hf/w83627hf_early_serial.c"
diff --git a/src/mainboard/msi/ms7260/Kconfig b/src/mainboard/msi/ms7260/Kconfig
index cce07a7f94d7..1c1694bdb3ff 100644
--- a/src/mainboard/msi/ms7260/Kconfig
+++ b/src/mainboard/msi/ms7260/Kconfig
@@ -7,6 +7,7 @@ config BOARD_MSI_MS7260
select SOUTHBRIDGE_NVIDIA_MCP55
select SUPERIO_WINBOND_W83627EHG
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/msi/ms7260/ap_romstage.c b/src/mainboard/msi/ms7260/ap_romstage.c
index 229e9bc39716..5b88a6d989df 100644
--- a/src/mainboard/msi/ms7260/ap_romstage.c
+++ b/src/mainboard/msi/ms7260/ap_romstage.c
@@ -36,8 +36,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include "pc80/serial.c"
#include "console/console.c"
diff --git a/src/mainboard/msi/ms7260/romstage.c b/src/mainboard/msi/ms7260/romstage.c
index ee2118e59ce8..1f0738fb69e6 100644
--- a/src/mainboard/msi/ms7260/romstage.c
+++ b/src/mainboard/msi/ms7260/romstage.c
@@ -52,8 +52,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#if CONFIG_USBDEBUG
diff --git a/src/mainboard/msi/ms9185/Kconfig b/src/mainboard/msi/ms9185/Kconfig
index ff9da6a96598..602ba183bdc4 100644
--- a/src/mainboard/msi/ms9185/Kconfig
+++ b/src/mainboard/msi/ms9185/Kconfig
@@ -8,6 +8,7 @@ config BOARD_MSI_MS9185
select SOUTHBRIDGE_BROADCOM_BCM5785
select SUPERIO_NSC_PC87417
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/msi/ms9185/romstage.c b/src/mainboard/msi/ms9185/romstage.c
index 134cbe7c5ac5..a2bf78bf1bae 100644
--- a/src/mainboard/msi/ms9185/romstage.c
+++ b/src/mainboard/msi/ms9185/romstage.c
@@ -47,8 +47,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/amd/model_fxx_rev.h>
diff --git a/src/mainboard/msi/ms9282/Kconfig b/src/mainboard/msi/ms9282/Kconfig
index cf1896d2d765..c72e49134ba9 100644
--- a/src/mainboard/msi/ms9282/Kconfig
+++ b/src/mainboard/msi/ms9282/Kconfig
@@ -7,6 +7,7 @@ config BOARD_MSI_MS9282
select SOUTHBRIDGE_NVIDIA_MCP55
select SUPERIO_WINBOND_W83627EHG
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/msi/ms9282/romstage.c b/src/mainboard/msi/ms9282/romstage.c
index f2581db7b448..e7de60396038 100644
--- a/src/mainboard/msi/ms9282/romstage.c
+++ b/src/mainboard/msi/ms9282/romstage.c
@@ -42,8 +42,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/amd/model_fxx_rev.h>
diff --git a/src/mainboard/msi/ms9652_fam10/Kconfig b/src/mainboard/msi/ms9652_fam10/Kconfig
index 499735cfb9dd..1f5528886941 100644
--- a/src/mainboard/msi/ms9652_fam10/Kconfig
+++ b/src/mainboard/msi/ms9652_fam10/Kconfig
@@ -49,11 +49,6 @@ config IRQ_SLOT_COUNT
default 0
depends on BOARD_MSI_MS9652_FAM10
-config HAVE_OPTION_TABLE
- bool
- default y
- depends on BOARD_MSI_MS9652_FAM10
-
config MAX_CPUS
int
default 8
diff --git a/src/mainboard/msi/ms9652_fam10/romstage.c b/src/mainboard/msi/ms9652_fam10/romstage.c
index 9d00a8d92ae1..4b7fe8f1c785 100644
--- a/src/mainboard/msi/ms9652_fam10/romstage.c
+++ b/src/mainboard/msi/ms9652_fam10/romstage.c
@@ -43,7 +43,6 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
#include <console/console.h>
#if CONFIG_USBDEBUG
#include "southbridge/nvidia/mcp55/mcp55_enable_usbdebug.c"
diff --git a/src/mainboard/nec/powermate2000/Kconfig b/src/mainboard/nec/powermate2000/Kconfig
index 3a3158381a99..cb00e91a7a7f 100644
--- a/src/mainboard/nec/powermate2000/Kconfig
+++ b/src/mainboard/nec/powermate2000/Kconfig
@@ -41,11 +41,6 @@ config MAINBOARD_PART_NUMBER
default "PowerMate 2000"
depends on BOARD_NEC_POWERMATE_2000
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_NEC_POWERMATE_2000
-
config IRQ_SLOT_COUNT
int
default 5
diff --git a/src/mainboard/newisys/khepri/Kconfig b/src/mainboard/newisys/khepri/Kconfig
index 5e4955f888b9..92b759c78d35 100644
--- a/src/mainboard/newisys/khepri/Kconfig
+++ b/src/mainboard/newisys/khepri/Kconfig
@@ -7,6 +7,7 @@ config BOARD_NEWISYS_KHEPRI
select SOUTHBRIDGE_AMD_AMD8111
select SOUTHBRIDGE_AMD_AMD8131
select SUPERIO_WINBOND_W83627HF
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/newisys/khepri/romstage.c b/src/mainboard/newisys/khepri/romstage.c
index 0ff7943cb103..72761f390792 100644
--- a/src/mainboard/newisys/khepri/romstage.c
+++ b/src/mainboard/newisys/khepri/romstage.c
@@ -12,8 +12,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/nokia/ip530/Kconfig b/src/mainboard/nokia/ip530/Kconfig
index 51ada425f1da..12947c36948a 100644
--- a/src/mainboard/nokia/ip530/Kconfig
+++ b/src/mainboard/nokia/ip530/Kconfig
@@ -42,11 +42,6 @@ config MAINBOARD_PART_NUMBER
default "IP530"
depends on BOARD_NOKIA_IP530
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_NOKIA_IP530
-
config IRQ_SLOT_COUNT
int
default 22
diff --git a/src/mainboard/nvidia/l1_2pvv/Kconfig b/src/mainboard/nvidia/l1_2pvv/Kconfig
index ab361f175f0a..5794521b3a16 100644
--- a/src/mainboard/nvidia/l1_2pvv/Kconfig
+++ b/src/mainboard/nvidia/l1_2pvv/Kconfig
@@ -6,6 +6,7 @@ config BOARD_NVIDIA_L1_2PVV
select NORTHBRIDGE_AMD_AMDK8_ROOT_COMPLEX
select SOUTHBRIDGE_NVIDIA_MCP55
select SUPERIO_WINBOND_W83627EHG
+ select HAVE_OPTION_TABLE
select HAVE_BUS_CONFIG
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
diff --git a/src/mainboard/nvidia/l1_2pvv/ap_romstage.c b/src/mainboard/nvidia/l1_2pvv/ap_romstage.c
index 2e7b5aa9701b..8d3cb8d9c719 100644
--- a/src/mainboard/nvidia/l1_2pvv/ap_romstage.c
+++ b/src/mainboard/nvidia/l1_2pvv/ap_romstage.c
@@ -39,8 +39,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include "pc80/serial.c"
#include "lib/uart8250.c"
diff --git a/src/mainboard/nvidia/l1_2pvv/romstage.c b/src/mainboard/nvidia/l1_2pvv/romstage.c
index 001173657a5a..dfdc57c7427b 100644
--- a/src/mainboard/nvidia/l1_2pvv/romstage.c
+++ b/src/mainboard/nvidia/l1_2pvv/romstage.c
@@ -48,8 +48,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#if CONFIG_USBDEBUG
diff --git a/src/mainboard/olpc/btest/Kconfig b/src/mainboard/olpc/btest/Kconfig
index a2d119d411dd..9ed3a33a3683 100644
--- a/src/mainboard/olpc/btest/Kconfig
+++ b/src/mainboard/olpc/btest/Kconfig
@@ -19,11 +19,6 @@ config MAINBOARD_PART_NUMBER
default "btest"
depends on BOARD_OLPC_BTEST
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_OLPC_BTEST
-
config IRQ_SLOT_COUNT
int
default 2
diff --git a/src/mainboard/olpc/rev_a/Kconfig b/src/mainboard/olpc/rev_a/Kconfig
index 65a37dddf0f2..fd8a712564bb 100644
--- a/src/mainboard/olpc/rev_a/Kconfig
+++ b/src/mainboard/olpc/rev_a/Kconfig
@@ -19,11 +19,6 @@ config MAINBOARD_PART_NUMBER
default "rev_a"
depends on BOARD_OLPC_REV_A
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_OLPC_REV_A
-
config IRQ_SLOT_COUNT
int
default 2
diff --git a/src/mainboard/pcengines/alix1c/Kconfig b/src/mainboard/pcengines/alix1c/Kconfig
index 0ba52ce937dd..4535588e4461 100644
--- a/src/mainboard/pcengines/alix1c/Kconfig
+++ b/src/mainboard/pcengines/alix1c/Kconfig
@@ -22,11 +22,6 @@ config MAINBOARD_PART_NUMBER
default "ALIX.1C"
depends on BOARD_PCENGINES_ALIX1C
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_PCENGINES_ALIX1C
-
config IRQ_SLOT_COUNT
int
default 5
diff --git a/src/mainboard/rca/rm4100/Kconfig b/src/mainboard/rca/rm4100/Kconfig
index 7464f887e249..fbcf9070f33c 100644
--- a/src/mainboard/rca/rm4100/Kconfig
+++ b/src/mainboard/rca/rm4100/Kconfig
@@ -26,11 +26,6 @@ config MAINBOARD_PART_NUMBER
default "RM4100"
depends on BOARD_RCA_RM4100
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_RCA_RM4100
-
config DCACHE_RAM_BASE
hex
default 0xffdf8000
diff --git a/src/mainboard/roda/rk886ex/Kconfig b/src/mainboard/roda/rk886ex/Kconfig
index 02423c6615ab..7bb448c00902 100644
--- a/src/mainboard/roda/rk886ex/Kconfig
+++ b/src/mainboard/roda/rk886ex/Kconfig
@@ -9,6 +9,7 @@ config BOARD_RODA_RK886EX
select SUPERIO_SMSC_LPC47N227
select SUPERIO_RENESAS_M3885X
select BOARD_HAS_FADT
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select MMCONF_SUPPORT
diff --git a/src/mainboard/roda/rk886ex/romstage.c b/src/mainboard/roda/rk886ex/romstage.c
index eb9df6623c22..19b29053e38c 100644
--- a/src/mainboard/roda/rk886ex/romstage.c
+++ b/src/mainboard/roda/rk886ex/romstage.c
@@ -35,8 +35,7 @@
#include <device/pnp_def.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/x86/bist.h>
diff --git a/src/mainboard/soyo/sy-6ba-plus-iii/Kconfig b/src/mainboard/soyo/sy-6ba-plus-iii/Kconfig
index 0d922860f455..a0a3de19d84f 100644
--- a/src/mainboard/soyo/sy-6ba-plus-iii/Kconfig
+++ b/src/mainboard/soyo/sy-6ba-plus-iii/Kconfig
@@ -39,11 +39,6 @@ config MAINBOARD_PART_NUMBER
default "SY-6BA+ III"
depends on BOARD_SOYO_SY_6BA_PLUS_III
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_SOYO_SY_6BA_PLUS_III
-
config IRQ_SLOT_COUNT
int
default 7
diff --git a/src/mainboard/sunw/ultra40/Kconfig b/src/mainboard/sunw/ultra40/Kconfig
index 608a067fa1ab..a218b0a08ee4 100644
--- a/src/mainboard/sunw/ultra40/Kconfig
+++ b/src/mainboard/sunw/ultra40/Kconfig
@@ -6,6 +6,7 @@ config BOARD_SUNW_ULTRA40
select NORTHBRIDGE_AMD_AMDK8_ROOT_COMPLEX
select SOUTHBRIDGE_NVIDIA_CK804
select SUPERIO_SMSC_LPC47M10X
+ select HAVE_OPTION_TABLE
select HAVE_BUS_CONFIG
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
diff --git a/src/mainboard/sunw/ultra40/romstage.c b/src/mainboard/sunw/ultra40/romstage.c
index 711ce0c49c28..9139e78a02f1 100644
--- a/src/mainboard/sunw/ultra40/romstage.c
+++ b/src/mainboard/sunw/ultra40/romstage.c
@@ -14,8 +14,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/supermicro/h8dme/Kconfig b/src/mainboard/supermicro/h8dme/Kconfig
index 5852f2714e29..76684b2f5e69 100644
--- a/src/mainboard/supermicro/h8dme/Kconfig
+++ b/src/mainboard/supermicro/h8dme/Kconfig
@@ -6,6 +6,7 @@ config BOARD_SUPERMICRO_H8DME
select NORTHBRIDGE_AMD_AMDK8_ROOT_COMPLEX
select SOUTHBRIDGE_NVIDIA_MCP55
select SUPERIO_WINBOND_W83627HF
+ select HAVE_OPTION_TABLE
select HAVE_BUS_CONFIG
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
diff --git a/src/mainboard/supermicro/h8dme/ap_romstage.c b/src/mainboard/supermicro/h8dme/ap_romstage.c
index 3454cae31373..8643bed96fdc 100644
--- a/src/mainboard/supermicro/h8dme/ap_romstage.c
+++ b/src/mainboard/supermicro/h8dme/ap_romstage.c
@@ -39,8 +39,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include "pc80/serial.c"
#include "console/console.c"
diff --git a/src/mainboard/supermicro/h8dme/romstage.c b/src/mainboard/supermicro/h8dme/romstage.c
index adfe7e353e80..b55ebc275c3f 100644
--- a/src/mainboard/supermicro/h8dme/romstage.c
+++ b/src/mainboard/supermicro/h8dme/romstage.c
@@ -43,8 +43,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/supermicro/h8dmr/Kconfig b/src/mainboard/supermicro/h8dmr/Kconfig
index ae74b7af47cf..a0a06655c821 100644
--- a/src/mainboard/supermicro/h8dmr/Kconfig
+++ b/src/mainboard/supermicro/h8dmr/Kconfig
@@ -6,6 +6,7 @@ config BOARD_SUPERMICRO_H8DMR
select NORTHBRIDGE_AMD_AMDK8_ROOT_COMPLEX
select SOUTHBRIDGE_NVIDIA_MCP55
select SUPERIO_WINBOND_W83627HF
+ select HAVE_OPTION_TABLE
select HAVE_BUS_CONFIG
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
diff --git a/src/mainboard/supermicro/h8dmr/ap_romstage.c b/src/mainboard/supermicro/h8dmr/ap_romstage.c
index 3454cae31373..8643bed96fdc 100644
--- a/src/mainboard/supermicro/h8dmr/ap_romstage.c
+++ b/src/mainboard/supermicro/h8dmr/ap_romstage.c
@@ -39,8 +39,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include "pc80/serial.c"
#include "console/console.c"
diff --git a/src/mainboard/supermicro/h8dmr/romstage.c b/src/mainboard/supermicro/h8dmr/romstage.c
index b62b9877aeeb..ca4c8eec74af 100644
--- a/src/mainboard/supermicro/h8dmr/romstage.c
+++ b/src/mainboard/supermicro/h8dmr/romstage.c
@@ -46,8 +46,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/supermicro/h8dmr_fam10/Kconfig b/src/mainboard/supermicro/h8dmr_fam10/Kconfig
index 1c7facc75bfc..a3670737a6fb 100644
--- a/src/mainboard/supermicro/h8dmr_fam10/Kconfig
+++ b/src/mainboard/supermicro/h8dmr_fam10/Kconfig
@@ -6,6 +6,7 @@ config BOARD_SUPERMICRO_H8DMR_FAM10
select SOUTHBRIDGE_NVIDIA_MCP55
select SUPERIO_WINBOND_W83627HF
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/supermicro/h8dmr_fam10/romstage.c b/src/mainboard/supermicro/h8dmr_fam10/romstage.c
index 35b46485f4f9..f14ae5f1ad52 100644
--- a/src/mainboard/supermicro/h8dmr_fam10/romstage.c
+++ b/src/mainboard/supermicro/h8dmr_fam10/romstage.c
@@ -41,7 +41,6 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/supermicro/h8qme_fam10/Kconfig b/src/mainboard/supermicro/h8qme_fam10/Kconfig
index 5ae140e6408a..9259b0b6f2c9 100644
--- a/src/mainboard/supermicro/h8qme_fam10/Kconfig
+++ b/src/mainboard/supermicro/h8qme_fam10/Kconfig
@@ -7,6 +7,7 @@ config BOARD_SUPERMICRO_H8QME_FAM10
select SOUTHBRIDGE_NVIDIA_MCP55
select SUPERIO_WINBOND_W83627HF
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/supermicro/h8qme_fam10/romstage.c b/src/mainboard/supermicro/h8qme_fam10/romstage.c
index f9c03767d67c..b400279653a7 100644
--- a/src/mainboard/supermicro/h8qme_fam10/romstage.c
+++ b/src/mainboard/supermicro/h8qme_fam10/romstage.c
@@ -41,7 +41,6 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/supermicro/x6dai_g/Kconfig b/src/mainboard/supermicro/x6dai_g/Kconfig
index a681b0076689..66cc17df1239 100644
--- a/src/mainboard/supermicro/x6dai_g/Kconfig
+++ b/src/mainboard/supermicro/x6dai_g/Kconfig
@@ -8,6 +8,7 @@ config BOARD_SUPERMICRO_X6DAI_G
select ROMCC
select HAVE_HARD_RESET
select BOARD_HAS_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select BOARD_ROMSIZE_KB_1024
diff --git a/src/mainboard/supermicro/x6dai_g/romstage.c b/src/mainboard/supermicro/x6dai_g/romstage.c
index af54f80c61e0..bfbb3bcb7fe6 100644
--- a/src/mainboard/supermicro/x6dai_g/romstage.c
+++ b/src/mainboard/supermicro/x6dai_g/romstage.c
@@ -5,8 +5,7 @@
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
#include <stdlib.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
#include "pc80/udelay_io.c"
diff --git a/src/mainboard/supermicro/x6dhe_g/Kconfig b/src/mainboard/supermicro/x6dhe_g/Kconfig
index cc55edb6d80a..e437283afc51 100644
--- a/src/mainboard/supermicro/x6dhe_g/Kconfig
+++ b/src/mainboard/supermicro/x6dhe_g/Kconfig
@@ -9,6 +9,7 @@ config BOARD_SUPERMICRO_X6DHE_G
select ROMCC
select HAVE_HARD_RESET
select BOARD_HAS_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select BOARD_ROMSIZE_KB_1024
diff --git a/src/mainboard/supermicro/x6dhe_g/romstage.c b/src/mainboard/supermicro/x6dhe_g/romstage.c
index 4f219ad10bb3..8151518eee7b 100644
--- a/src/mainboard/supermicro/x6dhe_g/romstage.c
+++ b/src/mainboard/supermicro/x6dhe_g/romstage.c
@@ -5,8 +5,7 @@
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
#include <stdlib.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
#include "pc80/udelay_io.c"
diff --git a/src/mainboard/supermicro/x6dhe_g2/Kconfig b/src/mainboard/supermicro/x6dhe_g2/Kconfig
index 4f0841a4023f..b2ff1d10fc15 100644
--- a/src/mainboard/supermicro/x6dhe_g2/Kconfig
+++ b/src/mainboard/supermicro/x6dhe_g2/Kconfig
@@ -9,6 +9,7 @@ config BOARD_SUPERMICRO_X6DHE_G2
select ROMCC
select HAVE_HARD_RESET
select BOARD_HAS_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select BOARD_ROMSIZE_KB_1024
diff --git a/src/mainboard/supermicro/x6dhe_g2/romstage.c b/src/mainboard/supermicro/x6dhe_g2/romstage.c
index 1e0cddf727a2..7f20e0a69727 100644
--- a/src/mainboard/supermicro/x6dhe_g2/romstage.c
+++ b/src/mainboard/supermicro/x6dhe_g2/romstage.c
@@ -5,8 +5,7 @@
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
#include <stdlib.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
#include "southbridge/intel/i82801ex/i82801ex_early_smbus.c"
diff --git a/src/mainboard/supermicro/x6dhr_ig/Kconfig b/src/mainboard/supermicro/x6dhr_ig/Kconfig
index 9366fe36f4a0..b650a8dedeb3 100644
--- a/src/mainboard/supermicro/x6dhr_ig/Kconfig
+++ b/src/mainboard/supermicro/x6dhr_ig/Kconfig
@@ -9,6 +9,7 @@ config BOARD_SUPERMICRO_X6DHR_IG
select ROMCC
select HAVE_HARD_RESET
select BOARD_HAS_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_WATCHDOG_ON_BOOT
diff --git a/src/mainboard/supermicro/x6dhr_ig/romstage.c b/src/mainboard/supermicro/x6dhr_ig/romstage.c
index b973dd9219f1..1269eb97c2cb 100644
--- a/src/mainboard/supermicro/x6dhr_ig/romstage.c
+++ b/src/mainboard/supermicro/x6dhr_ig/romstage.c
@@ -5,8 +5,7 @@
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
#include <stdlib.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
#include "southbridge/intel/i82801ex/i82801ex_early_smbus.c"
diff --git a/src/mainboard/supermicro/x6dhr_ig2/Kconfig b/src/mainboard/supermicro/x6dhr_ig2/Kconfig
index ac3070fd408f..c1a335b3b4b4 100644
--- a/src/mainboard/supermicro/x6dhr_ig2/Kconfig
+++ b/src/mainboard/supermicro/x6dhr_ig2/Kconfig
@@ -9,6 +9,7 @@ config BOARD_SUPERMICRO_X6DHR_IG2
select ROMCC
select HAVE_HARD_RESET
select BOARD_HAS_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_WATCHDOG_ON_BOOT
diff --git a/src/mainboard/supermicro/x6dhr_ig2/romstage.c b/src/mainboard/supermicro/x6dhr_ig2/romstage.c
index 97be98677d84..245c03ed8c08 100644
--- a/src/mainboard/supermicro/x6dhr_ig2/romstage.c
+++ b/src/mainboard/supermicro/x6dhr_ig2/romstage.c
@@ -5,8 +5,7 @@
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
#include <stdlib.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
#include "southbridge/intel/i82801ex/i82801ex_early_smbus.c"
diff --git a/src/mainboard/technexion/tim5690/Kconfig b/src/mainboard/technexion/tim5690/Kconfig
index 5541975eb20f..35b33ace7f7c 100644
--- a/src/mainboard/technexion/tim5690/Kconfig
+++ b/src/mainboard/technexion/tim5690/Kconfig
@@ -9,6 +9,7 @@ config BOARD_TECHNEXION_TIM5690
select SUPERIO_ITE_IT8712F
select BOARD_HAS_FADT
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/technexion/tim5690/romstage.c b/src/mainboard/technexion/tim5690/romstage.c
index 5e17c072b028..011e455b15e9 100644
--- a/src/mainboard/technexion/tim5690/romstage.c
+++ b/src/mainboard/technexion/tim5690/romstage.c
@@ -40,8 +40,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/amd/model_fxx_rev.h>
diff --git a/src/mainboard/technexion/tim8690/Kconfig b/src/mainboard/technexion/tim8690/Kconfig
index 76841a2c07e5..21609decc1f7 100644
--- a/src/mainboard/technexion/tim8690/Kconfig
+++ b/src/mainboard/technexion/tim8690/Kconfig
@@ -9,6 +9,7 @@ config BOARD_TECHNEXION_TIM8690
select SUPERIO_ITE_IT8712F
select BOARD_HAS_FADT
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/technexion/tim8690/romstage.c b/src/mainboard/technexion/tim8690/romstage.c
index b6e214b2cc45..fd9db8fa50b8 100644
--- a/src/mainboard/technexion/tim8690/romstage.c
+++ b/src/mainboard/technexion/tim8690/romstage.c
@@ -40,8 +40,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include <cpu/amd/model_fxx_rev.h>
diff --git a/src/mainboard/technologic/ts5300/Kconfig b/src/mainboard/technologic/ts5300/Kconfig
index a8e88c268cc2..442e7e55c85c 100644
--- a/src/mainboard/technologic/ts5300/Kconfig
+++ b/src/mainboard/technologic/ts5300/Kconfig
@@ -3,6 +3,7 @@ config BOARD_TECHNOLOGIC_TS5300
select ARCH_X86
select CPU_AMD_SC520
select ROMCC
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select BOARD_ROMSIZE_KB_128
diff --git a/src/mainboard/technologic/ts5300/romstage.c b/src/mainboard/technologic/ts5300/romstage.c
index 1827bfcf849a..dfded677a6f8 100644
--- a/src/mainboard/technologic/ts5300/romstage.c
+++ b/src/mainboard/technologic/ts5300/romstage.c
@@ -10,7 +10,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <arch/hlt.h>
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
#include "cpu/x86/bist.h"
diff --git a/src/mainboard/televideo/tc7020/Kconfig b/src/mainboard/televideo/tc7020/Kconfig
index 38cccdd31578..13d82cd56f46 100644
--- a/src/mainboard/televideo/tc7020/Kconfig
+++ b/src/mainboard/televideo/tc7020/Kconfig
@@ -40,11 +40,6 @@ config MAINBOARD_PART_NUMBER
default "TC7020"
depends on BOARD_TELEVIDEO_TC7020
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_TELEVIDEO_TC7020
-
config IRQ_SLOT_COUNT
int
default 3
diff --git a/src/mainboard/thomson/ip1000/Kconfig b/src/mainboard/thomson/ip1000/Kconfig
index 9934d0be36c7..33e40ede2f43 100644
--- a/src/mainboard/thomson/ip1000/Kconfig
+++ b/src/mainboard/thomson/ip1000/Kconfig
@@ -26,11 +26,6 @@ config MAINBOARD_PART_NUMBER
default "IP1000"
depends on BOARD_THOMSON_IP1000
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_THOMSON_IP1000
-
config DCACHE_RAM_BASE
hex
default 0xffdf8000
diff --git a/src/mainboard/traverse/geos/Kconfig b/src/mainboard/traverse/geos/Kconfig
index 4f3b2c6a74f3..4147b37ba123 100644
--- a/src/mainboard/traverse/geos/Kconfig
+++ b/src/mainboard/traverse/geos/Kconfig
@@ -21,11 +21,6 @@ config MAINBOARD_PART_NUMBER
default "Geos"
depends on BOARD_TRAVERSE_GEOS
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_TRAVERSE_GEOS
-
config IRQ_SLOT_COUNT
int
default 6
diff --git a/src/mainboard/tyan/s1846/Kconfig b/src/mainboard/tyan/s1846/Kconfig
index fda6f458f6c8..2d50ad37738f 100644
--- a/src/mainboard/tyan/s1846/Kconfig
+++ b/src/mainboard/tyan/s1846/Kconfig
@@ -38,7 +38,3 @@ config MAINBOARD_PART_NUMBER
default "S1846"
depends on BOARD_TYAN_S1846
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_TYAN_S1846
diff --git a/src/mainboard/tyan/s2735/romstage.c b/src/mainboard/tyan/s2735/romstage.c
index a292d99e1417..ddbc03d2a6e1 100644
--- a/src/mainboard/tyan/s2735/romstage.c
+++ b/src/mainboard/tyan/s2735/romstage.c
@@ -6,8 +6,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/tyan/s2850/Kconfig b/src/mainboard/tyan/s2850/Kconfig
index ed08c225edb2..788096bf6fdc 100644
--- a/src/mainboard/tyan/s2850/Kconfig
+++ b/src/mainboard/tyan/s2850/Kconfig
@@ -7,6 +7,7 @@ config BOARD_TYAN_S2850
select SOUTHBRIDGE_AMD_AMD8111
select SUPERIO_WINBOND_W83627HF
select HAVE_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select BOARD_ROMSIZE_KB_512
diff --git a/src/mainboard/tyan/s2850/romstage.c b/src/mainboard/tyan/s2850/romstage.c
index d51c4a86dd94..434e85d58cca 100644
--- a/src/mainboard/tyan/s2850/romstage.c
+++ b/src/mainboard/tyan/s2850/romstage.c
@@ -7,8 +7,7 @@
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
#include <stdlib.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/tyan/s2875/Kconfig b/src/mainboard/tyan/s2875/Kconfig
index e70f29ac59f2..bb8f4108042e 100644
--- a/src/mainboard/tyan/s2875/Kconfig
+++ b/src/mainboard/tyan/s2875/Kconfig
@@ -8,6 +8,7 @@ config BOARD_TYAN_S2875
select SOUTHBRIDGE_AMD_AMD8111
select SUPERIO_WINBOND_W83627HF
select HAVE_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select BOARD_ROMSIZE_KB_512
diff --git a/src/mainboard/tyan/s2875/romstage.c b/src/mainboard/tyan/s2875/romstage.c
index e074adb05667..85f365eaeed9 100644
--- a/src/mainboard/tyan/s2875/romstage.c
+++ b/src/mainboard/tyan/s2875/romstage.c
@@ -7,8 +7,7 @@
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
#include <stdlib.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/tyan/s2880/Kconfig b/src/mainboard/tyan/s2880/Kconfig
index 489701745d4c..0e12c21b199a 100644
--- a/src/mainboard/tyan/s2880/Kconfig
+++ b/src/mainboard/tyan/s2880/Kconfig
@@ -8,6 +8,7 @@ config BOARD_TYAN_S2880
select SOUTHBRIDGE_AMD_AMD8111
select SUPERIO_WINBOND_W83627HF
select HAVE_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select BOARD_ROMSIZE_KB_512
diff --git a/src/mainboard/tyan/s2880/romstage.c b/src/mainboard/tyan/s2880/romstage.c
index 5a3139c3e4a9..0e6612aa8c1a 100644
--- a/src/mainboard/tyan/s2880/romstage.c
+++ b/src/mainboard/tyan/s2880/romstage.c
@@ -7,8 +7,7 @@
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
#include <stdlib.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/tyan/s2881/Kconfig b/src/mainboard/tyan/s2881/Kconfig
index e8d543c18dd8..e12e95638bd2 100644
--- a/src/mainboard/tyan/s2881/Kconfig
+++ b/src/mainboard/tyan/s2881/Kconfig
@@ -9,6 +9,7 @@ config BOARD_TYAN_S2881
select SUPERIO_WINBOND_W83627HF
select HAVE_BUS_CONFIG
select HAVE_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select BOARD_ROMSIZE_KB_512
diff --git a/src/mainboard/tyan/s2881/romstage.c b/src/mainboard/tyan/s2881/romstage.c
index a9a16ab73bbe..517ffe4302f6 100644
--- a/src/mainboard/tyan/s2881/romstage.c
+++ b/src/mainboard/tyan/s2881/romstage.c
@@ -11,8 +11,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/tyan/s2882/Kconfig b/src/mainboard/tyan/s2882/Kconfig
index 5fe7eb8198a6..fdb486d1511e 100644
--- a/src/mainboard/tyan/s2882/Kconfig
+++ b/src/mainboard/tyan/s2882/Kconfig
@@ -8,6 +8,7 @@ config BOARD_TYAN_S2882
select SOUTHBRIDGE_AMD_AMD8111
select SUPERIO_WINBOND_W83627HF
select HAVE_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select BOARD_ROMSIZE_KB_512
diff --git a/src/mainboard/tyan/s2882/romstage.c b/src/mainboard/tyan/s2882/romstage.c
index 5d0b70e99cb2..ca12a0794fb0 100644
--- a/src/mainboard/tyan/s2882/romstage.c
+++ b/src/mainboard/tyan/s2882/romstage.c
@@ -7,8 +7,7 @@
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
#include <stdlib.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/tyan/s2885/Kconfig b/src/mainboard/tyan/s2885/Kconfig
index 66b12d668873..4abbba460682 100644
--- a/src/mainboard/tyan/s2885/Kconfig
+++ b/src/mainboard/tyan/s2885/Kconfig
@@ -9,6 +9,7 @@ config BOARD_TYAN_S2885
select SUPERIO_WINBOND_W83627HF
select HAVE_BUS_CONFIG
select HAVE_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select BOARD_ROMSIZE_KB_512
diff --git a/src/mainboard/tyan/s2885/romstage.c b/src/mainboard/tyan/s2885/romstage.c
index 0a05260605a0..8ebd9cdb5e0f 100644
--- a/src/mainboard/tyan/s2885/romstage.c
+++ b/src/mainboard/tyan/s2885/romstage.c
@@ -6,8 +6,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/tyan/s2891/Kconfig b/src/mainboard/tyan/s2891/Kconfig
index 7fce557ce172..ef09eb29d7c5 100644
--- a/src/mainboard/tyan/s2891/Kconfig
+++ b/src/mainboard/tyan/s2891/Kconfig
@@ -9,6 +9,7 @@ config BOARD_TYAN_S2891
select SUPERIO_WINBOND_W83627HF
select HAVE_BUS_CONFIG
select HAVE_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select SERIAL_CPU_INIT
diff --git a/src/mainboard/tyan/s2891/romstage.c b/src/mainboard/tyan/s2891/romstage.c
index 289d44a5acb5..4fce367322fc 100644
--- a/src/mainboard/tyan/s2891/romstage.c
+++ b/src/mainboard/tyan/s2891/romstage.c
@@ -12,8 +12,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/tyan/s2892/Kconfig b/src/mainboard/tyan/s2892/Kconfig
index 20c806e3101c..ddef3761047f 100644
--- a/src/mainboard/tyan/s2892/Kconfig
+++ b/src/mainboard/tyan/s2892/Kconfig
@@ -9,6 +9,7 @@ config BOARD_TYAN_S2892
select SUPERIO_WINBOND_W83627HF
select HAVE_BUS_CONFIG
select HAVE_HARD_RESET
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select SERIAL_CPU_INIT
diff --git a/src/mainboard/tyan/s2892/romstage.c b/src/mainboard/tyan/s2892/romstage.c
index cef89942a547..7edbf3b9271e 100644
--- a/src/mainboard/tyan/s2892/romstage.c
+++ b/src/mainboard/tyan/s2892/romstage.c
@@ -11,8 +11,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/tyan/s2895/Kconfig b/src/mainboard/tyan/s2895/Kconfig
index f7775e14b397..07a5af27cbcf 100644
--- a/src/mainboard/tyan/s2895/Kconfig
+++ b/src/mainboard/tyan/s2895/Kconfig
@@ -8,6 +8,7 @@ config BOARD_TYAN_S2895
select SOUTHBRIDGE_AMD_AMD8131
select SUPERIO_SMSC_LPC47B397
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_HARD_RESET
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
diff --git a/src/mainboard/tyan/s2895/romstage.c b/src/mainboard/tyan/s2895/romstage.c
index 486aa8d95a95..a8efb908ff0f 100644
--- a/src/mainboard/tyan/s2895/romstage.c
+++ b/src/mainboard/tyan/s2895/romstage.c
@@ -13,8 +13,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
#include <cpu/amd/model_fxx_rev.h>
diff --git a/src/mainboard/tyan/s2912/Kconfig b/src/mainboard/tyan/s2912/Kconfig
index c2a7ed00ddb8..533525afb9f3 100644
--- a/src/mainboard/tyan/s2912/Kconfig
+++ b/src/mainboard/tyan/s2912/Kconfig
@@ -7,6 +7,7 @@ config BOARD_TYAN_S2912
select SOUTHBRIDGE_NVIDIA_MCP55
select SUPERIO_WINBOND_W83627HF
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/tyan/s2912/ap_romstage.c b/src/mainboard/tyan/s2912/ap_romstage.c
index 1dff14236987..99036d0716fb 100644
--- a/src/mainboard/tyan/s2912/ap_romstage.c
+++ b/src/mainboard/tyan/s2912/ap_romstage.c
@@ -39,8 +39,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include "pc80/serial.c"
#include "console/console.c"
diff --git a/src/mainboard/tyan/s2912/romstage.c b/src/mainboard/tyan/s2912/romstage.c
index 822474bcf953..6548f77e626a 100644
--- a/src/mainboard/tyan/s2912/romstage.c
+++ b/src/mainboard/tyan/s2912/romstage.c
@@ -48,8 +48,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#if CONFIG_USBDEBUG
diff --git a/src/mainboard/tyan/s2912_fam10/Kconfig b/src/mainboard/tyan/s2912_fam10/Kconfig
index 51e74ae3d58b..f5b30059f56b 100644
--- a/src/mainboard/tyan/s2912_fam10/Kconfig
+++ b/src/mainboard/tyan/s2912_fam10/Kconfig
@@ -6,6 +6,7 @@ config BOARD_TYAN_S2912_FAM10
select SOUTHBRIDGE_NVIDIA_MCP55
select SUPERIO_WINBOND_W83627HF
select HAVE_BUS_CONFIG
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/tyan/s2912_fam10/romstage.c b/src/mainboard/tyan/s2912_fam10/romstage.c
index 05beb124f748..5792d34af7de 100644
--- a/src/mainboard/tyan/s2912_fam10/romstage.c
+++ b/src/mainboard/tyan/s2912_fam10/romstage.c
@@ -43,7 +43,6 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
#include <console/console.h>
#if CONFIG_USBDEBUG
#include "southbridge/nvidia/mcp55/mcp55_enable_usbdebug.c"
diff --git a/src/mainboard/tyan/s4880/Kconfig b/src/mainboard/tyan/s4880/Kconfig
index 7f7b21316964..695d7584b631 100644
--- a/src/mainboard/tyan/s4880/Kconfig
+++ b/src/mainboard/tyan/s4880/Kconfig
@@ -7,6 +7,7 @@ config BOARD_TYAN_S4880
select SOUTHBRIDGE_AMD_AMD8111
select SOUTHBRIDGE_AMD_AMD8131
select SUPERIO_WINBOND_W83627HF
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/tyan/s4880/romstage.c b/src/mainboard/tyan/s4880/romstage.c
index bbc8560eed51..7328cb4a267f 100644
--- a/src/mainboard/tyan/s4880/romstage.c
+++ b/src/mainboard/tyan/s4880/romstage.c
@@ -7,8 +7,7 @@
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
#include <stdlib.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/tyan/s4882/Kconfig b/src/mainboard/tyan/s4882/Kconfig
index c3394b9dc1e8..6993d1226e28 100644
--- a/src/mainboard/tyan/s4882/Kconfig
+++ b/src/mainboard/tyan/s4882/Kconfig
@@ -7,6 +7,7 @@ config BOARD_TYAN_S4882
select SOUTHBRIDGE_AMD_AMD8111
select SOUTHBRIDGE_AMD_AMD8131
select SUPERIO_WINBOND_W83627HF
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select USE_PRINTK_IN_CAR
diff --git a/src/mainboard/tyan/s4882/romstage.c b/src/mainboard/tyan/s4882/romstage.c
index 08f9f361cfc3..10537565e053 100644
--- a/src/mainboard/tyan/s4882/romstage.c
+++ b/src/mainboard/tyan/s4882/romstage.c
@@ -6,8 +6,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <cpu/x86/lapic.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
diff --git a/src/mainboard/via/epia-cn/Kconfig b/src/mainboard/via/epia-cn/Kconfig
index 4e50133e5e2e..2066321c0c96 100644
--- a/src/mainboard/via/epia-cn/Kconfig
+++ b/src/mainboard/via/epia-cn/Kconfig
@@ -5,6 +5,7 @@ config BOARD_VIA_EPIA_CN
select NORTHBRIDGE_VIA_CN700
select SOUTHBRIDGE_VIA_VT8237R
select SUPERIO_VIA_VT1211
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select BOARD_ROMSIZE_KB_512
diff --git a/src/mainboard/via/epia-m/Kconfig b/src/mainboard/via/epia-m/Kconfig
index f85641294e90..b424a9d33549 100644
--- a/src/mainboard/via/epia-m/Kconfig
+++ b/src/mainboard/via/epia-m/Kconfig
@@ -7,6 +7,7 @@ config BOARD_VIA_EPIA_M
select SOUTHBRIDGE_RICOH_RL5C476
select SUPERIO_VIA_VT1211
select BOARD_HAS_FADT
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_ACPI_TABLES
select BOARD_ROMSIZE_KB_256
diff --git a/src/mainboard/via/epia-m700/Kconfig b/src/mainboard/via/epia-m700/Kconfig
index 91bb11ccc58d..175642662955 100644
--- a/src/mainboard/via/epia-m700/Kconfig
+++ b/src/mainboard/via/epia-m700/Kconfig
@@ -5,6 +5,7 @@ config BOARD_VIA_EPIA_M700
select NORTHBRIDGE_VIA_VX800
select SUPERIO_WINBOND_W83697HF
select BOARD_HAS_FADT
+ select HAVE_OPTION_TABLE
select HAVE_ACPI_TABLES
select BOARD_ROMSIZE_KB_512
diff --git a/src/mainboard/via/epia-n/Kconfig b/src/mainboard/via/epia-n/Kconfig
index 11a3815ac1d5..1356b7a21ab3 100644
--- a/src/mainboard/via/epia-n/Kconfig
+++ b/src/mainboard/via/epia-n/Kconfig
@@ -6,6 +6,7 @@ config BOARD_VIA_EPIA_N
select SOUTHBRIDGE_VIA_VT8237R
select SUPERIO_WINBOND_W83697HF
select BOARD_HAS_FADT
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select EPIA_VT8237R_INIT
diff --git a/src/mainboard/via/epia/Kconfig b/src/mainboard/via/epia/Kconfig
index ddb3fe643bba..05a9735a50f5 100644
--- a/src/mainboard/via/epia/Kconfig
+++ b/src/mainboard/via/epia/Kconfig
@@ -5,6 +5,7 @@ config BOARD_VIA_EPIA
select NORTHBRIDGE_VIA_VT8601
select SOUTHBRIDGE_VIA_VT8231
select SUPERIO_WINBOND_W83627HF
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select BOARD_ROMSIZE_KB_256
select ROMCC
diff --git a/src/mainboard/via/pc2500e/Kconfig b/src/mainboard/via/pc2500e/Kconfig
index a23ec454cd2b..f2bf195003f2 100644
--- a/src/mainboard/via/pc2500e/Kconfig
+++ b/src/mainboard/via/pc2500e/Kconfig
@@ -5,6 +5,7 @@ config BOARD_VIA_PC2500E
select NORTHBRIDGE_VIA_CN700
select SOUTHBRIDGE_VIA_VT8237R
select SUPERIO_ITE_IT8716F
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
select SMP
diff --git a/src/mainboard/via/pc2500e/romstage.c b/src/mainboard/via/pc2500e/romstage.c
index 71d916a82d3e..32a853cdb30b 100644
--- a/src/mainboard/via/pc2500e/romstage.c
+++ b/src/mainboard/via/pc2500e/romstage.c
@@ -25,8 +25,7 @@
#include <device/pnp_def.h>
#include <arch/romcc_io.h>
#include <arch/hlt.h>
-#include "option_table.h"
-#include "pc80/mc146818rtc_early.c"
+#include <pc80/mc146818rtc.h>
#include <console/console.h>
#include "lib/ramtest.c"
#include "northbridge/via/cn700/raminit.h"
diff --git a/src/mainboard/via/vt8454c/Kconfig b/src/mainboard/via/vt8454c/Kconfig
index 62b3cd092efd..33b75b42d028 100644
--- a/src/mainboard/via/vt8454c/Kconfig
+++ b/src/mainboard/via/vt8454c/Kconfig
@@ -5,6 +5,7 @@ config BOARD_VIA_VT8454C
select NORTHBRIDGE_VIA_CX700
select SUPERIO_VIA_VT1211
select BOARD_HAS_FADT
+ select HAVE_OPTION_TABLE
select HAVE_PIRQ_TABLE
select HAVE_MP_TABLE
# select MMCONF_SUPPORT
diff --git a/src/mainboard/winent/pl6064/Kconfig b/src/mainboard/winent/pl6064/Kconfig
index 45f7a7599550..a859563332cb 100644
--- a/src/mainboard/winent/pl6064/Kconfig
+++ b/src/mainboard/winent/pl6064/Kconfig
@@ -22,11 +22,6 @@ config MAINBOARD_PART_NUMBER
default "PL6064"
depends on BOARD_WINENT_PL6064
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_WINENT_PL6064
-
config IRQ_SLOT_COUNT
int
default 7
diff --git a/src/mainboard/wyse/s50/Kconfig b/src/mainboard/wyse/s50/Kconfig
index 7163e9da3592..eb1d1e5cc50c 100644
--- a/src/mainboard/wyse/s50/Kconfig
+++ b/src/mainboard/wyse/s50/Kconfig
@@ -39,11 +39,6 @@ config MAINBOARD_PART_NUMBER
default "s50"
depends on BOARD_WYSE_S50
-config HAVE_OPTION_TABLE
- bool
- default n
- depends on BOARD_WYSE_S50
-
config IRQ_SLOT_COUNT
int
default 3
diff --git a/src/northbridge/amd/amdk8/coherent_ht.c b/src/northbridge/amd/amdk8/coherent_ht.c
index 1b0feb123add..293abc7067d2 100644
--- a/src/northbridge/amd/amdk8/coherent_ht.c
+++ b/src/northbridge/amd/amdk8/coherent_ht.c
@@ -68,6 +68,7 @@
#include <device/hypertransport_def.h>
#include <stdlib.h>
#include "arch/romcc_io.h"
+#include <pc80/mc146818rtc.h>
#include "amdk8.h"
@@ -1594,8 +1595,7 @@ static void coherent_ht_finalize(unsigned nodes)
#if CONFIG_LOGICAL_CPUS==1
unsigned total_cpus;
- if ((!CONFIG_HAVE_OPTION_TABLE) ||
- read_option(CMOS_VSTART_multi_core, CMOS_VLEN_multi_core, 0) == 0) { /* multi_core */
+ if (read_option(CMOS_VSTART_multi_core, CMOS_VLEN_multi_core, 0) == 0) { /* multi_core */
total_cpus = verify_dualcore(nodes);
}
else {
diff --git a/src/northbridge/amd/amdk8/raminit.c b/src/northbridge/amd/amdk8/raminit.c
index 7ad1b8004c2c..8217464e37a2 100644
--- a/src/northbridge/amd/amdk8/raminit.c
+++ b/src/northbridge/amd/amdk8/raminit.c
@@ -549,8 +549,7 @@ static void hw_enable_ecc(const struct mem_controller *ctrl)
if (nbcap & NBCAP_ECC) {
dcl |= DCL_DimmEccEn;
}
- if (CONFIG_HAVE_OPTION_TABLE &&
- read_option(CMOS_VSTART_ECC_memory, CMOS_VLEN_ECC_memory, 1) == 0) {
+ if (read_option(CMOS_VSTART_ECC_memory, CMOS_VLEN_ECC_memory, 1) == 0) {
dcl &= ~DCL_DimmEccEn;
}
pci_write_config32(ctrl->f2, DRAM_CONFIG_LOW, dcl);
@@ -1102,8 +1101,7 @@ static void order_dimms(const struct mem_controller *ctrl)
{
unsigned long tom_k, base_k;
- if ((!CONFIG_HAVE_OPTION_TABLE) ||
- read_option(CMOS_VSTART_interleave_chip_selects, CMOS_VLEN_interleave_chip_selects, 1) != 0) {
+ if (read_option(CMOS_VSTART_interleave_chip_selects, CMOS_VLEN_interleave_chip_selects, 1) != 0) {
tom_k = interleave_chip_selects(ctrl);
} else {
printk(BIOS_DEBUG, "Interleaving disabled\n");
@@ -1406,7 +1404,7 @@ static struct spd_set_memclk_result spd_set_memclk(const struct mem_controller *
min_cycle_time = min_cycle_times[(value >> NBCAP_MEMCLK_SHIFT) & NBCAP_MEMCLK_MASK];
bios_cycle_time = min_cycle_times[
read_option(CMOS_VSTART_max_mem_clock, CMOS_VLEN_max_mem_clock, 0)];
- if (CONFIG_HAVE_OPTION_TABLE && bios_cycle_time > min_cycle_time) {
+ if (bios_cycle_time > min_cycle_time) {
min_cycle_time = bios_cycle_time;
}
min_latency = 2;
diff --git a/src/northbridge/intel/i945/raminit.c b/src/northbridge/intel/i945/raminit.c
index 1922fab4b60b..b05a553c5a2d 100644
--- a/src/northbridge/intel/i945/raminit.c
+++ b/src/northbridge/intel/i945/raminit.c
@@ -19,6 +19,7 @@
#include <cpu/x86/mtrr.h>
#include <cpu/x86/cache.h>
+#include <pc80/mc146818rtc.h>
#include <spd.h>
#include "raminit.h"
#include "i945.h"
@@ -2671,7 +2672,7 @@ static void sdram_save_receive_enable(void)
values[3] |= (reg32 >> (24 - 4)) & 0xf0;
/* coreboot only uses bytes 0 - 127 for its CMOS values so far
- * so we grad bytes 128 - 131 to save the receive enable values
+ * so we grab bytes 128 - 131 to save the receive enable values
*/
for (i=0; i<4; i++)
diff --git a/src/pc80/Makefile.inc b/src/pc80/Makefile.inc
index 5ed40b38020e..b20f2b4161cf 100644
--- a/src/pc80/Makefile.inc
+++ b/src/pc80/Makefile.inc
@@ -3,7 +3,7 @@ obj-y += isa-dma.o
obj-y += i8259.o
obj-$(CONFIG_UDELAY_IO) += udelay_io.o
obj-y += keyboard.o
-
+initobj-$(CONFIG_USE_OPTION_TABLE) += mc146818rtc_early.o
initobj-$(CONFIG_USE_DCACHE_RAM) += serial.o
subdirs-y += vga
diff --git a/src/pc80/mc146818rtc.c b/src/pc80/mc146818rtc.c
index 078bde273c79..23b834c06ad5 100644
--- a/src/pc80/mc146818rtc.c
+++ b/src/pc80/mc146818rtc.c
@@ -1,11 +1,7 @@
#include <console/console.h>
-#include <arch/io.h>
#include <pc80/mc146818rtc.h>
#include <boot/coreboot_tables.h>
#include <string.h>
-#if CONFIG_HAVE_OPTION_TABLE
-#include <option_table.h>
-#endif
/* control registers - Moto names
*/
@@ -76,29 +72,7 @@
# define RTC_VRT 0x80 /* valid RAM and time */
/**********************************************************************/
-static inline unsigned char cmos_read(unsigned char addr)
-{
- int offs = 0;
- if (addr >= 128) {
- offs = 2;
- addr -= 128;
- }
- outb(addr, RTC_BASE_PORT + offs + 0);
- return inb(RTC_BASE_PORT + offs + 1);
-}
-
-static inline void cmos_write(unsigned char val, unsigned char addr)
-{
- int offs = 0;
- if (addr >= 128) {
- offs = 2;
- addr -= 128;
- }
- outb(addr, RTC_BASE_PORT + offs + 0);
- outb(val, RTC_BASE_PORT + offs + 1);
-}
-
-#if CONFIG_HAVE_OPTION_TABLE
+#if CONFIG_USE_OPTION_TABLE
static int rtc_checksum_valid(int range_start, int range_end, int cks_loc)
{
int i;
@@ -138,14 +112,14 @@ static void rtc_set_checksum(int range_start, int range_end, int cks_loc)
void rtc_init(int invalid)
{
-#if CONFIG_HAVE_OPTION_TABLE
+#if CONFIG_USE_OPTION_TABLE
unsigned char x;
int cmos_invalid, checksum_invalid;
#endif
printk(BIOS_DEBUG, "RTC Init\n");
-#if CONFIG_HAVE_OPTION_TABLE
+#if CONFIG_USE_OPTION_TABLE
/* See if there has been a CMOS power problem. */
x = cmos_read(RTC_VALID);
cmos_invalid = !(x & RTC_VRT);
@@ -186,7 +160,7 @@ void rtc_init(int invalid)
/* Setup the frequency it operates at */
cmos_write(RTC_FREQ_SELECT_DEFAULT, RTC_FREQ_SELECT);
-#if CONFIG_HAVE_OPTION_TABLE
+#if CONFIG_USE_OPTION_TABLE
/* See if there is a LB CMOS checksum error */
checksum_invalid = !rtc_checksum_valid(LB_CKS_RANGE_START,
LB_CKS_RANGE_END,LB_CKS_LOC);
@@ -203,7 +177,7 @@ void rtc_init(int invalid)
}
-#if CONFIG_USE_OPTION_TABLE == 1
+#if CONFIG_USE_OPTION_TABLE
/* This routine returns the value of the requested bits
input bit = bit count from the beginning of the cmos image
length = number of bits to include in the value
diff --git a/src/pc80/mc146818rtc_early.c b/src/pc80/mc146818rtc_early.c
index fa1f388804b5..ed1f0926f0ab 100644
--- a/src/pc80/mc146818rtc_early.c
+++ b/src/pc80/mc146818rtc_early.c
@@ -1,8 +1,5 @@
#include <pc80/mc146818rtc.h>
#include <fallback.h>
-#if CONFIG_HAVE_OPTION_TABLE
-#include <option_table.h>
-#endif
#ifndef CONFIG_MAX_REBOOT_CNT
#error "CONFIG_MAX_REBOOT_CNT not defined"
@@ -11,28 +8,6 @@
#error "CONFIG_MAX_REBOOT_CNT too high"
#endif
-static unsigned char cmos_read(unsigned char addr)
-{
- int offs = 0;
- if (addr >= 128) {
- offs = 2;
- addr -= 128;
- }
- outb(addr, RTC_BASE_PORT + offs + 0);
- return inb(RTC_BASE_PORT + offs + 1);
-}
-
-static void cmos_write(unsigned char val, unsigned char addr)
-{
- int offs = 0;
- if (addr >= 128) {
- offs = 2;
- addr -= 128;
- }
- outb(addr, RTC_BASE_PORT + offs + 0);
- outb(val, RTC_BASE_PORT + offs + 1);
-}
-
static int cmos_error(void)
{
unsigned char reg_d;
@@ -43,7 +18,7 @@ static int cmos_error(void)
static int cmos_chksum_valid(void)
{
-#if CONFIG_HAVE_OPTION_TABLE == 1
+#if CONFIG_USE_OPTION_TABLE
unsigned char addr;
unsigned long sum, old_sum;
sum = 0;
@@ -114,9 +89,9 @@ static inline int do_normal_boot(void)
return (byte & (1<<1));
}
-static inline unsigned read_option(unsigned start, unsigned size, unsigned def)
+unsigned read_option(unsigned start, unsigned size, unsigned def)
{
-#if CONFIG_USE_OPTION_TABLE == 1
+#if CONFIG_USE_OPTION_TABLE
unsigned byte;
byte = cmos_read(start/8);
return (byte >> (start & 7U)) & ((1U << size) - 1U);
diff --git a/src/pc80/serial.c b/src/pc80/serial.c
index 396a41914ee4..f7e4578221b8 100644
--- a/src/pc80/serial.c
+++ b/src/pc80/serial.c
@@ -1,5 +1,6 @@
#include <lib.h> /* Prototypes */
#include <arch/io.h>
+#include "pc80/mc146818rtc.h"
/* Base Address */
#ifndef CONFIG_TTYS0_BASE
@@ -80,7 +81,7 @@ void uart_init(void)
outb(0x01, CONFIG_TTYS0_BASE + UART_FCR);
/* Set Baud Rate Divisor to 12 ==> 115200 Baud */
outb(0x80 | UART_LCS, CONFIG_TTYS0_BASE + UART_LCR);
-#if CONFIG_USE_OPTION_TABLE == 1
+#if CONFIG_USE_OPTION_TABLE
static const unsigned char divisor[] = { 1,2,3,6,12,24,48,96 };
unsigned ttys0_div, ttys0_index;
ttys0_index = read_option(CMOS_VSTART_baud_rate, CMOS_VLEN_baud_rate, 0);
@@ -101,7 +102,7 @@ void uart_init(void)
extern void uart8250_init(unsigned base_port, unsigned divisor, unsigned lcs);
void uart_init(void)
{
-#if CONFIG_USE_OPTION_TABLE == 1
+#if CONFIG_USE_OPTION_TABLE
static const unsigned char divisor[] = { 1,2,3,6,12,24,48,96 };
unsigned ttys0_div, ttys0_index;
ttys0_index = read_option(CMOS_VSTART_baud_rate, CMOS_VLEN_baud_rate, 0);
diff --git a/util/options/build_opt_tbl.c b/util/options/build_opt_tbl.c
index 3660f4e2ab04..277203170d7c 100644
--- a/util/options/build_opt_tbl.c
+++ b/util/options/build_opt_tbl.c
@@ -25,6 +25,7 @@
#include <ctype.h>
#include <errno.h>
#include <libgen.h>
+#define UTIL_BUILD_OPTION_TABLE
#include "../../src/include/pc80/mc146818rtc.h"
#include "../../src/include/boot/coreboot_tables.h"