xref: /rk3399_ARM-atf/plat/arm/board/tc/tc_bl2_measured_boot.c (revision e0be63c88050a0436e19e52edd4e1cc28336f8e8)
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