1 /*
2  * Copyright (c) 2021, 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  */
plat_get_rotpk_info(void * cookie,void ** key_ptr,unsigned int * key_len,unsigned int * flags)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  */
plat_get_nv_ctr(void * cookie,unsigned int * nv_ctr)39 int plat_get_nv_ctr(void *cookie, unsigned int *nv_ctr)
40 {
41     *nv_ctr = DIPHDA_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  */
plat_set_nv_ctr(void * cookie,unsigned int nv_ctr)50 int plat_set_nv_ctr(void *cookie, unsigned int nv_ctr)
51 {
52     return 0;
53 }
54