@startuml

participant arm_io_storage
participant io_storage

 -> arm_io_storage : plat_get_image_source(image_id, &dev_handle, &image_spec)

group init and check device (image_id)

alt image_id = BL2_IMAGE_ID
note over arm_io_storage
	get BL2_IMAGE_ID policy:
	- fip_dev_handle
	- open_fip()
end note
opt policy->check()
	arm_io_storage -> arm_io_storage : open_fip(spec)
	activate arm_io_storage
	arm_io_storage -> io_storage : io_dev_init(fip_dev_handle, FIP_IMAGE_ID)
	ref over io_storage : dev_init() on fip device

	arm_io_storage -> io_storage : io_open(fip_dev_handle, spec, &local_image_handle)
	ref over io_storage : io_open() on fip device

	arm_io_storage -> io_storage : io_close(local_image_handle)
	ref over io_storage : io_close() on fip device

	hnote over arm_io_storage
		fip_dev_handle ready
	end note
end opt
deactivate arm_io_storage

else image_id = FIP_IMAGE_ID
activate arm_io_storage
note over arm_io_storage
	get FIP_IMAGE_ID policy:
	- memmap_dev_handle
	- open_memmap()
end note
opt policy->check()
	arm_io_storage -> arm_io_storage : open_memmap(spec)
	activate arm_io_storage
	arm_io_storage -> io_storage : io_dev_init(memmap_dev_handle, NULL)
	ref over io_storage : dev_init() on memmap device

	arm_io_storage -> io_storage : io_open(memmap_dev_handle, spec, &local_image_handle)
	ref over io_storage : io_open() on memmap device

	arm_io_storage -> io_storage : io_close(local_image_handle)
	ref over io_storage : io_close() on memmap device

	hnote over arm_io_storage
		memmap_dev_handle ready
	end note
	deactivate arm_io_storage
end  opt
deactivate arm_io_storage
end alt

end group
@enduml
