[PATCH v2] board_f: Add support for CONFIG_OF_BOARD_FIXUP for XIP images

Simon Glass sjg at chromium.org
Tue Oct 11 01:48:58 CEST 2022


Hi,

On Sun, 28 Aug 2022 at 09:19, Marek Behún <kabel at kernel.org> wrote:
>
> From: Pali Rohár <pali at kernel.org>
>
> When U-Boot is running from flash memory (execute in place) then
> gd->fdt_blob before relocation points to read-only flash memory.
>
> So U-Boot calls board_fix_fdt() with read-only gd->fdt_blob pointer which
> cause immediate CPU crash when callback is trying to modify gd->fdt_blob.
>
> Fix this issue by introducing a new config option
> OF_DTB_READONLY_BEFORE_RELOC which moves fix_fdt callback after the
> reloc_fdt callback. This makes CONFIG_OF_BOARD_FIXUP working also if
> U-Boot before relocation is not running from read/write (S)RAM memory.
>
> This is required for mpc85xx boards when booting from flash NOR.
>
> Signed-off-by: Pali Rohár <pali at kernel.org>
> Signed-off-by: Marek Behún <kabel at kernel.org>
> ---
> Changes since v1:
> - just changed the new Kconfig option name and associated help string
> ---
>  common/board_f.c | 8 +++++++-
>  dts/Kconfig      | 6 ++++++
>  2 files changed, 13 insertions(+), 1 deletion(-)

Can we just make this the normal behaviour? I think it makes more
sense to change the FDT after we have relocated it.

Regards,
Simon


More information about the U-Boot mailing list