1 /* SPDX-License-Identifier: BSD-2-Clause */
2 /*
3  * Copyright 2020 NXP
4  */
5 #ifndef __CTRL_REGS_H__
6 #define __CTRL_REGS_H__
7 
8 /* Global includes */
9 #include <util.h>
10 
11 /* Job Ring x MID */
12 #define JRxDID_SIZE    0x8
13 #define JR0DID_MS      0x0010
14 #define JR0DID_LS      0x0014
15 #define JRxDID_MS(idx) (JR0DID_MS + (idx) * (JRxDID_SIZE))
16 #define JRxDID_LS(idx) (JR0DID_LS + (idx) * (JRxDID_SIZE))
17 
18 #define JRxDID_MS_LDID		 BIT32(31)
19 #define JRxDID_MS_PRIM_ICID(val) SHIFT_U32((val) & (0x3FF), 19)
20 #define JRxDID_MS_LAMTD		 BIT32(17)
21 #define JRxDID_MS_AMTD		 BIT32(16)
22 #define JRxDID_MS_TZ_OWN	 BIT32(15)
23 #define JRxDID_MS_PRIM_TZ	 BIT32(4)
24 #define JRxDID_MS_PRIM_DID(val)	 SHIFT_U32((val) & (0xF), 0)
25 
26 /* Security Configuration */
27 #define SCFGR		 0x000C
28 #define BS_SCFGR_MPCURVE 28
29 #define BM_SCFGR_MPCURVE SHIFT_U32(0xF, BS_SCFGR_MPCURVE)
30 #define BM_SCFGR_MPMRL	 BIT32(26)
31 
32 /* Secure Memory Virtual Base Address */
33 #define JRX_SMVBAR(idx) (0x0184 + (idx) * (8))
34 
35 /* Manufacturing Protection Message */
36 #define MPMR	    0x0380
37 #define MPMR_NB_REG 0x20
38 
39 #endif /* __CTRL_REGS_H__ */
40