[PATCH v1] common/memsize.c: Fix get_ram_size() original data restore
Francesco Dolcini
francesco at dolcini.it
Fri Mar 14 14:28:32 CET 2025
Hello Tom,
On Fri, Mar 14, 2025 at 11:06:49AM +0100, Stefan Eichenberger wrote:
> From: Stefan Eichenberger <stefan.eichenberger at toradex.com>
>
> The get_ram_size() function fails to restore the original RAM data when
> the data cache is enabled. This issue was observed on an AM625 R5 SPL
> with 512MB of RAM and is a regression that became visible with
> commit bc07851897bd ("board: ti: Pull redundant DDR functions to a common
> location and Fixup DDR size when ECC is enabled").
>
> Observed boot failure messages:
> Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
> Authentication passed
> Starting ATF on ARM64 core...
>
> The system then hangs. This indicates that without a data cache flush,
> data in the cache is not coherent with RAM, preventing the system from
> booting. This was verified by printing the content of this address when
> the issue occurs.
>
> Add a data cache flush after each restore operation to resolve this
> issue.
>
> Fixes: bc07851897bd ("board: ti: Pull redundant DDR functions to a common location and Fixup DDR size when ECC is enabled")
> Fixes: 1c64b98c1ec4 ("common/memsize.c: Fix get_ram_size() when cache is enabled")
> Signed-off-by: Stefan Eichenberger <stefan.eichenberger at toradex.com>
This patch is for master, and it is hopefully fixing the last remaining
issue that is preventing our board to boot with current U-Boot.
Thanks,
Francesco
More information about the U-Boot
mailing list