1*91f16700Schasinglulu/' 2*91f16700Schasinglulu ' Copyright (c) 2020, ARM Limited and Contributors. All rights reserved. 3*91f16700Schasinglulu ' 4*91f16700Schasinglulu ' SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu '/ 6*91f16700Schasinglulu 7*91f16700Schasinglulu@startuml 8*91f16700Schasinglulu 9*91f16700Schasinglulufolder SP_vendor_1 { 10*91f16700Schasinglulu artifact sp_binary_1 11*91f16700Schasinglulu artifact sp_manifest_1 [ 12*91f16700Schasinglulu sp_manifest_1 13*91f16700Schasinglulu === 14*91f16700Schasinglulu UUID = xxx 15*91f16700Schasinglulu load_address = 0xaaa 16*91f16700Schasinglulu owner = "Sip" 17*91f16700Schasinglulu ... 18*91f16700Schasinglulu ] 19*91f16700Schasinglulu} 20*91f16700Schasinglulu 21*91f16700Schasinglulufolder SP_vendor_2 { 22*91f16700Schasinglulu artifact sp_binary_2 23*91f16700Schasinglulu artifact sp_manifest_2 [ 24*91f16700Schasinglulu sp_manifest_2 25*91f16700Schasinglulu === 26*91f16700Schasinglulu UUID = yyy 27*91f16700Schasinglulu load_address = 0xbbb 28*91f16700Schasinglulu owner = "Plat" 29*91f16700Schasinglulu ] 30*91f16700Schasinglulu} 31*91f16700Schasinglulu 32*91f16700Schasingluluartifact tb_fw_config.dts [ 33*91f16700Schasinglulu tb_fw_config.dts 34*91f16700Schasinglulu ---- 35*91f16700Schasinglulu secure-partitions 36*91f16700Schasinglulu === 37*91f16700Schasinglulu spkg_1 UUID 38*91f16700Schasinglulu spkg_1 load_address 39*91f16700Schasinglulu --- 40*91f16700Schasinglulu spkg_2 UUID 41*91f16700Schasinglulu spkg_2 load_address 42*91f16700Schasinglulu --- 43*91f16700Schasinglulu ... 44*91f16700Schasinglulu === 45*91f16700Schasinglulu ...<rest of the nodes> 46*91f16700Schasinglulu] 47*91f16700Schasinglulu 48*91f16700Schasingluluartifact config.json [ 49*91f16700Schasinglulu SP_LAYOUT.json 50*91f16700Schasinglulu === 51*91f16700Schasinglulu path to sp_binary_1 52*91f16700Schasinglulu path to sp_manifest_1 53*91f16700Schasinglulu --- 54*91f16700Schasinglulu path to sp_binary_2 55*91f16700Schasinglulu path to sp_manifest_2 56*91f16700Schasinglulu --- 57*91f16700Schasinglulu ... 58*91f16700Schasinglulu] 59*91f16700Schasinglulu 60*91f16700Schasinglulucontrol sp_mk_generator 61*91f16700Schasinglulu 62*91f16700Schasingluluartifact sp_gen [ 63*91f16700Schasinglulu sp_gen.mk 64*91f16700Schasinglulu === 65*91f16700Schasinglulu FDT_SOURCE = ... 66*91f16700Schasinglulu SPTOOL_ARGS = ... 67*91f16700Schasinglulu FIP_ARGS = ... 68*91f16700Schasinglulu CRT_ARGS = ... 69*91f16700Schasinglulu] 70*91f16700Schasinglulu 71*91f16700Schasinglulucontrol dtc 72*91f16700Schasinglulucontrol sptool 73*91f16700Schasinglulu 74*91f16700Schasingluluartifact tb_fw_config.dtb 75*91f16700Schasinglulu 76*91f16700Schasingluluartifact spkg_1 [ 77*91f16700Schasinglulu sp1.pkg 78*91f16700Schasinglulu === 79*91f16700Schasinglulu <i>header</i> 80*91f16700Schasinglulu --- 81*91f16700Schasinglulu manifest 82*91f16700Schasinglulu --- 83*91f16700Schasinglulu binary 84*91f16700Schasinglulu] 85*91f16700Schasinglulu 86*91f16700Schasingluluartifact spkg_2 [ 87*91f16700Schasinglulu sp2.pkg 88*91f16700Schasinglulu === 89*91f16700Schasinglulu <i>header</i> 90*91f16700Schasinglulu --- 91*91f16700Schasinglulu manifest 92*91f16700Schasinglulu --- 93*91f16700Schasinglulu binary 94*91f16700Schasinglulu] 95*91f16700Schasinglulu 96*91f16700Schasingluluartifact signed_tb_fw_config.dtb [ 97*91f16700Schasinglulu tb_fw_config.dtb (signed) 98*91f16700Schasinglulu] 99*91f16700Schasinglulu 100*91f16700Schasingluluartifact signed_spkg_1 [ 101*91f16700Schasinglulu sp1.pkg (signed) 102*91f16700Schasinglulu === 103*91f16700Schasinglulu <i>header</i> 104*91f16700Schasinglulu --- 105*91f16700Schasinglulu manifest 106*91f16700Schasinglulu --- 107*91f16700Schasinglulu binary 108*91f16700Schasinglulu --- 109*91f16700Schasinglulu <i>signature</I> 110*91f16700Schasinglulu] 111*91f16700Schasinglulu 112*91f16700Schasingluluartifact signed_spkg_2 [ 113*91f16700Schasinglulu sp2.pkg (signed) 114*91f16700Schasinglulu === 115*91f16700Schasinglulu <i>header</i> 116*91f16700Schasinglulu --- 117*91f16700Schasinglulu manifest 118*91f16700Schasinglulu --- 119*91f16700Schasinglulu binary 120*91f16700Schasinglulu --- 121*91f16700Schasinglulu <i>signature</I> 122*91f16700Schasinglulu] 123*91f16700Schasinglulu 124*91f16700Schasinglulucontrol crttool 125*91f16700Schasinglulucontrol fiptool 126*91f16700Schasinglulu 127*91f16700Schasingluluartifact fip [ 128*91f16700Schasinglulu fip.bin 129*91f16700Schasinglulu === 130*91f16700Schasinglulu tb_fw_config.dtb (signed) 131*91f16700Schasinglulu --- 132*91f16700Schasinglulu ... 133*91f16700Schasinglulu --- 134*91f16700Schasinglulu sp1.pkg (signed & SiP owned) 135*91f16700Schasinglulu --- 136*91f16700Schasinglulu sp2.pkg (signed & Platform owned) 137*91f16700Schasinglulu --- 138*91f16700Schasinglulu ... 139*91f16700Schasinglulu] 140*91f16700Schasinglulu 141*91f16700Schasingluluconfig.json .up.> SP_vendor_1 142*91f16700Schasingluluconfig.json .up.> SP_vendor_2 143*91f16700Schasingluluconfig.json --> sp_mk_generator 144*91f16700Schasinglulusp_mk_generator --> sp_gen 145*91f16700Schasinglulusp_gen --> fiptool 146*91f16700Schasinglulusp_gen --> cert_create 147*91f16700Schasinglulusp_gen --> sptool 148*91f16700Schasinglulu 149*91f16700Schasinglulusptool --> spkg_1 150*91f16700Schasinglulusptool --> spkg_2 151*91f16700Schasinglulu 152*91f16700Schasingluluspkg_1 --> cert_create 153*91f16700Schasingluluspkg_2 --> cert_create 154*91f16700Schasinglulucert_create --> signed_spkg_1 155*91f16700Schasinglulucert_create --> signed_spkg_2 156*91f16700Schasinglulu 157*91f16700Schasinglulutb_fw_config.dts --> dtc 158*91f16700Schasingluludtc --> tb_fw_config.dtb 159*91f16700Schasinglulutb_fw_config.dtb --> cert_create 160*91f16700Schasinglulucert_create --> signed_tb_fw_config.dtb 161*91f16700Schasinglulu 162*91f16700Schasinglulusigned_tb_fw_config.dtb --> fiptool 163*91f16700Schasinglulusigned_spkg_1 -down-> fiptool 164*91f16700Schasinglulusigned_spkg_2 -down-> fiptool 165*91f16700Schasinglulufiptool -down-> fip 166*91f16700Schasinglulu 167*91f16700Schasinglulu@enduml 168