core: add ofnode_get_by_phandle() api

We need to get ofnode from a phandle, add interface to support
both live dt and fdt.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tested-by: Klaus Goger <klaus.goger@theobroma-systems.com>
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
master
Kever Yang 6 years ago committed by Anatolij Gustschin
parent e2d5997ffd
commit b4f20767b1
  1. 13
      drivers/core/ofnode.c
  2. 8
      include/dm/ofnode.h

@ -188,6 +188,19 @@ const char *ofnode_get_name(ofnode node)
return fdt_get_name(gd->fdt_blob, ofnode_to_offset(node), NULL);
}
ofnode ofnode_get_by_phandle(uint phandle)
{
ofnode node;
if (of_live_active())
node = np_to_ofnode(of_find_node_by_phandle(phandle));
else
node.of_offset = fdt_node_offset_by_phandle(gd->fdt_blob,
phandle);
return node;
}
int ofnode_read_size(ofnode node, const char *propname)
{
int len;

@ -318,6 +318,14 @@ ofnode ofnode_get_parent(ofnode node);
const char *ofnode_get_name(ofnode node);
/**
* ofnode_get_by_phandle() - get ofnode from phandle
*
* @phandle: phandle to look up
* @return ofnode reference to the phandle
*/
ofnode ofnode_get_by_phandle(uint phandle);
/**
* ofnode_read_size() - read the size of a property
*
* @node: node to check

Loading…
Cancel
Save