aboutsummaryrefslogtreecommitdiff
path: root/drivers/ddr/marvell/a38x/xor.c
diff options
context:
space:
mode:
authorChris Packham2018-05-10 13:28:31 +1200
committerStefan Roese2018-05-14 10:01:56 +0200
commitdb363dbce705d3092f05a622ddea1d007ececca6 (patch)
treeb0d9f3961c8b1fe3fefe9a355ee45e6169db35a4 /drivers/ddr/marvell/a38x/xor.c
parente6f61622d32327907f824154c7f88ddce3c700cc (diff)
ARM: mvebu: a38x: use non-zero size for ddr scrubbing
Make ddr3_calc_mem_cs_size() global scope and use it in ddr3_new_tip_ecc_scrub to correctly initialize all of DDR memory. Signed-off-by: Chris Packham <judge.packham@gmail.com> Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'drivers/ddr/marvell/a38x/xor.c')
-rw-r--r--drivers/ddr/marvell/a38x/xor.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/ddr/marvell/a38x/xor.c b/drivers/ddr/marvell/a38x/xor.c
index 024cecd777c..f859596d895 100644
--- a/drivers/ddr/marvell/a38x/xor.c
+++ b/drivers/ddr/marvell/a38x/xor.c
@@ -347,6 +347,9 @@ void ddr3_new_tip_ecc_scrub(void)
for (cs_c = 0; cs_c < max_cs; cs_c++)
cs_ena |= 1 << cs_c;
+ /* assume that all CS have same size */
+ ddr3_calc_mem_cs_size(0, &cs_mem_size);
+
mv_sys_xor_init(max_cs, cs_ena, cs_mem_size, 0);
total_mem_size = max_cs * cs_mem_size;
mv_xor_mem_init(0, 0, total_mem_size, 0xdeadbeef, 0xdeadbeef);