blob: 82c0a3139c01f2f50eb6c6c15dbea111d0390e64 [file] [log] [blame]
Xinyu Zhang1fa7f982022-04-20 17:46:17 +08001#!/usr/bin/env python3
2
3""" build_helper_config_maps.py:
4 Set map info of config params for build helper """
5
6__copyright__ = """
7/*
Raef Colesaac84bc2025-01-09 14:20:12 +00008 * SPDX-FileCopyrightText: Copyright The TrustedFirmware-M Contributors
Xinyu Zhang1fa7f982022-04-20 17:46:17 +08009 *
10 * SPDX-License-Identifier: BSD-3-Clause
11 *
12 */
13 """
14
15# Map platform names to short format
16mapPlatform = {
17 "arm/mps2/an519" : "AN519",
18 "arm/mps2/an521" : "AN521",
19 "arm/mps3/an524" : "AN524",
Bence Balogh1aa8d582023-08-29 13:10:02 +020020 "arm/mps3/corstone300/fvp" : "CS300_FVP",
21 "arm/mps3/corstone300/an547" : "CS300_AN547",
22 "arm/mps3/corstone300/an552" : "CS300_AN552",
Mark Horvathef57baa2022-09-12 13:36:36 +020023 "arm/musca_b1" : "MUSCA_B1",
Xinyu Zhang1fa7f982022-04-20 17:46:17 +080024 "arm/musca_s1" : "MUSCA_S1",
25 "arm/corstone1000" : "corstone1000",
Gergely Korcsákba0c5212024-04-03 18:21:49 +020026 "arm/mps4/corstone315" : "corstone315",
Gergely Korcsák78a4d142024-08-05 07:41:36 +020027 "arm/mps4/corstone320" : "corstone320",
Bence Balogh23d8fa72022-11-08 12:16:23 +010028 "arm/mps3/corstone310/fvp" : "corstone310",
Jamie Fox82a91d02024-09-27 14:54:14 +010029 "arm/rse/tc/tc3" : "RSE_TC3",
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +000030 "arm/rse/tc/tc4" : "RSE_TC4",
Antonio de Angelis373187e2025-01-11 22:09:30 +000031 "arm/rse/neoverse_rd/rdv3" : "RSE_RDV3",
Nicola Mazzucato75b76af2025-02-07 15:20:59 +000032 "arm/rse/neoverse_rd/rdv3r1" : "RSE_RDV3R1",
Ziad Elhanafy937333f2024-05-22 14:17:40 +010033 "arm/rse/automotive_rd/rd1ae" : "RSE_RD1AE",
Xinyu Zhang1fa7f982022-04-20 17:46:17 +080034 "cypress/psoc64" : "psoc64",
35 "lairdconnectivity/bl5340_dvk_cpuapp": "BL5340",
36 "nordic_nrf/nrf5340dk_nrf5340_cpuapp": "nrf5340dk",
37 "nordic_nrf/nrf9160dk_nrf9160" : "nrf9160dk",
38 "nuvoton/m2351" : "M2351",
39 "nuvoton/m2354" : "M2354",
40 "nxp/lpcxpresso55s69" : "lpcxpresso55s69",
41 "stm/stm32l562e_dk" : "stm32l562e_dk",
Matthew Dalzelld5325dd2025-04-17 14:46:10 +010042 "stm/stm32wba65i_dk" : "stm32wba65i_dk",
Xinyu Zhang1fa7f982022-04-20 17:46:17 +080043 "stm/b_u585i_iot02a" : "b_u585i_iot02a",
Anton Komlev4164ab62024-02-23 10:59:56 +010044 "stm/stm32h573i_dk" : "stm32h573i_dk",
Xinyu Zhang1fa7f982022-04-20 17:46:17 +080045 "stm/nucleo_l552ze_q" : "nucleo_l552ze_q",
Dávid Házi0bd447f2024-10-24 19:44:31 +000046 "rpi/rp2350" : "rp2350",
Xinyu Zhang1fa7f982022-04-20 17:46:17 +080047}
48
Xinyu Zhangb18ae742023-04-25 14:33:27 +080049# Map regression test parameters to short format
50mapRegTest = {
Xinyu Zhang66e22ff2023-04-25 15:56:29 +080051 "OFF" : "-DTEST_BL2=OFF -DTEST_S=OFF -DTEST_NS=OFF ",
52 "RegBL2" : "-DTEST_BL2=ON ",
Xinyu Zhangb18ae742023-04-25 14:33:27 +080053 "RegS" : "-DTEST_S=ON ",
Xinyu Zhang05bb77d2023-04-25 15:15:19 +080054 "RegNS" : "-DTEST_NS=ON -DTEST_NS_FLIH_IRQ=OFF ",
Raef Colesf9a20742024-06-06 10:47:49 +010055 "RegBL1_1" : "-DTEST_BL1_1=ON ",
56 "RegBL1_2" : "-DTEST_BL1_2=ON ",
Xinyu Zhangb18ae742023-04-25 14:33:27 +080057}
58
Xinyu Zhang1fa7f982022-04-20 17:46:17 +080059# Map PSA Arch Tests to short format
60mapTestPsaApi = {
61 "IPC" : "FF",
62 "CRYPTO" : "CRYPTO",
63 "INITIAL_ATTESTATION": "ATTEST",
64 "STORAGE" : "STORAGE",
65}
66
67# Map Profile names to short format
68mapProfile = {
69 "profile_small" : "SMALL",
70 "profile_medium": "MEDIUM",
David Hu3d333762022-10-27 18:12:33 +080071 "profile_medium_arotless": "MEDIUM-AROT-LESS",
Xinyu Zhang1fa7f982022-04-20 17:46:17 +080072 "profile_large" : "LARGE",
73}
74
75# Map abbreviation of extra params to cmake build commands
76mapExtraParams = {
77 # Default
78 "" : "",
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +080079 "NSOFF" : "-DNS=OFF ",
Xinyu Zhang1fa7f982022-04-20 17:46:17 +080080 # NSCE
81 "NSCE" : "-DTFM_NS_MANAGE_NSID=ON ",
82 # MMIO
83 "MMIO" : "-DPSA_FRAMEWORK_HAS_MM_IOVEC=ON ",
84 # FPU support
Mark Horvath93cb5fb2022-09-06 17:51:24 +020085 "FPOFF" : "-DCONFIG_TFM_ENABLE_FP=OFF ",
86 "FPON" : ("-DCONFIG_TFM_ENABLE_FP=ON "
Xinyu Zhang1fa7f982022-04-20 17:46:17 +080087 "-DTEST_S_FPU=ON -DTEST_NS_FPU=ON "),
Xinyu Zhangfc061dd2022-07-26 14:52:56 +080088 "LZOFF" : "-DCONFIG_TFM_LAZY_STACKING=OFF ",
Nicola Mazzucato935f9cb2025-05-16 17:21:07 +010089 # Partition
Xinyu Zhangdf88e302022-09-19 11:27:57 +080090 "PSOFF" : "-DTFM_PARTITION_PROTECTED_STORAGE=OFF ",
Antonio de Angelisabe11742024-10-14 21:16:54 +010091 "PSCLEAR" : "-DPS_ENCRYPTION=OFF -DPS_ROLLBACK_PROTECTION=OFF",
Chris Branddc827302024-10-11 15:20:17 -070092 "PSLIMIT" : "-DPS_AES_KEY_USAGE_LIMIT=1000000",
Xinyu Zhang88b965c2022-11-21 17:50:33 +080093 # IPC
94 "IPC" : "-DCONFIG_TFM_SPM_BACKEND=IPC ",
Xinyu Zhang1fa7f982022-04-20 17:46:17 +080095 # CC Driver
96 "CC_DRIVER_PSA": "-DCC312_LEGACY_DRIVER_API_ENABLED=OFF ",
Antonio de Angelis9d7f0842025-06-27 22:23:51 +010097 # CC3XX Runtime Enabled (experimental)
98 "CC3XX_RUNTIME_ENABLED": "-DCC3XX_RUNTIME_ENABLED=ON -DCC312_LEGACY_DRIVER_API_ENABLED=OFF ",
Xinyu Zhang1fa7f982022-04-20 17:46:17 +080099 # ST support
100 "CRYPTO_OFF" : ("-DTEST_S_CRYPTO=OFF "
101 "-DTEST_NS_CRYPTO=OFF "),
102 "CRYPTO_ON" : ("-DTEST_S_CRYPTO=ON "
103 "-DTEST_NS_CRYPTO=ON "),
104 # Corstone1000 support
105 "FVP" : "-DPLATFORM_IS_FVP=True ",
Emekcan Arasf8b39802023-04-24 10:15:22 +0100106 "FPGA" : "-DPLATFORM_IS_FVP=False -DTEST_S_PLATFORM=OFF ",
107 "CS1K_TEST" : ("-DTEST_S_PS=OFF "
Bence Balogh30eee492023-12-20 11:00:20 +0100108 "-DTEST_S_ITS=OFF "
109 "-DTEST_S_IPC=OFF "
Antonio de Angelise0d62762024-08-07 15:55:02 +0200110 "-DTEST_S_ATTESTATION=OFF "
Xinyu Zhang4fb2b5c2023-04-25 11:55:19 +0800111 "-DEXTRA_S_TEST_SUITE_PATH=%(codebase_root_dir)s/platform/ext/target/arm/corstone1000/ci_regression_tests/ "),
Bence Balogh79fda442022-10-14 18:01:37 +0200112
Nicola Mazzucatob542f2b2024-05-23 10:13:43 +0100113 # PAC/BTI Support
114 "PACBTI_STD" : "-DCONFIG_TFM_BRANCH_PROTECTION_FEAT=BRANCH_PROTECTION_STANDARD",
115 "PACBTI_NONE" : "-DCONFIG_TFM_BRANCH_PROTECTION_FEAT=BRANCH_PROTECTION_NONE",
116
Nicola Mazzucato75b76af2025-02-07 15:20:59 +0000117 # Platform Variants Support for RSE_RDV3 & RSE_RDV3R1
Joel Goddard2dd81a12024-01-23 15:10:08 +0000118 "CFG0" : "-DTFM_PLATFORM_VARIANT=0",
Antonio de Angelis373187e2025-01-11 22:09:30 +0000119 "CFG1" : "-DTFM_PLATFORM_VARIANT=1",
Nicola Mazzucato75b76af2025-02-07 15:20:59 +0000120
121 # Platform Variants Support for RSE_RDV3
Antonio de Angelis373187e2025-01-11 22:09:30 +0000122 "CFG2" : "-DTFM_PLATFORM_VARIANT=2",
Joel Goddard2dd81a12024-01-23 15:10:08 +0000123
David Vinczed78e2622022-11-24 15:04:00 +0100124 # Extra test cases
125 "TEST_CBOR" : "-DTEST_NS_QCBOR=ON ",
126
Jianliang Shen5492f752023-07-27 15:59:01 +0800127 # Profiling test
Jianliang Shen7905e5d2023-11-07 10:40:47 +0800128 "PROF" : ("-DTFM_EXTRA_CONFIG_PATH=%(codebase_root_dir)s/../tf-m-tools/profiling/profiling_cases/prof_psa_client_api/partitions/config_spe.cmake "),
Jianliang Shen5492f752023-07-27 15:59:01 +0800129
Gergely Korcsák6abc66c2025-04-29 14:55:33 +0200130 # Platform provisioning
131 "PROV_TFM_DUMMY" : "-DPLATFORM_DEFAULT_PROVISIONING=OFF -DTFM_DUMMY_PROVISIONING=ON ",
132 "PROV_MCUBOOT_GEN_KEYS" : "-DPLATFORM_DEFAULT_PROVISIONING=OFF -DTFM_DUMMY_PROVISIONING=OFF -DMCUBOOT_GENERATE_SIGNING_KEYPAIR=ON ",
133
Bence Balogh79fda442022-10-14 18:01:37 +0200134 # tf-m-extras example support
Gergely Korcsáked6e2532024-06-03 13:17:12 +0200135 "EXTRAS_EXAMPLE_VAD" : ("-DNS_EVALUATION_APP_PATH=%(codebase_root_dir)s/../tf-m-extras/examples/vad_an552/ns_side "
136 "-DTFM_EXTRA_PARTITION_PATHS=%(codebase_root_dir)s/../tf-m-extras/partitions/vad_an552_sp/ "
137 "-DTFM_EXTRA_MANIFEST_LIST_FILES=%(codebase_root_dir)s/../tf-m-extras/partitions/vad_an552_sp/extra_manifest_list.yaml "
138 "-DPROJECT_CONFIG_HEADER_FILE=%(codebase_root_dir)s/../tf-m-extras/examples/vad_an552/ns_side/project_config.h "
139 "-DTFM_PARTITION_FIRMWARE_UPDATE=ON -DMCUBOOT_DATA_SHARING=ON "
140 "-DMCUBOOT_UPGRADE_STRATEGY=SWAP_USING_SCRATCH "
141 "-DMCUBOOT_IMAGE_NUMBER=1 -DMCUBOOT_SIGNATURE_KEY_LEN=2048 "
142 "-DCONFIG_TFM_ENABLE_MVE=ON -DCONFIG_TFM_SPM_BACKEND=IPC "
143 "-DPLATFORM_HAS_FIRMWARE_UPDATE_SUPPORT=ON -DTFM_PARTITION_PLATFORM=ON "
144 "-DTFM_PARTITION_CRYPTO=ON -DTFM_PARTITION_INTERNAL_TRUSTED_STORAGE=ON "
145 "-DTFM_PARTITION_PROTECTED_STORAGE=ON -DMCUBOOT_CONFIRM_IMAGE=ON "),
146
147 "EXTRAS_EXAMPLE_DMA350_TRIGGER" : "",
148 "EXTRAS_EXAMPLE_DMA350_CLCD" : "-DDEFAULT_NS_SCATTER=OFF -DPLATFORM_SVC_HANDLERS=ON ",
149
150 "EXTRAS_EXAMPLE_DMA350_S" : "-DEXTRA_S_TEST_SUITE_PATH=%(codebase_root_dir)s/../tf-m-extras/examples/corstone310_fvp_dma/dma350_s",
Nicola Mazzucato551c5f32024-10-02 09:43:04 +0100151 "EXTRAS_EXAMPLE_DMA350_NS" : "-DEXTRA_NS_TEST_SUITE_PATH=%(codebase_root_dir)s/../tf-m-extras/examples/corstone310_fvp_dma/dma350_ns",
152
153 # Attestation scheme
Nicola Mazzucatob4763262024-09-26 12:39:06 +0100154 "ATTESTATION_SCHEME_DPE" : ("-DEXTRA_S_TEST_SUITE_PATH=%(codebase_root_dir)s/../tf-m-extras/partitions/dice_protection_environment/test/secure "),
155 "ATTESTATION_SCHEME_CCA" : ("-DTFM_ATTESTATION_SCHEME=CCA "
156 "-DEXTRA_S_TEST_SUITE_PATH=%(codebase_root_dir)s/../tf-m-extras/partitions/delegated_attestation/test/secure "
Jackson Cooper-Driverc5541ca2025-02-13 13:42:35 +0000157 "-DEXTRA_NS_TEST_SUITE_PATH=%(codebase_root_dir)s/../tf-m-extras/partitions/measured_boot/test/non_secure "),
158
159 # Provisioning blob signing
Jackson Cooper-Driver49350442025-05-29 14:13:45 +0100160 "RSE_PROVISIONING_SYMMETRIC" : ("-DRSE_SYMMETRIC_PROVISIONING=ON"),
Jackson Cooper-Drivere6e1db02025-05-16 10:45:20 +0100161
162 # Copy ROM code to SRAM in BL1_2 and execute from there
Nicola Mazzucatoc3c86582025-04-14 17:10:11 +0100163 "RSE_COPY_USE_ROM_LIB_IN_SRAM" : ("-DRSE_USE_ROM_LIB_FROM_SRAM=ON"),
164
165 # RSE ROM Relocation
166 "RSE_SUPPORT_ROM_LIB_RELOCATION_OFF" : ("-DRSE_SUPPORT_ROM_LIB_RELOCATION=OFF"),
Gergely Korcsáked6e2532024-06-03 13:17:12 +0200167}
168
169mapTfmExtrasExamplePaths = {
170 "EXTRAS_EXAMPLE_VAD" : "examples/vad_an552/ns_side",
171 "EXTRAS_EXAMPLE_DMA350_TRIGGER" : "examples/corstone310_fvp_dma/triggering_example",
172 "EXTRAS_EXAMPLE_DMA350_CLCD" : "examples/corstone310_fvp_dma/clcd_example",
173 "EXTRAS_EXAMPLE_DMA350_S" : "examples/corstone310_fvp_dma/dma350_s",
174 "EXTRAS_EXAMPLE_DMA350_NS" : "examples/corstone310_fvp_dma/dma350_ns"
Xinyu Zhang1fa7f982022-04-20 17:46:17 +0800175}