[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