From 326150b9862c7ee359dd5c189c8c6e10622551d6 Mon Sep 17 00:00:00 2001 From: Louis Mayencourt Date: Fri, 8 Nov 2019 15:09:15 +0000 Subject: fconf: Add documentation Change-Id: I606f9491fb6deebc6845c5b9d7db88fc5c895bd9 Signed-off-by: Louis Mayencourt --- .../diagrams/plantuml/fconf_bl1_load_config.puml | 52 ++++++++++++++++++++++ .../diagrams/plantuml/fconf_bl2_populate.puml | 41 +++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml create mode 100644 docs/resources/diagrams/plantuml/fconf_bl2_populate.puml (limited to 'docs/resources/diagrams') diff --git a/docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml b/docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml new file mode 100644 index 000000000..c36e54423 --- /dev/null +++ b/docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml @@ -0,0 +1,52 @@ +@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 +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 : fconf_load_config() +activate fconf + note over fconf + create and populate an + image_desc_t for TB_FW_CONFIG + end note + 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_cfg) + note over fconf: use staticaly defined policies in bl1 + fconf <- bl_common : image_info + deactivate bl_common + note over fconf : get tb_fw_config_dtb from image_info + fconf -> plat_bl1_common : bl1_plat_get_image_desc(BL2_IMAGE_ID) + fconf <- plat_bl1_common : BL2_IMAGE_DESC + note over fconf + set ep_info.args.arg0 of BL2_IMAGE_DESC + to TB_FW_CONFIG base address + end note +arm_bl1_setup <- fconf +deactivate fconf + +== load & auth, prepare and jump to BL2 == + +@enduml diff --git a/docs/resources/diagrams/plantuml/fconf_bl2_populate.puml b/docs/resources/diagrams/plantuml/fconf_bl2_populate.puml new file mode 100644 index 000000000..98a3ff19b --- /dev/null +++ b/docs/resources/diagrams/plantuml/fconf_bl2_populate.puml @@ -0,0 +1,41 @@ +@startuml + +box "BL2 common code" + participant bl2_entrypoint + participant bl2_main +end box + +box "platform common code" + participant fconf + participant fconf_tbbr_getter +end box + +box "arm platform code" #LightBlue + participant arm_bl2_setup + participant arm_io_storage + participant arm_fconf_io +end box + +== bl2 setup == +bl2_entrypoint -> bl2_main : bl2_setup() +bl2_main -> arm_bl2_setup : bl2_early_platform_setup2(\n\t arg0, arg1, arg2, arg3) +note over arm_bl2_setup + arg0 = tb_fw_config + arg1 = mem_layout +end note +arm_bl2_setup -> arm_bl2_setup : arm_bl2_early_platform_setup(\n\t tb_fw_config, mem_layout) +activate arm_bl2_setup + arm_bl2_setup -> fconf: fconf_polulate(tb_fw_config) + activate fconf + fconf -> fconf_tbbr_getter: fconf_populate_tbbr_dyn_config(uintptr_t dtb) + note over fconf_tbbr_getter: read tbbr propeties from dtb + fconf -> arm_fconf_io: fconf_populate_arm_io_policies(uintptr_t dtb) + note over arm_fconf_io: read arm io propeties from dtb + deactivate fconf + arm_bl2_setup -> arm_io_storage : plat_arm_io_setup() + note over arm_io_storage: use populated properties +deactivate arm_bl2_setup + +== bl2 main == + +@enduml -- cgit v1.2.3 From 74601490c551fdf4113b6579b035eb95bb65e5ad Mon Sep 17 00:00:00 2001 From: Balint Dobszay Date: Wed, 13 Nov 2019 12:48:00 +0100 Subject: CMake buildsystem design document Change-Id: I9b69f2731b0d43ead4cacfa9844c6137c57f5aec Signed-off-by: Balint Dobszay --- docs/resources/diagrams/cmake_framework_structure.png | Bin 0 -> 73277 bytes docs/resources/diagrams/cmake_framework_workflow.png | Bin 0 -> 49898 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/resources/diagrams/cmake_framework_structure.png create mode 100644 docs/resources/diagrams/cmake_framework_workflow.png (limited to 'docs/resources/diagrams') diff --git a/docs/resources/diagrams/cmake_framework_structure.png b/docs/resources/diagrams/cmake_framework_structure.png new file mode 100644 index 000000000..6006f1c30 Binary files /dev/null and b/docs/resources/diagrams/cmake_framework_structure.png differ diff --git a/docs/resources/diagrams/cmake_framework_workflow.png b/docs/resources/diagrams/cmake_framework_workflow.png new file mode 100644 index 000000000..7311529c4 Binary files /dev/null and b/docs/resources/diagrams/cmake_framework_workflow.png differ -- cgit v1.2.3 From 75077e26a9a3bb4d3150e483f4486101d4dc34de Mon Sep 17 00:00:00 2001 From: Louis Mayencourt Date: Fri, 27 Mar 2020 11:02:05 +0000 Subject: doc: Update fconf uml diagrams Update the plantuml diagrams to match the latest modification in fconf. Signed-off-by: Louis Mayencourt Change-Id: I90f55bba0fd039a3f7e1bd39661cf849fccd64f5 --- docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml | 6 +++--- docs/resources/diagrams/plantuml/fconf_bl2_populate.puml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'docs/resources/diagrams') diff --git a/docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml b/docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml index c36e54423..e613eefd0 100644 --- a/docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml +++ b/docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml @@ -24,9 +24,9 @@ arm_bl1_setup -> fconf : fconf_load_config() activate fconf note over fconf create and populate an - image_desc_t for TB_FW_CONFIG + image_desc_t for FW_CONFIG end note - fconf -> bl_common : load_auth_image(TB_FW_CONFIG_ID, &image_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 @@ -42,7 +42,7 @@ activate fconf fconf <- plat_bl1_common : BL2_IMAGE_DESC note over fconf set ep_info.args.arg0 of BL2_IMAGE_DESC - to TB_FW_CONFIG base address + to FW_CONFIG base address end note arm_bl1_setup <- fconf deactivate fconf diff --git a/docs/resources/diagrams/plantuml/fconf_bl2_populate.puml b/docs/resources/diagrams/plantuml/fconf_bl2_populate.puml index 98a3ff19b..881f25343 100644 --- a/docs/resources/diagrams/plantuml/fconf_bl2_populate.puml +++ b/docs/resources/diagrams/plantuml/fconf_bl2_populate.puml @@ -20,12 +20,12 @@ end box bl2_entrypoint -> bl2_main : bl2_setup() bl2_main -> arm_bl2_setup : bl2_early_platform_setup2(\n\t arg0, arg1, arg2, arg3) note over arm_bl2_setup - arg0 = tb_fw_config + arg0 = fw_config arg1 = mem_layout end note -arm_bl2_setup -> arm_bl2_setup : arm_bl2_early_platform_setup(\n\t tb_fw_config, mem_layout) +arm_bl2_setup -> arm_bl2_setup : arm_bl2_early_platform_setup(\n\t fw_config, mem_layout) activate arm_bl2_setup - arm_bl2_setup -> fconf: fconf_polulate(tb_fw_config) + arm_bl2_setup -> fconf: fconf_polulate("TB_FW", fw_config) activate fconf fconf -> fconf_tbbr_getter: fconf_populate_tbbr_dyn_config(uintptr_t dtb) note over fconf_tbbr_getter: read tbbr propeties from dtb -- cgit v1.2.3 From e555787b66dfa2a1e3b9145a5c55763850ae66dc Mon Sep 17 00:00:00 2001 From: Manish V Badarkhe Date: Sun, 21 Jun 2020 05:41:11 +0100 Subject: doc: Update BL1 and BL2 boot flow Updated the document for BL1 and BL2 boot flow to capture below changes made in FCONF 1. Loading of fw_config and tb_fw_config images by BL1. 2. Population of fw_config and tb_fw_config by BL2. Signed-off-by: Manish V Badarkhe Change-Id: Ifea5c61d520ff1de834c279ce1759b53448303ba --- .../diagrams/plantuml/fconf_bl1_load_config.puml | 52 ++++++++++++++++------ .../diagrams/plantuml/fconf_bl2_populate.puml | 12 ++++- 2 files changed, 49 insertions(+), 15 deletions(-) (limited to 'docs/resources/diagrams') diff --git a/docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml b/docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml index e613eefd0..e513ed4c3 100644 --- a/docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml +++ b/docs/resources/diagrams/plantuml/fconf_bl1_load_config.puml @@ -13,6 +13,7 @@ end box box "platform common code" participant plat_bl1_common + participant fconf_dyn_cfg_getter participant fconf end box @@ -20,12 +21,17 @@ 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 : fconf_load_config() +arm_bl1_setup -> fconf : set_fw_config_info(fw_config_base, max_size) +note over fconf + set fw_config information + (address, size, image_id) + in global dtb_infos array. +end note activate fconf - note over fconf - create and populate an - image_desc_t for FW_CONFIG - end note + 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 @@ -33,18 +39,38 @@ activate fconf 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_cfg) - note over fconf: use staticaly defined policies in bl1 + 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 -> plat_bl1_common : bl1_plat_get_image_desc(BL2_IMAGE_ID) - fconf <- plat_bl1_common : BL2_IMAGE_DESC - note over fconf - set ep_info.args.arg0 of BL2_IMAGE_DESC - to FW_CONFIG base address + 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 -arm_bl1_setup <- fconf deactivate fconf == load & auth, prepare and jump to BL2 == diff --git a/docs/resources/diagrams/plantuml/fconf_bl2_populate.puml b/docs/resources/diagrams/plantuml/fconf_bl2_populate.puml index 881f25343..c536ee090 100644 --- a/docs/resources/diagrams/plantuml/fconf_bl2_populate.puml +++ b/docs/resources/diagrams/plantuml/fconf_bl2_populate.puml @@ -8,6 +8,7 @@ end box box "platform common code" participant fconf participant fconf_tbbr_getter +participant fconf_dyn_cfg_getter end box box "arm platform code" #LightBlue @@ -25,10 +26,17 @@ note over arm_bl2_setup end note arm_bl2_setup -> arm_bl2_setup : arm_bl2_early_platform_setup(\n\t fw_config, mem_layout) activate arm_bl2_setup - arm_bl2_setup -> fconf: fconf_polulate("TB_FW", fw_config) + arm_bl2_setup -> fconf: fconf_populate("FW_CONFIG", fw_config) activate fconf + fconf -> fconf_dyn_cfg_getter: populate_dtb_registry(uintptr_t dtb) + note over fconf_dyn_cfg_getter: read dtb_registry properties from dtb + fconf_dyn_cfg_getter -> arm_bl2_setup + arm_bl2_setup -> 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 -> arm_bl2_setup: tb_fw_config_info + arm_bl2_setup -> fconf: fconf_populate("TB_FW_CONFIG", tb_fw_config) fconf -> fconf_tbbr_getter: fconf_populate_tbbr_dyn_config(uintptr_t dtb) - note over fconf_tbbr_getter: read tbbr propeties from dtb + note over fconf_tbbr_getter: read tbbr properties from dtb fconf -> arm_fconf_io: fconf_populate_arm_io_policies(uintptr_t dtb) note over arm_fconf_io: read arm io propeties from dtb deactivate fconf -- cgit v1.2.3 From fcb1398ff1cefe747cd8c5a0e6cef8d11153009e Mon Sep 17 00:00:00 2001 From: Olivier Deprez Date: Thu, 2 Apr 2020 15:38:02 +0200 Subject: doc: secure partition manager design Former EL3 Secure Partition Manager using MM protocol is renamed Secure Partition Manager (MM). A new Secure Partition Manager document covers TF-A support for the PSA FF-A compliant implementation. Signed-off-by: Olivier Deprez Change-Id: I9763359c2e96181e1726c8ad72738de293b80eb4 --- docs/resources/diagrams/ff-a-spm-sel2.png | Bin 0 -> 83369 bytes .../diagrams/plantuml/bl2-loading-sp.puml | 44 ++++++++ .../diagrams/plantuml/fip-secure-partitions.puml | 122 +++++++++++++++++++++ 3 files changed, 166 insertions(+) create mode 100644 docs/resources/diagrams/ff-a-spm-sel2.png create mode 100644 docs/resources/diagrams/plantuml/bl2-loading-sp.puml create mode 100644 docs/resources/diagrams/plantuml/fip-secure-partitions.puml (limited to 'docs/resources/diagrams') diff --git a/docs/resources/diagrams/ff-a-spm-sel2.png b/docs/resources/diagrams/ff-a-spm-sel2.png new file mode 100644 index 000000000..6479ff559 Binary files /dev/null and b/docs/resources/diagrams/ff-a-spm-sel2.png differ diff --git a/docs/resources/diagrams/plantuml/bl2-loading-sp.puml b/docs/resources/diagrams/plantuml/bl2-loading-sp.puml new file mode 100644 index 000000000..3cf7c3620 --- /dev/null +++ b/docs/resources/diagrams/plantuml/bl2-loading-sp.puml @@ -0,0 +1,44 @@ +/' + ' Copyright (c) 2020, ARM Limited and Contributors. All rights reserved. + ' + ' SPDX-License-Identifier: BSD-3-Clause + '/ + +@startuml +participant bl1 +participant FIP + +bl1 -> FIP : read(FW_CONFIG) +create FW_CONFIG +bl1 -> FW_CONFIG : load + +bl1 -> FIP : read(bl2) +create bl2 +bl1 -> bl2 : load +bl1 --> bl2 : hand off (FW_CONFIG) + +bl2 -> FW_CONFIG : read_node(SPKs) +loop for each spkg subnode + bl2 -> FW_CONFIG : read(UUID) + bl2 -> FW_CONFIG : read(load_address) + bl2 -> FIP : read(spkg@UUID) + create SPKG + bl2 -> SPKG : load +end loop + +bl2 -> FW_CONFIG : read_node(TOS_FW_CONFIG) +create TOS_FW_CONFIG +bl2 -> TOS_FW_CONFIG : load + +bl2 -> FIP : read(bl32/SPMC) +create SPMC +bl2 -> SPMC : load + +bl2 -> FIP : read(bl31) +create bl31 +bl2 -> bl31 : load +bl2 --> bl31 : hand off (TOS_FW_CONFIG) + +bl31 --> SPMC : hand off (TOS_FW_CONFIG) + +@enduml diff --git a/docs/resources/diagrams/plantuml/fip-secure-partitions.puml b/docs/resources/diagrams/plantuml/fip-secure-partitions.puml new file mode 100644 index 000000000..40621dbed --- /dev/null +++ b/docs/resources/diagrams/plantuml/fip-secure-partitions.puml @@ -0,0 +1,122 @@ +/' + ' Copyright (c) 2020, ARM Limited and Contributors. All rights reserved. + ' + ' SPDX-License-Identifier: BSD-3-Clause + '/ + +@startuml + +folder SP_vendor_1 { + artifact sp_binary_1 + artifact sp_manifest_1 [ + sp_manifest_1 + === + UUID = xxx + load_address = 0xaaa + ... + ] +} + +folder SP_vendor_2 { + artifact sp_binary_2 + artifact sp_manifest_2 [ + sp_manifest_2 + === + UUID = yyy + load_address = 0xbbb + ] +} + +artifact config.json [ + SP_LAYOUT.json + === + path to sp_binary_1 + path to sp_manifest_1 + --- + path to sp_binary_2 + path to sp_manifest_2 + --- + ... +] + +control sp_mk_generator + +artifact fconf_node [ + fconf_sp.dts + === + spkg_1 UUID + spkg_1 load_address + --- + spkg_2 UUID + spkg_2 load_address +] + +artifact sp_gen [ + sp_gen.mk + === + FDT_SOURCE = ... + SPTOOL_ARGS = ... + FIP_ARG = ... +] + +control dtc +control sptool + +artifact FW_CONFIG + +artifact spkg_1 [ + spkg_1.bin + === + header + --- + manifest + --- + binary +] + +artifact spkg_2 [ + spkg_2.bin + === + header + --- + manifest + --- + binary +] + +control fiptool + +artifact fip [ + fip.bin + === + FW_CONFIG.dtb + --- + ... + --- + SPKG1 + --- + SPKG2 + --- + ... +] + +config.json .up.> SP_vendor_1 +config.json .up.> SP_vendor_2 +config.json --> sp_mk_generator +sp_mk_generator --> fconf_node +sp_mk_generator --> sp_gen + +sp_gen --> sptool +sptool --> spkg_1 +sptool --> spkg_2 + +fconf_node -down-> dtc +dtc --> FW_CONFIG + +sp_gen --> fiptool +FW_CONFIG --> fiptool +spkg_1 -down-> fiptool +spkg_2 -down-> fiptool +fiptool -down-> fip + +@enduml -- cgit v1.2.3 From 745da67b27d75606f6f52c019711c882ee86a137 Mon Sep 17 00:00:00 2001 From: Manish V Badarkhe Date: Wed, 25 Nov 2020 21:08:40 +0000 Subject: docs: Update the FIP generation process using SP images Updated the documentation for the FIP generation process using SP images. Change-Id: I4df7f379f08f33adba6f5c82904291576972e106 Signed-off-by: Manish V Badarkhe --- .../diagrams/plantuml/fip-secure-partitions.puml | 95 ++++++++++++++++------ 1 file changed, 70 insertions(+), 25 deletions(-) (limited to 'docs/resources/diagrams') diff --git a/docs/resources/diagrams/plantuml/fip-secure-partitions.puml b/docs/resources/diagrams/plantuml/fip-secure-partitions.puml index 40621dbed..9457e326a 100644 --- a/docs/resources/diagrams/plantuml/fip-secure-partitions.puml +++ b/docs/resources/diagrams/plantuml/fip-secure-partitions.puml @@ -13,6 +13,7 @@ folder SP_vendor_1 { === UUID = xxx load_address = 0xaaa + owner = "Sip" ... ] } @@ -24,9 +25,26 @@ folder SP_vendor_2 { === UUID = yyy load_address = 0xbbb + owner = "Plat" ] } +artifact tb_fw_config.dts [ + tb_fw_config.dts + ---- + secure-partitions + === + spkg_1 UUID + spkg_1 load_address + --- + spkg_2 UUID + spkg_2 load_address + --- + ... + === + ... +] + artifact config.json [ SP_LAYOUT.json === @@ -41,31 +59,22 @@ artifact config.json [ control sp_mk_generator -artifact fconf_node [ - fconf_sp.dts - === - spkg_1 UUID - spkg_1 load_address - --- - spkg_2 UUID - spkg_2 load_address -] - artifact sp_gen [ sp_gen.mk === FDT_SOURCE = ... SPTOOL_ARGS = ... - FIP_ARG = ... + FIP_ARGS = ... + CRT_ARGS = ... ] control dtc control sptool -artifact FW_CONFIG +artifact tb_fw_config.dtb artifact spkg_1 [ - spkg_1.bin + sp1.pkg === header --- @@ -75,27 +84,56 @@ artifact spkg_1 [ ] artifact spkg_2 [ - spkg_2.bin + sp2.pkg + === + header + --- + manifest + --- + binary +] + +artifact signed_tb_fw_config.dtb [ + tb_fw_config.dtb (signed) +] + +artifact signed_spkg_1 [ + sp1.pkg (signed) + === + header + --- + manifest + --- + binary + --- + signature +] + +artifact signed_spkg_2 [ + sp2.pkg (signed) === header --- manifest --- binary + --- + signature ] +control crttool control fiptool artifact fip [ fip.bin === - FW_CONFIG.dtb + tb_fw_config.dtb (signed) --- ... --- - SPKG1 + sp1.pkg (signed & SiP owned) --- - SPKG2 + sp2.pkg (signed & Platform owned) --- ... ] @@ -103,20 +141,27 @@ artifact fip [ config.json .up.> SP_vendor_1 config.json .up.> SP_vendor_2 config.json --> sp_mk_generator -sp_mk_generator --> fconf_node sp_mk_generator --> sp_gen - +sp_gen --> fiptool +sp_gen --> cert_create sp_gen --> sptool + sptool --> spkg_1 sptool --> spkg_2 -fconf_node -down-> dtc -dtc --> FW_CONFIG +spkg_1 --> cert_create +spkg_2 --> cert_create +cert_create --> signed_spkg_1 +cert_create --> signed_spkg_2 -sp_gen --> fiptool -FW_CONFIG --> fiptool -spkg_1 -down-> fiptool -spkg_2 -down-> fiptool +tb_fw_config.dts --> dtc +dtc --> tb_fw_config.dtb +tb_fw_config.dtb --> cert_create +cert_create --> signed_tb_fw_config.dtb + +signed_tb_fw_config.dtb --> fiptool +signed_spkg_1 -down-> fiptool +signed_spkg_2 -down-> fiptool fiptool -down-> fip @enduml -- cgit v1.2.3