diff options
author | Vitaly Andrianov <vitalya@ti.com> | 2015-02-11 14:07:58 -0500 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2015-02-16 12:41:41 -0500 |
commit | 66c98a0c3807720a32ce49c9ba2a5808555062d7 (patch) | |
tree | f529bcd2aad0df100e358b6555885027a33868f8 /board/ti/ks2_evm/ddr3_k2e.c | |
parent | bba379d498b4ed408e79f7aec6dc23a3572c37e7 (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.c | 14 |
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; } |