summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorƁukasz Majewski <l.majewski@samsung.com>2014-04-09 15:09:44 +0200
committerTom Rini <trini@ti.com>2014-04-11 10:08:42 -0400
commit24542528fe5832a11b553c5c408a3c41bc4fec21 (patch)
treee34ef588788485817d4466f7896914bfb733b3cb
parent395e60cdc292dc0183c6867d34b43f14a373df55 (diff)
downloadu-boot-24542528fe5832a11b553c5c408a3c41bc4fec21.tar.gz
u-boot-24542528fe5832a11b553c5c408a3c41bc4fec21.tar.xz
u-boot-24542528fe5832a11b553c5c408a3c41bc4fec21.zip
arm:board:trats2:FIX: Clear INFORM4 and INFORM5 registers at correct boot
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@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Acked-by: Minkyu Kang <mk7.kang@samsung.com>
-rw-r--r--board/samsung/trats2/trats2.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/board/samsung/trats2/trats2.c b/board/samsung/trats2/trats2.c
index 2a6c9f9170..f558ef97a9 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;
}