From 654f2934653ee5ca4bd43217abbc49a9140c8ad0 Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Mon, 26 Sep 2011 13:24:40 -0700 Subject: Add cmos helper functions for reading/writing a dword These get used later for saving/restoring the MRC scrambler seed values on each boot. Change-Id: I6e23f17649bea6d22c4b279ed8d0e5cb6c0885e7 Signed-off-by: Duncan Laurie Reviewed-on: http://review.coreboot.org/717 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- src/include/pc80/mc146818rtc.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/include') diff --git a/src/include/pc80/mc146818rtc.h b/src/include/pc80/mc146818rtc.h index 3e5a61a706..24dac2c098 100644 --- a/src/include/pc80/mc146818rtc.h +++ b/src/include/pc80/mc146818rtc.h @@ -104,6 +104,22 @@ static inline void cmos_write(unsigned char val, unsigned char addr) outb(addr, RTC_BASE_PORT + offs + 0); outb(val, RTC_BASE_PORT + offs + 1); } + +static inline u32 cmos_read32(u8 offset) +{ + u32 value = 0; + u8 i; + for (i = 0; i < sizeof(value); ++i) + value |= cmos_read(offset + i) << (i << 3); + return value; +} + +static inline void cmos_write32(u8 offset, u32 value) +{ + u8 i; + for (i = 0; i < sizeof(value); ++i) + cmos_write((value >> (i << 3)) & 0xff, offset + i); +} #endif #if !defined(__ROMCC__) -- cgit v1.2.3