[coreboot-gerrit] Patch set updated for coreboot: f78d099 baytrail: ensure init_chromeos() is called in romstage

Aaron Durbin (adurbin@google.com) gerrit at coreboot.org
Tue Jan 28 05:34:34 CET 2014


Aaron Durbin (adurbin at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4974

-gerrit

commit f78d099ebd918bb0343fc9207ccea93b3f7f5cdf
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Thu Nov 14 13:47:08 2013 -0600

    baytrail: ensure init_chromeos() is called in romstage
    
    The TPM needs to have the TPM_Startup command sent to it
    on all boot paths. The call init_chromeos() in romstage_common()
    fulfills this requirement.
    
    BUG=chrome-os-partner:24057
    BRANCH=None
    TEST=Built and booted. Was able to suspend to ram multiple times
         in a row.
    
    Change-Id: Id0339a9d82897249d20ff5f62d2dcb8b535310fa
    Signed-off-by: Aaron Durbin <adurbin at chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/176803
    Reviewed-by: Todd Broch <tbroch at chromium.org>
    Tested-by: Todd Broch <tbroch at chromium.org>
    Reviewed-by: Shawn Nematbakhsh <shawnn at chromium.org>
---
 src/soc/intel/baytrail/romstage/romstage.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/soc/intel/baytrail/romstage/romstage.c b/src/soc/intel/baytrail/romstage/romstage.c
index 19a7153..0416a52 100644
--- a/src/soc/intel/baytrail/romstage/romstage.c
+++ b/src/soc/intel/baytrail/romstage/romstage.c
@@ -181,6 +181,16 @@ static int chipset_prev_sleep_state(void)
 	return prev_sleep_state;
 }
 
+#if CONFIG_CHROMEOS
+static inline void chromeos_init(int prev_sleep_state)
+{
+	/* Normalize the sleep state to what init_chromeos() wants for S3: 2. */
+	init_chromeos(prev_sleep_state == 3 ? 2 : 0);
+}
+#else
+static inline void chromeos_init(int prev_sleep_state) {}
+#endif
+
 /* Entry from the mainboard. */
 void romstage_common(struct romstage_params *params)
 {
@@ -208,6 +218,8 @@ void romstage_common(struct romstage_params *params)
 	else
 		printk(BIOS_DEBUG, "Romstage handoff structure not added!\n");
 
+	chromeos_init(prev_sleep_state);
+
 	/* Save timestamp information. */
 	timestamp_init(ts64_to_tsc(params->ts.times[0]));
 	timestamp_add(TS_START_ROMSTAGE, ts64_to_tsc(params->ts.times[1]));



More information about the coreboot-gerrit mailing list