binman: Store image fdtmap when loading from a file

This data provides all the information about the position and size of each
entry. Store it for later use when loading an image. It can be reused as
is if the image is modified without changing offsets/sizes.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2019-07-20 12:23:40 -06:00
parent e44bc831e2
commit 589d8f917e

View file

@ -32,6 +32,9 @@ class Image(section.Entry_section):
Attributes:
filename: Output filename for image
image_node: Name of node containing the description for this image
fdtmap_dtb: Fdt object for the fdtmap when loading from a file
fdtmap_data: Contents of the fdtmap when loading from a file
Args:
test: True if this is being called from a test of Images. This this case
@ -44,6 +47,8 @@ class Image(section.Entry_section):
self.name = 'main-section'
self.image_name = name
self._filename = '%s.bin' % self.image_name
self.fdtmap_dtb = None
self.fdtmap_data = None
if not test:
filename = fdt_util.GetString(self._node, 'filename')
if filename:
@ -82,7 +87,11 @@ class Image(section.Entry_section):
dtb.Scan()
# Return an Image with the associated nodes
image = Image('image', dtb.GetRoot())
root = dtb.GetRoot()
image = Image('image', root)
image.image_node = fdt_util.GetString(root, 'image-node', 'image')
image.fdtmap_dtb = dtb
image.fdtmap_data = fdtmap_data
image._data = data
return image