summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2
diff options
context:
space:
mode:
authorKrunal Bhargav <k-bhargav@ti.com>2019-09-16 11:17:17 +0300
committerTom Rini <trini@konsulko.com>2019-10-11 20:31:17 +0300
commitd0a37a5e510a6772bb86d3cda8d1a2c14c01a0e2 (patch)
tree584e2526528c0ff7ddb885983221f10e9bf15a03 /arch/arm/mach-omap2
parent5ebe6c0cb74a93ae75a1dd37e92e3765511f788c (diff)
downloadu-boot-d0a37a5e510a6772bb86d3cda8d1a2c14c01a0e2.tar.xz
arm: omap: emif-common: Disable interleaving
If ECC is enabled, we need to ensure interleaving is disabled for higher address space. Signed-off-by: Krunal Bhargav <k-bhargav@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r--arch/arm/mach-omap2/emif-common.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/emif-common.c b/arch/arm/mach-omap2/emif-common.c
index 04bbfd84a2..9bdaa388c9 100644
--- a/arch/arm/mach-omap2/emif-common.c
+++ b/arch/arm/mach-omap2/emif-common.c
@@ -355,6 +355,9 @@ static void dra7_enable_ecc(u32 base, const struct emif_regs *regs)
return;
if (regs->emif_ecc_ctrl_reg & EMIF_ECC_CTRL_REG_ECC_EN_MASK) {
+ /* Disable high-order interleaving */
+ clrbits_le32(MA_PRIORITY, MA_HIMEM_INTERLEAVE_UN_MASK);
+
writel(regs->emif_ecc_address_range_1,
&emif->emif_ecc_address_range_1);
writel(regs->emif_ecc_address_range_2,