summaryrefslogtreecommitdiff
path: root/tools/dtoc/fdt.py
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2020-07-23 15:56:06 -0400
committerTom Rini <trini@konsulko.com>2020-07-23 15:56:06 -0400
commit5d3a21df6694ebd66d5c34c9d62a26edc7456fc7 (patch)
tree5de77f2861f6856866c5bf4ffa7cab22d371ccf3 /tools/dtoc/fdt.py
parent56d37f1c564107e27d873181d838571b7d7860e7 (diff)
parent60e7fa8b3b8538aae1e644dac61d5e4076901edb (diff)
Merge tag 'dm-pull-20jul20' of git://git.denx.de/u-boot-dm
binman support for FIT new UCLASS_SOC patman switch 'test' command minor fdt fixes patman usability improvements
Diffstat (limited to 'tools/dtoc/fdt.py')
-rw-r--r--tools/dtoc/fdt.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/tools/dtoc/fdt.py b/tools/dtoc/fdt.py
index 188490b728f..d058c59e927 100644
--- a/tools/dtoc/fdt.py
+++ b/tools/dtoc/fdt.py
@@ -207,7 +207,8 @@ class Prop:
if auto_resize:
while fdt_obj.setprop(node.Offset(), self.name, self.bytes,
(libfdt.NOSPACE,)) == -libfdt.NOSPACE:
- fdt_obj.resize(fdt_obj.totalsize() + 1024)
+ fdt_obj.resize(fdt_obj.totalsize() + 1024 +
+ len(self.bytes))
fdt_obj.setprop(node.Offset(), self.name, self.bytes)
else:
fdt_obj.setprop(node.Offset(), self.name, self.bytes)
@@ -410,6 +411,18 @@ class Node:
val = val.encode('utf-8')
self._CheckProp(prop_name).props[prop_name].SetData(val + b'\0')
+ def AddData(self, prop_name, val):
+ """Add a new property to a node
+
+ The device tree is marked dirty so that the value will be written to
+ the blob on the next sync.
+
+ Args:
+ prop_name: Name of property to add
+ val: Bytes value of property
+ """
+ self.props[prop_name] = Prop(self, None, prop_name, val)
+
def AddString(self, prop_name, val):
"""Add a new string property to a node
@@ -422,7 +435,7 @@ class Node:
"""
if sys.version_info[0] >= 3: # pragma: no cover
val = bytes(val, 'utf-8')
- self.props[prop_name] = Prop(self, None, prop_name, val + b'\0')
+ self.AddData(prop_name, val + b'\0')
def AddSubnode(self, name):
"""Add a new subnode to the node