blob: c36e54423085ac82346d96aa457b960f14ea9fa7 [file] [log] [blame]
Louis Mayencourt8ac387c2019-11-08 15:09:15 +00001@startuml
2
3box "BL1 common code"
4 participant bl1_main
5 participant bl_common
6end box
7
8box "arm platform code" #LightBlue
9 participant fvp_bl1_setup
10 participant arm_bl1_setup
11 participant arm_io_storage
12end box
13
14box "platform common code"
15 participant plat_bl1_common
16 participant fconf
17end box
18
19bl1_main -> fvp_bl1_setup : bl1_platform_setup()
20fvp_bl1_setup -> arm_bl1_setup : arm_bl1_platform_setup()
21arm_bl1_setup -> arm_io_storage : plat_arm_io_setup()
22note over arm_io_storage : register and setup fip
23arm_bl1_setup -> fconf : fconf_load_config()
24activate fconf
25 note over fconf
26 create and populate an
27 image_desc_t for TB_FW_CONFIG
28 end note
29 fconf -> bl_common : load_auth_image(TB_FW_CONFIG_ID, &image_info)
30 activate bl_common
31 note over bl_common
32 load and auth image from fip
33 with info from plat_io_policy
34 end note
35 bl_common -> arm_io_storage
36 arm_io_storage -> fconf: FCONF_GET_PROPERTY(arm, arm_io_policies, tb_fw_cfg)
37 note over fconf: use staticaly defined policies in bl1
38 fconf <- bl_common : image_info
39 deactivate bl_common
40 note over fconf : get tb_fw_config_dtb from image_info
41 fconf -> plat_bl1_common : bl1_plat_get_image_desc(BL2_IMAGE_ID)
42 fconf <- plat_bl1_common : BL2_IMAGE_DESC
43 note over fconf
44 set ep_info.args.arg0 of BL2_IMAGE_DESC
45 to TB_FW_CONFIG base address
46 end note
47arm_bl1_setup <- fconf
48deactivate fconf
49
50== load & auth, prepare and jump to BL2 ==
51
52@enduml