
This patchset allows uboot to handle overlays in a manner that uses a base DT blob and an arbitrary number of DT overlays blobs.
While it is intended to be used with FIT images since handling a multitude of device tree blobs manually is a chore, manual fdt overlay application is supported and described.
The first 2 patches have already been accepted in DTC mainline. We can apply them now, or expect the updated drop from mainline.
The next patch contains the FIT FDT blob generation logic as well as documentation about how it works.
Path #4 spits out an informative message in case of an overlay failure that may be attribute to mis-compilation (which is a common problem).
Patches 5 & 6 are documentation entries.
Patch #7 makes sure unit tests using overlays can be used on non-sandbox boards.
Patch #8 adds overlay unit tests as part of sandbox's defconfig.
Patch #9 fixes a problem with unit tests using an already present symbol.
Finally, #10 adds a unit test using a stacked overlay.
The patchset is available at
https://github.com/pantoniou/u-boot/tree/uboot-overlays
and is against mainline u-boot as pulled today, 11/8/2017.
Franklin S Cooper Jr (1): doc: overlays: Tweak documentation regarding overlays
Pantelis Antoniou (9): Introduce fdt_setprop_placeholder() method fdt: Allow stacked overlays phandle references fit: Introduce methods for applying overlays on fit-load fdt-overlay: Spit out a descriptive failure warning doc: Document how to apply fdt overlays dtbo: make dtbos special config: sandbox: Add unit tests ut: fix fdt_getprop_u32() change test: overlay: Add unit test for stacked overlay
cmd/fdt.c | 8 + common/image-fdt.c | 7 +- common/image-fit.c | 226 ++++++++++++++++++++++++-- configs/sandbox_defconfig | 2 + doc/README.fdt-overlays | 114 ++++++++++++++ doc/uImage.FIT/command_syntax_extensions.txt | 12 +- doc/uImage.FIT/overlay-fdt-boot.txt | 225 ++++++++++++++++++++++++++ doc/uImage.FIT/source_file_format.txt | 6 +- include/image.h | 10 ++ lib/libfdt/fdt_overlay.c | 228 ++++++++++++++++++++++++--- lib/libfdt/fdt_rw.c | 20 ++- lib/libfdt/libfdt.h | 31 ++++ scripts/Makefile.lib | 17 ++ test/overlay/Makefile | 1 + test/overlay/cmd_ut_overlay.c | 50 ++++-- test/overlay/test-fdt-overlay-stacked.dts | 21 +++ 16 files changed, 926 insertions(+), 52 deletions(-) create mode 100644 doc/README.fdt-overlays create mode 100644 doc/uImage.FIT/overlay-fdt-boot.txt create mode 100644 test/overlay/test-fdt-overlay-stacked.dts