Since binman DTB files are not upstream they are kept in the U-Boot dts dirs, this means they will not be built when building with OF_UPSTREAM enabled. Resolve this by adding a rule to build the binman DTB if both conditions are met.
Signed-off-by: Casey Connolly <casey.conno...@linaro.org> --- dts/Makefile | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/dts/Makefile b/dts/Makefile index 86bf8dc215603c3c02930e9c642d7dc06ce715fc..c20d0fb7cca9d117030a882be783a8e855e10749 100644 --- a/dts/Makefile +++ b/dts/Makefile @@ -25,8 +25,15 @@ local_dtbos := local-dtbos else local_dtbos := endif +binman_dtb := $(subst ",,$(CONFIG_BINMAN_DTB)) +ifneq ($(binman_dtb),) +binman_dtb_target := binman-dtb +else +binman_dtb_target := +endif + ifneq ($(EXT_DTB),) DTB := $(EXT_DTB) else DTB := $(dt_dir)/$(DEVICE_TREE).dtb @@ -45,9 +52,9 @@ $(obj)/dt.dtb: $(DTB) FORCE endif targets += dt.dtb -$(DTB): arch-dtbs $(local_dtbos) +$(DTB): arch-dtbs $(local_dtbos) $(binman_dtb_target) $(Q)test -e $@ || ( \ echo >&2; \ echo >&2 "Device Tree Source ($@) is not correctly specified."; \ echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'"; \ @@ -64,8 +71,18 @@ PHONY += local-dtbos local-dtbos: $(Q)$(MAKE) $(build)=arch/$(ARCH)/dts dtbos endif +# If CONFIG_BINMAN_DTB is set and CONFIG_OF_UPSTREAM is set then +# ensure we build the binman DTB as well +ifneq ($(binman_dtb),) +ifeq ($(CONFIG_OF_UPSTREAM),y) +PHONY += binman-dtb +binman-dtb: + $(MAKE) $(build)=arch/$(ARCH)/dts $(binman_dtb) +endif +endif + ifeq ($(CONFIG_XPL_BUILD),y) obj-$(CONFIG_OF_EMBED) := dt-spl.dtb.o # support "out-of-tree" build for dtb-spl $(obj)/dt-spl.dtb.o: $(obj)/dt-spl.dtb.S FORCE -- 2.49.0