1@startuml 2 3participant bl_common 4participant arm_io_storage 5participant io_storage 6 7== Platform Setup == 8 9bl1_main -> xxx_bl1_setup : bl1_platform_setup() 10xxx_bl1_setup -> arm_io_storage : plat_arm_io_setup() 11 12arm_io_storage -> arm_io_storage : arm_io_setup() 13ref over arm_io_storage, io_storage : io device registration 14 15== Get Image == 16bl1_main -> xxx_bl1_setup : bl1_plat_get_next_image_id() 17bl1_main <-- xxx_bl1_setup : BL2_IMAGE_ID 18 19bl1_main -> bl1_main : bl1_load_bl2() 20activate bl1_main 21bl1_main -> plat_bl1_common : bl1_plat_get_image_desc(BL2_IMAGE_ID) 22bl1_main <-- plat_bl1_common : BL2_IMAGE_DESC 23 24bl1_main -> plat_bl1_common : bl1_plat_handle_pre_image_load(BL2_IMAGE_ID) 25 26bl1_main -> bl_common : load_auth_image(BL2_IMAGE_ID, image_info) 27activate bl_common 28bl_common -> bl_common : load_auth_image_internal(BL2_IMAGE_ID, image_info, is_parent_image) 29activate bl_common 30bl_common -> bl_common : load_image(BL2_IMAGE_ID, image_info) 31activate bl_common 32bl_common -> arm_io_storage : plat_get_image_source(BL2_IMAGE_ID, &dev_handle, &image_spec) 33ref over arm_io_storage, io_storage : init and check device (BL2_IMAGE_ID) 34bl_common <-- arm_io_storage : dev_handle 35 36bl_common -> io_storage : io_open(dev_handle, image_spec, &image_handle) 37ref over io_storage : io_open() on fip device 38bl_common <-- io_storage : image_handle 39bl_common -> io_storage : io_size(image_handle, &image_size) 40ref over io_storage : io_size() on fip device 41bl_common -> io_storage : io_read(image_handle, image_base, image_size, &bytes_read) 42ref over io_storage : io_read() on fip device 43bl_common -> io_storage : io_close(image_handle) 44ref over io_storage : io_close() on fip device 45bl_common -> io_storage : io_dev_close(dev_handle) 46ref over io_storage : io_dev_close() on fip device 47 48deactivate bl_common 49deactivate bl_common 50deactivate bl_common 51 52== Prepare Next Image == 53bl1_main -> plat_bl1_common : bl1_plat_handle_post_image_load(BL2_IMAGE_ID) 54 55deactivate bl1_main 56 57== Jump to next Image == 58 59@enduml 60