/' ' Copyright (c) 2020, ARM Limited and Contributors. All rights reserved. ' ' SPDX-License-Identifier: BSD-3-Clause '/ @startuml participant bl1 participant FIP bl1 -> FIP : read(FW_CONFIG) create FW_CONFIG bl1 -> FW_CONFIG : load bl1 -> FIP : read(bl2) create bl2 bl1 -> bl2 : load bl1 --> bl2 : hand off (FW_CONFIG) bl2 -> FW_CONFIG : read_node(SPKs) loop for each spkg subnode bl2 -> FW_CONFIG : read(UUID) bl2 -> FW_CONFIG : read(load_address) bl2 -> FIP : read(spkg@UUID) create SPKG bl2 -> SPKG : load end loop bl2 -> FW_CONFIG : read_node(TOS_FW_CONFIG) create TOS_FW_CONFIG bl2 -> TOS_FW_CONFIG : load bl2 -> FIP : read(bl32/SPMC) create SPMC bl2 -> SPMC : load bl2 -> FIP : read(bl31) create bl31 bl2 -> bl31 : load bl2 --> bl31 : hand off (TOS_FW_CONFIG) bl31 --> SPMC : hand off (TOS_FW_CONFIG) @enduml