 |
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_MAX_HW_SLOT 8
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 0x80000000u
61#define KEYMGR_DPE_ALERT_TEST_RECOV_OPERATION_ERR_BIT 0
62#define KEYMGR_DPE_ALERT_TEST_FATAL_FAULT_ERR_BIT 1
63#define KEYMGR_DPE_ALERT_TEST_REGWEN_BIT 31
66#define KEYMGR_DPE_CFG_REGWEN_REG_OFFSET 0x10
67#define KEYMGR_DPE_CFG_REGWEN_REG_RESVAL 0x1u
68#define KEYMGR_DPE_CFG_REGWEN_EN_BIT 0
71#define KEYMGR_DPE_START_REG_OFFSET 0x14
72#define KEYMGR_DPE_START_REG_RESVAL 0x0u
73#define KEYMGR_DPE_START_EN_BIT 0
74#define KEYMGR_DPE_START_EN_VALUE_VALID_STATE 0x1
77#define KEYMGR_DPE_CONTROL_SHADOWED_REG_OFFSET 0x18
78#define KEYMGR_DPE_CONTROL_SHADOWED_REG_RESVAL 0x10u
79#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_MASK 0x7u
80#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_OFFSET 4
81#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_FIELD \
82 ((bitfield_field32_t) { .mask = KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_MASK, .index = KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_OFFSET })
83#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_VALUE_ADVANCE 0x0
84#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_VALUE_ERASE_SLOT 0x1
85#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_VALUE_GENERATE_SW_OUTPUT 0x2
86#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_VALUE_GENERATE_HW_OUTPUT 0x3
87#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_VALUE_DISABLE 0x4
88#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_VALUE_LOAD_ROOT_KEY 0x5
89#define KEYMGR_DPE_CONTROL_SHADOWED_OPERATION_VALUE_LOAD_SECONDARY_ROOT_KEY 0x6
90#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_MASK 0x7u
91#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_OFFSET 11
92#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_FIELD \
93 ((bitfield_field32_t) { .mask = KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_MASK, .index = KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_OFFSET })
94#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_VALUE_NONE 0x0
95#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_VALUE_AES 0x1
96#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_VALUE_KMAC 0x2
97#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_VALUE_OTBN 0x3
98#define KEYMGR_DPE_CONTROL_SHADOWED_DEST_SEL_VALUE_HMAC 0x4
99#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_SRC_SEL_MASK 0x7u
100#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_SRC_SEL_OFFSET 14
101#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_SRC_SEL_FIELD \
102 ((bitfield_field32_t) { .mask = KEYMGR_DPE_CONTROL_SHADOWED_SLOT_SRC_SEL_MASK, .index = KEYMGR_DPE_CONTROL_SHADOWED_SLOT_SRC_SEL_OFFSET })
103#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_DST_SEL_MASK 0x7u
104#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_DST_SEL_OFFSET 18
105#define KEYMGR_DPE_CONTROL_SHADOWED_SLOT_DST_SEL_FIELD \
106 ((bitfield_field32_t) { .mask = KEYMGR_DPE_CONTROL_SHADOWED_SLOT_DST_SEL_MASK, .index = KEYMGR_DPE_CONTROL_SHADOWED_SLOT_DST_SEL_OFFSET })
107#define KEYMGR_DPE_CONTROL_SHADOWED_SW_BINDING_ONLY_BIT 22
110#define KEYMGR_DPE_SIDELOAD_CLEAR_REG_OFFSET 0x1c
111#define KEYMGR_DPE_SIDELOAD_CLEAR_REG_RESVAL 0x0u
112#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_MASK 0x7u
113#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_OFFSET 0
114#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_FIELD \
115 ((bitfield_field32_t) { .mask = KEYMGR_DPE_SIDELOAD_CLEAR_VAL_MASK, .index = KEYMGR_DPE_SIDELOAD_CLEAR_VAL_OFFSET })
116#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_VALUE_NONE 0x0
117#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_VALUE_AES 0x1
118#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_VALUE_KMAC 0x2
119#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_VALUE_OTBN 0x3
120#define KEYMGR_DPE_SIDELOAD_CLEAR_VAL_VALUE_HMAC 0x4
123#define KEYMGR_DPE_RESEED_INTERVAL_REGWEN_REG_OFFSET 0x20
124#define KEYMGR_DPE_RESEED_INTERVAL_REGWEN_REG_RESVAL 0x1u
125#define KEYMGR_DPE_RESEED_INTERVAL_REGWEN_EN_BIT 0
128#define KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_REG_OFFSET 0x24
129#define KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_REG_RESVAL 0x100u
130#define KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_VAL_MASK 0xffffu
131#define KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_VAL_OFFSET 0
132#define KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_VAL_FIELD \
133 ((bitfield_field32_t) { .mask = KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_VAL_MASK, .index = KEYMGR_DPE_RESEED_INTERVAL_SHADOWED_VAL_OFFSET })
136#define KEYMGR_DPE_SLOT_POLICY_REGWEN_REG_OFFSET 0x28
137#define KEYMGR_DPE_SLOT_POLICY_REGWEN_REG_RESVAL 0x1u
138#define KEYMGR_DPE_SLOT_POLICY_REGWEN_EN_BIT 0
141#define KEYMGR_DPE_SLOT_POLICY_REG_OFFSET 0x2c
142#define KEYMGR_DPE_SLOT_POLICY_REG_RESVAL 0x0u
143#define KEYMGR_DPE_SLOT_POLICY_ALLOW_CHILD_BIT 0
144#define KEYMGR_DPE_SLOT_POLICY_EXPORTABLE_BIT 1
145#define KEYMGR_DPE_SLOT_POLICY_RETAIN_PARENT_BIT 2
146#define KEYMGR_DPE_SLOT_POLICY_ALLOW_KEYGEN_BIT 3
149#define KEYMGR_DPE_SW_BINDING_REGWEN_REG_OFFSET 0x30
150#define KEYMGR_DPE_SW_BINDING_REGWEN_REG_RESVAL 0x1u
151#define KEYMGR_DPE_SW_BINDING_REGWEN_EN_BIT 0
154#define KEYMGR_DPE_SW_BINDING_VAL_FIELD_WIDTH 32
155#define KEYMGR_DPE_SW_BINDING_MULTIREG_COUNT 8
158#define KEYMGR_DPE_SW_BINDING_0_REG_OFFSET 0x34
159#define KEYMGR_DPE_SW_BINDING_0_REG_RESVAL 0x0u
162#define KEYMGR_DPE_SW_BINDING_1_REG_OFFSET 0x38
163#define KEYMGR_DPE_SW_BINDING_1_REG_RESVAL 0x0u
166#define KEYMGR_DPE_SW_BINDING_2_REG_OFFSET 0x3c
167#define KEYMGR_DPE_SW_BINDING_2_REG_RESVAL 0x0u
170#define KEYMGR_DPE_SW_BINDING_3_REG_OFFSET 0x40
171#define KEYMGR_DPE_SW_BINDING_3_REG_RESVAL 0x0u
174#define KEYMGR_DPE_SW_BINDING_4_REG_OFFSET 0x44
175#define KEYMGR_DPE_SW_BINDING_4_REG_RESVAL 0x0u
178#define KEYMGR_DPE_SW_BINDING_5_REG_OFFSET 0x48
179#define KEYMGR_DPE_SW_BINDING_5_REG_RESVAL 0x0u
182#define KEYMGR_DPE_SW_BINDING_6_REG_OFFSET 0x4c
183#define KEYMGR_DPE_SW_BINDING_6_REG_RESVAL 0x0u
186#define KEYMGR_DPE_SW_BINDING_7_REG_OFFSET 0x50
187#define KEYMGR_DPE_SW_BINDING_7_REG_RESVAL 0x0u
190#define KEYMGR_DPE_SALT_VAL_FIELD_WIDTH 32
191#define KEYMGR_DPE_SALT_MULTIREG_COUNT 8
194#define KEYMGR_DPE_SALT_0_REG_OFFSET 0x54
195#define KEYMGR_DPE_SALT_0_REG_RESVAL 0x0u
198#define KEYMGR_DPE_SALT_1_REG_OFFSET 0x58
199#define KEYMGR_DPE_SALT_1_REG_RESVAL 0x0u
202#define KEYMGR_DPE_SALT_2_REG_OFFSET 0x5c
203#define KEYMGR_DPE_SALT_2_REG_RESVAL 0x0u
206#define KEYMGR_DPE_SALT_3_REG_OFFSET 0x60
207#define KEYMGR_DPE_SALT_3_REG_RESVAL 0x0u
210#define KEYMGR_DPE_SALT_4_REG_OFFSET 0x64
211#define KEYMGR_DPE_SALT_4_REG_RESVAL 0x0u
214#define KEYMGR_DPE_SALT_5_REG_OFFSET 0x68
215#define KEYMGR_DPE_SALT_5_REG_RESVAL 0x0u
218#define KEYMGR_DPE_SALT_6_REG_OFFSET 0x6c
219#define KEYMGR_DPE_SALT_6_REG_RESVAL 0x0u
222#define KEYMGR_DPE_SALT_7_REG_OFFSET 0x70
223#define KEYMGR_DPE_SALT_7_REG_RESVAL 0x0u
226#define KEYMGR_DPE_KEY_VERSION_VAL_FIELD_WIDTH 32
227#define KEYMGR_DPE_KEY_VERSION_MULTIREG_COUNT 1
230#define KEYMGR_DPE_KEY_VERSION_REG_OFFSET 0x74
231#define KEYMGR_DPE_KEY_VERSION_REG_RESVAL 0x0u
234#define KEYMGR_DPE_MAX_KEY_VER_REGWEN_REG_OFFSET 0x78
235#define KEYMGR_DPE_MAX_KEY_VER_REGWEN_REG_RESVAL 0x1u
236#define KEYMGR_DPE_MAX_KEY_VER_REGWEN_EN_BIT 0
239#define KEYMGR_DPE_MAX_KEY_VER_SHADOWED_REG_OFFSET 0x7c
240#define KEYMGR_DPE_MAX_KEY_VER_SHADOWED_REG_RESVAL 0x0u
243#define KEYMGR_DPE_SW_SHARE0_OUTPUT_VAL_FIELD_WIDTH 32
244#define KEYMGR_DPE_SW_SHARE0_OUTPUT_MULTIREG_COUNT 8
247#define KEYMGR_DPE_SW_SHARE0_OUTPUT_0_REG_OFFSET 0x80
248#define KEYMGR_DPE_SW_SHARE0_OUTPUT_0_REG_RESVAL 0x0u
251#define KEYMGR_DPE_SW_SHARE0_OUTPUT_1_REG_OFFSET 0x84
252#define KEYMGR_DPE_SW_SHARE0_OUTPUT_1_REG_RESVAL 0x0u
255#define KEYMGR_DPE_SW_SHARE0_OUTPUT_2_REG_OFFSET 0x88
256#define KEYMGR_DPE_SW_SHARE0_OUTPUT_2_REG_RESVAL 0x0u
259#define KEYMGR_DPE_SW_SHARE0_OUTPUT_3_REG_OFFSET 0x8c
260#define KEYMGR_DPE_SW_SHARE0_OUTPUT_3_REG_RESVAL 0x0u
263#define KEYMGR_DPE_SW_SHARE0_OUTPUT_4_REG_OFFSET 0x90
264#define KEYMGR_DPE_SW_SHARE0_OUTPUT_4_REG_RESVAL 0x0u
267#define KEYMGR_DPE_SW_SHARE0_OUTPUT_5_REG_OFFSET 0x94
268#define KEYMGR_DPE_SW_SHARE0_OUTPUT_5_REG_RESVAL 0x0u
271#define KEYMGR_DPE_SW_SHARE0_OUTPUT_6_REG_OFFSET 0x98
272#define KEYMGR_DPE_SW_SHARE0_OUTPUT_6_REG_RESVAL 0x0u
275#define KEYMGR_DPE_SW_SHARE0_OUTPUT_7_REG_OFFSET 0x9c
276#define KEYMGR_DPE_SW_SHARE0_OUTPUT_7_REG_RESVAL 0x0u
279#define KEYMGR_DPE_SW_SHARE1_OUTPUT_VAL_FIELD_WIDTH 32
280#define KEYMGR_DPE_SW_SHARE1_OUTPUT_MULTIREG_COUNT 8
283#define KEYMGR_DPE_SW_SHARE1_OUTPUT_0_REG_OFFSET 0xa0
284#define KEYMGR_DPE_SW_SHARE1_OUTPUT_0_REG_RESVAL 0x0u
287#define KEYMGR_DPE_SW_SHARE1_OUTPUT_1_REG_OFFSET 0xa4
288#define KEYMGR_DPE_SW_SHARE1_OUTPUT_1_REG_RESVAL 0x0u
291#define KEYMGR_DPE_SW_SHARE1_OUTPUT_2_REG_OFFSET 0xa8
292#define KEYMGR_DPE_SW_SHARE1_OUTPUT_2_REG_RESVAL 0x0u
295#define KEYMGR_DPE_SW_SHARE1_OUTPUT_3_REG_OFFSET 0xac
296#define KEYMGR_DPE_SW_SHARE1_OUTPUT_3_REG_RESVAL 0x0u
299#define KEYMGR_DPE_SW_SHARE1_OUTPUT_4_REG_OFFSET 0xb0
300#define KEYMGR_DPE_SW_SHARE1_OUTPUT_4_REG_RESVAL 0x0u
303#define KEYMGR_DPE_SW_SHARE1_OUTPUT_5_REG_OFFSET 0xb4
304#define KEYMGR_DPE_SW_SHARE1_OUTPUT_5_REG_RESVAL 0x0u
307#define KEYMGR_DPE_SW_SHARE1_OUTPUT_6_REG_OFFSET 0xb8
308#define KEYMGR_DPE_SW_SHARE1_OUTPUT_6_REG_RESVAL 0x0u
311#define KEYMGR_DPE_SW_SHARE1_OUTPUT_7_REG_OFFSET 0xbc
312#define KEYMGR_DPE_SW_SHARE1_OUTPUT_7_REG_RESVAL 0x0u
315#define KEYMGR_DPE_WORKING_STATE_REG_OFFSET 0xc0
316#define KEYMGR_DPE_WORKING_STATE_REG_RESVAL 0x0u
317#define KEYMGR_DPE_WORKING_STATE_STATE_MASK 0x3u
318#define KEYMGR_DPE_WORKING_STATE_STATE_OFFSET 0
319#define KEYMGR_DPE_WORKING_STATE_STATE_FIELD \
320 ((bitfield_field32_t) { .mask = KEYMGR_DPE_WORKING_STATE_STATE_MASK, .index = KEYMGR_DPE_WORKING_STATE_STATE_OFFSET })
321#define KEYMGR_DPE_WORKING_STATE_STATE_VALUE_RESET 0x0
322#define KEYMGR_DPE_WORKING_STATE_STATE_VALUE_AVAILABLE 0x1
323#define KEYMGR_DPE_WORKING_STATE_STATE_VALUE_DISABLED 0x2
324#define KEYMGR_DPE_WORKING_STATE_STATE_VALUE_INVALID 0x3
327#define KEYMGR_DPE_OP_STATUS_REG_OFFSET 0xc4
328#define KEYMGR_DPE_OP_STATUS_REG_RESVAL 0x0u
329#define KEYMGR_DPE_OP_STATUS_STATUS_MASK 0x3u
330#define KEYMGR_DPE_OP_STATUS_STATUS_OFFSET 0
331#define KEYMGR_DPE_OP_STATUS_STATUS_FIELD \
332 ((bitfield_field32_t) { .mask = KEYMGR_DPE_OP_STATUS_STATUS_MASK, .index = KEYMGR_DPE_OP_STATUS_STATUS_OFFSET })
333#define KEYMGR_DPE_OP_STATUS_STATUS_VALUE_IDLE 0x0
334#define KEYMGR_DPE_OP_STATUS_STATUS_VALUE_WIP 0x1
335#define KEYMGR_DPE_OP_STATUS_STATUS_VALUE_DONE_SUCCESS 0x2
336#define KEYMGR_DPE_OP_STATUS_STATUS_VALUE_DONE_ERROR 0x3
339#define KEYMGR_DPE_METADATA_LOW_MAX_KEY_VERSION_FIELD_WIDTH 32
340#define KEYMGR_DPE_METADATA_LOW_MULTIREG_COUNT 8
343#define KEYMGR_DPE_METADATA_LOW_0_REG_OFFSET 0xc8
344#define KEYMGR_DPE_METADATA_LOW_0_REG_RESVAL 0x0u
347#define KEYMGR_DPE_METADATA_LOW_1_REG_OFFSET 0xcc
348#define KEYMGR_DPE_METADATA_LOW_1_REG_RESVAL 0x0u
351#define KEYMGR_DPE_METADATA_LOW_2_REG_OFFSET 0xd0
352#define KEYMGR_DPE_METADATA_LOW_2_REG_RESVAL 0x0u
355#define KEYMGR_DPE_METADATA_LOW_3_REG_OFFSET 0xd4
356#define KEYMGR_DPE_METADATA_LOW_3_REG_RESVAL 0x0u
359#define KEYMGR_DPE_METADATA_LOW_4_REG_OFFSET 0xd8
360#define KEYMGR_DPE_METADATA_LOW_4_REG_RESVAL 0x0u
363#define KEYMGR_DPE_METADATA_LOW_5_REG_OFFSET 0xdc
364#define KEYMGR_DPE_METADATA_LOW_5_REG_RESVAL 0x0u
367#define KEYMGR_DPE_METADATA_LOW_6_REG_OFFSET 0xe0
368#define KEYMGR_DPE_METADATA_LOW_6_REG_RESVAL 0x0u
371#define KEYMGR_DPE_METADATA_LOW_7_REG_OFFSET 0xe4
372#define KEYMGR_DPE_METADATA_LOW_7_REG_RESVAL 0x0u
375#define KEYMGR_DPE_METADATA_HIGH_VALID_FIELD_WIDTH 1
376#define KEYMGR_DPE_METADATA_HIGH_BOOT_STAGE_FIELD_WIDTH 2
377#define KEYMGR_DPE_METADATA_HIGH_ALLOW_CHILD_POLICY_FIELD_WIDTH 1
378#define KEYMGR_DPE_METADATA_HIGH_EXPORTABLE_POLICY_FIELD_WIDTH 1
379#define KEYMGR_DPE_METADATA_HIGH_RETAIN_PARENT_POLICY_FIELD_WIDTH 1
380#define KEYMGR_DPE_METADATA_HIGH_ALLOW_KEYGEN_POLICY_FIELD_WIDTH 1
381#define KEYMGR_DPE_METADATA_HIGH_MULTIREG_COUNT 8
384#define KEYMGR_DPE_METADATA_HIGH_0_REG_OFFSET 0xe8
385#define KEYMGR_DPE_METADATA_HIGH_0_REG_RESVAL 0x0u
386#define KEYMGR_DPE_METADATA_HIGH_0_VALID_0_BIT 0
387#define KEYMGR_DPE_METADATA_HIGH_0_BOOT_STAGE_0_MASK 0x3u
388#define KEYMGR_DPE_METADATA_HIGH_0_BOOT_STAGE_0_OFFSET 1
389#define KEYMGR_DPE_METADATA_HIGH_0_BOOT_STAGE_0_FIELD \
390 ((bitfield_field32_t) { .mask = KEYMGR_DPE_METADATA_HIGH_0_BOOT_STAGE_0_MASK, .index = KEYMGR_DPE_METADATA_HIGH_0_BOOT_STAGE_0_OFFSET })
391#define KEYMGR_DPE_METADATA_HIGH_0_ALLOW_CHILD_POLICY_0_BIT 3
392#define KEYMGR_DPE_METADATA_HIGH_0_EXPORTABLE_POLICY_0_BIT 4
393#define KEYMGR_DPE_METADATA_HIGH_0_RETAIN_PARENT_POLICY_0_BIT 5
394#define KEYMGR_DPE_METADATA_HIGH_0_ALLOW_KEYGEN_POLICY_0_BIT 6
397#define KEYMGR_DPE_METADATA_HIGH_1_REG_OFFSET 0xec
398#define KEYMGR_DPE_METADATA_HIGH_1_REG_RESVAL 0x0u
399#define KEYMGR_DPE_METADATA_HIGH_1_VALID_1_BIT 0
400#define KEYMGR_DPE_METADATA_HIGH_1_BOOT_STAGE_1_MASK 0x3u
401#define KEYMGR_DPE_METADATA_HIGH_1_BOOT_STAGE_1_OFFSET 1
402#define KEYMGR_DPE_METADATA_HIGH_1_BOOT_STAGE_1_FIELD \
403 ((bitfield_field32_t) { .mask = KEYMGR_DPE_METADATA_HIGH_1_BOOT_STAGE_1_MASK, .index = KEYMGR_DPE_METADATA_HIGH_1_BOOT_STAGE_1_OFFSET })
404#define KEYMGR_DPE_METADATA_HIGH_1_ALLOW_CHILD_POLICY_1_BIT 3
405#define KEYMGR_DPE_METADATA_HIGH_1_EXPORTABLE_POLICY_1_BIT 4
406#define KEYMGR_DPE_METADATA_HIGH_1_RETAIN_PARENT_POLICY_1_BIT 5
407#define KEYMGR_DPE_METADATA_HIGH_1_ALLOW_KEYGEN_POLICY_1_BIT 6
410#define KEYMGR_DPE_METADATA_HIGH_2_REG_OFFSET 0xf0
411#define KEYMGR_DPE_METADATA_HIGH_2_REG_RESVAL 0x0u
412#define KEYMGR_DPE_METADATA_HIGH_2_VALID_2_BIT 0
413#define KEYMGR_DPE_METADATA_HIGH_2_BOOT_STAGE_2_MASK 0x3u
414#define KEYMGR_DPE_METADATA_HIGH_2_BOOT_STAGE_2_OFFSET 1
415#define KEYMGR_DPE_METADATA_HIGH_2_BOOT_STAGE_2_FIELD \
416 ((bitfield_field32_t) { .mask = KEYMGR_DPE_METADATA_HIGH_2_BOOT_STAGE_2_MASK, .index = KEYMGR_DPE_METADATA_HIGH_2_BOOT_STAGE_2_OFFSET })
417#define KEYMGR_DPE_METADATA_HIGH_2_ALLOW_CHILD_POLICY_2_BIT 3
418#define KEYMGR_DPE_METADATA_HIGH_2_EXPORTABLE_POLICY_2_BIT 4
419#define KEYMGR_DPE_METADATA_HIGH_2_RETAIN_PARENT_POLICY_2_BIT 5
420#define KEYMGR_DPE_METADATA_HIGH_2_ALLOW_KEYGEN_POLICY_2_BIT 6
423#define KEYMGR_DPE_METADATA_HIGH_3_REG_OFFSET 0xf4
424#define KEYMGR_DPE_METADATA_HIGH_3_REG_RESVAL 0x0u
425#define KEYMGR_DPE_METADATA_HIGH_3_VALID_3_BIT 0
426#define KEYMGR_DPE_METADATA_HIGH_3_BOOT_STAGE_3_MASK 0x3u
427#define KEYMGR_DPE_METADATA_HIGH_3_BOOT_STAGE_3_OFFSET 1
428#define KEYMGR_DPE_METADATA_HIGH_3_BOOT_STAGE_3_FIELD \
429 ((bitfield_field32_t) { .mask = KEYMGR_DPE_METADATA_HIGH_3_BOOT_STAGE_3_MASK, .index = KEYMGR_DPE_METADATA_HIGH_3_BOOT_STAGE_3_OFFSET })
430#define KEYMGR_DPE_METADATA_HIGH_3_ALLOW_CHILD_POLICY_3_BIT 3
431#define KEYMGR_DPE_METADATA_HIGH_3_EXPORTABLE_POLICY_3_BIT 4
432#define KEYMGR_DPE_METADATA_HIGH_3_RETAIN_PARENT_POLICY_3_BIT 5
433#define KEYMGR_DPE_METADATA_HIGH_3_ALLOW_KEYGEN_POLICY_3_BIT 6
436#define KEYMGR_DPE_METADATA_HIGH_4_REG_OFFSET 0xf8
437#define KEYMGR_DPE_METADATA_HIGH_4_REG_RESVAL 0x0u
438#define KEYMGR_DPE_METADATA_HIGH_4_VALID_4_BIT 0
439#define KEYMGR_DPE_METADATA_HIGH_4_BOOT_STAGE_4_MASK 0x3u
440#define KEYMGR_DPE_METADATA_HIGH_4_BOOT_STAGE_4_OFFSET 1
441#define KEYMGR_DPE_METADATA_HIGH_4_BOOT_STAGE_4_FIELD \
442 ((bitfield_field32_t) { .mask = KEYMGR_DPE_METADATA_HIGH_4_BOOT_STAGE_4_MASK, .index = KEYMGR_DPE_METADATA_HIGH_4_BOOT_STAGE_4_OFFSET })
443#define KEYMGR_DPE_METADATA_HIGH_4_ALLOW_CHILD_POLICY_4_BIT 3
444#define KEYMGR_DPE_METADATA_HIGH_4_EXPORTABLE_POLICY_4_BIT 4
445#define KEYMGR_DPE_METADATA_HIGH_4_RETAIN_PARENT_POLICY_4_BIT 5
446#define KEYMGR_DPE_METADATA_HIGH_4_ALLOW_KEYGEN_POLICY_4_BIT 6
449#define KEYMGR_DPE_METADATA_HIGH_5_REG_OFFSET 0xfc
450#define KEYMGR_DPE_METADATA_HIGH_5_REG_RESVAL 0x0u
451#define KEYMGR_DPE_METADATA_HIGH_5_VALID_5_BIT 0
452#define KEYMGR_DPE_METADATA_HIGH_5_BOOT_STAGE_5_MASK 0x3u
453#define KEYMGR_DPE_METADATA_HIGH_5_BOOT_STAGE_5_OFFSET 1
454#define KEYMGR_DPE_METADATA_HIGH_5_BOOT_STAGE_5_FIELD \
455 ((bitfield_field32_t) { .mask = KEYMGR_DPE_METADATA_HIGH_5_BOOT_STAGE_5_MASK, .index = KEYMGR_DPE_METADATA_HIGH_5_BOOT_STAGE_5_OFFSET })
456#define KEYMGR_DPE_METADATA_HIGH_5_ALLOW_CHILD_POLICY_5_BIT 3
457#define KEYMGR_DPE_METADATA_HIGH_5_EXPORTABLE_POLICY_5_BIT 4
458#define KEYMGR_DPE_METADATA_HIGH_5_RETAIN_PARENT_POLICY_5_BIT 5
459#define KEYMGR_DPE_METADATA_HIGH_5_ALLOW_KEYGEN_POLICY_5_BIT 6
462#define KEYMGR_DPE_METADATA_HIGH_6_REG_OFFSET 0x100
463#define KEYMGR_DPE_METADATA_HIGH_6_REG_RESVAL 0x0u
464#define KEYMGR_DPE_METADATA_HIGH_6_VALID_6_BIT 0
465#define KEYMGR_DPE_METADATA_HIGH_6_BOOT_STAGE_6_MASK 0x3u
466#define KEYMGR_DPE_METADATA_HIGH_6_BOOT_STAGE_6_OFFSET 1
467#define KEYMGR_DPE_METADATA_HIGH_6_BOOT_STAGE_6_FIELD \
468 ((bitfield_field32_t) { .mask = KEYMGR_DPE_METADATA_HIGH_6_BOOT_STAGE_6_MASK, .index = KEYMGR_DPE_METADATA_HIGH_6_BOOT_STAGE_6_OFFSET })
469#define KEYMGR_DPE_METADATA_HIGH_6_ALLOW_CHILD_POLICY_6_BIT 3
470#define KEYMGR_DPE_METADATA_HIGH_6_EXPORTABLE_POLICY_6_BIT 4
471#define KEYMGR_DPE_METADATA_HIGH_6_RETAIN_PARENT_POLICY_6_BIT 5
472#define KEYMGR_DPE_METADATA_HIGH_6_ALLOW_KEYGEN_POLICY_6_BIT 6
475#define KEYMGR_DPE_METADATA_HIGH_7_REG_OFFSET 0x104
476#define KEYMGR_DPE_METADATA_HIGH_7_REG_RESVAL 0x0u
477#define KEYMGR_DPE_METADATA_HIGH_7_VALID_7_BIT 0
478#define KEYMGR_DPE_METADATA_HIGH_7_BOOT_STAGE_7_MASK 0x3u
479#define KEYMGR_DPE_METADATA_HIGH_7_BOOT_STAGE_7_OFFSET 1
480#define KEYMGR_DPE_METADATA_HIGH_7_BOOT_STAGE_7_FIELD \
481 ((bitfield_field32_t) { .mask = KEYMGR_DPE_METADATA_HIGH_7_BOOT_STAGE_7_MASK, .index = KEYMGR_DPE_METADATA_HIGH_7_BOOT_STAGE_7_OFFSET })
482#define KEYMGR_DPE_METADATA_HIGH_7_ALLOW_CHILD_POLICY_7_BIT 3
483#define KEYMGR_DPE_METADATA_HIGH_7_EXPORTABLE_POLICY_7_BIT 4
484#define KEYMGR_DPE_METADATA_HIGH_7_RETAIN_PARENT_POLICY_7_BIT 5
485#define KEYMGR_DPE_METADATA_HIGH_7_ALLOW_KEYGEN_POLICY_7_BIT 6
488#define KEYMGR_DPE_ERR_CODE_REG_OFFSET 0x108
489#define KEYMGR_DPE_ERR_CODE_REG_RESVAL 0x0u
490#define KEYMGR_DPE_ERR_CODE_INVALID_OP_BIT 0
491#define KEYMGR_DPE_ERR_CODE_INVALID_KMAC_INPUT_BIT 1
492#define KEYMGR_DPE_ERR_CODE_INVALID_SHADOW_UPDATE_BIT 2
495#define KEYMGR_DPE_FAULT_STATUS_REG_OFFSET 0x10c
496#define KEYMGR_DPE_FAULT_STATUS_REG_RESVAL 0x0u
497#define KEYMGR_DPE_FAULT_STATUS_CMD_BIT 0
498#define KEYMGR_DPE_FAULT_STATUS_KMAC_FSM_BIT 1
499#define KEYMGR_DPE_FAULT_STATUS_KMAC_DONE_BIT 2
500#define KEYMGR_DPE_FAULT_STATUS_KMAC_OP_BIT 3
501#define KEYMGR_DPE_FAULT_STATUS_KMAC_OUT_BIT 4
502#define KEYMGR_DPE_FAULT_STATUS_REGFILE_INTG_BIT 5
503#define KEYMGR_DPE_FAULT_STATUS_SHADOW_BIT 6
504#define KEYMGR_DPE_FAULT_STATUS_CTRL_FSM_INTG_BIT 7
505#define KEYMGR_DPE_FAULT_STATUS_CTRL_FSM_CHK_BIT 8
506#define KEYMGR_DPE_FAULT_STATUS_CTRL_FSM_CNT_BIT 9
507#define KEYMGR_DPE_FAULT_STATUS_RESEED_CNT_BIT 10
508#define KEYMGR_DPE_FAULT_STATUS_SIDE_CTRL_FSM_BIT 11
509#define KEYMGR_DPE_FAULT_STATUS_SIDE_CTRL_SEL_BIT 12
510#define KEYMGR_DPE_FAULT_STATUS_KEY_ECC_BIT 13
513#define KEYMGR_DPE_DEBUG_REG_OFFSET 0x110
514#define KEYMGR_DPE_DEBUG_REG_RESVAL 0x0u
515#define KEYMGR_DPE_DEBUG_INVALID_CREATOR_SEED_BIT 0
516#define KEYMGR_DPE_DEBUG_INVALID_OWNER_SEED_BIT 1
517#define KEYMGR_DPE_DEBUG_INVALID_DEV_ID_BIT 2
518#define KEYMGR_DPE_DEBUG_INVALID_HEALTH_STATE_BIT 3
519#define KEYMGR_DPE_DEBUG_INVALID_KEY_VERSION_BIT 4
520#define KEYMGR_DPE_DEBUG_INVALID_KEY_BIT 5
521#define KEYMGR_DPE_DEBUG_INVALID_DIGEST_BIT 6
522#define KEYMGR_DPE_DEBUG_INVALID_ROOT_KEY_BIT 7
523#define KEYMGR_DPE_DEBUG_INACTIVE_LC_EN_BIT 8
524#define KEYMGR_DPE_DEBUG_INVALID_SECONDARY_ROOT_KEY_BIT 9
528#define KEYMGR_DPE_LOAD_ROOT_KEY_LOCK_REG_OFFSET 0x114
529#define KEYMGR_DPE_LOAD_ROOT_KEY_LOCK_REG_RESVAL 0x0u
530#define KEYMGR_DPE_LOAD_ROOT_KEY_LOCK_LOCK_BIT 0
534#define KEYMGR_DPE_LOAD_SECONDARY_ROOT_KEY_LOCK_REG_OFFSET 0x118
535#define KEYMGR_DPE_LOAD_SECONDARY_ROOT_KEY_LOCK_REG_RESVAL 0x0u
536#define KEYMGR_DPE_LOAD_SECONDARY_ROOT_KEY_LOCK_LOCK_BIT 0
540#define KEYMGR_DPE_ENFORCE_SW_BINDING_REG_OFFSET 0x11c
541#define KEYMGR_DPE_ENFORCE_SW_BINDING_REG_RESVAL 0x9u
542#define KEYMGR_DPE_ENFORCE_SW_BINDING_ENFORCE_MASK 0xfu
543#define KEYMGR_DPE_ENFORCE_SW_BINDING_ENFORCE_OFFSET 0
544#define KEYMGR_DPE_ENFORCE_SW_BINDING_ENFORCE_FIELD \
545 ((bitfield_field32_t) { .mask = KEYMGR_DPE_ENFORCE_SW_BINDING_ENFORCE_MASK, .index = KEYMGR_DPE_ENFORCE_SW_BINDING_ENFORCE_OFFSET })