diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Makefile.lib | 18 | ||||
-rw-r--r-- | scripts/Makefile.spl | 2 |
2 files changed, 20 insertions, 0 deletions
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 8f19b2db56..8f21653136 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -522,3 +522,21 @@ MKIMAGEOUTPUT ?= /dev/null quiet_cmd_mkimage = MKIMAGE $@ cmd_mkimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -d $< $@ \ $(if $(KBUILD_VERBOSE:1=), >$(MKIMAGEOUTPUT)) + +# fdtgrep +# --------------------------------------------------------------------------- +# Pass the original device tree file through fdtgrep twice. The first pass +# removes any unwanted nodes (i.e. those which don't have the +# 'u-boot,dm-pre-reloc' property and thus are not needed by SPL. The second +# pass removes various unused properties from the remaining nodes. +# The output is typically a much smaller device tree file. +ifeq ($(CONFIG_TPL_BUILD),y) +fdtgrep_props := -b u-boot,dm-pre-reloc -b u-boot,dm-tpl +else +fdtgrep_props := -b u-boot,dm-pre-reloc -b u-boot,dm-spl +endif +quiet_cmd_fdtgrep = FDTGREP $@ + cmd_fdtgrep = $(objtree)/tools/fdtgrep $(fdtgrep_props) -RT $< \ + -n /chosen -n /config -O dtb | \ + $(objtree)/tools/fdtgrep -r -O dtb - -o $@ \ + $(addprefix -P ,$(subst $\",,$(CONFIG_OF_SPL_REMOVE_PROPS))) diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl index 64390e5785..2993ade41e 100644 --- a/scripts/Makefile.spl +++ b/scripts/Makefile.spl @@ -50,6 +50,8 @@ endif include $(srctree)/config.mk include $(srctree)/arch/$(ARCH)/Makefile +include $(srctree)/scripts/Makefile.lib + # Enable garbage collection of un-used sections for SPL KBUILD_CFLAGS += -ffunction-sections -fdata-sections LDFLAGS_FINAL += --gc-sections |