summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Roth <gaumless@gmail.com>2014-05-12 21:52:54 -0600
committerMartin Roth <gaumless@gmail.com>2014-05-29 23:09:12 +0200
commit7312c54dc684099a6d85ae13f3de097754ced0f0 (patch)
tree9042b9a10d9202330048f6ea31872e2ae7d6b7a1
parent2c55b70d1a9a52060708ee0cf44eac9c2764ddd4 (diff)
add rtc_init() to romstage
The FSP clears the bit that tells us whether or not the RTC has lost power when it sets up memory. Because of this, we need to initialize the RTC in romstage instead of ramstage. Change-Id: I158e4339fc539d32cfb2428042df6156d312a5f4 Signed-off-by: Martin Roth <gaumless@gmail.com> Signed-off-by: Martin Roth <martin.roth@se-eng.com> Reviewed-on: http://review.coreboot.org/5735 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones <marc.jones@se-eng.com>
-rw-r--r--src/drivers/pc80/Makefile.inc1
-rw-r--r--src/drivers/pc80/mc146818rtc.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/src/drivers/pc80/Makefile.inc b/src/drivers/pc80/Makefile.inc
index 4d0a280b2a..d216e2cc63 100644
--- a/src/drivers/pc80/Makefile.inc
+++ b/src/drivers/pc80/Makefile.inc
@@ -1,3 +1,4 @@
+romstage-y += mc146818rtc.c
ramstage-y += mc146818rtc.c
ramstage-y += isa-dma.c
ramstage-y += i8254.c
diff --git a/src/drivers/pc80/mc146818rtc.c b/src/drivers/pc80/mc146818rtc.c
index 51cd6c3165..6f8a4eb350 100644
--- a/src/drivers/pc80/mc146818rtc.c
+++ b/src/drivers/pc80/mc146818rtc.c
@@ -71,6 +71,7 @@ void rtc_init(int invalid)
unsigned char x;
#endif
+#ifndef __PRE_RAM__
#if CONFIG_HAVE_ACPI_RESUME
/*
* Avoid clearing pending interrupts and resetting the RTC control
@@ -80,7 +81,8 @@ void rtc_init(int invalid)
*/
if (acpi_slp_type == 3)
return;
-#endif
+#endif /* CONFIG_HAVE_ACPI_RESUME */
+#endif /* __PRE_RAM__ */
printk(BIOS_DEBUG, "RTC Init\n");