1 /**************************************************************************//**
2 * @file     crpt_reg.h
3 * @version  V1.00
4 * @brief    CRPT register definition header file
5 *
6 * @copyright SPDX-License-Identifier: Apache-2.0
7 * @copyright Copyright (C) 2020 Nuvoton Technology Corp. All rights reserved.
8 *****************************************************************************/
9 #ifndef __CRPT_REG_H__
10 #define __CRPT_REG_H__
11 
12 
13 /** @addtogroup REGISTER Control Register
14 
15   @{
16 
17 */
18 
19 
20 /*---------------------- Cryptographic Accelerator -------------------------*/
21 /**
22     @addtogroup CRPT Cryptographic Accelerator(CRPT)
23     Memory Mapped Structure for CRPT Controller
24   @{
25 */
26 
27 typedef struct
28 {
29 
30 
31     /**
32      * @var CRPT_T::INTEN
33      * Offset: 0x00  Crypto Interrupt Enable Control Register
34      * ---------------------------------------------------------------------------------------------------
35      * |Bits    |Field     |Descriptions
36      * | :----: | :----:   | :---- |
37      * |[0]     |AESIEN    |AES Interrupt Enable Bit
38      * |        |          |0 = AES interrupt Disabled.
39      * |        |          |1 = AES interrupt Enabled.
40      * |        |          |Note: In DMA mode, an interrupt will be triggered when amount of data set in AES_DMA_CNT is fed into the AES engine.
41      * |        |          |In Non-DMA mode, an interrupt will be triggered when the AES engine finishes the operation.
42      * |[1]     |AESEIEN   |AES Error Flag Enable Bit
43      * |        |          |0 = AES error interrupt flag Disabled.
44      * |        |          |1 = AES error interrupt flag Enabled.
45      * |[16]    |PRNGIEN   |PRNG Interrupt Enable Bit
46      * |        |          |0 = PRNG interrupt Disabled.
47      * |        |          |1 = PRNG interrupt Enabled.
48      * |[17]    |PRNGEIEN  |PRNG Error Flag Enable Bit
49      * |        |          |0 = PRNG error interrupt flag Disabled.
50      * |        |          |1 = PRNG error interrupt flag Enabled.
51      * |[22]    |ECCIEN    |ECC Interrupt Enable Bit
52      * |        |          |0 = ECC interrupt Disabled.
53      * |        |          |1 = ECC interrupt Enabled.
54      * |        |          |Note: In DMA mode, an interrupt will be triggered when amount of data set in ECC_DMA_CNT is fed into the ECC engine
55      * |        |          |In Non-DMA mode, an interrupt will be triggered when the ECC engine finishes the operation.
56      * |[23]    |ECCEIEN   |ECC Error Interrupt Enable Bit
57      * |        |          |0 = ECC error interrupt flag Disabled.
58      * |        |          |1 = ECC error interrupt flag Enabled.
59      * |[24]    |HMACIEN   |SHA/HMAC Interrupt Enable Bit
60      * |        |          |0 = SHA/HMAC interrupt Disabled.
61      * |        |          |1 = SHA/HMAC interrupt Enabled.
62      * |        |          |Note: In DMA mode, an interrupt will be triggered when amount of data set in HMAC_DMA_CNT is fed into the SHA/HMAC engine
63      * |        |          |In Non-DMA mode, an interrupt will be triggered when the SHA/HMAC engine finishes the operation.
64      * |[25]    |HMACEIEN  |SHA/HMAC Error Interrupt Enable Bit
65      * |        |          |0 = SHA/HMAC error interrupt flag Disabled.
66      * |        |          |1 = HMAC error interrupt flag Enabled.
67      * |[30]    |RSAIEN    |RSA Interrupt Enable Bit
68      * |        |          |0 = RSA interrupt Disabled.
69      * |        |          |1 = RSA interrupt Enabled.
70      * |        |          |Note: In DMA mode, an interrupt will be triggered when amount of data set in RSA_DMA_CNT is fed into the RSA engine.
71      * |[31]    |RSAEIEN   |RSA Error Interrupt Enable Bit
72      * |        |          |0 = RSA error interrupt flag Disabled.
73      * |        |          |1 = RSA error interrupt flag Enabled.
74      * @var CRPT_T::INTSTS
75      * Offset: 0x04  Crypto Interrupt Flag
76      * ---------------------------------------------------------------------------------------------------
77      * |Bits    |Field     |Descriptions
78      * | :----: | :----:   | :---- |
79      * |[0]     |AESIF     |AES Finish Interrupt Flag
80      * |        |          |0 = No AES interrupt.
81      * |        |          |1 = AES encryption/decryption done interrupt.
82      * |        |          |Note:This bit is cleared by writing 1, and it has no effect by writing 0.
83      * |[1]     |AESEIF    |AES Error Flag
84      * |        |          |0 = No AES error.
85      * |        |          |1 = AES encryption/decryption error interrupt.
86      * |        |          |Note:This bit is cleared by writing 1, and it has no effect by writing 0.
87      * |[16]    |PRNGIF    |PRNG Finish Interrupt Flag
88      * |        |          |0 = No PRNG interrupt.
89      * |        |          |1 = PRNG key generation done interrupt.
90      * |        |          |Note:This bit is cleared by writing 1, and it has no effect by writing 0.
91      * |[17]    |PRNGEIF   |PRNGError Flag
92      * |        |          |0 = No PRNG error.
93      * |        |          |1 = PRNG key generation error interrupt.
94      * |        |          |Note:This bit is cleared by writing 1, and it has no effect by writing 0.
95      * |[22]    |ECCIF     |ECC Finish Interrupt Flag
96      * |        |          |0 = No ECC interrupt.
97      * |        |          |1 = ECC operation done interrupt.
98      * |        |          |Note:This bit is cleared by writing 1, and it has no effect by writing 0.
99      * |[23]    |ECCEIF    |ECC Error Flag
100      * |        |          |This register includes operating and setting error
101      * |        |          |The detail flag is shown in CRPT_ECC_STS register.
102      * |        |          |0 = No ECC error.
103      * |        |          |1 = ECC error interrupt.
104      * |        |          |Note:This bit is cleared by writing 1, and it has no effect by writing 0.
105      * |[24]    |HMACIF    |SHA/HMAC Finish Interrupt Flag
106      * |        |          |0 = No SHA/HMAC interrupt.
107      * |        |          |1 = SHA/HMAC operation done interrupt.
108      * |        |          |Note:This bit is cleared by writing 1, and it has no effect by writing 0.
109      * |[25]    |HMACEIF   |SHA/HMAC Error Flag
110      * |        |          |This register includes operating and setting error
111      * |        |          |The detail flag is shown in CRPT_HMAC_STS register.
112      * |        |          |0 = No SHA/HMAC error.
113      * |        |          |1 = SHA/HMAC error interrupt.
114      * |        |          |Note:This bit is cleared by writing 1, and it has no effect by writing 0.
115      * |[30]    |RSAIF     |RSA Finish Interrupt Flag
116      * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.
117      * |        |          |0 = No RSA interrupt.
118      * |        |          |1 = RSA operation done interrupt.
119      * |[31]    |RSAEIF    |RSA Error Interrupt Flag
120      * |        |          |This register includes operating and setting error
121      * |        |          |The detail flag is shown in CRPT_RSA_STS register.
122      * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.
123      * |        |          |0 = No RSA error.
124      * |        |          |1 = RSA error interrupt.
125      * @var CRPT_T::PRNG_CTL
126      * Offset: 0x08  PRNG Control Register
127      * ---------------------------------------------------------------------------------------------------
128      * |Bits    |Field     |Descriptions
129      * | :----: | :----:   | :---- |
130      * |[0]     |START     |Start PRNG Engine
131      * |        |          |0 = Stop PRNG engine.
132      * |        |          |1 = Generate new key and store the new key to register CRPT_PRNG_KEYx, which will be cleared when the new key is generated.
133      * |[1]     |SEEDRLD   |Reload New Seed for PRNG Engine
134      * |        |          |0 = Generating key based on the current seed.
135      * |        |          |1 = Reload new seed.
136      * |[5:2]   |KEYSZ     |PRNG Generate Key Size
137      * |        |          |0000 = 128 bits.
138      * |        |          |0001 = 163 bits.
139      * |        |          |0010 = 192 bits.
140      * |        |          |0011 = 224 bits.
141      * |        |          |0100 = 233 bits.
142      * |        |          |0101 = 255 bits.
143      * |        |          |0110 = 256 bits.
144      * |        |          |0111 = 283 bits (only for KS).
145      * |        |          |1000 = 384 bits (only for KS).
146      * |        |          |1001 = 409 bits (only for KS).
147      * |        |          |1010 = 512 bits (only for KS).
148      * |        |          |1011 = 521 bits (only for KS).
149      * |        |          |1100 = 571 bits (only for KS).
150      * |        |          |1101 = Reserved.
151      * |        |          |1110 = Reserved.
152      * |        |          |1111 = Reserved.
153      * |        |          |Note: 283~571 bits only generate for Key Store.
154      * |[6]     |SEEDSEL   |Seed Select
155      * |        |          |This bit can be set to 1 only after SEEDRDY (TRNG_CTL[9]) bit become to 1.
156      * |        |          |0 = Select the seed which is from PRNG.
157      * |        |          |1 = Select the seed which is from TRNG. (not from CRPT_PRNG_SEED)
158      * |[7]     |SEEDSRC   |Seed Source (Read Only)
159      * |        |          |0 = Seed is from PRNG.
160      * |        |          |1 = Seed is from TRNG. (not from CRPT_PRNG_SEED)
161      * |        |          |Note: This bit is cleared to u20180u2019 when SEEDSEL is 0.
162      * |[8]     |BUSY      |PRNG Busy (Read Only)
163      * |        |          |0 = PRNG engine is idle.
164      * |        |          |1 = Indicate that the PRNG engine is generating CRPT_PRNG_KEYx.
165      * @var CRPT_T::PRNG_SEED
166      * Offset: 0x0C  Seed for PRNG
167      * ---------------------------------------------------------------------------------------------------
168      * |Bits    |Field     |Descriptions
169      * | :----: | :----:   | :---- |
170      * |[31:0]  |SEED      |Seed for PRNG (Write Only)
171      * |        |          |The bits store the seed for PRNG engine.
172      * |        |          |Note: In TRNG+PRNG mode, the seed is from TRNGengine, and it will not store in this register.
173      * @var CRPT_T::PRNG_KEY
174      * Offset: 0x10-0x2C  PRNG Generated Key
175      * ---------------------------------------------------------------------------------------------------
176      * |Bits    |Field     |Descriptions
177      * | :----: | :----:   | :---- |
178      * |[31:0]  |KEY       |Store PRNG Generated Key (Read Only)
179      * |        |          |The bits store the key that is generated by PRNG.
180      * @var CRPT_T::PRNG_STS
181      * Offset: 0x30  PRNG Status Register
182      * ---------------------------------------------------------------------------------------------------
183      * |Bits    |Field     |Descriptions
184      * | :----: | :----:   | :---- |
185      * |[0]     |BUSY      |PRNG Busy Flag
186      * |        |          |0 = PRNG engine is idle.
187      * |        |          |1 = Indicate that the PRNG engine is generating CRPT_PRNG_KEYx.
188      * |[16]    |KCTLERR   |PRNG Key Control Register Error Flag
189      * |        |          |0 = No error.
190      * |        |          |1 = PRNG key control error
191      * |        |          |When PRNG execute ECDSA or ECDH, but PRNG seed not from TRNG or key is not written to the SRAM of key store (WSDST,CRPT_PRNG_KSCTL[23:22] is not equal to u201900u2019).
192      * |[17]    |KSERR     |PRNG Access Key Store Error Flag
193      * |        |          |0 = No error.
194      * |        |          |1 = Access key store fail.
195      * @var CRPT_T::AES_FDBCK
196      * Offset: 0x50-0x5C  AES Engine Output Feedback Data After Cryptographic Operation
197      * ---------------------------------------------------------------------------------------------------
198      * |Bits    |Field     |Descriptions
199      * | :----: | :----:   | :---- |
200      * |[31:0]  |FDBCK     |AES Feedback Information
201      * |        |          |The feedback value is 128 bits in size.
202      * |        |          |The AES engine uses the data from CRPT_AES_FDBCKx as the data inputted to CRPT_AES_IVx for the next block in DMA cascade mode.
203      * |        |          |The AES engine outputs feedback information for IV in the next block operation
204      * |        |          |Software can use this feedback information to implement more than four DMA channels
205      * |        |          |Software can store that feedback value temporarily
206      * |        |          |After switching back, fill the stored feedback value to CRPT_AES_IVx in the same channel operation, and then continue the operation with the original setting.
207      * @var CRPT_T::AES_GCM_IVCNT
208      * Offset: 0x80-0x84  AES GCM IV Byte Count Register
209      * ---------------------------------------------------------------------------------------------------
210      * |Bits    |Field     |Descriptions
211      * | :----: | :----:   | :---- |
212      * |[31:0]  |CNT       |AES GCM IV   Byte Count
213      * |        |          |The bit   length of IV is 64 bits for AES GCM mode
214      * |        |          |The CRPT_AES_GCM_IVCNT keeps the low weightbyte count of initial vector (i.e., len(IV)[34:3])of AES GCM mode and can be read and written.
215      * @var CRPT_T::AES_GCM_ACNT
216      * Offset: 0x88-0x8C  AES GCM A Byte Count Register
217      * ---------------------------------------------------------------------------------------------------
218      * |Bits    |Field     |Descriptions
219      * | :----: | :----:   | :---- |
220      * |[31:0]  |CNT       |AES GCM aByte   Count
221      * |        |          |The bit   length of A is 64 bits for AES GCM mode
222      * |        |          |The CRPT_AES_GCM_ACNT keeps the low   weightbyte count of theadditional authenticated data (i.e., len(A)[34:3])of AES GCM mode and can be read and written.
223      * @var CRPT_T::AES_GCM_PCNT
224      * Offset: 0x90-0x94  AES GCM P Byte Count Register
225      * ---------------------------------------------------------------------------------------------------
226      * |Bits    |Field     |Descriptions
227      * | :----: | :----:   | :---- |
228      * |[31:0]  |CNT       |AES GCM PByte   Count
229      * |        |          |The bit   length of Por Cis 39 bits for AES GCM mode
230      * |        |          |The CRPT_AES_GCM_PCNT0 keeps   the low weightbyte count of theplaintextor ciphertext (i.e., len(P)[34:3]   or len(C)[34:3])of AES GCM mode and can be read and written.
231      * |[60:32] |CNT       |AES GCM P Byte   Count
232      * |        |          |The bit   length of Por C is 39 bits for AES GCM mode
233      * |        |          |The CRPT_AES_GCM_PCNT1 keeps   the high weightbyte count of theplaintext or ciphertext (i.e., len(P)[38:35]   or len(C)[38:35])of AES GCM mode and can be read and written.
234      * |        |          |The bit   length of Por C is 64 bits for AES CCM mode
235      * |        |          |The CRPT_AES_GCM_PCNT1 keeps   the high weightbyte count of theplaintext or ciphertext (i.e., len(P)[63:35]   or len(C)[63:35])of AES CCM mode and can be read and written.
236      * @var CRPT_T::AES_FBADDR
237      * Offset: 0xA0  AES DMA Feedback Address Register
238      * ---------------------------------------------------------------------------------------------------
239      * |Bits    |Field     |Descriptions
240      * | :----: | :----:   | :---- |
241      * |[31:0]  |FBADDR    |AES DMA Feedback Address
242      * |        |          |In DMA cascade mode, software can update DMA feedbackaddress register for automatically reading and writing feedback vaules via DMA.The FBADDR keeps the feedback address of the feedback data for the next cascade operation
243      * |        |          |Based on the feedback address, the AES accelerator can read thefeedback dataof the last cascade opeation from SRAM memory space and write thefeedback dataof the current cascade opeation to SRAM memory space
244      * |        |          |The start of feedback address should be located at word boundary
245      * |        |          |In other words, bit 1 and 0 of FBADDR are ignored.
246      * |        |          |FBADDR can be read and written.
247      * |        |          |In DMA mode, software can update the next CRPT_AES_FBADDR before triggering START.
248      * @var CRPT_T::AES_CTL
249      * Offset: 0x100  AES Control Register
250      * ---------------------------------------------------------------------------------------------------
251      * |Bits    |Field     |Descriptions
252      * | :----: | :----:   | :---- |
253      * |[0]     |START     |AES Engine Start
254      * |        |          |0 = No effect.
255      * |        |          |1 = Start AES engine. BUSY flag will be set.
256      * |        |          |Note: This bit is always 0 when it read back.
257      * |[1]     |STOP      |AES Engine Stop
258      * |        |          |0 = No effect.
259      * |        |          |1 = Stop AES engine.
260      * |        |          |Note: This bit is always 0 when it read back.
261      * |[3:2]   |KEYSZ     |AES Key Size
262      * |        |          |This bit defines three different key size for AES operation.
263      * |        |          |2u2019b00 = 128 bits key.
264      * |        |          |2u2019b01 = 192 bits key.
265      * |        |          |2u2019b10 = 256 bits key.
266      * |        |          |2u2019b11 = Reserved.
267      * |        |          |If the AES accelerator is operating and the corresponding flag BUSY is 1, updating this register has no effect.
268      * |        |          |Note:When SM4EN=1, the key size of AESmust be 128.
269      * |[5]     |DMALAST   |AES Last Block
270      * |        |          |In DMA mode, this bit must be set as beginning the last DMA cascade round.
271      * |        |          |In Non-DMA mode, this bit must be set when feeding in the last block of data in ECB, CBC, CTR, OFB, and CFB mode, and feeding in the (last-1) block of data at CBC-CS1, CBC-CS2, and CBC-CS3 mode.
272      * |        |          |This bit is always 0 when it read back. Must be written again once START is triggered.
273      * |[6]     |DMACSCAD  |AES Engine DMA with Cascade Mode
274      * |        |          |0 = DMA cascade function Disabled.
275      * |        |          |1 = In DMA cascade mode, software can update DMA source address register, destination address register, and byte count register during a cascade operation, without finishing the accelerator operation.
276      * |[7]     |DMAEN     |AES Engine DMA Enable Bit
277      * |        |          |0 = AES DMA engine Disabled.
278      * |        |          |The AES engine operates in Non-DMA mode. The data need to be written in CRPT_AES_DATIN.
279      * |        |          |1 = AES_DMA engine Enabled.
280      * |        |          |The AES engine operates in DMA mode, and data movement from/to the engine is done by DMA logic.
281      * |[15:8]  |OPMODE    |AES Engine Operation Modes
282      * |        |          |0x00 = ECB (Electronic Codebook Mode)  0x01 = CBC (Cipher Block Chaining Mode).
283      * |        |          |0x02 = CFB (Cipher Feedback Mode).
284      * |        |          |0x03 = OFB (Output Feedback Mode).
285      * |        |          |0x04 = CTR (Counter Mode).
286      * |        |          |0x10 = CBC-CS1 (CBC Ciphertext-Stealing 1 Mode).
287      * |        |          |0x11 = CBC-CS2 (CBC Ciphertext-Stealing 2 Mode).
288      * |        |          |0x12 = CBC-CS3 (CBC Ciphertext-Stealing 3 Mode).
289      * |        |          |0x20 = GCM (Galois/Counter Mode).
290      * |        |          |0x21 = GHASH (Galois Hash Function).
291      * |        |          |0x22 = CCM (Counter with CBC-MAC Mode).
292      * |[16]    |ENCRYPTO  |AES Encryption/Decryption
293      * |        |          |0 = AES engine executes decryption operation.
294      * |        |          |1 = AES engine executes encryption operation.
295      * |[17]    |SM4EN     |SM4 Engine Enable
296      * |        |          |0 = Enable AES engine.
297      * |        |          |1 =Enable SM4 engine.
298      * |[20]    |FBIN      |Feedback Input to AES Via DMA Automatically
299      * |        |          |0 = Disable DMA automatical feedback input fucntion.
300      * |        |          |1 =Enable DMA automatical feedback input fucntion.when DMAEN = 1.
301      * |[21]    |FBOUT     |Feedback Output From AES Via DMA Automatically
302      * |        |          |0 = Disable DMA automatical feedback output fucntion.
303      * |        |          |1 =Enable DMA automatical feedback output fucntion when DMAEN = 1.
304      * |[22]    |OUTSWAP   |AES Engine Output Data Swap
305      * |        |          |0 = Keep the original order.
306      * |        |          |1 =The order that CPU reads data from the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.
307      * |[23]    |INSWAP    |AES Engine Input Data Swap
308      * |        |          |0 = Keep the original order.
309      * |        |          |1 =The order that CPU feeds data to the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.
310      * |[24]    |KOUTSWAP  |AES Engine Output Key, Initial Vector and Feedback Swap
311      * |        |          |0 = Keep the original order.
312      * |        |          |1 =The order that CPU readskey, initial vector and feeback from the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.
313      * |[25]    |KINSWAP   |AES Engine Input Key and Initial Vector Swap
314      * |        |          |0 = Keep the original order.
315      * |        |          |1 =The order that CPU feeds key and initial vector to the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.
316      * |[30:26] |KEYUNPRT  |Unprotect Key
317      * |        |          |Writing 0 to CRPT_AES_CTL[31] and u201C10110u201D to CRPT_AES_CTL[30:26] is to unprotect theAES key.
318      * |        |          |The KEYUNPRT can be read and written
319      * |        |          |When it is written as the AES engine is operating, BUSY flag is 1, there would be no effect on KEYUNPRT.
320      * |[31]    |KEYPRT    |Protect Key
321      * |        |          |Read as a flag to reflect KEYPRT.
322      * |        |          |0 = No effect.
323      * |        |          |1 = Protect the content of the AES key from reading
324      * |        |          |The return value for reading CRPT_AES_KEYx is not the content of the registers CRPT_AES_KEYx
325      * |        |          |Once it is set, it can be cleared by asserting KEYUNPRT
326      * |        |          |And the key content would be cleared as well.
327      * @var CRPT_T::AES_STS
328      * Offset: 0x104  AES Engine Flag
329      * ---------------------------------------------------------------------------------------------------
330      * |Bits    |Field     |Descriptions
331      * | :----: | :----:   | :---- |
332      * |[0]     |BUSY      |AES Engine Busy
333      * |        |          |0 = The AES engine is idle or finished.
334      * |        |          |1 = The AES engine is under processing.
335      * |[8]     |INBUFEMPTY|AES Input Buffer Empty
336      * |        |          |0 = There are some data in input buffer waiting for the AES engine to process.
337      * |        |          |1 = AES input buffer is empty
338      * |        |          |Software needs to feed data to the AES engine
339      * |        |          |Otherwise, the AES engine will be pending to wait for input data.
340      * |[9]     |INBUFFULL |AES Input Buffer Full Flag
341      * |        |          |0 = AES input buffer is not full. Software can feed the data into the AES engine.
342      * |        |          |1 = AES input buffer is full
343      * |        |          |Software cannot feed data to the AES engine
344      * |        |          |Otherwise, the flag INBUFERR will be set to 1.
345      * |[10]    |INBUFERR  |AES Input Buffer Error Flag
346      * |        |          |0 = No error.
347      * |        |          |1 = Error happens during feeding data to the AES engine.
348      * |[12]    |CNTERR    |CRPT_AES_CNT Setting Error
349      * |        |          |0 = No error in CRPT_AES_CNT setting.
350      * |        |          |1 = CRPT_AES_CNT is 0 or not a multiply of 16 in ECB, CBC, CFB, OFB, and CTR mode if DMAEN (CRPT_AES_CTL[7]) is enabled.
351      * |[16]    |OUTBUFEMPTY|AES Out Buffer Empty
352      * |        |          |0 = AES output buffer is not empty. There are some valid data kept in output buffer.
353      * |        |          |1 = AES output buffer is empty
354      * |        |          |Software cannot get data from CRPT_AES_DATOUT
355      * |        |          |Otherwise, the flag OUTBUFERR will be set to 1 since the output buffer is empty.
356      * |[17]    |OUTBUFFULL|AES Out Buffer Full Flag
357      * |        |          |0 = AES output buffer is not full.
358      * |        |          |1 = AES output buffer is full, and software needs to get data from CRPT_AES_DATOUT
359      * |        |          |Otherwise, the AES engine will be pending since the output buffer is full.
360      * |[18]    |OUTBUFERR |AES Out Buffer Error Flag
361      * |        |          |0 = No error.
362      * |        |          |1 = Error happens during getting the result from AES engine.
363      * |[20]    |BUSERR    |AES DMA Access Bus Error Flag
364      * |        |          |0 = No error.
365      * |        |          |1 = Bus error will stop DMA operation and AES engine.
366      * |[21]    |KSERR     |AES Engine Access Key Store Error Flag
367      * |        |          |0 = No error.
368      * |        |          |1 = Access error will stop AES engine.
369      * @var CRPT_T::AES_DATIN
370      * Offset: 0x108  AES Engine Data Input Port Register
371      * ---------------------------------------------------------------------------------------------------
372      * |Bits    |Field     |Descriptions
373      * | :----: | :----:   | :---- |
374      * |[31:0]  |DATIN     |AES Engine Input Port
375      * |        |          |CPU feeds data to AES engine through this port by checking CRPT_AES_STS. Feed data as INBUFFULL is 0.
376      * @var CRPT_T::AES_DATOUT
377      * Offset: 0x10C  AES Engine Data Output Port Register
378      * ---------------------------------------------------------------------------------------------------
379      * |Bits    |Field     |Descriptions
380      * | :----: | :----:   | :---- |
381      * |[31:0]  |DATOUT    |AES Engine Output Port
382      * |        |          |CPU gets results from the AES engine through this port by checking CRPT_AES_STS
383      * |        |          |Get data as OUTBUFEMPTY is 0.
384      * @var CRPT_T::AES_KEY
385      * Offset: 0x110-0x12C  AES Key Word Register
386      * ---------------------------------------------------------------------------------------------------
387      * |Bits    |Field     |Descriptions
388      * | :----: | :----:   | :---- |
389      * |[31:0]  |KEY       |CRPT_AES_KEYx
390      * |        |          |The KEY keeps the security key for AES operation.
391      * |        |          |x = 0, 1..7.
392      * |        |          |The security key for AES accelerator can be 128, 192, or 256 bits and four, six, or eight 32-bit registers are to store each security key.
393      * |        |          |{CRPT_AES_KEY3, CRPT_AES_KEY2, CRPT_AES_KEY1, CRPT_AES_KEY0} stores the 128-bit security key for AES operation.
394      * |        |          |{CRPT_AES_KEY5, CRPT_AES_KEY4, CRPT_AES_KEY3, CRPT_AES_KEY2, CRPT_AES_KEY1, CRPT_AES_KEY0} stores the 192-bit security key for AES operation.
395      * |        |          |{CRPT_AES_KEY7, CRPT_AES_KEY6, CRPT_AES_KEY5, CRPT_AES_KEY4, CRPT_AES_KEY3, CRPT_AES_KEY2, CRPT_AES_KEY1, CRPT_AES_KEY0} stores the 256-bit security key for AES operation.
396      * @var CRPT_T::AES_IV
397      * Offset: 0x130-0x13C  AES Initial Vector Word Register
398      * ---------------------------------------------------------------------------------------------------
399      * |Bits    |Field     |Descriptions
400      * | :----: | :----:   | :---- |
401      * |[31:0]  |IV        |AES Initial Vectors
402      * |        |          |x = 0, 1..3.
403      * |        |          |Four initial vectors (CRPT_AES_IV0, CRPT_AES_IV1, CRPT_AES_IV2, and CRPT_AES_IV3) are for AES operating in CBC, CFB, and OFB mode
404      * |        |          |Four registers (CRPT_AES_IV0, CRPT_AES_IV1, CRPT_AES_IV2, and CRPT_AES_IV3) act as Nonce counter when the AES engine is operating in CTR mode.
405      * @var CRPT_T::AES_SADDR
406      * Offset: 0x140  AES DMA Source Address Register
407      * ---------------------------------------------------------------------------------------------------
408      * |Bits    |Field     |Descriptions
409      * | :----: | :----:   | :---- |
410      * |[31:0]  |SADDR     |AES DMA Source Address
411      * |        |          |The AES accelerator supports DMA function to transfer the plain text between SRAM memory space and embedded FIFO
412      * |        |          |The SADDR keeps the source address of the data buffer where the source text is stored
413      * |        |          |Based on the source address, the AES accelerator can read the plain text (encryption) / cipher text (descryption) from SRAM memory space and do AES operation
414      * |        |          |The start of source address should be located at word boundary
415      * |        |          |In other words, bit 1 and 0 of SADDR are ignored.
416      * |        |          |SADDR can be read and written
417      * |        |          |Writing to SADDR while the AES accelerator is operating doesnu2019t affect the current AES operation
418      * |        |          |But the value of SADDR will be updated later on
419      * |        |          |Consequently, software can prepare the DMA source address for the next AES operation.
420      * |        |          |In DMA mode, software can update the next CRPT_AES_SADDR before triggering START.
421      * |        |          |The value of CRPT_AES_SADDR and CRPT_AES_DADDR can be the same.
422      * @var CRPT_T::AES_DADDR
423      * Offset: 0x144  AES DMA Destination Address Register
424      * ---------------------------------------------------------------------------------------------------
425      * |Bits    |Field     |Descriptions
426      * | :----: | :----:   | :---- |
427      * |[31:0]  |DADDR     |AES DMA Destination Address
428      * |        |          |The AES accelerator supports DMA function to transfer the cipher text between SRAM memory space and embedded FIFO
429      * |        |          |The DADDR keeps the destination address of the data buffer where the engine output text will be stored
430      * |        |          |Based on the destination address, the AES accelerator can write the cipher text (encryption) / plain text (decryption) back to SRAM memory space after the AES operation is finished
431      * |        |          |The start of destination address should be located at word boundary
432      * |        |          |In other words, bit 1 and 0 of DADDR are ignored.
433      * |        |          |DADDR can be read and written
434      * |        |          |Writing to DADDR while the AES accelerator is operating doesnu2019t affect the current AES operation
435      * |        |          |But the value of DADDR will be updated later on
436      * |        |          |Consequently, software can prepare the destination address for the next AES operation.
437      * |        |          |In DMA mode, software can update the next CRPT_AES_DADDR before triggering START.
438      * |        |          |The value of CRPT_AES_SADDR and CRPT_AES_DADDR can be the same.
439      * @var CRPT_T::AES_CNT
440      * Offset: 0x148  AES Byte Count Register
441      * ---------------------------------------------------------------------------------------------------
442      * |Bits    |Field     |Descriptions
443      * | :----: | :----:   | :---- |
444      * |[31:0]  |CNT       |AES Byte   Count
445      * |        |          |The CRPT_AES_CNT   keeps the byte count of source text that is for the AES engine operating in   DMA mode
446      * |        |          |The CRPT_AES_CNT is 32-bit and the maximum of byte count is 4G   bytes.
447      * |        |          |CRPT_AES_CNT   can be read and written
448      * |        |          |Writing to CRPT_AES_CNT while the AES accelerator   is operating doesnu2019t affect the current AES operation
449      * |        |          |But the value of CRPT_AES_CNT   will be updated later on
450      * |        |          |Consequently, software can prepare the byte count   of data for the next AES operation.
451      * |        |          |According to   CBC-CS1, CBC-CS2, and CBC-CS3 standard, the count of operation data must be more   than 16 bytes
452      * |        |          |Operations that are qual or less than one block will output   unexpected result.
453      * |        |          |In Non-DMA   ECB, CBC, CFB, OFB, CTR, CCM and GCM mode, CRPT_AES_CNT must be set as byte   count for the last block of data before feeding in the last block of data
454      * |        |          |In   Non-DMA CBC-CS1, CBC-CS2, and CBC-CS3 mode, CRPT_AES_CNT must be set as   byte count for the last two blocks of data before feeding in the last two   blocks of data.
455      * |        |          |In AES GCM   mode without DMA cascade fucntion, the value of CRPT_AES_CNT is equal to   the total value of{CRPT_AES_GCM_IVCNT1, CRPT_AES_GCM_IVCNT0}, {CRPT_AES_GCM_ACNT1,   CRPT_AES_GCM_ACNT0} and {CRPT_AES_GCM_PCNT1, CRPT_AES_GCM_PCNT0}.
456      * |        |          |In AES GCM   mode with DMA cascade fucntion,the value of CRPT_AES_CNT represents the byte   count of source text in this cascade function
457      * |        |          |Thus, the value of   CRPT_AES_CNT is less than or equal to the total value of {CRPT_AES_GCM_IVCNT1,   CRPT_AES_GCM_IVCNT0}, {CRPT_AES_GCM_ACNT1, CRPT_AES_GCM_ACNT0} and {CRPT_AES_GCM_PCNT1,   CRPT_AES_GCM_PCNT0} and must be block alignment.
458      * |        |          |In AES CCM   mode without DMA cascade fucntion, the value of CRPT_AES_CNT is equal to   the total value of {CRPT_AES_GCM_ACNT1, CRPT_AES_GCM_ACNT0} and {CRPT_AES_GCM_PCNT1,   CRPT_AES_GCM_PCNT0}.
459      * |        |          |In AES CCM   mode with DMA cascade fucntion,the value of CRPT_AES_CNT represents the byte   count of source text in this cascade function
460      * |        |          |Thus, the value of   CRPT_AES_CNT is less than or equal to the total value of {CRPT_AES_GCM_ACNT1,   CRPT_AES_GCM_ACNT0} and {CRPT_AES_GCM_PCNT1, CRPT_AES_GCM_PCNT0} and   must be block alignment, except for the last block of plaintext or ciphertext.
461      * @var CRPT_T::HMAC_CTL
462      * Offset: 0x300  SHA/HMAC Control Register
463      * ---------------------------------------------------------------------------------------------------
464      * |Bits    |Field     |Descriptions
465      * | :----: | :----:   | :---- |
466      * |[0]     |START     |SHA/HMAC Engine Start
467      * |        |          |0 = No effect.
468      * |        |          |1 = Start SHA/HMAC engine. BUSY flag will be set.
469      * |        |          |Note: This bit is always 0 when it read back.
470      * |[1]     |STOP      |SHA/HMAC Engine Stop
471      * |        |          |0 = No effect.
472      * |        |          |1 = Stop SHA/HMAC engine.
473      * |        |          |Note: This bit is always 0 when it read back.
474      * |[4]     |DMAFIRST  |SHA/HMAC First Blockin Cascadefunction
475      * |        |          |This bit must be set as feeding in first byte of data.
476      * |[5]     |DMALAST   |SHA/HMAC Last Block
477      * |        |          |This bit must be set as feeding in last byte of data.
478      * |[6]     |DMACSCAD  |SHA/HMAC Engine DMA with Cascade Mode
479      * |        |          |0 = DMA cascade function Disabled.
480      * |        |          |1 = In DMA cascade mode, software can update DMA source address register, destination address register, and byte count register during a cascade operation, without finishing the accelerator operation.
481      * |[7]     |DMAEN     |SHA/HMAC Engine DMA Enable Bit
482      * |        |          |0 = SHA/HMAC DMA engine Disabled.
483      * |        |          |SHA/HMAC engine operates in Non-DMA mode. The data need to be written in CRPT_HMAC_DATIN.
484      * |        |          |1 = SHA/HMAC DMA engine Enabled.
485      * |        |          |SHA/HMAC engine operates in DMA mode, and data movement from/to the engine is done by DMA logic.
486      * |[10:8]  |OPMODE    |SHA/HMAC Engine Operation Modes
487      * |        |          |0x0xx: SHA1-160
488      * |        |          |0x100: SHA2-256
489      * |        |          |0x101: SHA2-224
490      * |        |          |0x110: SHA2-512
491      * |        |          |0x111: SHA2-384
492      * |        |          |Note: These bits can be read and written. But writing tothem wouldnu2019t take effect as BUSY is 1..
493      * |        |          |Note:When SM3EN=1, SHA/HMAC only execute SM3-256.
494      * |[11]    |HMACEN    |HMAC_SHA Engine Operating Mode
495      * |        |          |0 = Execute SHA function.
496      * |        |          |1 = Execute HMAC function.
497      * |[13]    |SM3EN     |SM3 Engine Enable Bit
498      * |        |          |0 = Execute other function.
499      * |        |          |1 = Execute SM3 function.
500      * |[20]    |FBIN      |Feedback Input to SHA/HMAC Via DMA Automatically
501      * |        |          |0 = Disable DMA automatical feedback input fucntion..
502      * |        |          |1 = Enable DMA automatical feedback input fucntion when DMAEN = 1.
503      * |[21]    |FBOUT     |Feedback Output From SHA/HMAC Via DMA Automatically
504      * |        |          |0 = Disable DMA automatical feedback output fucntion..
505      * |        |          |1 = Enable DMA automatical feedback output fucntion when DMAEN = 1.
506      * |[22]    |OUTSWAP   |SHA/HMAC Engine Output Data Swap
507      * |        |          |0 = Keep the original order.
508      * |        |          |1 = The order that CPU feeds data to the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.
509      * |[23]    |INSWAP    |SHA/HMAC Engine Input Data Swap
510      * |        |          |0 = Keep the original order.
511      * |        |          |1 = The order that CPU feeds data to the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.
512      * @var CRPT_T::HMAC_STS
513      * Offset: 0x304  SHA/HMAC Status Flag
514      * ---------------------------------------------------------------------------------------------------
515      * |Bits    |Field     |Descriptions
516      * | :----: | :----:   | :---- |
517      * |[0]     |BUSY      |SHA/HMAC Engine Busy
518      * |        |          |0 = SHA/HMAC engine is idle or finished.
519      * |        |          |1 = SHA/HMAC engine is busy.
520      * |[1]     |DMABUSY   |SHA/HMAC Engine DMA Busy Flag
521      * |        |          |0 = SHA/HMAC DMA engine is idle or finished.
522      * |        |          |1 = SHA/HMAC DMA engine is busy.
523      * |[8]     |DMAERR    |SHA/HMAC Engine DMA Error Flag
524      * |        |          |0 = Show the SHA/HMAC engine access normal.
525      * |        |          |1 = Show the SHA/HMAC engine access error.
526      * |[9]     |KSERR     |HMAC Engine Access Key Store Error Flag
527      * |        |          |0 = No error.
528      * |        |          |1 = Access error will stop HMAC engine.
529      * |[16]    |DATINREQ  |SHA/HMAC Non-dMA Mode Data Input Request
530      * |        |          |0 = No effect.
531      * |        |          |1 = Request SHA/HMAC Non-DMA mode data input.
532      * @var CRPT_T::HMAC_DGST
533      * Offset: 0x308-0x344  SHA/HMAC Output Feedback Data
534      * ---------------------------------------------------------------------------------------------------
535      * |Bits    |Field     |Descriptions
536      * | :----: | :----:   | :---- |
537      * |[31:0]  |DGST      |SHA/HMACOutput Feedback Data Output Register
538      * |        |          |For SHA-160, the digest is stored in CRPT_HMAC_DGST0 ~ CRPT_HMAC_DGST4.
539      * |        |          |For SHA-224, the digest is stored in CRPT_HMAC_DGST0 ~ CRPT_HMAC_DGST6.
540      * |        |          |For SHA-256, the digest is stored in CRPT_HMAC_DGST0 ~ CRPT_HMAC_DGST7.
541      * |        |          |For SHA-384, the digest is stored in CRPT_HMAC_DGST0 ~ CRPT_HMAC_DGST11.
542      * |        |          |For SHA-512, the digest is stored in CRPT_HMAC_DGST0 ~ CRPT_HMAC_DGST15.
543      * @var CRPT_T::HMAC_KEYCNT
544      * Offset: 0x348  SHA/HMAC Key Byte Count Register
545      * ---------------------------------------------------------------------------------------------------
546      * |Bits    |Field     |Descriptions
547      * | :----: | :----:   | :---- |
548      * |[31:0]  |KEYCNT    |SHA/HMAC Key Byte Count
549      * |        |          |The CRPT_HMAC_KEYCNT keeps the byte count of key that SHA/HMAC engine operates
550      * |        |          |The register is 32-bit and the maximum byte count is 4G bytes
551      * |        |          |It can be read and written.
552      * |        |          |Writing to the register CRPT_HMAC_KEYCNT as the SHA/HMAC accelerator operating doesnu2019t affect the current SHA/HMAC operation
553      * |        |          |But the value of CRPT_HMAC_KEYCNT will be updated later on
554      * |        |          |Consequently, software can prepare the key count for the next SHA/HMAC operation.
555      * @var CRPT_T::HMAC_SADDR
556      * Offset: 0x34C  SHA/HMAC DMA Source Address Register
557      * ---------------------------------------------------------------------------------------------------
558      * |Bits    |Field     |Descriptions
559      * | :----: | :----:   | :---- |
560      * |[31:0]  |SADDR     |SHA/HMAC DMA Source Address
561      * |        |          |The SHA/HMAC accelerator supports DMA function to transfer the plain text between SRAM memory space and embedded FIFO
562      * |        |          |The CRPT_HMAC_SADDR keeps the source address of the data buffer where the source text is stored
563      * |        |          |Based on the source address, the SHA/HMAC accelerator can read the plain text from SRAM memory space and do SHA/HMAC operation
564      * |        |          |The start of source address should be located at word boundary
565      * |        |          |In other words, bit 1 and 0 of CRPT_HMAC_SADDR are ignored.
566      * |        |          |CRPT_HMAC_SADDR can be read and written
567      * |        |          |Writing to CRPT_HMAC_SADDR while the SHA/HMAC accelerator is operating doesnu2019t affect the current SHA/HMAC operation
568      * |        |          |But the value of CRPT_HMAC_SADDR will be updated later on
569      * |        |          |Consequently, software can prepare the DMA source address for the next SHA/HMAC operation.
570      * |        |          |In DMA mode, software can update the next CRPT_HMAC_SADDR before triggering START.
571      * |        |          |CRPT_HMAC_SADDR and CRPT_HMAC_DADDR can be the same in the value.
572      * @var CRPT_T::HMAC_DMACNT
573      * Offset: 0x350  SHA/HMAC Byte Count Register
574      * ---------------------------------------------------------------------------------------------------
575      * |Bits    |Field     |Descriptions
576      * | :----: | :----:   | :---- |
577      * |[31:0]  |DMACNT    |SHA/HMAC Operation Byte Count
578      * |        |          |The CRPT_HMAC_DMACNT keeps the byte count of source text that is for the SHA/HMAC engine operating in DMA mode
579      * |        |          |The CRPT_HMAC_DMACNT is 32-bit and the maximum of byte count is 4G bytes.
580      * |        |          |CRPT_HMAC_DMACNT can be read and written
581      * |        |          |Writing to CRPT_HMAC_DMACNT while the SHA/HMAC accelerator is operating doesnu2019t affect the current SHA/HMAC operation
582      * |        |          |But the value of CRPT_HMAC_DMACNT will be updated later on
583      * |        |          |Consequently, software can prepare the byte count of data for the next SHA/HMAC operation.
584      * |        |          |In Non-DMA mode, CRPT_HMAC_DMACNT must be set as the byte count of the last block before feeding in the last block of data.
585      * @var CRPT_T::HMAC_DATIN
586      * Offset: 0x354  SHA/HMAC Engine Non-dMA Mode Data Input Port Register
587      * ---------------------------------------------------------------------------------------------------
588      * |Bits    |Field     |Descriptions
589      * | :----: | :----:   | :---- |
590      * |[31:0]  |DATIN     |SHA/HMAC Engine Input Port
591      * |        |          |CPU feeds data to SHA/HMAC engine through this port by checking CRPT_HMAC_STS
592      * |        |          |Feed data as DATINREQ is 1.
593      * @var CRPT_T::HMAC_FDBCK
594      * Offset: 0x358-0x42C  SHA/HMAC Output Feedback Data After SHA/HMAC Operation
595      * ---------------------------------------------------------------------------------------------------
596      * |Bits    |Field     |Descriptions
597      * | :----: | :----:   | :---- |
598      * |[31:0]  |FDBCK     |SHA/HMAC Feedback Information
599      * |        |          |The feedback value is 1728 bits in size for SHA1/2.
600      * |        |          |The SHA/HMAC engine uses the data from CRPT_HMAC_FDBCKx as the data inputted to CRPT_HMAC_FDBCKx for the next block in DMA cascade mode.
601      * |        |          |The SHA/HMAC engine outputs feedback information for initial setting in the next block operation
602      * |        |          |Software can store that feedback value temporarily
603      * |        |          |After switching back, fill the stored feedback value to CRPT_HMAC_FDBCKx in the same operation, and then continue the operation with the original setting.
604      * @var CRPT_T::HMAC_FBADDR
605      * Offset: 0x4FC  SHA/HMAC DMA Feedback Address Register
606      * ---------------------------------------------------------------------------------------------------
607      * |Bits    |Field     |Descriptions
608      * | :----: | :----:   | :---- |
609      * |[31:0]  |FBADDR    |SHA/HMAC DMA Feedback Address
610      * |        |          |In DMA cascade mode, software can update DMA feedbackaddress register for automatically reading and writing feedback vaules via DMA.The FBADDR keeps the feedback address of the feedback data for the next cascade operation
611      * |        |          |Based on the feedback address, the SHA/HMAC accelerator can read thefeedback dataof the last cascade opeation from SRAM memory space and write thefeedback dataof the current cascade opeation to SRAM memory space
612      * |        |          |The start of feedback address should be located at word boundary
613      * |        |          |In other words, bit 1 and 0 of FBADDR are ignored.
614      * |        |          |FBADDR can be read and written.
615      * |        |          |In DMA mode, software can update the next CRPT_HMAC_FBADDR before triggering START.
616      * @var CRPT_T::ECC_CTL
617      * Offset: 0x800  ECC Control Register
618      * ---------------------------------------------------------------------------------------------------
619      * |Bits    |Field     |Descriptions
620      * | :----: | :----:   | :---- |
621      * |[0]     |START     |ECC Accelerator Start
622      * |        |          |0 = No effect.
623      * |        |          |1 = Start ECC accelerator. BUSY flag will be set.
624      * |        |          |This bit is always 0 when it read back.
625      * |        |          |ECC accelerator will ignore this START signal when BUSY flag is 1.
626      * |[1]     |STOP      |ECC Accelerator Stop
627      * |        |          |0 = No effect.
628      * |        |          |1 = Abort ECC accelerator and make it into idle state.
629      * |        |          |This bit is always 0 when it read back.
630      * |        |          |Remember to clear ECC interrupt flag after stopping ECC accelerator.
631      * |[3]     |PFA2C     |Primg Field Adder with 2Cycles
632      * |        |          |0 = cost1 cycle .
633      * |        |          |1 = cost 2 cycles.
634      * |[4]     |ECDSAS    |Generate S in ECDSA Signature Generation
635      * |        |          |0 = No effect.
636      * |        |          |1 = Formula for generating S.
637      * |        |          |POINTX1 = ((POINTX2 * POINTY1 + POINTY2 ) / POINTX1) % CURVEN.
638      * |[5]     |ECDSAR    |Generate R in ECDSA Signature Generation
639      * |        |          |0 = No effect.
640      * |        |          |1 = Formula for generating R.
641      * |        |          |(POINTX1, POINTY1) = SCALARK * (POINTX1, POINTY1).
642      * |[7]     |DMAEN     |ECC Accelerator DMA Enable Bit
643      * |        |          |0 = ECC DMA engine Disabled.
644      * |        |          |1 = ECC DMA engine Enabled.
645      * |        |          |Only when START and DMAEN are 1, ECC DMA engine will be active
646      * |[8]     |FSEL      |Field Selection
647      * |        |          |0 = Binary Field (GF(2m )).
648      * |        |          |1 = Prime Field (GF(p)).
649      * |[10:9]  |ECCOP     |Point Operation for BF and PF
650      * |        |          |00 = Point multiplication :.
651      * |        |          |(POINTX1, POINTY1) = SCALARK * (POINTX1, POINTY1).
652      * |        |          |01 = Modulus operation : choose by MODOP (CRPT_ECC_CTL[12:11]).
653      * |        |          |10 = Point addition :.
654      * |        |          |(POINTX1, POINTY1) = (POINTX1, POINTY1) +.
655      * |        |          |(POINTX2, POINTY2)
656      * |        |          |11 = Point doubling :.
657      * |        |          |(POINTX1, POINTY1) = 2 * (POINTX1, POINTY1).
658      * |        |          |Besides above three input data, point operations still need the parameters of elliptic curve (CURVEA, CURVEB, CURVEN and CURVEM) as shown in Figure 6.27-11
659      * |[12:11] |MODOP     |Modulus Operation for PF
660      * |        |          |00 = Division :.
661      * |        |          |POINTX1 = (POINTY1 / POINTX1) % CURVEN.
662      * |        |          |01 = Multiplication :.
663      * |        |          |POINTX1 = (POINTX1 * POINTY1) % CURVEN.
664      * |        |          |10 = Addition :.
665      * |        |          |POINTX1 = (POINTX1 + POINTY1) % CURVEN.
666      * |        |          |11 = Subtraction :.
667      * |        |          |POINTX1 = (POINTX1 - POINTY1) % CURVEN.
668      * |        |          |MODOP is active only when ECCOP = 01.
669      * |[13]    |CSEL      |Curve Selection
670      * |        |          |0 = NISTsuggested curve.
671      * |        |          |1 = Montgomery curve.
672      * |[14]    |SCAP      |Side-channel Attack Protection
673      * |        |          |0 = Full speed without side-channel protection.
674      * |        |          |1 = Less speed with side-channel protection.
675      * |[15]    |SBM       |Secure-boot Mode
676      * |        |          |0 = (POINTX1,POINTY1)from user data.
677      * |        |          |1 = (POINTX1,POINTY1)from secure boot key.
678      * |[16]    |LDP1      |The Control Signal of RegisterPOINTX1and POINTY1for the xand Y Coordinate of the First Point
679      * |        |          |0 = The register for POINTX1 and POINTY1 is not modified by DMA or user.
680      * |        |          |1 = The register for POINTX1 and POINTY1 is modified by DMA or user.
681      * |[17]    |LDP2      |The Control Signal of Register POINTX2and POINTY2for the xand Y Coordinate of the Second Point
682      * |        |          |0 = The register for POINTX2 and POINTY2 is not modified by DMA or user.
683      * |        |          |1 = The register for POINTX2 and POINTY2 is modified by DMA or user.
684      * |[18]    |LDA       |The Control Signal of Register for the Parameter CURVEA of Elliptic Curve
685      * |        |          |0 = The register for CURVEA is not modified by DMA or user.
686      * |        |          |1 = The register for CURVEA is modified by DMA or user.
687      * |[19]    |LDB       |The Control Signal of Register for the Parameter CURVEB of Elliptic Curve
688      * |        |          |0 = The register for CURVEB is not modified by DMA or user.
689      * |        |          |1 = The register for CURVEB is modified by DMA or user.
690      * |[20]    |LDN       |The Control Signal of Register for the Parameter CURVEN of Elliptic Curve
691      * |        |          |0 = The register for CURVEN is not modified by DMA or user.
692      * |        |          |1 = The register for CURVEN is modified by DMA or user.
693      * |[21]    |LDK       |The Control Signal of Register for SCALARK
694      * |        |          |0 = The register for SCALARK is not modified by DMA or user.
695      * |        |          |1 = The register for SCALARK is modified by DMA or user.
696      * |[31:22] |CURVEM    |The key length of elliptic curve.
697      * @var CRPT_T::ECC_STS
698      * Offset: 0x804  ECC Status Register
699      * ---------------------------------------------------------------------------------------------------
700      * |Bits    |Field     |Descriptions
701      * | :----: | :----:   | :---- |
702      * |[0]     |BUSY      |ECC Accelerator Busy Flag
703      * |        |          |0 = The ECC accelerator is idle or finished.
704      * |        |          |1 = The ECC accelerator is under processing and protects all registers.
705      * |        |          |Remember to clear ECC interrupt flag after ECC accelerator finished
706      * |[1]     |DMABUSY   |ECC DMA Busy Flag
707      * |        |          |0 = ECC DMA is idle or finished.
708      * |        |          |1 = ECC DMA is busy.
709      * |[16]    |BUSERR    |ECC DMA Access Bus Error Flag
710      * |        |          |0 = No error.
711      * |        |          |1 = Bus error will stop DMA operation and ECC accelerator..
712      * |[17]    |KSERR     |ECC Engine Access Key Store Error Flag
713      * |        |          |0 = No error.
714      * |        |          |1 = Access error will stop ECC engine.
715      * @var CRPT_T::ECC_X1
716      * Offset: 0x808-0x84C  ECC the X-coordinate Word of the First Point
717      * ---------------------------------------------------------------------------------------------------
718      * |Bits    |Field     |Descriptions
719      * | :----: | :----:   | :---- |
720      * |[31:0]  |POINTX1   |ECC the X-coordinate Value of the First Point
721      * |        |          |For B-163 or K-163, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_05
722      * |        |          |For B-233 or K-233, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_07
723      * |        |          |For B-283 or K-283, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_08
724      * |        |          |For B-409 or K-409, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_12
725      * |        |          |For B-571 or K-571, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_17
726      * |        |          |For P-192, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_05
727      * |        |          |For P-224, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_06
728      * |        |          |For P-256, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_07
729      * |        |          |For P-384, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_11
730      * |        |          |For P-521, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_16
731      * @var CRPT_T::ECC_Y1
732      * Offset: 0x850-0x894  ECC the Y-coordinate Word of the First Point
733      * ---------------------------------------------------------------------------------------------------
734      * |Bits    |Field     |Descriptions
735      * | :----: | :----:   | :---- |
736      * |[31:0]  |POINTY1   |ECC the Y-coordinate Value of the First Point
737      * |        |          |For B-163 or K-163, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_05
738      * |        |          |For B-233 or K-233, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_07
739      * |        |          |For B-283 or K-283, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_08
740      * |        |          |For B-409 or K-409, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_12
741      * |        |          |For B-571 or K-571, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_17
742      * |        |          |For P-192, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_05
743      * |        |          |For P-224, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_06
744      * |        |          |For P-256, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_07
745      * |        |          |For P-384, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_11
746      * |        |          |For P-521, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_16
747      * @var CRPT_T::ECC_X2
748      * Offset: 0x898-0x8DC  ECC the X-coordinate Word of the Second Point
749      * ---------------------------------------------------------------------------------------------------
750      * |Bits    |Field     |Descriptions
751      * | :----: | :----:   | :---- |
752      * |[31:0]  |POINTX2   |ECC the X-coordinate Value of the Second Point
753      * |        |          |For B-163 or K-163, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_05
754      * |        |          |For B-233 or K-233, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_07
755      * |        |          |For B-283 or K-283, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_08
756      * |        |          |For B-409 or K-409, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_12
757      * |        |          |For B-571 or K-571, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_17
758      * |        |          |For P-192, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_05
759      * |        |          |For P-224, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_06
760      * |        |          |For P-256, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_07
761      * |        |          |For P-384, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_11
762      * |        |          |For P-521, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_16
763      * @var CRPT_T::ECC_Y2
764      * Offset: 0x8E0-0x924  ECC the Y-coordinate Word of the Second Point
765      * ---------------------------------------------------------------------------------------------------
766      * |Bits    |Field     |Descriptions
767      * | :----: | :----:   | :---- |
768      * |[31:0]  |POINTY2   |ECC the Y-coordinate Value of the Second Point
769      * |        |          |For B-163 or K-163, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_05
770      * |        |          |For B-233 or K-233, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_07
771      * |        |          |For B-283 or K-283, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_08
772      * |        |          |For B-409 or K-409, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_12
773      * |        |          |For B-571 or K-571, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_17
774      * |        |          |For P-192, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_05
775      * |        |          |For P-224, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_06
776      * |        |          |For P-256, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_07
777      * |        |          |For P-384, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_11
778      * |        |          |For P-521, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_16
779      * @var CRPT_T::ECC_A
780      * Offset: 0x928-0x96C  ECC the Parameter CURVEA Word of Elliptic Curve
781      * ---------------------------------------------------------------------------------------------------
782      * |Bits    |Field     |Descriptions
783      * | :----: | :----:   | :---- |
784      * |[31:0]  |CURVEA    |ECC the Parameter CURVEA Value of Elliptic Curve
785      * |        |          |The formula of elliptic curve is y2=x3+CURVEA*x+CURVEB in GF(p) and y2+x*y=x3+CURVEA*x2+CURVEB in GF(2m).
786      * |        |          |For B-163 or K-163, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_05
787      * |        |          |For B-233 or K-233, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_07
788      * |        |          |For B-283 or K-283, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_08
789      * |        |          |For B-409 or K-409, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_12
790      * |        |          |For B-571 or K-571, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_17
791      * |        |          |For P-192, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_05
792      * |        |          |For P-224, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_06
793      * |        |          |For P-256, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_07
794      * |        |          |For P-384, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_11
795      * |        |          |For P-521, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_16
796      * @var CRPT_T::ECC_B
797      * Offset: 0x970-0x9B4  ECC the Parameter CURVEB Word of Elliptic Curve
798      * ---------------------------------------------------------------------------------------------------
799      * |Bits    |Field     |Descriptions
800      * | :----: | :----:   | :---- |
801      * |[31:0]  |CURVEB    |ECC the Parameter CURVEB Value of Elliptic Curve
802      * |        |          |The formula of elliptic curve is y2=x3+CURVEA*x+CURVEB in GF(p) and y2+x*y=x3+CURVEA*x2+CURVEB in GF(2m).
803      * |        |          |For B-163 or K-163, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_05
804      * |        |          |For B-233 or K-233, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_07
805      * |        |          |For B-283 or K-283, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_08
806      * |        |          |For B-409 or K-409, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_12
807      * |        |          |For B-521 or K-521, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_17
808      * |        |          |For P-192, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_05
809      * |        |          |For P-224, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_06
810      * |        |          |For P-256, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_07
811      * |        |          |For P-384, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_11
812      * |        |          |For P-521, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_16
813      * @var CRPT_T::ECC_N
814      * Offset: 0x9B8-0x9FC  ECC the Parameter CURVEN Word of Elliptic Curve
815      * ---------------------------------------------------------------------------------------------------
816      * |Bits    |Field     |Descriptions
817      * | :----: | :----:   | :---- |
818      * |[31:0]  |CURVEN    |ECC the Parameter CURVEN Value of Elliptic Curve
819      * |        |          |In GF(p), CURVEN is the prime p.
820      * |        |          |In GF(2m), CURVEN is  the irreducible polynomial.
821      * |        |          |For B-163 or K-163, CURVEN is stored in CRYPTO_ECC_N_00~CRYPTO_ECC_N_05
822      * |        |          |For B-233 or K-233, CURVEN is stored in CRYPTO_ECC_N_00~CRYPTO_ECC_N_07
823      * |        |          |For B-283 or K-283, CURVEN is stored in CRYPTO_ECC_N_00~CRYPTO_ECC_N_08
824      * |        |          |For B-409 or K-409, CURVEN is stored in CRYPTO_ECC_N_00~CRYPTO_ECC_N_12
825      * |        |          |For B-571 or K-571, CURVEN is stored in CRYPTO_ECC_N_00~CRYPTO_ECC_N_17
826      * |        |          |For P-192, CURVEN is stored in CRYPTO_ECC_N_00~CRYPTO_ECC_N_05
827      * |        |          |For P-224, CURVEN is stored in CRYPTO_ECC_N_00~CRYPTO_ECC_N_06
828      * |        |          |For P-256, CURVEN is stored in CRYPTO_ECC_N_00~CRYPTO_ECC_N_07
829      * |        |          |For P-384, CURVEN is stored in CRYPTO_ECC_N_00~CRYPTO_ECC_N_11
830      * |        |          |For P-521, CURVEN is stored in CRYPTO_ECC_N_00~CRYPTO_ECC_N_16
831      * @var CRPT_T::ECC_K
832      * Offset: 0xA00-0xA44  ECC the Scalar SCALARK Word of Point Multiplication
833      * ---------------------------------------------------------------------------------------------------
834      * |Bits    |Field     |Descriptions
835      * | :----: | :----:   | :---- |
836      * |[31:0]  |SCALARK   |ECC the Scalar SCALARK Value of Point Multiplication
837      * |        |          |Because the SCALARK usually stores the private key, ECC accelerator do not allow to read the register SCALARK.
838      * |        |          |For B-163 or K-163, SCALARK is stored in CRYPTO_ECC_K_00~CRYPTO_ECC_K_05
839      * |        |          |For B-233 or K-233, SCALARK is stored in CRYPTO_ECC_K_00~CRYPTO_ECC_K_07
840      * |        |          |For B-283 or K-283, SCALARK is stored in CRYPTO_ECC_K_00~CRYPTO_ECC_K_08
841      * |        |          |For B-409 or K-409, SCALARK is stored in CRYPTO_ECC_K_00~CRYPTO_ECC_K_12
842      * |        |          |For B-571 or K-571, SCALARK is stored in CRYPTO_ECC_K_00~CRYPTO_ECC_K_17
843      * |        |          |For P-192, SCALARK is stored in CRYPTO_ECC_K_00~CRYPTO_ECC_K_05
844      * |        |          |For P-224, SCALARK is stored in CRYPTO_ECC_K_00~CRYPTO_ECC_K_06
845      * |        |          |For P-256, SCALARK is stored in CRYPTO_ECC_K_00~CRYPTO_ECC_K_07
846      * |        |          |For P-384, SCALARK is stored in CRYPTO_ECC_K_00~CRYPTO_ECC_K_11
847      * |        |          |For P-521, SCALARK is stored in CRYPTO_ECC_K_00~CRYPTO_ECC_K_16
848      * @var CRPT_T::ECC_SADDR
849      * Offset: 0xA48  ECC DMA Source Address Register
850      * ---------------------------------------------------------------------------------------------------
851      * |Bits    |Field     |Descriptions
852      * | :----: | :----:   | :---- |
853      * |[31:0]  |SADDR     |ECC DMA Source Address
854      * |        |          |The ECC accelerator supports DMA function to transfer the DATA and PARAMETER between SRAM memory space and ECC accelerator.
855      * |        |          |The SADDR keeps the source address of the data buffer where the source text is stored. Based on the source address,
856      * |        |          |the ECC accelerator can read the DATA and PARAMETER from SRAM memory space and do ECC operation.
857      * |        |          |The start of source address should be located at word boundary. That is, bit 1 and 0 of SADDR are ignored.
858      * |        |          |SADDR can be read and written. In DMA mode, software must update the CRYPTO_ECC_SADDR before triggering START.
859      * @var CRPT_T::ECC_DADDR
860      * Offset: 0xA4C  ECC DMA Destination Address Register
861      * ---------------------------------------------------------------------------------------------------
862      * |Bits    |Field     |Descriptions
863      * | :----: | :----:   | :---- |
864      * |[31:0]  |DADDR     |ECC DMA Destination Address
865      * |        |          |The ECC accelerator supports DMA function to transfer the DATA and PARAMETER between SRAM memory and ECC accelerator
866      * |        |          |The DADDR keeps the destination address of the data buffer where output data of ECC engine will be stored
867      * |        |          |Based on the destination address, the ECC accelerator can write the result data back to SRAM memory space after the ECC operation is finished
868      * |        |          |The start of destination address should be located at word boundary
869      * |        |          |That is, bit 1 and 0 of DADDR are ignored
870      * |        |          |DADDR can be read and written
871      * |        |          |In DMA mode, software must update the CRPT_ECC_DADDR before triggering START
872      * @var CRPT_T::ECC_STARTREG
873      * Offset: 0xA50  ECC Starting Address of Updated Registers
874      * ---------------------------------------------------------------------------------------------------
875      * |Bits    |Field     |Descriptions
876      * | :----: | :----:   | :---- |
877      * |[31:0]  |STARTREG  |ECC Starting Address of Updated Registers
878      * |        |          |The address of the updated registers that DMA feeds the first data or parameter to ECC engine
879      * |        |          |When ECC engine is active, ECC accelerator does not allow users to modify STARTREG, for example, to update input data from register CRPT_ECC POINTX1
880      * |        |          |Thus, the value of STARTREG is 0x808.
881      * @var CRPT_T::ECC_WORDCNT
882      * Offset: 0xA54  ECC DMA Word Count
883      * ---------------------------------------------------------------------------------------------------
884      * |Bits    |Field     |Descriptions
885      * | :----: | :----:   | :---- |
886      * |[31:0]  |WORDCNT   |ECC DMA Word Count
887      * |        |          |The CRPT_ECC_WORDCNT keeps the word count of source data that is for the required input data of ECC accelerator with various operations in DMA mode
888      * |        |          |Although CRPT_ECC_WORDCNT is 32-bit, the maximum of word count in ECC accelerator is 144words
889      * |        |          |CRPT_ECC_WORDCNT can be read and written
890      * @var CRPT_T::RSA_CTL
891      * Offset: 0xB00  RSA Control Register
892      * ---------------------------------------------------------------------------------------------------
893      * |Bits    |Field     |Descriptions
894      * | :----: | :----:   | :---- |
895      * |[0]     |START     |RSA Accelerator Start
896      * |        |          |0 = No effect.
897      * |        |          |1 = Start RSAaccelerator. BUSY flag will be set.
898      * |        |          |This bit is always 0 when it read back.
899      * |        |          |RSAaccelerator will ignore this START signal when BUSY flag is 1.
900      * |[1]     |STOP      |RSA Accelerator Stop
901      * |        |          |0 = No effect.
902      * |        |          |1 = Abort RSA accelerator and make it into initialstate.
903      * |        |          |This bit is always 0 when it read back.
904      * |        |          |Remember to clear RSA interrupt flag after stopping RSA accelerator.
905      * |[2]     |CRT       |CRT Enable Control
906      * |        |          |0 = CRT Disabled.
907      * |        |          |1 = CRT Enabled.
908      * |        |          |CRT is only used in decryption with key length 2048, 3072,4096 bits.
909      * |[3]     |CRTBYP    |CRT BypassEnable Control
910      * |        |          |0 = CRT Bypass Disabled.
911      * |        |          |1 = CRT Bypass Enabled.
912      * |        |          |CRT bypass is only used in CRT decryption with the same key.
913      * |        |          |Note: If users want to decrypt repeatedly with the same key, they can execute CRT bypass mode after the first time CRT decryption(means the second time to the latest time), but they canu2019t set CRTBYP to 1 in non-CRT mode.
914      * |[5:4]   |KEYLENG   |The Key Length of RSA Operation
915      * |        |          |00 = 1024bits.
916      * |        |          |01 = 2048bits.
917      * |        |          |10 = 3072bits.
918      * |        |          |11 = 4096bits.
919      * |[8]     |SCAP      |Side Channel Attack Protection Enable Control
920      * |        |          |0 = Side Channel Attack Protection Disabled.
921      * |        |          |1 = Side Channel Attack Protection Enabled.
922      * @var CRPT_T::RSA_STS
923      * Offset: 0xB04  RSA Status Register
924      * ---------------------------------------------------------------------------------------------------
925      * |Bits    |Field     |Descriptions
926      * | :----: | :----:   | :---- |
927      * |[0]     |BUSY      |RSA Accelerator Busy Flag
928      * |        |          |0 = The RSA accelerator is idle or finished.
929      * |        |          |1 = The RSA accelerator is under processing and protects all registers.
930      * |        |          |Remember to clear RSA interrupt flag after RSA accelerator finished
931      * |[1]     |DMABUSY   |RSA DMA Busy Flag
932      * |        |          |0 = RSA DMA is idle or finished.
933      * |        |          |1 = RSA DMA is busy.
934      * |[16]    |BUSERR    |RSA DMA Access Bus Error Flag
935      * |        |          |0 = No error.
936      * |        |          |1 = Bus error will stop DMA operation and RSA accelerator.
937      * |[17]    |CTLERR    |RSA Control Register Error Flag
938      * |        |          |0 = No error.
939      * |        |          |1 = RSA control error. RSA will not start in the unsupported situation.
940      * |        |          |Note: If user use the control error condition, but donu2019t set START(CRPT_RSA_CTL[0]) to 1, CTLERR still be set to 1.
941      * |[18]    |KSERR     |RSA Engine Access Key Store Error Flag
942      * |        |          |0 = No error.
943      * |        |          |1 = Access error will stop RSA engine.
944      * @var CRPT_T::RSA_SADDR
945      * Offset: 0xB08-0xB18  RSA DMA Source Address Register
946      * ---------------------------------------------------------------------------------------------------
947      * |Bits    |Field     |Descriptions
948      * | :----: | :----:   | :---- |
949      * |[31:0]  |SADDR0    |RSA DMA Source Address Register0
950      * |        |          |The RSA accelerator supports DMA function to transfer the DATA and PARAMETER between SRAM memory space and RSA accelarator.
951      * |        |          |This register is stored the address of RSA the Base of Exponentiation (M,N,E,p,q).
952      * @var CRPT_T::RSA_DADDR
953      * Offset: 0xB1C  RSA DMA Destination Address Register
954      * ---------------------------------------------------------------------------------------------------
955      * |Bits    |Field     |Descriptions
956      * | :----: | :----:   | :---- |
957      * |[31:0]  |DADDR     |RSA DMA Destination Address Register
958      * |        |          |The RSA accelerator supports DMA function to transfer the DATA and PARAMETER between SRAM memory space and RSA accelarator.
959      * |        |          |This register is stored the address of RSA DMA Destination Address Register (Ans).
960      * @var CRPT_T::RSA_MADDR
961      * Offset: 0xB20-0xB38  RSA DMA Middle Address Register
962      * ---------------------------------------------------------------------------------------------------
963      * |Bits    |Field     |Descriptions
964      * | :----: | :----:   | :---- |
965      * |[31:0]  |MADDR     |RSA DMA Middle Address Register
966      * |        |          |The RSA accelerator supports DMA function to transfer the DATA and PARAMETER between SRAM memory space and RSA accelarator.
967      * |        |          |This register is stored the address of RSA CRT the Temporary Value (Cp -> Mp -> Sp, Cq -> Mq -> Sq, Dp, Dq, Rp, Rq, E').
968      * @var CRPT_T::PRNG_KSCTL
969      * Offset: 0xF00  PRNG Key Control Register
970      * ---------------------------------------------------------------------------------------------------
971      * |Bits    |Field     |Descriptions
972      * | :----: | :----:   | :---- |
973      * |[4:0]   |NUM       |Write Key Number
974      * |        |          |The key number is sent to key store
975      * |        |          |Note: Only for destination Is OTP of Key Store.
976      * |[16]    |TRUST     |Write Key Trust Selection Bit
977      * |        |          |0 = Set written key as the non-secure key.
978      * |        |          |1 = Set written key as the secure key.
979      * |[18]    |PRIV      |Privilege Key Selection Bit
980      * |        |          |0 = Set key as the non-privilege key.
981      * |        |          |1 = Set key as the privilege key.
982      * |[19]    |ECDH      |ECDH Control Bit
983      * |        |          |0 =reserved.
984      * |        |          |1 = key is written to key store and used in ECDH.
985      * |        |          |Note:When ECDH was set to u20181u2019, 1
986      * |        |          |PRNG seed must from TRNG and key is must written to the SRAM of key store (WSDST, CRPT_PRNG_KSCTL[23:22] must set to u201800u2019)
987      * |        |          |Otherwise, KCTLERRwill become u20181u2019(CRPT_PRNG_KSSTS[16])
988      * |        |          |2
989      * |        |          |Key must in the interval [1, n-1] (the parameter n is from ECC)
990      * |        |          |The value of n canu2019t be 0 or 1, otherwise, PRNG will always keep busy.
991      * |[20]    |ECDSA     |ECDSA Control Bit
992      * |        |          |0 =reserved.
993      * |        |          |1 = key is written to key store and used in ECDSA.
994      * |        |          |Note:When ECDSA was set to u20181u2019, 1
995      * |        |          |PRNG seed must from TRNGand key is must written to the SRAM of key store (WSDST, CRPT_PRNG_KSCTL[23:22] must set to u201800u2019)
996      * |        |          |Otherwise, KCTLERRwill become u20181u2019(CRPT_PRNG_KSSTS[16])
997      * |        |          |2.Key must in the interval [1, n-1] (the parameter n is from ECC)
998      * |        |          |The value of n canu2019t be 0 or 1, otherwise, PRNG will always keep busy.
999      * |[21]    |WDST      |Write Key Destination
1000      * |        |          |0 = key is written to registers CRPT_PRNG_KEYx.
1001      * |        |          |1 = key is written to key store.
1002      * |[23:22] |WSDST     |Write Key Store Destination
1003      * |        |          |00 = key is written to the SRAM of key store.
1004      * |        |          |10 = key is written to the OTP of key store.
1005      * |        |          |Others = reserved.
1006      * |[26:24] |OWNER     |Write Key Owner Selection Bits
1007      * |        |          |000 = Only for AES used.
1008      * |        |          |001 = Only for HMAC engine used.
1009      * |        |          |100 = Only for ECC engine used.
1010      * |        |          |101 = Only for CPU engine use.
1011      * |        |          |Others = reserved.
1012      * @var CRPT_T::PRNG_KSSTS
1013      * Offset: 0xF04  PRNG Key Status Register
1014      * ---------------------------------------------------------------------------------------------------
1015      * |Bits    |Field     |Descriptions
1016      * | :----: | :----:   | :---- |
1017      * |[4:0]   |NUM       |Key Number
1018      * |        |          |The key number is generated by key store
1019      * |[16]    |KCTLERR   |PRNG Key Control Register Error Flag
1020      * |        |          |0 = No error.
1021      * |        |          |1 = PRNG key control error
1022      * |        |          |When PRNG execute ECDSA or ECDH, but PRNG seed not from TRNG or key is not written to the SRAM of key store (WSDST,CRPT_PRNG_KSCTL[23:22] is not equal to u201900u2019).
1023      * @var CRPT_T::AES_KSCTL
1024      * Offset: 0xF10  AES Key Control Register
1025      * ---------------------------------------------------------------------------------------------------
1026      * |Bits    |Field     |Descriptions
1027      * | :----: | :----:   | :---- |
1028      * |[4:0]   |NUM       |Read Key Number
1029      * |        |          |The key number is sent to key store
1030      * |[5]     |RSRC      |Read Key Destination
1031      * |        |          |0 = key is read from registers CRPT_AESx_KEYx.
1032      * |        |          |1 = key is read from key store.
1033      * |[7:6]   |RSSRC     |Read Key Store Destination
1034      * |        |          |00 = key is read from the SRAM of key store.
1035      * |        |          |10 = key is read from the OTP of key store.
1036      * |        |          |Others = reserved.
1037      * @var CRPT_T::HMAC_KSCTL
1038      * Offset: 0xF30  HMAC Key Control Register
1039      * ---------------------------------------------------------------------------------------------------
1040      * |Bits    |Field     |Descriptions
1041      * | :----: | :----:   | :---- |
1042      * |[4:0]   |NUM       |Read Key Number
1043      * |        |          |The key number is sent to key store
1044      * |[5]     |RSRC      |Read Key Destination
1045      * |        |          |0 = key is read from HMAC registers.
1046      * |        |          |1 = key is read from key store.
1047      * |[7:6]   |RSSRC     |Read Key Store Destination
1048      * |        |          |00 = key is read from the SRAM of key store.
1049      * |        |          |10 = key is read from the OTP of key store.
1050      * |        |          |Others = reserved.
1051      * @var CRPT_T::ECC_KSCTL
1052      * Offset: 0xF40  ECC Key Control Register
1053      * ---------------------------------------------------------------------------------------------------
1054      * |Bits    |Field     |Descriptions
1055      * | :----: | :----:   | :---- |
1056      * |[4:0]   |NUMK      |Read Key Number K
1057      * |        |          |The key number of CRPT_ECC_K is sent to key store when RSRCK =1.
1058      * |[5]     |RSRCK     |Read Key Destinationfor Key Number K
1059      * |        |          |0 = key is read from ECC registers.
1060      * |        |          |1 = key is read from key store.
1061      * |[7:6]   |RSSRCK    |Read Key Store Destinationfor Key Number K
1062      * |        |          |00 = key is read from the SRAM of key store.
1063      * |        |          |10 = key is read from the OTP of key store.
1064      * |        |          |Others = reserved.
1065      * |[14]    |ECDH      |ECDH Control Bit
1066      * |        |          |0 =reserved.
1067      * |        |          |1 = Set ECC opereration is in ECDH
1068      * |        |          |When this bit and RSRCK are equal to 0x1, ECC will read ECDH private key to CRPT_ECC_K from key store.
1069      * |[16]    |TRUST     |Write Key Trust Selection Bit
1070      * |        |          |0 = Set ECDH written key as the non-secure key.
1071      * |        |          |1 = Set ECDH written key as the secure key.
1072      * |[18]    |PRIV      |Write Key Privilege Selection Bit
1073      * |        |          |0 = Set ECDH written key as the non-privilege key.
1074      * |        |          |1 = Set ECDHwritten key as the privilege key.
1075      * |[20]    |XY        |ECDH Output Select Bit
1076      * |        |          |0 =The ECDH written key is from X-coordinate Value.
1077      * |        |          |1 = The ECDH written key is from Y-coordinate Value.
1078      * |[21]    |WDST      |Write Key Destination
1079      * |        |          |0 = The ECDH writtenkey is in registers CRPT_ECC_X1 and CRPT_ECC_Y.
1080      * |        |          |1 = The ECDH writtenkey is written to key store.
1081      * |[23:22] |WSDST     |Write Key Store Destination
1082      * |        |          |00 = The ECDH writtenkey is written to the SRAM of key store.
1083      * |        |          |10 = The ECDH writtenkey is written to the OTP of key store.
1084      * |        |          |Others = reserved.
1085      * |[26:24] |OWNER     |Write Key Owner Selection Bits
1086      * |        |          |000 = The ECDH written key is only for AES used.
1087      * |        |          |001 = The ECDH written key is only for HMAC engine used.
1088      * |        |          |100 = The ECDH written key is only for ECC engine used.
1089      * |        |          |101 = The ECDH written key is only for CPU engine use.
1090      * |        |          |Others = reserved.
1091      * @var CRPT_T::ECC_KSSTS
1092      * Offset: 0xF44  ECC Key Status Register
1093      * ---------------------------------------------------------------------------------------------------
1094      * |Bits    |Field     |Descriptions
1095      * | :----: | :----:   | :---- |
1096      * |[4:0]   |NUM       |Key Number
1097      * |        |          |The key number is generated by key store after ECDH.
1098      * @var CRPT_T::ECC_KSXY
1099      * Offset: 0xF48  ECC XY Number Register
1100      * ---------------------------------------------------------------------------------------------------
1101      * |Bits    |Field     |Descriptions
1102      * | :----: | :----:   | :---- |
1103      * |[4:0]   |NUMX      |Read Key Number X
1104      * |        |          |The key number of CRPT_ECC_X1 is sent to key store when RSRCXY =1.
1105      * |[5]     |RSRCXY    |Read Key Source for Key Number xand Y
1106      * |        |          |0 = key is read from ECC registers.
1107      * |        |          |1 = key is read from key store.
1108      * |[7:6]   |RSSRCX    |Read Key Store Source for Key Number X
1109      * |        |          |00 = key is read from the SRAM of key store.
1110      * |        |          |10 = key is read from the OTP of key store.
1111      * |        |          |Others = reserved.
1112      * |[12:8]  |NUMY      |Read Key Number Y
1113      * |        |          |The key number of CRPT_ECC_Y1 is sent to key store when RSRCXY =1.
1114      * |[15:14] |RSSRCY    |Read Key Store Source for Key Number Y
1115      * |        |          |00 = key is read from the SRAM of key store.
1116      * |        |          |10 = key is read from the OTP of key store.
1117      * |        |          |Others = reserved.
1118      * @var CRPT_T::RSA_KSCTL
1119      * Offset: 0xF50  RSA Key Control Register
1120      * ---------------------------------------------------------------------------------------------------
1121      * |Bits    |Field     |Descriptions
1122      * | :----: | :----:   | :---- |
1123      * |[4:0]   |NUM       |Read Key Number
1124      * |        |          |The key number is sent to key store
1125      * |[5]     |RSRC      |Read Key Destination
1126      * |        |          |0 = key is read from RSA engine.
1127      * |        |          |1 = key is read from key store.
1128      * |[7:6]   |RSSRC     |Read Key Store Destination
1129      * |        |          |00 = key is read from the SRAM of key store.
1130      * |        |          |10 = key is read from the OTP of key store.
1131      * |        |          |Others = reserved.
1132      * |[12:8]  |BKNUM     |Read Exponent Blind Key Number
1133      * |        |          |The key number is sent to key store, and its destination always be the SRAM of key store
1134      * |        |          |CPU canu2019t read the exponent blind key.
1135      * |        |          |Note:Use this key number, only when executing SCA protection but no-CRT mode.
1136      * @var CRPT_T::RSA_KSSTS
1137      * Offset: 0xF54-0xF58  RSA Key Status Register
1138      * ---------------------------------------------------------------------------------------------------
1139      * |Bits    |Field     |Descriptions
1140      * | :----: | :----:   | :---- |
1141      * |[4:0]   |NUM0      |Key Number0
1142      * |        |          |The key number is generated by key store, RSA can get complete p by key number in Key Store while operating.
1143      * |[12:8]  |NUM1      |Key Number1
1144      * |        |          |The key number is generated by key store, RSA can get complete q by key number in Key Store while operating.
1145      * |[20:16] |NUM2      |Key Number2
1146      * |        |          |The key number is generated by key store, RSA can get or store Cp by key number in Key Store while operating.
1147      * |[28:24] |NUM3      |Key Number3
1148      * |        |          |The key number is generated by key store, RSA can get or store Cq by key number in Key Store while operating.
1149      * |[36:32]  |NUM4      |Key Number4
1150      * |        |          |The key number is generated by key store, RSA can get or store Dp by key number in Key Store while operating.
1151      * |[44:40] |NUM5      |Key Number5
1152      * |        |          |The key number is generated by key store, RSA can get or store Dq by key number in Key Store while operating.
1153      * |[52:48] |NUM6      |Key Number6
1154      * |        |          |The key number is generated by key store, RSA can get or store Rp by key number in Key Store while operating.
1155      * |[60:56] |NUM7      |Key Number7
1156      * |        |          |The key number is generated by key store, RSA can get or store Rq by key number in Key Store while operating.
1157      */
1158     __IO uint32_t INTEN;                 /*!< [0x0000] Crypto Interrupt Enable Control Register                         */
1159     __IO uint32_t INTSTS;                /*!< [0x0004] Crypto Interrupt Flag                                            */
1160     __IO uint32_t PRNG_CTL;              /*!< [0x0008] PRNG Control Register                                            */
1161     __O  uint32_t PRNG_SEED;             /*!< [0x000c] Seed for PRNG                                                    */
1162     __I  uint32_t PRNG_KEY[8];           /*!< [0x0010] ~ [0x002c] PRNG Generated Key0 ~ Key7                            */
1163     __I  uint32_t PRNG_STS;              /*!< [0x0030] PRNG Status Register                                             */
1164     __I  uint32_t RESERVE0[7];
1165     __I  uint32_t AES_FDBCK[4];          /*!< [0x0050] ~ [0x005c] AES Engine Output Feedback Data after Cryptographic Operation    */
1166     __I  uint32_t RESERVE1[8];
1167     __IO uint32_t AES_GCM_IVCNT[2];        /*!< [0x0080] ~ [0x0084] AES GCM IV Byte Count Register 0                                 */
1168     __IO uint32_t AES_GCM_ACNT[2];         /*!< [0x0088] ~ [0x008c] AES GCM A Byte Count Register 0                                  */
1169     __IO uint32_t AES_GCM_PCNT[2];         /*!< [0x0090] ~ [0x0094] AES GCM P Byte Count Register 0                                  */
1170     __I  uint32_t RESERVE2[2];
1171     __IO uint32_t AES_FBADDR;            /*!< [0x00a0] AES DMA Feedback Address Register                                */
1172     __I  uint32_t RESERVE3[23];
1173     __IO uint32_t AES_CTL;               /*!< [0x0100] AES Control Register                                             */
1174     __I  uint32_t AES_STS;               /*!< [0x0104] AES Engine Flag                                                  */
1175     __IO uint32_t AES_DATIN;             /*!< [0x0108] AES Engine Data Input Port Register                              */
1176     __I  uint32_t AES_DATOUT;            /*!< [0x010c] AES Engine Data Output Port Register                             */
1177     __IO uint32_t AES_KEY[8];           /*!< [0x0110] ~ [0x012c] AES Key Word 0~7 Register for Channel 0                */
1178     __IO uint32_t AES_IV[4];            /*!< [0x0130] ~ [0x013c] AES Initial Vector Word 0 ~ 3 Register for Channel 0   */
1179     __IO uint32_t AES_SADDR;             /*!< [0x0140] AES DMA Source Address Register                                  */
1180     __IO uint32_t AES_DADDR;             /*!< [0x0144] AES DMA Destination Address Register                             */
1181     __IO uint32_t AES_CNT;               /*!< [0x0148] AES Byte Count Register                                          */
1182     __I  uint32_t RESERVE4[109];
1183     __IO uint32_t HMAC_CTL;              /*!< [0x0300] SHA/HMAC Control Register                                        */
1184     __I  uint32_t HMAC_STS;              /*!< [0x0304] SHA/HMAC Status Flag                                             */
1185     __I  uint32_t HMAC_DGST[16];         /*!< [0x0308] ~ [0x0344] SHA/HMAC Digest Message 0~15                          */
1186     __IO uint32_t HMAC_KEYCNT;           /*!< [0x0348] SHA/HMAC Key Byte Count Register                                 */
1187     __IO uint32_t HMAC_SADDR;            /*!< [0x034c] SHA/HMAC DMA Source Address Register                             */
1188     __IO uint32_t HMAC_DMACNT;           /*!< [0x0350] SHA/HMAC Byte Count Register                                     */
1189     __IO uint32_t HMAC_DATIN;            /*!< [0x0354] SHA/HMAC Engine Non-dMA Mode Data Input Port Register            */
1190     __IO uint32_t HMAC_FDBCK[54];           /*!< [0x0358] ~ [0x042c] SHA/HMAC Output Feedback Data 0After SHA/HMAC Operation          */
1191     __I  uint32_t RESERVE5[51];
1192     __IO uint32_t HMAC_FBADDR;           /*!< [0x04fc] SHA/HMAC DMA Feedback Address Register                           */
1193     __I  uint32_t RESERVE6[192];
1194     __IO uint32_t ECC_CTL;               /*!< [0x0800] ECC Control Register                                             */
1195     __I  uint32_t ECC_STS;               /*!< [0x0804] ECC Status Register                                              */
1196     __IO uint32_t ECC_X1[18];             /*!< [0x0808] ~ [0x084c] ECC the X-coordinate Word0 of the First Point        */
1197     __IO uint32_t ECC_Y1[18];            /*!< [0x0850] ~ [0x0894] ECC The Y-coordinate word 0~17 of the first point     */
1198     __IO uint32_t ECC_X2[18];            /*!< [0x0898] ~ [0x08dc] ECC The X-coordinate word 0~17 of the second point    */
1199     __IO uint32_t ECC_Y2[18];            /*!< [0x08e0] ~ [0x0924] ECC The Y-coordinate word 0~17 of the second point    */
1200     __IO uint32_t ECC_A[18];             /*!< [0x0928] ~ [0x096c] ECC The parameter CURVEA word 0~17 of elliptic curve  */
1201     __IO uint32_t ECC_B[18];             /*!< [0x0970] ~ [0x09b4] ECC The parameter CURVEB word 0~17 of elliptic curve  */
1202     __IO uint32_t ECC_N[18];             /*!< [0x09b8] ~ [0x09fc] ECC The parameter CURVEN word 0~17 of elliptic curve  */
1203     __O  uint32_t ECC_K[18];             /*!< [0x0a00] ~ [0x0a44] ECC The scalar SCALARK word 0~17 of point multiplication */
1204     __IO uint32_t ECC_SADDR;             /*!< [0x0a48] ECC DMA Source Address Register                                  */
1205     __IO uint32_t ECC_DADDR;             /*!< [0x0a4c] ECC DMA Destination Address Register                             */
1206     __IO uint32_t ECC_STARTREG;          /*!< [0x0a50] ECC Starting Address of Updated Registers                        */
1207     __IO uint32_t ECC_WORDCNT;           /*!< [0x0a54] ECC DMA Word Count                                               */
1208     __I  uint32_t RESERVE7[42];
1209     __IO uint32_t RSA_CTL;               /*!< [0x0b00] RSA Control Register                                             */
1210     __I  uint32_t RSA_STS;               /*!< [0x0b04] RSA Status Register                                              */
1211     __IO uint32_t RSA_SADDR[5];          /*!< [0x0b08] ~ [0x0b18] RSA DMA Source Address Register0                      */
1212     __IO uint32_t RSA_DADDR;             /*!< [0x0b1c] RSA DMA Destination Address Register                             */
1213     __IO uint32_t RSA_MADDR[7];          /*!< [0x0b20] ~ [0x0b38] RSA DMA Middle Address Register0                      */
1214     __I  uint32_t RESERVE8[241];
1215     __O  uint32_t PRNG_KSCTL;            /*!< [0x0f00] PRNG Key Control Register                                        */
1216     __I  uint32_t PRNG_KSSTS;            /*!< [0x0f04] PRNG Key Status Register                                         */
1217     __I  uint32_t RESERVE9[2];
1218     __O  uint32_t AES_KSCTL;             /*!< [0x0f10] AES Key Control Register                                         */
1219     __I  uint32_t RESERVE10[7];
1220     __O  uint32_t HMAC_KSCTL;            /*!< [0x0f30] HMAC Key Control Register                                        */
1221     __I  uint32_t RESERVE11[3];
1222     __O  uint32_t ECC_KSCTL;             /*!< [0x0f40] ECC Key Control Register                                         */
1223     __I  uint32_t ECC_KSSTS;             /*!< [0x0f44] ECC Key Status Register                                          */
1224     __O  uint32_t ECC_KSXY;              /*!< [0x0f48] ECC XY Number Register                                           */
1225     __I  uint32_t RESERVE12[1];
1226     __O  uint32_t RSA_KSCTL;             /*!< [0x0f50] RSA Key Control Register                                         */
1227     __IO uint32_t RSA_KSSTS[2];          /*!< [0x0f54] ~ [0x0f58] RSA Key Status Register 0                             */
1228     __I  uint32_t RESERVE13[40];
1229 
1230 } CRPT_T;
1231 
1232 /**
1233     @addtogroup CRPT_CONST CRYPTO Bit Field Definition
1234     Constant Definitions for CRYPTO Controller
1235   @{
1236 */
1237 
1238 #define CRPT_INTEN_AESIEN_Pos          (0)                                               /*!< CRPT_T::INTEN: AESIEN Position       */
1239 #define CRPT_INTEN_AESIEN_Msk          (0x1ul << CRPT_INTEN_AESIEN_Pos)                /*!< CRPT_T::INTEN: AESIEN Mask           */
1240 
1241 #define CRPT_INTEN_AESEIEN_Pos         (1)                                               /*!< CRPT_T::INTEN: AESEIEN Position      */
1242 #define CRPT_INTEN_AESEIEN_Msk         (0x1ul << CRPT_INTEN_AESEIEN_Pos)               /*!< CRPT_T::INTEN: AESEIEN Mask          */
1243 
1244 #define CRPT_INTEN_PRNGIEN_Pos         (16)                                              /*!< CRPT_T::INTEN: PRNGIEN Position      */
1245 #define CRPT_INTEN_PRNGIEN_Msk         (0x1ul << CRPT_INTEN_PRNGIEN_Pos)               /*!< CRPT_T::INTEN: PRNGIEN Mask          */
1246 
1247 #define CRPT_INTEN_PRNGEIEN_Pos        (17)                                              /*!< CRPT_T::INTEN: PRNGEIEN Position     */
1248 #define CRPT_INTEN_PRNGEIEN_Msk        (0x1ul << CRPT_INTEN_PRNGEIEN_Pos)              /*!< CRPT_T::INTEN: PRNGEIEN Mask         */
1249 
1250 #define CRPT_INTEN_ECCIEN_Pos          (22)                                              /*!< CRPT_T::INTEN: ECCIEN Position       */
1251 #define CRPT_INTEN_ECCIEN_Msk          (0x1ul << CRPT_INTEN_ECCIEN_Pos)                /*!< CRPT_T::INTEN: ECCIEN Mask           */
1252 
1253 #define CRPT_INTEN_ECCEIEN_Pos         (23)                                              /*!< CRPT_T::INTEN: ECCEIEN Position      */
1254 #define CRPT_INTEN_ECCEIEN_Msk         (0x1ul << CRPT_INTEN_ECCEIEN_Pos)               /*!< CRPT_T::INTEN: ECCEIEN Mask          */
1255 
1256 #define CRPT_INTEN_HMACIEN_Pos         (24)                                              /*!< CRPT_T::INTEN: HMACIEN Position      */
1257 #define CRPT_INTEN_HMACIEN_Msk         (0x1ul << CRPT_INTEN_HMACIEN_Pos)               /*!< CRPT_T::INTEN: HMACIEN Mask          */
1258 
1259 #define CRPT_INTEN_HMACEIEN_Pos        (25)                                              /*!< CRPT_T::INTEN: HMACEIEN Position     */
1260 #define CRPT_INTEN_HMACEIEN_Msk        (0x1ul << CRPT_INTEN_HMACEIEN_Pos)              /*!< CRPT_T::INTEN: HMACEIEN Mask         */
1261 
1262 #define CRPT_INTEN_RSAIEN_Pos          (30)                                              /*!< CRPT_T::INTEN: RSAIEN Position       */
1263 #define CRPT_INTEN_RSAIEN_Msk          (0x1ul << CRPT_INTEN_RSAIEN_Pos)                /*!< CRPT_T::INTEN: RSAIEN Mask           */
1264 
1265 #define CRPT_INTEN_RSAEIEN_Pos         (31)                                              /*!< CRPT_T::INTEN: RSAEIEN Position      */
1266 #define CRPT_INTEN_RSAEIEN_Msk         (0x1ul << CRPT_INTEN_RSAEIEN_Pos)               /*!< CRPT_T::INTEN: RSAEIEN Mask          */
1267 
1268 #define CRPT_INTSTS_AESIF_Pos          (0)                                               /*!< CRPT_T::INTSTS: AESIF Position       */
1269 #define CRPT_INTSTS_AESIF_Msk          (0x1ul << CRPT_INTSTS_AESIF_Pos)                /*!< CRPT_T::INTSTS: AESIF Mask           */
1270 
1271 #define CRPT_INTSTS_AESEIF_Pos         (1)                                               /*!< CRPT_T::INTSTS: AESEIF Position      */
1272 #define CRPT_INTSTS_AESEIF_Msk         (0x1ul << CRPT_INTSTS_AESEIF_Pos)               /*!< CRPT_T::INTSTS: AESEIF Mask          */
1273 
1274 #define CRPT_INTSTS_PRNGIF_Pos         (16)                                              /*!< CRPT_T::INTSTS: PRNGIF Position      */
1275 #define CRPT_INTSTS_PRNGIF_Msk         (0x1ul << CRPT_INTSTS_PRNGIF_Pos)               /*!< CRPT_T::INTSTS: PRNGIF Mask          */
1276 
1277 #define CRPT_INTSTS_PRNGEIF_Pos        (17)                                              /*!< CRPT_T::INTSTS: PRNGEIF Position     */
1278 #define CRPT_INTSTS_PRNGEIF_Msk        (0x1ul << CRPT_INTSTS_PRNGEIF_Pos)              /*!< CRPT_T::INTSTS: PRNGEIF Mask         */
1279 
1280 #define CRPT_INTSTS_ECCIF_Pos          (22)                                              /*!< CRPT_T::INTSTS: ECCIF Position       */
1281 #define CRPT_INTSTS_ECCIF_Msk          (0x1ul << CRPT_INTSTS_ECCIF_Pos)                /*!< CRPT_T::INTSTS: ECCIF Mask           */
1282 
1283 #define CRPT_INTSTS_ECCEIF_Pos         (23)                                              /*!< CRPT_T::INTSTS: ECCEIF Position      */
1284 #define CRPT_INTSTS_ECCEIF_Msk         (0x1ul << CRPT_INTSTS_ECCEIF_Pos)               /*!< CRPT_T::INTSTS: ECCEIF Mask          */
1285 
1286 #define CRPT_INTSTS_HMACIF_Pos         (24)                                              /*!< CRPT_T::INTSTS: HMACIF Position      */
1287 #define CRPT_INTSTS_HMACIF_Msk         (0x1ul << CRPT_INTSTS_HMACIF_Pos)               /*!< CRPT_T::INTSTS: HMACIF Mask          */
1288 
1289 #define CRPT_INTSTS_HMACEIF_Pos        (25)                                              /*!< CRPT_T::INTSTS: HMACEIF Position     */
1290 #define CRPT_INTSTS_HMACEIF_Msk        (0x1ul << CRPT_INTSTS_HMACEIF_Pos)              /*!< CRPT_T::INTSTS: HMACEIF Mask         */
1291 
1292 #define CRPT_INTSTS_RSAIF_Pos          (30)                                              /*!< CRPT_T::INTSTS: RSAIF Position       */
1293 #define CRPT_INTSTS_RSAIF_Msk          (0x1ul << CRPT_INTSTS_RSAIF_Pos)                /*!< CRPT_T::INTSTS: RSAIF Mask           */
1294 
1295 #define CRPT_INTSTS_RSAEIF_Pos         (31)                                              /*!< CRPT_T::INTSTS: RSAEIF Position      */
1296 #define CRPT_INTSTS_RSAEIF_Msk         (0x1ul << CRPT_INTSTS_RSAEIF_Pos)               /*!< CRPT_T::INTSTS: RSAEIF Mask          */
1297 
1298 #define CRPT_PRNG_CTL_START_Pos        (0)                                               /*!< CRPT_T::PRNG_CTL: START Position     */
1299 #define CRPT_PRNG_CTL_START_Msk        (0x1ul << CRPT_PRNG_CTL_START_Pos)              /*!< CRPT_T::PRNG_CTL: START Mask         */
1300 
1301 #define CRPT_PRNG_CTL_SEEDRLD_Pos      (1)                                               /*!< CRPT_T::PRNG_CTL: SEEDRLD Position   */
1302 #define CRPT_PRNG_CTL_SEEDRLD_Msk      (0x1ul << CRPT_PRNG_CTL_SEEDRLD_Pos)            /*!< CRPT_T::PRNG_CTL: SEEDRLD Mask       */
1303 
1304 #define CRPT_PRNG_CTL_KEYSZ_Pos        (2)                                               /*!< CRPT_T::PRNG_CTL: KEYSZ Position     */
1305 #define CRPT_PRNG_CTL_KEYSZ_Msk        (0xful << CRPT_PRNG_CTL_KEYSZ_Pos)              /*!< CRPT_T::PRNG_CTL: KEYSZ Mask         */
1306 
1307 #define CRPT_PRNG_CTL_SEEDSEL_Pos      (6)                                               /*!< CRPT_T::PRNG_CTL: SEEDSEL Position   */
1308 #define CRPT_PRNG_CTL_SEEDSEL_Msk      (0x1ul << CRPT_PRNG_CTL_SEEDSEL_Pos)            /*!< CRPT_T::PRNG_CTL: SEEDSEL Mask       */
1309 
1310 #define CRPT_PRNG_CTL_SEEDSRC_Pos      (7)                                               /*!< CRPT_T::PRNG_CTL: SEEDSRC Position   */
1311 #define CRPT_PRNG_CTL_SEEDSRC_Msk      (0x1ul << CRPT_PRNG_CTL_SEEDSRC_Pos)            /*!< CRPT_T::PRNG_CTL: SEEDSRC Mask       */
1312 
1313 #define CRPT_PRNG_CTL_BUSY_Pos         (8)                                               /*!< CRPT_T::PRNG_CTL: BUSY Position      */
1314 #define CRPT_PRNG_CTL_BUSY_Msk         (0x1ul << CRPT_PRNG_CTL_BUSY_Pos)               /*!< CRPT_T::PRNG_CTL: BUSY Mask          */
1315 
1316 #define CRPT_PRNG_SEED_SEED_Pos        (0)                                               /*!< CRPT_T::PRNG_SEED: SEED Position     */
1317 #define CRPT_PRNG_SEED_SEED_Msk        (0xfffffffful << CRPT_PRNG_SEED_SEED_Pos)       /*!< CRPT_T::PRNG_SEED: SEED Mask         */
1318 
1319 #define CRPT_PRNG_KEY0_KEY_Pos         (0)                                               /*!< CRPT_T::PRNG_KEY0: KEY Position      */
1320 #define CRPT_PRNG_KEY0_KEY_Msk         (0xfffffffful << CRPT_PRNG_KEY0_KEY_Pos)        /*!< CRPT_T::PRNG_KEY0: KEY Mask          */
1321 
1322 #define CRPT_PRNG_KEY1_KEY_Pos         (0)                                               /*!< CRPT_T::PRNG_KEY1: KEY Position      */
1323 #define CRPT_PRNG_KEY1_KEY_Msk         (0xfffffffful << CRPT_PRNG_KEY1_KEY_Pos)        /*!< CRPT_T::PRNG_KEY1: KEY Mask          */
1324 
1325 #define CRPT_PRNG_KEY2_KEY_Pos         (0)                                               /*!< CRPT_T::PRNG_KEY2: KEY Position      */
1326 #define CRPT_PRNG_KEY2_KEY_Msk         (0xfffffffful << CRPT_PRNG_KEY2_KEY_Pos)        /*!< CRPT_T::PRNG_KEY2: KEY Mask          */
1327 
1328 #define CRPT_PRNG_KEY3_KEY_Pos         (0)                                               /*!< CRPT_T::PRNG_KEY3: KEY Position      */
1329 #define CRPT_PRNG_KEY3_KEY_Msk         (0xfffffffful << CRPT_PRNG_KEY3_KEY_Pos)        /*!< CRPT_T::PRNG_KEY3: KEY Mask          */
1330 
1331 #define CRPT_PRNG_KEY4_KEY_Pos         (0)                                               /*!< CRPT_T::PRNG_KEY4: KEY Position      */
1332 #define CRPT_PRNG_KEY4_KEY_Msk         (0xfffffffful << CRPT_PRNG_KEY4_KEY_Pos)        /*!< CRPT_T::PRNG_KEY4: KEY Mask          */
1333 
1334 #define CRPT_PRNG_KEY5_KEY_Pos         (0)                                               /*!< CRPT_T::PRNG_KEY5: KEY Position      */
1335 #define CRPT_PRNG_KEY5_KEY_Msk         (0xfffffffful << CRPT_PRNG_KEY5_KEY_Pos)        /*!< CRPT_T::PRNG_KEY5: KEY Mask          */
1336 
1337 #define CRPT_PRNG_KEY6_KEY_Pos         (0)                                               /*!< CRPT_T::PRNG_KEY6: KEY Position      */
1338 #define CRPT_PRNG_KEY6_KEY_Msk         (0xfffffffful << CRPT_PRNG_KEY6_KEY_Pos)        /*!< CRPT_T::PRNG_KEY6: KEY Mask          */
1339 
1340 #define CRPT_PRNG_KEY7_KEY_Pos         (0)                                               /*!< CRPT_T::PRNG_KEY7: KEY Position      */
1341 #define CRPT_PRNG_KEY7_KEY_Msk         (0xfffffffful << CRPT_PRNG_KEY7_KEY_Pos)        /*!< CRPT_T::PRNG_KEY7: KEY Mask          */
1342 
1343 #define CRPT_PRNG_STS_BUSY_Pos         (0)                                               /*!< CRPT_T::PRNG_STS: BUSY Position      */
1344 #define CRPT_PRNG_STS_BUSY_Msk         (0x1ul << CRPT_PRNG_STS_BUSY_Pos)               /*!< CRPT_T::PRNG_STS: BUSY Mask          */
1345 
1346 #define CRPT_PRNG_STS_KCTLERR_Pos      (16)                                              /*!< CRPT_T::PRNG_STS: KCTLERR Position   */
1347 #define CRPT_PRNG_STS_KCTLERR_Msk      (0x1ul << CRPT_PRNG_STS_KCTLERR_Pos)            /*!< CRPT_T::PRNG_STS: KCTLERR Mask       */
1348 
1349 #define CRPT_PRNG_STS_KSERR_Pos        (17)                                              /*!< CRPT_T::PRNG_STS: KSERR Position     */
1350 #define CRPT_PRNG_STS_KSERR_Msk        (0x1ul << CRPT_PRNG_STS_KSERR_Pos)              /*!< CRPT_T::PRNG_STS: KSERR Mask         */
1351 
1352 #define CRPT_AES_FDBCK0_FDBCK_Pos      (0)                                               /*!< CRPT_T::AES_FDBCK0: FDBCK Position   */
1353 #define CRPT_AES_FDBCK0_FDBCK_Msk      (0xfffffffful << CRPT_AES_FDBCK0_FDBCK_Pos)     /*!< CRPT_T::AES_FDBCK0: FDBCK Mask       */
1354 
1355 #define CRPT_AES_FDBCK1_FDBCK_Pos      (0)                                               /*!< CRPT_T::AES_FDBCK1: FDBCK Position   */
1356 #define CRPT_AES_FDBCK1_FDBCK_Msk      (0xfffffffful << CRPT_AES_FDBCK1_FDBCK_Pos)     /*!< CRPT_T::AES_FDBCK1: FDBCK Mask       */
1357 
1358 #define CRPT_AES_FDBCK2_FDBCK_Pos      (0)                                               /*!< CRPT_T::AES_FDBCK2: FDBCK Position   */
1359 #define CRPT_AES_FDBCK2_FDBCK_Msk      (0xfffffffful << CRPT_AES_FDBCK2_FDBCK_Pos)     /*!< CRPT_T::AES_FDBCK2: FDBCK Mask       */
1360 
1361 #define CRPT_AES_FDBCK3_FDBCK_Pos      (0)                                               /*!< CRPT_T::AES_FDBCK3: FDBCK Position   */
1362 #define CRPT_AES_FDBCK3_FDBCK_Msk      (0xfffffffful << CRPT_AES_FDBCK3_FDBCK_Pos)     /*!< CRPT_T::AES_FDBCK3: FDBCK Mask       */
1363 
1364 #define CRPT_AES_GCM_IVCNT0_CNT_Pos    (0)                                               /*!< CRPT_T::AES_GCM_IVCNT0: CNT Position */
1365 #define CRPT_AES_GCM_IVCNT0_CNT_Msk    (0xfffffffful << CRPT_AES_GCM_IVCNT0_CNT_Pos)   /*!< CRPT_T::AES_GCM_IVCNT0: CNT Mask     */
1366 
1367 #define CRPT_AES_GCM_IVCNT1_CNT_Pos    (0)                                               /*!< CRPT_T::AES_GCM_IVCNT1: CNT Position */
1368 #define CRPT_AES_GCM_IVCNT1_CNT_Msk    (0x1ffffffful << CRPT_AES_GCM_IVCNT1_CNT_Pos)   /*!< CRPT_T::AES_GCM_IVCNT1: CNT Mask     */
1369 
1370 #define CRPT_AES_GCM_ACNT0_CNT_Pos     (0)                                               /*!< CRPT_T::AES_GCM_ACNT0: CNT Position  */
1371 #define CRPT_AES_GCM_ACNT0_CNT_Msk     (0xfffffffful << CRPT_AES_GCM_ACNT0_CNT_Pos)    /*!< CRPT_T::AES_GCM_ACNT0: CNT Mask      */
1372 
1373 #define CRPT_AES_GCM_ACNT1_CNT_Pos     (0)                                               /*!< CRPT_T::AES_GCM_ACNT1: CNT Position  */
1374 #define CRPT_AES_GCM_ACNT1_CNT_Msk     (0x1ffffffful << CRPT_AES_GCM_ACNT1_CNT_Pos)    /*!< CRPT_T::AES_GCM_ACNT1: CNT Mask      */
1375 
1376 #define CRPT_AES_GCM_PCNT0_CNT_Pos     (0)                                               /*!< CRPT_T::AES_GCM_PCNT0: CNT Position  */
1377 #define CRPT_AES_GCM_PCNT0_CNT_Msk     (0xfffffffful << CRPT_AES_GCM_PCNT0_CNT_Pos)    /*!< CRPT_T::AES_GCM_PCNT0: CNT Mask      */
1378 
1379 #define CRPT_AES_GCM_PCNT1_CNT_Pos     (0)                                               /*!< CRPT_T::AES_GCM_PCNT1: CNT Position  */
1380 #define CRPT_AES_GCM_PCNT1_CNT_Msk     (0x1ffffffful << CRPT_AES_GCM_PCNT1_CNT_Pos)    /*!< CRPT_T::AES_GCM_PCNT1: CNT Mask      */
1381 
1382 #define CRPT_AES_FBADDR_FBADDR_Pos     (0)                                               /*!< CRPT_T::AES_FBADDR: FBADDR Position  */
1383 #define CRPT_AES_FBADDR_FBADDR_Msk     (0xfffffffful << CRPT_AES_FBADDR_FBADDR_Pos)    /*!< CRPT_T::AES_FBADDR: FBADDR Mask      */
1384 
1385 #define CRPT_AES_CTL_START_Pos         (0)                                               /*!< CRPT_T::AES_CTL: START Position      */
1386 #define CRPT_AES_CTL_START_Msk         (0x1ul << CRPT_AES_CTL_START_Pos)               /*!< CRPT_T::AES_CTL: START Mask          */
1387 
1388 #define CRPT_AES_CTL_STOP_Pos          (1)                                               /*!< CRPT_T::AES_CTL: STOP Position       */
1389 #define CRPT_AES_CTL_STOP_Msk          (0x1ul << CRPT_AES_CTL_STOP_Pos)                /*!< CRPT_T::AES_CTL: STOP Mask           */
1390 
1391 #define CRPT_AES_CTL_KEYSZ_Pos         (2)                                               /*!< CRPT_T::AES_CTL: KEYSZ Position      */
1392 #define CRPT_AES_CTL_KEYSZ_Msk         (0x3ul << CRPT_AES_CTL_KEYSZ_Pos)               /*!< CRPT_T::AES_CTL: KEYSZ Mask          */
1393 
1394 #define CRPT_AES_CTL_DMALAST_Pos       (5)                                               /*!< CRPT_T::AES_CTL: DMALAST Position    */
1395 #define CRPT_AES_CTL_DMALAST_Msk       (0x1ul << CRPT_AES_CTL_DMALAST_Pos)             /*!< CRPT_T::AES_CTL: DMALAST Mask        */
1396 
1397 #define CRPT_AES_CTL_DMACSCAD_Pos      (6)                                               /*!< CRPT_T::AES_CTL: DMACSCAD Position   */
1398 #define CRPT_AES_CTL_DMACSCAD_Msk      (0x1ul << CRPT_AES_CTL_DMACSCAD_Pos)            /*!< CRPT_T::AES_CTL: DMACSCAD Mask       */
1399 
1400 #define CRPT_AES_CTL_DMAEN_Pos         (7)                                               /*!< CRPT_T::AES_CTL: DMAEN Position      */
1401 #define CRPT_AES_CTL_DMAEN_Msk         (0x1ul << CRPT_AES_CTL_DMAEN_Pos)               /*!< CRPT_T::AES_CTL: DMAEN Mask          */
1402 
1403 #define CRPT_AES_CTL_OPMODE_Pos        (8)                                               /*!< CRPT_T::AES_CTL: OPMODE Position     */
1404 #define CRPT_AES_CTL_OPMODE_Msk        (0xfful << CRPT_AES_CTL_OPMODE_Pos)             /*!< CRPT_T::AES_CTL: OPMODE Mask         */
1405 
1406 #define CRPT_AES_CTL_ENCRPT_Pos      (16)                                              /*!< CRPT_T::AES_CTL: ENCRYPTO Position   */
1407 #define CRPT_AES_CTL_ENCRPT_Msk      (0x1ul << CRPT_AES_CTL_ENCRPT_Pos)            /*!< CRPT_T::AES_CTL: ENCRYPTO Mask       */
1408 
1409 #define CRPT_AES_CTL_SM4EN_Pos         (17)                                              /*!< CRPT_T::AES_CTL: SM4EN Position      */
1410 #define CRPT_AES_CTL_SM4EN_Msk         (0x1ul << CRPT_AES_CTL_SM4EN_Pos)               /*!< CRPT_T::AES_CTL: SM4EN Mask          */
1411 
1412 #define CRPT_AES_CTL_FBIN_Pos          (20)                                              /*!< CRPT_T::AES_CTL: FBIN Position       */
1413 #define CRPT_AES_CTL_FBIN_Msk          (0x1ul << CRPT_AES_CTL_FBIN_Pos)                /*!< CRPT_T::AES_CTL: FBIN Mask           */
1414 
1415 #define CRPT_AES_CTL_FBOUT_Pos         (21)                                              /*!< CRPT_T::AES_CTL: FBOUT Position      */
1416 #define CRPT_AES_CTL_FBOUT_Msk         (0x1ul << CRPT_AES_CTL_FBOUT_Pos)               /*!< CRPT_T::AES_CTL: FBOUT Mask          */
1417 
1418 #define CRPT_AES_CTL_OUTSWAP_Pos       (22)                                              /*!< CRPT_T::AES_CTL: OUTSWAP Position    */
1419 #define CRPT_AES_CTL_OUTSWAP_Msk       (0x1ul << CRPT_AES_CTL_OUTSWAP_Pos)             /*!< CRPT_T::AES_CTL: OUTSWAP Mask        */
1420 
1421 #define CRPT_AES_CTL_INSWAP_Pos        (23)                                              /*!< CRPT_T::AES_CTL: INSWAP Position     */
1422 #define CRPT_AES_CTL_INSWAP_Msk        (0x1ul << CRPT_AES_CTL_INSWAP_Pos)              /*!< CRPT_T::AES_CTL: INSWAP Mask         */
1423 
1424 #define CRPT_AES_CTL_KOUTSWAP_Pos      (24)                                              /*!< CRPT_T::AES_CTL: KOUTSWAP Position   */
1425 #define CRPT_AES_CTL_KOUTSWAP_Msk      (0x1ul << CRPT_AES_CTL_KOUTSWAP_Pos)            /*!< CRPT_T::AES_CTL: KOUTSWAP Mask       */
1426 
1427 #define CRPT_AES_CTL_KINSWAP_Pos       (25)                                              /*!< CRPT_T::AES_CTL: KINSWAP Position    */
1428 #define CRPT_AES_CTL_KINSWAP_Msk       (0x1ul << CRPT_AES_CTL_KINSWAP_Pos)             /*!< CRPT_T::AES_CTL: KINSWAP Mask        */
1429 
1430 #define CRPT_AES_CTL_KEYUNPRT_Pos      (26)                                              /*!< CRPT_T::AES_CTL: KEYUNPRT Position   */
1431 #define CRPT_AES_CTL_KEYUNPRT_Msk      (0x1ful << CRPT_AES_CTL_KEYUNPRT_Pos)           /*!< CRPT_T::AES_CTL: KEYUNPRT Mask       */
1432 
1433 #define CRPT_AES_CTL_KEYPRT_Pos        (31)                                              /*!< CRPT_T::AES_CTL: KEYPRT Position     */
1434 #define CRPT_AES_CTL_KEYPRT_Msk        (0x1ul << CRPT_AES_CTL_KEYPRT_Pos)              /*!< CRPT_T::AES_CTL: KEYPRT Mask         */
1435 
1436 #define CRPT_AES_STS_BUSY_Pos          (0)                                               /*!< CRPT_T::AES_STS: BUSY Position       */
1437 #define CRPT_AES_STS_BUSY_Msk          (0x1ul << CRPT_AES_STS_BUSY_Pos)                /*!< CRPT_T::AES_STS: BUSY Mask           */
1438 
1439 #define CRPT_AES_STS_INBUFEMPTY_Pos    (8)                                               /*!< CRPT_T::AES_STS: INBUFEMPTY Position */
1440 #define CRPT_AES_STS_INBUFEMPTY_Msk    (0x1ul << CRPT_AES_STS_INBUFEMPTY_Pos)          /*!< CRPT_T::AES_STS: INBUFEMPTY Mask     */
1441 
1442 #define CRPT_AES_STS_INBUFFULL_Pos     (9)                                               /*!< CRPT_T::AES_STS: INBUFFULL Position  */
1443 #define CRPT_AES_STS_INBUFFULL_Msk     (0x1ul << CRPT_AES_STS_INBUFFULL_Pos)           /*!< CRPT_T::AES_STS: INBUFFULL Mask      */
1444 
1445 #define CRPT_AES_STS_INBUFERR_Pos      (10)                                              /*!< CRPT_T::AES_STS: INBUFERR Position   */
1446 #define CRPT_AES_STS_INBUFERR_Msk      (0x1ul << CRPT_AES_STS_INBUFERR_Pos)            /*!< CRPT_T::AES_STS: INBUFERR Mask       */
1447 
1448 #define CRPT_AES_STS_CNTERR_Pos        (12)                                              /*!< CRPT_T::AES_STS: CNTERR Position     */
1449 #define CRPT_AES_STS_CNTERR_Msk        (0x1ul << CRPT_AES_STS_CNTERR_Pos)              /*!< CRPT_T::AES_STS: CNTERR Mask         */
1450 
1451 #define CRPT_AES_STS_OUTBUFEMPTY_Pos   (16)                                              /*!< CRPT_T::AES_STS: OUTBUFEMPTY Position*/
1452 #define CRPT_AES_STS_OUTBUFEMPTY_Msk   (0x1ul << CRPT_AES_STS_OUTBUFEMPTY_Pos)         /*!< CRPT_T::AES_STS: OUTBUFEMPTY Mask    */
1453 
1454 #define CRPT_AES_STS_OUTBUFFULL_Pos    (17)                                              /*!< CRPT_T::AES_STS: OUTBUFFULL Position */
1455 #define CRPT_AES_STS_OUTBUFFULL_Msk    (0x1ul << CRPT_AES_STS_OUTBUFFULL_Pos)          /*!< CRPT_T::AES_STS: OUTBUFFULL Mask     */
1456 
1457 #define CRPT_AES_STS_OUTBUFERR_Pos     (18)                                              /*!< CRPT_T::AES_STS: OUTBUFERR Position  */
1458 #define CRPT_AES_STS_OUTBUFERR_Msk     (0x1ul << CRPT_AES_STS_OUTBUFERR_Pos)           /*!< CRPT_T::AES_STS: OUTBUFERR Mask      */
1459 
1460 #define CRPT_AES_STS_BUSERR_Pos        (20)                                              /*!< CRPT_T::AES_STS: BUSERR Position     */
1461 #define CRPT_AES_STS_BUSERR_Msk        (0x1ul << CRPT_AES_STS_BUSERR_Pos)              /*!< CRPT_T::AES_STS: BUSERR Mask         */
1462 
1463 #define CRPT_AES_STS_KSERR_Pos         (21)                                              /*!< CRPT_T::AES_STS: KSERR Position      */
1464 #define CRPT_AES_STS_KSERR_Msk         (0x1ul << CRPT_AES_STS_KSERR_Pos)               /*!< CRPT_T::AES_STS: KSERR Mask          */
1465 
1466 #define CRPT_AES_DATIN_DATIN_Pos       (0)                                               /*!< CRPT_T::AES_DATIN: DATIN Position    */
1467 #define CRPT_AES_DATIN_DATIN_Msk       (0xfffffffful << CRPT_AES_DATIN_DATIN_Pos)      /*!< CRPT_T::AES_DATIN: DATIN Mask        */
1468 
1469 #define CRPT_AES_DATOUT_DATOUT_Pos     (0)                                               /*!< CRPT_T::AES_DATOUT: DATOUT Position  */
1470 #define CRPT_AES_DATOUT_DATOUT_Msk     (0xfffffffful << CRPT_AES_DATOUT_DATOUT_Pos)    /*!< CRPT_T::AES_DATOUT: DATOUT Mask      */
1471 
1472 #define CRPT_AES_KEY0_KEY_Pos          (0)                                               /*!< CRPT_T::AES_KEY0: KEY Position       */
1473 #define CRPT_AES_KEY0_KEY_Msk          (0xfffffffful << CRPT_AES_KEY0_KEY_Pos)         /*!< CRPT_T::AES_KEY0: KEY Mask           */
1474 
1475 #define CRPT_AES_KEY1_KEY_Pos          (0)                                               /*!< CRPT_T::AES_KEY1: KEY Position       */
1476 #define CRPT_AES_KEY1_KEY_Msk          (0xfffffffful << CRPT_AES_KEY1_KEY_Pos)         /*!< CRPT_T::AES_KEY1: KEY Mask           */
1477 
1478 #define CRPT_AES_KEY2_KEY_Pos          (0)                                               /*!< CRPT_T::AES_KEY2: KEY Position       */
1479 #define CRPT_AES_KEY2_KEY_Msk          (0xfffffffful << CRPT_AES_KEY2_KEY_Pos)         /*!< CRPT_T::AES_KEY2: KEY Mask           */
1480 
1481 #define CRPT_AES_KEY3_KEY_Pos          (0)                                               /*!< CRPT_T::AES_KEY3: KEY Position       */
1482 #define CRPT_AES_KEY3_KEY_Msk          (0xfffffffful << CRPT_AES_KEY3_KEY_Pos)         /*!< CRPT_T::AES_KEY3: KEY Mask           */
1483 
1484 #define CRPT_AES_KEY4_KEY_Pos          (0)                                               /*!< CRPT_T::AES_KEY4: KEY Position       */
1485 #define CRPT_AES_KEY4_KEY_Msk          (0xfffffffful << CRPT_AES_KEY4_KEY_Pos)         /*!< CRPT_T::AES_KEY4: KEY Mask           */
1486 
1487 #define CRPT_AES_KEY5_KEY_Pos          (0)                                               /*!< CRPT_T::AES_KEY5: KEY Position       */
1488 #define CRPT_AES_KEY5_KEY_Msk          (0xfffffffful << CRPT_AES_KEY5_KEY_Pos)         /*!< CRPT_T::AES_KEY5: KEY Mask           */
1489 
1490 #define CRPT_AES_KEY6_KEY_Pos          (0)                                               /*!< CRPT_T::AES_KEY6: KEY Position       */
1491 #define CRPT_AES_KEY6_KEY_Msk          (0xfffffffful << CRPT_AES_KEY6_KEY_Pos)         /*!< CRPT_T::AES_KEY6: KEY Mask           */
1492 
1493 #define CRPT_AES_KEY7_KEY_Pos          (0)                                               /*!< CRPT_T::AES_KEY7: KEY Position       */
1494 #define CRPT_AES_KEY7_KEY_Msk          (0xfffffffful << CRPT_AES_KEY7_KEY_Pos)         /*!< CRPT_T::AES_KEY7: KEY Mask           */
1495 
1496 #define CRPT_AES_IV0_IV_Pos            (0)                                               /*!< CRPT_T::AES_IV0: IV Position         */
1497 #define CRPT_AES_IV0_IV_Msk            (0xfffffffful << CRPT_AES_IV0_IV_Pos)           /*!< CRPT_T::AES_IV0: IV Mask             */
1498 
1499 #define CRPT_AES_IV1_IV_Pos            (0)                                               /*!< CRPT_T::AES_IV1: IV Position         */
1500 #define CRPT_AES_IV1_IV_Msk            (0xfffffffful << CRPT_AES_IV1_IV_Pos)           /*!< CRPT_T::AES_IV1: IV Mask             */
1501 
1502 #define CRPT_AES_IV2_IV_Pos            (0)                                               /*!< CRPT_T::AES_IV2: IV Position         */
1503 #define CRPT_AES_IV2_IV_Msk            (0xfffffffful << CRPT_AES_IV2_IV_Pos)           /*!< CRPT_T::AES_IV2: IV Mask             */
1504 
1505 #define CRPT_AES_IV3_IV_Pos            (0)                                               /*!< CRPT_T::AES_IV3: IV Position         */
1506 #define CRPT_AES_IV3_IV_Msk            (0xfffffffful << CRPT_AES_IV3_IV_Pos)           /*!< CRPT_T::AES_IV3: IV Mask             */
1507 
1508 #define CRPT_AES_SADDR_SADDR_Pos       (0)                                               /*!< CRPT_T::AES_SADDR: SADDR Position    */
1509 #define CRPT_AES_SADDR_SADDR_Msk       (0xfffffffful << CRPT_AES_SADDR_SADDR_Pos)      /*!< CRPT_T::AES_SADDR: SADDR Mask        */
1510 
1511 #define CRPT_AES_DADDR_DADDR_Pos       (0)                                               /*!< CRPT_T::AES_DADDR: DADDR Position    */
1512 #define CRPT_AES_DADDR_DADDR_Msk       (0xfffffffful << CRPT_AES_DADDR_DADDR_Pos)      /*!< CRPT_T::AES_DADDR: DADDR Mask        */
1513 
1514 #define CRPT_AES_CNT_CNT_Pos           (0)                                               /*!< CRPT_T::AES_CNT: CNT Position        */
1515 #define CRPT_AES_CNT_CNT_Msk           (0xfffffffful << CRPT_AES_CNT_CNT_Pos)          /*!< CRPT_T::AES_CNT: CNT Mask            */
1516 
1517 #define CRPT_HMAC_CTL_START_Pos        (0)                                               /*!< CRPT_T::HMAC_CTL: START Position     */
1518 #define CRPT_HMAC_CTL_START_Msk        (0x1ul << CRPT_HMAC_CTL_START_Pos)              /*!< CRPT_T::HMAC_CTL: START Mask         */
1519 
1520 #define CRPT_HMAC_CTL_STOP_Pos         (1)                                               /*!< CRPT_T::HMAC_CTL: STOP Position      */
1521 #define CRPT_HMAC_CTL_STOP_Msk         (0x1ul << CRPT_HMAC_CTL_STOP_Pos)               /*!< CRPT_T::HMAC_CTL: STOP Mask          */
1522 
1523 #define CRPT_HMAC_CTL_DMAFIRST_Pos     (4)                                               /*!< CRPT_T::HMAC_CTL: DMAFIRST Position  */
1524 #define CRPT_HMAC_CTL_DMAFIRST_Msk     (0x1ul << CRPT_HMAC_CTL_DMAFIRST_Pos)           /*!< CRPT_T::HMAC_CTL: DMAFIRST Mask      */
1525 
1526 #define CRPT_HMAC_CTL_DMALAST_Pos      (5)                                               /*!< CRPT_T::HMAC_CTL: DMALAST Position   */
1527 #define CRPT_HMAC_CTL_DMALAST_Msk      (0x1ul << CRPT_HMAC_CTL_DMALAST_Pos)            /*!< CRPT_T::HMAC_CTL: DMALAST Mask       */
1528 
1529 #define CRPT_HMAC_CTL_DMACSCAD_Pos     (6)                                               /*!< CRPT_T::HMAC_CTL: DMACSCAD Position  */
1530 #define CRPT_HMAC_CTL_DMACSCAD_Msk     (0x1ul << CRPT_HMAC_CTL_DMACSCAD_Pos)           /*!< CRPT_T::HMAC_CTL: DMACSCAD Mask      */
1531 
1532 #define CRPT_HMAC_CTL_DMAEN_Pos        (7)                                               /*!< CRPT_T::HMAC_CTL: DMAEN Position     */
1533 #define CRPT_HMAC_CTL_DMAEN_Msk        (0x1ul << CRPT_HMAC_CTL_DMAEN_Pos)              /*!< CRPT_T::HMAC_CTL: DMAEN Mask         */
1534 
1535 #define CRPT_HMAC_CTL_OPMODE_Pos       (8)                                               /*!< CRPT_T::HMAC_CTL: OPMODE Position    */
1536 #define CRPT_HMAC_CTL_OPMODE_Msk       (0x7ul << CRPT_HMAC_CTL_OPMODE_Pos)             /*!< CRPT_T::HMAC_CTL: OPMODE Mask        */
1537 
1538 #define CRPT_HMAC_CTL_HMACEN_Pos       (11)                                              /*!< CRPT_T::HMAC_CTL: HMACEN Position    */
1539 #define CRPT_HMAC_CTL_HMACEN_Msk       (0x1ul << CRPT_HMAC_CTL_HMACEN_Pos)             /*!< CRPT_T::HMAC_CTL: HMACEN Mask        */
1540 
1541 #define CRPT_HMAC_CTL_SM3EN_Pos        (13)                                              /*!< CRPT_T::HMAC_CTL: SM3EN Position     */
1542 #define CRPT_HMAC_CTL_SM3EN_Msk        (0x1ul << CRPT_HMAC_CTL_SM3EN_Pos)              /*!< CRPT_T::HMAC_CTL: SM3EN Mask         */
1543 
1544 #define CRPT_HMAC_CTL_FBIN_Pos         (20)                                              /*!< CRPT_T::HMAC_CTL: FBIN Position      */
1545 #define CRPT_HMAC_CTL_FBIN_Msk         (0x1ul << CRPT_HMAC_CTL_FBIN_Pos)               /*!< CRPT_T::HMAC_CTL: FBIN Mask          */
1546 
1547 #define CRPT_HMAC_CTL_FBOUT_Pos        (21)                                              /*!< CRPT_T::HMAC_CTL: FBOUT Position     */
1548 #define CRPT_HMAC_CTL_FBOUT_Msk        (0x1ul << CRPT_HMAC_CTL_FBOUT_Pos)              /*!< CRPT_T::HMAC_CTL: FBOUT Mask         */
1549 
1550 #define CRPT_HMAC_CTL_OUTSWAP_Pos      (22)                                              /*!< CRPT_T::HMAC_CTL: OUTSWAP Position   */
1551 #define CRPT_HMAC_CTL_OUTSWAP_Msk      (0x1ul << CRPT_HMAC_CTL_OUTSWAP_Pos)            /*!< CRPT_T::HMAC_CTL: OUTSWAP Mask       */
1552 
1553 #define CRPT_HMAC_CTL_INSWAP_Pos       (23)                                              /*!< CRPT_T::HMAC_CTL: INSWAP Position    */
1554 #define CRPT_HMAC_CTL_INSWAP_Msk       (0x1ul << CRPT_HMAC_CTL_INSWAP_Pos)             /*!< CRPT_T::HMAC_CTL: INSWAP Mask        */
1555 
1556 #define CRPT_HMAC_STS_BUSY_Pos         (0)                                               /*!< CRPT_T::HMAC_STS: BUSY Position      */
1557 #define CRPT_HMAC_STS_BUSY_Msk         (0x1ul << CRPT_HMAC_STS_BUSY_Pos)               /*!< CRPT_T::HMAC_STS: BUSY Mask          */
1558 
1559 #define CRPT_HMAC_STS_DMABUSY_Pos      (1)                                               /*!< CRPT_T::HMAC_STS: DMABUSY Position   */
1560 #define CRPT_HMAC_STS_DMABUSY_Msk      (0x1ul << CRPT_HMAC_STS_DMABUSY_Pos)            /*!< CRPT_T::HMAC_STS: DMABUSY Mask       */
1561 
1562 #define CRPT_HMAC_STS_DMAERR_Pos       (8)                                               /*!< CRPT_T::HMAC_STS: DMAERR Position    */
1563 #define CRPT_HMAC_STS_DMAERR_Msk       (0x1ul << CRPT_HMAC_STS_DMAERR_Pos)             /*!< CRPT_T::HMAC_STS: DMAERR Mask        */
1564 
1565 #define CRPT_HMAC_STS_KSERR_Pos        (9)                                               /*!< CRPT_T::HMAC_STS: KSERR Position     */
1566 #define CRPT_HMAC_STS_KSERR_Msk        (0x1ul << CRPT_HMAC_STS_KSERR_Pos)              /*!< CRPT_T::HMAC_STS: KSERR Mask         */
1567 
1568 #define CRPT_HMAC_STS_DATINREQ_Pos     (16)                                              /*!< CRPT_T::HMAC_STS: DATINREQ Position  */
1569 #define CRPT_HMAC_STS_DATINREQ_Msk     (0x1ul << CRPT_HMAC_STS_DATINREQ_Pos)           /*!< CRPT_T::HMAC_STS: DATINREQ Mask      */
1570 
1571 #define CRPT_HMAC_DGST0_DGST_Pos       (0)                                               /*!< CRPT_T::HMAC_DGST0: DGST Position    */
1572 #define CRPT_HMAC_DGST0_DGST_Msk       (0xfffffffful << CRPT_HMAC_DGST0_DGST_Pos)      /*!< CRPT_T::HMAC_DGST0: DGST Mask        */
1573 
1574 #define CRPT_HMAC_DGST1_DGST_Pos       (0)                                               /*!< CRPT_T::HMAC_DGST1: DGST Position    */
1575 #define CRPT_HMAC_DGST1_DGST_Msk       (0xfffffffful << CRPT_HMAC_DGST1_DGST_Pos)      /*!< CRPT_T::HMAC_DGST1: DGST Mask        */
1576 
1577 #define CRPT_HMAC_DGST2_DGST_Pos       (0)                                               /*!< CRPT_T::HMAC_DGST2: DGST Position    */
1578 #define CRPT_HMAC_DGST2_DGST_Msk       (0xfffffffful << CRPT_HMAC_DGST2_DGST_Pos)      /*!< CRPT_T::HMAC_DGST2: DGST Mask        */
1579 
1580 #define CRPT_HMAC_DGST3_DGST_Pos       (0)                                               /*!< CRPT_T::HMAC_DGST3: DGST Position    */
1581 #define CRPT_HMAC_DGST3_DGST_Msk       (0xfffffffful << CRPT_HMAC_DGST3_DGST_Pos)      /*!< CRPT_T::HMAC_DGST3: DGST Mask        */
1582 
1583 #define CRPT_HMAC_DGST4_DGST_Pos       (0)                                               /*!< CRPT_T::HMAC_DGST4: DGST Position    */
1584 #define CRPT_HMAC_DGST4_DGST_Msk       (0xfffffffful << CRPT_HMAC_DGST4_DGST_Pos)      /*!< CRPT_T::HMAC_DGST4: DGST Mask        */
1585 
1586 #define CRPT_HMAC_DGST5_DGST_Pos       (0)                                               /*!< CRPT_T::HMAC_DGST5: DGST Position    */
1587 #define CRPT_HMAC_DGST5_DGST_Msk       (0xfffffffful << CRPT_HMAC_DGST5_DGST_Pos)      /*!< CRPT_T::HMAC_DGST5: DGST Mask        */
1588 
1589 #define CRPT_HMAC_DGST6_DGST_Pos       (0)                                               /*!< CRPT_T::HMAC_DGST6: DGST Position    */
1590 #define CRPT_HMAC_DGST6_DGST_Msk       (0xfffffffful << CRPT_HMAC_DGST6_DGST_Pos)      /*!< CRPT_T::HMAC_DGST6: DGST Mask        */
1591 
1592 #define CRPT_HMAC_DGST7_DGST_Pos       (0)                                               /*!< CRPT_T::HMAC_DGST7: DGST Position    */
1593 #define CRPT_HMAC_DGST7_DGST_Msk       (0xfffffffful << CRPT_HMAC_DGST7_DGST_Pos)      /*!< CRPT_T::HMAC_DGST7: DGST Mask        */
1594 
1595 #define CRPT_HMAC_DGST8_DGST_Pos       (0)                                               /*!< CRPT_T::HMAC_DGST8: DGST Position    */
1596 #define CRPT_HMAC_DGST8_DGST_Msk       (0xfffffffful << CRPT_HMAC_DGST8_DGST_Pos)      /*!< CRPT_T::HMAC_DGST8: DGST Mask        */
1597 
1598 #define CRPT_HMAC_DGST9_DGST_Pos       (0)                                               /*!< CRPT_T::HMAC_DGST9: DGST Position    */
1599 #define CRPT_HMAC_DGST9_DGST_Msk       (0xfffffffful << CRPT_HMAC_DGST9_DGST_Pos)      /*!< CRPT_T::HMAC_DGST9: DGST Mask        */
1600 
1601 #define CRPT_HMAC_DGST10_DGST_Pos      (0)                                               /*!< CRPT_T::HMAC_DGST10: DGST Position   */
1602 #define CRPT_HMAC_DGST10_DGST_Msk      (0xfffffffful << CRPT_HMAC_DGST10_DGST_Pos)     /*!< CRPT_T::HMAC_DGST10: DGST Mask       */
1603 
1604 #define CRPT_HMAC_DGST11_DGST_Pos      (0)                                               /*!< CRPT_T::HMAC_DGST11: DGST Position   */
1605 #define CRPT_HMAC_DGST11_DGST_Msk      (0xfffffffful << CRPT_HMAC_DGST11_DGST_Pos)     /*!< CRPT_T::HMAC_DGST11: DGST Mask       */
1606 
1607 #define CRPT_HMAC_DGST12_DGST_Pos      (0)                                               /*!< CRPT_T::HMAC_DGST12: DGST Position   */
1608 #define CRPT_HMAC_DGST12_DGST_Msk      (0xfffffffful << CRPT_HMAC_DGST12_DGST_Pos)     /*!< CRPT_T::HMAC_DGST12: DGST Mask       */
1609 
1610 #define CRPT_HMAC_DGST13_DGST_Pos      (0)                                               /*!< CRPT_T::HMAC_DGST13: DGST Position   */
1611 #define CRPT_HMAC_DGST13_DGST_Msk      (0xfffffffful << CRPT_HMAC_DGST13_DGST_Pos)     /*!< CRPT_T::HMAC_DGST13: DGST Mask       */
1612 
1613 #define CRPT_HMAC_DGST14_DGST_Pos      (0)                                               /*!< CRPT_T::HMAC_DGST14: DGST Position   */
1614 #define CRPT_HMAC_DGST14_DGST_Msk      (0xfffffffful << CRPT_HMAC_DGST14_DGST_Pos)     /*!< CRPT_T::HMAC_DGST14: DGST Mask       */
1615 
1616 #define CRPT_HMAC_DGST15_DGST_Pos      (0)                                               /*!< CRPT_T::HMAC_DGST15: DGST Position   */
1617 #define CRPT_HMAC_DGST15_DGST_Msk      (0xfffffffful << CRPT_HMAC_DGST15_DGST_Pos)     /*!< CRPT_T::HMAC_DGST15: DGST Mask       */
1618 
1619 #define CRPT_HMAC_KEYCNT_KEYCNT_Pos    (0)                                               /*!< CRPT_T::HMAC_KEYCNT: KEYCNT Position */
1620 #define CRPT_HMAC_KEYCNT_KEYCNT_Msk    (0xfffffffful << CRPT_HMAC_KEYCNT_KEYCNT_Pos)   /*!< CRPT_T::HMAC_KEYCNT: KEYCNT Mask     */
1621 
1622 #define CRPT_HMAC_SADDR_SADDR_Pos      (0)                                               /*!< CRPT_T::HMAC_SADDR: SADDR Position   */
1623 #define CRPT_HMAC_SADDR_SADDR_Msk      (0xfffffffful << CRPT_HMAC_SADDR_SADDR_Pos)     /*!< CRPT_T::HMAC_SADDR: SADDR Mask       */
1624 
1625 #define CRPT_HMAC_DMACNT_DMACNT_Pos    (0)                                               /*!< CRPT_T::HMAC_DMACNT: DMACNT Position */
1626 #define CRPT_HMAC_DMACNT_DMACNT_Msk    (0xfffffffful << CRPT_HMAC_DMACNT_DMACNT_Pos)   /*!< CRPT_T::HMAC_DMACNT: DMACNT Mask     */
1627 
1628 #define CRPT_HMAC_DATIN_DATIN_Pos      (0)                                               /*!< CRPT_T::HMAC_DATIN: DATIN Position   */
1629 #define CRPT_HMAC_DATIN_DATIN_Msk      (0xfffffffful << CRPT_HMAC_DATIN_DATIN_Pos)     /*!< CRPT_T::HMAC_DATIN: DATIN Mask       */
1630 
1631 #define CRPT_HMAC_FDBCK0_FDBCK_Pos     (0)                                               /*!< CRPT_T::HMAC_FDBCK0: FDBCK Position  */
1632 #define CRPT_HMAC_FDBCK0_FDBCK_Msk     (0xfffffffful << CRPT_HMAC_FDBCK0_FDBCK_Pos)    /*!< CRPT_T::HMAC_FDBCK0: FDBCK Mask      */
1633 
1634 #define CRPT_HMAC_FDBCK1_FDBCK_Pos     (0)                                               /*!< CRPT_T::HMAC_FDBCK1: FDBCK Position  */
1635 #define CRPT_HMAC_FDBCK1_FDBCK_Msk     (0xfffffffful << CRPT_HMAC_FDBCK1_FDBCK_Pos)    /*!< CRPT_T::HMAC_FDBCK1: FDBCK Mask      */
1636 
1637 #define CRPT_HMAC_FDBCK2_FDBCK_Pos     (0)                                               /*!< CRPT_T::HMAC_FDBCK2: FDBCK Position  */
1638 #define CRPT_HMAC_FDBCK2_FDBCK_Msk     (0xfffffffful << CRPT_HMAC_FDBCK2_FDBCK_Pos)    /*!< CRPT_T::HMAC_FDBCK2: FDBCK Mask      */
1639 
1640 #define CRPT_HMAC_FDBCK3_FDBCK_Pos     (0)                                               /*!< CRPT_T::HMAC_FDBCK3: FDBCK Position  */
1641 #define CRPT_HMAC_FDBCK3_FDBCK_Msk     (0xfffffffful << CRPT_HMAC_FDBCK3_FDBCK_Pos)    /*!< CRPT_T::HMAC_FDBCK3: FDBCK Mask      */
1642 
1643 #define CRPT_HMAC_FDBCK4_FDBCK_Pos     (0)                                               /*!< CRPT_T::HMAC_FDBCK4: FDBCK Position  */
1644 #define CRPT_HMAC_FDBCK4_FDBCK_Msk     (0xfffffffful << CRPT_HMAC_FDBCK4_FDBCK_Pos)    /*!< CRPT_T::HMAC_FDBCK4: FDBCK Mask      */
1645 
1646 #define CRPT_HMAC_FDBCK5_FDBCK_Pos     (0)                                               /*!< CRPT_T::HMAC_FDBCK5: FDBCK Position  */
1647 #define CRPT_HMAC_FDBCK5_FDBCK_Msk     (0xfffffffful << CRPT_HMAC_FDBCK5_FDBCK_Pos)    /*!< CRPT_T::HMAC_FDBCK5: FDBCK Mask      */
1648 
1649 #define CRPT_HMAC_FDBCK6_FDBCK_Pos     (0)                                               /*!< CRPT_T::HMAC_FDBCK6: FDBCK Position  */
1650 #define CRPT_HMAC_FDBCK6_FDBCK_Msk     (0xfffffffful << CRPT_HMAC_FDBCK6_FDBCK_Pos)    /*!< CRPT_T::HMAC_FDBCK6: FDBCK Mask      */
1651 
1652 #define CRPT_HMAC_FDBCK7_FDBCK_Pos     (0)                                               /*!< CRPT_T::HMAC_FDBCK7: FDBCK Position  */
1653 #define CRPT_HMAC_FDBCK7_FDBCK_Msk     (0xfffffffful << CRPT_HMAC_FDBCK7_FDBCK_Pos)    /*!< CRPT_T::HMAC_FDBCK7: FDBCK Mask      */
1654 
1655 #define CRPT_HMAC_FDBCK8_FDBCK_Pos     (0)                                               /*!< CRPT_T::HMAC_FDBCK8: FDBCK Position  */
1656 #define CRPT_HMAC_FDBCK8_FDBCK_Msk     (0xfffffffful << CRPT_HMAC_FDBCK8_FDBCK_Pos)    /*!< CRPT_T::HMAC_FDBCK8: FDBCK Mask      */
1657 
1658 #define CRPT_HMAC_FDBCK9_FDBCK_Pos     (0)                                               /*!< CRPT_T::HMAC_FDBCK9: FDBCK Position  */
1659 #define CRPT_HMAC_FDBCK9_FDBCK_Msk     (0xfffffffful << CRPT_HMAC_FDBCK9_FDBCK_Pos)    /*!< CRPT_T::HMAC_FDBCK9: FDBCK Mask      */
1660 
1661 #define CRPT_HMAC_FDBCK10_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK10: FDBCK Position */
1662 #define CRPT_HMAC_FDBCK10_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK10_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK10: FDBCK Mask     */
1663 
1664 #define CRPT_HMAC_FDBCK11_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK11: FDBCK Position */
1665 #define CRPT_HMAC_FDBCK11_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK11_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK11: FDBCK Mask     */
1666 
1667 #define CRPT_HMAC_FDBCK12_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK12: FDBCK Position */
1668 #define CRPT_HMAC_FDBCK12_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK12_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK12: FDBCK Mask     */
1669 
1670 #define CRPT_HMAC_FDBCK13_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK13: FDBCK Position */
1671 #define CRPT_HMAC_FDBCK13_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK13_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK13: FDBCK Mask     */
1672 
1673 #define CRPT_HMAC_FDBCK14_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK14: FDBCK Position */
1674 #define CRPT_HMAC_FDBCK14_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK14_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK14: FDBCK Mask     */
1675 
1676 #define CRPT_HMAC_FDBCK15_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK15: FDBCK Position */
1677 #define CRPT_HMAC_FDBCK15_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK15_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK15: FDBCK Mask     */
1678 
1679 #define CRPT_HMAC_FDBCK16_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK16: FDBCK Position */
1680 #define CRPT_HMAC_FDBCK16_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK16_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK16: FDBCK Mask     */
1681 
1682 #define CRPT_HMAC_FDBCK17_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK17: FDBCK Position */
1683 #define CRPT_HMAC_FDBCK17_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK17_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK17: FDBCK Mask     */
1684 
1685 #define CRPT_HMAC_FDBCK18_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK18: FDBCK Position */
1686 #define CRPT_HMAC_FDBCK18_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK18_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK18: FDBCK Mask     */
1687 
1688 #define CRPT_HMAC_FDBCK19_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK19: FDBCK Position */
1689 #define CRPT_HMAC_FDBCK19_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK19_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK19: FDBCK Mask     */
1690 
1691 #define CRPT_HMAC_FDBCK20_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK20: FDBCK Position */
1692 #define CRPT_HMAC_FDBCK20_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK20_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK20: FDBCK Mask     */
1693 
1694 #define CRPT_HMAC_FDBCK21_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK21: FDBCK Position */
1695 #define CRPT_HMAC_FDBCK21_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK21_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK21: FDBCK Mask     */
1696 
1697 #define CRPT_HMAC_FDBCK22_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK22: FDBCK Position */
1698 #define CRPT_HMAC_FDBCK22_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK22_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK22: FDBCK Mask     */
1699 
1700 #define CRPT_HMAC_FDBCK23_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK23: FDBCK Position */
1701 #define CRPT_HMAC_FDBCK23_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK23_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK23: FDBCK Mask     */
1702 
1703 #define CRPT_HMAC_FDBCK24_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK24: FDBCK Position */
1704 #define CRPT_HMAC_FDBCK24_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK24_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK24: FDBCK Mask     */
1705 
1706 #define CRPT_HMAC_FDBCK25_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK25: FDBCK Position */
1707 #define CRPT_HMAC_FDBCK25_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK25_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK25: FDBCK Mask     */
1708 
1709 #define CRPT_HMAC_FDBCK26_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK26: FDBCK Position */
1710 #define CRPT_HMAC_FDBCK26_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK26_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK26: FDBCK Mask     */
1711 
1712 #define CRPT_HMAC_FDBCK27_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK27: FDBCK Position */
1713 #define CRPT_HMAC_FDBCK27_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK27_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK27: FDBCK Mask     */
1714 
1715 #define CRPT_HMAC_FDBCK28_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK28: FDBCK Position */
1716 #define CRPT_HMAC_FDBCK28_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK28_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK28: FDBCK Mask     */
1717 
1718 #define CRPT_HMAC_FDBCK29_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK29: FDBCK Position */
1719 #define CRPT_HMAC_FDBCK29_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK29_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK29: FDBCK Mask     */
1720 
1721 #define CRPT_HMAC_FDBCK30_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK30: FDBCK Position */
1722 #define CRPT_HMAC_FDBCK30_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK30_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK30: FDBCK Mask     */
1723 
1724 #define CRPT_HMAC_FDBCK31_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK31: FDBCK Position */
1725 #define CRPT_HMAC_FDBCK31_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK31_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK31: FDBCK Mask     */
1726 
1727 #define CRPT_HMAC_FDBCK32_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK32: FDBCK Position */
1728 #define CRPT_HMAC_FDBCK32_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK32_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK32: FDBCK Mask     */
1729 
1730 #define CRPT_HMAC_FDBCK33_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK33: FDBCK Position */
1731 #define CRPT_HMAC_FDBCK33_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK33_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK33: FDBCK Mask     */
1732 
1733 #define CRPT_HMAC_FDBCK34_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK34: FDBCK Position */
1734 #define CRPT_HMAC_FDBCK34_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK34_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK34: FDBCK Mask     */
1735 
1736 #define CRPT_HMAC_FDBCK35_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK35: FDBCK Position */
1737 #define CRPT_HMAC_FDBCK35_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK35_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK35: FDBCK Mask     */
1738 
1739 #define CRPT_HMAC_FDBCK36_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK36: FDBCK Position */
1740 #define CRPT_HMAC_FDBCK36_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK36_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK36: FDBCK Mask     */
1741 
1742 #define CRPT_HMAC_FDBCK37_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK37: FDBCK Position */
1743 #define CRPT_HMAC_FDBCK37_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK37_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK37: FDBCK Mask     */
1744 
1745 #define CRPT_HMAC_FDBCK38_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK38: FDBCK Position */
1746 #define CRPT_HMAC_FDBCK38_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK38_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK38: FDBCK Mask     */
1747 
1748 #define CRPT_HMAC_FDBCK39_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK39: FDBCK Position */
1749 #define CRPT_HMAC_FDBCK39_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK39_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK39: FDBCK Mask     */
1750 
1751 #define CRPT_HMAC_FDBCK40_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK40: FDBCK Position */
1752 #define CRPT_HMAC_FDBCK40_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK40_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK40: FDBCK Mask     */
1753 
1754 #define CRPT_HMAC_FDBCK41_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK41: FDBCK Position */
1755 #define CRPT_HMAC_FDBCK41_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK41_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK41: FDBCK Mask     */
1756 
1757 #define CRPT_HMAC_FDBCK42_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK42: FDBCK Position */
1758 #define CRPT_HMAC_FDBCK42_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK42_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK42: FDBCK Mask     */
1759 
1760 #define CRPT_HMAC_FDBCK43_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK43: FDBCK Position */
1761 #define CRPT_HMAC_FDBCK43_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK43_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK43: FDBCK Mask     */
1762 
1763 #define CRPT_HMAC_FDBCK44_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK44: FDBCK Position */
1764 #define CRPT_HMAC_FDBCK44_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK44_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK44: FDBCK Mask     */
1765 
1766 #define CRPT_HMAC_FDBCK45_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK45: FDBCK Position */
1767 #define CRPT_HMAC_FDBCK45_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK45_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK45: FDBCK Mask     */
1768 
1769 #define CRPT_HMAC_FDBCK46_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK46: FDBCK Position */
1770 #define CRPT_HMAC_FDBCK46_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK46_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK46: FDBCK Mask     */
1771 
1772 #define CRPT_HMAC_FDBCK47_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK47: FDBCK Position */
1773 #define CRPT_HMAC_FDBCK47_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK47_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK47: FDBCK Mask     */
1774 
1775 #define CRPT_HMAC_FDBCK48_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK48: FDBCK Position */
1776 #define CRPT_HMAC_FDBCK48_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK48_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK48: FDBCK Mask     */
1777 
1778 #define CRPT_HMAC_FDBCK49_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK49: FDBCK Position */
1779 #define CRPT_HMAC_FDBCK49_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK49_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK49: FDBCK Mask     */
1780 
1781 #define CRPT_HMAC_FDBCK50_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK50: FDBCK Position */
1782 #define CRPT_HMAC_FDBCK50_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK50_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK50: FDBCK Mask     */
1783 
1784 #define CRPT_HMAC_FDBCK51_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK51: FDBCK Position */
1785 #define CRPT_HMAC_FDBCK51_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK51_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK51: FDBCK Mask     */
1786 
1787 #define CRPT_HMAC_FDBCK52_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK52: FDBCK Position */
1788 #define CRPT_HMAC_FDBCK52_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK52_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK52: FDBCK Mask     */
1789 
1790 #define CRPT_HMAC_FDBCK53_FDBCK_Pos    (0)                                               /*!< CRPT_T::HMAC_FDBCK53: FDBCK Position */
1791 #define CRPT_HMAC_FDBCK53_FDBCK_Msk    (0xfffffffful << CRPT_HMAC_FDBCK53_FDBCK_Pos)   /*!< CRPT_T::HMAC_FDBCK53: FDBCK Mask     */
1792 
1793 #define CRPT_HMAC_FBADDR_FBADDR_Pos    (0)                                               /*!< CRPT_T::HMAC_FBADDR: FBADDR Position */
1794 #define CRPT_HMAC_FBADDR_FBADDR_Msk    (0xfffffffful << CRPT_HMAC_FBADDR_FBADDR_Pos)   /*!< CRPT_T::HMAC_FBADDR: FBADDR Mask     */
1795 
1796 #define CRPT_ECC_CTL_START_Pos         (0)                                               /*!< CRPT_T::ECC_CTL: START Position      */
1797 #define CRPT_ECC_CTL_START_Msk         (0x1ul << CRPT_ECC_CTL_START_Pos)               /*!< CRPT_T::ECC_CTL: START Mask          */
1798 
1799 #define CRPT_ECC_CTL_STOP_Pos          (1)                                               /*!< CRPT_T::ECC_CTL: STOP Position       */
1800 #define CRPT_ECC_CTL_STOP_Msk          (0x1ul << CRPT_ECC_CTL_STOP_Pos)                /*!< CRPT_T::ECC_CTL: STOP Mask           */
1801 
1802 #define CRPT_ECC_CTL_PFA2C_Pos         (3)                                               /*!< CRPT_T::ECC_CTL: PFA2C Position      */
1803 #define CRPT_ECC_CTL_PFA2C_Msk         (0x1ul << CRPT_ECC_CTL_PFA2C_Pos)               /*!< CRPT_T::ECC_CTL: PFA2C Mask          */
1804 
1805 #define CRPT_ECC_CTL_ECDSAS_Pos        (4)                                               /*!< CRPT_T::ECC_CTL: ECDSAS Position     */
1806 #define CRPT_ECC_CTL_ECDSAS_Msk        (0x1ul << CRPT_ECC_CTL_ECDSAS_Pos)              /*!< CRPT_T::ECC_CTL: ECDSAS Mask         */
1807 
1808 #define CRPT_ECC_CTL_ECDSAR_Pos        (5)                                               /*!< CRPT_T::ECC_CTL: ECDSAR Position     */
1809 #define CRPT_ECC_CTL_ECDSAR_Msk        (0x1ul << CRPT_ECC_CTL_ECDSAR_Pos)              /*!< CRPT_T::ECC_CTL: ECDSAR Mask         */
1810 
1811 #define CRPT_ECC_CTL_DMAEN_Pos         (7)                                               /*!< CRPT_T::ECC_CTL: DMAEN Position      */
1812 #define CRPT_ECC_CTL_DMAEN_Msk         (0x1ul << CRPT_ECC_CTL_DMAEN_Pos)               /*!< CRPT_T::ECC_CTL: DMAEN Mask          */
1813 
1814 #define CRPT_ECC_CTL_FSEL_Pos          (8)                                               /*!< CRPT_T::ECC_CTL: FSEL Position       */
1815 #define CRPT_ECC_CTL_FSEL_Msk          (0x1ul << CRPT_ECC_CTL_FSEL_Pos)                /*!< CRPT_T::ECC_CTL: FSEL Mask           */
1816 
1817 #define CRPT_ECC_CTL_ECCOP_Pos         (9)                                               /*!< CRPT_T::ECC_CTL: ECCOP Position      */
1818 #define CRPT_ECC_CTL_ECCOP_Msk         (0x3ul << CRPT_ECC_CTL_ECCOP_Pos)               /*!< CRPT_T::ECC_CTL: ECCOP Mask          */
1819 
1820 #define CRPT_ECC_CTL_MODOP_Pos         (11)                                              /*!< CRPT_T::ECC_CTL: MODOP Position      */
1821 #define CRPT_ECC_CTL_MODOP_Msk         (0x3ul << CRPT_ECC_CTL_MODOP_Pos)               /*!< CRPT_T::ECC_CTL: MODOP Mask          */
1822 
1823 #define CRPT_ECC_CTL_CSEL_Pos          (13)                                              /*!< CRPT_T::ECC_CTL: CSEL Position       */
1824 #define CRPT_ECC_CTL_CSEL_Msk          (0x1ul << CRPT_ECC_CTL_CSEL_Pos)                /*!< CRPT_T::ECC_CTL: CSEL Mask           */
1825 
1826 #define CRPT_ECC_CTL_SCAP_Pos          (14)                                              /*!< CRPT_T::ECC_CTL: SCAP Position       */
1827 #define CRPT_ECC_CTL_SCAP_Msk          (0x1ul << CRPT_ECC_CTL_SCAP_Pos)                /*!< CRPT_T::ECC_CTL: SCAP Mask           */
1828 
1829 #define CRPT_ECC_CTL_SBM_Pos           (15)                                              /*!< CRPT_T::ECC_CTL: SBM Position        */
1830 #define CRPT_ECC_CTL_SBM_Msk           (0x1ul << CRPT_ECC_CTL_SBM_Pos)                 /*!< CRPT_T::ECC_CTL: SBM Mask            */
1831 
1832 #define CRPT_ECC_CTL_LDP1_Pos          (16)                                              /*!< CRPT_T::ECC_CTL: LDP1 Position       */
1833 #define CRPT_ECC_CTL_LDP1_Msk          (0x1ul << CRPT_ECC_CTL_LDP1_Pos)                /*!< CRPT_T::ECC_CTL: LDP1 Mask           */
1834 
1835 #define CRPT_ECC_CTL_LDP2_Pos          (17)                                              /*!< CRPT_T::ECC_CTL: LDP2 Position       */
1836 #define CRPT_ECC_CTL_LDP2_Msk          (0x1ul << CRPT_ECC_CTL_LDP2_Pos)                /*!< CRPT_T::ECC_CTL: LDP2 Mask           */
1837 
1838 #define CRPT_ECC_CTL_LDA_Pos           (18)                                              /*!< CRPT_T::ECC_CTL: LDA Position        */
1839 #define CRPT_ECC_CTL_LDA_Msk           (0x1ul << CRPT_ECC_CTL_LDA_Pos)                 /*!< CRPT_T::ECC_CTL: LDA Mask            */
1840 
1841 #define CRPT_ECC_CTL_LDB_Pos           (19)                                              /*!< CRPT_T::ECC_CTL: LDB Position        */
1842 #define CRPT_ECC_CTL_LDB_Msk           (0x1ul << CRPT_ECC_CTL_LDB_Pos)                 /*!< CRPT_T::ECC_CTL: LDB Mask            */
1843 
1844 #define CRPT_ECC_CTL_LDN_Pos           (20)                                              /*!< CRPT_T::ECC_CTL: LDN Position        */
1845 #define CRPT_ECC_CTL_LDN_Msk           (0x1ul << CRPT_ECC_CTL_LDN_Pos)                 /*!< CRPT_T::ECC_CTL: LDN Mask            */
1846 
1847 #define CRPT_ECC_CTL_LDK_Pos           (21)                                              /*!< CRPT_T::ECC_CTL: LDK Position        */
1848 #define CRPT_ECC_CTL_LDK_Msk           (0x1ul << CRPT_ECC_CTL_LDK_Pos)                 /*!< CRPT_T::ECC_CTL: LDK Mask            */
1849 
1850 #define CRPT_ECC_CTL_CURVEM_Pos        (22)                                              /*!< CRPT_T::ECC_CTL: CURVEM Position     */
1851 #define CRPT_ECC_CTL_CURVEM_Msk        (0x3fful << CRPT_ECC_CTL_CURVEM_Pos)            /*!< CRPT_T::ECC_CTL: CURVEM Mask         */
1852 
1853 #define CRPT_ECC_STS_BUSY_Pos          (0)                                               /*!< CRPT_T::ECC_STS: BUSY Position       */
1854 #define CRPT_ECC_STS_BUSY_Msk          (0x1ul << CRPT_ECC_STS_BUSY_Pos)                /*!< CRPT_T::ECC_STS: BUSY Mask           */
1855 
1856 #define CRPT_ECC_STS_DMABUSY_Pos       (1)                                               /*!< CRPT_T::ECC_STS: DMABUSY Position    */
1857 #define CRPT_ECC_STS_DMABUSY_Msk       (0x1ul << CRPT_ECC_STS_DMABUSY_Pos)             /*!< CRPT_T::ECC_STS: DMABUSY Mask        */
1858 
1859 #define CRPT_ECC_STS_BUSERR_Pos        (16)                                              /*!< CRPT_T::ECC_STS: BUSERR Position     */
1860 #define CRPT_ECC_STS_BUSERR_Msk        (0x1ul << CRPT_ECC_STS_BUSERR_Pos)              /*!< CRPT_T::ECC_STS: BUSERR Mask         */
1861 
1862 #define CRPT_ECC_STS_KSERR_Pos         (17)                                              /*!< CRPT_T::ECC_STS: KSERR Position      */
1863 #define CRPT_ECC_STS_KSERR_Msk         (0x1ul << CRPT_ECC_STS_KSERR_Pos)               /*!< CRPT_T::ECC_STS: KSERR Mask          */
1864 
1865 #define CRPT_ECC_X1_Pos     (0)                                               /*!< CRPT_T::ECC_X1: POINTX Position  */
1866 #define CRPT_ECC_X1_Msk     (0xfffffffful << CRPT_ECC_X1_Pos)    /*!< CRPT_T::ECC_X1: POINTX Mask      */
1867 
1868 
1869 #define CRPT_ECC_X2_Pos     (0)                                               /*!< CRPT_T::ECC_X2: POINTX2 Position  */
1870 #define CRPT_ECC_X2TX_Msk     (0xfffffffful << CRPT_ECC_X2_Pos)    /*!< CRPT_T::ECC_X2: POINTX2 Mask      */
1871 
1872 
1873 #define CRPT_ECC_Y2_Pos     (0)                                               /*!< CRPT_T::ECC_Y2: POINTY2 Position  */
1874 #define CRPT_ECC_Y2_Msk     (0xfffffffful << CRPT_ECC_Y2_Pos)    /*!< CRPT_T::ECC_Y2: POINTY2 Mask      */
1875 
1876 #define CRPT_ECC_A_Pos       (0)                                               /*!< CRPT_T::ECC_A: CURVEA Position    */
1877 #define CRPT_ECC_A_Msk       (0xfffffffful << CRPT_ECC_A_Pos)      /*!< CRPT_T::ECC_A: CURVEA Mask        */
1878 
1879 #define CRPT_ECC_B_Pos       (0)                                               /*!< CRPT_T::ECC_B: CURVEB Position    */
1880 #define CRPT_ECC_B_Msk       (0xfffffffful << CRPT_ECC_B_Pos)      /*!< CRPT_T::ECC_B: CURVEB Mask        */
1881 
1882 #define CRPT_ECC_N_Pos      (0)                                               /*!< CRPT_T::ECC_N: SCALARK Position   */
1883 #define CRPT_ECC_N_Msk      (0xfffffffful << CRPT_ECC_N_Pos)     /*!< CRPT_T::ECC_N: SCALARK Mask       */
1884 
1885 #define CRPT_ECC_DADDR_DADDR_Pos       (0)                                               /*!< CRPT_T::ECC_DADDR: DADDR Position    */
1886 #define CRPT_ECC_DADDR_DADDR_Msk       (0xfffffffful << CRPT_ECC_DADDR_DADDR_Pos)      /*!< CRPT_T::ECC_DADDR: DADDR Mask        */
1887 
1888 #define CRPT_ECC_STARTREG_STARTREG_Pos (0)                                               /*!< CRPT_T::ECC_STARTREG: STARTREG Position*/
1889 #define CRPT_ECC_STARTREG_STARTREG_Msk (0xfffffffful << CRPT_ECC_STARTREG_STARTREG_Pos) /*!< CRPT_T::ECC_STARTREG: STARTREG Mask  */
1890 
1891 #define CRPT_ECC_WORDCNT_WORDCNT_Pos   (0)                                               /*!< CRPT_T::ECC_WORDCNT: WORDCNT Position*/
1892 #define CRPT_ECC_WORDCNT_WORDCNT_Msk   (0xfffffffful << CRPT_ECC_WORDCNT_WORDCNT_Pos)  /*!< CRPT_T::ECC_WORDCNT: WORDCNT Mask    */
1893 
1894 #define CRPT_RSA_CTL_START_Pos         (0)                                               /*!< CRPT_T::RSA_CTL: START Position      */
1895 #define CRPT_RSA_CTL_START_Msk         (0x1ul << CRPT_RSA_CTL_START_Pos)               /*!< CRPT_T::RSA_CTL: START Mask          */
1896 
1897 #define CRPT_RSA_CTL_STOP_Pos          (1)                                               /*!< CRPT_T::RSA_CTL: STOP Position       */
1898 #define CRPT_RSA_CTL_STOP_Msk          (0x1ul << CRPT_RSA_CTL_STOP_Pos)                /*!< CRPT_T::RSA_CTL: STOP Mask           */
1899 
1900 #define CRPT_RSA_CTL_CRT_Pos           (2)                                               /*!< CRPT_T::RSA_CTL: CRT Position        */
1901 #define CRPT_RSA_CTL_CRT_Msk           (0x1ul << CRPT_RSA_CTL_CRT_Pos)                 /*!< CRPT_T::RSA_CTL: CRT Mask            */
1902 
1903 #define CRPT_RSA_CTL_CRTBYP_Pos        (3)                                               /*!< CRPT_T::RSA_CTL: CRTBYP Position     */
1904 #define CRPT_RSA_CTL_CRTBYP_Msk        (0x1ul << CRPT_RSA_CTL_CRTBYP_Pos)              /*!< CRPT_T::RSA_CTL: CRTBYP Mask         */
1905 
1906 #define CRPT_RSA_CTL_KEYLENG_Pos       (4)                                               /*!< CRPT_T::RSA_CTL: KEYLENG Position    */
1907 #define CRPT_RSA_CTL_KEYLENG_Msk       (0x3ul << CRPT_RSA_CTL_KEYLENG_Pos)             /*!< CRPT_T::RSA_CTL: KEYLENG Mask        */
1908 
1909 #define CRPT_RSA_CTL_SCAP_Pos          (8)                                               /*!< CRPT_T::RSA_CTL: SCAP Position       */
1910 #define CRPT_RSA_CTL_SCAP_Msk          (0x1ul << CRPT_RSA_CTL_SCAP_Pos)                /*!< CRPT_T::RSA_CTL: SCAP Mask           */
1911 
1912 #define CRPT_RSA_STS_BUSY_Pos          (0)                                               /*!< CRPT_T::RSA_STS: BUSY Position       */
1913 #define CRPT_RSA_STS_BUSY_Msk          (0x1ul << CRPT_RSA_STS_BUSY_Pos)                /*!< CRPT_T::RSA_STS: BUSY Mask           */
1914 
1915 #define CRPT_RSA_STS_DMABUSY_Pos       (1)                                               /*!< CRPT_T::RSA_STS: DMABUSY Position    */
1916 #define CRPT_RSA_STS_DMABUSY_Msk       (0x1ul << CRPT_RSA_STS_DMABUSY_Pos)             /*!< CRPT_T::RSA_STS: DMABUSY Mask        */
1917 
1918 #define CRPT_RSA_STS_BUSERR_Pos        (16)                                              /*!< CRPT_T::RSA_STS: BUSERR Position     */
1919 #define CRPT_RSA_STS_BUSERR_Msk        (0x1ul << CRPT_RSA_STS_BUSERR_Pos)              /*!< CRPT_T::RSA_STS: BUSERR Mask         */
1920 
1921 #define CRPT_RSA_STS_CTLERR_Pos        (17)                                              /*!< CRPT_T::RSA_STS: CTLERR Position     */
1922 #define CRPT_RSA_STS_CTLERR_Msk        (0x1ul << CRPT_RSA_STS_CTLERR_Pos)              /*!< CRPT_T::RSA_STS: CTLERR Mask         */
1923 
1924 #define CRPT_RSA_STS_KSERR_Pos         (18)                                              /*!< CRPT_T::RSA_STS: KSERR Position      */
1925 #define CRPT_RSA_STS_KSERR_Msk         (0x1ul << CRPT_RSA_STS_KSERR_Pos)               /*!< CRPT_T::RSA_STS: KSERR Mask          */
1926 
1927 #define CRPT_RSA_SADDR_Pos     (0)                                               /*!< CRPT_T::RSA_SADDR: SADDR Position  */
1928 #define CRPT_RSA_SADDR_Msk     (0xfffffffful << CRPT_RSA_SADDR_Pos)    /*!< CRPT_T::RSA_SADDR: SADDR Mask      */
1929 
1930 #define CRPT_RSA_DADDR_Pos       (0)                                               /*!< CRPT_T::RSA_DADDR: DADDR Position    */
1931 #define CRPT_RSA_DADDR_Msk       (0xfffffffful << CRPT_RSA_DADDR_Pos)      /*!< CRPT_T::RSA_DADDR: DADDR Mask        */
1932 
1933 #define CRPT_RSA_MADDR_Pos     (0)                                               /*!< CRPT_T::RSA_MADDR: MADDR Position  */
1934 #define CRPT_RSA_MADDR_Msk     (0xfffffffful << CRPT_RSA_MADDR_Pos)    /*!< CRPT_T::RSA_MADDR: MADDR Mask      */
1935 
1936 #define CRPT_PRNG_KSCTL_NUM_Pos        (0)                                               /*!< CRPT_T::PRNG_KSCTL: NUM Position     */
1937 #define CRPT_PRNG_KSCTL_NUM_Msk        (0x1ful << CRPT_PRNG_KSCTL_NUM_Pos)             /*!< CRPT_T::PRNG_KSCTL: NUM Mask         */
1938 
1939 #define CRPT_PRNG_KSCTL_TRUST_Pos      (16)                                              /*!< CRPT_T::PRNG_KSCTL: TRUST Position   */
1940 #define CRPT_PRNG_KSCTL_TRUST_Msk      (0x1ul << CRPT_PRNG_KSCTL_TRUST_Pos)            /*!< CRPT_T::PRNG_KSCTL: TRUST Mask       */
1941 
1942 #define CRPT_PRNG_KSCTL_PRIV_Pos       (18)                                              /*!< CRPT_T::PRNG_KSCTL: PRIV Position    */
1943 #define CRPT_PRNG_KSCTL_PRIV_Msk       (0x1ul << CRPT_PRNG_KSCTL_PRIV_Pos)             /*!< CRPT_T::PRNG_KSCTL: PRIV Mask        */
1944 
1945 #define CRPT_PRNG_KSCTL_ECDH_Pos       (19)                                              /*!< CRPT_T::PRNG_KSCTL: ECDH Position    */
1946 #define CRPT_PRNG_KSCTL_ECDH_Msk       (0x1ul << CRPT_PRNG_KSCTL_ECDH_Pos)             /*!< CRPT_T::PRNG_KSCTL: ECDH Mask        */
1947 
1948 #define CRPT_PRNG_KSCTL_ECDSA_Pos      (20)                                              /*!< CRPT_T::PRNG_KSCTL: ECDSA Position   */
1949 #define CRPT_PRNG_KSCTL_ECDSA_Msk      (0x1ul << CRPT_PRNG_KSCTL_ECDSA_Pos)            /*!< CRPT_T::PRNG_KSCTL: ECDSA Mask       */
1950 
1951 #define CRPT_PRNG_KSCTL_WDST_Pos       (21)                                              /*!< CRPT_T::PRNG_KSCTL: WDST Position    */
1952 #define CRPT_PRNG_KSCTL_WDST_Msk       (0x1ul << CRPT_PRNG_KSCTL_WDST_Pos)             /*!< CRPT_T::PRNG_KSCTL: WDST Mask        */
1953 
1954 #define CRPT_PRNG_KSCTL_WSDST_Pos      (22)                                              /*!< CRPT_T::PRNG_KSCTL: WSDST Position   */
1955 #define CRPT_PRNG_KSCTL_WSDST_Msk      (0x3ul << CRPT_PRNG_KSCTL_WSDST_Pos)            /*!< CRPT_T::PRNG_KSCTL: WSDST Mask       */
1956 
1957 #define CRPT_PRNG_KSCTL_OWNER_Pos      (24)                                              /*!< CRPT_T::PRNG_KSCTL: OWNER Position   */
1958 #define CRPT_PRNG_KSCTL_OWNER_Msk      (0x7ul << CRPT_PRNG_KSCTL_OWNER_Pos)            /*!< CRPT_T::PRNG_KSCTL: OWNER Mask       */
1959 
1960 #define CRPT_PRNG_KSSTS_NUM_Pos        (0)                                               /*!< CRPT_T::PRNG_KSSTS: NUM Position     */
1961 #define CRPT_PRNG_KSSTS_NUM_Msk        (0x1ful << CRPT_PRNG_KSSTS_NUM_Pos)             /*!< CRPT_T::PRNG_KSSTS: NUM Mask         */
1962 
1963 #define CRPT_PRNG_KSSTS_KCTLERR_Pos    (16)                                              /*!< CRPT_T::PRNG_KSSTS: KCTLERR Position */
1964 #define CRPT_PRNG_KSSTS_KCTLERR_Msk    (0x1ul << CRPT_PRNG_KSSTS_KCTLERR_Pos)          /*!< CRPT_T::PRNG_KSSTS: KCTLERR Mask     */
1965 
1966 #define CRPT_AES_KSCTL_NUM_Pos         (0)                                               /*!< CRPT_T::AES_KSCTL: NUM Position      */
1967 #define CRPT_AES_KSCTL_NUM_Msk         (0x1ful << CRPT_AES_KSCTL_NUM_Pos)              /*!< CRPT_T::AES_KSCTL: NUM Mask          */
1968 
1969 #define CRPT_AES_KSCTL_RSRC_Pos        (5)                                               /*!< CRPT_T::AES_KSCTL: RSRC Position     */
1970 #define CRPT_AES_KSCTL_RSRC_Msk        (0x1ul << CRPT_AES_KSCTL_RSRC_Pos)              /*!< CRPT_T::AES_KSCTL: RSRC Mask         */
1971 
1972 #define CRPT_AES_KSCTL_RSSRC_Pos       (6)                                               /*!< CRPT_T::AES_KSCTL: RSSRC Position    */
1973 #define CRPT_AES_KSCTL_RSSRC_Msk       (0x3ul << CRPT_AES_KSCTL_RSSRC_Pos)             /*!< CRPT_T::AES_KSCTL: RSSRC Mask        */
1974 
1975 #define CRPT_HMAC_KSCTL_NUM_Pos        (0)                                               /*!< CRPT_T::HMAC_KSCTL: NUM Position     */
1976 #define CRPT_HMAC_KSCTL_NUM_Msk        (0x1ful << CRPT_HMAC_KSCTL_NUM_Pos)             /*!< CRPT_T::HMAC_KSCTL: NUM Mask         */
1977 
1978 #define CRPT_HMAC_KSCTL_RSRC_Pos       (5)                                               /*!< CRPT_T::HMAC_KSCTL: RSRC Position    */
1979 #define CRPT_HMAC_KSCTL_RSRC_Msk       (0x1ul << CRPT_HMAC_KSCTL_RSRC_Pos)             /*!< CRPT_T::HMAC_KSCTL: RSRC Mask        */
1980 
1981 #define CRPT_HMAC_KSCTL_RSSRC_Pos      (6)                                               /*!< CRPT_T::HMAC_KSCTL: RSSRC Position   */
1982 #define CRPT_HMAC_KSCTL_RSSRC_Msk      (0x3ul << CRPT_HMAC_KSCTL_RSSRC_Pos)            /*!< CRPT_T::HMAC_KSCTL: RSSRC Mask       */
1983 
1984 #define CRPT_ECC_KSCTL_NUMK_Pos        (0)                                               /*!< CRPT_T::ECC_KSCTL: NUMK Position     */
1985 #define CRPT_ECC_KSCTL_NUMK_Msk        (0x1ful << CRPT_ECC_KSCTL_NUMK_Pos)             /*!< CRPT_T::ECC_KSCTL: NUMK Mask         */
1986 
1987 #define CRPT_ECC_KSCTL_RSRCK_Pos       (5)                                               /*!< CRPT_T::ECC_KSCTL: RSRCK Position    */
1988 #define CRPT_ECC_KSCTL_RSRCK_Msk       (0x1ul << CRPT_ECC_KSCTL_RSRCK_Pos)             /*!< CRPT_T::ECC_KSCTL: RSRCK Mask        */
1989 
1990 #define CRPT_ECC_KSCTL_RSSRCK_Pos      (6)                                               /*!< CRPT_T::ECC_KSCTL: RSSRCK Position   */
1991 #define CRPT_ECC_KSCTL_RSSRCK_Msk      (0x3ul << CRPT_ECC_KSCTL_RSSRCK_Pos)            /*!< CRPT_T::ECC_KSCTL: RSSRCK Mask       */
1992 
1993 #define CRPT_ECC_KSCTL_ECDH_Pos        (14)                                              /*!< CRPT_T::ECC_KSCTL: ECDH Position     */
1994 #define CRPT_ECC_KSCTL_ECDH_Msk        (0x1ul << CRPT_ECC_KSCTL_ECDH_Pos)              /*!< CRPT_T::ECC_KSCTL: ECDH Mask         */
1995 
1996 #define CRPT_ECC_KSCTL_TRUST_Pos       (16)                                              /*!< CRPT_T::ECC_KSCTL: TRUST Position    */
1997 #define CRPT_ECC_KSCTL_TRUST_Msk       (0x1ul << CRPT_ECC_KSCTL_TRUST_Pos)             /*!< CRPT_T::ECC_KSCTL: TRUST Mask        */
1998 
1999 #define CRPT_ECC_KSCTL_PRIV_Pos        (18)                                              /*!< CRPT_T::ECC_KSCTL: PRIV Position     */
2000 #define CRPT_ECC_KSCTL_PRIV_Msk        (0x1ul << CRPT_ECC_KSCTL_PRIV_Pos)              /*!< CRPT_T::ECC_KSCTL: PRIV Mask         */
2001 
2002 #define CRPT_ECC_KSCTL_XY_Pos          (20)                                              /*!< CRPT_T::ECC_KSCTL: XY Position       */
2003 #define CRPT_ECC_KSCTL_XY_Msk          (0x1ul << CRPT_ECC_KSCTL_XY_Pos)                /*!< CRPT_T::ECC_KSCTL: XY Mask           */
2004 
2005 #define CRPT_ECC_KSCTL_WDST_Pos        (21)                                              /*!< CRPT_T::ECC_KSCTL: WDST Position     */
2006 #define CRPT_ECC_KSCTL_WDST_Msk        (0x1ul << CRPT_ECC_KSCTL_WDST_Pos)              /*!< CRPT_T::ECC_KSCTL: WDST Mask         */
2007 
2008 #define CRPT_ECC_KSCTL_WSDST_Pos       (22)                                              /*!< CRPT_T::ECC_KSCTL: WSDST Position    */
2009 #define CRPT_ECC_KSCTL_WSDST_Msk       (0x3ul << CRPT_ECC_KSCTL_WSDST_Pos)             /*!< CRPT_T::ECC_KSCTL: WSDST Mask        */
2010 
2011 #define CRPT_ECC_KSCTL_OWNER_Pos       (24)                                              /*!< CRPT_T::ECC_KSCTL: OWNER Position    */
2012 #define CRPT_ECC_KSCTL_OWNER_Msk       (0x7ul << CRPT_ECC_KSCTL_OWNER_Pos)             /*!< CRPT_T::ECC_KSCTL: OWNER Mask        */
2013 
2014 #define CRPT_ECC_KSSTS_NUM_Pos         (0)                                               /*!< CRPT_T::ECC_KSSTS: NUM Position      */
2015 #define CRPT_ECC_KSSTS_NUM_Msk         (0x1ful << CRPT_ECC_KSSTS_NUM_Pos)              /*!< CRPT_T::ECC_KSSTS: NUM Mask          */
2016 
2017 #define CRPT_ECC_KSXY_NUMX_Pos         (0)                                               /*!< CRPT_T::ECC_KSXY: NUMX Position      */
2018 #define CRPT_ECC_KSXY_NUMX_Msk         (0x1ful << CRPT_ECC_KSXY_NUMX_Pos)              /*!< CRPT_T::ECC_KSXY: NUMX Mask          */
2019 
2020 #define CRPT_ECC_KSXY_RSRCXY_Pos       (5)                                               /*!< CRPT_T::ECC_KSXY: RSRCXY Position    */
2021 #define CRPT_ECC_KSXY_RSRCXY_Msk       (0x1ul << CRPT_ECC_KSXY_RSRCXY_Pos)             /*!< CRPT_T::ECC_KSXY: RSRCXY Mask        */
2022 
2023 #define CRPT_ECC_KSXY_RSSRCX_Pos       (6)                                               /*!< CRPT_T::ECC_KSXY: RSSRCX Position    */
2024 #define CRPT_ECC_KSXY_RSSRCX_Msk       (0x3ul << CRPT_ECC_KSXY_RSSRCX_Pos)             /*!< CRPT_T::ECC_KSXY: RSSRCX Mask        */
2025 
2026 #define CRPT_ECC_KSXY_NUMY_Pos         (8)                                               /*!< CRPT_T::ECC_KSXY: NUMY Position      */
2027 #define CRPT_ECC_KSXY_NUMY_Msk         (0x1ful << CRPT_ECC_KSXY_NUMY_Pos)              /*!< CRPT_T::ECC_KSXY: NUMY Mask          */
2028 
2029 #define CRPT_ECC_KSXY_RSSRCY_Pos       (14)                                              /*!< CRPT_T::ECC_KSXY: RSSRCY Position    */
2030 #define CRPT_ECC_KSXY_RSSRCY_Msk       (0x3ul << CRPT_ECC_KSXY_RSSRCY_Pos)             /*!< CRPT_T::ECC_KSXY: RSSRCY Mask        */
2031 
2032 #define CRPT_RSA_KSCTL_NUM_Pos         (0)                                               /*!< CRPT_T::RSA_KSCTL: NUM Position      */
2033 #define CRPT_RSA_KSCTL_NUM_Msk         (0x1ful << CRPT_RSA_KSCTL_NUM_Pos)              /*!< CRPT_T::RSA_KSCTL: NUM Mask          */
2034 
2035 #define CRPT_RSA_KSCTL_RSRC_Pos        (5)                                               /*!< CRPT_T::RSA_KSCTL: RSRC Position     */
2036 #define CRPT_RSA_KSCTL_RSRC_Msk        (0x1ul << CRPT_RSA_KSCTL_RSRC_Pos)              /*!< CRPT_T::RSA_KSCTL: RSRC Mask         */
2037 
2038 #define CRPT_RSA_KSCTL_RSSRC_Pos       (6)                                               /*!< CRPT_T::RSA_KSCTL: RSSRC Position    */
2039 #define CRPT_RSA_KSCTL_RSSRC_Msk       (0x3ul << CRPT_RSA_KSCTL_RSSRC_Pos)             /*!< CRPT_T::RSA_KSCTL: RSSRC Mask        */
2040 
2041 #define CRPT_RSA_KSCTL_BKNUM_Pos       (8)                                               /*!< CRPT_T::RSA_KSCTL: BKNUM Position    */
2042 #define CRPT_RSA_KSCTL_BKNUM_Msk       (0x1ful << CRPT_RSA_KSCTL_BKNUM_Pos)            /*!< CRPT_T::RSA_KSCTL: BKNUM Mask        */
2043 
2044 #define CRPT_RSA_KSSTS0_NUM0_Pos       (0)                                               /*!< CRPT_T::RSA_KSSTS0: NUM0 Position    */
2045 #define CRPT_RSA_KSSTS0_NUM0_Msk       (0x1ful << CRPT_RSA_KSSTS0_NUM0_Pos)            /*!< CRPT_T::RSA_KSSTS0: NUM0 Mask        */
2046 
2047 #define CRPT_RSA_KSSTS0_NUM1_Pos       (8)                                               /*!< CRPT_T::RSA_KSSTS0: NUM1 Position    */
2048 #define CRPT_RSA_KSSTS0_NUM1_Msk       (0x1ful << CRPT_RSA_KSSTS0_NUM1_Pos)            /*!< CRPT_T::RSA_KSSTS0: NUM1 Mask        */
2049 
2050 #define CRPT_RSA_KSSTS0_NUM2_Pos       (16)                                              /*!< CRPT_T::RSA_KSSTS0: NUM2 Position    */
2051 #define CRPT_RSA_KSSTS0_NUM2_Msk       (0x1ful << CRPT_RSA_KSSTS0_NUM2_Pos)            /*!< CRPT_T::RSA_KSSTS0: NUM2 Mask        */
2052 
2053 #define CRPT_RSA_KSSTS0_NUM3_Pos       (24)                                              /*!< CRPT_T::RSA_KSSTS0: NUM3 Position    */
2054 #define CRPT_RSA_KSSTS0_NUM3_Msk       (0x1ful << CRPT_RSA_KSSTS0_NUM3_Pos)            /*!< CRPT_T::RSA_KSSTS0: NUM3 Mask        */
2055 
2056 #define CRPT_RSA_KSSTS1_NUM4_Pos       (0)                                               /*!< CRPT_T::RSA_KSSTS1: NUM4 Position    */
2057 #define CRPT_RSA_KSSTS1_NUM4_Msk       (0x1ful << CRPT_RSA_KSSTS1_NUM4_Pos)            /*!< CRPT_T::RSA_KSSTS1: NUM4 Mask        */
2058 
2059 #define CRPT_RSA_KSSTS1_NUM5_Pos       (8)                                               /*!< CRPT_T::RSA_KSSTS1: NUM5 Position    */
2060 #define CRPT_RSA_KSSTS1_NUM5_Msk       (0x1ful << CRPT_RSA_KSSTS1_NUM5_Pos)            /*!< CRPT_T::RSA_KSSTS1: NUM5 Mask        */
2061 
2062 #define CRPT_RSA_KSSTS1_NUM6_Pos       (16)                                              /*!< CRPT_T::RSA_KSSTS1: NUM6 Position    */
2063 #define CRPT_RSA_KSSTS1_NUM6_Msk       (0x1ful << CRPT_RSA_KSSTS1_NUM6_Pos)            /*!< CRPT_T::RSA_KSSTS1: NUM6 Mask        */
2064 
2065 #define CRPT_RSA_KSSTS1_NUM7_Pos       (24)                                              /*!< CRPT_T::RSA_KSSTS1: NUM7 Position    */
2066 #define CRPT_RSA_KSSTS1_NUM7_Msk       (0x1ful << CRPT_RSA_KSSTS1_NUM7_Pos)            /*!< CRPT_T::RSA_KSSTS1: NUM7 Mask        */
2067 
2068 #define CRPT_VERSION_MINOR_Pos         (0)                                               /*!< CRPT_T::VERSION: MINOR Position      */
2069 #define CRPT_VERSION_MINOR_Msk         (0xfffful << CRPT_VERSION_MINOR_Pos)            /*!< CRPT_T::VERSION: MINOR Mask          */
2070 
2071 #define CRPT_VERSION_SUB_Pos           (16)                                              /*!< CRPT_T::VERSION: SUB Position        */
2072 #define CRPT_VERSION_SUB_Msk           (0xfful << CRPT_VERSION_SUB_Pos)                /*!< CRPT_T::VERSION: SUB Mask            */
2073 
2074 #define CRPT_VERSION_MAJOR_Pos         (24)                                              /*!< CRPT_T::VERSION: MAJOR Position      */
2075 #define CRPT_VERSION_MAJOR_Msk         (0xfful << CRPT_VERSION_MAJOR_Pos)              /*!< CRPT_T::VERSION: MAJOR Mask          */
2076 
2077 /**@}*/ /* CRPT_CONST */
2078 /**@}*/ /* end of CRYPTO register group */
2079 
2080 
2081 /**@}*/ /* end of REGISTER group */
2082 
2083 #endif /* __CRPT_REG_H__ */
2084