[U-Boot] [PATCH v3 08/72] dm: core: Add operations on device tree references

sjg at google.com sjg at google.com
Thu May 25 00:07:03 UTC 2017


Since U-Boot supports both a live tree and a flat tree, we need an easy
way to access the tree without worrying about which is currently active.
To support this, U-Boot has the concept of an ofnode, which can refer
either to a live tree node or a flat tree node.

For the live tree, the reference contains a pointer to the node (struct
device_node *) or NULL if the node is invalid. For the flat tree, the
reference contains the node offset or -1 if the node is invalid.

Add a basic set of operations using ofnodes. These are implemented by
using either libfdt functions (in the case of a flat DT reference) or
the live-tree of_...() functions.

Note that it is not possible to have both live and flat references active
at the same time. As soon as the live tree is available, everything in
U-Boot should switch to using that. This avoids confusion and allows us to
assume that the type of a reference is simply based on whether we have a
live tree yet, or not.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

Changes in v3:
- Adjust header includes in ofnode.h to make it stand alone

Changes in v2: None

 drivers/core/Makefile |   1 +
 drivers/core/ofnode.c | 552 ++++++++++++++++++++++++++++++++++++++++++++++++++
 include/dm/ofnode.h   | 467 +++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 1017 insertions(+), 3 deletions(-)
 create mode 100644 drivers/core/ofnode.c

Applied to u-boot-dm


More information about the U-Boot mailing list