1 /* 2 * Copyright (c) 2021-2022, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #include <plat/arm/common/plat_arm.h> 8 9 /* 10 * Return the ROTPK hash in the following ASN.1 structure in DER format: 11 * 12 * AlgorithmIdentifier ::= SEQUENCE { 13 * algorithm OBJECT IDENTIFIER, 14 * parameters ANY DEFINED BY algorithm OPTIONAL 15 * } 16 * 17 * DigestInfo ::= SEQUENCE { 18 * digestAlgorithm AlgorithmIdentifier, 19 * digest OCTET STRING 20 * } 21 * 22 * The function returns 0 on success. Any other value is treated as error by the 23 * Trusted Board Boot. The function also reports extra information related 24 * to the ROTPK in the flags parameter: ROTPK_IS_HASH, ROTPK_NOT_DEPLOYED. 25 * 26 * Refer to the TF-A porting-guide document for more details. 27 */ 28 int plat_get_rotpk_info(void *cookie, void **key_ptr, unsigned int *key_len, 29 unsigned int *flags) 30 { 31 return arm_get_rotpk_info(cookie, key_ptr, key_len, flags); 32 } 33 34 /* 35 * STUB overriding the non-volatile counter reading. 36 * NV counters are not implemented at this stage of development. 37 * Return: 0 = success 38 */ 39 int plat_get_nv_ctr(void *cookie, unsigned int *nv_ctr) 40 { 41 *nv_ctr = CORSTONE1000_FW_NVCTR_VAL; 42 return 0; 43 } 44 45 /* 46 * STUB overriding the non-volatile counter updating. 47 * NV counters are not implemented at this stage of development. 48 * Return: 0 = success 49 */ 50 int plat_set_nv_ctr(void *cookie, unsigned int nv_ctr) 51 { 52 return 0; 53 } 54