xref: /aosp_15_r20/external/arm-trusted-firmware/docs/resources/diagrams/plantuml/bl2-loading-sp.puml (revision 54fd6939e177f8ff529b10183254802c76df6d08)
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 Parkparticipant bl1
9*54fd6939SJiyong Parkparticipant FIP
10*54fd6939SJiyong Park
11*54fd6939SJiyong Parkbl1 -> FIP : read(FW_CONFIG)
12*54fd6939SJiyong Parkcreate FW_CONFIG
13*54fd6939SJiyong Parkbl1 -> FW_CONFIG : load
14*54fd6939SJiyong Park
15*54fd6939SJiyong Parkbl1 -> FIP : read(bl2)
16*54fd6939SJiyong Parkcreate bl2
17*54fd6939SJiyong Parkbl1 -> bl2 : load
18*54fd6939SJiyong Parkbl1 --> bl2 : hand off (FW_CONFIG)
19*54fd6939SJiyong Park
20*54fd6939SJiyong Parkbl2 -> FW_CONFIG : read_node(SPKs)
21*54fd6939SJiyong Parkloop for each spkg subnode
22*54fd6939SJiyong Park  bl2 -> FW_CONFIG : read(UUID)
23*54fd6939SJiyong Park  bl2 -> FW_CONFIG : read(load_address)
24*54fd6939SJiyong Park  bl2 -> FIP : read(spkg@UUID)
25*54fd6939SJiyong Park  create SPKG
26*54fd6939SJiyong Park  bl2 -> SPKG : load
27*54fd6939SJiyong Parkend loop
28*54fd6939SJiyong Park
29*54fd6939SJiyong Parkbl2 -> FW_CONFIG : read_node(TOS_FW_CONFIG)
30*54fd6939SJiyong Parkcreate TOS_FW_CONFIG
31*54fd6939SJiyong Parkbl2 -> TOS_FW_CONFIG : load
32*54fd6939SJiyong Park
33*54fd6939SJiyong Parkbl2 -> FIP : read(bl32/SPMC)
34*54fd6939SJiyong Parkcreate SPMC
35*54fd6939SJiyong Parkbl2 -> SPMC : load
36*54fd6939SJiyong Park
37*54fd6939SJiyong Parkbl2 -> FIP : read(bl31)
38*54fd6939SJiyong Parkcreate bl31
39*54fd6939SJiyong Parkbl2 -> bl31 : load
40*54fd6939SJiyong Parkbl2 --> bl31 : hand off (TOS_FW_CONFIG)
41*54fd6939SJiyong Park
42*54fd6939SJiyong Parkbl31 --> SPMC : hand off (TOS_FW_CONFIG)
43*54fd6939SJiyong Park
44*54fd6939SJiyong Park@enduml
45