
This patch allows uboot to handle overlays in a manner that uses a base DT blob and an arbitrary number of DT overlays blobs.
It is intended to be used with FIT images since handling a multitude of device tree blobs manually is a chore.
The first 3 patches have already been submitted to DTC for review, and provide the plumbing in libfdt.
The next patch adds a unit test for a stacked overlay (in which an overlay refers to a symbol contained in a previously applied overlay).
The last patch contains the FIT FDT blob generation logic as well as documentation about how it all works.
The patchset is available at
https://github.com/pantoniou/u-boot/tree/uboot-overlays
and is against mainline u-boot as pulled today, 30/6/2017.
Pantelis Antoniou (5): libfdt.h: Introduce FDT_PATH_MAX libfdt_env.h: Add <malloc.h> in libfdt environment fdt: Allow stacked overlays phandle references test: overlay: Add unit test for stacked overlay fit: Introduce methods for applying overlays on fit-load
common/image-fdt.c | 7 +- common/image-fit.c | 215 ++++++++++++++++++++++++-- doc/uImage.FIT/command_syntax_extensions.txt | 12 +- doc/uImage.FIT/overlay-fdt-boot.txt | 221 +++++++++++++++++++++++++++ doc/uImage.FIT/source_file_format.txt | 6 +- include/image.h | 10 ++ include/libfdt_env.h | 1 + lib/libfdt/fdt_overlay.c | 148 +++++++++++++++++- lib/libfdt/libfdt.h | 3 + test/overlay/Makefile | 1 + test/overlay/cmd_ut_overlay.c | 34 ++++- test/overlay/test-fdt-overlay-stacked.dts | 21 +++ 12 files changed, 659 insertions(+), 20 deletions(-) create mode 100644 doc/uImage.FIT/overlay-fdt-boot.txt create mode 100644 test/overlay/test-fdt-overlay-stacked.dts