@startuml

box "BL1 common code"
	participant bl1_main
	participant bl_common
end box

box "arm platform code" #LightBlue
	participant fvp_bl1_setup
	participant arm_bl1_setup
	participant arm_io_storage
end box

box "platform common code"
	participant plat_bl1_common
	participant fconf_dyn_cfg_getter
	participant fconf
end box

bl1_main -> fvp_bl1_setup : bl1_platform_setup()
fvp_bl1_setup -> arm_bl1_setup : arm_bl1_platform_setup()
arm_bl1_setup -> arm_io_storage : plat_arm_io_setup()
note over arm_io_storage : register and setup fip
arm_bl1_setup -> fconf : set_config_info(fw_config_base, max_size, FW_CONFIG_ID)
note over fconf
	set fw_config information
	(address, size, image_id)
	in global dtb_infos array.
end note
activate fconf
	arm_bl1_setup -> fconf : fconf_load_config(FW_CONFIG_ID)
	fconf -> fconf : FCONF_GET_PROPERTY(dyn_cfg, dtb, FW_CONFIG_ID)
	fconf -> fconf_dyn_cfg_getter: dyn_cfg_dtb_info_getter(FW_CONFIG_ID)
	fconf_dyn_cfg_getter -> fconf: fw_config_info
	fconf -> bl_common : load_auth_image(FW_CONFIG_ID, &image_info)
	activate bl_common
	note over bl_common
		load and auth image from fip
		with info from plat_io_policy
	end note
	bl_common -> arm_io_storage
	arm_io_storage -> fconf: FCONF_GET_PROPERTY(arm, arm_io_policies, FW_CONFIG_ID)
	note over fconf: use statically defined policies in bl1
	fconf <- bl_common : image_info
	deactivate bl_common
	note over fconf : get fw_config_dtb from image_info
	arm_bl1_setup -> fconf: FCONF_GET_PROPERTY(dyn_cfg, dtb, FW_CONFIG_ID)
	fconf -> fconf_dyn_cfg_getter: dyn_cfg_dtb_info_getter(FW_CONFIG_ID)
	fconf_dyn_cfg_getter -> arm_bl1_setup: fw_config_info
	arm_bl1_setup -> fconf_dyn_cfg_getter: populate_dtb_registry(uintptr_t dtb)
	arm_bl1_setup -> fconf: fconf_load_config(TB_FW_CONFIG_ID)
	fconf -> fconf : FCONF_GET_PROPERTY(dyn_cfg, dtb, TB_FW_CONFIG_ID)
	fconf -> fconf_dyn_cfg_getter: dyn_cfg_dtb_info_getter(TB_FW_CONFIG_ID)
	fconf_dyn_cfg_getter -> fconf: tb_fw_config_info
	fconf -> bl_common : load_auth_image(TB_FW_CONFIG_ID, &image_info)
	activate bl_common
	note over bl_common
		load and auth image from fip
		with info from plat_io_policy
	end note
	bl_common -> arm_io_storage
	arm_io_storage -> fconf: FCONF_GET_PROPERTY(arm, arm_io_policies, TB_FW_CONFIG_ID)
	note over fconf: use statically defined policies in bl1
	fconf <- bl_common : image_info
	deactivate bl_common
	note over fconf : get tb_fw_config_dtb from image_info
	fconf -> arm_bl1_setup
	arm_bl1_setup -> plat_bl1_common : bl1_plat_get_image_desc(BL2_IMAGE_ID)
	arm_bl1_setup <- plat_bl1_common : BL2_IMAGE_DESC
	note over arm_bl1_setup
	set ep_info.args.arg0 of BL2_IMAGE_DESC
	to FW_CONFIG base address
	end note
deactivate fconf

== load & auth, prepare and jump to BL2 ==

@enduml
