1326150b9SLouis Mayencourt@startuml 2326150b9SLouis Mayencourt 3326150b9SLouis Mayencourtbox "BL1 common code" 4326150b9SLouis Mayencourt participant bl1_main 5326150b9SLouis Mayencourt participant bl_common 6326150b9SLouis Mayencourtend box 7326150b9SLouis Mayencourt 8326150b9SLouis Mayencourtbox "arm platform code" #LightBlue 9326150b9SLouis Mayencourt participant fvp_bl1_setup 10326150b9SLouis Mayencourt participant arm_bl1_setup 11326150b9SLouis Mayencourt participant arm_io_storage 12326150b9SLouis Mayencourtend box 13326150b9SLouis Mayencourt 14326150b9SLouis Mayencourtbox "platform common code" 15326150b9SLouis Mayencourt participant plat_bl1_common 16e555787bSManish V Badarkhe participant fconf_dyn_cfg_getter 17326150b9SLouis Mayencourt participant fconf 18326150b9SLouis Mayencourtend box 19326150b9SLouis Mayencourt 20326150b9SLouis Mayencourtbl1_main -> fvp_bl1_setup : bl1_platform_setup() 21326150b9SLouis Mayencourtfvp_bl1_setup -> arm_bl1_setup : arm_bl1_platform_setup() 22326150b9SLouis Mayencourtarm_bl1_setup -> arm_io_storage : plat_arm_io_setup() 23326150b9SLouis Mayencourtnote over arm_io_storage : register and setup fip 24*8dadc1e2SSandrine Bailleuxarm_bl1_setup -> fconf : set_config_info(fw_config_base, max_size, FW_CONFIG_ID) 25326150b9SLouis Mayencourtnote over fconf 26e555787bSManish V Badarkhe set fw_config information 27e555787bSManish V Badarkhe (address, size, image_id) 28e555787bSManish V Badarkhe in global dtb_infos array. 29326150b9SLouis Mayencourtend note 30e555787bSManish V Badarkheactivate fconf 31e555787bSManish V Badarkhe arm_bl1_setup -> fconf : fconf_load_config(FW_CONFIG_ID) 32e555787bSManish V Badarkhe fconf -> fconf : FCONF_GET_PROPERTY(dyn_cfg, dtb, FW_CONFIG_ID) 33e555787bSManish V Badarkhe fconf -> fconf_dyn_cfg_getter: dyn_cfg_dtb_info_getter(FW_CONFIG_ID) 34e555787bSManish V Badarkhe fconf_dyn_cfg_getter -> fconf: fw_config_info 3575077e26SLouis Mayencourt fconf -> bl_common : load_auth_image(FW_CONFIG_ID, &image_info) 36326150b9SLouis Mayencourt activate bl_common 37326150b9SLouis Mayencourt note over bl_common 38326150b9SLouis Mayencourt load and auth image from fip 39326150b9SLouis Mayencourt with info from plat_io_policy 40326150b9SLouis Mayencourt end note 41326150b9SLouis Mayencourt bl_common -> arm_io_storage 42e555787bSManish V Badarkhe arm_io_storage -> fconf: FCONF_GET_PROPERTY(arm, arm_io_policies, FW_CONFIG_ID) 43e555787bSManish V Badarkhe note over fconf: use statically defined policies in bl1 44e555787bSManish V Badarkhe fconf <- bl_common : image_info 45e555787bSManish V Badarkhe deactivate bl_common 46e555787bSManish V Badarkhe note over fconf : get fw_config_dtb from image_info 47e555787bSManish V Badarkhe arm_bl1_setup -> fconf: FCONF_GET_PROPERTY(dyn_cfg, dtb, FW_CONFIG_ID) 48e555787bSManish V Badarkhe fconf -> fconf_dyn_cfg_getter: dyn_cfg_dtb_info_getter(FW_CONFIG_ID) 49e555787bSManish V Badarkhe fconf_dyn_cfg_getter -> arm_bl1_setup: fw_config_info 50e555787bSManish V Badarkhe arm_bl1_setup -> fconf_dyn_cfg_getter: populate_dtb_registry(uintptr_t dtb) 51e555787bSManish V Badarkhe arm_bl1_setup -> fconf: fconf_load_config(TB_FW_CONFIG_ID) 52e555787bSManish V Badarkhe fconf -> fconf : FCONF_GET_PROPERTY(dyn_cfg, dtb, TB_FW_CONFIG_ID) 53e555787bSManish V Badarkhe fconf -> fconf_dyn_cfg_getter: dyn_cfg_dtb_info_getter(TB_FW_CONFIG_ID) 54e555787bSManish V Badarkhe fconf_dyn_cfg_getter -> fconf: tb_fw_config_info 55e555787bSManish V Badarkhe fconf -> bl_common : load_auth_image(TB_FW_CONFIG_ID, &image_info) 56e555787bSManish V Badarkhe activate bl_common 57e555787bSManish V Badarkhe note over bl_common 58e555787bSManish V Badarkhe load and auth image from fip 59e555787bSManish V Badarkhe with info from plat_io_policy 60e555787bSManish V Badarkhe end note 61e555787bSManish V Badarkhe bl_common -> arm_io_storage 62e555787bSManish V Badarkhe arm_io_storage -> fconf: FCONF_GET_PROPERTY(arm, arm_io_policies, TB_FW_CONFIG_ID) 63e555787bSManish V Badarkhe note over fconf: use statically defined policies in bl1 64326150b9SLouis Mayencourt fconf <- bl_common : image_info 65326150b9SLouis Mayencourt deactivate bl_common 66326150b9SLouis Mayencourt note over fconf : get tb_fw_config_dtb from image_info 67e555787bSManish V Badarkhe fconf -> arm_bl1_setup 68e555787bSManish V Badarkhe arm_bl1_setup -> plat_bl1_common : bl1_plat_get_image_desc(BL2_IMAGE_ID) 69e555787bSManish V Badarkhe arm_bl1_setup <- plat_bl1_common : BL2_IMAGE_DESC 70e555787bSManish V Badarkhe note over arm_bl1_setup 71326150b9SLouis Mayencourt set ep_info.args.arg0 of BL2_IMAGE_DESC 7275077e26SLouis Mayencourt to FW_CONFIG base address 73326150b9SLouis Mayencourt end note 74326150b9SLouis Mayencourtdeactivate fconf 75326150b9SLouis Mayencourt 76326150b9SLouis Mayencourt== load & auth, prepare and jump to BL2 == 77326150b9SLouis Mayencourt 78326150b9SLouis Mayencourt@enduml 79