summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2013-10-05 12:08:55 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2013-10-05 12:08:55 +0200
commitac13ca97df9f8c17d1c89d425041690484ee0fdf (patch)
tree46292e698fce7dfb25010ece3efb1fed5eac423d
parent7cc8858d690dda461b0e50a3cb2c63aff28ea17b (diff)
colibri_vf50: fix boot hang issueColibri_VF50_LinuxImageV2.1Beta1_20131022
Fix long standing boot hang issue introduced by Freescale's Vybrid 1.1 silicon. https://community.freescale.com/message/336513#336513 Correct Answer by Ioseph Martinez Pelayo on Jul 17, 2013 5:33 PM For the record: DDRMC_CR154 needs to be 0x682C0000 before was: 0x68200000 There was a change from Si 1.0 to 1.1. So this only affects Si 1.1 and this version requires writing this value to the register.
-rw-r--r--board/toradex/colibri_vf50/colibri_vf50.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/board/toradex/colibri_vf50/colibri_vf50.c b/board/toradex/colibri_vf50/colibri_vf50.c
index 599d4091a6..654cc05988 100644
--- a/board/toradex/colibri_vf50/colibri_vf50.c
+++ b/board/toradex/colibri_vf50/colibri_vf50.c
@@ -338,7 +338,8 @@ unsigned long ddr_ctrl_init(void)
__raw_writel(0x00000000, DDR_CR136);
- __raw_writel(0x68200000, DDR_CR154);
+ __raw_writel(0x682C0000, DDR_CR154); /* Bit 19–18 DDR_SEL_PAD_Contr
+ DDR_SEL = 11 (DDR3 mode) */
__raw_writel(0x00000202, DDR_CR155); /* pad_ibe, _sel */
__raw_writel(0x00000006, DDR_CR158); /* twr */
__raw_writel(0x00000006, DDR_CR159); /* todth */