From: Simon Glass Date: Tue, 26 Jul 2016 00:59:18 +0000 (-0600) Subject: dtoc: Add methods for reading data from properties X-Git-Tag: v2016.11-rc1~122^2 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=8f224b3734d042884a8981a14db64c48e87b87a2;p=u-boot dtoc: Add methods for reading data from properties Provide easy helpers for reading integer, string and boolean values from device-tree properties. Signed-off-by: Simon Glass --- diff --git a/tools/dtoc/fdt_util.py b/tools/dtoc/fdt_util.py index 32f41d72d7..3a10838109 100644 --- a/tools/dtoc/fdt_util.py +++ b/tools/dtoc/fdt_util.py @@ -59,3 +59,28 @@ def EnsureCompiled(fname): args.append(dts_input) command.Run('dtc', *args) return dtb_output + +def GetInt(node, propname, default=None): + prop = node.props.get(propname) + if not prop: + return default + value = fdt32_to_cpu(prop.value) + if type(value) == type(list): + raise ValueError("Node '%s' property '%' has list value: expecting" + "a single integer" % (node.name, propname)) + return value + +def GetString(node, propname, default=None): + prop = node.props.get(propname) + if not prop: + return default + value = prop.value + if type(value) == type(list): + raise ValueError("Node '%s' property '%' has list value: expecting" + "a single string" % (node.name, propname)) + return value + +def GetBool(node, propname, default=False): + if propname in node.props: + return True + return default