xref: /rk3399_ARM-atf/docs/resources/diagrams/plantuml/fconf_bl2_populate.puml (revision 326150b9862c7ee359dd5c189c8c6e10622551d6)
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