 |
Software APIs
|
Go to the documentation of this file.
20#define AES_PARAM_NUM_REGS_KEY 8
23#define AES_PARAM_NUM_REGS_IV 4
26#define AES_PARAM_NUM_REGS_DATA 4
29#define AES_PARAM_NUM_ALERTS 2
32#define AES_PARAM_REG_WIDTH 32
35#define AES_ALERT_TEST_REG_OFFSET 0x0
36#define AES_ALERT_TEST_REG_RESVAL 0x0u
37#define AES_ALERT_TEST_RECOV_CTRL_UPDATE_ERR_BIT 0
38#define AES_ALERT_TEST_FATAL_FAULT_BIT 1
41#define AES_KEY_SHARE0_KEY_SHARE0_FIELD_WIDTH 32
42#define AES_KEY_SHARE0_MULTIREG_COUNT 8
45#define AES_KEY_SHARE0_0_REG_OFFSET 0x4
46#define AES_KEY_SHARE0_0_REG_RESVAL 0x0u
49#define AES_KEY_SHARE0_1_REG_OFFSET 0x8
50#define AES_KEY_SHARE0_1_REG_RESVAL 0x0u
53#define AES_KEY_SHARE0_2_REG_OFFSET 0xc
54#define AES_KEY_SHARE0_2_REG_RESVAL 0x0u
57#define AES_KEY_SHARE0_3_REG_OFFSET 0x10
58#define AES_KEY_SHARE0_3_REG_RESVAL 0x0u
61#define AES_KEY_SHARE0_4_REG_OFFSET 0x14
62#define AES_KEY_SHARE0_4_REG_RESVAL 0x0u
65#define AES_KEY_SHARE0_5_REG_OFFSET 0x18
66#define AES_KEY_SHARE0_5_REG_RESVAL 0x0u
69#define AES_KEY_SHARE0_6_REG_OFFSET 0x1c
70#define AES_KEY_SHARE0_6_REG_RESVAL 0x0u
73#define AES_KEY_SHARE0_7_REG_OFFSET 0x20
74#define AES_KEY_SHARE0_7_REG_RESVAL 0x0u
77#define AES_KEY_SHARE1_KEY_SHARE1_FIELD_WIDTH 32
78#define AES_KEY_SHARE1_MULTIREG_COUNT 8
81#define AES_KEY_SHARE1_0_REG_OFFSET 0x24
82#define AES_KEY_SHARE1_0_REG_RESVAL 0x0u
85#define AES_KEY_SHARE1_1_REG_OFFSET 0x28
86#define AES_KEY_SHARE1_1_REG_RESVAL 0x0u
89#define AES_KEY_SHARE1_2_REG_OFFSET 0x2c
90#define AES_KEY_SHARE1_2_REG_RESVAL 0x0u
93#define AES_KEY_SHARE1_3_REG_OFFSET 0x30
94#define AES_KEY_SHARE1_3_REG_RESVAL 0x0u
97#define AES_KEY_SHARE1_4_REG_OFFSET 0x34
98#define AES_KEY_SHARE1_4_REG_RESVAL 0x0u
101#define AES_KEY_SHARE1_5_REG_OFFSET 0x38
102#define AES_KEY_SHARE1_5_REG_RESVAL 0x0u
105#define AES_KEY_SHARE1_6_REG_OFFSET 0x3c
106#define AES_KEY_SHARE1_6_REG_RESVAL 0x0u
109#define AES_KEY_SHARE1_7_REG_OFFSET 0x40
110#define AES_KEY_SHARE1_7_REG_RESVAL 0x0u
113#define AES_IV_IV_FIELD_WIDTH 32
114#define AES_IV_MULTIREG_COUNT 4
117#define AES_IV_0_REG_OFFSET 0x44
118#define AES_IV_0_REG_RESVAL 0x0u
121#define AES_IV_1_REG_OFFSET 0x48
122#define AES_IV_1_REG_RESVAL 0x0u
125#define AES_IV_2_REG_OFFSET 0x4c
126#define AES_IV_2_REG_RESVAL 0x0u
129#define AES_IV_3_REG_OFFSET 0x50
130#define AES_IV_3_REG_RESVAL 0x0u
133#define AES_DATA_IN_DATA_IN_FIELD_WIDTH 32
134#define AES_DATA_IN_MULTIREG_COUNT 4
137#define AES_DATA_IN_0_REG_OFFSET 0x54
138#define AES_DATA_IN_0_REG_RESVAL 0x0u
141#define AES_DATA_IN_1_REG_OFFSET 0x58
142#define AES_DATA_IN_1_REG_RESVAL 0x0u
145#define AES_DATA_IN_2_REG_OFFSET 0x5c
146#define AES_DATA_IN_2_REG_RESVAL 0x0u
149#define AES_DATA_IN_3_REG_OFFSET 0x60
150#define AES_DATA_IN_3_REG_RESVAL 0x0u
153#define AES_DATA_OUT_DATA_OUT_FIELD_WIDTH 32
154#define AES_DATA_OUT_MULTIREG_COUNT 4
157#define AES_DATA_OUT_0_REG_OFFSET 0x64
158#define AES_DATA_OUT_0_REG_RESVAL 0x0u
161#define AES_DATA_OUT_1_REG_OFFSET 0x68
162#define AES_DATA_OUT_1_REG_RESVAL 0x0u
165#define AES_DATA_OUT_2_REG_OFFSET 0x6c
166#define AES_DATA_OUT_2_REG_RESVAL 0x0u
169#define AES_DATA_OUT_3_REG_OFFSET 0x70
170#define AES_DATA_OUT_3_REG_RESVAL 0x0u
173#define AES_CTRL_SHADOWED_REG_OFFSET 0x74
174#define AES_CTRL_SHADOWED_REG_RESVAL 0x11fdu
175#define AES_CTRL_SHADOWED_OPERATION_MASK 0x3u
176#define AES_CTRL_SHADOWED_OPERATION_OFFSET 0
177#define AES_CTRL_SHADOWED_OPERATION_FIELD \
178 ((bitfield_field32_t) { .mask = AES_CTRL_SHADOWED_OPERATION_MASK, .index = AES_CTRL_SHADOWED_OPERATION_OFFSET })
179#define AES_CTRL_SHADOWED_OPERATION_VALUE_AES_ENC 0x1
180#define AES_CTRL_SHADOWED_OPERATION_VALUE_AES_DEC 0x2
181#define AES_CTRL_SHADOWED_MODE_MASK 0x3fu
182#define AES_CTRL_SHADOWED_MODE_OFFSET 2
183#define AES_CTRL_SHADOWED_MODE_FIELD \
184 ((bitfield_field32_t) { .mask = AES_CTRL_SHADOWED_MODE_MASK, .index = AES_CTRL_SHADOWED_MODE_OFFSET })
185#define AES_CTRL_SHADOWED_MODE_VALUE_AES_ECB 0x1
186#define AES_CTRL_SHADOWED_MODE_VALUE_AES_CBC 0x2
187#define AES_CTRL_SHADOWED_MODE_VALUE_AES_CFB 0x4
188#define AES_CTRL_SHADOWED_MODE_VALUE_AES_OFB 0x8
189#define AES_CTRL_SHADOWED_MODE_VALUE_AES_CTR 0x10
190#define AES_CTRL_SHADOWED_MODE_VALUE_AES_GCM 0x20
191#define AES_CTRL_SHADOWED_MODE_VALUE_AES_NONE 0x3f
192#define AES_CTRL_SHADOWED_KEY_LEN_MASK 0x7u
193#define AES_CTRL_SHADOWED_KEY_LEN_OFFSET 8
194#define AES_CTRL_SHADOWED_KEY_LEN_FIELD \
195 ((bitfield_field32_t) { .mask = AES_CTRL_SHADOWED_KEY_LEN_MASK, .index = AES_CTRL_SHADOWED_KEY_LEN_OFFSET })
196#define AES_CTRL_SHADOWED_KEY_LEN_VALUE_AES_128 0x1
197#define AES_CTRL_SHADOWED_KEY_LEN_VALUE_AES_192 0x2
198#define AES_CTRL_SHADOWED_KEY_LEN_VALUE_AES_256 0x4
199#define AES_CTRL_SHADOWED_SIDELOAD_BIT 11
200#define AES_CTRL_SHADOWED_PRNG_RESEED_RATE_MASK 0x7u
201#define AES_CTRL_SHADOWED_PRNG_RESEED_RATE_OFFSET 12
202#define AES_CTRL_SHADOWED_PRNG_RESEED_RATE_FIELD \
203 ((bitfield_field32_t) { .mask = AES_CTRL_SHADOWED_PRNG_RESEED_RATE_MASK, .index = AES_CTRL_SHADOWED_PRNG_RESEED_RATE_OFFSET })
204#define AES_CTRL_SHADOWED_PRNG_RESEED_RATE_VALUE_PER_1 0x1
205#define AES_CTRL_SHADOWED_PRNG_RESEED_RATE_VALUE_PER_64 0x2
206#define AES_CTRL_SHADOWED_PRNG_RESEED_RATE_VALUE_PER_8K 0x4
207#define AES_CTRL_SHADOWED_MANUAL_OPERATION_BIT 15
210#define AES_CTRL_AUX_SHADOWED_REG_OFFSET 0x78
211#define AES_CTRL_AUX_SHADOWED_REG_RESVAL 0x1u
212#define AES_CTRL_AUX_SHADOWED_KEY_TOUCH_FORCES_RESEED_BIT 0
213#define AES_CTRL_AUX_SHADOWED_FORCE_MASKS_BIT 1
216#define AES_CTRL_AUX_REGWEN_REG_OFFSET 0x7c
217#define AES_CTRL_AUX_REGWEN_REG_RESVAL 0x1u
218#define AES_CTRL_AUX_REGWEN_CTRL_AUX_REGWEN_BIT 0
221#define AES_TRIGGER_REG_OFFSET 0x80
222#define AES_TRIGGER_REG_RESVAL 0xeu
223#define AES_TRIGGER_START_BIT 0
224#define AES_TRIGGER_KEY_IV_DATA_IN_CLEAR_BIT 1
225#define AES_TRIGGER_DATA_OUT_CLEAR_BIT 2
226#define AES_TRIGGER_PRNG_RESEED_BIT 3
229#define AES_STATUS_REG_OFFSET 0x84
230#define AES_STATUS_REG_RESVAL 0x0u
231#define AES_STATUS_IDLE_BIT 0
232#define AES_STATUS_STALL_BIT 1
233#define AES_STATUS_OUTPUT_LOST_BIT 2
234#define AES_STATUS_OUTPUT_VALID_BIT 3
235#define AES_STATUS_INPUT_READY_BIT 4
236#define AES_STATUS_ALERT_RECOV_CTRL_UPDATE_ERR_BIT 5
237#define AES_STATUS_ALERT_FATAL_FAULT_BIT 6
240#define AES_CTRL_GCM_SHADOWED_REG_OFFSET 0x88
241#define AES_CTRL_GCM_SHADOWED_REG_RESVAL 0x401u
242#define AES_CTRL_GCM_SHADOWED_PHASE_MASK 0x3fu
243#define AES_CTRL_GCM_SHADOWED_PHASE_OFFSET 0
244#define AES_CTRL_GCM_SHADOWED_PHASE_FIELD \
245 ((bitfield_field32_t) { .mask = AES_CTRL_GCM_SHADOWED_PHASE_MASK, .index = AES_CTRL_GCM_SHADOWED_PHASE_OFFSET })
246#define AES_CTRL_GCM_SHADOWED_PHASE_VALUE_GCM_INIT 0x1
247#define AES_CTRL_GCM_SHADOWED_PHASE_VALUE_GCM_RESTORE 0x2
248#define AES_CTRL_GCM_SHADOWED_PHASE_VALUE_GCM_AAD 0x4
249#define AES_CTRL_GCM_SHADOWED_PHASE_VALUE_GCM_TEXT 0x8
250#define AES_CTRL_GCM_SHADOWED_PHASE_VALUE_GCM_SAVE 0x10
251#define AES_CTRL_GCM_SHADOWED_PHASE_VALUE_GCM_TAG 0x20
252#define AES_CTRL_GCM_SHADOWED_NUM_VALID_BYTES_MASK 0x1fu
253#define AES_CTRL_GCM_SHADOWED_NUM_VALID_BYTES_OFFSET 6
254#define AES_CTRL_GCM_SHADOWED_NUM_VALID_BYTES_FIELD \
255 ((bitfield_field32_t) { .mask = AES_CTRL_GCM_SHADOWED_NUM_VALID_BYTES_MASK, .index = AES_CTRL_GCM_SHADOWED_NUM_VALID_BYTES_OFFSET })