1 /*
2  * SPDX-License-Identifier: BSD-3-Clause
3  * SPDX-FileCopyrightText: Copyright TF-RMM Contributors.
4  */
5 
6 #ifndef FEATURE_H
7 #define FEATURE_H
8 
9 #include <arch.h>
10 
11 #define	RMM_FEATURE_MIN_IPA_SIZE		PARANGE_0000_WIDTH
12 
13 #define RMM_FEATURE_REGISTER_0_INDEX		UL(0)
14 
15 #define RMM_FEATURE_REGISTER_0_S2SZ_SHIFT	UL(0)
16 #define RMM_FEATURE_REGISTER_0_S2SZ_WIDTH	UL(8)
17 
18 #define RMM_FEATURE_REGISTER_0_LPA2_SHIFT	UL(8)
19 #define RMM_FEATURE_REGISTER_0_LPA2_WIDTH	UL(1)
20 
21 #define	RMI_NO_LPA2				UL(0)
22 #define	RMI_LPA2				UL(1)
23 
24 #define RMM_FEATURE_REGISTER_0_HASH_SHA_256_SHIFT	UL(28)
25 #define RMM_FEATURE_REGISTER_0_HASH_SHA_256_WIDTH	UL(1)
26 
27 #define RMM_FEATURE_REGISTER_0_HASH_SHA_512_SHIFT	UL(29)
28 #define RMM_FEATURE_REGISTER_0_HASH_SHA_512_WIDTH	UL(1)
29 
30 bool validate_feature_register(unsigned long index, unsigned long value);
31 
32 #endif /* FEATURE_H */
33