aboutsummaryrefslogtreecommitdiff
path: root/core/arch/arm/plat-stm32mp1
diff options
context:
space:
mode:
authorEtienne Carriere <etienne.carriere@st.com>2018-12-12 10:53:14 +0100
committerJérôme Forissier <jerome.forissier@linaro.org>2018-12-12 13:23:20 +0100
commited4b5e39c96bd035788ff4f07c87232d934c1264 (patch)
tree3185ea9ecdf2c8fe07cf6e47266653a1f9d6f7db /core/arch/arm/plat-stm32mp1
parent062e3d01c039dac541b9fc9eaa1d6c4497435474 (diff)
stm32mp1: update boot image header script tool
Introduce the binary image type information to the STM32 header used for OP-TEE boot images. Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'core/arch/arm/plat-stm32mp1')
-rw-r--r--core/arch/arm/plat-stm32mp1/link.mk6
-rwxr-xr-xcore/arch/arm/plat-stm32mp1/scripts/stm32image.py17
2 files changed, 15 insertions, 8 deletions
diff --git a/core/arch/arm/plat-stm32mp1/link.mk b/core/arch/arm/plat-stm32mp1/link.mk
index 97e22ea3..01a9b8ed 100644
--- a/core/arch/arm/plat-stm32mp1/link.mk
+++ b/core/arch/arm/plat-stm32mp1/link.mk
@@ -11,14 +11,14 @@ endef
all: $(link-out-dir)/tee-header_v2.stm32
cleanfiles += $(link-out-dir)/tee-header_v2.stm32
$(link-out-dir)/tee-header_v2.stm32: $(link-out-dir)/tee-header_v2.bin
- $(stm32image_cmd) --source $< --dest $@
+ $(stm32image_cmd) --source $< --dest $@ --bintype 0x20
all: $(link-out-dir)/tee-pager_v2.stm32
cleanfiles += $(link-out-dir)/tee-pager_v2.stm32
$(link-out-dir)/tee-pager_v2.stm32: $(link-out-dir)/tee-pager_v2.bin
- $(stm32image_cmd) --source $< --dest $@
+ $(stm32image_cmd) --source $< --dest $@ --bintype 0x21
all: $(link-out-dir)/tee-pageable_v2.stm32
cleanfiles += $(link-out-dir)/tee-pageable_v2.stm32
$(link-out-dir)/tee-pageable_v2.stm32: $(link-out-dir)/tee-pageable_v2.bin
- $(stm32image_cmd) --source $< --dest $@
+ $(stm32image_cmd) --source $< --dest $@ --bintype 0x22
diff --git a/core/arch/arm/plat-stm32mp1/scripts/stm32image.py b/core/arch/arm/plat-stm32mp1/scripts/stm32image.py
index 55363af9..6a2fd6e3 100755
--- a/core/arch/arm/plat-stm32mp1/scripts/stm32image.py
+++ b/core/arch/arm/plat-stm32mp1/scripts/stm32image.py
@@ -35,7 +35,7 @@ def stm32image_checksum(dest_fd, sizedest):
return csum
-def stm32image_set_header(dest_fd, load, entry):
+def stm32image_set_header(dest_fd, load, entry, bintype):
sizedest = get_size(dest_fd)
checksum = stm32image_checksum(dest_fd, sizedest)
@@ -68,11 +68,12 @@ def stm32image_set_header(dest_fd, load, entry):
dest_fd.write(b'\x00' * 64)
# Padding
- dest_fd.write(b'\x00' * 84)
+ dest_fd.write(b'\x00' * 83)
+ dest_fd.write(struct.pack('<B', bintype))
dest_fd.close()
-def stm32image_create_header_file(source, dest, load, entry):
+def stm32image_create_header_file(source, dest, load, entry, bintype):
dest_fd = open(dest, 'w+b')
src_fd = open(source, 'rb')
@@ -86,7 +87,7 @@ def stm32image_create_header_file(source, dest, load, entry):
src_fd.close()
- stm32image_set_header(dest_fd, load, entry)
+ stm32image_set_header(dest_fd, load, entry, bintype)
dest_fd.close()
@@ -113,6 +114,10 @@ def get_args():
required=True, type=int_parse,
help='Entry point')
+ parser.add_argument('--bintype',
+ required=True, type=int_parse,
+ help='Binary identification')
+
return parser.parse_args()
@@ -122,11 +127,13 @@ def main():
destination_file = args.dest
load_address = args.load
entry_point = args.entry
+ binary_type = args.bintype
stm32image_create_header_file(source_file,
destination_file,
load_address,
- entry_point)
+ entry_point,
+ binary_type)
if __name__ == "__main__":