 |
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_OPERATION_VALUE_LOAD_ROOT_KEY 0x5
88#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_MASK 0x3u
89#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_OFFSET 12
90#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_FIELD \
91 ((bitfield_field32_t) { .mask = KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_MASK, .index = KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_OFFSET })
92#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_VALUE_NONE 0x0
93#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_VALUE_AES 0x1
94#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_VALUE_KMAC 0x2
95#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_VALUE_OTBN 0x3
96#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_SRC_SEL_MASK 0x7u
97#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_SRC_SEL_OFFSET 14
98#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_SRC_SEL_FIELD \
99 ((bitfield_field32_t) { .mask = KEYMGR_DPE_CONTROL_SHADOWED_SLOT_SRC_SEL_MASK, .index = KEYMGR_DPE_CONTROL_SHADOWED_SLOT_SRC_SEL_OFFSET })
100#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_DST_SEL_MASK 0x7u
101#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_DST_SEL_OFFSET 18
102#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_DST_SEL_FIELD \
103 ((bitfield_field32_t) { .mask = KEYMGR_DPE_CONTROL_SHADOWED_SLOT_DST_SEL_MASK, .index = KEYMGR_DPE_CONTROL_SHADOWED_SLOT_DST_SEL_OFFSET })
104#define KEYMGR_DPE_CONTROL_SHADOWED_SW_BINDING_ONLY_BIT 22
107#define KEYMGR_DPE_SIDELOAD_CLEAR_REG_OFFSET 0x1c
108#define KEYMGR_DPE_SIDELOAD_CLEAR_REG_RESVAL 0x0u
109#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_MASK 0x7u
110#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_OFFSET 0
111#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_FIELD \
112 ((bitfield_field32_t) { .mask = KEYMGR_DPE_SIDELOAD_CLEAR_VAL_MASK, .index = KEYMGR_DPE_SIDELOAD_CLEAR_VAL_OFFSET })
113#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_VALUE_NONE 0x0
114#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_VALUE_AES 0x1
115#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_VALUE_KMAC 0x2
116#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_VALUE_OTBN 0x3
119#define KEYMGR_DPE_RESEED_INTERVAL_REGWEN_REG_OFFSET 0x20
120#define KEYMGR_DPE_RESEED_INTERVAL_REGWEN_REG_RESVAL 0x1u
121#define KEYMGR_DPE_RESEED_INTERVAL_REGWEN_EN_BIT 0
124#define KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_REG_OFFSET 0x24
125#define KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_REG_RESVAL 0x100u
126#define KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_VAL_MASK 0xffffu
127#define KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_VAL_OFFSET 0
128#define KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_VAL_FIELD \
129 ((bitfield_field32_t) { .mask = KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_VAL_MASK, .index = KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_VAL_OFFSET })
132#define KEYMGR_DPE_SLOT_POLICY_REGWEN_REG_OFFSET 0x28
133#define KEYMGR_DPE_SLOT_POLICY_REGWEN_REG_RESVAL 0x1u
134#define KEYMGR_DPE_SLOT_POLICY_REGWEN_EN_BIT 0
137#define KEYMGR_DPE_SLOT_POLICY_REG_OFFSET 0x2c
138#define KEYMGR_DPE_SLOT_POLICY_REG_RESVAL 0x0u
139#define KEYMGR_DPE_SLOT_POLICY_ALLOW_CHILD_BIT 0
140#define KEYMGR_DPE_SLOT_POLICY_EXPORTABLE_BIT 1
141#define KEYMGR_DPE_SLOT_POLICY_RETAIN_PARENT_BIT 2
144#define KEYMGR_DPE_SW_BINDING_REGWEN_REG_OFFSET 0x30
145#define KEYMGR_DPE_SW_BINDING_REGWEN_REG_RESVAL 0x1u
146#define KEYMGR_DPE_SW_BINDING_REGWEN_EN_BIT 0
149#define KEYMGR_DPE_SW_BINDING_VAL_FIELD_WIDTH 32
150#define KEYMGR_DPE_SW_BINDING_MULTIREG_COUNT 8
153#define KEYMGR_DPE_SW_BINDING_0_REG_OFFSET 0x34
154#define KEYMGR_DPE_SW_BINDING_0_REG_RESVAL 0x0u
157#define KEYMGR_DPE_SW_BINDING_1_REG_OFFSET 0x38
158#define KEYMGR_DPE_SW_BINDING_1_REG_RESVAL 0x0u
161#define KEYMGR_DPE_SW_BINDING_2_REG_OFFSET 0x3c
162#define KEYMGR_DPE_SW_BINDING_2_REG_RESVAL 0x0u
165#define KEYMGR_DPE_SW_BINDING_3_REG_OFFSET 0x40
166#define KEYMGR_DPE_SW_BINDING_3_REG_RESVAL 0x0u
169#define KEYMGR_DPE_SW_BINDING_4_REG_OFFSET 0x44
170#define KEYMGR_DPE_SW_BINDING_4_REG_RESVAL 0x0u
173#define KEYMGR_DPE_SW_BINDING_5_REG_OFFSET 0x48
174#define KEYMGR_DPE_SW_BINDING_5_REG_RESVAL 0x0u
177#define KEYMGR_DPE_SW_BINDING_6_REG_OFFSET 0x4c
178#define KEYMGR_DPE_SW_BINDING_6_REG_RESVAL 0x0u
181#define KEYMGR_DPE_SW_BINDING_7_REG_OFFSET 0x50
182#define KEYMGR_DPE_SW_BINDING_7_REG_RESVAL 0x0u
185#define KEYMGR_DPE_SALT_VAL_FIELD_WIDTH 32
186#define KEYMGR_DPE_SALT_MULTIREG_COUNT 8
189#define KEYMGR_DPE_SALT_0_REG_OFFSET 0x54
190#define KEYMGR_DPE_SALT_0_REG_RESVAL 0x0u
193#define KEYMGR_DPE_SALT_1_REG_OFFSET 0x58
194#define KEYMGR_DPE_SALT_1_REG_RESVAL 0x0u
197#define KEYMGR_DPE_SALT_2_REG_OFFSET 0x5c
198#define KEYMGR_DPE_SALT_2_REG_RESVAL 0x0u
201#define KEYMGR_DPE_SALT_3_REG_OFFSET 0x60
202#define KEYMGR_DPE_SALT_3_REG_RESVAL 0x0u
205#define KEYMGR_DPE_SALT_4_REG_OFFSET 0x64
206#define KEYMGR_DPE_SALT_4_REG_RESVAL 0x0u
209#define KEYMGR_DPE_SALT_5_REG_OFFSET 0x68
210#define KEYMGR_DPE_SALT_5_REG_RESVAL 0x0u
213#define KEYMGR_DPE_SALT_6_REG_OFFSET 0x6c
214#define KEYMGR_DPE_SALT_6_REG_RESVAL 0x0u
217#define KEYMGR_DPE_SALT_7_REG_OFFSET 0x70
218#define KEYMGR_DPE_SALT_7_REG_RESVAL 0x0u
221#define KEYMGR_DPE_KEY_VERSION_VAL_FIELD_WIDTH 32
222#define KEYMGR_DPE_KEY_VERSION_MULTIREG_COUNT 1
225#define KEYMGR_DPE_KEY_VERSION_REG_OFFSET 0x74
226#define KEYMGR_DPE_KEY_VERSION_REG_RESVAL 0x0u
229#define KEYMGR_DPE_MAX_KEY_VER_REGWEN_REG_OFFSET 0x78
230#define KEYMGR_DPE_MAX_KEY_VER_REGWEN_REG_RESVAL 0x1u
231#define KEYMGR_DPE_MAX_KEY_VER_REGWEN_EN_BIT 0
234#define KEYMGR_DPE_MAX_KEY_VER_SHADOWED_REG_OFFSET 0x7c
235#define KEYMGR_DPE_MAX_KEY_VER_SHADOWED_REG_RESVAL 0x0u
238#define KEYMGR_DPE_SW_SHARE0_OUTPUT_VAL_FIELD_WIDTH 32
239#define KEYMGR_DPE_SW_SHARE0_OUTPUT_MULTIREG_COUNT 8
242#define KEYMGR_DPE_SW_SHARE0_OUTPUT_0_REG_OFFSET 0x80
243#define KEYMGR_DPE_SW_SHARE0_OUTPUT_0_REG_RESVAL 0x0u
246#define KEYMGR_DPE_SW_SHARE0_OUTPUT_1_REG_OFFSET 0x84
247#define KEYMGR_DPE_SW_SHARE0_OUTPUT_1_REG_RESVAL 0x0u
250#define KEYMGR_DPE_SW_SHARE0_OUTPUT_2_REG_OFFSET 0x88
251#define KEYMGR_DPE_SW_SHARE0_OUTPUT_2_REG_RESVAL 0x0u
254#define KEYMGR_DPE_SW_SHARE0_OUTPUT_3_REG_OFFSET 0x8c
255#define KEYMGR_DPE_SW_SHARE0_OUTPUT_3_REG_RESVAL 0x0u
258#define KEYMGR_DPE_SW_SHARE0_OUTPUT_4_REG_OFFSET 0x90
259#define KEYMGR_DPE_SW_SHARE0_OUTPUT_4_REG_RESVAL 0x0u
262#define KEYMGR_DPE_SW_SHARE0_OUTPUT_5_REG_OFFSET 0x94
263#define KEYMGR_DPE_SW_SHARE0_OUTPUT_5_REG_RESVAL 0x0u
266#define KEYMGR_DPE_SW_SHARE0_OUTPUT_6_REG_OFFSET 0x98
267#define KEYMGR_DPE_SW_SHARE0_OUTPUT_6_REG_RESVAL 0x0u
270#define KEYMGR_DPE_SW_SHARE0_OUTPUT_7_REG_OFFSET 0x9c
271#define KEYMGR_DPE_SW_SHARE0_OUTPUT_7_REG_RESVAL 0x0u
274#define KEYMGR_DPE_SW_SHARE1_OUTPUT_VAL_FIELD_WIDTH 32
275#define KEYMGR_DPE_SW_SHARE1_OUTPUT_MULTIREG_COUNT 8
278#define KEYMGR_DPE_SW_SHARE1_OUTPUT_0_REG_OFFSET 0xa0
279#define KEYMGR_DPE_SW_SHARE1_OUTPUT_0_REG_RESVAL 0x0u
282#define KEYMGR_DPE_SW_SHARE1_OUTPUT_1_REG_OFFSET 0xa4
283#define KEYMGR_DPE_SW_SHARE1_OUTPUT_1_REG_RESVAL 0x0u
286#define KEYMGR_DPE_SW_SHARE1_OUTPUT_2_REG_OFFSET 0xa8
287#define KEYMGR_DPE_SW_SHARE1_OUTPUT_2_REG_RESVAL 0x0u
290#define KEYMGR_DPE_SW_SHARE1_OUTPUT_3_REG_OFFSET 0xac
291#define KEYMGR_DPE_SW_SHARE1_OUTPUT_3_REG_RESVAL 0x0u
294#define KEYMGR_DPE_SW_SHARE1_OUTPUT_4_REG_OFFSET 0xb0
295#define KEYMGR_DPE_SW_SHARE1_OUTPUT_4_REG_RESVAL 0x0u
298#define KEYMGR_DPE_SW_SHARE1_OUTPUT_5_REG_OFFSET 0xb4
299#define KEYMGR_DPE_SW_SHARE1_OUTPUT_5_REG_RESVAL 0x0u
302#define KEYMGR_DPE_SW_SHARE1_OUTPUT_6_REG_OFFSET 0xb8
303#define KEYMGR_DPE_SW_SHARE1_OUTPUT_6_REG_RESVAL 0x0u
306#define KEYMGR_DPE_SW_SHARE1_OUTPUT_7_REG_OFFSET 0xbc
307#define KEYMGR_DPE_SW_SHARE1_OUTPUT_7_REG_RESVAL 0x0u
310#define KEYMGR_DPE_WORKING_STATE_REG_OFFSET 0xc0
311#define KEYMGR_DPE_WORKING_STATE_REG_RESVAL 0x0u
312#define KEYMGR_DPE_WORKING_STATE_STATE_MASK 0x3u
313#define KEYMGR_DPE_WORKING_STATE_STATE_OFFSET 0
314#define KEYMGR_DPE_WORKING_STATE_STATE_FIELD \
315 ((bitfield_field32_t) { .mask = KEYMGR_DPE_WORKING_STATE_STATE_MASK, .index = KEYMGR_DPE_WORKING_STATE_STATE_OFFSET })
316#define KEYMGR_DPE_WORKING_STATE_STATE_VALUE_RESET 0x0
317#define KEYMGR_DPE_WORKING_STATE_STATE_VALUE_AVAILABLE 0x1
318#define KEYMGR_DPE_WORKING_STATE_STATE_VALUE_DISABLED 0x2
319#define KEYMGR_DPE_WORKING_STATE_STATE_VALUE_INVALID 0x3
322#define KEYMGR_DPE_OP_STATUS_REG_OFFSET 0xc4
323#define KEYMGR_DPE_OP_STATUS_REG_RESVAL 0x0u
324#define KEYMGR_DPE_OP_STATUS_STATUS_MASK 0x3u
325#define KEYMGR_DPE_OP_STATUS_STATUS_OFFSET 0
326#define KEYMGR_DPE_OP_STATUS_STATUS_FIELD \
327 ((bitfield_field32_t) { .mask = KEYMGR_DPE_OP_STATUS_STATUS_MASK, .index = KEYMGR_DPE_OP_STATUS_STATUS_OFFSET })
328#define KEYMGR_DPE_OP_STATUS_STATUS_VALUE_IDLE 0x0
329#define KEYMGR_DPE_OP_STATUS_STATUS_VALUE_WIP 0x1
330#define KEYMGR_DPE_OP_STATUS_STATUS_VALUE_DONE_SUCCESS 0x2
331#define KEYMGR_DPE_OP_STATUS_STATUS_VALUE_DONE_ERROR 0x3
334#define KEYMGR_DPE_ERR_CODE_REG_OFFSET 0xc8
335#define KEYMGR_DPE_ERR_CODE_REG_RESVAL 0x0u
336#define KEYMGR_DPE_ERR_CODE_INVALID_OP_BIT 0
337#define KEYMGR_DPE_ERR_CODE_INVALID_KMAC_INPUT_BIT 1
338#define KEYMGR_DPE_ERR_CODE_INVALID_SHADOW_UPDATE_BIT 2
341#define KEYMGR_DPE_FAULT_STATUS_REG_OFFSET 0xcc
342#define KEYMGR_DPE_FAULT_STATUS_REG_RESVAL 0x0u
343#define KEYMGR_DPE_FAULT_STATUS_CMD_BIT 0
344#define KEYMGR_DPE_FAULT_STATUS_KMAC_FSM_BIT 1
345#define KEYMGR_DPE_FAULT_STATUS_KMAC_DONE_BIT 2
346#define KEYMGR_DPE_FAULT_STATUS_KMAC_OP_BIT 3
347#define KEYMGR_DPE_FAULT_STATUS_KMAC_OUT_BIT 4
348#define KEYMGR_DPE_FAULT_STATUS_REGFILE_INTG_BIT 5
349#define KEYMGR_DPE_FAULT_STATUS_SHADOW_BIT 6
350#define KEYMGR_DPE_FAULT_STATUS_CTRL_FSM_INTG_BIT 7
351#define KEYMGR_DPE_FAULT_STATUS_CTRL_FSM_CHK_BIT 8
352#define KEYMGR_DPE_FAULT_STATUS_CTRL_FSM_CNT_BIT 9
353#define KEYMGR_DPE_FAULT_STATUS_RESEED_CNT_BIT 10
354#define KEYMGR_DPE_FAULT_STATUS_SIDE_CTRL_FSM_BIT 11
355#define KEYMGR_DPE_FAULT_STATUS_SIDE_CTRL_SEL_BIT 12
356#define KEYMGR_DPE_FAULT_STATUS_KEY_ECC_BIT 13
359#define KEYMGR_DPE_DEBUG_REG_OFFSET 0xd0
360#define KEYMGR_DPE_DEBUG_REG_RESVAL 0x0u
361#define KEYMGR_DPE_DEBUG_INVALID_CREATOR_SEED_BIT 0
362#define KEYMGR_DPE_DEBUG_INVALID_OWNER_SEED_BIT 1
363#define KEYMGR_DPE_DEBUG_INVALID_DEV_ID_BIT 2
364#define KEYMGR_DPE_DEBUG_INVALID_HEALTH_STATE_BIT 3
365#define KEYMGR_DPE_DEBUG_INVALID_KEY_VERSION_BIT 4
366#define KEYMGR_DPE_DEBUG_INVALID_KEY_BIT 5
367#define KEYMGR_DPE_DEBUG_INVALID_DIGEST_BIT 6
368#define KEYMGR_DPE_DEBUG_INVALID_ROOT_KEY_BIT 7
369#define KEYMGR_DPE_DEBUG_INACTIVE_LC_EN_BIT 8
372#define KEYMGR_DPE_LOAD_KEY_LOCK_REG_OFFSET 0xd4
373#define KEYMGR_DPE_LOAD_KEY_LOCK_REG_RESVAL 0x0u
374#define KEYMGR_DPE_LOAD_KEY_LOCK_LOCK_BIT 0