Louis Mayencourt | 8ac387c | 2019-11-08 15:09:15 +0000 | [diff] [blame] | 1 | @startuml |
| 2 | |
| 3 | box "BL1 common code" |
| 4 | participant bl1_main |
| 5 | participant bl_common |
| 6 | end box |
| 7 | |
| 8 | box "arm platform code" #LightBlue |
| 9 | participant fvp_bl1_setup |
| 10 | participant arm_bl1_setup |
| 11 | participant arm_io_storage |
| 12 | end box |
| 13 | |
| 14 | box "platform common code" |
| 15 | participant plat_bl1_common |
Manish V Badarkhe | 824cb5c | 2020-06-21 05:41:11 +0100 | [diff] [blame] | 16 | participant fconf_dyn_cfg_getter |
Louis Mayencourt | 8ac387c | 2019-11-08 15:09:15 +0000 | [diff] [blame] | 17 | participant fconf |
| 18 | end box |
| 19 | |
| 20 | bl1_main -> fvp_bl1_setup : bl1_platform_setup() |
| 21 | fvp_bl1_setup -> arm_bl1_setup : arm_bl1_platform_setup() |
| 22 | arm_bl1_setup -> arm_io_storage : plat_arm_io_setup() |
| 23 | note over arm_io_storage : register and setup fip |
Sandrine Bailleux | ccfda13 | 2023-06-06 14:25:00 +0200 | [diff] [blame^] | 24 | arm_bl1_setup -> fconf : set_config_info(fw_config_base, max_size, FW_CONFIG_ID) |
Manish V Badarkhe | 824cb5c | 2020-06-21 05:41:11 +0100 | [diff] [blame] | 25 | note over fconf |
| 26 | set fw_config information |
| 27 | (address, size, image_id) |
| 28 | in global dtb_infos array. |
| 29 | end note |
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 | arm_bl1_setup -> fconf : fconf_load_config(FW_CONFIG_ID) |
| 32 | fconf -> fconf : FCONF_GET_PROPERTY(dyn_cfg, dtb, FW_CONFIG_ID) |
| 33 | fconf -> fconf_dyn_cfg_getter: dyn_cfg_dtb_info_getter(FW_CONFIG_ID) |
| 34 | fconf_dyn_cfg_getter -> fconf: fw_config_info |
Louis Mayencourt | 13a97a2 | 2020-03-27 11:02:05 +0000 | [diff] [blame] | 35 | fconf -> bl_common : load_auth_image(FW_CONFIG_ID, &image_info) |
Louis Mayencourt | 8ac387c | 2019-11-08 15:09:15 +0000 | [diff] [blame] | 36 | activate bl_common |
| 37 | note over bl_common |
| 38 | load and auth image from fip |
| 39 | with info from plat_io_policy |
| 40 | end note |
| 41 | bl_common -> arm_io_storage |
Manish V Badarkhe | 824cb5c | 2020-06-21 05:41:11 +0100 | [diff] [blame] | 42 | arm_io_storage -> fconf: FCONF_GET_PROPERTY(arm, arm_io_policies, FW_CONFIG_ID) |
| 43 | note over fconf: use statically defined policies in bl1 |
| 44 | fconf <- bl_common : image_info |
| 45 | deactivate bl_common |
| 46 | note over fconf : get fw_config_dtb from image_info |
| 47 | arm_bl1_setup -> fconf: FCONF_GET_PROPERTY(dyn_cfg, dtb, FW_CONFIG_ID) |
| 48 | fconf -> fconf_dyn_cfg_getter: dyn_cfg_dtb_info_getter(FW_CONFIG_ID) |
| 49 | fconf_dyn_cfg_getter -> arm_bl1_setup: fw_config_info |
| 50 | arm_bl1_setup -> fconf_dyn_cfg_getter: populate_dtb_registry(uintptr_t dtb) |
| 51 | arm_bl1_setup -> fconf: fconf_load_config(TB_FW_CONFIG_ID) |
| 52 | fconf -> fconf : FCONF_GET_PROPERTY(dyn_cfg, dtb, TB_FW_CONFIG_ID) |
| 53 | fconf -> fconf_dyn_cfg_getter: dyn_cfg_dtb_info_getter(TB_FW_CONFIG_ID) |
| 54 | fconf_dyn_cfg_getter -> fconf: tb_fw_config_info |
| 55 | fconf -> bl_common : load_auth_image(TB_FW_CONFIG_ID, &image_info) |
| 56 | activate bl_common |
| 57 | note over bl_common |
| 58 | load and auth image from fip |
| 59 | with info from plat_io_policy |
| 60 | end note |
| 61 | bl_common -> arm_io_storage |
| 62 | arm_io_storage -> fconf: FCONF_GET_PROPERTY(arm, arm_io_policies, TB_FW_CONFIG_ID) |
| 63 | note over fconf: use statically defined policies in bl1 |
Louis Mayencourt | 8ac387c | 2019-11-08 15:09:15 +0000 | [diff] [blame] | 64 | fconf <- bl_common : image_info |
| 65 | deactivate bl_common |
| 66 | note over fconf : get tb_fw_config_dtb from image_info |
Manish V Badarkhe | 824cb5c | 2020-06-21 05:41:11 +0100 | [diff] [blame] | 67 | fconf -> arm_bl1_setup |
| 68 | arm_bl1_setup -> plat_bl1_common : bl1_plat_get_image_desc(BL2_IMAGE_ID) |
| 69 | arm_bl1_setup <- plat_bl1_common : BL2_IMAGE_DESC |
| 70 | note over arm_bl1_setup |
| 71 | set ep_info.args.arg0 of BL2_IMAGE_DESC |
| 72 | to FW_CONFIG base address |
Louis Mayencourt | 8ac387c | 2019-11-08 15:09:15 +0000 | [diff] [blame] | 73 | end note |
Louis Mayencourt | 8ac387c | 2019-11-08 15:09:15 +0000 | [diff] [blame] | 74 | deactivate fconf |
| 75 | |
| 76 | == load & auth, prepare and jump to BL2 == |
| 77 | |
| 78 | @enduml |