[coreboot-gerrit] Patch set updated for coreboot: 432a0cd armv7/exynos: Prevent unexpected reboots in resume.

Gabe Black (gabeblack@chromium.org) gerrit at coreboot.org
Wed Jul 10 14:32:30 CEST 2013


Gabe Black (gabeblack at chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3718

-gerrit

commit 432a0cd98317b9eff6717ab55d61ac41eaf41374
Author: Hung-Te Lin <hungte at chromium.org>
Date:   Fri Jun 28 17:27:17 2013 +0800

    armv7/exynos: Prevent unexpected reboots in resume.
    
    In resume path, if memory setup takes too long without setting PS_HOLD, EC watch
    dog may power off or reboot the system. To prevent that, we should enable
    PS_HOLD in same timing as cold boot - right before starting memory setup.
    
    Change-Id: I5c294fa7ae015f8cff57b1fd81e5b80902647b15
    Signed-off-by: Hung-Te Lin <hungte at chromium.org>
    Signed-off-by: Gabe Black <gabeblack at chromium.org>
---
 src/mainboard/google/pit/romstage.c  | 11 ++++++-----
 src/mainboard/google/snow/romstage.c | 11 ++++++-----
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/mainboard/google/pit/romstage.c b/src/mainboard/google/pit/romstage.c
index 7ba66a4..30c8aeb 100644
--- a/src/mainboard/google/pit/romstage.c
+++ b/src/mainboard/google/pit/romstage.c
@@ -74,13 +74,17 @@ struct pmic_write pmic_writes[] =
 					  MAX77802_BUCK_TYPE1_IGNORE_PWRREQ }
 };
 
-static void setup_power(void)
+static void setup_power(int is_resume)
 {
 	int error = 0;
 	int i;
 
 	power_init();
 
+	if (is_resume) {
+		return;
+	}
+
 	/* Initialize I2C bus to configure PMIC. */
 	exynos_pinmux_i2c4();
 	i2c_init(4, I2C_4_SPEED, 0x00);
@@ -264,10 +268,7 @@ void main(void)
 
 	console_init();
 
-	if (!is_resume) {
-		setup_power();
-	}
-
+	setup_power(is_resume);
 	setup_memory(&mem_timings, is_resume);
 
 	primitive_mem_test();
diff --git a/src/mainboard/google/snow/romstage.c b/src/mainboard/google/snow/romstage.c
index 8c01536..7442f7a 100644
--- a/src/mainboard/google/snow/romstage.c
+++ b/src/mainboard/google/snow/romstage.c
@@ -43,12 +43,16 @@
 #define PMIC_BUS	0
 #define MMC0_GPIO_PIN	(58)
 
-static void setup_power(void)
+static void setup_power(int is_resume)
 {
 	int error = 0;
 
 	power_init();
 
+	if (is_resume) {
+		return;
+	}
+
 	/* Initialize I2C bus to configure PMIC. */
 	exynos_pinmux_i2c0();
 	i2c_init(0, I2C_0_SPEED, 0x00);
@@ -171,10 +175,7 @@ void main(void)
 
 	console_init();
 
-	if (!is_resume) {
-		setup_power();
-	}
-
+	setup_power(is_resume);
 	setup_memory(mem, is_resume);
 
 	if (is_resume) {



More information about the coreboot-gerrit mailing list