Hi Roger, On 2023-09-28 14:59, Roger Quadros wrote: > Hi, > > On 21/08/2023 01:03, Jonas Karlman wrote: >> Nodes with bootph-pre-sram/ram props are bound in multiple phases: >> 1. At TPL (bootph-pre-sram) or SPL (bootph-pre-ram) phase >> 2. At U-Boot proper pre-relocation phase >> 3. At U-Boot proper normal phase >> >> However the binding and U-Boot Driver Model documentation indicate that >> only nodes marked with bootph-all or bootph-some-ram should be bound in >> the U-Boot proper pre-relocation phase. >> >> Change ofnode_pre_reloc to report a node with bootph-pre-ram/sram prop >> with a pre-reloc status only after U-Boot proper pre-relocation phase. >> Also update the ofnode_pre_reloc documentation to closer reflect the >> binding and driver model documentation. >> >> This changes behavior of what nodes are bound in the U-Boot proper >> pre-relocation phase. Change to bootph-all or add bootph-some-ram prop >> to restore prior behavior. >> >> Signed-off-by: Jonas Karlman <jo...@kwiboo.se> >> Reviewed-by: Simon Glass <s...@chromium.org> >> --- >> Changes in v2: >> - Drop use of !! to convert into bool >> - Update documentation for ofnode_pre_reloc >> - Rewrite commit message >> - Collect r-b tag > > This patch breaks boot on AM642-EVM. Boot log at the end.
>From what I can tell your board use a lot of bootph-pre-ram. https://source.denx.de/u-boot/u-boot/-/blob/master/arch/arm/dts/k3-am642-evm-u-boot.dtsi What happens if you change to bootph-all or add bootph-some-ram next to bootph-pre-ram on devices that is also needed in U-Boot proper pre-relocation phase in addition to SPL phase? Regards, Jonas > >> >> drivers/core/ofnode.c | 2 +- >> include/dm/ofnode.h | 8 ++++---- >> 2 files changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c >> index 8df16e56af5c..b1e94b2d60df 100644 >> --- a/drivers/core/ofnode.c >> +++ b/drivers/core/ofnode.c >> @@ -1353,7 +1353,7 @@ bool ofnode_pre_reloc(ofnode node) >> */ >> if (ofnode_read_bool(node, "bootph-pre-ram") || >> ofnode_read_bool(node, "bootph-pre-sram")) >> - return true; >> + return gd->flags & GD_FLG_RELOC; >> >> if (IS_ENABLED(CONFIG_OF_TAG_MIGRATE)) { >> /* detect and handle old tags */ >> diff --git a/include/dm/ofnode.h b/include/dm/ofnode.h >> index 0f38b3e736de..13700f8266d7 100644 >> --- a/include/dm/ofnode.h >> +++ b/include/dm/ofnode.h >> @@ -1198,15 +1198,15 @@ int ofnode_read_simple_size_cells(ofnode node); >> * determine if a node was bound in one of SPL/TPL stages. >> * >> * There are 4 settings currently in use >> - * - bootph-some-ram: U-Boot proper pre-relocation only >> + * - bootph-some-ram: U-Boot proper pre-relocation phase >> * - bootph-all: all phases >> * Existing platforms only use it to indicate nodes needed in >> * SPL. Should probably be replaced by bootph-pre-ram for new platforms. >> - * - bootph-pre-ram: SPL and U-Boot pre-relocation >> - * - bootph-pre-sram: TPL and U-Boot pre-relocation >> + * - bootph-pre-ram: SPL phase >> + * - bootph-pre-sram: TPL phase >> * >> * @node: node to check >> - * Return: true if node is needed in SPL/TL, false otherwise >> + * Return: true if node should be or was bound, false otherwise >> */ >> bool ofnode_pre_reloc(ofnode node); >> > > ---boot log--- > > U-Boot SPL 2023.10-rc4-00480-g9e644284ab (Sep 28 2023 - 15:53:09 +0300) > Resetting on cold boot to workaround ErrataID:i2331 > Please resend tiboot3.bin in case of UART/DFU boot > resetting ... > > U-Boot SPL 2023.10-rc4-00480-g9e644284ab (Sep 28 2023 - 15:53:09 +0300) > SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)') > SPL initial stack usage: 13408 bytes > Trying to boot from MMC2 > Warning: Detected image signing certificate on GP device. Skipping > certificate to prevent boot failure. This will fail if the image was also > encrypted > Warning: Detected image signing certificate on GP device. Skipping > certificate to prevent boot failure. This will fail if the image was also > encrypted > Warning: Detected image signing certificate on GP device. Skipping > certificate to prevent boot failure. This will fail if the image was also > encrypted > Warning: Detected image signing certificate on GP device. Skipping > certificate to prevent boot failure. This will fail if the image was also > encrypted > Loading Environment from MMC... *** Warning - No MMC card found, using > default environment > > Starting ATF on ARM64 core... > > NOTICE: BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty > NOTICE: BL31: Built : 00:42:57, Jan 13 2023 > I/TC: > I/TC: OP-TEE version: 3.20.0 (gcc version 11.3.0 (GCC)) #1 Fri Jan 20 > 15:42:54 UTC 2023 aarch64 > I/TC: WARNING: This OP-TEE configuration might be insecure! > I/TC: WARNING: Please check > https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html > I/TC: Primary CPU initializing > I/TC: SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)') > I/TC: HUK Initialized > I/TC: Activated SA2UL device > I/TC: Fixing SA2UL firewall owner for GP device > I/TC: Enabled firewalls for SA2UL TRNG device > I/TC: SA2UL TRNG initialized > I/TC: SA2UL Drivers initialized > I/TC: Primary CPU switching to normal world boot > > U-Boot SPL 2023.10-rc4-00480-g9e644284ab (Sep 28 2023 - 15:54:37 +0300) > SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)') > Trying to boot from MMC2 > Warning: Detected image signing certificate on GP device. Skipping > certificate to prevent boot failure. This will fail if the image was also > encrypted > Warning: Detected image signing certificate on GP device. Skipping > certificate to prevent boot failure. This will fail if the image was also > encrypted > > ---boot log end--- > > we expect U-Boot banner to be printed next but nothing is printed. >