[PATCH 01/18] Makefile: Build a separate .dtb for TPL
Simon Glass
sjg at chromium.org
Wed Dec 16 16:24:49 CET 2020
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 <sjg at 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
More information about the U-Boot
mailing list