summaryrefslogtreecommitdiff
path: root/tools/binman/image.py
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2018-07-06 10:27:41 -0600
committerSimon Glass <sjg@chromium.org>2018-07-09 09:11:00 -0600
commit078ab1a2f5a9901f5f9983163d4f98b8d94bfda0 (patch)
tree469e20126f5566717b8a0cd35395b1c029e42139 /tools/binman/image.py
parentecab89737a4eb58c043388b1ca1c0f1dfdaa3346 (diff)
binman: Add a SetCalculatedProperties() method
Once binman has packed the image, the position and size of each entry is known. It is then possible for binman to update the device tree with these positions. Since placeholder values have been added, this does not affect the size of the device tree and therefore the packing does not need to be performed again. Add a new SetCalculatedProperties method to handle this. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools/binman/image.py')
-rw-r--r--tools/binman/image.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/binman/image.py b/tools/binman/image.py
index 9732493709..94028f19a5 100644
--- a/tools/binman/image.py
+++ b/tools/binman/image.py
@@ -54,6 +54,17 @@ class Image:
self._filename = filename
self._section = bsection.Section('main-section', self._node)
+ def AddMissingProperties(self):
+ """Add properties that are not present in the device tree
+
+ When binman has completed packing the entries the position and size of
+ each entry are known. But before this the device tree may not specify
+ these. Add any missing properties, with a dummy value, so that the
+ size of the entry is correct. That way we can insert the correct values
+ later.
+ """
+ self._section.AddMissingProperties()
+
def ProcessFdt(self, fdt):
return self._section.ProcessFdt(fdt)
@@ -82,6 +93,9 @@ class Image:
"""Check that entries do not overlap or extend outside the image"""
self._section.CheckEntries()
+ def SetCalculatedProperties(self):
+ self._section.SetCalculatedProperties()
+
def ProcessEntryContents(self):
"""Call the ProcessContents() method for each entry