diff options
author | Simon Glass <sjg@chromium.org> | 2020-12-22 19:30:13 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2021-01-05 12:24:40 -0700 |
commit | 53db2eec7aa60b07f11c9d46f12041b571319dbc (patch) | |
tree | f0b01aea7348fa495076582522866abe68e1f8a9 | |
parent | c86b18074c9d40bfa63cda1068b6dfb810d4377d (diff) | |
download | u-boot-53db2eec7aa60b07f11c9d46f12041b571319dbc.zip u-boot-53db2eec7aa60b07f11c9d46f12041b571319dbc.tar.gz u-boot-53db2eec7aa60b07f11c9d46f12041b571319dbc.tar.bz2 |
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/Makefile | 11 | ||||
-rw-r--r-- | scripts/Makefile.spl | 4 |
2 files changed, 11 insertions, 4 deletions
diff --git a/dts/Makefile b/dts/Makefile index a20930e..4cd65ce 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 9f1f744..8ebe6a9 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 |