[U-Boot] [PATCH v2] arm:board:trats2:FIX: Clear INFORM4 and INFORM5 registers at correct boot

Lukasz Majewski l.majewski at samsung.com
Wed Apr 9 15:09:44 CEST 2014


During switch to device tree, commit 1ecab0f has removed this code.

INFORM4 and INFORM5 registers are used by TRATS2 first stage bootloader for
providing recovery. For normal operation, those two must be cleared out.

This error emerges when one force reset from u-boot's command line for
three times.

Signed-off-by: Lukasz Majewski <l.majewski at samsung.com>
Cc: Minkyu Kang <mk7.kang at samsung.com>

---
Changes for v2:
- Remove redundant cast
---
 board/samsung/trats2/trats2.c |   13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/board/samsung/trats2/trats2.c b/board/samsung/trats2/trats2.c
index 2a6c9f9..f558ef9 100644
--- a/board/samsung/trats2/trats2.c
+++ b/board/samsung/trats2/trats2.c
@@ -150,9 +150,22 @@ static int pmic_init_max77686(void);
 
 int exynos_init(void)
 {
+	struct exynos4_power *pwr =
+		(struct exynos4_power *)samsung_get_base_power();
+
 	check_hw_revision();
 	printf("HW Revision:\t0x%04x\n", board_rev);
 
+	/*
+	 * First bootloader on the TRATS2 platform uses
+	 * INFORM4 and INFORM5 registers for recovery
+	 *
+	 * To indicate correct boot chain - those two
+	 * registers must be cleared out
+	 */
+	writel(0, &pwr->inform4);
+	writel(0, &pwr->inform5);
+
 	return 0;
 }
 
-- 
1.7.10.4



More information about the U-Boot mailing list