[PATCH 4/4] arm: boards: protonic-imx8ml: Add ECC + scrubbing
Ahmad Fatoum
a.fatoum at pengutronix.de
Wed Mar 4 03:34:54 PST 2026
Hi,
On 3/4/26 12:23 PM, Steffen Trumtrar wrote:
> +
> +void board_dram_ecc_scrub(void)
> +{
> + ddrc_inline_ecc_scrub(0x00000000, 0x1bffffff);
> + ddrc_inline_ecc_scrub(0x20000000, 0x3bffffff);
> + ddrc_inline_ecc_scrub(0x40000000, 0x5bffffff);
> + ddrc_inline_ecc_scrub_end(0x0, 0x5fffffff);
> +}
This is incompatible with multi-image support. The entry point will need
to pass this board-specific information along as a parameter, either:
- as function pointer
- or as data: could the board just pass along 0x60000000 and have the
common code split it up into the regions above?
Cheers,
Ahmad
> diff --git a/arch/arm/dts/imx8mp-prt8ml.dts b/arch/arm/dts/imx8mp-prt8ml.dts
> index 15c3e710ae..b23d64f2d1 100644
> --- a/arch/arm/dts/imx8mp-prt8ml.dts
> +++ b/arch/arm/dts/imx8mp-prt8ml.dts
> @@ -20,8 +20,16 @@ environment-emmc {
> status = "disabled";
> };
> };
> -};
>
> + /* Minimum contiguous memory region is 1792MiB
> + * The probe function of the ddrc will either expand this
> + * to 6GiB (without ECC) or 5.25GiB (with inline ECC, in 3 regions).
> + */
> + memory at 40000000 {
> + device_type = "memory";
> + reg = <0x0 0x40000000 0x0 0x70000000>;
> + };
> +};
>
> &usdhc2 {
> #address-cells = <1>;
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list