 |
Software APIs
|
Go to the documentation of this file.
13#ifndef _KEYMGR_DPE_REG_DEFS_
14#define _KEYMGR_DPE_REG_DEFS_
20#define KEYMGR_DPE_PARAM_NUM_SALT_REG 8
23#define KEYMGR_DPE_PARAM_NUM_SW_BINDING_REG 8
26#define KEYMGR_DPE_PARAM_NUM_OUT_REG 8
29#define KEYMGR_DPE_PARAM_NUM_KEY_VERSION 1
32#define KEYMGR_DPE_PARAM_NUM_ROM_DIGEST_INPUTS 2
35#define KEYMGR_DPE_PARAM_NUM_ALERTS 2
38#define KEYMGR_DPE_PARAM_REG_WIDTH 32
41#define KEYMGR_DPE_INTR_COMMON_OP_DONE_BIT 0
44#define KEYMGR_DPE_INTR_STATE_REG_OFFSET 0x0
45#define KEYMGR_DPE_INTR_STATE_REG_RESVAL 0x0u
46#define KEYMGR_DPE_INTR_STATE_OP_DONE_BIT 0
49#define KEYMGR_DPE_INTR_ENABLE_REG_OFFSET 0x4
50#define KEYMGR_DPE_INTR_ENABLE_REG_RESVAL 0x0u
51#define KEYMGR_DPE_INTR_ENABLE_OP_DONE_BIT 0
54#define KEYMGR_DPE_INTR_TEST_REG_OFFSET 0x8
55#define KEYMGR_DPE_INTR_TEST_REG_RESVAL 0x0u
56#define KEYMGR_DPE_INTR_TEST_OP_DONE_BIT 0
59#define KEYMGR_DPE_ALERT_TEST_REG_OFFSET 0xc
60#define KEYMGR_DPE_ALERT_TEST_REG_RESVAL 0x0u
61#define KEYMGR_DPE_ALERT_TEST_RECOV_OPERATION_ERR_BIT 0
62#define KEYMGR_DPE_ALERT_TEST_FATAL_FAULT_ERR_BIT 1
65#define KEYMGR_DPE_CFG_REGWEN_REG_OFFSET 0x10
66#define KEYMGR_DPE_CFG_REGWEN_REG_RESVAL 0x1u
67#define KEYMGR_DPE_CFG_REGWEN_EN_BIT 0
70#define KEYMGR_DPE_START_REG_OFFSET 0x14
71#define KEYMGR_DPE_START_REG_RESVAL 0x0u
72#define KEYMGR_DPE_START_EN_BIT 0
73#define KEYMGR_DPE_START_EN_VALUE_VALID_STATE 0x1
76#define KEYMGR_DPE_CONTROL_SHADOWED_REG_OFFSET 0x18
77#define KEYMGR_DPE_CONTROL_SHADOWED_REG_RESVAL 0x10u
78#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_MASK 0x7u
79#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_OFFSET 4
80#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_FIELD \
81 ((bitfield_field32_t) { .mask = KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_MASK, .index = KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_OFFSET })
82#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_VALUE_ADVANCE 0x0
83#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_VALUE_ERASE_SLOT 0x1
84#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_VALUE_GENERATE_SW_OUTPUT 0x2
85#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_VALUE_GENERATE_HW_OUTPUT 0x3
86#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_VALUE_DISABLE 0x4
87#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_MASK 0x3u
88#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_OFFSET 12
89#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_FIELD \
90 ((bitfield_field32_t) { .mask = KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_MASK, .index = KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_OFFSET })
91#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_VALUE_NONE 0x0
92#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_VALUE_AES 0x1
93#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_VALUE_KMAC 0x2
94#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_VALUE_OTBN 0x3
95#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_SRC_SEL_MASK 0x3u
96#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_SRC_SEL_OFFSET 14
97#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_SRC_SEL_FIELD \
98 ((bitfield_field32_t) { .mask = KEYMGR_DPE_CONTROL_SHADOWED_SLOT_SRC_SEL_MASK, .index = KEYMGR_DPE_CONTROL_SHADOWED_SLOT_SRC_SEL_OFFSET })
99#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_DST_SEL_MASK 0x3u
100#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_DST_SEL_OFFSET 18
101#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_DST_SEL_FIELD \
102 ((bitfield_field32_t) { .mask = KEYMGR_DPE_CONTROL_SHADOWED_SLOT_DST_SEL_MASK, .index = KEYMGR_DPE_CONTROL_SHADOWED_SLOT_DST_SEL_OFFSET })
105#define KEYMGR_DPE_SIDELOAD_CLEAR_REG_OFFSET 0x1c
106#define KEYMGR_DPE_SIDELOAD_CLEAR_REG_RESVAL 0x0u
107#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_MASK 0x7u
108#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_OFFSET 0
109#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_FIELD \
110 ((bitfield_field32_t) { .mask = KEYMGR_DPE_SIDELOAD_CLEAR_VAL_MASK, .index = KEYMGR_DPE_SIDELOAD_CLEAR_VAL_OFFSET })
111#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_VALUE_NONE 0x0
112#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_VALUE_AES 0x1
113#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_VALUE_KMAC 0x2
114#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_VALUE_OTBN 0x3
117#define KEYMGR_DPE_RESEED_INTERVAL_REGWEN_REG_OFFSET 0x20
118#define KEYMGR_DPE_RESEED_INTERVAL_REGWEN_REG_RESVAL 0x1u
119#define KEYMGR_DPE_RESEED_INTERVAL_REGWEN_EN_BIT 0
122#define KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_REG_OFFSET 0x24
123#define KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_REG_RESVAL 0x100u
124#define KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_VAL_MASK 0xffffu
125#define KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_VAL_OFFSET 0
126#define KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_VAL_FIELD \
127 ((bitfield_field32_t) { .mask = KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_VAL_MASK, .index = KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_VAL_OFFSET })
130#define KEYMGR_DPE_SLOT_POLICY_REGWEN_REG_OFFSET 0x28
131#define KEYMGR_DPE_SLOT_POLICY_REGWEN_REG_RESVAL 0x1u
132#define KEYMGR_DPE_SLOT_POLICY_REGWEN_EN_BIT 0
135#define KEYMGR_DPE_SLOT_POLICY_REG_OFFSET 0x2c
136#define KEYMGR_DPE_SLOT_POLICY_REG_RESVAL 0x0u
137#define KEYMGR_DPE_SLOT_POLICY_ALLOW_CHILD_BIT 0
138#define KEYMGR_DPE_SLOT_POLICY_EXPORTABLE_BIT 1
139#define KEYMGR_DPE_SLOT_POLICY_RETAIN_PARENT_BIT 2
142#define KEYMGR_DPE_SW_BINDING_REGWEN_REG_OFFSET 0x30
143#define KEYMGR_DPE_SW_BINDING_REGWEN_REG_RESVAL 0x1u
144#define KEYMGR_DPE_SW_BINDING_REGWEN_EN_BIT 0
147#define KEYMGR_DPE_SW_BINDING_VAL_FIELD_WIDTH 32
148#define KEYMGR_DPE_SW_BINDING_MULTIREG_COUNT 8
151#define KEYMGR_DPE_SW_BINDING_0_REG_OFFSET 0x34
152#define KEYMGR_DPE_SW_BINDING_0_REG_RESVAL 0x0u
155#define KEYMGR_DPE_SW_BINDING_1_REG_OFFSET 0x38
156#define KEYMGR_DPE_SW_BINDING_1_REG_RESVAL 0x0u
159#define KEYMGR_DPE_SW_BINDING_2_REG_OFFSET 0x3c
160#define KEYMGR_DPE_SW_BINDING_2_REG_RESVAL 0x0u
163#define KEYMGR_DPE_SW_BINDING_3_REG_OFFSET 0x40
164#define KEYMGR_DPE_SW_BINDING_3_REG_RESVAL 0x0u
167#define KEYMGR_DPE_SW_BINDING_4_REG_OFFSET 0x44
168#define KEYMGR_DPE_SW_BINDING_4_REG_RESVAL 0x0u
171#define KEYMGR_DPE_SW_BINDING_5_REG_OFFSET 0x48
172#define KEYMGR_DPE_SW_BINDING_5_REG_RESVAL 0x0u
175#define KEYMGR_DPE_SW_BINDING_6_REG_OFFSET 0x4c
176#define KEYMGR_DPE_SW_BINDING_6_REG_RESVAL 0x0u
179#define KEYMGR_DPE_SW_BINDING_7_REG_OFFSET 0x50
180#define KEYMGR_DPE_SW_BINDING_7_REG_RESVAL 0x0u
183#define KEYMGR_DPE_SALT_VAL_FIELD_WIDTH 32
184#define KEYMGR_DPE_SALT_MULTIREG_COUNT 8
187#define KEYMGR_DPE_SALT_0_REG_OFFSET 0x54
188#define KEYMGR_DPE_SALT_0_REG_RESVAL 0x0u
191#define KEYMGR_DPE_SALT_1_REG_OFFSET 0x58
192#define KEYMGR_DPE_SALT_1_REG_RESVAL 0x0u
195#define KEYMGR_DPE_SALT_2_REG_OFFSET 0x5c
196#define KEYMGR_DPE_SALT_2_REG_RESVAL 0x0u
199#define KEYMGR_DPE_SALT_3_REG_OFFSET 0x60
200#define KEYMGR_DPE_SALT_3_REG_RESVAL 0x0u
203#define KEYMGR_DPE_SALT_4_REG_OFFSET 0x64
204#define KEYMGR_DPE_SALT_4_REG_RESVAL 0x0u
207#define KEYMGR_DPE_SALT_5_REG_OFFSET 0x68
208#define KEYMGR_DPE_SALT_5_REG_RESVAL 0x0u
211#define KEYMGR_DPE_SALT_6_REG_OFFSET 0x6c
212#define KEYMGR_DPE_SALT_6_REG_RESVAL 0x0u
215#define KEYMGR_DPE_SALT_7_REG_OFFSET 0x70
216#define KEYMGR_DPE_SALT_7_REG_RESVAL 0x0u
219#define KEYMGR_DPE_KEY_VERSION_VAL_FIELD_WIDTH 32
220#define KEYMGR_DPE_KEY_VERSION_MULTIREG_COUNT 1
223#define KEYMGR_DPE_KEY_VERSION_REG_OFFSET 0x74
224#define KEYMGR_DPE_KEY_VERSION_REG_RESVAL 0x0u
227#define KEYMGR_DPE_MAX_KEY_VER_REGWEN_REG_OFFSET 0x78
228#define KEYMGR_DPE_MAX_KEY_VER_REGWEN_REG_RESVAL 0x1u
229#define KEYMGR_DPE_MAX_KEY_VER_REGWEN_EN_BIT 0
232#define KEYMGR_DPE_MAX_KEY_VER_SHADOWED_REG_OFFSET 0x7c
233#define KEYMGR_DPE_MAX_KEY_VER_SHADOWED_REG_RESVAL 0x0u
236#define KEYMGR_DPE_SW_SHARE0_OUTPUT_VAL_FIELD_WIDTH 32
237#define KEYMGR_DPE_SW_SHARE0_OUTPUT_MULTIREG_COUNT 8
240#define KEYMGR_DPE_SW_SHARE0_OUTPUT_0_REG_OFFSET 0x80
241#define KEYMGR_DPE_SW_SHARE0_OUTPUT_0_REG_RESVAL 0x0u
244#define KEYMGR_DPE_SW_SHARE0_OUTPUT_1_REG_OFFSET 0x84
245#define KEYMGR_DPE_SW_SHARE0_OUTPUT_1_REG_RESVAL 0x0u
248#define KEYMGR_DPE_SW_SHARE0_OUTPUT_2_REG_OFFSET 0x88
249#define KEYMGR_DPE_SW_SHARE0_OUTPUT_2_REG_RESVAL 0x0u
252#define KEYMGR_DPE_SW_SHARE0_OUTPUT_3_REG_OFFSET 0x8c
253#define KEYMGR_DPE_SW_SHARE0_OUTPUT_3_REG_RESVAL 0x0u
256#define KEYMGR_DPE_SW_SHARE0_OUTPUT_4_REG_OFFSET 0x90
257#define KEYMGR_DPE_SW_SHARE0_OUTPUT_4_REG_RESVAL 0x0u
260#define KEYMGR_DPE_SW_SHARE0_OUTPUT_5_REG_OFFSET 0x94
261#define KEYMGR_DPE_SW_SHARE0_OUTPUT_5_REG_RESVAL 0x0u
264#define KEYMGR_DPE_SW_SHARE0_OUTPUT_6_REG_OFFSET 0x98
265#define KEYMGR_DPE_SW_SHARE0_OUTPUT_6_REG_RESVAL 0x0u
268#define KEYMGR_DPE_SW_SHARE0_OUTPUT_7_REG_OFFSET 0x9c
269#define KEYMGR_DPE_SW_SHARE0_OUTPUT_7_REG_RESVAL 0x0u
272#define KEYMGR_DPE_SW_SHARE1_OUTPUT_VAL_FIELD_WIDTH 32
273#define KEYMGR_DPE_SW_SHARE1_OUTPUT_MULTIREG_COUNT 8
276#define KEYMGR_DPE_SW_SHARE1_OUTPUT_0_REG_OFFSET 0xa0
277#define KEYMGR_DPE_SW_SHARE1_OUTPUT_0_REG_RESVAL 0x0u
280#define KEYMGR_DPE_SW_SHARE1_OUTPUT_1_REG_OFFSET 0xa4
281#define KEYMGR_DPE_SW_SHARE1_OUTPUT_1_REG_RESVAL 0x0u
284#define KEYMGR_DPE_SW_SHARE1_OUTPUT_2_REG_OFFSET 0xa8
285#define KEYMGR_DPE_SW_SHARE1_OUTPUT_2_REG_RESVAL 0x0u
288#define KEYMGR_DPE_SW_SHARE1_OUTPUT_3_REG_OFFSET 0xac
289#define KEYMGR_DPE_SW_SHARE1_OUTPUT_3_REG_RESVAL 0x0u
292#define KEYMGR_DPE_SW_SHARE1_OUTPUT_4_REG_OFFSET 0xb0
293#define KEYMGR_DPE_SW_SHARE1_OUTPUT_4_REG_RESVAL 0x0u
296#define KEYMGR_DPE_SW_SHARE1_OUTPUT_5_REG_OFFSET 0xb4
297#define KEYMGR_DPE_SW_SHARE1_OUTPUT_5_REG_RESVAL 0x0u
300#define KEYMGR_DPE_SW_SHARE1_OUTPUT_6_REG_OFFSET 0xb8
301#define KEYMGR_DPE_SW_SHARE1_OUTPUT_6_REG_RESVAL 0x0u
304#define KEYMGR_DPE_SW_SHARE1_OUTPUT_7_REG_OFFSET 0xbc
305#define KEYMGR_DPE_SW_SHARE1_OUTPUT_7_REG_RESVAL 0x0u
308#define KEYMGR_DPE_WORKING_STATE_REG_OFFSET 0xc0
309#define KEYMGR_DPE_WORKING_STATE_REG_RESVAL 0x0u
310#define KEYMGR_DPE_WORKING_STATE_STATE_MASK 0x3u
311#define KEYMGR_DPE_WORKING_STATE_STATE_OFFSET 0
312#define KEYMGR_DPE_WORKING_STATE_STATE_FIELD \
313 ((bitfield_field32_t) { .mask = KEYMGR_DPE_WORKING_STATE_STATE_MASK, .index = KEYMGR_DPE_WORKING_STATE_STATE_OFFSET })
314#define KEYMGR_DPE_WORKING_STATE_STATE_VALUE_RESET 0x0
315#define KEYMGR_DPE_WORKING_STATE_STATE_VALUE_AVAILABLE 0x1
316#define KEYMGR_DPE_WORKING_STATE_STATE_VALUE_DISABLED 0x2
317#define KEYMGR_DPE_WORKING_STATE_STATE_VALUE_INVALID 0x3
320#define KEYMGR_DPE_OP_STATUS_REG_OFFSET 0xc4
321#define KEYMGR_DPE_OP_STATUS_REG_RESVAL 0x0u
322#define KEYMGR_DPE_OP_STATUS_STATUS_MASK 0x3u
323#define KEYMGR_DPE_OP_STATUS_STATUS_OFFSET 0
324#define KEYMGR_DPE_OP_STATUS_STATUS_FIELD \
325 ((bitfield_field32_t) { .mask = KEYMGR_DPE_OP_STATUS_STATUS_MASK, .index = KEYMGR_DPE_OP_STATUS_STATUS_OFFSET })
326#define KEYMGR_DPE_OP_STATUS_STATUS_VALUE_IDLE 0x0
327#define KEYMGR_DPE_OP_STATUS_STATUS_VALUE_WIP 0x1
328#define KEYMGR_DPE_OP_STATUS_STATUS_VALUE_DONE_SUCCESS 0x2
329#define KEYMGR_DPE_OP_STATUS_STATUS_VALUE_DONE_ERROR 0x3
332#define KEYMGR_DPE_ERR_CODE_REG_OFFSET 0xc8
333#define KEYMGR_DPE_ERR_CODE_REG_RESVAL 0x0u
334#define KEYMGR_DPE_ERR_CODE_INVALID_OP_BIT 0
335#define KEYMGR_DPE_ERR_CODE_INVALID_KMAC_INPUT_BIT 1
336#define KEYMGR_DPE_ERR_CODE_INVALID_SHADOW_UPDATE_BIT 2
339#define KEYMGR_DPE_FAULT_STATUS_REG_OFFSET 0xcc
340#define KEYMGR_DPE_FAULT_STATUS_REG_RESVAL 0x0u
341#define KEYMGR_DPE_FAULT_STATUS_CMD_BIT 0
342#define KEYMGR_DPE_FAULT_STATUS_KMAC_FSM_BIT 1
343#define KEYMGR_DPE_FAULT_STATUS_KMAC_DONE_BIT 2
344#define KEYMGR_DPE_FAULT_STATUS_KMAC_OP_BIT 3
345#define KEYMGR_DPE_FAULT_STATUS_KMAC_OUT_BIT 4
346#define KEYMGR_DPE_FAULT_STATUS_REGFILE_INTG_BIT 5
347#define KEYMGR_DPE_FAULT_STATUS_SHADOW_BIT 6
348#define KEYMGR_DPE_FAULT_STATUS_CTRL_FSM_INTG_BIT 7
349#define KEYMGR_DPE_FAULT_STATUS_CTRL_FSM_CHK_BIT 8
350#define KEYMGR_DPE_FAULT_STATUS_CTRL_FSM_CNT_BIT 9
351#define KEYMGR_DPE_FAULT_STATUS_RESEED_CNT_BIT 10
352#define KEYMGR_DPE_FAULT_STATUS_SIDE_CTRL_FSM_BIT 11
353#define KEYMGR_DPE_FAULT_STATUS_SIDE_CTRL_SEL_BIT 12
354#define KEYMGR_DPE_FAULT_STATUS_KEY_ECC_BIT 13
357#define KEYMGR_DPE_DEBUG_REG_OFFSET 0xd0
358#define KEYMGR_DPE_DEBUG_REG_RESVAL 0x0u
359#define KEYMGR_DPE_DEBUG_INVALID_CREATOR_SEED_BIT 0
360#define KEYMGR_DPE_DEBUG_INVALID_OWNER_SEED_BIT 1
361#define KEYMGR_DPE_DEBUG_INVALID_DEV_ID_BIT 2
362#define KEYMGR_DPE_DEBUG_INVALID_HEALTH_STATE_BIT 3
363#define KEYMGR_DPE_DEBUG_INVALID_KEY_VERSION_BIT 4
364#define KEYMGR_DPE_DEBUG_INVALID_KEY_BIT 5
365#define KEYMGR_DPE_DEBUG_INVALID_DIGEST_BIT 6
366#define KEYMGR_DPE_DEBUG_INVALID_ROOT_KEY_BIT 7
367#define KEYMGR_DPE_DEBUG_INACTIVE_LC_EN_BIT 8