Skip to content

Commit

Permalink
ddr: socfpga: Enable ARM64 Non-Secure SDRAM ECC Access
Browse files Browse the repository at this point in the history
The ECC registers in the SDRAM HMC Adapter should always
be accessible (both when ECC is enabled and disabled).
Currently, the registers are accessible only when ECC is enabled.

The ECC Enabled bit is used to determine the status of
ECC by later OSes so always allow access.

Signed-off-by: Thor Thayer <[email protected]>
Reviewed-by: Ley Foon Tan <[email protected]>
  • Loading branch information
tthayer-intel authored and Marek Vasut committed Jan 7, 2020
1 parent 62079b2 commit 8097aee
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
6 changes: 3 additions & 3 deletions drivers/ddr/altera/sdram_agilex.c
Original file line number Diff line number Diff line change
Expand Up @@ -143,9 +143,6 @@ int sdram_mmr_init_full(struct udevice *dev)
setbits_le32(plat->hmc + ERRINTEN,
DDR_HMC_ERRINTEN_DERRINTEN_EN_SET_MSK);

/* Enable non-secure writes to HMC Adapter for SDRAM ECC */
writel(FW_HMC_ADAPTOR_MPU_MASK, FW_HMC_ADAPTOR_REG_ADDR);

if (!cpu_has_been_warmreset())
sdram_init_ecc_bits(&bd);
} else {
Expand All @@ -158,6 +155,9 @@ int sdram_mmr_init_full(struct udevice *dev)
DDR_HMC_ECCCTL2_AWB_EN_SET_MSK));
}

/* Enable non-secure reads/writes to HMC Adapter for SDRAM ECC */
writel(FW_HMC_ADAPTOR_MPU_MASK, FW_HMC_ADAPTOR_REG_ADDR);

sdram_size_check(&bd);

priv->info.base = bd.bi_dram[0].start;
Expand Down
6 changes: 3 additions & 3 deletions drivers/ddr/altera/sdram_s10.c
Original file line number Diff line number Diff line change
Expand Up @@ -307,9 +307,6 @@ int sdram_mmr_init_full(struct udevice *dev)
DDR_HMC_ECCCTL2_AWB_EN_SET_MSK));
hmc_ecc_writel(plat, DDR_HMC_ERRINTEN_INTMASK, ERRINTENS);

/* Enable non-secure writes to HMC Adapter for SDRAM ECC */
writel(FW_HMC_ADAPTOR_MPU_MASK, FW_HMC_ADAPTOR_REG_ADDR);

/* Initialize memory content if not from warm reset */
if (!cpu_has_been_warmreset())
sdram_init_ecc_bits(&bd);
Expand All @@ -323,6 +320,9 @@ int sdram_mmr_init_full(struct udevice *dev)
DDR_HMC_ECCCTL2_AWB_EN_SET_MSK));
}

/* Enable non-secure reads/writes to HMC Adapter for SDRAM ECC */
writel(FW_HMC_ADAPTOR_MPU_MASK, FW_HMC_ADAPTOR_REG_ADDR);

sdram_size_check(&bd);

priv->info.base = bd.bi_dram[0].start;
Expand Down

0 comments on commit 8097aee

Please sign in to comment.