1*326150b9SLouis Mayencourt@startuml 2*326150b9SLouis Mayencourt 3*326150b9SLouis Mayencourtbox "BL2 common code" 4*326150b9SLouis Mayencourt participant bl2_entrypoint 5*326150b9SLouis Mayencourt participant bl2_main 6*326150b9SLouis Mayencourtend box 7*326150b9SLouis Mayencourt 8*326150b9SLouis Mayencourtbox "platform common code" 9*326150b9SLouis Mayencourt participant fconf 10*326150b9SLouis Mayencourt participant fconf_tbbr_getter 11*326150b9SLouis Mayencourtend box 12*326150b9SLouis Mayencourt 13*326150b9SLouis Mayencourtbox "arm platform code" #LightBlue 14*326150b9SLouis Mayencourt participant arm_bl2_setup 15*326150b9SLouis Mayencourt participant arm_io_storage 16*326150b9SLouis Mayencourt participant arm_fconf_io 17*326150b9SLouis Mayencourtend box 18*326150b9SLouis Mayencourt 19*326150b9SLouis Mayencourt== bl2 setup == 20*326150b9SLouis Mayencourtbl2_entrypoint -> bl2_main : bl2_setup() 21*326150b9SLouis Mayencourtbl2_main -> arm_bl2_setup : bl2_early_platform_setup2(\n\t arg0, arg1, arg2, arg3) 22*326150b9SLouis Mayencourtnote over arm_bl2_setup 23*326150b9SLouis Mayencourt arg0 = tb_fw_config 24*326150b9SLouis Mayencourt arg1 = mem_layout 25*326150b9SLouis Mayencourtend note 26*326150b9SLouis Mayencourtarm_bl2_setup -> arm_bl2_setup : arm_bl2_early_platform_setup(\n\t tb_fw_config, mem_layout) 27*326150b9SLouis Mayencourtactivate arm_bl2_setup 28*326150b9SLouis Mayencourt arm_bl2_setup -> fconf: fconf_polulate(tb_fw_config) 29*326150b9SLouis Mayencourt activate fconf 30*326150b9SLouis Mayencourt fconf -> fconf_tbbr_getter: fconf_populate_tbbr_dyn_config(uintptr_t dtb) 31*326150b9SLouis Mayencourt note over fconf_tbbr_getter: read tbbr propeties from dtb 32*326150b9SLouis Mayencourt fconf -> arm_fconf_io: fconf_populate_arm_io_policies(uintptr_t dtb) 33*326150b9SLouis Mayencourt note over arm_fconf_io: read arm io propeties from dtb 34*326150b9SLouis Mayencourt deactivate fconf 35*326150b9SLouis Mayencourt arm_bl2_setup -> arm_io_storage : plat_arm_io_setup() 36*326150b9SLouis Mayencourt note over arm_io_storage: use populated properties 37*326150b9SLouis Mayencourtdeactivate arm_bl2_setup 38*326150b9SLouis Mayencourt 39*326150b9SLouis Mayencourt== bl2 main == 40*326150b9SLouis Mayencourt 41*326150b9SLouis Mayencourt@enduml 42