[PATCH 00/17] Apply device tree overlays to kernel tree
Sascha Hauer
s.hauer at pengutronix.de
Wed Mar 10 13:28:12 GMT 2021
With this series barebox gains the capability to apply device tree
overlays to the kernel device tree before starting the kernel with it.
Which overlays are applied can be controlled with a set of globavars,
for details see the documentation patch in this series.
The particular usecase we have in mind with this series is that the
rootfs has a bunch of device tree overlays in it which shall be applied
based on bootloader knowledge. For example information of the exact
board type might be stored in an EEPROM. Based on that information barebox
can now pick the right overlays for that board from the rootfs.
Interpreting the EEPROM content is board specific and not part of this
series, for now the the globalvars must be set manually.
Sascha
Sascha Hauer (17):
fdt: Check blob size during unflattening
firmware: make device_node argument non const
libbb: Add find_path function
firmware: consolidate ifdefs
firmware: Add search path
firmware: Fix device_node matching
firmware: recognize by reproducible name
blspec: Set firmware searchpath
overlay: only apply compatible trees
overlay: Add of_overlay_apply_file()
firmware: Load from global search path
blspec: Rework firmware load
of_overlay: apply overlays during booting
blspec: Apply overlays from rootfs
doc: devicetree: Refer to internal device tree also as live tree
Documentation: Add documentation for device tree overlays
of_firmware: Fix handling of firmware-name property
Documentation/user/devicetree.rst | 39 +++++-
arch/arm/boards/highbank/init.c | 2 +-
arch/arm/boards/qemu-virt/board.c | 4 +-
arch/arm/boards/raspberry-pi/rpi-common.c | 2 +-
arch/arm/boards/webasto-ccbv2/board.c | 2 +-
arch/arm/lib32/bootm.c | 2 +-
commands/of_diff.c | 2 +-
commands/of_display_timings.c | 2 +-
commands/of_dump.c | 4 +-
commands/of_overlay.c | 16 +--
commands/oftree.c | 2 +-
common/blspec.c | 99 ++++++---------
common/bootm.c | 4 +-
common/efi/efi.c | 2 +-
common/firmware.c | 59 ++++++++-
common/image-fit.c | 2 +-
common/state/backend_format_dtb.c | 2 +-
drivers/firmware/altera_serial.c | 1 +
drivers/firmware/socfpga.c | 2 +
drivers/firmware/zynqmp-fpga.c | 2 +
drivers/of/base.c | 2 +-
drivers/of/fdt.c | 17 ++-
drivers/of/of_firmware.c | 56 ++-------
drivers/of/overlay.c | 146 ++++++++++++++++++++++
include/firmware.h | 26 ++--
include/libbb.h | 4 +-
include/of.h | 33 ++++-
lib/libbb.c | 58 ++++++---
28 files changed, 413 insertions(+), 179 deletions(-)
--
2.29.2
More information about the barebox
mailing list