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