[PATCH v2 15/20] rockchip: rk3588: bind MMC controllers in U-Boot proper pre-reloc

Jonas Karlman jonas at kwiboo.se
Sun Feb 11 22:16:19 CET 2024


Hi Quentin,

On 2024-02-09 10:50, Quentin Schulz wrote:
> From: Quentin Schulz <quentin.schulz at theobroma-systems.com>
> 
> Since commit 9e644284ab81 ("dm: core: Report bootph-pre-ram/sram node as
> pre-reloc after relocation"), bootph-pre-ram doesn't make U-Boot proper
> bind the device before relocation.
> 
> While this is usually not much of an issue, it is when there's a lookup
> for devices by code running before the relocation. Such is the case of
> env_init() which calls env_driver_lookup() which calls
> env_get_location() which is a weak symbol and may call
> arch_env_get_location() also a weak symbol. Those are two functions that
> may traverse UCLASS to find some devices (e.g.
> board/theobroma-systems/common/common.c:arch_env_get_location()).
> 
> This allows something in the env_init() call stack to be able to use
> uclasses for SD and eMMC controller on RK3588S/RK3588. This aligns the
> behavior with what seems to be all SoCs except RK356x family.
> 
> Additionally, if any other env function (e.g. env_load) were to be used
> before relocation, this is also required as otherwise it wouldn't be
> able to find the MMC device(s).
> 
> Cc: Quentin Schulz <foss+uboot at 0leil.net>
> Signed-off-by: Quentin Schulz <quentin.schulz at theobroma-systems.com>
> ---
>  arch/arm/dts/rk3588s-u-boot.dtsi | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/dts/rk3588s-u-boot.dtsi b/arch/arm/dts/rk3588s-u-boot.dtsi
> index bf3b1ea8a3c..3f194e8ffbd 100644
> --- a/arch/arm/dts/rk3588s-u-boot.dtsi
> +++ b/arch/arm/dts/rk3588s-u-boot.dtsi
> @@ -187,12 +187,12 @@
>  };
>  
>  &sdmmc {
> -	bootph-pre-ram;
> +	bootph-all;

I know that there is no TPL for rk3588 so this does not matter at this
time but I would suggest you instead add bootph-some-ram for both these
instead of changing them to bootph-all.

We are not expected to need the MMC devices in TPL, and I am working on
a series that changes from bootph-all to bootph-pre-ram+bootph-some-ram
combo in an upcoming rk3399 cleanup series.

Regards,
Jonas

>  	u-boot,spl-fifo-mode;
>  };
>  
>  &sdhci {
> -	bootph-pre-ram;
> +	bootph-all;
>  	u-boot,spl-fifo-mode;
>  };
>  
> 



More information about the U-Boot mailing list