Louis Mayencourt | 8ac387c | 2019-11-08 15:09:15 +0000 | [diff] [blame] | 1 | @startuml |
| 2 | |
| 3 | box "BL2 common code" |
| 4 | participant bl2_entrypoint |
| 5 | participant bl2_main |
| 6 | end box |
| 7 | |
| 8 | box "platform common code" |
| 9 | participant fconf |
| 10 | participant fconf_tbbr_getter |
Manish V Badarkhe | 824cb5c | 2020-06-21 05:41:11 +0100 | [diff] [blame] | 11 | participant fconf_dyn_cfg_getter |
Louis Mayencourt | 8ac387c | 2019-11-08 15:09:15 +0000 | [diff] [blame] | 12 | end box |
| 13 | |
| 14 | box "arm platform code" #LightBlue |
| 15 | participant arm_bl2_setup |
| 16 | participant arm_io_storage |
| 17 | participant arm_fconf_io |
| 18 | end box |
| 19 | |
| 20 | == bl2 setup == |
| 21 | bl2_entrypoint -> bl2_main : bl2_setup() |
| 22 | bl2_main -> arm_bl2_setup : bl2_early_platform_setup2(\n\t arg0, arg1, arg2, arg3) |
| 23 | note over arm_bl2_setup |
Louis Mayencourt | 13a97a2 | 2020-03-27 11:02:05 +0000 | [diff] [blame] | 24 | arg0 = fw_config |
Louis Mayencourt | 8ac387c | 2019-11-08 15:09:15 +0000 | [diff] [blame] | 25 | arg1 = mem_layout |
| 26 | end note |
Louis Mayencourt | 13a97a2 | 2020-03-27 11:02:05 +0000 | [diff] [blame] | 27 | arm_bl2_setup -> arm_bl2_setup : arm_bl2_early_platform_setup(\n\t fw_config, mem_layout) |
Louis Mayencourt | 8ac387c | 2019-11-08 15:09:15 +0000 | [diff] [blame] | 28 | activate arm_bl2_setup |
Manish V Badarkhe | 824cb5c | 2020-06-21 05:41:11 +0100 | [diff] [blame] | 29 | arm_bl2_setup -> fconf: fconf_populate("FW_CONFIG", fw_config) |
Louis Mayencourt | 8ac387c | 2019-11-08 15:09:15 +0000 | [diff] [blame] | 30 | activate fconf |
Manish V Badarkhe | 824cb5c | 2020-06-21 05:41:11 +0100 | [diff] [blame] | 31 | fconf -> fconf_dyn_cfg_getter: populate_dtb_registry(uintptr_t dtb) |
| 32 | note over fconf_dyn_cfg_getter: read dtb_registry properties from dtb |
| 33 | fconf_dyn_cfg_getter -> arm_bl2_setup |
| 34 | arm_bl2_setup -> fconf: FCONF_GET_PROPERTY(dyn_cfg, dtb, TB_FW_CONFIG_ID) |
| 35 | fconf -> fconf_dyn_cfg_getter: dyn_cfg_dtb_info_getter(TB_FW_CONFIG_ID) |
| 36 | fconf_dyn_cfg_getter -> arm_bl2_setup: tb_fw_config_info |
| 37 | arm_bl2_setup -> fconf: fconf_populate("TB_FW_CONFIG", tb_fw_config) |
Louis Mayencourt | 8ac387c | 2019-11-08 15:09:15 +0000 | [diff] [blame] | 38 | fconf -> fconf_tbbr_getter: fconf_populate_tbbr_dyn_config(uintptr_t dtb) |
Manish V Badarkhe | 824cb5c | 2020-06-21 05:41:11 +0100 | [diff] [blame] | 39 | note over fconf_tbbr_getter: read tbbr properties from dtb |
Louis Mayencourt | 8ac387c | 2019-11-08 15:09:15 +0000 | [diff] [blame] | 40 | fconf -> arm_fconf_io: fconf_populate_arm_io_policies(uintptr_t dtb) |
| 41 | note over arm_fconf_io: read arm io propeties from dtb |
| 42 | deactivate fconf |
| 43 | arm_bl2_setup -> arm_io_storage : plat_arm_io_setup() |
| 44 | note over arm_io_storage: use populated properties |
| 45 | deactivate arm_bl2_setup |
| 46 | |
| 47 | == bl2 main == |
| 48 | |
| 49 | @enduml |