From d0a37a5e510a6772bb86d3cda8d1a2c14c01a0e2 Mon Sep 17 00:00:00 2001 From: Krunal Bhargav Date: Mon, 16 Sep 2019 13:47:17 +0530 Subject: [PATCH] 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 Signed-off-by: Lokesh Vutla --- arch/arm/mach-omap2/emif-common.c | 3 +++ 1 file changed, 3 insertions(+) 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, -- 2.39.5