xref: /rk3399_ARM-atf/docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml (revision 201e3c78a70bc7462d4be31ace1e24346f714624)
1326150b9SLouis Mayencourt@startuml
2326150b9SLouis Mayencourt
3326150b9SLouis Mayencourtbox "BL1 common code"
4326150b9SLouis Mayencourt	participant bl1_main
5326150b9SLouis Mayencourt	participant bl_common
6326150b9SLouis Mayencourtend box
7326150b9SLouis Mayencourt
8326150b9SLouis Mayencourtbox "arm platform code" #LightBlue
9326150b9SLouis Mayencourt	participant fvp_bl1_setup
10326150b9SLouis Mayencourt	participant arm_bl1_setup
11326150b9SLouis Mayencourt	participant arm_io_storage
12326150b9SLouis Mayencourtend box
13326150b9SLouis Mayencourt
14326150b9SLouis Mayencourtbox "platform common code"
15326150b9SLouis Mayencourt	participant plat_bl1_common
16e555787bSManish V Badarkhe	participant fconf_dyn_cfg_getter
17326150b9SLouis Mayencourt	participant fconf
18326150b9SLouis Mayencourtend box
19326150b9SLouis Mayencourt
20326150b9SLouis Mayencourtbl1_main -> fvp_bl1_setup : bl1_platform_setup()
21326150b9SLouis Mayencourtfvp_bl1_setup -> arm_bl1_setup : arm_bl1_platform_setup()
22326150b9SLouis Mayencourtarm_bl1_setup -> arm_io_storage : plat_arm_io_setup()
23326150b9SLouis Mayencourtnote over arm_io_storage : register and setup fip
24*8dadc1e2SSandrine Bailleuxarm_bl1_setup -> fconf : set_config_info(fw_config_base, max_size, FW_CONFIG_ID)
25326150b9SLouis Mayencourtnote over fconf
26e555787bSManish V Badarkhe	set fw_config information
27e555787bSManish V Badarkhe	(address, size, image_id)
28e555787bSManish V Badarkhe	in global dtb_infos array.
29326150b9SLouis Mayencourtend note
30e555787bSManish V Badarkheactivate fconf
31e555787bSManish V Badarkhe	arm_bl1_setup -> fconf : fconf_load_config(FW_CONFIG_ID)
32e555787bSManish V Badarkhe	fconf -> fconf : FCONF_GET_PROPERTY(dyn_cfg, dtb, FW_CONFIG_ID)
33e555787bSManish V Badarkhe	fconf -> fconf_dyn_cfg_getter: dyn_cfg_dtb_info_getter(FW_CONFIG_ID)
34e555787bSManish V Badarkhe	fconf_dyn_cfg_getter -> fconf: fw_config_info
3575077e26SLouis Mayencourt	fconf -> bl_common : load_auth_image(FW_CONFIG_ID, &image_info)
36326150b9SLouis Mayencourt	activate bl_common
37326150b9SLouis Mayencourt	note over bl_common
38326150b9SLouis Mayencourt		load and auth image from fip
39326150b9SLouis Mayencourt		with info from plat_io_policy
40326150b9SLouis Mayencourt	end note
41326150b9SLouis Mayencourt	bl_common -> arm_io_storage
42e555787bSManish V Badarkhe	arm_io_storage -> fconf: FCONF_GET_PROPERTY(arm, arm_io_policies, FW_CONFIG_ID)
43e555787bSManish V Badarkhe	note over fconf: use statically defined policies in bl1
44e555787bSManish V Badarkhe	fconf <- bl_common : image_info
45e555787bSManish V Badarkhe	deactivate bl_common
46e555787bSManish V Badarkhe	note over fconf : get fw_config_dtb from image_info
47e555787bSManish V Badarkhe	arm_bl1_setup -> fconf: FCONF_GET_PROPERTY(dyn_cfg, dtb, FW_CONFIG_ID)
48e555787bSManish V Badarkhe	fconf -> fconf_dyn_cfg_getter: dyn_cfg_dtb_info_getter(FW_CONFIG_ID)
49e555787bSManish V Badarkhe	fconf_dyn_cfg_getter -> arm_bl1_setup: fw_config_info
50e555787bSManish V Badarkhe	arm_bl1_setup -> fconf_dyn_cfg_getter: populate_dtb_registry(uintptr_t dtb)
51e555787bSManish V Badarkhe	arm_bl1_setup -> fconf: fconf_load_config(TB_FW_CONFIG_ID)
52e555787bSManish V Badarkhe	fconf -> fconf : FCONF_GET_PROPERTY(dyn_cfg, dtb, TB_FW_CONFIG_ID)
53e555787bSManish V Badarkhe	fconf -> fconf_dyn_cfg_getter: dyn_cfg_dtb_info_getter(TB_FW_CONFIG_ID)
54e555787bSManish V Badarkhe	fconf_dyn_cfg_getter -> fconf: tb_fw_config_info
55e555787bSManish V Badarkhe	fconf -> bl_common : load_auth_image(TB_FW_CONFIG_ID, &image_info)
56e555787bSManish V Badarkhe	activate bl_common
57e555787bSManish V Badarkhe	note over bl_common
58e555787bSManish V Badarkhe		load and auth image from fip
59e555787bSManish V Badarkhe		with info from plat_io_policy
60e555787bSManish V Badarkhe	end note
61e555787bSManish V Badarkhe	bl_common -> arm_io_storage
62e555787bSManish V Badarkhe	arm_io_storage -> fconf: FCONF_GET_PROPERTY(arm, arm_io_policies, TB_FW_CONFIG_ID)
63e555787bSManish V Badarkhe	note over fconf: use statically defined policies in bl1
64326150b9SLouis Mayencourt	fconf <- bl_common : image_info
65326150b9SLouis Mayencourt	deactivate bl_common
66326150b9SLouis Mayencourt	note over fconf : get tb_fw_config_dtb from image_info
67e555787bSManish V Badarkhe	fconf -> arm_bl1_setup
68e555787bSManish V Badarkhe	arm_bl1_setup -> plat_bl1_common : bl1_plat_get_image_desc(BL2_IMAGE_ID)
69e555787bSManish V Badarkhe	arm_bl1_setup <- plat_bl1_common : BL2_IMAGE_DESC
70e555787bSManish V Badarkhe	note over arm_bl1_setup
71326150b9SLouis Mayencourt	set ep_info.args.arg0 of BL2_IMAGE_DESC
7275077e26SLouis Mayencourt	to FW_CONFIG base address
73326150b9SLouis Mayencourt	end note
74326150b9SLouis Mayencourtdeactivate fconf
75326150b9SLouis Mayencourt
76326150b9SLouis Mayencourt== load & auth, prepare and jump to BL2 ==
77326150b9SLouis Mayencourt
78326150b9SLouis Mayencourt@enduml
79