[coreboot] Patch set updated for coreboot: a2a7360 exynos5250: un-comment a lot of code which was left out earlier

David Hendricks (dhendrix@chromium.org) gerrit at coreboot.org
Thu Jan 10 05:11:57 CET 2013


David Hendricks (dhendrix at chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2126

-gerrit

commit a2a73605a99753f2da054e5014e554a2c7422f9b
Author: David Hendricks <dhendrix at chromium.org>
Date:   Wed Jan 9 17:42:02 2013 -0800

    exynos5250: un-comment a lot of code which was left out earlier
    
    Turns out initializing power rails is necessary, even for getting
    serial output.
    
    Change-Id: I3042c1001ae43b1e793ee6cb90bb79b8db0f8fd1
    Signed-off-by: David Hendricks <dhendrix at chromium.org>
---
 src/cpu/samsung/exynos5250/power.c | 27 +++++++++++++--------------
 1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/src/cpu/samsung/exynos5250/power.c b/src/cpu/samsung/exynos5250/power.c
index 7d294ed..7c61655 100644
--- a/src/cpu/samsung/exynos5250/power.c
+++ b/src/cpu/samsung/exynos5250/power.c
@@ -31,6 +31,9 @@
 #include <cpu/samsung/exynos5-common/spl.h>
 #include <drivers/maxim/max77686/max77686.h>
 
+#include "device/i2c.h"
+#include "cpu/samsung/s5p-common/s3c24x0_i2c.h"
+
 static void ps_hold_setup(void)
 {
 	struct exynos5_power *power =
@@ -138,21 +141,16 @@ int power_init(void)
 {
 	int error = 0;
 
-	/* FIXME(dhendrix): not necessary for initial bringup... */
-#if 0
-#ifdef CONFIG_SPL_BUILD
-	struct spl_machine_param *param = spl_get_machine_params();
-
+	/*
+	 * FIXME(dhendrix): We will re-factor the caller of power_init()
+	 * to start from a board-specific romstage file and do the i2c
+	 * early setup. There is no reason CPU power init code should
+	 * mess with board-specific i2c parameters.
+	 */
 	/* Set the i2c register address base so i2c works before FDT */
-	i2c_set_early_reg(param->i2c_base);
-#endif
-#endif
+	i2c_set_early_reg(0x12c60000);
 
 	ps_hold_setup();
-
-	/* FIXME(dhendrix): not necessary for initial bringup... */
-#if 0
-	/* init the i2c so that we can program pmic chip */
 	i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
 
 	/*
@@ -183,9 +181,10 @@ int power_init(void)
 						REG_ENABLE, MAX77686_MV);
 	error |= max77686_volsetting(PMIC_LDO10, CONFIG_VDD_LDO10_MV,
 						REG_ENABLE, MAX77686_MV);
-#endif
-	if (error != 0)
+	if (error != 0) {
+		power_shutdown();
 		printk(BIOS_ERR, "power init failed\n");
+	}
 
 	return error;
 }



More information about the coreboot mailing list