blob: 881f25343a86738339f2ae570a0b69ed5653b45e [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
Louis Mayencourt13a97a22020-03-27 11:02:05 +000023 arg0 = fw_config
Louis Mayencourt8ac387c2019-11-08 15:09:15 +000024 arg1 = mem_layout
25end note
Louis Mayencourt13a97a22020-03-27 11:02:05 +000026arm_bl2_setup -> arm_bl2_setup : arm_bl2_early_platform_setup(\n\t fw_config, mem_layout)
Louis Mayencourt8ac387c2019-11-08 15:09:15 +000027activate arm_bl2_setup
Louis Mayencourt13a97a22020-03-27 11:02:05 +000028 arm_bl2_setup -> fconf: fconf_polulate("TB_FW", fw_config)
Louis Mayencourt8ac387c2019-11-08 15:09:15 +000029 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