xref: /rk3399_ARM-atf/docs/resources/diagrams/plantuml/fconf_bl2_populate.puml (revision b8247e1189c0fe87e802773925fb3514afbd3bf2)
1326150b9SLouis Mayencourt@startuml
2326150b9SLouis Mayencourt
3326150b9SLouis Mayencourtbox "BL2 common code"
4326150b9SLouis Mayencourt	participant bl2_entrypoint
5326150b9SLouis Mayencourt	participant bl2_main
6326150b9SLouis Mayencourtend box
7326150b9SLouis Mayencourt
8326150b9SLouis Mayencourtbox "platform common code"
9326150b9SLouis Mayencourt	participant fconf
10326150b9SLouis Mayencourt	participant fconf_tbbr_getter
11*e555787bSManish V Badarkheparticipant fconf_dyn_cfg_getter
12326150b9SLouis Mayencourtend box
13326150b9SLouis Mayencourt
14326150b9SLouis Mayencourtbox "arm platform code" #LightBlue
15326150b9SLouis Mayencourt	participant arm_bl2_setup
16326150b9SLouis Mayencourt	participant arm_io_storage
17326150b9SLouis Mayencourt	participant arm_fconf_io
18326150b9SLouis Mayencourtend box
19326150b9SLouis Mayencourt
20326150b9SLouis Mayencourt== bl2 setup ==
21326150b9SLouis Mayencourtbl2_entrypoint -> bl2_main : bl2_setup()
22326150b9SLouis Mayencourtbl2_main -> arm_bl2_setup : bl2_early_platform_setup2(\n\t arg0, arg1, arg2, arg3)
23326150b9SLouis Mayencourtnote over arm_bl2_setup
2475077e26SLouis Mayencourt	arg0 = fw_config
25326150b9SLouis Mayencourt	arg1 = mem_layout
26326150b9SLouis Mayencourtend note
2775077e26SLouis Mayencourtarm_bl2_setup -> arm_bl2_setup : arm_bl2_early_platform_setup(\n\t fw_config, mem_layout)
28326150b9SLouis Mayencourtactivate arm_bl2_setup
29*e555787bSManish V Badarkhe	arm_bl2_setup -> fconf: fconf_populate("FW_CONFIG", fw_config)
30326150b9SLouis Mayencourt	activate fconf
31*e555787bSManish V Badarkhe		fconf -> fconf_dyn_cfg_getter: populate_dtb_registry(uintptr_t dtb)
32*e555787bSManish V Badarkhe		note over fconf_dyn_cfg_getter: read dtb_registry properties from dtb
33*e555787bSManish V Badarkhe		fconf_dyn_cfg_getter -> arm_bl2_setup
34*e555787bSManish V Badarkhe		arm_bl2_setup -> fconf: FCONF_GET_PROPERTY(dyn_cfg, dtb, TB_FW_CONFIG_ID)
35*e555787bSManish V Badarkhe		fconf -> fconf_dyn_cfg_getter: dyn_cfg_dtb_info_getter(TB_FW_CONFIG_ID)
36*e555787bSManish V Badarkhe		fconf_dyn_cfg_getter -> arm_bl2_setup: tb_fw_config_info
37*e555787bSManish V Badarkhe		arm_bl2_setup -> fconf: fconf_populate("TB_FW_CONFIG", tb_fw_config)
38326150b9SLouis Mayencourt		fconf -> fconf_tbbr_getter: fconf_populate_tbbr_dyn_config(uintptr_t dtb)
39*e555787bSManish V Badarkhe		note over fconf_tbbr_getter: read tbbr properties from dtb
40326150b9SLouis Mayencourt		fconf -> arm_fconf_io: fconf_populate_arm_io_policies(uintptr_t dtb)
41326150b9SLouis Mayencourt		note over arm_fconf_io: read arm io propeties from dtb
42326150b9SLouis Mayencourt	deactivate fconf
43326150b9SLouis Mayencourt	arm_bl2_setup -> arm_io_storage : plat_arm_io_setup()
44326150b9SLouis Mayencourt	note over arm_io_storage: use populated properties
45326150b9SLouis Mayencourtdeactivate arm_bl2_setup
46326150b9SLouis Mayencourt
47326150b9SLouis Mayencourt== bl2 main ==
48326150b9SLouis Mayencourt
49326150b9SLouis Mayencourt@enduml
50