fdt: Add fdtgrep tool
This tool allows us to extract subsets of a device tree file. It is used by the SPL vuild, which needs to cut down the device tree size for use in limited memory. This tool was originally written for libfdt but it has not been accepted upstream, so for now, include it in U-Boot. Several utilfdt library functions been included inline here. If fdtgrep is eventually accepted in libfdt then we can bring that version of libfdt in here, and drop fdtgrep (requiring that fdtgrep is provided by the user). If it is not accepted then another approach would be to write a special tool for chopping down device tree files for SPL. While it would use the same libfdt support, it would be less code than fdtgrep.c because it would not have general-purpose functions. Another approach (which was used with v1 of this series) is to sprinkler all the device tree files with #ifdef. I don't like that idea. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
c3c4c00563
commit
1043d0a029
@ -58,7 +58,8 @@ hostprogs-$(CONFIG_FIT_SIGNATURE) += fit_info fit_check_sign
|
||||
FIT_SIG_OBJS-$(CONFIG_FIT_SIGNATURE) := common/image-sig.o
|
||||
# Flattened device tree objects
|
||||
LIBFDT_OBJS := $(addprefix lib/libfdt/, \
|
||||
fdt.o fdt_ro.o fdt_rw.o fdt_strerror.o fdt_wip.o)
|
||||
fdt.o fdt_ro.o fdt_rw.o fdt_strerror.o fdt_wip.o \
|
||||
fdt_region.o)
|
||||
RSA_OBJS-$(CONFIG_FIT_SIGNATURE) := $(addprefix lib/rsa/, \
|
||||
rsa-sign.o rsa-verify.o rsa-checksum.o \
|
||||
rsa-mod-exp.o)
|
||||
@ -155,6 +156,9 @@ hostprogs-$(CONFIG_ARMADA_XP) += kwboot
|
||||
hostprogs-y += proftool
|
||||
hostprogs-$(CONFIG_STATIC_RELA) += relocate-rela
|
||||
|
||||
hostprogs-y += fdtgrep
|
||||
fdtgrep-objs += $(LIBFDT_OBJS) fdtgrep.o
|
||||
|
||||
# We build some files with extra pedantic flags to try to minimize things
|
||||
# that won't build on some weird host compiler -- though there are lots of
|
||||
# exceptions for files that aren't complaint.
|
||||
|
1234
tools/fdtgrep.c
Normal file
1234
tools/fdtgrep.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user