16cb5d326STamas Ban /*
2*5b46aaccSYann Gautier * Copyright (c) 2022-2025, Arm Limited and Contributors. All rights reserved.
36cb5d326STamas Ban *
46cb5d326STamas Ban * SPDX-License-Identifier: BSD-3-Clause
56cb5d326STamas Ban */
66cb5d326STamas Ban
76cb5d326STamas Ban #include <stdint.h>
86cb5d326STamas Ban
924844d8bSTamas Ban #include <drivers/measured_boot/metadata.h>
107f8589cdSTamas Ban #include <drivers/measured_boot/rse/rse_measured_boot.h>
11eee9fb02SManish V Badarkhe #include <tools_share/tbbr_oid.h>
126cb5d326STamas Ban
136cb5d326STamas Ban #include <plat/common/common_def.h>
146cb5d326STamas Ban #include <platform_def.h>
15*5b46aaccSYann Gautier #include <tc_rse_comms.h>
166cb5d326STamas Ban
176cb5d326STamas Ban /* TC specific table with image IDs and metadata. Intentionally not a
186cb5d326STamas Ban * const struct, some members might set by bootloaders during trusted boot.
196cb5d326STamas Ban */
207f8589cdSTamas Ban struct rse_mboot_metadata tc_rse_mboot_metadata[] = {
216cb5d326STamas Ban {
226cb5d326STamas Ban .id = BL31_IMAGE_ID,
236cb5d326STamas Ban .slot = U(9),
246cb5d326STamas Ban .signer_id_size = SIGNER_ID_MIN_SIZE,
2524844d8bSTamas Ban .sw_type = MBOOT_BL31_IMAGE_STRING,
26eee9fb02SManish V Badarkhe .pk_oid = BL31_IMAGE_KEY_OID,
276cb5d326STamas Ban .lock_measurement = true },
286cb5d326STamas Ban {
296cb5d326STamas Ban .id = HW_CONFIG_ID,
306cb5d326STamas Ban .slot = U(10),
316cb5d326STamas Ban .signer_id_size = SIGNER_ID_MIN_SIZE,
3224844d8bSTamas Ban .sw_type = MBOOT_HW_CONFIG_STRING,
33eee9fb02SManish V Badarkhe .pk_oid = HW_CONFIG_KEY_OID,
346cb5d326STamas Ban .lock_measurement = true },
356cb5d326STamas Ban {
366cb5d326STamas Ban .id = SOC_FW_CONFIG_ID,
376cb5d326STamas Ban .slot = U(11),
386cb5d326STamas Ban .signer_id_size = SIGNER_ID_MIN_SIZE,
3924844d8bSTamas Ban .sw_type = MBOOT_SOC_FW_CONFIG_STRING,
40eee9fb02SManish V Badarkhe .pk_oid = SOC_FW_CONFIG_KEY_OID,
416cb5d326STamas Ban .lock_measurement = true },
426cb5d326STamas Ban {
4379841546STamas Ban .id = SCP_BL2_IMAGE_ID,
4479841546STamas Ban .slot = U(12),
4579841546STamas Ban .signer_id_size = SIGNER_ID_MIN_SIZE,
4679841546STamas Ban .sw_type = MBOOT_SCP_BL2_IMAGE_STRING,
4779841546STamas Ban .pk_oid = SCP_BL2_IMAGE_KEY_OID,
4879841546STamas Ban .lock_measurement = true },
4979841546STamas Ban {
507f8589cdSTamas Ban .id = RSE_MBOOT_INVALID_ID }
516cb5d326STamas Ban };
526cb5d326STamas Ban
bl2_plat_mboot_init(void)536cb5d326STamas Ban void bl2_plat_mboot_init(void)
546cb5d326STamas Ban {
557f8589cdSTamas Ban /* Initialize the communication channel between AP and RSE */
56*5b46aaccSYann Gautier (void)plat_rse_comms_init();
576cb5d326STamas Ban
587f8589cdSTamas Ban rse_measured_boot_init(tc_rse_mboot_metadata);
596cb5d326STamas Ban }
606cb5d326STamas Ban
bl2_plat_mboot_finish(void)616cb5d326STamas Ban void bl2_plat_mboot_finish(void)
626cb5d326STamas Ban {
636cb5d326STamas Ban /* Nothing to do. */
646cb5d326STamas Ban }
65