[PATCH] configs: orangepi-3b-rk3566_defconfig: Enable CONFIG_MULTI_DTB_FIT

Jonas Karlman jonas at kwiboo.se
Wed Oct 23 21:09:34 CEST 2024


Hi,

On 2024-10-23 10:52, Jianfeng Liu wrote:
> Orange Pi 3B uses board_fit_config_name_match in rk_board_late_init to
> decide which kernel dtb to load. To make it work with system using grub,
> we have to enable CONFIG_MULTI_DTB_FIT.
> 
> Tested with opensuse using grub2, without CONFIG_MULTI_DTB_FIT grub will
> load rk3566-orangepi-3b.dtb in u-boot, which has no gmac ethernet
> enabled.
> 
> Signed-off-by: Jianfeng Liu <liujianfeng1994 at gmail.com>
> ---
> 
>  configs/orangepi-3b-rk3566_defconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/configs/orangepi-3b-rk3566_defconfig b/configs/orangepi-3b-rk3566_defconfig
> index 2181c9caf58..e87849a9946 100644
> --- a/configs/orangepi-3b-rk3566_defconfig
> +++ b/configs/orangepi-3b-rk3566_defconfig
> @@ -48,6 +48,7 @@ CONFIG_SPL_OF_CONTROL=y
>  CONFIG_OF_LIVE=y
>  # CONFIG_OF_UPSTREAM is not set
>  CONFIG_OF_LIST="rk3566-orangepi-3b rk3566-orangepi-3b-v1.1 rk3566-orangepi-3b-v2.1"
> +CONFIG_MULTI_DTB_FIT=y

SPL should call spl_simple_fit_parse() -> fit_find_config_node() ->
board_fit_config_name_match() to select correct FIT configuration and
load correct FDT for U-Boot proper.

Based on runtime testing making board_fit_config_name_match() always
return EINVAL in SPL, I did not see this Kconfig option help U-Boot
proper load correct FDT. It only made my debug log print out:

  fit_find_config_node: Cannot find /configurations node: -1

And U-Boot proper still used the base "Model: Xunlong Orange Pi 3B".
Not sure if this behavior is different when vendor SPL is used.

>From my understanding your issue may have been because of a mixture of
older SPL and newer U-Boot proper, and was not really fixed by this
Kconfig option?

Unless there is other uses for MULTI_DTB_FIT, e.g. if it is required to
load correct FDT from a kernel FIT with multiple FDTs, I think we can
skip adding this Kconfig option.

Regards,
Jonas

>  CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y



More information about the U-Boot mailing list