[PATCH 2/8] ram: k3-ddrss: Use DDR address instead of system address for ecc_regions
Kumar, Udit
u-kumar1 at ti.com
Tue Jan 28 06:46:14 CET 2025
On 1/27/2025 7:52 PM, Neha Malcom Francis wrote:
> Let ecc_regions[x].start reflect the start of the ECC region in terms of
> DDR addressing rather than system addressing. This will make it easier
> to extend the usage of the same ecc_regions structure for multi-DDR
> systems as well.
>
> Signed-off-by: Neha Malcom Francis <n-francis at ti.com>
> ---
> drivers/ram/k3-ddrss/k3-ddrss.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/ram/k3-ddrss/k3-ddrss.c b/drivers/ram/k3-ddrss/k3-ddrss.c
> index 05ea61bbfe9..24932cd837c 100644
> --- a/drivers/ram/k3-ddrss/k3-ddrss.c
> +++ b/drivers/ram/k3-ddrss/k3-ddrss.c
> @@ -730,7 +730,7 @@ static void k3_ddrss_lpddr4_ecc_init(struct k3_ddrss_desc *ddrss)
> u32 val;
>
> /* Only Program region 0 which covers full ddr space */
> - k3_ddrss_set_ecc_range_r0(base, ecc_region_start - ddrss->ddr_bank_base[0], ecc_range);
> + k3_ddrss_set_ecc_range_r0(base, ecc_region_start, ecc_range);
>
> /* Enable ECC, RMW, WR_ALLOC */
> writel(DDRSS_ECC_CTRL_REG_ECC_EN | DDRSS_ECC_CTRL_REG_RMW_EN |
> @@ -799,7 +799,7 @@ static int k3_ddrss_probe(struct udevice *dev)
> k3_ddrss_lpddr4_ecc_calc_reserved_mem(ddrss);
>
> /* Always configure one region that covers full DDR space */
> - ddrss->ecc_regions[0].start = ddrss->ddr_bank_base[0];
> + ddrss->ecc_regions[0].start = ddrss->ddr_bank_base[0] - ddrss->ddr_bank_base[0];
you will get start as zero, here , if this is what you need just set to
zero
> ddrss->ecc_regions[0].range = ddrss->ddr_ram_size - ddrss->ecc_reserved_space;
> k3_ddrss_lpddr4_ecc_init(ddrss);
> }
More information about the U-Boot
mailing list