/' ' Copyright (c) 2020, ARM Limited and Contributors. All rights reserved. ' ' SPDX-License-Identifier: BSD-3-Clause '/ @startuml folder SP_vendor_1 { artifact sp_binary_1 artifact sp_manifest_1 [ sp_manifest_1 === UUID = xxx load_address = 0xaaa owner = "Sip" ... ] } folder SP_vendor_2 { artifact sp_binary_2 artifact sp_manifest_2 [ sp_manifest_2 === UUID = yyy load_address = 0xbbb owner = "Plat" ] } artifact tb_fw_config.dts [ tb_fw_config.dts ---- secure-partitions === spkg_1 UUID spkg_1 load_address --- spkg_2 UUID spkg_2 load_address --- ... === ... ] artifact config.json [ SP_LAYOUT.json === path to sp_binary_1 path to sp_manifest_1 --- path to sp_binary_2 path to sp_manifest_2 --- ... ] control sp_mk_generator artifact sp_gen [ sp_gen.mk === FDT_SOURCE = ... SPTOOL_ARGS = ... FIP_ARGS = ... CRT_ARGS = ... ] control dtc control sptool artifact tb_fw_config.dtb artifact spkg_1 [ sp1.pkg === header --- manifest --- binary ] artifact spkg_2 [ sp2.pkg === header --- manifest --- binary ] artifact signed_tb_fw_config.dtb [ tb_fw_config.dtb (signed) ] artifact signed_spkg_1 [ sp1.pkg (signed) === header --- manifest --- binary --- signature ] artifact signed_spkg_2 [ sp2.pkg (signed) === header --- manifest --- binary --- signature ] control crttool control fiptool artifact fip [ fip.bin === tb_fw_config.dtb (signed) --- ... --- sp1.pkg (signed & SiP owned) --- sp2.pkg (signed & Platform owned) --- ... ] config.json .up.> SP_vendor_1 config.json .up.> SP_vendor_2 config.json --> sp_mk_generator sp_mk_generator --> sp_gen sp_gen --> fiptool sp_gen --> cert_create sp_gen --> sptool sptool --> spkg_1 sptool --> spkg_2 spkg_1 --> cert_create spkg_2 --> cert_create cert_create --> signed_spkg_1 cert_create --> signed_spkg_2 tb_fw_config.dts --> dtc dtc --> tb_fw_config.dtb tb_fw_config.dtb --> cert_create cert_create --> signed_tb_fw_config.dtb signed_tb_fw_config.dtb --> fiptool signed_spkg_1 -down-> fiptool signed_spkg_2 -down-> fiptool fiptool -down-> fip @enduml