xref: /rk3399_ARM-atf/docs/resources/diagrams/plantuml/fconf_bl2_populate.puml (revision 3443a7027d78a9ccebc6940f0a69300ec7c1ed44)
1@startuml
2
3box "BL2 common code"
4	participant bl2_entrypoint
5	participant bl2_main
6end box
7
8box "platform common code"
9	participant fconf
10	participant fconf_tbbr_getter
11end box
12
13box "arm platform code" #LightBlue
14	participant arm_bl2_setup
15	participant arm_io_storage
16	participant arm_fconf_io
17end box
18
19== bl2 setup ==
20bl2_entrypoint -> bl2_main : bl2_setup()
21bl2_main -> arm_bl2_setup : bl2_early_platform_setup2(\n\t arg0, arg1, arg2, arg3)
22note over arm_bl2_setup
23	arg0 = fw_config
24	arg1 = mem_layout
25end note
26arm_bl2_setup -> arm_bl2_setup : arm_bl2_early_platform_setup(\n\t fw_config, mem_layout)
27activate arm_bl2_setup
28	arm_bl2_setup -> fconf: fconf_polulate("TB_FW", fw_config)
29	activate fconf
30		fconf -> fconf_tbbr_getter: fconf_populate_tbbr_dyn_config(uintptr_t dtb)
31		note over fconf_tbbr_getter: read tbbr propeties from dtb
32		fconf -> arm_fconf_io: fconf_populate_arm_io_policies(uintptr_t dtb)
33		note over arm_fconf_io: read arm io propeties from dtb
34	deactivate fconf
35	arm_bl2_setup -> arm_io_storage : plat_arm_io_setup()
36	note over arm_io_storage: use populated properties
37deactivate arm_bl2_setup
38
39== bl2 main ==
40
41@enduml
42