summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2020-12-22 19:30:13 -0700
committerSimon Glass <sjg@chromium.org>2021-01-05 12:24:40 -0700
commit53db2eec7aa60b07f11c9d46f12041b571319dbc (patch)
treef0b01aea7348fa495076582522866abe68e1f8a9
parentc86b18074c9d40bfa63cda1068b6dfb810d4377d (diff)
downloadu-boot-53db2eec7aa60b07f11c9d46f12041b571319dbc.tar.gz
u-boot-53db2eec7aa60b07f11c9d46f12041b571319dbc.tar.xz
u-boot-53db2eec7aa60b07f11c9d46f12041b571319dbc.zip
Makefile: Build a separate .dtb for TPL
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@chromium.org>
-rw-r--r--dts/Makefile11
-rw-r--r--scripts/Makefile.spl4
2 files changed, 11 insertions, 4 deletions
diff --git a/dts/Makefile b/dts/Makefile
index a20930eb9a..4cd65ce73d 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 9f1f7445d7..8ebe6a9840 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