mirror of
https://xff.cz/git/u-boot/
synced 2025-09-02 01:02:19 +02:00
binman: Simplify state.fdt_subset
At present this excludes the device tree passed in to binman since it is always returned first by GetAllFdts(). However, this is easy to ensure by adding a check in that function. Change this dict to includes all device trees, and rename it to fdt_set. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -28,11 +28,12 @@ entry_args = {}
|
|||||||
# ftest.py)
|
# ftest.py)
|
||||||
use_fake_dtb = False
|
use_fake_dtb = False
|
||||||
|
|
||||||
# Dict of device trees, keyed by entry type, but excluding the main one
|
# Dict of device trees, keyed by entry type. These are the input device trees,
|
||||||
|
# before any modification by U-Boot
|
||||||
# The value is as returned by Entry.GetFdts(), i.e. a tuple:
|
# The value is as returned by Entry.GetFdts(), i.e. a tuple:
|
||||||
# Fdt object for this dtb, or None if not available
|
# Fdt object for this dtb, or None if not available
|
||||||
# Filename of file containing this dtb
|
# Filename of file containing this dtb
|
||||||
fdt_subset = {}
|
fdt_set = {}
|
||||||
|
|
||||||
# The DTB which contains the full image information
|
# The DTB which contains the full image information
|
||||||
main_dtb = None
|
main_dtb = None
|
||||||
@@ -135,7 +136,7 @@ def Prepare(images, dtb):
|
|||||||
images: List of images being used
|
images: List of images being used
|
||||||
dtb: Main dtb
|
dtb: Main dtb
|
||||||
"""
|
"""
|
||||||
global fdt_set, fdt_subset, output_fdt_files, main_dtb
|
global fdt_set, output_fdt_files, main_dtb
|
||||||
# Import these here in case libfdt.py is not available, in which case
|
# Import these here in case libfdt.py is not available, in which case
|
||||||
# the above help option still works.
|
# the above help option still works.
|
||||||
import fdt
|
import fdt
|
||||||
@@ -150,13 +151,11 @@ def Prepare(images, dtb):
|
|||||||
output_fdt_files['u-boot-dtb'] = [dtb, 'u-boot.dtb']
|
output_fdt_files['u-boot-dtb'] = [dtb, 'u-boot.dtb']
|
||||||
output_fdt_files['u-boot-spl-dtb'] = [dtb, 'spl/u-boot-spl.dtb']
|
output_fdt_files['u-boot-spl-dtb'] = [dtb, 'spl/u-boot-spl.dtb']
|
||||||
output_fdt_files['u-boot-tpl-dtb'] = [dtb, 'tpl/u-boot-tpl.dtb']
|
output_fdt_files['u-boot-tpl-dtb'] = [dtb, 'tpl/u-boot-tpl.dtb']
|
||||||
fdt_subset = {}
|
fdt_set = {}
|
||||||
if not use_fake_dtb:
|
if not use_fake_dtb:
|
||||||
for image in images.values():
|
for image in images.values():
|
||||||
fdt_subset.update(image.GetFdts())
|
fdt_set.update(image.GetFdts())
|
||||||
if 'u-boot-dtb' in fdt_subset:
|
for etype, other in fdt_set.items():
|
||||||
del fdt_subset['u-boot-dtb']
|
|
||||||
for etype, other in fdt_subset.items():
|
|
||||||
_, other_fname = other
|
_, other_fname = other
|
||||||
infile = tools.GetInputFilename(other_fname)
|
infile = tools.GetInputFilename(other_fname)
|
||||||
other_fname_dtb = fdt_util.EnsureCompiled(infile)
|
other_fname_dtb = fdt_util.EnsureCompiled(infile)
|
||||||
@@ -173,8 +172,10 @@ def GetAllFdts():
|
|||||||
Device trees being used (U-Boot proper, SPL, TPL)
|
Device trees being used (U-Boot proper, SPL, TPL)
|
||||||
"""
|
"""
|
||||||
yield main_dtb
|
yield main_dtb
|
||||||
for etype in fdt_subset:
|
for etype in fdt_set:
|
||||||
yield output_fdt_files[etype][0]
|
dtb = output_fdt_files[etype][0]
|
||||||
|
if dtb != main_dtb:
|
||||||
|
yield dtb
|
||||||
|
|
||||||
def GetUpdateNodes(node):
|
def GetUpdateNodes(node):
|
||||||
"""Yield all the nodes that need to be updated in all device trees
|
"""Yield all the nodes that need to be updated in all device trees
|
||||||
|
Reference in New Issue
Block a user