blob: 98a3ff19b3ab4f2760b89780f565400b0ec42c3c [file] [log] [blame]
Louis Mayencourt8ac387c2019-11-08 15:09:15 +00001@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 = tb_fw_config
24 arg1 = mem_layout
25end note
26arm_bl2_setup -> arm_bl2_setup : arm_bl2_early_platform_setup(\n\t tb_fw_config, mem_layout)
27activate arm_bl2_setup
28 arm_bl2_setup -> fconf: fconf_polulate(tb_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