summaryrefslogtreecommitdiff
path: root/board/ti/ks2_evm/ddr3_k2e.c
diff options
context:
space:
mode:
authorVitaly Andrianov <vitalya@ti.com>2015-02-11 14:07:58 -0500
committerTom Rini <trini@ti.com>2015-02-16 12:41:41 -0500
commit66c98a0c3807720a32ce49c9ba2a5808555062d7 (patch)
treef529bcd2aad0df100e358b6555885027a33868f8 /board/ti/ks2_evm/ddr3_k2e.c
parentbba379d498b4ed408e79f7aec6dc23a3572c37e7 (diff)
keystone2: ddr3: eliminate using global ddr3_size variable
KS2 ddr3 initialization uses ddr3_size global variable before u-boot relocation. Even if the variable is not being used after relocation, writing to it corrupts relocation table. This patch removes the global ddr3_size variable and uses local one instead. Signed-off-by: Vitaly Andrianov <vitalya@ti.com> Tested-by: Nishanth Menon <nm@ti.com>
Diffstat (limited to 'board/ti/ks2_evm/ddr3_k2e.c')
-rw-r--r--board/ti/ks2_evm/ddr3_k2e.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/board/ti/ks2_evm/ddr3_k2e.c b/board/ti/ks2_evm/ddr3_k2e.c
index 40fd96607d..35ffb42056 100644
--- a/board/ti/ks2_evm/ddr3_k2e.c
+++ b/board/ti/ks2_evm/ddr3_k2e.c
@@ -11,11 +11,11 @@
#include "ddr3_cfg.h"
#include <asm/arch/ddr3.h>
-static int ddr3_size;
static struct pll_init_data ddr3_400 = DDR3_PLL_400;
-void ddr3_init(void)
+u32 ddr3_init(void)
{
+ u32 ddr3_size;
char dimm_name[32];
if (~(readl(KS2_PLL_CNTRL_BASE + KS2_RSTCTRL_RSTYPE) & 0x1))
@@ -43,13 +43,11 @@ void ddr3_init(void)
printf("DRAM: 4 GiB\n");
ddr3_init_ddrphy(KS2_DDR3A_DDRPHYC, &ddr3phy_1600_4g);
ddr3_init_ddremif(KS2_DDR3A_EMIF_CTRL_BASE, &ddr3_1600_4g);
+ } else {
+ printf("Unknown SO-DIMM. Cannot configure DDR3\n");
+ while (1)
+ ;
}
-}
-/**
- * ddr3_get_size - return ddr3 size in GiB
- */
-int ddr3_get_size(void)
-{
return ddr3_size;
}