From eb50c7d922e91f0247b3705eccb2d2eec638c277 Mon Sep 17 00:00:00 2001 From: Edwin Beasant Date: Tue, 6 Jul 2010 21:05:04 +0000 Subject: Re-integrate "USE_OPTION_TABLE" code. Signed-off-by: Edwin Beasant Signed-off-by: Myles Watson Acked-by: Myles Watson git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5653 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/include/pc80/mc146818rtc.h | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) (limited to 'src/include') diff --git a/src/include/pc80/mc146818rtc.h b/src/include/pc80/mc146818rtc.h index cd8c8181aa..0abb2a6b4b 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 +#endif + +#ifndef UTIL_BUILD_OPTION_TABLE +#include +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 #endif #endif /* PC80_MC146818RTC_H */ -- cgit v1.2.3