device_tree: Add overlay support

This patch adds support for merging a device tree overlay (as defined in
Documentation/dt-object-internal.txt in the dtc repository) into a base
device tree. It was adapted from depthcharge's
http://crosreview.com/1536387.

Change-Id: Ibec833cd471201bcc7a79eebf360d5f12adb8ff9
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/32869
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Julius Werner
2019-05-07 17:05:28 -07:00
committed by Patrick Georgi
parent 2ea1c9b29e
commit 735ddc930f
2 changed files with 475 additions and 0 deletions

View File

@ -180,6 +180,10 @@ void dt_find_bin_prop(const struct device_tree_node *node, const char *name,
const char *dt_find_string_prop(const struct device_tree_node *node,
const char *name);
/* Apply an overlay to a base device tree. Ownership of the overlay data passes
to the newly combined base tree -- do not free() or access it afterwards! */
int dt_apply_overlay(struct device_tree *tree, struct device_tree *overlay);
/*
* Fixups to apply to a kernel's device tree before booting it.
*/