xref: /rk3399_ARM-atf/docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml (revision 37d56d3829f86ee5808b5f4a5a6b4dbdbb1bab67)
1@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 FW_CONFIG
28	end note
29	fconf -> bl_common : load_auth_image(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 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
53