 |
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 0x80000000u
37#define AES_ALERT_TEST_RECOV_CTRL_UPDATE_ERR_BIT 0
38#define AES_ALERT_TEST_FATAL_FAULT_BIT 1
39#define AES_ALERT_TEST_REGWEN_BIT 31
42#define AES_KEY_SHARE0_KEY_SHARE0_FIELD_WIDTH 32
43#define AES_KEY_SHARE0_MULTIREG_COUNT 8
46#define AES_KEY_SHARE0_0_REG_OFFSET 0x4
47#define AES_KEY_SHARE0_0_REG_RESVAL 0x0u
50#define AES_KEY_SHARE0_1_REG_OFFSET 0x8
51#define AES_KEY_SHARE0_1_REG_RESVAL 0x0u
54#define AES_KEY_SHARE0_2_REG_OFFSET 0xc
55#define AES_KEY_SHARE0_2_REG_RESVAL 0x0u
58#define AES_KEY_SHARE0_3_REG_OFFSET 0x10
59#define AES_KEY_SHARE0_3_REG_RESVAL 0x0u
62#define AES_KEY_SHARE0_4_REG_OFFSET 0x14
63#define AES_KEY_SHARE0_4_REG_RESVAL 0x0u
66#define AES_KEY_SHARE0_5_REG_OFFSET 0x18
67#define AES_KEY_SHARE0_5_REG_RESVAL 0x0u
70#define AES_KEY_SHARE0_6_REG_OFFSET 0x1c
71#define AES_KEY_SHARE0_6_REG_RESVAL 0x0u
74#define AES_KEY_SHARE0_7_REG_OFFSET 0x20
75#define AES_KEY_SHARE0_7_REG_RESVAL 0x0u
78#define AES_KEY_SHARE1_KEY_SHARE1_FIELD_WIDTH 32
79#define AES_KEY_SHARE1_MULTIREG_COUNT 8
82#define AES_KEY_SHARE1_0_REG_OFFSET 0x24
83#define AES_KEY_SHARE1_0_REG_RESVAL 0x0u
86#define AES_KEY_SHARE1_1_REG_OFFSET 0x28
87#define AES_KEY_SHARE1_1_REG_RESVAL 0x0u
90#define AES_KEY_SHARE1_2_REG_OFFSET 0x2c
91#define AES_KEY_SHARE1_2_REG_RESVAL 0x0u
94#define AES_KEY_SHARE1_3_REG_OFFSET 0x30
95#define AES_KEY_SHARE1_3_REG_RESVAL 0x0u
98#define AES_KEY_SHARE1_4_REG_OFFSET 0x34
99#define AES_KEY_SHARE1_4_REG_RESVAL 0x0u
102#define AES_KEY_SHARE1_5_REG_OFFSET 0x38
103#define AES_KEY_SHARE1_5_REG_RESVAL 0x0u
106#define AES_KEY_SHARE1_6_REG_OFFSET 0x3c
107#define AES_KEY_SHARE1_6_REG_RESVAL 0x0u
110#define AES_KEY_SHARE1_7_REG_OFFSET 0x40
111#define AES_KEY_SHARE1_7_REG_RESVAL 0x0u
114#define AES_IV_IV_FIELD_WIDTH 32
115#define AES_IV_MULTIREG_COUNT 4
118#define AES_IV_0_REG_OFFSET 0x44
119#define AES_IV_0_REG_RESVAL 0x0u
122#define AES_IV_1_REG_OFFSET 0x48
123#define AES_IV_1_REG_RESVAL 0x0u
126#define AES_IV_2_REG_OFFSET 0x4c
127#define AES_IV_2_REG_RESVAL 0x0u
130#define AES_IV_3_REG_OFFSET 0x50
131#define AES_IV_3_REG_RESVAL 0x0u
134#define AES_DATA_IN_DATA_IN_FIELD_WIDTH 32
135#define AES_DATA_IN_MULTIREG_COUNT 4
138#define AES_DATA_IN_0_REG_OFFSET 0x54
139#define AES_DATA_IN_0_REG_RESVAL 0x0u
142#define AES_DATA_IN_1_REG_OFFSET 0x58
143#define AES_DATA_IN_1_REG_RESVAL 0x0u
146#define AES_DATA_IN_2_REG_OFFSET 0x5c
147#define AES_DATA_IN_2_REG_RESVAL 0x0u
150#define AES_DATA_IN_3_REG_OFFSET 0x60
151#define AES_DATA_IN_3_REG_RESVAL 0x0u
154#define AES_DATA_OUT_DATA_OUT_FIELD_WIDTH 32
155#define AES_DATA_OUT_MULTIREG_COUNT 4
158#define AES_DATA_OUT_0_REG_OFFSET 0x64
159#define AES_DATA_OUT_0_REG_RESVAL 0x0u
162#define AES_DATA_OUT_1_REG_OFFSET 0x68
163#define AES_DATA_OUT_1_REG_RESVAL 0x0u
166#define AES_DATA_OUT_2_REG_OFFSET 0x6c
167#define AES_DATA_OUT_2_REG_RESVAL 0x0u
170#define AES_DATA_OUT_3_REG_OFFSET 0x70
171#define AES_DATA_OUT_3_REG_RESVAL 0x0u
174#define AES_CTRL_SHADOWED_REG_OFFSET 0x74
175#define AES_CTRL_SHADOWED_REG_RESVAL 0x11fdu
176#define AES_CTRL_SHADOWED_OPERATION_MASK 0x3u
177#define AES_CTRL_SHADOWED_OPERATION_OFFSET 0
178#define AES_CTRL_SHADOWED_OPERATION_FIELD \
179 ((bitfield_field32_t) { .mask = AES_CTRL_SHADOWED_OPERATION_MASK, .index = AES_CTRL_SHADOWED_OPERATION_OFFSET })
180#define AES_CTRL_SHADOWED_OPERATION_VALUE_AES_ENC 0x1
181#define AES_CTRL_SHADOWED_OPERATION_VALUE_AES_DEC 0x2
182#define AES_CTRL_SHADOWED_MODE_MASK 0x3fu
183#define AES_CTRL_SHADOWED_MODE_OFFSET 2
184#define AES_CTRL_SHADOWED_MODE_FIELD \
185 ((bitfield_field32_t) { .mask = AES_CTRL_SHADOWED_MODE_MASK, .index = AES_CTRL_SHADOWED_MODE_OFFSET })
186#define AES_CTRL_SHADOWED_MODE_VALUE_AES_ECB 0x1
187#define AES_CTRL_SHADOWED_MODE_VALUE_AES_CBC 0x2
188#define AES_CTRL_SHADOWED_MODE_VALUE_AES_CFB 0x4
189#define AES_CTRL_SHADOWED_MODE_VALUE_AES_OFB 0x8
190#define AES_CTRL_SHADOWED_MODE_VALUE_AES_CTR 0x10
191#define AES_CTRL_SHADOWED_MODE_VALUE_AES_GCM 0x20
192#define AES_CTRL_SHADOWED_MODE_VALUE_AES_NONE 0x3f
193#define AES_CTRL_SHADOWED_KEY_LEN_MASK 0x7u
194#define AES_CTRL_SHADOWED_KEY_LEN_OFFSET 8
195#define AES_CTRL_SHADOWED_KEY_LEN_FIELD \
196 ((bitfield_field32_t) { .mask = AES_CTRL_SHADOWED_KEY_LEN_MASK, .index = AES_CTRL_SHADOWED_KEY_LEN_OFFSET })
197#define AES_CTRL_SHADOWED_KEY_LEN_VALUE_AES_128 0x1
198#define AES_CTRL_SHADOWED_KEY_LEN_VALUE_AES_192 0x2
199#define AES_CTRL_SHADOWED_KEY_LEN_VALUE_AES_256 0x4
200#define AES_CTRL_SHADOWED_SIDELOAD_BIT 11
201#define AES_CTRL_SHADOWED_PRNG_RESEED_RATE_MASK 0x7u
202#define AES_CTRL_SHADOWED_PRNG_RESEED_RATE_OFFSET 12
203#define AES_CTRL_SHADOWED_PRNG_RESEED_RATE_FIELD \
204 ((bitfield_field32_t) { .mask = AES_CTRL_SHADOWED_PRNG_RESEED_RATE_MASK, .index = AES_CTRL_SHADOWED_PRNG_RESEED_RATE_OFFSET })
205#define AES_CTRL_SHADOWED_PRNG_RESEED_RATE_VALUE_PER_1 0x1
206#define AES_CTRL_SHADOWED_PRNG_RESEED_RATE_VALUE_PER_64 0x2
207#define AES_CTRL_SHADOWED_PRNG_RESEED_RATE_VALUE_PER_8K 0x4
208#define AES_CTRL_SHADOWED_MANUAL_OPERATION_BIT 15
211#define AES_CTRL_AUX_SHADOWED_REG_OFFSET 0x78
212#define AES_CTRL_AUX_SHADOWED_REG_RESVAL 0x1u
213#define AES_CTRL_AUX_SHADOWED_KEY_TOUCH_FORCES_RESEED_BIT 0
214#define AES_CTRL_AUX_SHADOWED_FORCE_MASKS_BIT 1
215#define AES_CTRL_AUX_SHADOWED_KEEP_START_TRIGGER_HIGH_BIT 2
218#define AES_CTRL_AUX_REGWEN_REG_OFFSET 0x7c
219#define AES_CTRL_AUX_REGWEN_REG_RESVAL 0x1u
220#define AES_CTRL_AUX_REGWEN_CTRL_AUX_REGWEN_BIT 0
223#define AES_TRIGGER_REG_OFFSET 0x80
224#define AES_TRIGGER_REG_RESVAL 0xeu
225#define AES_TRIGGER_START_BIT 0
226#define AES_TRIGGER_KEY_IV_DATA_IN_CLEAR_BIT 1
227#define AES_TRIGGER_DATA_OUT_CLEAR_BIT 2
228#define AES_TRIGGER_PRNG_RESEED_BIT 3
231#define AES_STATUS_REG_OFFSET 0x84
232#define AES_STATUS_REG_RESVAL 0x0u
233#define AES_STATUS_IDLE_BIT 0
234#define AES_STATUS_STALL_BIT 1
235#define AES_STATUS_OUTPUT_LOST_BIT 2
236#define AES_STATUS_OUTPUT_VALID_BIT 3
237#define AES_STATUS_INPUT_READY_BIT 4
238#define AES_STATUS_ALERT_RECOV_CTRL_UPDATE_ERR_BIT 5
239#define AES_STATUS_ALERT_FATAL_FAULT_BIT 6
242#define AES_CTRL_GCM_SHADOWED_REG_OFFSET 0x88
243#define AES_CTRL_GCM_SHADOWED_REG_RESVAL 0x401u
244#define AES_CTRL_GCM_SHADOWED_PHASE_MASK 0x3fu
245#define AES_CTRL_GCM_SHADOWED_PHASE_OFFSET 0
246#define AES_CTRL_GCM_SHADOWED_PHASE_FIELD \
247 ((bitfield_field32_t) { .mask = AES_CTRL_GCM_SHADOWED_PHASE_MASK, .index = AES_CTRL_GCM_SHADOWED_PHASE_OFFSET })
248#define AES_CTRL_GCM_SHADOWED_PHASE_VALUE_GCM_INIT 0x1
249#define AES_CTRL_GCM_SHADOWED_PHASE_VALUE_GCM_RESTORE 0x2
250#define AES_CTRL_GCM_SHADOWED_PHASE_VALUE_GCM_AAD 0x4
251#define AES_CTRL_GCM_SHADOWED_PHASE_VALUE_GCM_TEXT 0x8
252#define AES_CTRL_GCM_SHADOWED_PHASE_VALUE_GCM_SAVE 0x10
253#define AES_CTRL_GCM_SHADOWED_PHASE_VALUE_GCM_TAG 0x20
254#define AES_CTRL_GCM_SHADOWED_NUM_VALID_BYTES_MASK 0x1fu
255#define AES_CTRL_GCM_SHADOWED_NUM_VALID_BYTES_OFFSET 6
256#define AES_CTRL_GCM_SHADOWED_NUM_VALID_BYTES_FIELD \
257 ((bitfield_field32_t) { .mask = AES_CTRL_GCM_SHADOWED_NUM_VALID_BYTES_MASK, .index = AES_CTRL_GCM_SHADOWED_NUM_VALID_BYTES_OFFSET })