[PATCH v2] dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation : regression

Roger Quadros rogerq at kernel.org
Thu Sep 28 14:59:00 CEST 2023


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 <jonas at kwiboo.se>
> Reviewed-by: Simon Glass <sjg at 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.

> 
>  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.

-- 
cheers,
-roger


More information about the U-Boot mailing list