[U-Boot] [PATCH 3/5] arm: omap: emif-common: Disable interleaving

Lokesh Vutla lokeshvutla at ti.com
Mon Sep 16 08:17:17 UTC 2019


From: Krunal Bhargav <k-bhargav at ti.com>

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

Signed-off-by: Krunal Bhargav <k-bhargav at ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla at ti.com>
---
 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



More information about the U-Boot mailing list