1/'
2 ' Copyright (c) 2020, ARM Limited and Contributors. All rights reserved.
3 '
4 ' SPDX-License-Identifier: BSD-3-Clause
5 '/
6
7@startuml
8participant bl1
9participant FIP
10
11bl1 -> FIP : read(FW_CONFIG)
12create FW_CONFIG
13bl1 -> FW_CONFIG : load
14
15bl1 -> FIP : read(bl2)
16create bl2
17bl1 -> bl2 : load
18bl1 --> bl2 : hand off (FW_CONFIG)
19
20bl2 -> FW_CONFIG : read_node(SPKs)
21loop for each spkg subnode
22  bl2 -> FW_CONFIG : read(UUID)
23  bl2 -> FW_CONFIG : read(load_address)
24  bl2 -> FIP : read(spkg@UUID)
25  create SPKG
26  bl2 -> SPKG : load
27end loop
28
29bl2 -> FW_CONFIG : read_node(TOS_FW_CONFIG)
30create TOS_FW_CONFIG
31bl2 -> TOS_FW_CONFIG : load
32
33bl2 -> FIP : read(bl32/SPMC)
34create SPMC
35bl2 -> SPMC : load
36
37bl2 -> FIP : read(bl31)
38create bl31
39bl2 -> bl31 : load
40bl2 --> bl31 : hand off (TOS_FW_CONFIG)
41
42bl31 --> SPMC : hand off (TOS_FW_CONFIG)
43
44@enduml
45