mirror of
https://xff.cz/git/u-boot/
synced 2025-09-02 01:02:19 +02:00
dtoc: Add a 64-bit type and a way to convert cells into 64 bits
When dealing with multi-cell values we need a type that can hold this value. Add this and a function to process it from a list of cell values. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Tested-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Tested-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
@@ -29,6 +29,20 @@ def fdt32_to_cpu(val):
|
||||
val = val.encode('raw_unicode_escape')
|
||||
return struct.unpack('>I', val)[0]
|
||||
|
||||
def fdt_cells_to_cpu(val, cells):
|
||||
"""Convert one or two cells to a long integer
|
||||
|
||||
Args:
|
||||
Value to convert (array of one or more 4-character strings)
|
||||
|
||||
Return:
|
||||
A native-endian long value
|
||||
"""
|
||||
out = long(fdt32_to_cpu(val[0]))
|
||||
if cells == 2:
|
||||
out = out << 32 | fdt32_to_cpu(val[1])
|
||||
return out
|
||||
|
||||
def EnsureCompiled(fname):
|
||||
"""Compile an fdt .dts source file into a .dtb binary blob if needed.
|
||||
|
||||
|
Reference in New Issue
Block a user