]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
ram: k3-ddrss: Use DDR address instead of system address for ecc_regions
authorNeha Malcom Francis <n-francis@ti.com>
Tue, 12 Aug 2025 12:43:16 +0000 (18:13 +0530)
committerTom Rini <trini@konsulko.com>
Tue, 19 Aug 2025 17:26:19 +0000 (11:26 -0600)
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.

Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
drivers/ram/k3-ddrss/k3-ddrss.c

index b86e2448eb574f92423e7b67727d9fb5b090610c..f19a17ecec7c954e3a84bf12db8ea739181525d6 100644 (file)
@@ -752,7 +752,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 |
@@ -817,7 +817,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 = 0;
                ddrss->ecc_regions[0].range = ddrss->ddr_ram_size - ddrss->ecc_reserved_space;
                k3_ddrss_lpddr4_ecc_init(ddrss);
        }