Skip to content
Snippets Groups Projects
Commit aac07d49 authored by Simon Glass's avatar Simon Glass
Browse files

dm: fdt: Add a function to look up a chosen node


Within /chosen we may have a node which points to another node, similar
to how /aliases works. Add a helper function to do this lookup.

Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
parent addf9513
No related branches found
No related tags found
No related merge requests found
......@@ -374,6 +374,18 @@ int fdtdec_get_alias_seq(const void *blob, const char *base, int node,
*/
int fdtdec_get_alias_node(const void *blob, const char *name);
/**
* Get the offset of the given chosen node
*
* This looks up a property in /chosen containing the path to another node,
* then finds the offset of that node.
*
* @param blob Device tree blob (if NULL, then error is returned)
* @param name Property name, e.g. "stdout-path"
* @return Node offset referred to by that chosen node, or -ve FDT_ERR_...
*/
int fdtdec_get_chosen_node(const void *blob, const char *name);
/*
* Get the name for a compatible ID
*
......
......@@ -380,6 +380,21 @@ int fdtdec_get_alias_node(const void *blob, const char *name)
return fdt_path_offset(blob, prop);
}
int fdtdec_get_chosen_node(const void *blob, const char *name)
{
const char *prop;
int chosen_node;
int len;
if (!blob)
return -FDT_ERR_NOTFOUND;
chosen_node = fdt_path_offset(blob, "/chosen");
prop = fdt_getprop(blob, chosen_node, name, &len);
if (!prop)
return -FDT_ERR_NOTFOUND;
return fdt_path_offset(blob, prop);
}
int fdtdec_check_fdt(void)
{
/*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment