From f27e83062956c3b09d2ee3ea3b3c815f9d57e42d Mon Sep 17 00:00:00 2001 From: Alexander Kochetkov Date: Thu, 19 Sep 2024 19:10:42 +0300 Subject: [PATCH] Makefile: pass external DTB provided by make variable EXT_DTB to binman Yocto build is using EXT_DTB to repack U-Boot during signed FIT kernel creation. First, it takes the DTB from U-Boot, then it creates signed FIT kernel image and places kernel key into the DTB. After that it executes: make EXT_DTB=/path/to/dtb/with/kernel/key Despite the fact that in the documentation all examples with EXT_DTB use only single DTB, the patch allows pass many DTB files separated by spaces, e.g.: make EXT_DTB="/path1/to/1.dtb /path2/to/2.dtb" The first DTB from the list become default configuration. Signed-off-by: Alexander Kochetkov Reviewed-by: Simon Glass --- Makefile | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8711831767..af24de4165 100644 --- a/Makefile +++ b/Makefile @@ -1367,7 +1367,17 @@ u-boot.ldr: u-boot # --------------------------------------------------------------------------- # Use 'make BINMAN_DEBUG=1' to enable debugging # Use 'make BINMAN_VERBOSE=3' to set vebosity level + +ifneq ($(EXT_DTB),) +ext_dtb_list := $(basename $(notdir $(EXT_DTB))) +default_dt := $(firstword $(ext_dtb_list)) +of_list := "$(ext_dtb_list)" +of_list_dirs := $(dir $(EXT_DTB)) +else +of_list := $(CONFIG_OF_LIST) +of_list_dirs := $(dt_dir) default_dt := $(if $(DEVICE_TREE),$(DEVICE_TREE),$(CONFIG_DEFAULT_DEVICE_TREE)) +endif quiet_cmd_binman = BINMAN $@ cmd_binman = $(srctree)/tools/binman/binman $(if $(BINMAN_DEBUG),-D) \ @@ -1377,7 +1387,7 @@ cmd_binman = $(srctree)/tools/binman/binman $(if $(BINMAN_DEBUG),-D) \ build -u -d u-boot.dtb -O . -m \ --allow-missing $(if $(BINMAN_ALLOW_MISSING),--ignore-missing) \ -I . -I $(srctree) -I $(srctree)/board/$(BOARDDIR) \ - -I $(dt_dir) -a of-list=$(CONFIG_OF_LIST) \ + $(foreach f,$(of_list_dirs),-I $(f)) -a of-list=$(of_list) \ $(foreach f,$(BINMAN_INDIRS),-I $(f)) \ -a atf-bl31-path=${BL31} \ -a tee-os-path=${TEE} \ -- 2.39.5