From: Krunal Bhargav <[email protected]>

If ECC is enabled, we need to ensure interleaving is disabled for higher
address space.

Signed-off-by: Krunal Bhargav <[email protected]>
Signed-off-by: Lokesh Vutla <[email protected]>
---
 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.22.0

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to