At present both SPL and TPL use the same devicetree binary. While there is logic to run fdtgrep separately on each one, it does not actually happen.
Add a new TPL rule and use that instead. Make this rule conditional on there actually being a TPL. Do the same for SPL for consistency. Note that the SPL and TPL dtbs are build by a Makefule rule used for U-Boot proper. This is the 'dtbs' target in dts/Makefile. So the check for CONFIG_TPL_BUILD in cmd_fdtgrep never actually works at present. We don't support CONFIG_OF_EMBED for TPL at present. Signed-off-by: Simon Glass <s...@chromium.org> --- dts/Makefile | 11 ++++++++--- scripts/Makefile.spl | 4 +++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/dts/Makefile b/dts/Makefile index a20930eb9a5..4cd65ce73d4 100644 --- a/dts/Makefile +++ b/dts/Makefile @@ -19,6 +19,9 @@ endif $(obj)/dt-spl.dtb: $(DTB) $(objtree)/tools/fdtgrep FORCE $(call if_changed,fdtgrep) +$(obj)/dt-tpl.dtb: $(DTB) $(objtree)/tools/fdtgrep FORCE + $(call if_changed,fdtgrep) + ifeq ($(CONFIG_OF_DTB_PROPS_REMOVE),y) $(obj)/dt.dtb: $(DTB) $(objtree)/tools/fdtgrep FORCE $(call if_changed,fdt_rm_props) @@ -27,7 +30,7 @@ $(obj)/dt.dtb: $(DTB) FORCE $(call if_changed,shipped) endif -targets += dt.dtb dt-spl.dtb +targets += dt.dtb dt-spl.dtb dt-tpl.dtb $(DTB): arch-dtbs $(Q)test -e $@ || ( \ @@ -51,10 +54,12 @@ else obj-$(CONFIG_OF_EMBED) := dt.dtb.o endif -dtbs: $(obj)/dt.dtb $(obj)/dt-spl.dtb +dtbs: $(obj)/dt.dtb \ + $(if $(CONFIG_SPL),$(obj)/dt-spl.dtb) \ + $(if $(CONFIG_TPL),$(obj)/dt-tpl.dtb) @: -clean-files := dt.dtb.S dt-spl.dtb.S +clean-files := dt.dtb.S dt-spl.dtb.S dt-tpl.dtb.S # Let clean descend into dts directories subdir- += ../arch/arm/dts ../arch/microblaze/dts ../arch/mips/dts ../arch/sandbox/dts ../arch/x86/dts ../arch/powerpc/dts ../arch/riscv/dts diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl index 9f1f7445d71..8ebe6a9840e 100644 --- a/scripts/Makefile.spl +++ b/scripts/Makefile.spl @@ -31,8 +31,10 @@ endif ifeq ($(CONFIG_TPL_BUILD),y) SPL_BIN := u-boot-tpl +SPL_NAME := tpl else SPL_BIN := u-boot-spl +SPL_NAME := spl endif ifdef CONFIG_SPL_BUILD @@ -298,7 +300,7 @@ $(obj)/$(SPL_BIN)-pad.bin: $(obj)/$(SPL_BIN) @bss_size_str=$(shell $(NM) $< | awk 'BEGIN {size = 0} /__bss_size/ {size = $$1} END {print "ibase=16; " toupper(size)}' | bc); \ dd if=/dev/zero of=$@ bs=1 count=$${bss_size_str} 2>/dev/null; -$(obj)/$(SPL_BIN).dtb: dts/dt-spl.dtb FORCE +$(obj)/$(SPL_BIN).dtb: dts/dt-$(SPL_NAME).dtb FORCE $(call if_changed,copy) pythonpath = PYTHONPATH=scripts/dtc/pylibfdt -- 2.29.2.684.gfbc64c5ab5-goog