From 685ab2a2f2335a2366e2338f0425422dd3409403 Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Fri, 6 Nov 2015 15:24:20 -0600 Subject: [PATCH] intel/skylake: ensure the RTC time is set In 2014 or so the RTC code was changed to assume the ALTCENTRY register (0x32) as always being utilized for creating an rtc_time. However, one needs to ensure it's set at least once otherwise the year field in rtc_time is not sane. In practice this doesn't matter unless somone wants to use the full year value. cmos_init() should do the same thing in the rtc fail case, but the machine I had never had that set correctly. BUG=chrome-os-partner:47388 BRANCH=None TEST=Booted glados w/ 0xff ALTCENTRY value. New value is 0x20. Change-Id: I028f801c5d717a0018ed00df82c25b466d64670c Signed-off-by: Patrick Georgi Original-Commit-Id: 7d5be5bc697bef60a264ddc7f67755aa96088d36 Original-Change-Id: I6e12a30c9e08d8c1002e4cef0f143f0f88009e92 Original-Signed-off-by: Aaron Durbin Original-Reviewed-on: https://chromium-review.googlesource.com/311264 Original-Reviewed-by: Duncan Laurie Reviewed-on: http://review.coreboot.org/12411 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- src/soc/intel/skylake/pmc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/soc/intel/skylake/pmc.c b/src/soc/intel/skylake/pmc.c index fb095896aa..a2d88aa8a4 100644 --- a/src/soc/intel/skylake/pmc.c +++ b/src/soc/intel/skylake/pmc.c @@ -139,6 +139,9 @@ static void pch_rtc_init(void) printk(BIOS_DEBUG, "rtc_failed = 0x%x\n", rtc_failed); } + /* Ensure the date is set including century byte. */ + cmos_check_update_date(); + #if IS_ENABLED(CONFIG_CHROMEOS_VBNV_CMOS) pch_cmos_init_preserve(rtc_failed); #else