UPSTREAM: lib/bootblock: Sanitize CMOS after bootblock_*_early_init()

CMOS isn't used that early, but the chipset initialization may be
required to access it.

In one instance, Intel Apollo Lake, the sanitize_cmos() function
seems to hang if called before bootblock_soc_early_init(). The
missing step is fast_spi_early_init(). But even without, one might
expect sanitize_cmos() to return eventually (it didn't within
about 20min).

BUG=none
BRANCH=none
TEST=none

Change-Id: If762c375e4f34653f33c7251c18dd8a19483af61
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Original-Commit-Id: e0b9aea7be96f1d724a6c794dd617122125f1ba6
Original-Change-Id: I6e1a029e4be7e109be43a3dad944bd7e05ea1f02
Original-Signed-off-by: Nico Huber <nico.huber@secunet.com>
Original-Reviewed-on: https://review.coreboot.org/c/coreboot/+/31349
Original-Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Original-Reviewed-by: Alex Thiessen <alex.thiessen.de+coreboot@gmail.com>
Reviewed-on: https://chromium-review.googlesource.com/1627611
Commit-Ready: Patrick Georgi <pgeorgi@chromium.org>
Tested-by: Patrick Georgi <pgeorgi@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
diff --git a/src/lib/bootblock.c b/src/lib/bootblock.c
index 43674ef..c28a67a 100644
--- a/src/lib/bootblock.c
+++ b/src/lib/bootblock.c
@@ -42,12 +42,12 @@
 				      timestamps[i].entry_stamp);
 	}
 
-	sanitize_cmos();
-	cmos_post_init();
-
 	bootblock_soc_early_init();
 	bootblock_mainboard_early_init();
 
+	sanitize_cmos();
+	cmos_post_init();
+
 	if (CONFIG(BOOTBLOCK_CONSOLE)) {
 		console_init();
 		exception_init();