]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC/Nuvoton_Code/Device/Nuvoton/M2351/Include/crpt_reg.h
Add Cortex M23 GCC and IAR ports. Add demo projects for Nuvoton NuMaker-PFM-2351.
[freertos] / FreeRTOS / Demo / CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC / Nuvoton_Code / Device / Nuvoton / M2351 / Include / crpt_reg.h
1 /**************************************************************************//**\r
2  * @file     crpt_reg.h\r
3  * @version  V1.00\r
4  * @brief    CRPT register definition header file\r
5  *\r
6  * @copyright (C) 2017 Nuvoton Technology Corp. All rights reserved.\r
7  *****************************************************************************/\r
8 #ifndef __CRPT_REG_H__\r
9 #define __CRPT_REG_H__\r
10 \r
11 \r
12 /** @addtogroup REGISTER Control Register\r
13 \r
14   @{\r
15 \r
16 */\r
17 \r
18 \r
19 /*---------------------- Cryptographic Accelerator -------------------------*/\r
20 /**\r
21     @addtogroup CRPT Cryptographic Accelerator(CRPT)\r
22     Memory Mapped Structure for CRPT Controller\r
23 @{ */\r
24 \r
25 typedef struct\r
26 {\r
27 \r
28 \r
29     /**\r
30      * @var CRPT_T::INTEN\r
31      * Offset: 0x00  Crypto Interrupt Enable Control Register\r
32      * ---------------------------------------------------------------------------------------------------\r
33      * |Bits    |Field     |Descriptions\r
34      * | :----: | :----:   | :---- |\r
35      * |[0]     |AESIEN    |AES Interrupt Enable Control\r
36      * |        |          |0 = AES interrupt Disabled.\r
37      * |        |          |1 = AES interrupt Enabled.\r
38      * |        |          |In DMA mode, an interrupt will be triggered when amount of data set in AES_DMA_CNT is fed into the AES engine.\r
39      * |        |          |In Non-DMA mode, an interrupt will be triggered when the AES engine finishes the operation.\r
40      * |[1]     |AESEIEN   |AES Error Flag Enable Control\r
41      * |        |          |0 = AES error interrupt flag Disabled.\r
42      * |        |          |1 = AES error interrupt flag Enabled.\r
43      * |[8]     |TDESIEN   |TDES/DES Interrupt Enable Control\r
44      * |        |          |0 = TDES/DES interrupt Disabled.\r
45      * |        |          |1 = TDES/DES interrupt Enabled.\r
46      * |        |          |In DMA mode, an interrupt will be triggered when amount of data set in TDES_DMA_CNT is fed into the TDES engine.\r
47      * |        |          |In Non-DMA mode, an interrupt will be triggered when the TDES engine finishes the operation.\r
48      * |[9]     |TDESEIEN  |TDES/DES Error Flag Enable Control\r
49      * |        |          |0 = TDES/DES error interrupt flag Disabled.\r
50      * |        |          |1 = TDES/DES error interrupt flag Enabled.\r
51      * |[16]    |PRNGIEN   |PRNG Interrupt Enable Control\r
52      * |        |          |0 = PRNG interrupt Disabled.\r
53      * |        |          |1 = PRNG interrupt Enabled.\r
54      * |[22]    |ECCIEN    |ECC Interrupt Enable Control\r
55      * |        |          |0 = ECC interrupt Disabled.\r
56      * |        |          |1 = ECC interrupt Enabled.\r
57      * |        |          |In DMA mode, an interrupt will be triggered when amount of data set in ECC_DMA_CNT is fed into the ECC engine.\r
58      * |        |          |In Non-DMA mode, an interrupt will be triggered when the ECC engine finishes the operation.\r
59      * |[23]    |ECCEIEN   |ECC Error Interrupt Enable Control\r
60      * |        |          |0 = ECC error interrupt flag Disabled.\r
61      * |        |          |1 = ECC error interrupt flag Enabled.\r
62      * |[24]    |HMACIEN   |SHA/HMAC Interrupt Enable Control\r
63      * |        |          |0 = SHA/HMAC interrupt Disabled.\r
64      * |        |          |1 = SHA/HMAC interrupt Enabled.\r
65      * |        |          |In DMA mode, an interrupt will be triggered when amount of data set in SHA _DMA_CNT is fed into the SHA/HMAC engine\r
66      * |        |          |In Non-DMA mode, an interrupt will be triggered when the SHA/HMAC engine finishes the operation.\r
67      * |[25]    |HMACEIEN  |SHA/HMAC Error Interrupt Enable Control\r
68      * |        |          |0 = SHA/HMAC error interrupt flag Disabled.\r
69      * |        |          |1 = SHA/HMAC error interrupt flag Enabled.\r
70      * @var CRPT_T::INTSTS\r
71      * Offset: 0x04  Crypto Interrupt Flag\r
72      * ---------------------------------------------------------------------------------------------------\r
73      * |Bits    |Field     |Descriptions\r
74      * | :----: | :----:   | :---- |\r
75      * |[0]     |AESIF     |AES Finish Interrupt Flag\r
76      * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.\r
77      * |        |          |0 = No AES interrupt.\r
78      * |        |          |1 = AES encryption/decryption done interrupt.\r
79      * |[1]     |AESEIF    |AES Error Flag\r
80      * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.\r
81      * |        |          |0 = No AES error.\r
82      * |        |          |1 = AES encryption/decryption done interrupt.\r
83      * |[8]     |TDESIF    |TDES/DES Finish Interrupt Flag\r
84      * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.\r
85      * |        |          |0 = No TDES/DES interrupt.\r
86      * |        |          |1 = TDES/DES encryption/decryption done interrupt.\r
87      * |[9]     |TDESEIF   |TDES/DES Error Flag\r
88      * |        |          |This bit includes the operating and setting error\r
89      * |        |          |The detailed flag is shown in the TDES _FLAG register\r
90      * |        |          |This includes operating and setting error.\r
91      * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.\r
92      * |        |          |0 = No TDES/DES error.\r
93      * |        |          |1 = TDES/DES encryption/decryption error interrupt.\r
94      * |[16]    |PRNGIF    |PRNG Finish Interrupt Flag\r
95      * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.\r
96      * |        |          |0 = No PRNG interrupt.\r
97      * |        |          |1 = PRNG key generation done interrupt.\r
98      * |[22]    |ECCIF     |ECC Finish Interrupt Flag\r
99      * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.\r
100      * |        |          |0 = No ECC interrupt.\r
101      * |        |          |1 = ECC operation done interrupt.\r
102      * |[23]    |ECCEIF    |ECC Error Flag\r
103      * |        |          |This register includes operating and setting error. The detail flag is shown in ECC _FLAG register.\r
104      * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.\r
105      * |        |          |0 = No ECC error.\r
106      * |        |          |1 = ECC error interrupt.\r
107      * |[24]    |HMACIF    |SHA/HMAC Finish Interrupt Flag\r
108      * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.\r
109      * |        |          |0 = No SHA/HMAC interrupt.\r
110      * |        |          |1 = SHA/HMAC operation done interrupt.\r
111      * |[25]    |HMACEIF   |SHA/HMAC Error Flag\r
112      * |        |          |This register includes operating and setting error. The detail flag is shown in SHA _FLAG register.\r
113      * |        |          |This bit is cleared by writing 1, and it has no effect by writing 0.\r
114      * |        |          |0 = No SHA/HMAC error.\r
115      * |        |          |1 = SHA/HMAC error interrupt.\r
116      * @var CRPT_T::PRNG_CTL\r
117      * Offset: 0x08  PRNG Control Register\r
118      * ---------------------------------------------------------------------------------------------------\r
119      * |Bits    |Field     |Descriptions\r
120      * | :----: | :----:   | :---- |\r
121      * |[0]     |START     |Start PRNG Engine\r
122      * |        |          |0 = Stop PRNG engine.\r
123      * |        |          |1 = Generate new key and store the new key to register CRPT_PRNG_KEYx , which will be cleared when the new key is generated.\r
124      * |[1]     |SEEDRLD   |Reload New Seed for PRNG Engine\r
125      * |        |          |0 = Generating key based on the current seed.\r
126      * |        |          |1 = Reload new seed.\r
127      * |[3:2]   |KEYSZ     |PRNG Generate Key Size\r
128      * |        |          |00 = 64 bits.\r
129      * |        |          |01 = 128 bits.\r
130      * |        |          |10 = 192 bits.\r
131      * |        |          |11 = 256 bits.\r
132      * |[8]     |BUSY      |PRNG Busy (Read Only)\r
133      * |        |          |0 = PRNG engine is idle.\r
134      * |        |          |1 = Indicate that the PRNG engine is generating CRPT_PRNG_KEYx.\r
135      * @var CRPT_T::PRNG_SEED\r
136      * Offset: 0x0C  Seed for PRNG\r
137      * ---------------------------------------------------------------------------------------------------\r
138      * |Bits    |Field     |Descriptions\r
139      * | :----: | :----:   | :---- |\r
140      * |[31:0]  |SEED      |Seed for PRNG (Write Only)\r
141      * |        |          |The bits store the seed for PRNG engine.\r
142      * @var CRPT_T::PRNG_KEY[8]\r
143      * Offset: 0x10  PRNG Generated Key0~Key7\r
144      * ---------------------------------------------------------------------------------------------------\r
145      * |Bits    |Field     |Descriptions\r
146      * | :----: | :----:   | :---- |\r
147      * |[31:0]  |KEY       |Store PRNG Generated Key (Read Only)\r
148      * |        |          |The bits store the key that is generated by PRNG.\r
149      * @var CRPT_T::AES_FDBCK[4]\r
150      * Offset: 0x50  AES Engine Output Feedback Data after Cryptographic Operation\r
151      * ---------------------------------------------------------------------------------------------------\r
152      * |Bits    |Field     |Descriptions\r
153      * | :----: | :----:   | :---- |\r
154      * |[31:0]  |FDBCK     |AES Feedback Information\r
155      * |        |          |The feedback value is 128 bits in size.\r
156      * |        |          |The AES engine uses the data from CRPT_AES_FDBCKx as the data inputted to CRPT_AESn_IVx for the next block in DMA cascade mode.\r
157      * |        |          |The AES engine outputs feedback information for IV in the next block's operation\r
158      * |        |          |Software can use this feedback information to implement more than four DMA channels\r
159      * |        |          |Software can store that feedback value temporarily\r
160      * |        |          |After switching back, fill the stored feedback value to this register in the same channel operation, and then continue the operation with the original setting.\r
161      * @var CRPT_T::TDES_FDBCKH\r
162      * Offset: 0x60  TDES/DES Engine Output Feedback High Word Data after Cryptographic Operation\r
163      * ---------------------------------------------------------------------------------------------------\r
164      * |Bits    |Field     |Descriptions\r
165      * | :----: | :----:   | :---- |\r
166      * |[31:0]  |FDBCK     |TDES/DES Feedback\r
167      * |        |          |The feedback value is 64 bits in size.\r
168      * |        |          |The TDES/DES engine uses the data from {CRPT_TDES_FDBCKH, CRPT_TDES_FDBCKL} as the data inputted to {CRPT_TDESn_IVH, CRPT_TDESn_IVL} for the next block in DMA cascade mode\r
169      * |        |          |The feedback register is for CBC, CFB, and OFB mode.\r
170      * |        |          |TDES/DES engine outputs feedback information for IV in the next block's operation\r
171      * |        |          |Software can use this feedback information to implement more than four DMA channels\r
172      * |        |          |Software can store that feedback value temporarily\r
173      * |        |          |After switching back, fill the stored feedback value to this register in the same channel operation\r
174      * |        |          |Then can continue the operation with the original setting.\r
175      * @var CRPT_T::TDES_FDBCKL\r
176      * Offset: 0x64  TDES/DES Engine Output Feedback Low Word Data after Cryptographic Operation\r
177      * ---------------------------------------------------------------------------------------------------\r
178      * |Bits    |Field     |Descriptions\r
179      * | :----: | :----:   | :---- |\r
180      * |[31:0]  |FDBCK     |TDES/DES Feedback\r
181      * |        |          |The feedback value is 64 bits in size.\r
182      * |        |          |The TDES/DES engine uses the data from {CRPT_TDES_FDBCKH, CRPT_TDES_FDBCKL} as the data inputted to {CRPT_TDESn_IVH, CRPT_TDESn_IVL} for the next block in DMA cascade mode\r
183      * |        |          |The feedback register is for CBC, CFB, and OFB mode.\r
184      * |        |          |TDES/DES engine outputs feedback information for IV in the next block's operation\r
185      * |        |          |Software can use this feedback information to implement more than four DMA channels\r
186      * |        |          |Software can store that feedback value temporarily\r
187      * |        |          |After switching back, fill the stored feedback value to this register in the same channel operation\r
188      * |        |          |Then can continue the operation with the original setting.\r
189      * @var CRPT_T::AES_CTL\r
190      * Offset: 0x100  AES Control Register\r
191      * ---------------------------------------------------------------------------------------------------\r
192      * |Bits    |Field     |Descriptions\r
193      * | :----: | :----:   | :---- |\r
194      * |[0]     |START     |AES Engine Start\r
195      * |        |          |0 = No effect.\r
196      * |        |          |1 = Start AES engine. BUSY flag will be set.\r
197      * |        |          |Note: This bit is always 0 when it's read back.\r
198      * |[1]     |STOP      |AES Engine Stop\r
199      * |        |          |0 = No effect.\r
200      * |        |          |1 = Stop AES engine.\r
201      * |        |          |Note: This bit is always 0 when it's read back.\r
202      * |[3:2]   |KEYSZ     |AES Key Size\r
203      * |        |          |This bit defines three different key size for AES operation.\r
204      * |        |          |2'b00 = 128 bits key.\r
205      * |        |          |2'b01 = 192 bits key.\r
206      * |        |          |2'b10 = 256 bits key.\r
207      * |        |          |2'b11 = Reserved.\r
208      * |        |          |If the AES accelerator is operating and the corresponding flag BUSY is 1, updating this register has no effect.\r
209      * |[5]     |DMALAST   |AES Last Block\r
210      * |        |          |In DMA mode, this bit must be set as beginning the last DMA cascade round.\r
211      * |        |          |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.\r
212      * |        |          |This bit is always 0 when it's read back. Must be written again once START is triggered.\r
213      * |[6]     |DMACSCAD  |AES Engine DMA with Cascade Mode\r
214      * |        |          |0 = DMA cascade function Disabled.\r
215      * |        |          |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.\r
216      * |[7]     |DMAEN     |AES Engine DMA Enable Control\r
217      * |        |          |0 = AES DMA engine Disabled.\r
218      * |        |          |The AES engine operates in Non-DMA mode, and gets data from the port CRPT_AES_DATIN.\r
219      * |        |          |1 = AES_DMA engine Enabled.\r
220      * |        |          |The AES engine operates in DMA mode, and data movement from/to the engine is done by DMA logic.\r
221      * |[15:8]  |OPMODE    |AES Engine Operation Modes\r
222      * |        |          |0x00 = ECB (Electronic Codebook Mode)  0x01 = CBC (Cipher Block Chaining Mode).\r
223      * |        |          |0x02 = CFB (Cipher Feedback Mode).\r
224      * |        |          |0x03 = OFB (Output Feedback Mode).\r
225      * |        |          |0x04 = CTR (Counter Mode).\r
226      * |        |          |0x10 = CBC-CS1 (CBC Ciphertext-Stealing 1 Mode).\r
227      * |        |          |0x11 = CBC-CS2 (CBC Ciphertext-Stealing 2 Mode).\r
228      * |        |          |0x12 = CBC-CS3 (CBC Ciphertext-Stealing 3 Mode).\r
229      * |[16]    |ENCRPT    |AES Encryption/Decryption\r
230      * |        |          |0 = AES engine executes decryption operation.\r
231      * |        |          |1 = AES engine executes encryption operation.\r
232      * |[22]    |OUTSWAP   |AES Engine Output Data Swap\r
233      * |        |          |0 = Keep the original order.\r
234      * |        |          |1 = The order that CPU outputs data from the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.\r
235      * |[23]    |INSWAP    |AES Engine Input Data Swap\r
236      * |        |          |0 = Keep the original order.\r
237      * |        |          |1 = The order that CPU feeds data to the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.\r
238      * |[25:24] |CHANNEL   |AES Engine Working Channel\r
239      * |        |          |00 = Current control register setting is for channel 0.\r
240      * |        |          |01 = Current control register setting is for channel 1.\r
241      * |        |          |10 = Current control register setting is for channel 2.\r
242      * |        |          |11 = Current control register setting is for channel 3.\r
243      * |[30:26] |KEYUNPRT  |Unprotect Key\r
244      * |        |          |Writing 0 to CRPT_AES_CTL[31] and ...10110 to CRPT_AES_CTL[30:26] is to unprotect the AES key.\r
245      * |        |          |The KEYUNPRT can be read and written\r
246      * |        |          |When it is written as the AES engine is operating, BUSY flag is 1, there would be no effect on KEYUNPRT.\r
247      * |[31]    |KEYPRT    |Protect Key\r
248      * |        |          |Read as a flag to reflect KEYPRT.\r
249      * |        |          |0 = No effect.\r
250      * |        |          |1 = Protect the content of the AES key from reading\r
251      * |        |          |The return value for reading CRPT_AESn_KEYx is not the content of the registers CRPT_AESn_KEYx\r
252      * |        |          |Once it is set, it can be cleared by asserting KEYUNPRT\r
253      * |        |          |And the key content would be cleared as well.\r
254      * @var CRPT_T::AES_STS\r
255      * Offset: 0x104  AES Engine Flag\r
256      * ---------------------------------------------------------------------------------------------------\r
257      * |Bits    |Field     |Descriptions\r
258      * | :----: | :----:   | :---- |\r
259      * |[0]     |BUSY      |AES Engine Busy\r
260      * |        |          |0 = The AES engine is idle or finished.\r
261      * |        |          |1 = The AES engine is under processing.\r
262      * |[8]     |INBUFEMPTY|AES Input Buffer Empty\r
263      * |        |          |0 = There are some data in input buffer waiting for the AES engine to process.\r
264      * |        |          |1 = AES input buffer is empty\r
265      * |        |          |Software needs to feed data to the AES engine\r
266      * |        |          |Otherwise, the AES engine will be pending to wait for input data.\r
267      * |[9]     |INBUFFULL |AES Input Buffer Full Flag\r
268      * |        |          |0 = AES input buffer is not full. Software can feed the data into the AES engine.\r
269      * |        |          |1 = AES input buffer is full\r
270      * |        |          |Software cannot feed data to the AES engine\r
271      * |        |          |Otherwise, the flag INBUFERR will be set to 1.\r
272      * |[10]    |INBUFERR  |AES Input Buffer Error Flag\r
273      * |        |          |0 = No error.\r
274      * |        |          |1 = Error happens during feeding data to the AES engine.\r
275      * |[12]    |CNTERR    |CRPT_AESn_CNT Setting Error\r
276      * |        |          |0 = No error in CRPT_AESn_CNT setting.\r
277      * |        |          |1 = CRPT_AESn_CNT is not a multiply of 16 in ECB, CBC, CFB, OFB, and CTR mode.\r
278      * |[16]    |OUTBUFEMPTY|AES Out Buffer Empty\r
279      * |        |          |0 = AES output buffer is not empty. There are some valid data kept in output buffer.\r
280      * |        |          |1 = AES output buffer is empty\r
281      * |        |          |Software cannot get data from CRPT_AES_DATOUT\r
282      * |        |          |Otherwise, the flag OUTBUFERR will be set to 1 since the output buffer is empty.\r
283      * |[17]    |OUTBUFFULL|AES Out Buffer Full Flag\r
284      * |        |          |0 = AES output buffer is not full.\r
285      * |        |          |1 = AES output buffer is full, and software needs to get data from CRPT_AES_DATOUT\r
286      * |        |          |Otherwise, the AES engine will be pending since the output buffer is full.\r
287      * |[18]    |OUTBUFERR |AES Out Buffer Error Flag\r
288      * |        |          |0 = No error.\r
289      * |        |          |1 = Error happens during getting the result from AES engine.\r
290      * |[20]    |BUSERR    |AES DMA Access Bus Error Flag\r
291      * |        |          |0 = No error.\r
292      * |        |          |1 = Bus error will stop DMA operation and AES engine.\r
293      * @var CRPT_T::AES_DATIN\r
294      * Offset: 0x108  AES Engine Data Input Port Register\r
295      * ---------------------------------------------------------------------------------------------------\r
296      * |Bits    |Field     |Descriptions\r
297      * | :----: | :----:   | :---- |\r
298      * |[31:0]  |DATIN     |AES Engine Input Port\r
299      * |        |          |CPU feeds data to AES engine through this port by checking CRPT_AES_STS. Feed data as INBUFFULL is 0.\r
300      * @var CRPT_T::AES_DATOUT\r
301      * Offset: 0x10C  AES Engine Data Output Port Register\r
302      * ---------------------------------------------------------------------------------------------------\r
303      * |Bits    |Field     |Descriptions\r
304      * | :----: | :----:   | :---- |\r
305      * |[31:0]  |DATOUT    |AES Engine Output Port\r
306      * |        |          |CPU gets results from the AES engine through this port by checking CRPT_AES_STS\r
307      * |        |          |Get data as OUTBUFEMPTY is 0.\r
308      * @var CRPT_T::AES0_KEY[8]\r
309      * Offset: 0x110~0x12C  AES Key Word 0~7 Register for Channel 0\r
310      * ---------------------------------------------------------------------------------------------------\r
311      * |Bits    |Field     |Descriptions\r
312      * | :----: | :----:   | :---- |\r
313      * |[31:0]  |KEY       |CRPT_AESn_KEYx\r
314      * |        |          |The KEY keeps the security key for AES operation.\r
315      * |        |          |n = 0, 1..3.\r
316      * |        |          |x = 0, 1..7.\r
317      * |        |          |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\r
318      * |        |          |{CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 128-bit security key for AES operation\r
319      * |        |          |{CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 192-bit security key for AES operation\r
320      * |        |          |{CRPT_AESn_KEY7, CRPT_AESn_KEY6, CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 256-bit security key for AES operation.\r
321      * @var CRPT_T::AES0_IV[4]\r
322      * Offset: 0x130~0x13C  AES Initial Vector Word 0~3 Register for Channel 0\r
323      * ---------------------------------------------------------------------------------------------------\r
324      * |Bits    |Field     |Descriptions\r
325      * | :----: | :----:   | :---- |\r
326      * |[31:0]  |IV        |AES Initial Vectors\r
327      * |        |          |n = 0, 1..3.\r
328      * |        |          |x = 0, 1..3.\r
329      * |        |          |Four initial vectors (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) are for AES operating in CBC, CFB, and OFB mode\r
330      * |        |          |Four registers (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) act as Nonce counter when the AES engine is operating in CTR mode.\r
331      * @var CRPT_T::AES0_SADDR\r
332      * Offset: 0x140  AES DMA Source Address Register for Channel 0\r
333      * ---------------------------------------------------------------------------------------------------\r
334      * |Bits    |Field     |Descriptions\r
335      * | :----: | :----:   | :---- |\r
336      * |[31:0]  |SADDR     |AES DMA Source Address\r
337      * |        |          |The AES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO\r
338      * |        |          |The SADDR keeps the source address of the data buffer where the source text is stored\r
339      * |        |          |Based on the source address, the AES accelerator can read the plain text from system memory and do AES operation\r
340      * |        |          |The start of source address should be located at word boundary\r
341      * |        |          |In other words, bit 1 and 0 of SADDR are ignored.\r
342      * |        |          |SADDR can be read and written\r
343      * |        |          |Writing to SADDR while the AES accelerator is operating doesn't affect the current AES operation\r
344      * |        |          |But the value of SADDR will be updated later on\r
345      * |        |          |Consequently, software can prepare the DMA source address for the next AES operation.\r
346      * |        |          |In DMA mode, software can update the next CRPT_AESn_SADDR before triggering START.\r
347      * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.\r
348      * @var CRPT_T::AES0_DADDR\r
349      * Offset: 0x144  AES DMA Destination Address Register for Channel 0\r
350      * ---------------------------------------------------------------------------------------------------\r
351      * |Bits    |Field     |Descriptions\r
352      * | :----: | :----:   | :---- |\r
353      * |[31:0]  |DADDR     |AES DMA Destination Address\r
354      * |        |          |The AES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO\r
355      * |        |          |The DADDR keeps the destination address of the data buffer where the engine output's text will be stored\r
356      * |        |          |Based on the destination address, the AES accelerator can write the cipher text back to system memory after the AES operation is finished\r
357      * |        |          |The start of destination address should be located at word boundary\r
358      * |        |          |In other words, bit 1 and 0 of DADDR are ignored.\r
359      * |        |          |DADDR can be read and written\r
360      * |        |          |Writing to DADDR while the AES accelerator is operating doesn't affect the current AES operation\r
361      * |        |          |But the value of DADDR will be updated later on\r
362      * |        |          |Consequently, software can prepare the destination address for the next AES operation.\r
363      * |        |          |In DMA mode, software can update the next CRPT_AESn_DADDR before triggering START.\r
364      * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.\r
365      * @var CRPT_T::AES0_CNT\r
366      * Offset: 0x148  AES Byte Count Register for Channel 0\r
367      * ---------------------------------------------------------------------------------------------------\r
368      * |Bits    |Field     |Descriptions\r
369      * | :----: | :----:   | :---- |\r
370      * |[31:0]  |CNT       |AES Byte Count\r
371      * |        |          |The CRPT_AESn_CNT keeps the byte count of source text that is for the AES engine operating in DMA mode\r
372      * |        |          |The CRPT_AESn_CNT is 32-bit and the maximum of byte count is 4G bytes.\r
373      * |        |          |CRPT_AESn_CNT can be read and written\r
374      * |        |          |Writing to CRPT_AESn_CNT while the AES accelerator is operating doesn't affect the current AES operation\r
375      * |        |          |But the value of CRPT_AESn_CNT will be updated later on\r
376      * |        |          |Consequently, software can prepare the byte count of data for the next AES operation.\r
377      * |        |          |According to CBC-CS1, CBC-CS2, and CBC-CS3 standard, the count of operation data must be at least one block\r
378      * |        |          |Operations that are less than one block will output unexpected result.\r
379      * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_AESn_CNT must be set as byte count for the last block of data before feeding in the last block of data\r
380      * |        |          |In Non-DMA CBC-CS1, CBC-CS2, and CBC-CS3 mode, CRPT_AESn_CNT must be set as byte count for the last two blocks of data before feeding in the last two blocks of data.\r
381      * @var CRPT_T::AES1_KEY[8]\r
382      * Offset: 0x14C~0x168  AES Key Word 0~7 Register for Channel 1\r
383      * ---------------------------------------------------------------------------------------------------\r
384      * |Bits    |Field     |Descriptions\r
385      * | :----: | :----:   | :---- |\r
386      * |[31:0]  |KEY       |CRPT_AESn_KEYx\r
387      * |        |          |The KEY keeps the security key for AES operation.\r
388      * |        |          |n = 0, 1..3.\r
389      * |        |          |x = 0, 1..7.\r
390      * |        |          |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\r
391      * |        |          |{CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 128-bit security key for AES operation\r
392      * |        |          |{CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 192-bit security key for AES operation\r
393      * |        |          |{CRPT_AESn_KEY7, CRPT_AESn_KEY6, CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 256-bit security key for AES operation.\r
394      * @var CRPT_T::AES1_IV[4]\r
395      * Offset: 0x16C~0x178  AES Initial Vector Word 0~3 Register for Channel 1\r
396      * ---------------------------------------------------------------------------------------------------\r
397      * |Bits    |Field     |Descriptions\r
398      * | :----: | :----:   | :---- |\r
399      * |[31:0]  |IV        |AES Initial Vectors\r
400      * |        |          |n = 0, 1..3.\r
401      * |        |          |x = 0, 1..3.\r
402      * |        |          |Four initial vectors (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) are for AES operating in CBC, CFB, and OFB mode\r
403      * |        |          |Four registers (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) act as Nonce counter when the AES engine is operating in CTR mode.\r
404      * @var CRPT_T::AES1_SADDR\r
405      * Offset: 0x17C  AES DMA Source Address Register for Channel 1\r
406      * ---------------------------------------------------------------------------------------------------\r
407      * |Bits    |Field     |Descriptions\r
408      * | :----: | :----:   | :---- |\r
409      * |[31:0]  |SADDR     |AES DMA Source Address\r
410      * |        |          |The AES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO\r
411      * |        |          |The SADDR keeps the source address of the data buffer where the source text is stored\r
412      * |        |          |Based on the source address, the AES accelerator can read the plain text from system memory and do AES operation\r
413      * |        |          |The start of source address should be located at word boundary\r
414      * |        |          |In other words, bit 1 and 0 of SADDR are ignored.\r
415      * |        |          |SADDR can be read and written\r
416      * |        |          |Writing to SADDR while the AES accelerator is operating doesn't affect the current AES operation\r
417      * |        |          |But the value of SADDR will be updated later on\r
418      * |        |          |Consequently, software can prepare the DMA source address for the next AES operation.\r
419      * |        |          |In DMA mode, software can update the next CRPT_AESn_SADDR before triggering START.\r
420      * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.\r
421      * @var CRPT_T::AES1_DADDR\r
422      * Offset: 0x180  AES DMA Destination Address Register for Channel 1\r
423      * ---------------------------------------------------------------------------------------------------\r
424      * |Bits    |Field     |Descriptions\r
425      * | :----: | :----:   | :---- |\r
426      * |[31:0]  |DADDR     |AES DMA Destination Address\r
427      * |        |          |The AES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO\r
428      * |        |          |The DADDR keeps the destination address of the data buffer where the engine output's text will be stored\r
429      * |        |          |Based on the destination address, the AES accelerator can write the cipher text back to system memory after the AES operation is finished\r
430      * |        |          |The start of destination address should be located at word boundary\r
431      * |        |          |In other words, bit 1 and 0 of DADDR are ignored.\r
432      * |        |          |DADDR can be read and written\r
433      * |        |          |Writing to DADDR while the AES accelerator is operating doesn't affect the current AES operation\r
434      * |        |          |But the value of DADDR will be updated later on\r
435      * |        |          |Consequently, software can prepare the destination address for the next AES operation.\r
436      * |        |          |In DMA mode, software can update the next CRPT_AESn_DADDR before triggering START.\r
437      * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.\r
438      * @var CRPT_T::AES1_CNT\r
439      * Offset: 0x184  AES Byte Count Register for Channel 1\r
440      * ---------------------------------------------------------------------------------------------------\r
441      * |Bits    |Field     |Descriptions\r
442      * | :----: | :----:   | :---- |\r
443      * |[31:0]  |CNT       |AES Byte Count\r
444      * |        |          |The CRPT_AESn_CNT keeps the byte count of source text that is for the AES engine operating in DMA mode\r
445      * |        |          |The CRPT_AESn_CNT is 32-bit and the maximum of byte count is 4G bytes.\r
446      * |        |          |CRPT_AESn_CNT can be read and written\r
447      * |        |          |Writing to CRPT_AESn_CNT while the AES accelerator is operating doesn't affect the current AES operation\r
448      * |        |          |But the value of CRPT_AESn_CNT will be updated later on\r
449      * |        |          |Consequently, software can prepare the byte count of data for the next AES operation.\r
450      * |        |          |According to CBC-CS1, CBC-CS2, and CBC-CS3 standard, the count of operation data must be at least one block\r
451      * |        |          |Operations that are less than one block will output unexpected result.\r
452      * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_AESn_CNT must be set as byte count for the last block of data before feeding in the last block of data\r
453      * |        |          |In Non-DMA CBC-CS1, CBC-CS2, and CBC-CS3 mode, CRPT_AESn_CNT must be set as byte count for the last two blocks of data before feeding in the last two blocks of data.\r
454      * @var CRPT_T::AES2_KEY[8]\r
455      * Offset: 0x188~0x1A4  AES Key Word 0~7 Register for Channel 2\r
456      * ---------------------------------------------------------------------------------------------------\r
457      * |Bits    |Field     |Descriptions\r
458      * | :----: | :----:   | :---- |\r
459      * |[31:0]  |KEY       |CRPT_AESn_KEYx\r
460      * |        |          |The KEY keeps the security key for AES operation.\r
461      * |        |          |n = 0, 1..3.\r
462      * |        |          |x = 0, 1..7.\r
463      * |        |          |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\r
464      * |        |          |{CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 128-bit security key for AES operation\r
465      * |        |          |{CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 192-bit security key for AES operation\r
466      * |        |          |{CRPT_AESn_KEY7, CRPT_AESn_KEY6, CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 256-bit security key for AES operation.\r
467      * @var CRPT_T::AES2_IV[4]\r
468      * Offset: 0x1A8~0x1B4  AES Initial Vector Word 0~3 Register for Channel 2\r
469      * ---------------------------------------------------------------------------------------------------\r
470      * |Bits    |Field     |Descriptions\r
471      * | :----: | :----:   | :---- |\r
472      * |[31:0]  |IV        |AES Initial Vectors\r
473      * |        |          |n = 0, 1..3.\r
474      * |        |          |x = 0, 1..3.\r
475      * |        |          |Four initial vectors (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) are for AES operating in CBC, CFB, and OFB mode\r
476      * |        |          |Four registers (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) act as Nonce counter when the AES engine is operating in CTR mode.\r
477      * @var CRPT_T::AES2_SADDR\r
478      * Offset: 0x1B8  AES DMA Source Address Register for Channel 2\r
479      * ---------------------------------------------------------------------------------------------------\r
480      * |Bits    |Field     |Descriptions\r
481      * | :----: | :----:   | :---- |\r
482      * |[31:0]  |SADDR     |AES DMA Source Address\r
483      * |        |          |The AES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO\r
484      * |        |          |The SADDR keeps the source address of the data buffer where the source text is stored\r
485      * |        |          |Based on the source address, the AES accelerator can read the plain text from system memory and do AES operation\r
486      * |        |          |The start of source address should be located at word boundary\r
487      * |        |          |In other words, bit 1 and 0 of SADDR are ignored.\r
488      * |        |          |SADDR can be read and written\r
489      * |        |          |Writing to SADDR while the AES accelerator is operating doesn't affect the current AES operation\r
490      * |        |          |But the value of SADDR will be updated later on\r
491      * |        |          |Consequently, software can prepare the DMA source address for the next AES operation.\r
492      * |        |          |In DMA mode, software can update the next CRPT_AESn_SADDR before triggering START.\r
493      * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.\r
494      * @var CRPT_T::AES2_DADDR\r
495      * Offset: 0x1BC  AES DMA Destination Address Register for Channel 2\r
496      * ---------------------------------------------------------------------------------------------------\r
497      * |Bits    |Field     |Descriptions\r
498      * | :----: | :----:   | :---- |\r
499      * |[31:0]  |DADDR     |AES DMA Destination Address\r
500      * |        |          |The AES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO\r
501      * |        |          |The DADDR keeps the destination address of the data buffer where the engine output's text will be stored\r
502      * |        |          |Based on the destination address, the AES accelerator can write the cipher text back to system memory after the AES operation is finished\r
503      * |        |          |The start of destination address should be located at word boundary\r
504      * |        |          |In other words, bit 1 and 0 of DADDR are ignored.\r
505      * |        |          |DADDR can be read and written\r
506      * |        |          |Writing to DADDR while the AES accelerator is operating doesn't affect the current AES operation\r
507      * |        |          |But the value of DADDR will be updated later on\r
508      * |        |          |Consequently, software can prepare the destination address for the next AES operation.\r
509      * |        |          |In DMA mode, software can update the next CRPT_AESn_DADDR before triggering START.\r
510      * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.\r
511      * @var CRPT_T::AES2_CNT\r
512      * Offset: 0x1C0  AES Byte Count Register for Channel 2\r
513      * ---------------------------------------------------------------------------------------------------\r
514      * |Bits    |Field     |Descriptions\r
515      * | :----: | :----:   | :---- |\r
516      * |[31:0]  |CNT       |AES Byte Count\r
517      * |        |          |The CRPT_AESn_CNT keeps the byte count of source text that is for the AES engine operating in DMA mode\r
518      * |        |          |The CRPT_AESn_CNT is 32-bit and the maximum of byte count is 4G bytes.\r
519      * |        |          |CRPT_AESn_CNT can be read and written\r
520      * |        |          |Writing to CRPT_AESn_CNT while the AES accelerator is operating doesn't affect the current AES operation\r
521      * |        |          |But the value of CRPT_AESn_CNT will be updated later on\r
522      * |        |          |Consequently, software can prepare the byte count of data for the next AES operation.\r
523      * |        |          |According to CBC-CS1, CBC-CS2, and CBC-CS3 standard, the count of operation data must be at least one block\r
524      * |        |          |Operations that are less than one block will output unexpected result.\r
525      * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_AESn_CNT must be set as byte count for the last block of data before feeding in the last block of data\r
526      * |        |          |In Non-DMA CBC-CS1, CBC-CS2, and CBC-CS3 mode, CRPT_AESn_CNT must be set as byte count for the last two blocks of data before feeding in the last two blocks of data.\r
527      * @var CRPT_T::AES3_KEY[8]\r
528      * Offset: 0x1C4~0x1E0  AES Key Word 0~7 Register for Channel 3\r
529      * ---------------------------------------------------------------------------------------------------\r
530      * |Bits    |Field     |Descriptions\r
531      * | :----: | :----:   | :---- |\r
532      * |[31:0]  |KEY       |CRPT_AESn_KEYx\r
533      * |        |          |The KEY keeps the security key for AES operation.\r
534      * |        |          |n = 0, 1..3.\r
535      * |        |          |x = 0, 1..7.\r
536      * |        |          |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\r
537      * |        |          |{CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 128-bit security key for AES operation\r
538      * |        |          |{CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 192-bit security key for AES operation\r
539      * |        |          |{CRPT_AESn_KEY7, CRPT_AESn_KEY6, CRPT_AESn_KEY5, CRPT_AESn_KEY4, CRPT_AESn_KEY3, CRPT_AESn_KEY2, CRPT_AESn_KEY1, CRPT_AESn_KEY0} stores the 256-bit security key for AES operation.\r
540      * @var CRPT_T::AES3_IV[4]\r
541      * Offset: 0x1E4~0x1F0  AES Initial Vector Word 0~3 Register for Channel 3\r
542      * ---------------------------------------------------------------------------------------------------\r
543      * |Bits    |Field     |Descriptions\r
544      * | :----: | :----:   | :---- |\r
545      * |[31:0]  |IV        |AES Initial Vectors\r
546      * |        |          |n = 0, 1..3.\r
547      * |        |          |x = 0, 1..3.\r
548      * |        |          |Four initial vectors (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) are for AES operating in CBC, CFB, and OFB mode\r
549      * |        |          |Four registers (CRPT_AESn_IV0, CRPT_AESn_IV1, CRPT_AESn_IV2, and CRPT_AESn_IV3) act as Nonce counter when the AES engine is operating in CTR mode.\r
550      * @var CRPT_T::AES3_SADDR\r
551      * Offset: 0x1F4  AES DMA Source Address Register for Channel 3\r
552      * ---------------------------------------------------------------------------------------------------\r
553      * |Bits    |Field     |Descriptions\r
554      * | :----: | :----:   | :---- |\r
555      * |[31:0]  |SADDR     |AES DMA Source Address\r
556      * |        |          |The AES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO\r
557      * |        |          |The SADDR keeps the source address of the data buffer where the source text is stored\r
558      * |        |          |Based on the source address, the AES accelerator can read the plain text from system memory and do AES operation\r
559      * |        |          |The start of source address should be located at word boundary\r
560      * |        |          |In other words, bit 1 and 0 of SADDR are ignored.\r
561      * |        |          |SADDR can be read and written\r
562      * |        |          |Writing to SADDR while the AES accelerator is operating doesn't affect the current AES operation\r
563      * |        |          |But the value of SADDR will be updated later on\r
564      * |        |          |Consequently, software can prepare the DMA source address for the next AES operation.\r
565      * |        |          |In DMA mode, software can update the next CRPT_AESn_SADDR before triggering START.\r
566      * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.\r
567      * @var CRPT_T::AES3_DADDR\r
568      * Offset: 0x1F8  AES DMA Destination Address Register for Channel 3\r
569      * ---------------------------------------------------------------------------------------------------\r
570      * |Bits    |Field     |Descriptions\r
571      * | :----: | :----:   | :---- |\r
572      * |[31:0]  |DADDR     |AES DMA Destination Address\r
573      * |        |          |The AES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO\r
574      * |        |          |The DADDR keeps the destination address of the data buffer where the engine output's text will be stored\r
575      * |        |          |Based on the destination address, the AES accelerator can write the cipher text back to system memory after the AES operation is finished\r
576      * |        |          |The start of destination address should be located at word boundary\r
577      * |        |          |In other words, bit 1 and 0 of DADDR are ignored.\r
578      * |        |          |DADDR can be read and written\r
579      * |        |          |Writing to DADDR while the AES accelerator is operating doesn't affect the current AES operation\r
580      * |        |          |But the value of DADDR will be updated later on\r
581      * |        |          |Consequently, software can prepare the destination address for the next AES operation.\r
582      * |        |          |In DMA mode, software can update the next CRPT_AESn_DADDR before triggering START.\r
583      * |        |          |The value of CRPT_AESn_SADDR and CRPT_AESn_DADDR can be the same.\r
584      * @var CRPT_T::AES3_CNT\r
585      * Offset: 0x1FC  AES Byte Count Register for Channel 3\r
586      * ---------------------------------------------------------------------------------------------------\r
587      * |Bits    |Field     |Descriptions\r
588      * | :----: | :----:   | :---- |\r
589      * |[31:0]  |CNT       |AES Byte Count\r
590      * |        |          |The CRPT_AESn_CNT keeps the byte count of source text that is for the AES engine operating in DMA mode\r
591      * |        |          |The CRPT_AESn_CNT is 32-bit and the maximum of byte count is 4G bytes.\r
592      * |        |          |CRPT_AESn_CNT can be read and written\r
593      * |        |          |Writing to CRPT_AESn_CNT while the AES accelerator is operating doesn't affect the current AES operation\r
594      * |        |          |But the value of CRPT_AESn_CNT will be updated later on\r
595      * |        |          |Consequently, software can prepare the byte count of data for the next AES operation.\r
596      * |        |          |According to CBC-CS1, CBC-CS2, and CBC-CS3 standard, the count of operation data must be at least one block\r
597      * |        |          |Operations that are less than one block will output unexpected result.\r
598      * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_AESn_CNT must be set as byte count for the last block of data before feeding in the last block of data\r
599      * |        |          |In Non-DMA CBC-CS1, CBC-CS2, and CBC-CS3 mode, CRPT_AESn_CNT must be set as byte count for the last two blocks of data before feeding in the last two blocks of data.\r
600      * @var CRPT_T::TDES_CTL\r
601      * Offset: 0x200  TDES/DES Control Register\r
602      * ---------------------------------------------------------------------------------------------------\r
603      * |Bits    |Field     |Descriptions\r
604      * | :----: | :----:   | :---- |\r
605      * |[0]     |START     |TDES/DES Engine Start\r
606      * |        |          |0 = No effect.\r
607      * |        |          |1 = Start TDES/DES engine. The flag BUSY would be set.\r
608      * |        |          |Note: The bit is always 0 when it's read back.\r
609      * |[1]     |STOP      |TDES/DES Engine Stop\r
610      * |        |          |0 = No effect.\r
611      * |        |          |1 = Stop TDES/DES engine.\r
612      * |        |          |Note: The bit is always 0 when it's read back.\r
613      * |[2]     |TMODE     |TDES/DES Engine Operating Mode\r
614      * |        |          |0 = Set DES mode for TDES/DES engine.\r
615      * |        |          |1 = Set Triple DES mode for TDES/DES engine.\r
616      * |[3]     |3KEYS     |TDES/DES Key Number\r
617      * |        |          |0 = Select KEY1 and KEY2 in TDES/DES engine.\r
618      * |        |          |1 = Triple keys in TDES/DES engine Enabled.\r
619      * |[5]     |DMALAST   |TDES/DES Engine Start for the Last Block\r
620      * |        |          |In DMA mode, this bit must be set as beginning the last DMA cascade round.\r
621      * |        |          |In Non-DMA mode, this bit must be set as feeding in last block of data.\r
622      * |[6]     |DMACSCAD  |TDES/DES Engine DMA with Cascade Mode\r
623      * |        |          |0 = DMA cascade function Disabled.\r
624      * |        |          |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.\r
625      * |[7]     |DMAEN     |TDES/DES Engine DMA Enable Control\r
626      * |        |          |0 = TDES_DMA engine Disabled.\r
627      * |        |          |TDES engine operates in Non-DMA mode, and get data from the port CRPT_TDES_DATIN.\r
628      * |        |          |1 = TDES_DMA engine Enabled.\r
629      * |        |          |TDES engine operates in DMA mode, and data movement from/to the engine is done by DMA logic.\r
630      * |[10:8]  |OPMODE    |TDES/DES Engine Operation Mode\r
631      * |        |          |0x00 = ECB (Electronic Codebook Mode).\r
632      * |        |          |0x01 = CBC (Cipher Block Chaining Mode).\r
633      * |        |          |0x02 = CFB (Cipher Feedback Mode).\r
634      * |        |          |0x03 = OFB (Output Feedback Mode).\r
635      * |        |          |0x04 = CTR (Counter Mode).\r
636      * |        |          |Others = CTR (Counter Mode).\r
637      * |[16]    |ENCRPT    |TDES/DES Encryption/Decryption\r
638      * |        |          |0 = TDES engine executes decryption operation.\r
639      * |        |          |1 = TDES engine executes encryption operation.\r
640      * |[21]    |BLKSWAP   |TDES/DES Engine Block Double Word Endian Swap\r
641      * |        |          |0 = Keep the original order, e.g. {WORD_H, WORD_L}.\r
642      * |        |          |1 = When this bit is set to 1, the TDES engine would exchange high and low word in the sequence {WORD_L, WORD_H}.\r
643      * |[22]    |OUTSWAP   |TDES/DES Engine Output Data Swap\r
644      * |        |          |0 = Keep the original order.\r
645      * |        |          |1 = The order that CPU outputs data from the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.\r
646      * |[23]    |INSWAP    |TDES/DES Engine Input Data Swap\r
647      * |        |          |0 = Keep the original order.\r
648      * |        |          |1 = The order that CPU feeds data to the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.\r
649      * |[25:24] |CHANNEL   |TDES/DES Engine Working Channel\r
650      * |        |          |00 = Current control register setting is for channel 0.\r
651      * |        |          |01 = Current control register setting is for channel 1.\r
652      * |        |          |10 = Current control register setting is for channel 2.\r
653      * |        |          |11 = Current control register setting is for channel 3.\r
654      * |[30:26] |KEYUNPRT  |Unprotect Key\r
655      * |        |          |Writing 0 to CRPT_TDES_CTL [31] and ...10110 to CRPT_TDES_CTL [30:26] is to unprotect TDES key.\r
656      * |        |          |The KEYUNPRT can be read and written\r
657      * |        |          |When it is written as the TDES engine is operating, BUSY flag is 1, there would be no effect on KEYUNPRT.\r
658      * |[31]    |KEYPRT    |Protect Key\r
659      * |        |          |Read as a flag to reflect KEYPRT.\r
660      * |        |          |0 = No effect.\r
661      * |        |          |1 = This bit is to protect the content of TDES key from reading\r
662      * |        |          |The return value for reading CRPT_ TDESn_KEYxH/L is not the content in the registers CRPT_ TDESn_KEYxH/L\r
663      * |        |          |Once it is set, it can be cleared by asserting KEYUNPRT\r
664      * |        |          |The key content would be cleared as well.\r
665      * @var CRPT_T::TDES_STS\r
666      * Offset: 0x204  TDES/DES Engine Flag\r
667      * ---------------------------------------------------------------------------------------------------\r
668      * |Bits    |Field     |Descriptions\r
669      * | :----: | :----:   | :---- |\r
670      * |[0]     |BUSY      |TDES/DES Engine Busy\r
671      * |        |          |0 = TDES/DES engine is idle or finished.\r
672      * |        |          |1 = TDES/DES engine is under processing.\r
673      * |[8]     |INBUFEMPTY|TDES/DES in Buffer Empty\r
674      * |        |          |0 = There are some data in input buffer waiting for the TDES/DES engine to process.\r
675      * |        |          |1 = TDES/DES input buffer is empty\r
676      * |        |          |Software needs to feed data to the TDES/DES engine\r
677      * |        |          |Otherwise, the TDES/DES engine will be pending to wait for input data.\r
678      * |[9]     |INBUFFULL |TDES/DES in Buffer Full Flag\r
679      * |        |          |0 = TDES/DES input buffer is not full. Software can feed the data into the TDES/DES engine.\r
680      * |        |          |1 = TDES input buffer is full\r
681      * |        |          |Software cannot feed data to the TDES/DES engine\r
682      * |        |          |Otherwise, the flag INBUFERR will be set to 1.\r
683      * |[10]    |INBUFERR  |TDES/DES in Buffer Error Flag\r
684      * |        |          |0 = No error.\r
685      * |        |          |1 = Error happens during feeding data to the TDES/DES engine.\r
686      * |[16]    |OUTBUFEMPTY|TDES/DES Output Buffer Empty Flag\r
687      * |        |          |0 = TDES/DES output buffer is not empty. There are some valid data kept in output buffer.\r
688      * |        |          |1 = TDES/DES output buffer is empty, Software cannot get data from TDES_DATA_OUT\r
689      * |        |          |Otherwise the flag OUTBUFERR will be set to 1, since output buffer is empty.\r
690      * |[17]    |OUTBUFFULL|TDES/DES Output Buffer Full Flag\r
691      * |        |          |0 = TDES/DES output buffer is not full.\r
692      * |        |          |1 = TDES/DES output buffer is full, and software needs to get data from TDES_DATA_OUT\r
693      * |        |          |Otherwise, the TDES/DES engine will be pending since output buffer is full.\r
694      * |[18]    |OUTBUFERR |TDES/DES Out Buffer Error Flag\r
695      * |        |          |0 = No error.\r
696      * |        |          |1 = Error happens during getting test result from TDES/DES engine.\r
697      * |[20]    |BUSERR    |TDES/DES DMA Access Bus Error Flag\r
698      * |        |          |0 = No error.\r
699      * |        |          |1 = Bus error will stop DMA operation and TDES/DES engine.\r
700      * @var CRPT_T::TDES0_KEY1H\r
701      * Offset: 0x208  TDES/DES Key 1 High Word Register for Channel 0\r
702      * ---------------------------------------------------------------------------------------------------\r
703      * |Bits    |Field     |Descriptions\r
704      * | :----: | :----:   | :---- |\r
705      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
706      * |        |          |The key registers for TDES/DES algorithm calculation\r
707      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
708      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
709      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
710      * @var CRPT_T::TDES0_KEY1L\r
711      * Offset: 0x20C  TDES/DES Key 1 Low Word Register for Channel 0\r
712      * ---------------------------------------------------------------------------------------------------\r
713      * |Bits    |Field     |Descriptions\r
714      * | :----: | :----:   | :---- |\r
715      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
716      * |        |          |The key registers for TDES/DES algorithm calculation\r
717      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
718      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
719      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
720      * @var CRPT_T::TDES0_KEY2H\r
721      * Offset: 0x210  TDES Key 2 High Word Register for Channel 0\r
722      * ---------------------------------------------------------------------------------------------------\r
723      * |Bits    |Field     |Descriptions\r
724      * | :----: | :----:   | :---- |\r
725      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
726      * |        |          |The key registers for TDES/DES algorithm calculation\r
727      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
728      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
729      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
730      * @var CRPT_T::TDES0_KEY2L\r
731      * Offset: 0x214  TDES Key 2 Low Word Register for Channel 0\r
732      * ---------------------------------------------------------------------------------------------------\r
733      * |Bits    |Field     |Descriptions\r
734      * | :----: | :----:   | :---- |\r
735      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
736      * |        |          |The key registers for TDES/DES algorithm calculation\r
737      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
738      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
739      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
740      * @var CRPT_T::TDES0_KEY3H\r
741      * Offset: 0x218  TDES Key 3 High Word Register for Channel 0\r
742      * ---------------------------------------------------------------------------------------------------\r
743      * |Bits    |Field     |Descriptions\r
744      * | :----: | :----:   | :---- |\r
745      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
746      * |        |          |The key registers for TDES/DES algorithm calculation\r
747      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
748      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
749      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
750      * @var CRPT_T::TDES0_KEY3L\r
751      * Offset: 0x21C  TDES Key 3 Low Word Register for Channel 0\r
752      * ---------------------------------------------------------------------------------------------------\r
753      * |Bits    |Field     |Descriptions\r
754      * | :----: | :----:   | :---- |\r
755      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
756      * |        |          |The key registers for TDES/DES algorithm calculation\r
757      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
758      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
759      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
760      * @var CRPT_T::TDES0_IVH\r
761      * Offset: 0x220  TDES/DES Initial Vector High Word Register for Channel 0\r
762      * ---------------------------------------------------------------------------------------------------\r
763      * |Bits    |Field     |Descriptions\r
764      * | :----: | :----:   | :---- |\r
765      * |[31:0]  |IV        |TDES/DES Initial Vector High/Low Word\r
766      * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode\r
767      * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.\r
768      * @var CRPT_T::TDES0_IVL\r
769      * Offset: 0x224  TDES/DES Initial Vector Low Word Register for Channel 0\r
770      * ---------------------------------------------------------------------------------------------------\r
771      * |Bits    |Field     |Descriptions\r
772      * | :----: | :----:   | :---- |\r
773      * |[31:0]  |IV        |TDES/DES Initial Vector High/Low Word\r
774      * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode\r
775      * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.\r
776      * @var CRPT_T::TDES0_SADDR\r
777      * Offset: 0x228  TDES/DES DMA Source Address Register for Channel 0\r
778      * ---------------------------------------------------------------------------------------------------\r
779      * |Bits    |Field     |Descriptions\r
780      * | :----: | :----:   | :---- |\r
781      * |[31:0]  |SA        |TDES/DES DMA Source Address\r
782      * |        |          |The TDES/DES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO\r
783      * |        |          |The CRPT_TDESn_SA keeps the source address of the data buffer where the source text is stored\r
784      * |        |          |Based on the source address, the TDES/DES accelerator can read the plain text from system memory and do TDES/DES operation\r
785      * |        |          |The start of source address should be located at word boundary\r
786      * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_SA are ignored.\r
787      * |        |          |CRPT_TDESn_SA can be read and written\r
788      * |        |          |Writing to CRPT_TDESn_SA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation\r
789      * |        |          |But the value of CRPT_TDESn_SA will be updated later on\r
790      * |        |          |Consequently, software can prepare the DMA source address for the next TDES/DES operation.\r
791      * |        |          |In DMA mode, software can update the next CRPT_TDESn_SA before triggering START.\r
792      * |        |          |CRPT_TDESn_SA and CRPT_TDESn_DA can be the same in the value.\r
793      * @var CRPT_T::TDES0_DADDR\r
794      * Offset: 0x22C  TDES/DES DMA Destination Address Register for Channel 0\r
795      * ---------------------------------------------------------------------------------------------------\r
796      * |Bits    |Field     |Descriptions\r
797      * | :----: | :----:   | :---- |\r
798      * |[31:0]  |DA        |TDES/DES DMA Destination Address\r
799      * |        |          |The TDES/DES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO\r
800      * |        |          |The CRPT_TDESn_DA keeps the destination address of the data buffer where the engine output's text will be stored\r
801      * |        |          |Based on the destination address, the TDES/DES accelerator can write the cipher text back to system memory after the TDES/DES operation is finished\r
802      * |        |          |The start of destination address should be located at word boundary\r
803      * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_DA are ignored.\r
804      * |        |          |CRPT_TDESn_DA can be read and written\r
805      * |        |          |Writing to CRPT_TDESn_DA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation\r
806      * |        |          |But the value of CRPT_TDESn_DA will be updated later on\r
807      * |        |          |Consequently, software can prepare the destination address for the next TDES/DES operation.\r
808      * |        |          |In DMA mode, software can update the next CRPT_TDESn_DA before triggering START.\r
809      * |        |          |CRPT_TDESn_SAD and CRPT_TDESn_DA can be the same in the value.\r
810      * @var CRPT_T::TDES0_CNT\r
811      * Offset: 0x230  TDES/DES Byte Count Register for Channel 0\r
812      * ---------------------------------------------------------------------------------------------------\r
813      * |Bits    |Field     |Descriptions\r
814      * | :----: | :----:   | :---- |\r
815      * |[31:0]  |CNT       |TDES/DES Byte Count\r
816      * |        |          |The CRPT_TDESn_CNT keeps the byte count of source text that is for the TDES/DES engine operating in DMA mode\r
817      * |        |          |The CRPT_TDESn_CNT is 32-bit and the maximum of byte count is 4G bytes.\r
818      * |        |          |CRPT_TDESn_CNT can be read and written\r
819      * |        |          |Writing to CRPT_TDESn_CNT while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation\r
820      * |        |          |But the value of CRPT_TDESn_CNT will be updated later on\r
821      * |        |          |Consequently, software can prepare the byte count of data for the next TDES /DES operation.\r
822      * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_TDESn_CNT must be set as byte count for the last block of data before feeding in the last block of data.\r
823      * @var CRPT_T::TDES_DATIN\r
824      * Offset: 0x234  TDES/DES Engine Input data Word Register\r
825      * ---------------------------------------------------------------------------------------------------\r
826      * |Bits    |Field     |Descriptions\r
827      * | :----: | :----:   | :---- |\r
828      * |[31:0]  |DATIN     |TDES/DES Engine Input Port\r
829      * |        |          |CPU feeds data to TDES/DES engine through this port by checking CRPT_TDES_STS\r
830      * |        |          |Feed data as INBUFFULL is 0.\r
831      * @var CRPT_T::TDES_DATOUT\r
832      * Offset: 0x238  TDES/DES Engine Output data Word Register\r
833      * ---------------------------------------------------------------------------------------------------\r
834      * |Bits    |Field     |Descriptions\r
835      * | :----: | :----:   | :---- |\r
836      * |[31:0]  |DATOUT    |TDES/DES Engine Output Port\r
837      * |        |          |CPU gets result from the TDES/DES engine through this port by checking CRPT_TDES_STS\r
838      * |        |          |Get data as OUTBUFEMPTY is 0.\r
839      * @var CRPT_T::TDES1_KEY1H\r
840      * Offset: 0x248  TDES/DES Key 1 High Word Register for Channel 1\r
841      * ---------------------------------------------------------------------------------------------------\r
842      * |Bits    |Field     |Descriptions\r
843      * | :----: | :----:   | :---- |\r
844      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
845      * |        |          |The key registers for TDES/DES algorithm calculation\r
846      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
847      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
848      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
849      * @var CRPT_T::TDES1_KEY1L\r
850      * Offset: 0x24C  TDES/DES Key 1 Low Word Register for Channel 1\r
851      * ---------------------------------------------------------------------------------------------------\r
852      * |Bits    |Field     |Descriptions\r
853      * | :----: | :----:   | :---- |\r
854      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
855      * |        |          |The key registers for TDES/DES algorithm calculation\r
856      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
857      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
858      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
859      * @var CRPT_T::TDES1_KEY2H\r
860      * Offset: 0x250  TDES Key 2 High Word Register for Channel 1\r
861      * ---------------------------------------------------------------------------------------------------\r
862      * |Bits    |Field     |Descriptions\r
863      * | :----: | :----:   | :---- |\r
864      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
865      * |        |          |The key registers for TDES/DES algorithm calculation\r
866      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
867      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
868      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
869      * @var CRPT_T::TDES1_KEY2L\r
870      * Offset: 0x254  TDES Key 2 Low Word Register for Channel 1\r
871      * ---------------------------------------------------------------------------------------------------\r
872      * |Bits    |Field     |Descriptions\r
873      * | :----: | :----:   | :---- |\r
874      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
875      * |        |          |The key registers for TDES/DES algorithm calculation\r
876      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
877      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
878      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
879      * @var CRPT_T::TDES1_KEY3H\r
880      * Offset: 0x258  TDES Key 3 High Word Register for Channel 1\r
881      * ---------------------------------------------------------------------------------------------------\r
882      * |Bits    |Field     |Descriptions\r
883      * | :----: | :----:   | :---- |\r
884      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
885      * |        |          |The key registers for TDES/DES algorithm calculation\r
886      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
887      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
888      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
889      * @var CRPT_T::TDES1_KEY3L\r
890      * Offset: 0x25C  TDES Key 3 Low Word Register for Channel 1\r
891      * ---------------------------------------------------------------------------------------------------\r
892      * |Bits    |Field     |Descriptions\r
893      * | :----: | :----:   | :---- |\r
894      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
895      * |        |          |The key registers for TDES/DES algorithm calculation\r
896      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
897      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
898      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
899      * @var CRPT_T::TDES1_IVH\r
900      * Offset: 0x260  TDES/DES Initial Vector High Word Register for Channel 1\r
901      * ---------------------------------------------------------------------------------------------------\r
902      * |Bits    |Field     |Descriptions\r
903      * | :----: | :----:   | :---- |\r
904      * |[31:0]  |IV        |TDES/DES Initial Vector High/Low Word\r
905      * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode\r
906      * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.\r
907      * @var CRPT_T::TDES1_IVL\r
908      * Offset: 0x264  TDES/DES Initial Vector Low Word Register for Channel 1\r
909      * ---------------------------------------------------------------------------------------------------\r
910      * |Bits    |Field     |Descriptions\r
911      * | :----: | :----:   | :---- |\r
912      * |[31:0]  |IV        |TDES/DES Initial Vector High/Low Word\r
913      * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode\r
914      * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.\r
915      * @var CRPT_T::TDES1_SADDR\r
916      * Offset: 0x268  TDES/DES DMA Source Address Register for Channel 1\r
917      * ---------------------------------------------------------------------------------------------------\r
918      * |Bits    |Field     |Descriptions\r
919      * | :----: | :----:   | :---- |\r
920      * |[31:0]  |SA        |TDES/DES DMA Source Address\r
921      * |        |          |The TDES/DES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO\r
922      * |        |          |The CRPT_TDESn_SA keeps the source address of the data buffer where the source text is stored\r
923      * |        |          |Based on the source address, the TDES/DES accelerator can read the plain text from system memory and do TDES/DES operation\r
924      * |        |          |The start of source address should be located at word boundary\r
925      * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_SA are ignored.\r
926      * |        |          |CRPT_TDESn_SA can be read and written\r
927      * |        |          |Writing to CRPT_TDESn_SA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation\r
928      * |        |          |But the value of CRPT_TDESn_SA will be updated later on\r
929      * |        |          |Consequently, software can prepare the DMA source address for the next TDES/DES operation.\r
930      * |        |          |In DMA mode, software can update the next CRPT_TDESn_SA before triggering START.\r
931      * |        |          |CRPT_TDESn_SA and CRPT_TDESn_DA can be the same in the value.\r
932      * @var CRPT_T::TDES1_DADDR\r
933      * Offset: 0x26C  TDES/DES DMA Destination Address Register for Channel 1\r
934      * ---------------------------------------------------------------------------------------------------\r
935      * |Bits    |Field     |Descriptions\r
936      * | :----: | :----:   | :---- |\r
937      * |[31:0]  |DA        |TDES/DES DMA Destination Address\r
938      * |        |          |The TDES/DES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO\r
939      * |        |          |The CRPT_TDESn_DA keeps the destination address of the data buffer where the engine output's text will be stored\r
940      * |        |          |Based on the destination address, the TDES/DES accelerator can write the cipher text back to system memory after the TDES/DES operation is finished\r
941      * |        |          |The start of destination address should be located at word boundary\r
942      * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_DA are ignored.\r
943      * |        |          |CRPT_TDESn_DA can be read and written\r
944      * |        |          |Writing to CRPT_TDESn_DA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation\r
945      * |        |          |But the value of CRPT_TDESn_DA will be updated later on\r
946      * |        |          |Consequently, software can prepare the destination address for the next TDES/DES operation.\r
947      * |        |          |In DMA mode, software can update the next CRPT_TDESn_DA before triggering START.\r
948      * |        |          |CRPT_TDESn_SAD and CRPT_TDESn_DA can be the same in the value.\r
949      * @var CRPT_T::TDES1_CNT\r
950      * Offset: 0x270  TDES/DES Byte Count Register for Channel 1\r
951      * ---------------------------------------------------------------------------------------------------\r
952      * |Bits    |Field     |Descriptions\r
953      * | :----: | :----:   | :---- |\r
954      * |[31:0]  |CNT       |TDES/DES Byte Count\r
955      * |        |          |The CRPT_TDESn_CNT keeps the byte count of source text that is for the TDES/DES engine operating in DMA mode\r
956      * |        |          |The CRPT_TDESn_CNT is 32-bit and the maximum of byte count is 4G bytes.\r
957      * |        |          |CRPT_TDESn_CNT can be read and written\r
958      * |        |          |Writing to CRPT_TDESn_CNT while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation\r
959      * |        |          |But the value of CRPT_TDESn_CNT will be updated later on\r
960      * |        |          |Consequently, software can prepare the byte count of data for the next TDES /DES operation.\r
961      * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_TDESn_CNT must be set as byte count for the last block of data before feeding in the last block of data.\r
962      * @var CRPT_T::TDES2_KEY1H\r
963      * Offset: 0x288  TDES/DES Key 1 High Word Register for Channel 2\r
964      * ---------------------------------------------------------------------------------------------------\r
965      * |Bits    |Field     |Descriptions\r
966      * | :----: | :----:   | :---- |\r
967      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
968      * |        |          |The key registers for TDES/DES algorithm calculation\r
969      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
970      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
971      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
972      * @var CRPT_T::TDES2_KEY1L\r
973      * Offset: 0x28C  TDES/DES Key 1 Low Word Register for Channel 2\r
974      * ---------------------------------------------------------------------------------------------------\r
975      * |Bits    |Field     |Descriptions\r
976      * | :----: | :----:   | :---- |\r
977      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
978      * |        |          |The key registers for TDES/DES algorithm calculation\r
979      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
980      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
981      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
982      * @var CRPT_T::TDES2_KEY2H\r
983      * Offset: 0x290  TDES Key 2 High Word Register for Channel 2\r
984      * ---------------------------------------------------------------------------------------------------\r
985      * |Bits    |Field     |Descriptions\r
986      * | :----: | :----:   | :---- |\r
987      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
988      * |        |          |The key registers for TDES/DES algorithm calculation\r
989      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
990      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
991      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
992      * @var CRPT_T::TDES2_KEY2L\r
993      * Offset: 0x294  TDES Key 2 Low Word Register for Channel 2\r
994      * ---------------------------------------------------------------------------------------------------\r
995      * |Bits    |Field     |Descriptions\r
996      * | :----: | :----:   | :---- |\r
997      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
998      * |        |          |The key registers for TDES/DES algorithm calculation\r
999      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
1000      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
1001      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
1002      * @var CRPT_T::TDES2_KEY3H\r
1003      * Offset: 0x298  TDES Key 3 High Word Register for Channel 2\r
1004      * ---------------------------------------------------------------------------------------------------\r
1005      * |Bits    |Field     |Descriptions\r
1006      * | :----: | :----:   | :---- |\r
1007      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
1008      * |        |          |The key registers for TDES/DES algorithm calculation\r
1009      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
1010      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
1011      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
1012      * @var CRPT_T::TDES2_KEY3L\r
1013      * Offset: 0x29C  TDES Key 3 Low Word Register for Channel 2\r
1014      * ---------------------------------------------------------------------------------------------------\r
1015      * |Bits    |Field     |Descriptions\r
1016      * | :----: | :----:   | :---- |\r
1017      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
1018      * |        |          |The key registers for TDES/DES algorithm calculation\r
1019      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
1020      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
1021      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
1022      * @var CRPT_T::TDES2_IVH\r
1023      * Offset: 0x2A0  TDES/DES Initial Vector High Word Register for Channel 2\r
1024      * ---------------------------------------------------------------------------------------------------\r
1025      * |Bits    |Field     |Descriptions\r
1026      * | :----: | :----:   | :---- |\r
1027      * |[31:0]  |IV        |TDES/DES Initial Vector High/Low Word\r
1028      * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode\r
1029      * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.\r
1030      * @var CRPT_T::TDES2_IVL\r
1031      * Offset: 0x2A4  TDES/DES Initial Vector Low Word Register for Channel 2\r
1032      * ---------------------------------------------------------------------------------------------------\r
1033      * |Bits    |Field     |Descriptions\r
1034      * | :----: | :----:   | :---- |\r
1035      * |[31:0]  |IV        |TDES/DES Initial Vector High/Low Word\r
1036      * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode\r
1037      * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.\r
1038      * @var CRPT_T::TDES2_SADDR\r
1039      * Offset: 0x2A8  TDES/DES DMA Source Address Register for Channel 2\r
1040      * ---------------------------------------------------------------------------------------------------\r
1041      * |Bits    |Field     |Descriptions\r
1042      * | :----: | :----:   | :---- |\r
1043      * |[31:0]  |SA        |TDES/DES DMA Source Address\r
1044      * |        |          |The TDES/DES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO\r
1045      * |        |          |The CRPT_TDESn_SA keeps the source address of the data buffer where the source text is stored\r
1046      * |        |          |Based on the source address, the TDES/DES accelerator can read the plain text from system memory and do TDES/DES operation\r
1047      * |        |          |The start of source address should be located at word boundary\r
1048      * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_SA are ignored.\r
1049      * |        |          |CRPT_TDESn_SA can be read and written\r
1050      * |        |          |Writing to CRPT_TDESn_SA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation\r
1051      * |        |          |But the value of CRPT_TDESn_SA will be updated later on\r
1052      * |        |          |Consequently, software can prepare the DMA source address for the next TDES/DES operation.\r
1053      * |        |          |In DMA mode, software can update the next CRPT_TDESn_SA before triggering START.\r
1054      * |        |          |CRPT_TDESn_SA and CRPT_TDESn_DA can be the same in the value.\r
1055      * @var CRPT_T::TDES2_DADDR\r
1056      * Offset: 0x2AC  TDES/DES DMA Destination Address Register for Channel 2\r
1057      * ---------------------------------------------------------------------------------------------------\r
1058      * |Bits    |Field     |Descriptions\r
1059      * | :----: | :----:   | :---- |\r
1060      * |[31:0]  |DA        |TDES/DES DMA Destination Address\r
1061      * |        |          |The TDES/DES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO\r
1062      * |        |          |The CRPT_TDESn_DA keeps the destination address of the data buffer where the engine output's text will be stored\r
1063      * |        |          |Based on the destination address, the TDES/DES accelerator can write the cipher text back to system memory after the TDES/DES operation is finished\r
1064      * |        |          |The start of destination address should be located at word boundary\r
1065      * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_DA are ignored.\r
1066      * |        |          |CRPT_TDESn_DA can be read and written\r
1067      * |        |          |Writing to CRPT_TDESn_DA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation\r
1068      * |        |          |But the value of CRPT_TDESn_DA will be updated later on\r
1069      * |        |          |Consequently, software can prepare the destination address for the next TDES/DES operation.\r
1070      * |        |          |In DMA mode, software can update the next CRPT_TDESn_DA before triggering START.\r
1071      * |        |          |CRPT_TDESn_SAD and CRPT_TDESn_DA can be the same in the value.\r
1072      * @var CRPT_T::TDES2_CNT\r
1073      * Offset: 0x2B0  TDES/DES Byte Count Register for Channel 2\r
1074      * ---------------------------------------------------------------------------------------------------\r
1075      * |Bits    |Field     |Descriptions\r
1076      * | :----: | :----:   | :---- |\r
1077      * |[31:0]  |CNT       |TDES/DES Byte Count\r
1078      * |        |          |The CRPT_TDESn_CNT keeps the byte count of source text that is for the TDES/DES engine operating in DMA mode\r
1079      * |        |          |The CRPT_TDESn_CNT is 32-bit and the maximum of byte count is 4G bytes.\r
1080      * |        |          |CRPT_TDESn_CNT can be read and written\r
1081      * |        |          |Writing to CRPT_TDESn_CNT while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation\r
1082      * |        |          |But the value of CRPT_TDESn_CNT will be updated later on\r
1083      * |        |          |Consequently, software can prepare the byte count of data for the next TDES /DES operation.\r
1084      * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_TDESn_CNT must be set as byte count for the last block of data before feeding in the last block of data.\r
1085      * @var CRPT_T::TDES3_KEY1H\r
1086      * Offset: 0x2C8  TDES/DES Key 1 High Word Register for Channel 3\r
1087      * ---------------------------------------------------------------------------------------------------\r
1088      * |Bits    |Field     |Descriptions\r
1089      * | :----: | :----:   | :---- |\r
1090      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
1091      * |        |          |The key registers for TDES/DES algorithm calculation\r
1092      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
1093      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
1094      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
1095      * @var CRPT_T::TDES3_KEY1L\r
1096      * Offset: 0x2CC  TDES/DES Key 1 Low Word Register for Channel 3\r
1097      * ---------------------------------------------------------------------------------------------------\r
1098      * |Bits    |Field     |Descriptions\r
1099      * | :----: | :----:   | :---- |\r
1100      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
1101      * |        |          |The key registers for TDES/DES algorithm calculation\r
1102      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
1103      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
1104      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
1105      * @var CRPT_T::TDES3_KEY2H\r
1106      * Offset: 0x2D0  TDES Key 2 High Word Register for Channel 3\r
1107      * ---------------------------------------------------------------------------------------------------\r
1108      * |Bits    |Field     |Descriptions\r
1109      * | :----: | :----:   | :---- |\r
1110      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
1111      * |        |          |The key registers for TDES/DES algorithm calculation\r
1112      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
1113      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
1114      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
1115      * @var CRPT_T::TDES3_KEY2L\r
1116      * Offset: 0x2D4  TDES Key 2 Low Word Register for Channel 3\r
1117      * ---------------------------------------------------------------------------------------------------\r
1118      * |Bits    |Field     |Descriptions\r
1119      * | :----: | :----:   | :---- |\r
1120      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
1121      * |        |          |The key registers for TDES/DES algorithm calculation\r
1122      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
1123      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
1124      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
1125      * @var CRPT_T::TDES3_KEY3H\r
1126      * Offset: 0x2D8  TDES Key 3 High Word Register for Channel 3\r
1127      * ---------------------------------------------------------------------------------------------------\r
1128      * |Bits    |Field     |Descriptions\r
1129      * | :----: | :----:   | :---- |\r
1130      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
1131      * |        |          |The key registers for TDES/DES algorithm calculation\r
1132      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
1133      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
1134      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
1135      * @var CRPT_T::TDES3_KEY3L\r
1136      * Offset: 0x2DC  TDES Key 3 Low Word Register for Channel 3\r
1137      * ---------------------------------------------------------------------------------------------------\r
1138      * |Bits    |Field     |Descriptions\r
1139      * | :----: | :----:   | :---- |\r
1140      * |[31:0]  |KEY       |TDES/DES Key High/Low Word\r
1141      * |        |          |The key registers for TDES/DES algorithm calculation\r
1142      * |        |          |The security key for the TDES/DES accelerator is 64 bits\r
1143      * |        |          |Thus, it needs two 32-bit registers to store a security key\r
1144      * |        |          |The register CRPT_TDESn_KEYxH is used to keep the bit [63:32] of security key for the TDES/DES operation, while the register CRPT_TDESn_KEYxL is used to keep the bit [31:0].\r
1145      * @var CRPT_T::TDES3_IVH\r
1146      * Offset: 0x2E0  TDES/DES Initial Vector High Word Register for Channel 3\r
1147      * ---------------------------------------------------------------------------------------------------\r
1148      * |Bits    |Field     |Descriptions\r
1149      * | :----: | :----:   | :---- |\r
1150      * |[31:0]  |IV        |TDES/DES Initial Vector High/Low Word\r
1151      * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode\r
1152      * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.\r
1153      * @var CRPT_T::TDES3_IVL\r
1154      * Offset: 0x2E4  TDES/DES Initial Vector Low Word Register for Channel 3\r
1155      * ---------------------------------------------------------------------------------------------------\r
1156      * |Bits    |Field     |Descriptions\r
1157      * | :----: | :----:   | :---- |\r
1158      * |[31:0]  |IV        |TDES/DES Initial Vector High/Low Word\r
1159      * |        |          |Initial vector (IV) is for TDES/DES engine in CBC, CFB, and OFB mode\r
1160      * |        |          |IV is Nonce counter for TDES/DES engine in CTR mode.\r
1161      * @var CRPT_T::TDES3_SADDR\r
1162      * Offset: 0x2E8  TDES/DES DMA Source Address Register for Channel 3\r
1163      * ---------------------------------------------------------------------------------------------------\r
1164      * |Bits    |Field     |Descriptions\r
1165      * | :----: | :----:   | :---- |\r
1166      * |[31:0]  |SA        |TDES/DES DMA Source Address\r
1167      * |        |          |The TDES/DES accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO\r
1168      * |        |          |The CRPT_TDESn_SA keeps the source address of the data buffer where the source text is stored\r
1169      * |        |          |Based on the source address, the TDES/DES accelerator can read the plain text from system memory and do TDES/DES operation\r
1170      * |        |          |The start of source address should be located at word boundary\r
1171      * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_SA are ignored.\r
1172      * |        |          |CRPT_TDESn_SA can be read and written\r
1173      * |        |          |Writing to CRPT_TDESn_SA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation\r
1174      * |        |          |But the value of CRPT_TDESn_SA will be updated later on\r
1175      * |        |          |Consequently, software can prepare the DMA source address for the next TDES/DES operation.\r
1176      * |        |          |In DMA mode, software can update the next CRPT_TDESn_SA before triggering START.\r
1177      * |        |          |CRPT_TDESn_SA and CRPT_TDESn_DA can be the same in the value.\r
1178      * @var CRPT_T::TDES3_DADDR\r
1179      * Offset: 0x2EC  TDES/DES DMA Destination Address Register for Channel 3\r
1180      * ---------------------------------------------------------------------------------------------------\r
1181      * |Bits    |Field     |Descriptions\r
1182      * | :----: | :----:   | :---- |\r
1183      * |[31:0]  |DA        |TDES/DES DMA Destination Address\r
1184      * |        |          |The TDES/DES accelerator supports DMA function to transfer the cipher text between system memory and embedded FIFO\r
1185      * |        |          |The CRPT_TDESn_DA keeps the destination address of the data buffer where the engine output's text will be stored\r
1186      * |        |          |Based on the destination address, the TDES/DES accelerator can write the cipher text back to system memory after the TDES/DES operation is finished\r
1187      * |        |          |The start of destination address should be located at word boundary\r
1188      * |        |          |In other words, bit 1 and 0 of CRPT_TDESn_DA are ignored.\r
1189      * |        |          |CRPT_TDESn_DA can be read and written\r
1190      * |        |          |Writing to CRPT_TDESn_DA while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation\r
1191      * |        |          |But the value of CRPT_TDESn_DA will be updated later on\r
1192      * |        |          |Consequently, software can prepare the destination address for the next TDES/DES operation.\r
1193      * |        |          |In DMA mode, software can update the next CRPT_TDESn_DA before triggering START.\r
1194      * |        |          |CRPT_TDESn_SAD and CRPT_TDESn_DA can be the same in the value.\r
1195      * @var CRPT_T::TDES3_CNT\r
1196      * Offset: 0x2F0  TDES/DES Byte Count Register for Channel 3\r
1197      * ---------------------------------------------------------------------------------------------------\r
1198      * |Bits    |Field     |Descriptions\r
1199      * | :----: | :----:   | :---- |\r
1200      * |[31:0]  |CNT       |TDES/DES Byte Count\r
1201      * |        |          |The CRPT_TDESn_CNT keeps the byte count of source text that is for the TDES/DES engine operating in DMA mode\r
1202      * |        |          |The CRPT_TDESn_CNT is 32-bit and the maximum of byte count is 4G bytes.\r
1203      * |        |          |CRPT_TDESn_CNT can be read and written\r
1204      * |        |          |Writing to CRPT_TDESn_CNT while the TDES/DES accelerator is operating doesn't affect the current TDES/DES operation\r
1205      * |        |          |But the value of CRPT_TDESn_CNT will be updated later on\r
1206      * |        |          |Consequently, software can prepare the byte count of data for the next TDES /DES operation.\r
1207      * |        |          |In Non-DMA ECB, CBC, CFB, OFB, and CTR mode, CRPT_TDESn_CNT must be set as byte count for the last block of data before feeding in the last block of data.\r
1208      * @var CRPT_T::HMAC_CTL\r
1209      * Offset: 0x300  SHA/HMAC Control Register\r
1210      * ---------------------------------------------------------------------------------------------------\r
1211      * |Bits    |Field     |Descriptions\r
1212      * | :----: | :----:   | :---- |\r
1213      * |[0]     |START     |SHA/HMAC Engine Start\r
1214      * |        |          |0 = No effect.\r
1215      * |        |          |1 = Start SHA/HMAC engine. BUSY flag will be set.\r
1216      * |        |          |This bit is always 0 when it's read back.\r
1217      * |[1]     |STOP      |SHA/HMAC Engine Stop\r
1218      * |        |          |0 = No effect.\r
1219      * |        |          |1 = Stop SHA/HMAC engine.\r
1220      * |        |          |This bit is always 0 when it's read back.\r
1221      * |[5]     |DMALAST   |SHA/HMAC Last Block\r
1222      * |        |          |This bit must be set as feeding in last byte of data.\r
1223      * |[7]     |DMAEN     |SHA/HMAC Engine DMA Enable Control\r
1224      * |        |          |0 = SHA/HMAC DMA engine Disabled.\r
1225      * |        |          |SHA/HMAC engine operates in Non-DMA mode, and gets data from the port CRPT_HMAC_DATIN.\r
1226      * |        |          |1 = SHA/HMAC DMA engine Enabled.\r
1227      * |        |          |SHA/HMAC engine operates in DMA mode, and data movement from/to the engine is done by DMA logic.\r
1228      * |[10:8]  |OPMODE    |SHA/HMAC Engine Operation Modes\r
1229      * |        |          |0x0xx: SHA160\r
1230      * |        |          |0x100: SHA256\r
1231      * |        |          |0x101: SHA224\r
1232      * |        |          |0x110: SHA512\r
1233      * |        |          |0x111: SHA384\r
1234      * |        |          |These bits can be read and written. But writing to them wouldn't take effect as BUSY is 1.\r
1235      * |[22]    |OUTSWAP   |SHA/HMAC Engine Output Data Swap\r
1236      * |        |          |0 = Keep the original order.\r
1237      * |        |          |1 = The order that CPU feeds data to the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.\r
1238      * |[23]    |INSWAP    |SHA/HMAC Engine Input Data Swap\r
1239      * |        |          |0 = Keep the original order.\r
1240      * |        |          |1 = The order that CPU feeds data to the accelerator will be changed from {byte3, byte2, byte1, byte0} to {byte0, byte1, byte2, byte3}.\r
1241      * @var CRPT_T::HMAC_STS\r
1242      * Offset: 0x304  SHA/HMAC Status Flag\r
1243      * ---------------------------------------------------------------------------------------------------\r
1244      * |Bits    |Field     |Descriptions\r
1245      * | :----: | :----:   | :---- |\r
1246      * |[0]     |BUSY      |SHA/HMAC Engine Busy\r
1247      * |        |          |0 = SHA/HMAC engine is idle or finished.\r
1248      * |        |          |1 = SHA/HMAC engine is busy.\r
1249      * |[1]     |DMABUSY   |SHA/HMAC Engine DMA Busy Flag\r
1250      * |        |          |0 = SHA/HMAC DMA engine is idle or finished.\r
1251      * |        |          |1 = SHA/HMAC DMA engine is busy.\r
1252      * |[8]     |DMAERR    |SHA/HMAC Engine DMA Error Flag\r
1253      * |        |          |0 = Show the SHA/HMAC engine access normal.\r
1254      * |        |          |1 = Show the SHA/HMAC engine access error.\r
1255      * |[16]    |DATINREQ  |SHA/HMAC Non-DMA Mode Data Input Request\r
1256      * |        |          |0 = No effect.\r
1257      * |        |          |1 = Request SHA/HMAC Non-DMA mode data input.\r
1258      * @var CRPT_T::HMAC_DGST[16]\r
1259      * Offset: 0x308~0x344  SHA/HMAC Digest Message 0~15\r
1260      * ---------------------------------------------------------------------------------------------------\r
1261      * |Bits    |Field     |Descriptions\r
1262      * | :----: | :----:   | :---- |\r
1263      * |[31:0]  |DGST      |SHA/HMAC Digest Message Output Register\r
1264      * |        |          |For SHA-160, the digest is stored in CRPT_HMAC_DGST0 ~ CRPT_HMAC_DGST4.\r
1265      * |        |          |For SHA-224, the digest is stored in CRPT_HMAC_DGST0 ~ CRPT_HMAC_DGST6.\r
1266      * |        |          |For SHA-256, the digest is stored in CRPT_HMAC_DGST0 ~ CRPT_HMAC_DGST7.\r
1267      * |        |          |For SHA-384, the digest is stored in CRPT_HMAC_DGST0 ~ CRPT_HMAC_DGST11.\r
1268      * |        |          |For SHA-512, the digest is stored in CRPT_HMAC_DGST0 ~ CRPT_HMAC_DGST15.\r
1269      * @var CRPT_T::HMAC_KEYCNT\r
1270      * Offset: 0x348  SHA/HMAC Key Byte Count Register\r
1271      * ---------------------------------------------------------------------------------------------------\r
1272      * |Bits    |Field     |Descriptions\r
1273      * | :----: | :----:   | :---- |\r
1274      * |[31:0]  |KEYCNT    |SHA/HMAC Key Byte Count\r
1275      * |        |          |The CRPT_HMAC_KEYCNT keeps the byte count of key that SHA/HMAC engine operates\r
1276      * |        |          |The register is 32-bit and the maximum byte count is 4G bytes\r
1277      * |        |          |It can be read and written.\r
1278      * |        |          |Writing to the register CRPT_HMAC_KEYCNT as the SHA/HMAC accelerator operating doesn't affect the current SHA/HMAC operation\r
1279      * |        |          |But the value of CRPT_SHA _KEYCNT will be updated later on\r
1280      * |        |          |Consequently, software can prepare the key count for the next SHA/HMAC operation.\r
1281      * @var CRPT_T::HMAC_SADDR\r
1282      * Offset: 0x34C  SHA/HMAC DMA Source Address Register\r
1283      * ---------------------------------------------------------------------------------------------------\r
1284      * |Bits    |Field     |Descriptions\r
1285      * | :----: | :----:   | :---- |\r
1286      * |[31:0]  |SADDR     |SHA/HMAC DMA Source Address\r
1287      * |        |          |The SHA/HMAC accelerator supports DMA function to transfer the plain text between system memory and embedded FIFO\r
1288      * |        |          |The CRPT_HMAC_SADDR keeps the source address of the data buffer where the source text is stored\r
1289      * |        |          |Based on the source address, the SHA/HMAC accelerator can read the plain text from system memory and do SHA/HMAC operation\r
1290      * |        |          |The start of source address should be located at word boundary\r
1291      * |        |          |In other words, bit 1 and 0 of CRPT_HMAC_SADDR are ignored.\r
1292      * |        |          |CRPT_HMAC_SADDR can be read and written\r
1293      * |        |          |Writing to CRPT_HMAC_SADDR while the SHA/HMAC accelerator is operating doesn't affect the current SHA/HMAC operation\r
1294      * |        |          |But the value of CRPT_HMAC_SADDR will be updated later on\r
1295      * |        |          |Consequently, software can prepare the DMA source address for the next SHA/HMAC operation.\r
1296      * |        |          |In DMA mode, software can update the next CRPT_HMAC_SADDR before triggering START.\r
1297      * |        |          |CRPT_HMAC_SADDR and CRPT_HMAC_DADDR can be the same in the value.\r
1298      * @var CRPT_T::HMAC_DMACNT\r
1299      * Offset: 0x350  SHA/HMAC Byte Count Register\r
1300      * ---------------------------------------------------------------------------------------------------\r
1301      * |Bits    |Field     |Descriptions\r
1302      * | :----: | :----:   | :---- |\r
1303      * |[31:0]  |DMACNT    |SHA/HMAC Operation Byte Count\r
1304      * |        |          |The CRPT_HMAC_DMACNT keeps the byte count of source text that is for the SHA/HMAC engine operating in DMA mode\r
1305      * |        |          |The CRPT_HMAC_DMACNT is 32-bit and the maximum of byte count is 4G bytes.\r
1306      * |        |          |CRPT_HMAC_DMACNT can be read and written\r
1307      * |        |          |Writing to CRPT_HMAC_DMACNT while the SHA/HMAC accelerator is operating doesn't affect the current SHA/HMAC operation\r
1308      * |        |          |But the value of CRPT_HMAC_DMACNT will be updated later on\r
1309      * |        |          |Consequently, software can prepare the byte count of data for the next SHA/HMAC operation.\r
1310      * |        |          |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.\r
1311      * @var CRPT_T::HMAC_DATIN\r
1312      * Offset: 0x354  SHA/HMAC Engine Non-DMA Mode Data Input Port Register\r
1313      * ---------------------------------------------------------------------------------------------------\r
1314      * |Bits    |Field     |Descriptions\r
1315      * | :----: | :----:   | :---- |\r
1316      * |[31:0]  |DATIN     |SHA/HMAC Engine Input Port\r
1317      * |        |          |CPU feeds data to SHA/HMAC engine through this port by checking CRPT_HMAC_STS\r
1318      * |        |          |Feed data as DATINREQ is 1.\r
1319      * @var CRPT_T::ECC_CTL\r
1320      * Offset: 0x800  ECC Control Register\r
1321      * ---------------------------------------------------------------------------------------------------\r
1322      * |Bits    |Field     |Descriptions\r
1323      * | :----: | :----:   | :---- |\r
1324      * |[0]     |START     |ECC Accelerator Start\r
1325      * |        |          |0 = No effect.\r
1326      * |        |          |1 = Start ECC accelerator. BUSY flag will be set.\r
1327      * |        |          |This bit is always 0 when it's read back.\r
1328      * |        |          |ECC accelerator will ignore this START signal when BUSY flag is 1.\r
1329      * |[1]     |STOP      |ECC Accelerator Stop\r
1330      * |        |          |0 = No effect.\r
1331      * |        |          |1 = Abort ECC accelerator and make it into idle state.\r
1332      * |        |          |This bit is always 0 when it's read back.\r
1333      * |        |          |Remember to clear ECC interrupt flag after stopping ECC accelerator.\r
1334      * |[7]     |DMAEN     |ECC Accelerator DMA Enable Control\r
1335      * |        |          |0 = ECC DMA engine Disabled.\r
1336      * |        |          |1 = ECC DMA engine Enabled.\r
1337      * |        |          |Only when START and DMAEN are 1, ECC DMA engine will be active\r
1338      * |[8]     |FSEL      |Field Selection\r
1339      * |        |          |0 = Binary Field (GF(2m )).\r
1340      * |        |          |1 = Prime Field (GF(p)).\r
1341      * |[10:9]  |ECCOP     |Point Operation for BF and PF\r
1342      * |        |          |00 = Point multiplication :\r
1343      * |        |          |(POINTX1, POINTY1) = SCALARK * (POINTX1, POINTY1).\r
1344      * |        |          |01 = Modulus operation : choose by MODOP (CRPT_ECC_CTL[12:11]).\r
1345      * |        |          |10 = Point addition :\r
1346      * |        |          |(POINTX1, POINTY1) = (POINTX1, POINTY1) +.\r
1347      * |        |          |(POINTX2, POINTY2)\r
1348      * |        |          |11 = Point doubling :\r
1349      * |        |          |(POINTX1, POINTY1) = 2 * (POINTX1, POINTY1).\r
1350      * |        |          |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\r
1351      * |[12:11] |MODOP     |Modulus Operation for PF\r
1352      * |        |          |00 = Division :\r
1353      * |        |          |POINTX1 = (POINTY1 / POINTX1) % CURVEN.\r
1354      * |        |          |01 = Multiplication :\r
1355      * |        |          |POINTX1 = (POINTX1 * POINTY1) % CURVEN.\r
1356      * |        |          |10 = Addition :\r
1357      * |        |          |POINTX1 = (POINTX1 + POINTY1) % CURVEN.\r
1358      * |        |          |11 = Subtraction :\r
1359      * |        |          |POINTX1 = (POINTX1 - POINTY1) % CURVEN.\r
1360      * |        |          |MODOP is active only when ECCOP = 01.\r
1361      * |[16]    |LDP1      |The Control Signal of Register for the X and Y Coordinate of the First Point (POINTX1, POINTY1)\r
1362      * |        |          |0 = The register for POINTX1 and POINTY1 is not modified by DMA or user.\r
1363      * |        |          |1 = The register for POINTX1 and POINTY1 is modified by DMA or user.\r
1364      * |[17]    |LDP2      |The Control Signal of Register for the X and Y Coordinate of the Second Point (POINTX2, POINTY2)\r
1365      * |        |          |0 = The register for POINTX2 and POINTY2 is not modified by DMA or user.\r
1366      * |        |          |1 = The register for POINTX2 and POINTY2 is modified by DMA or user.\r
1367      * |[18]    |LDA       |The Control Signal of Register for the Parameter CURVEA of Elliptic Curve\r
1368      * |        |          |0 = The register for CURVEA is not modified by DMA or user.\r
1369      * |        |          |1 = The register for CURVEA is modified by DMA or user.\r
1370      * |[19]    |LDB       |The Control Signal of Register for the Parameter CURVEB of Elliptic Curve\r
1371      * |        |          |0 = The register for CURVEB is not modified by DMA or user.\r
1372      * |        |          |1 = The register for CURVEB is modified by DMA or user.\r
1373      * |[20]    |LDN       |The Control Signal of Register for the Parameter CURVEN of Elliptic Curve\r
1374      * |        |          |0 = The register for CURVEN is not modified by DMA or user.\r
1375      * |        |          |1 = The register for CURVEN is modified by DMA or user.\r
1376      * |[21]    |LDK       |The Control Signal of Register for SCALARK\r
1377      * |        |          |0 = The register for SCALARK is not modified by DMA or user.\r
1378      * |        |          |1 = The register for SCALARK is modified by DMA or user.\r
1379      * |[31:22] |CURVEM    |The key length of elliptic curve.\r
1380      * @var CRPT_T::ECC_STS\r
1381      * Offset: 0x804  ECC Status Register\r
1382      * ---------------------------------------------------------------------------------------------------\r
1383      * |Bits    |Field     |Descriptions\r
1384      * | :----: | :----:   | :---- |\r
1385      * |[0]     |BUSY      |ECC Accelerator Busy Flag\r
1386      * |        |          |0 = The ECC accelerator is idle or finished.\r
1387      * |        |          |1 = The ECC accelerator is under processing and protects all registers.\r
1388      * |        |          |Remember to clear ECC interrupt flag after ECC accelerator finished\r
1389      * |[1]     |DMABUSY   |ECC DMA Busy Flag\r
1390      * |        |          |0 = ECC DMA is idle or finished.\r
1391      * |        |          |1 = ECC DMA is busy.\r
1392      * |[16]    |BUSERR    |ECC DMA Access Bus Error Flag\r
1393      * |        |          |0 = No error.\r
1394      * |        |          |1 = Bus error will stop DMA operation and ECC accelerator.\r
1395      * @var CRPT_T::ECC_X1[18]\r
1396      * Offset: 0x808~0x84C  ECC The X-coordinate word 0~17 of the first point\r
1397      * ---------------------------------------------------------------------------------------------------\r
1398      * |Bits    |Field     |Descriptions\r
1399      * | :----: | :----:   | :---- |\r
1400      * |[31:0]  |POINTX1   |ECC the x-coordinate Value of the First Point (POINTX1)\r
1401      * |        |          |For B-163 or K-163, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_05\r
1402      * |        |          |For B-233 or K-233, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_07\r
1403      * |        |          |For B-283 or K-283, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_08\r
1404      * |        |          |For B-409 or K-409, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_12\r
1405      * |        |          |For B-571 or K-571, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_17\r
1406      * |        |          |For P-192, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_05\r
1407      * |        |          |For P-224, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_06\r
1408      * |        |          |For P-256, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_07\r
1409      * |        |          |For P-384, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_11\r
1410      * |        |          |For P-521, POINTX1 is stored in CRPT_ECC_X1_00~CRPT_ECC_X1_16\r
1411      * @var CRPT_T::ECC_Y1[18]\r
1412      * Offset: 0x850~0x894  ECC The Y-coordinate word 0~17 of the first point\r
1413      * ---------------------------------------------------------------------------------------------------\r
1414      * |Bits    |Field     |Descriptions\r
1415      * | :----: | :----:   | :---- |\r
1416      * |[31:0]  |POINTY1   |ECC the Y-coordinate Value of the First Point (POINTY1)\r
1417      * |        |          |For B-163 or K-163, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_05\r
1418      * |        |          |For B-233 or K-233, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_07\r
1419      * |        |          |For B-283 or K-283, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_08\r
1420      * |        |          |For B-409 or K-409, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_12\r
1421      * |        |          |For B-571 or K-571, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_17\r
1422      * |        |          |For P-192, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_05\r
1423      * |        |          |For P-224, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_06\r
1424      * |        |          |For P-256, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_07\r
1425      * |        |          |For P-384, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_11\r
1426      * |        |          |For P-521, POINTY1 is stored in CRPT_ECC_Y1_00~CRPT_ECC_Y1_16\r
1427      * @var CRPT_T::ECC_X2[18]\r
1428      * Offset: 0x898~0x8DC  ECC The X-coordinate word 0~17 of the second point\r
1429      * ---------------------------------------------------------------------------------------------------\r
1430      * |Bits    |Field     |Descriptions\r
1431      * | :----: | :----:   | :---- |\r
1432      * |[31:0]  |POINTX2   |ECC the x-coordinate Value of the Second Point (POINTX2)\r
1433      * |        |          |For B-163 or K-163, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_05\r
1434      * |        |          |For B-233 or K-233, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_07\r
1435      * |        |          |For B-283 or K-283, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_08\r
1436      * |        |          |For B-409 or K-409, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_12\r
1437      * |        |          |For B-571 or K-571, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_17\r
1438      * |        |          |For P-192, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_05\r
1439      * |        |          |For P-224, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_06\r
1440      * |        |          |For P-256, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_07\r
1441      * |        |          |For P-384, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_11\r
1442      * |        |          |For P-521, POINTX2 is stored in CRPT_ECC_X2_00~CRPT_ECC_X2_16\r
1443      * @var CRPT_T::ECC_Y2[18]\r
1444      * Offset: 0x8E0~0x924  ECC The Y-coordinate word 0~17 of the second point\r
1445      * ---------------------------------------------------------------------------------------------------\r
1446      * |Bits    |Field     |Descriptions\r
1447      * | :----: | :----:   | :---- |\r
1448      * |[31:0]  |POINTY2   |ECC the Y-coordinate Value of the Second Point (POINTY2)\r
1449      * |        |          |For B-163 or K-163, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_05\r
1450      * |        |          |For B-233 or K-233, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_07\r
1451      * |        |          |For B-283 or K-283, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_08\r
1452      * |        |          |For B-409 or K-409, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_12\r
1453      * |        |          |For B-571 or K-571, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_17\r
1454      * |        |          |For P-192, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_05\r
1455      * |        |          |For P-224, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_06\r
1456      * |        |          |For P-256, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_07\r
1457      * |        |          |For P-384, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_11\r
1458      * |        |          |For P-521, POINTY2 is stored in CRPT_ECC_Y2_00~CRPT_ECC_Y2_16\r
1459      * @var CRPT_T::ECC_A[18]\r
1460      * Offset: 0x928~0x96C  ECC The parameter CURVEA word 0~17 of elliptic curve\r
1461      * ---------------------------------------------------------------------------------------------------\r
1462      * |Bits    |Field     |Descriptions\r
1463      * | :----: | :----:   | :---- |\r
1464      * |[31:0]  |CURVEA    |ECC the Parameter CURVEA Value of Elliptic Curve (CURVEA)\r
1465      * |        |          |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).\r
1466      * |        |          |For B-163 or K-163, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_05\r
1467      * |        |          |For B-233 or K-233, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_07\r
1468      * |        |          |For B-283 or K-283, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_08\r
1469      * |        |          |For B-409 or K-409, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_12\r
1470      * |        |          |For B-571 or K-571, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_17\r
1471      * |        |          |For P-192, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_05\r
1472      * |        |          |For P-224, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_06\r
1473      * |        |          |For P-256, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_07\r
1474      * |        |          |For P-384, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_11\r
1475      * |        |          |For P-521, CURVEA is stored in CRPT_ECC_A_00~CRPT_ECC_A_16\r
1476      * @var CRPT_T::ECC_B[18]\r
1477      * Offset: 0x970~0x9B4  ECC The parameter CURVEB word 0~17 of elliptic curve\r
1478      * ---------------------------------------------------------------------------------------------------\r
1479      * |Bits    |Field     |Descriptions\r
1480      * | :----: | :----:   | :---- |\r
1481      * |[31:0]  |CURVEB    |ECC the Parameter CURVEB Value of Elliptic Curve (CURVEA)\r
1482      * |        |          |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).\r
1483      * |        |          |For B-163 or K-163, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_05\r
1484      * |        |          |For B-233 or K-233, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_07\r
1485      * |        |          |For B-283 or K-283, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_08\r
1486      * |        |          |For B-409 or K-409, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_12\r
1487      * |        |          |For B-521 or K-521, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_17\r
1488      * |        |          |For P-192, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_05\r
1489      * |        |          |For P-224, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_06\r
1490      * |        |          |For P-256, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_07\r
1491      * |        |          |For P-384, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_11\r
1492      * |        |          |For P-521, CURVEB is stored in CRPT_ECC_B_00~CRPT_ECC_B_16\r
1493      * @var CRPT_T::ECC_N[18]\r
1494      * Offset: 0x9B8~0x9FC  ECC The parameter CURVEN word 0~17 of elliptic curve\r
1495      * ---------------------------------------------------------------------------------------------------\r
1496      * |Bits    |Field     |Descriptions\r
1497      * | :----: | :----:   | :---- |\r
1498      * |[31:0]  |CURVEN    |ECC the Parameter CURVEN Value of Elliptic Curve (CURVEN)\r
1499      * |        |          |In GF(p), CURVEN is the prime p.\r
1500      * |        |          |In GF(2m), CURVEN is the irreducible polynomial.\r
1501      * |        |          |For B-163 or K-163, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_05\r
1502      * |        |          |For B-233 or K-233, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_07\r
1503      * |        |          |For B-283 or K-283, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_08\r
1504      * |        |          |For B-409 or K-409, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_12\r
1505      * |        |          |For B-571 or K-571, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_17\r
1506      * |        |          |For P-192, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_05\r
1507      * |        |          |For P-224, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_06\r
1508      * |        |          |For P-256, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_07\r
1509      * |        |          |For P-384, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_11\r
1510      * |        |          |For P-521, CURVEN is stored in CRPT_ECC_N_00~CRPT_ECC_N_16\r
1511      * @var CRPT_T::ECC_K[18]\r
1512      * Offset: 0xA00~0xA44  ECC The scalar SCALARK word 0~17 of point multiplication\r
1513      * ---------------------------------------------------------------------------------------------------\r
1514      * |Bits    |Field     |Descriptions\r
1515      * | :----: | :----:   | :---- |\r
1516      * |[31:0]  |SCALARK   |ECC the Scalar SCALARK Value of Point Multiplication(SCALARK)\r
1517      * |        |          |Because the SCALARK usually stores the private key, ECC accelerator do not allow to read the register SCALARK.\r
1518      * |        |          |For B-163 or K-163, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_05\r
1519      * |        |          |For B-233 or K-233, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_07\r
1520      * |        |          |For B-283 or K-283, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_08\r
1521      * |        |          |For B-409 or K-409, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_12\r
1522      * |        |          |For B-571 or K-571, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_17\r
1523      * |        |          |For P-192, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_05\r
1524      * |        |          |For P-224, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_06\r
1525      * |        |          |For P-256, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_07\r
1526      * |        |          |For P-384, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_11\r
1527      * |        |          |For P-521, SCALARK is stored in CRPT_ECC_K_00~CRPT_ECC_K_16\r
1528      * @var CRPT_T::ECC_SADDR\r
1529      * Offset: 0xA48  ECC DMA Source Address Register\r
1530      * ---------------------------------------------------------------------------------------------------\r
1531      * |Bits    |Field     |Descriptions\r
1532      * | :----: | :----:   | :---- |\r
1533      * @var CRPT_T::ECC_DADDR\r
1534      * Offset: 0xA4C  ECC DMA Destination Address Register\r
1535      * ---------------------------------------------------------------------------------------------------\r
1536      * |Bits    |Field     |Descriptions\r
1537      * | :----: | :----:   | :---- |\r
1538      * |[31:0]  |DADDR     |ECC DMA Destination Address\r
1539      * |        |          |The ECC accelerator supports DMA function to transfer the DATA and PARAMETER between system memory and ECC accelerator\r
1540      * |        |          |The DADDR keeps the destination address of the data buffer where output data of ECC engine will be stored\r
1541      * |        |          |Based on the destination address, the ECC accelerator can write the result data back to system memory after the ECC operation is finished\r
1542      * |        |          |The start of destination address should be located at word boundary\r
1543      * |        |          |That is, bit 1 and 0 of DADDR are ignored\r
1544      * |        |          |DADDR can be read and written\r
1545      * |        |          |In DMA mode, software must update the CRPT_ECC_DADDR before triggering START\r
1546      * @var CRPT_T::ECC_STARTREG\r
1547      * Offset: 0xA50  ECC Starting Address of Updated Registers\r
1548      * ---------------------------------------------------------------------------------------------------\r
1549      * |Bits    |Field     |Descriptions\r
1550      * | :----: | :----:   | :---- |\r
1551      * |[31:0]  |STARTREG  |ECC Starting Address of Updated Registers\r
1552      * |        |          |The address of the updated registers that DMA feeds the first data or parameter to ECC engine\r
1553      * |        |          |When ECC engine is active, ECC accelerator does not allow users to modify STARTREG\r
1554      * |        |          |For example, we want to updated input data from register CRPT_ECC POINTX1\r
1555      * |        |          |Thus, the value of STARTREG is 0x808.\r
1556      * @var CRPT_T::ECC_WORDCNT\r
1557      * Offset: 0xA54  ECC DMA Word Count\r
1558      * ---------------------------------------------------------------------------------------------------\r
1559      * |Bits    |Field     |Descriptions\r
1560      * | :----: | :----:   | :---- |\r
1561      * |[31:0]  |WORDCNT   |ECC DMA Word Count\r
1562      * |        |          |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\r
1563      * |        |          |Although CRPT_ECC_WORDCNT is 32-bit, the maximum of word count in ECC accelerator is 144 words\r
1564      * |        |          |CRPT_ECC_WORDCNT can be read and written\r
1565      */\r
1566     __IO uint32_t INTEN;                 /*!< [0x0000] Crypto Interrupt Enable Control Register                         */\r
1567     __IO uint32_t INTSTS;                /*!< [0x0004] Crypto Interrupt Flag                                            */\r
1568     __IO uint32_t PRNG_CTL;              /*!< [0x0008] PRNG Control Register                                            */\r
1569     __O  uint32_t PRNG_SEED;             /*!< [0x000c] Seed for PRNG                                                    */\r
1570     __I  uint32_t PRNG_KEY[8];           /*!< [0x0010] ~ [0x002c] PRNG Generated Key0 ~ Key7                            */\r
1571     __I  uint32_t RESERVE0[8];\r
1572     __I  uint32_t AES_FDBCK[4];          /*!< [0x0050] ~ [0x005c] AES Engine Output Feedback Data after Cryptographic Operation    */\r
1573     __I  uint32_t TDES_FDBCKH;           /*!< [0x0060] TDES/DES Engine Output Feedback High Word Data after Cryptographic Operation */\r
1574     __I  uint32_t TDES_FDBCKL;           /*!< [0x0064] TDES/DES Engine Output Feedback Low Word Data after Cryptographic Operation */\r
1575     __I  uint32_t RESERVE1[38];\r
1576     __IO uint32_t AES_CTL;               /*!< [0x0100] AES Control Register                                             */\r
1577     __I  uint32_t AES_STS;               /*!< [0x0104] AES Engine Flag                                                  */\r
1578     __IO uint32_t AES_DATIN;             /*!< [0x0108] AES Engine Data Input Port Register                              */\r
1579     __I  uint32_t AES_DATOUT;            /*!< [0x010c] AES Engine Data Output Port Register                             */\r
1580     __IO uint32_t AES0_KEY[8];           /*!< [0x0110] ~ [0x012c] AES Key Word 0~7 Register for Channel 0               */\r
1581     __IO uint32_t AES0_IV[4];            /*!< [0x0130] ~ [0x013c] AES Initial Vector Word 0 ~ 3 Register for Channel 0  */\r
1582     __IO uint32_t AES0_SADDR;            /*!< [0x0140] AES DMA Source Address Register for Channel 0                    */\r
1583     __IO uint32_t AES0_DADDR;            /*!< [0x0144] AES DMA Destination Address Register for Channel 0               */\r
1584     __IO uint32_t AES0_CNT;              /*!< [0x0148] AES Byte Count Register for Channel 0                            */\r
1585     __IO uint32_t AES1_KEY[8];           /*!< [0x014c] ~ [0x0168] AES Key Word 0~7 Register for Channel 1               */\r
1586     __IO uint32_t AES1_IV[4];            /*!< [0x016c] ~ [0x0178] AES Initial Vector Word 0~3 Register for Channel 1    */\r
1587     __IO uint32_t AES1_SADDR;            /*!< [0x017c] AES DMA Source Address Register for Channel 1                    */\r
1588     __IO uint32_t AES1_DADDR;            /*!< [0x0180] AES DMA Destination Address Register for Channel 1               */\r
1589     __IO uint32_t AES1_CNT;              /*!< [0x0184] AES Byte Count Register for Channel 1                            */\r
1590     __IO uint32_t AES2_KEY[8];           /*!< [0x0188] ~ [0x01a4] AES Key Word 0~7 Register for Channel 2               */\r
1591     __IO uint32_t AES2_IV[4];            /*!< [0x01a8] ~ [0x01b4] AES Initial Vector Word 0~3 Register for Channel 2    */\r
1592     __IO uint32_t AES2_SADDR;            /*!< [0x01b8] AES DMA Source Address Register for Channel 2                    */\r
1593     __IO uint32_t AES2_DADDR;            /*!< [0x01bc] AES DMA Destination Address Register for Channel 2               */\r
1594     __IO uint32_t AES2_CNT;              /*!< [0x01c0] AES Byte Count Register for Channel 2                            */\r
1595     __IO uint32_t AES3_KEY[8];           /*!< [0x01c4] ~ [0x01e0] AES Key Word 0~7 Register for Channel 3               */\r
1596     __IO uint32_t AES3_IV[4];            /*!< [0x01e4] ~ [0x01f0] AES Initial Vector Word 0~3 Register for Channel 3    */\r
1597     __IO uint32_t AES3_SADDR;            /*!< [0x01f4] AES DMA Source Address Register for Channel 3                    */\r
1598     __IO uint32_t AES3_DADDR;            /*!< [0x01f8] AES DMA Destination Address Register for Channel 3               */\r
1599     __IO uint32_t AES3_CNT;              /*!< [0x01fc] AES Byte Count Register for Channel 3                            */\r
1600     __IO uint32_t TDES_CTL;              /*!< [0x0200] TDES/DES Control Register                                        */\r
1601     __I  uint32_t TDES_STS;              /*!< [0x0204] TDES/DES Engine Flag                                             */\r
1602     __IO uint32_t TDES0_KEY1H;           /*!< [0x0208] TDES/DES Key 1 High Word Register for Channel 0                  */\r
1603     __IO uint32_t TDES0_KEY1L;           /*!< [0x020c] TDES/DES Key 1 Low Word Register for Channel 0                   */\r
1604     __IO uint32_t TDES0_KEY2H;           /*!< [0x0210] TDES Key 2 High Word Register for Channel 0                      */\r
1605     __IO uint32_t TDES0_KEY2L;           /*!< [0x0214] TDES Key 2 Low Word Register for Channel 0                       */\r
1606     __IO uint32_t TDES0_KEY3H;           /*!< [0x0218] TDES Key 3 High Word Register for Channel 0                      */\r
1607     __IO uint32_t TDES0_KEY3L;           /*!< [0x021c] TDES Key 3 Low Word Register for Channel 0                       */\r
1608     __IO uint32_t TDES0_IVH;             /*!< [0x0220] TDES/DES Initial Vector High Word Register for Channel 0         */\r
1609     __IO uint32_t TDES0_IVL;             /*!< [0x0224] TDES/DES Initial Vector Low Word Register for Channel 0          */\r
1610     __IO uint32_t TDES0_SADDR;           /*!< [0x0228] TDES/DES DMA Source Address Register for Channel 0               */\r
1611     __IO uint32_t TDES0_DADDR;              /*!< [0x022c] TDES/DES DMA Destination Address Register for Channel 0          */\r
1612     __IO uint32_t TDES0_CNT;             /*!< [0x0230] TDES/DES Byte Count Register for Channel 0                       */\r
1613     __IO uint32_t TDES_DATIN;            /*!< [0x0234] TDES/DES Engine Input data Word Register                         */\r
1614     __I  uint32_t TDES_DATOUT;           /*!< [0x0238] TDES/DES Engine Output data Word Register                        */\r
1615     __I  uint32_t RESERVE2[3];\r
1616     __IO uint32_t TDES1_KEY1H;           /*!< [0x0248] TDES/DES Key 1 High Word Register for Channel 1                  */\r
1617     __IO uint32_t TDES1_KEY1L;           /*!< [0x024c] TDES/DES Key 1 Low Word Register for Channel 1                   */\r
1618     __IO uint32_t TDES1_KEY2H;           /*!< [0x0250] TDES Key 2 High Word Register for Channel 1                      */\r
1619     __IO uint32_t TDES1_KEY2L;           /*!< [0x0254] TDES Key 2 Low Word Register for Channel 1                       */\r
1620     __IO uint32_t TDES1_KEY3H;           /*!< [0x0258] TDES Key 3 High Word Register for Channel 1                      */\r
1621     __IO uint32_t TDES1_KEY3L;           /*!< [0x025c] TDES Key 3 Low Word Register for Channel 1                       */\r
1622     __IO uint32_t TDES1_IVH;             /*!< [0x0260] TDES/DES Initial Vector High Word Register for Channel 1         */\r
1623     __IO uint32_t TDES1_IVL;             /*!< [0x0264] TDES/DES Initial Vector Low Word Register for Channel 1          */\r
1624     __IO uint32_t TDES1_SADDR;           /*!< [0x0268] TDES/DES DMA Source Address Register for Channel 1               */\r
1625     __IO uint32_t TDES1_DADDR;           /*!< [0x026c] TDES/DES DMA Destination Address Register for Channel 1          */\r
1626     __IO uint32_t TDES1_CNT;             /*!< [0x0270] TDES/DES Byte Count Register for Channel 1                       */\r
1627     __I  uint32_t RESERVE3[5];\r
1628     __IO uint32_t TDES2_KEY1H;           /*!< [0x0288] TDES/DES Key 1 High Word Register for Channel 2                  */\r
1629     __IO uint32_t TDES2_KEY1L;           /*!< [0x028c] TDES/DES Key 1 Low Word Register for Channel 2                   */\r
1630     __IO uint32_t TDES2_KEY2H;           /*!< [0x0290] TDES Key 2 High Word Register for Channel 2                      */\r
1631     __IO uint32_t TDES2_KEY2L;           /*!< [0x0294] TDES Key 2 Low Word Register for Channel 2                       */\r
1632     __IO uint32_t TDES2_KEY3H;           /*!< [0x0298] TDES Key 3 High Word Register for Channel 2                      */\r
1633     __IO uint32_t TDES2_KEY3L;           /*!< [0x029c] TDES Key 3 Low Word Register for Channel 2                       */\r
1634     __IO uint32_t TDES2_IVH;             /*!< [0x02a0] TDES/DES Initial Vector High Word Register for Channel 2         */\r
1635     __IO uint32_t TDES2_IVL;             /*!< [0x02a4] TDES/DES Initial Vector Low Word Register for Channel 2          */\r
1636     __IO uint32_t TDES2_SADDR;           /*!< [0x02a8] TDES/DES DMA Source Address Register for Channel 2               */\r
1637     __IO uint32_t TDES2_DADDR;           /*!< [0x02ac] TDES/DES DMA Destination Address Register for Channel 2          */\r
1638     __IO uint32_t TDES2_CNT;             /*!< [0x02b0] TDES/DES Byte Count Register for Channel 2                       */\r
1639     __I  uint32_t RESERVE4[5];\r
1640     __IO uint32_t TDES3_KEY1H;           /*!< [0x02c8] TDES/DES Key 1 High Word Register for Channel 3                  */\r
1641     __IO uint32_t TDES3_KEY1L;           /*!< [0x02cc] TDES/DES Key 1 Low Word Register for Channel 3                   */\r
1642     __IO uint32_t TDES3_KEY2H;           /*!< [0x02d0] TDES Key 2 High Word Register for Channel 3                      */\r
1643     __IO uint32_t TDES3_KEY2L;           /*!< [0x02d4] TDES Key 2 Low Word Register for Channel 3                       */\r
1644     __IO uint32_t TDES3_KEY3H;           /*!< [0x02d8] TDES Key 3 High Word Register for Channel 3                      */\r
1645     __IO uint32_t TDES3_KEY3L;           /*!< [0x02dc] TDES Key 3 Low Word Register for Channel 3                       */\r
1646     __IO uint32_t TDES3_IVH;             /*!< [0x02e0] TDES/DES Initial Vector High Word Register for Channel 3         */\r
1647     __IO uint32_t TDES3_IVL;             /*!< [0x02e4] TDES/DES Initial Vector Low Word Register for Channel 3          */\r
1648     __IO uint32_t TDES3_SADDR;           /*!< [0x02e8] TDES/DES DMA Source Address Register for Channel 3               */\r
1649     __IO uint32_t TDES3_DADDR;           /*!< [0x02ec] TDES/DES DMA Destination Address Register for Channel 3          */\r
1650     __IO uint32_t TDES3_CNT;             /*!< [0x02f0] TDES/DES Byte Count Register for Channel 3                       */\r
1651     __I  uint32_t RESERVE5[3];\r
1652     __IO uint32_t HMAC_CTL;              /*!< [0x0300] SHA/HMAC Control Register                                        */\r
1653     __I  uint32_t HMAC_STS;              /*!< [0x0304] SHA/HMAC Status Flag                                             */\r
1654     __I  uint32_t HMAC_DGST[16];         /*!< [0x0308] ~ [0x0344] SHA/HMAC Digest Message 0~15                          */\r
1655     __IO uint32_t HMAC_KEYCNT;           /*!< [0x0348] SHA/HMAC Key Byte Count Register                                 */\r
1656     __IO uint32_t HMAC_SADDR;            /*!< [0x034c] SHA/HMAC DMA Source Address Register                             */\r
1657     __IO uint32_t HMAC_DMACNT;           /*!< [0x0350] SHA/HMAC Byte Count Register                                     */\r
1658     __IO uint32_t HMAC_DATIN;            /*!< [0x0354] SHA/HMAC Engine Non-DMA Mode Data Input Port Register            */\r
1659     __I  uint32_t RESERVE6[298];\r
1660     __IO uint32_t ECC_CTL;               /*!< [0x0800] ECC Control Register                                             */\r
1661     __I  uint32_t ECC_STS;               /*!< [0x0804] ECC Status Register                                              */\r
1662     __IO uint32_t ECC_X1[18];            /*!< [0x0808] ~ [0x084c] ECC The X-coordinate word 0~17 of the first point     */\r
1663     __IO uint32_t ECC_Y1[18];            /*!< [0x0850] ~ [0x0894] ECC The Y-coordinate word 0~17 of the first point     */\r
1664     __IO uint32_t ECC_X2[18];            /*!< [0x0898] ~ [0x08dc] ECC The X-coordinate word 0~17 of the second point    */\r
1665     __IO uint32_t ECC_Y2[18];            /*!< [0x08e0] ~ [0x0924] ECC The Y-coordinate word 0~17 of the second point    */\r
1666     __IO uint32_t ECC_A[18];             /*!< [0x0928] ~ [0x096c] ECC The parameter CURVEA word 0~17 of elliptic curve  */\r
1667     __IO uint32_t ECC_B[18];             /*!< [0x0970] ~ [0x09b4] ECC The parameter CURVEB word 0~17 of elliptic curve  */\r
1668     __IO uint32_t ECC_N[18];             /*!< [0x09b8] ~ [0x09fc] ECC The parameter CURVEN word 0~17 of elliptic curve  */\r
1669     __O  uint32_t ECC_K[18];             /*!< [0x0a00] ~ [0x0a44] ECC The scalar SCALARK word 0~17 of point multiplication */\r
1670     __IO uint32_t ECC_SADDR;             /*!< [0x0a48] ECC DMA Source Address Register                                  */\r
1671     __IO uint32_t ECC_DADDR;             /*!< [0x0a4c] ECC DMA Destination Address Register                             */\r
1672     __IO uint32_t ECC_STARTREG;          /*!< [0x0a50] ECC Starting Address of Updated Registers                        */\r
1673     __IO uint32_t ECC_WORDCNT;           /*!< [0x0a54] ECC DMA Word Count                                               */\r
1674 \r
1675 } CRPT_T;\r
1676 \r
1677 /**\r
1678     @addtogroup CRPT_CONST CRPT Bit Field Definition\r
1679     Constant Definitions for CRPT Controller\r
1680 @{ */\r
1681 \r
1682 #define CRPT_INTEN_AESIEN_Pos            (0)                                               /*!< CRPT_T::INTEN: AESIEN Position         */\r
1683 #define CRPT_INTEN_AESIEN_Msk            (0x1ul << CRPT_INTEN_AESIEN_Pos)                  /*!< CRPT_T::INTEN: AESIEN Mask             */\r
1684 \r
1685 #define CRPT_INTEN_AESEIEN_Pos           (1)                                               /*!< CRPT_T::INTEN: AESEIEN Position        */\r
1686 #define CRPT_INTEN_AESEIEN_Msk           (0x1ul << CRPT_INTEN_AESEIEN_Pos)                 /*!< CRPT_T::INTEN: AESEIEN Mask            */\r
1687 \r
1688 #define CRPT_INTEN_TDESIEN_Pos           (8)                                               /*!< CRPT_T::INTEN: TDESIEN Position        */\r
1689 #define CRPT_INTEN_TDESIEN_Msk           (0x1ul << CRPT_INTEN_TDESIEN_Pos)                 /*!< CRPT_T::INTEN: TDESIEN Mask            */\r
1690 \r
1691 #define CRPT_INTEN_TDESEIEN_Pos          (9)                                               /*!< CRPT_T::INTEN: TDESEIEN Position       */\r
1692 #define CRPT_INTEN_TDESEIEN_Msk          (0x1ul << CRPT_INTEN_TDESEIEN_Pos)                /*!< CRPT_T::INTEN: TDESEIEN Mask           */\r
1693 \r
1694 #define CRPT_INTEN_PRNGIEN_Pos           (16)                                              /*!< CRPT_T::INTEN: PRNGIEN Position        */\r
1695 #define CRPT_INTEN_PRNGIEN_Msk           (0x1ul << CRPT_INTEN_PRNGIEN_Pos)                 /*!< CRPT_T::INTEN: PRNGIEN Mask            */\r
1696 \r
1697 #define CRPT_INTEN_ECCIEN_Pos            (22)                                              /*!< CRPT_T::INTEN: ECCIEN Position         */\r
1698 #define CRPT_INTEN_ECCIEN_Msk            (0x1ul << CRPT_INTEN_ECCIEN_Pos)                  /*!< CRPT_T::INTEN: ECCIEN Mask             */\r
1699 \r
1700 #define CRPT_INTEN_ECCEIEN_Pos           (23)                                              /*!< CRPT_T::INTEN: ECCEIEN Position        */\r
1701 #define CRPT_INTEN_ECCEIEN_Msk           (0x1ul << CRPT_INTEN_ECCEIEN_Pos)                 /*!< CRPT_T::INTEN: ECCEIEN Mask            */\r
1702 \r
1703 #define CRPT_INTEN_HMACIEN_Pos           (24)                                              /*!< CRPT_T::INTEN: HMACIEN Position        */\r
1704 #define CRPT_INTEN_HMACIEN_Msk           (0x1ul << CRPT_INTEN_HMACIEN_Pos)                 /*!< CRPT_T::INTEN: HMACIEN Mask            */\r
1705 \r
1706 #define CRPT_INTEN_HMACEIEN_Pos          (25)                                              /*!< CRPT_T::INTEN: HMACEIEN Position       */\r
1707 #define CRPT_INTEN_HMACEIEN_Msk          (0x1ul << CRPT_INTEN_HMACEIEN_Pos)                /*!< CRPT_T::INTEN: HMACEIEN Mask           */\r
1708 \r
1709 #define CRPT_INTSTS_AESIF_Pos            (0)                                               /*!< CRPT_T::INTSTS: AESIF Position         */\r
1710 #define CRPT_INTSTS_AESIF_Msk            (0x1ul << CRPT_INTSTS_AESIF_Pos)                  /*!< CRPT_T::INTSTS: AESIF Mask             */\r
1711 \r
1712 #define CRPT_INTSTS_AESEIF_Pos           (1)                                               /*!< CRPT_T::INTSTS: AESEIF Position        */\r
1713 #define CRPT_INTSTS_AESEIF_Msk           (0x1ul << CRPT_INTSTS_AESEIF_Pos)                 /*!< CRPT_T::INTSTS: AESEIF Mask            */\r
1714 \r
1715 #define CRPT_INTSTS_TDESIF_Pos           (8)                                               /*!< CRPT_T::INTSTS: TDESIF Position        */\r
1716 #define CRPT_INTSTS_TDESIF_Msk           (0x1ul << CRPT_INTSTS_TDESIF_Pos)                 /*!< CRPT_T::INTSTS: TDESIF Mask            */\r
1717 \r
1718 #define CRPT_INTSTS_TDESEIF_Pos          (9)                                               /*!< CRPT_T::INTSTS: TDESEIF Position       */\r
1719 #define CRPT_INTSTS_TDESEIF_Msk          (0x1ul << CRPT_INTSTS_TDESEIF_Pos)                /*!< CRPT_T::INTSTS: TDESEIF Mask           */\r
1720 \r
1721 #define CRPT_INTSTS_PRNGIF_Pos           (16)                                              /*!< CRPT_T::INTSTS: PRNGIF Position        */\r
1722 #define CRPT_INTSTS_PRNGIF_Msk           (0x1ul << CRPT_INTSTS_PRNGIF_Pos)                 /*!< CRPT_T::INTSTS: PRNGIF Mask            */\r
1723 \r
1724 #define CRPT_INTSTS_ECCIF_Pos            (22)                                              /*!< CRPT_T::INTSTS: ECCIF Position         */\r
1725 #define CRPT_INTSTS_ECCIF_Msk            (0x1ul << CRPT_INTSTS_ECCIF_Pos)                  /*!< CRPT_T::INTSTS: ECCIF Mask             */\r
1726 \r
1727 #define CRPT_INTSTS_ECCEIF_Pos           (23)                                              /*!< CRPT_T::INTSTS: ECCEIF Position        */\r
1728 #define CRPT_INTSTS_ECCEIF_Msk           (0x1ul << CRPT_INTSTS_ECCEIF_Pos)                 /*!< CRPT_T::INTSTS: ECCEIF Mask            */\r
1729 \r
1730 #define CRPT_INTSTS_HMACIF_Pos           (24)                                              /*!< CRPT_T::INTSTS: HMACIF Position        */\r
1731 #define CRPT_INTSTS_HMACIF_Msk           (0x1ul << CRPT_INTSTS_HMACIF_Pos)                 /*!< CRPT_T::INTSTS: HMACIF Mask            */\r
1732 \r
1733 #define CRPT_INTSTS_HMACEIF_Pos          (25)                                              /*!< CRPT_T::INTSTS: HMACEIF Position       */\r
1734 #define CRPT_INTSTS_HMACEIF_Msk          (0x1ul << CRPT_INTSTS_HMACEIF_Pos)                /*!< CRPT_T::INTSTS: HMACEIF Mask           */\r
1735 \r
1736 #define CRPT_PRNG_CTL_START_Pos          (0)                                               /*!< CRPT_T::PRNG_CTL: START Position       */\r
1737 #define CRPT_PRNG_CTL_START_Msk          (0x1ul << CRPT_PRNG_CTL_START_Pos)                /*!< CRPT_T::PRNG_CTL: START Mask           */\r
1738 \r
1739 #define CRPT_PRNG_CTL_SEEDRLD_Pos        (1)                                               /*!< CRPT_T::PRNG_CTL: SEEDRLD Position     */\r
1740 #define CRPT_PRNG_CTL_SEEDRLD_Msk        (0x1ul << CRPT_PRNG_CTL_SEEDRLD_Pos)              /*!< CRPT_T::PRNG_CTL: SEEDRLD Mask         */\r
1741 \r
1742 #define CRPT_PRNG_CTL_KEYSZ_Pos          (2)                                               /*!< CRPT_T::PRNG_CTL: KEYSZ Position       */\r
1743 #define CRPT_PRNG_CTL_KEYSZ_Msk          (0x3ul << CRPT_PRNG_CTL_KEYSZ_Pos)                /*!< CRPT_T::PRNG_CTL: KEYSZ Mask           */\r
1744 \r
1745 #define CRPT_PRNG_CTL_BUSY_Pos           (8)                                               /*!< CRPT_T::PRNG_CTL: BUSY Position        */\r
1746 #define CRPT_PRNG_CTL_BUSY_Msk           (0x1ul << CRPT_PRNG_CTL_BUSY_Pos)                 /*!< CRPT_T::PRNG_CTL: BUSY Mask            */\r
1747 \r
1748 #define CRPT_PRNG_SEED_SEED_Pos          (0)                                               /*!< CRPT_T::PRNG_SEED: SEED Position       */\r
1749 #define CRPT_PRNG_SEED_SEED_Msk          (0xfffffffful << CRPT_PRNG_SEED_SEED_Pos)         /*!< CRPT_T::PRNG_SEED: SEED Mask           */\r
1750 \r
1751 #define CRPT_PRNG_KEYx_KEY_Pos           (0)                                               /*!< CRPT_T::PRNG_KEY[8]: KEY Position        */\r
1752 #define CRPT_PRNG_KEYx_KEY_Msk           (0xfffffffful << CRPT_PRNG_KEYx_KEY_Pos)          /*!< CRPT_T::PRNG_KEY[8]: KEY Mask            */\r
1753 \r
1754 #define CRPT_AES_FDBCKx_FDBCK_Pos        (0)                                               /*!< CRPT_T::AES_FDBCK[4]: FDBCK Position     */\r
1755 #define CRPT_AES_FDBCKx_FDBCK_Msk        (0xfffffffful << CRPT_AES_FDBCKx_FDBCK_Pos)       /*!< CRPT_T::AES_FDBCK[4]: FDBCK Mask         */\r
1756 \r
1757 #define CRPT_TDES_FDBCKH_FDBCK_Pos       (0)                                               /*!< CRPT_T::TDES_FDBCKH: FDBCK Position    */\r
1758 #define CRPT_TDES_FDBCKH_FDBCK_Msk       (0xfffffffful << CRPT_TDES_FDBCKH_FDBCK_Pos)      /*!< CRPT_T::TDES_FDBCKH: FDBCK Mask        */\r
1759 \r
1760 #define CRPT_TDES_FDBCKL_FDBCK_Pos       (0)                                               /*!< CRPT_T::TDES_FDBCKL: FDBCK Position    */\r
1761 #define CRPT_TDES_FDBCKL_FDBCK_Msk       (0xfffffffful << CRPT_TDES_FDBCKL_FDBCK_Pos)      /*!< CRPT_T::TDES_FDBCKL: FDBCK Mask        */\r
1762 \r
1763 #define CRPT_AES_CTL_START_Pos           (0)                                               /*!< CRPT_T::AES_CTL: START Position        */\r
1764 #define CRPT_AES_CTL_START_Msk           (0x1ul << CRPT_AES_CTL_START_Pos)                 /*!< CRPT_T::AES_CTL: START Mask            */\r
1765 \r
1766 #define CRPT_AES_CTL_STOP_Pos            (1)                                               /*!< CRPT_T::AES_CTL: STOP Position         */\r
1767 #define CRPT_AES_CTL_STOP_Msk            (0x1ul << CRPT_AES_CTL_STOP_Pos)                  /*!< CRPT_T::AES_CTL: STOP Mask             */\r
1768 \r
1769 #define CRPT_AES_CTL_KEYSZ_Pos           (2)                                               /*!< CRPT_T::AES_CTL: KEYSZ Position        */\r
1770 #define CRPT_AES_CTL_KEYSZ_Msk           (0x3ul << CRPT_AES_CTL_KEYSZ_Pos)                 /*!< CRPT_T::AES_CTL: KEYSZ Mask            */\r
1771 \r
1772 #define CRPT_AES_CTL_DMALAST_Pos         (5)                                               /*!< CRPT_T::AES_CTL: DMALAST Position      */\r
1773 #define CRPT_AES_CTL_DMALAST_Msk         (0x1ul << CRPT_AES_CTL_DMALAST_Pos)               /*!< CRPT_T::AES_CTL: DMALAST Mask          */\r
1774 \r
1775 #define CRPT_AES_CTL_DMACSCAD_Pos        (6)                                               /*!< CRPT_T::AES_CTL: DMACSCAD Position     */\r
1776 #define CRPT_AES_CTL_DMACSCAD_Msk        (0x1ul << CRPT_AES_CTL_DMACSCAD_Pos)              /*!< CRPT_T::AES_CTL: DMACSCAD Mask         */\r
1777 \r
1778 #define CRPT_AES_CTL_DMAEN_Pos           (7)                                               /*!< CRPT_T::AES_CTL: DMAEN Position        */\r
1779 #define CRPT_AES_CTL_DMAEN_Msk           (0x1ul << CRPT_AES_CTL_DMAEN_Pos)                 /*!< CRPT_T::AES_CTL: DMAEN Mask            */\r
1780 \r
1781 #define CRPT_AES_CTL_OPMODE_Pos          (8)                                               /*!< CRPT_T::AES_CTL: OPMODE Position       */\r
1782 #define CRPT_AES_CTL_OPMODE_Msk          (0xfful << CRPT_AES_CTL_OPMODE_Pos)               /*!< CRPT_T::AES_CTL: OPMODE Mask           */\r
1783 \r
1784 #define CRPT_AES_CTL_ENCRPT_Pos          (16)                                              /*!< CRPT_T::AES_CTL: ENCRPT Position       */\r
1785 #define CRPT_AES_CTL_ENCRPT_Msk          (0x1ul << CRPT_AES_CTL_ENCRPT_Pos)                /*!< CRPT_T::AES_CTL: ENCRPT Mask           */\r
1786 \r
1787 #define CRPT_AES_CTL_OUTSWAP_Pos         (22)                                              /*!< CRPT_T::AES_CTL: OUTSWAP Position      */\r
1788 #define CRPT_AES_CTL_OUTSWAP_Msk         (0x1ul << CRPT_AES_CTL_OUTSWAP_Pos)               /*!< CRPT_T::AES_CTL: OUTSWAP Mask          */\r
1789 \r
1790 #define CRPT_AES_CTL_INSWAP_Pos          (23)                                              /*!< CRPT_T::AES_CTL: INSWAP Position       */\r
1791 #define CRPT_AES_CTL_INSWAP_Msk          (0x1ul << CRPT_AES_CTL_INSWAP_Pos)                /*!< CRPT_T::AES_CTL: INSWAP Mask           */\r
1792 \r
1793 #define CRPT_AES_CTL_CHANNEL_Pos         (24)                                              /*!< CRPT_T::AES_CTL: CHANNEL Position      */\r
1794 #define CRPT_AES_CTL_CHANNEL_Msk         (0x3ul << CRPT_AES_CTL_CHANNEL_Pos)               /*!< CRPT_T::AES_CTL: CHANNEL Mask          */\r
1795 \r
1796 #define CRPT_AES_CTL_KEYUNPRT_Pos        (26)                                              /*!< CRPT_T::AES_CTL: KEYUNPRT Position     */\r
1797 #define CRPT_AES_CTL_KEYUNPRT_Msk        (0x1ful << CRPT_AES_CTL_KEYUNPRT_Pos)             /*!< CRPT_T::AES_CTL: KEYUNPRT Mask         */\r
1798 \r
1799 #define CRPT_AES_CTL_KEYPRT_Pos          (31)                                              /*!< CRPT_T::AES_CTL: KEYPRT Position       */\r
1800 #define CRPT_AES_CTL_KEYPRT_Msk          (0x1ul << CRPT_AES_CTL_KEYPRT_Pos)                /*!< CRPT_T::AES_CTL: KEYPRT Mask           */\r
1801 \r
1802 #define CRPT_AES_STS_BUSY_Pos            (0)                                               /*!< CRPT_T::AES_STS: BUSY Position         */\r
1803 #define CRPT_AES_STS_BUSY_Msk            (0x1ul << CRPT_AES_STS_BUSY_Pos)                  /*!< CRPT_T::AES_STS: BUSY Mask             */\r
1804 \r
1805 #define CRPT_AES_STS_INBUFEMPTY_Pos      (8)                                               /*!< CRPT_T::AES_STS: INBUFEMPTY Position   */\r
1806 #define CRPT_AES_STS_INBUFEMPTY_Msk      (0x1ul << CRPT_AES_STS_INBUFEMPTY_Pos)            /*!< CRPT_T::AES_STS: INBUFEMPTY Mask       */\r
1807 \r
1808 #define CRPT_AES_STS_INBUFFULL_Pos       (9)                                               /*!< CRPT_T::AES_STS: INBUFFULL Position    */\r
1809 #define CRPT_AES_STS_INBUFFULL_Msk       (0x1ul << CRPT_AES_STS_INBUFFULL_Pos)             /*!< CRPT_T::AES_STS: INBUFFULL Mask        */\r
1810 \r
1811 #define CRPT_AES_STS_INBUFERR_Pos        (10)                                              /*!< CRPT_T::AES_STS: INBUFERR Position     */\r
1812 #define CRPT_AES_STS_INBUFERR_Msk        (0x1ul << CRPT_AES_STS_INBUFERR_Pos)              /*!< CRPT_T::AES_STS: INBUFERR Mask         */\r
1813 \r
1814 #define CRPT_AES_STS_CNTERR_Pos          (12)                                              /*!< CRPT_T::AES_STS: CNTERR Position       */\r
1815 #define CRPT_AES_STS_CNTERR_Msk          (0x1ul << CRPT_AES_STS_CNTERR_Pos)                /*!< CRPT_T::AES_STS: CNTERR Mask           */\r
1816 \r
1817 #define CRPT_AES_STS_OUTBUFEMPTY_Pos     (16)                                              /*!< CRPT_T::AES_STS: OUTBUFEMPTY Position  */\r
1818 #define CRPT_AES_STS_OUTBUFEMPTY_Msk     (0x1ul << CRPT_AES_STS_OUTBUFEMPTY_Pos)           /*!< CRPT_T::AES_STS: OUTBUFEMPTY Mask      */\r
1819 \r
1820 #define CRPT_AES_STS_OUTBUFFULL_Pos      (17)                                              /*!< CRPT_T::AES_STS: OUTBUFFULL Position   */\r
1821 #define CRPT_AES_STS_OUTBUFFULL_Msk      (0x1ul << CRPT_AES_STS_OUTBUFFULL_Pos)            /*!< CRPT_T::AES_STS: OUTBUFFULL Mask       */\r
1822 \r
1823 #define CRPT_AES_STS_OUTBUFERR_Pos       (18)                                              /*!< CRPT_T::AES_STS: OUTBUFERR Position    */\r
1824 #define CRPT_AES_STS_OUTBUFERR_Msk       (0x1ul << CRPT_AES_STS_OUTBUFERR_Pos)             /*!< CRPT_T::AES_STS: OUTBUFERR Mask        */\r
1825 \r
1826 #define CRPT_AES_STS_BUSERR_Pos          (20)                                              /*!< CRPT_T::AES_STS: BUSERR Position       */\r
1827 #define CRPT_AES_STS_BUSERR_Msk          (0x1ul << CRPT_AES_STS_BUSERR_Pos)                /*!< CRPT_T::AES_STS: BUSERR Mask           */\r
1828 \r
1829 #define CRPT_AES_DATIN_DATIN_Pos         (0)                                               /*!< CRPT_T::AES_DATIN: DATIN Position      */\r
1830 #define CRPT_AES_DATIN_DATIN_Msk         (0xfffffffful << CRPT_AES_DATIN_DATIN_Pos)        /*!< CRPT_T::AES_DATIN: DATIN Mask          */\r
1831 \r
1832 #define CRPT_AES_DATOUT_DATOUT_Pos       (0)                                               /*!< CRPT_T::AES_DATOUT: DATOUT Position    */\r
1833 #define CRPT_AES_DATOUT_DATOUT_Msk       (0xfffffffful << CRPT_AES_DATOUT_DATOUT_Pos)      /*!< CRPT_T::AES_DATOUT: DATOUT Mask        */\r
1834 \r
1835 #define CRPT_AES0_KEYx_KEY_Pos           (0)                                               /*!< CRPT_T::AES0_KEY[8]: KEY Position        */\r
1836 #define CRPT_AES0_KEYx_KEY_Msk           (0xfffffffful << CRPT_AES0_KEYx_KEY_Pos)          /*!< CRPT_T::AES0_KEY[8]: KEY Mask            */\r
1837 \r
1838 #define CRPT_AES0_IVx_IV_Pos             (0)                                               /*!< CRPT_T::AES0_IV[4]: IV Position          */\r
1839 #define CRPT_AES0_IVx_IV_Msk             (0xfffffffful << CRPT_AES0_IVx_IV_Pos)            /*!< CRPT_T::AES0_IV[4]: IV Mask              */\r
1840 \r
1841 #define CRPT_AES0_SADDR_SADDR_Pos        (0)                                               /*!< CRPT_T::AES0_SADDR: SADDR Position     */\r
1842 #define CRPT_AES0_SADDR_SADDR_Msk        (0xfffffffful << CRPT_AES0_SADDR_SADDR_Pos)       /*!< CRPT_T::AES0_SADDR: SADDR Mask         */\r
1843 \r
1844 #define CRPT_AES0_DADDR_DADDR_Pos        (0)                                               /*!< CRPT_T::AES0_DADDR: DADDR Position     */\r
1845 #define CRPT_AES0_DADDR_DADDR_Msk        (0xfffffffful << CRPT_AES0_DADDR_DADDR_Pos)       /*!< CRPT_T::AES0_DADDR: DADDR Mask         */\r
1846 \r
1847 #define CRPT_AES0_CNT_CNT_Pos            (0)                                               /*!< CRPT_T::AES0_CNT: CNT Position         */\r
1848 #define CRPT_AES0_CNT_CNT_Msk            (0xfffffffful << CRPT_AES0_CNT_CNT_Pos)           /*!< CRPT_T::AES0_CNT: CNT Mask             */\r
1849 \r
1850 #define CRPT_AES1_KEYx_KEY_Pos           (0)                                               /*!< CRPT_T::AES1_KEY[8]: KEY Position        */\r
1851 #define CRPT_AES1_KEYx_KEY_Msk           (0xfffffffful << CRPT_AES1_KEYx_KEY_Pos)          /*!< CRPT_T::AES1_KEY[8]: KEY Mask            */\r
1852 \r
1853 #define CRPT_AES1_IVx_IV_Pos             (0)                                               /*!< CRPT_T::AES1_IV[4]: IV Position          */\r
1854 #define CRPT_AES1_IVx_IV_Msk             (0xfffffffful << CRPT_AES1_IVx_IV_Pos)            /*!< CRPT_T::AES1_IV[4]: IV Mask              */\r
1855 \r
1856 #define CRPT_AES1_SADDR_SADDR_Pos        (0)                                               /*!< CRPT_T::AES1_SADDR: SADDR Position     */\r
1857 #define CRPT_AES1_SADDR_SADDR_Msk        (0xfffffffful << CRPT_AES1_SADDR_SADDR_Pos)       /*!< CRPT_T::AES1_SADDR: SADDR Mask         */\r
1858 \r
1859 #define CRPT_AES1_DADDR_DADDR_Pos        (0)                                               /*!< CRPT_T::AES1_DADDR: DADDR Position     */\r
1860 #define CRPT_AES1_DADDR_DADDR_Msk        (0xfffffffful << CRPT_AES1_DADDR_DADDR_Pos)       /*!< CRPT_T::AES1_DADDR: DADDR Mask         */\r
1861 \r
1862 #define CRPT_AES1_CNT_CNT_Pos            (0)                                               /*!< CRPT_T::AES1_CNT: CNT Position         */\r
1863 #define CRPT_AES1_CNT_CNT_Msk            (0xfffffffful << CRPT_AES1_CNT_CNT_Pos)           /*!< CRPT_T::AES1_CNT: CNT Mask             */\r
1864 \r
1865 #define CRPT_AES2_KEYx_KEY_Pos           (0)                                               /*!< CRPT_T::AES2_KEYx: KEY Position        */\r
1866 #define CRPT_AES2_KEYx_KEY_Msk           (0xfffffffful << CRPT_AES2_KEYx_KEY_Pos)          /*!< CRPT_T::AES2_KEYx: KEY Mask            */\r
1867 \r
1868 #define CRPT_AES2_IVx_IV_Pos             (0)                                               /*!< CRPT_T::AES2_IVx: IV Position          */\r
1869 #define CRPT_AES2_IVx_IV_Msk             (0xfffffffful << CRPT_AES2_IVx_IV_Pos)            /*!< CRPT_T::AES2_IVx: IV Mask              */\r
1870 \r
1871 #define CRPT_AES2_SADDR_SADDR_Pos        (0)                                               /*!< CRPT_T::AES2_SADDR: SADDR Position     */\r
1872 #define CRPT_AES2_SADDR_SADDR_Msk        (0xfffffffful << CRPT_AES2_SADDR_SADDR_Pos)       /*!< CRPT_T::AES2_SADDR: SADDR Mask         */\r
1873 \r
1874 #define CRPT_AES2_DADDR_DADDR_Pos        (0)                                               /*!< CRPT_T::AES2_DADDR: DADDR Position     */\r
1875 #define CRPT_AES2_DADDR_DADDR_Msk        (0xfffffffful << CRPT_AES2_DADDR_DADDR_Pos)       /*!< CRPT_T::AES2_DADDR: DADDR Mask         */\r
1876 \r
1877 #define CRPT_AES2_CNT_CNT_Pos            (0)                                               /*!< CRPT_T::AES2_CNT: CNT Position         */\r
1878 #define CRPT_AES2_CNT_CNT_Msk            (0xfffffffful << CRPT_AES2_CNT_CNT_Pos)           /*!< CRPT_T::AES2_CNT: CNT Mask             */\r
1879 \r
1880 #define CRPT_AES3_KEYx_KEY_Pos           (0)                                               /*!< CRPT_T::AES3_KEY[8]: KEY Position        */\r
1881 #define CRPT_AES3_KEYx_KEY_Msk           (0xfffffffful << CRPT_AES3_KEYx_KEY_Pos)          /*!< CRPT_T::AES3_KEY[8]: KEY Mask            */\r
1882 \r
1883 #define CRPT_AES3_IVx_IV_Pos             (0)                                               /*!< CRPT_T::AES3_IV[4]: IV Position          */\r
1884 #define CRPT_AES3_IVx_IV_Msk             (0xfffffffful << CRPT_AES3_IVx_IV_Pos)            /*!< CRPT_T::AES3_IV[4]: IV Mask              */\r
1885 \r
1886 #define CRPT_AES3_SADDR_SADDR_Pos        (0)                                               /*!< CRPT_T::AES3_SADDR: SADDR Position     */\r
1887 #define CRPT_AES3_SADDR_SADDR_Msk        (0xfffffffful << CRPT_AES3_SADDR_SADDR_Pos)       /*!< CRPT_T::AES3_SADDR: SADDR Mask         */\r
1888 \r
1889 #define CRPT_AES3_DADDR_DADDR_Pos        (0)                                               /*!< CRPT_T::AES3_DADDR: DADDR Position     */\r
1890 #define CRPT_AES3_DADDR_DADDR_Msk        (0xfffffffful << CRPT_AES3_DADDR_DADDR_Pos)       /*!< CRPT_T::AES3_DADDR: DADDR Mask         */\r
1891 \r
1892 #define CRPT_AES3_CNT_CNT_Pos            (0)                                               /*!< CRPT_T::AES3_CNT: CNT Position         */\r
1893 #define CRPT_AES3_CNT_CNT_Msk            (0xfffffffful << CRPT_AES3_CNT_CNT_Pos)           /*!< CRPT_T::AES3_CNT: CNT Mask             */\r
1894 \r
1895 #define CRPT_TDES_CTL_START_Pos          (0)                                               /*!< CRPT_T::TDES_CTL: START Position       */\r
1896 #define CRPT_TDES_CTL_START_Msk          (0x1ul << CRPT_TDES_CTL_START_Pos)                /*!< CRPT_T::TDES_CTL: START Mask           */\r
1897 \r
1898 #define CRPT_TDES_CTL_STOP_Pos           (1)                                               /*!< CRPT_T::TDES_CTL: STOP Position        */\r
1899 #define CRPT_TDES_CTL_STOP_Msk           (0x1ul << CRPT_TDES_CTL_STOP_Pos)                 /*!< CRPT_T::TDES_CTL: STOP Mask            */\r
1900 \r
1901 #define CRPT_TDES_CTL_TMODE_Pos          (2)                                               /*!< CRPT_T::TDES_CTL: TMODE Position       */\r
1902 #define CRPT_TDES_CTL_TMODE_Msk          (0x1ul << CRPT_TDES_CTL_TMODE_Pos)                /*!< CRPT_T::TDES_CTL: TMODE Mask           */\r
1903 \r
1904 #define CRPT_TDES_CTL_3KEYS_Pos          (3)                                               /*!< CRPT_T::TDES_CTL: 3KEYS Position       */\r
1905 #define CRPT_TDES_CTL_3KEYS_Msk          (0x1ul << CRPT_TDES_CTL_3KEYS_Pos)                /*!< CRPT_T::TDES_CTL: 3KEYS Mask           */\r
1906 \r
1907 #define CRPT_TDES_CTL_DMALAST_Pos        (5)                                               /*!< CRPT_T::TDES_CTL: DMALAST Position     */\r
1908 #define CRPT_TDES_CTL_DMALAST_Msk        (0x1ul << CRPT_TDES_CTL_DMALAST_Pos)              /*!< CRPT_T::TDES_CTL: DMALAST Mask         */\r
1909 \r
1910 #define CRPT_TDES_CTL_DMACSCAD_Pos       (6)                                               /*!< CRPT_T::TDES_CTL: DMACSCAD Position    */\r
1911 #define CRPT_TDES_CTL_DMACSCAD_Msk       (0x1ul << CRPT_TDES_CTL_DMACSCAD_Pos)             /*!< CRPT_T::TDES_CTL: DMACSCAD Mask        */\r
1912 \r
1913 #define CRPT_TDES_CTL_DMAEN_Pos          (7)                                               /*!< CRPT_T::TDES_CTL: DMAEN Position       */\r
1914 #define CRPT_TDES_CTL_DMAEN_Msk          (0x1ul << CRPT_TDES_CTL_DMAEN_Pos)                /*!< CRPT_T::TDES_CTL: DMAEN Mask           */\r
1915 \r
1916 #define CRPT_TDES_CTL_OPMODE_Pos         (8)                                               /*!< CRPT_T::TDES_CTL: OPMODE Position      */\r
1917 #define CRPT_TDES_CTL_OPMODE_Msk         (0x7ul << CRPT_TDES_CTL_OPMODE_Pos)               /*!< CRPT_T::TDES_CTL: OPMODE Mask          */\r
1918 \r
1919 #define CRPT_TDES_CTL_ENCRPT_Pos         (16)                                              /*!< CRPT_T::TDES_CTL: ENCRPT Position      */\r
1920 #define CRPT_TDES_CTL_ENCRPT_Msk         (0x1ul << CRPT_TDES_CTL_ENCRPT_Pos)               /*!< CRPT_T::TDES_CTL: ENCRPT Mask          */\r
1921 \r
1922 #define CRPT_TDES_CTL_BLKSWAP_Pos        (21)                                              /*!< CRPT_T::TDES_CTL: BLKSWAP Position     */\r
1923 #define CRPT_TDES_CTL_BLKSWAP_Msk        (0x1ul << CRPT_TDES_CTL_BLKSWAP_Pos)              /*!< CRPT_T::TDES_CTL: BLKSWAP Mask         */\r
1924 \r
1925 #define CRPT_TDES_CTL_OUTSWAP_Pos        (22)                                              /*!< CRPT_T::TDES_CTL: OUTSWAP Position     */\r
1926 #define CRPT_TDES_CTL_OUTSWAP_Msk        (0x1ul << CRPT_TDES_CTL_OUTSWAP_Pos)              /*!< CRPT_T::TDES_CTL: OUTSWAP Mask         */\r
1927 \r
1928 #define CRPT_TDES_CTL_INSWAP_Pos         (23)                                              /*!< CRPT_T::TDES_CTL: INSWAP Position      */\r
1929 #define CRPT_TDES_CTL_INSWAP_Msk         (0x1ul << CRPT_TDES_CTL_INSWAP_Pos)               /*!< CRPT_T::TDES_CTL: INSWAP Mask          */\r
1930 \r
1931 #define CRPT_TDES_CTL_CHANNEL_Pos        (24)                                              /*!< CRPT_T::TDES_CTL: CHANNEL Position     */\r
1932 #define CRPT_TDES_CTL_CHANNEL_Msk        (0x3ul << CRPT_TDES_CTL_CHANNEL_Pos)              /*!< CRPT_T::TDES_CTL: CHANNEL Mask         */\r
1933 \r
1934 #define CRPT_TDES_CTL_KEYUNPRT_Pos       (26)                                              /*!< CRPT_T::TDES_CTL: KEYUNPRT Position    */\r
1935 #define CRPT_TDES_CTL_KEYUNPRT_Msk       (0x1ful << CRPT_TDES_CTL_KEYUNPRT_Pos)            /*!< CRPT_T::TDES_CTL: KEYUNPRT Mask        */\r
1936 \r
1937 #define CRPT_TDES_CTL_KEYPRT_Pos         (31)                                              /*!< CRPT_T::TDES_CTL: KEYPRT Position      */\r
1938 #define CRPT_TDES_CTL_KEYPRT_Msk         (0x1ul << CRPT_TDES_CTL_KEYPRT_Pos)               /*!< CRPT_T::TDES_CTL: KEYPRT Mask          */\r
1939 \r
1940 #define CRPT_TDES_STS_BUSY_Pos           (0)                                               /*!< CRPT_T::TDES_STS: BUSY Position        */\r
1941 #define CRPT_TDES_STS_BUSY_Msk           (0x1ul << CRPT_TDES_STS_BUSY_Pos)                 /*!< CRPT_T::TDES_STS: BUSY Mask            */\r
1942 \r
1943 #define CRPT_TDES_STS_INBUFEMPTY_Pos     (8)                                               /*!< CRPT_T::TDES_STS: INBUFEMPTY Position  */\r
1944 #define CRPT_TDES_STS_INBUFEMPTY_Msk     (0x1ul << CRPT_TDES_STS_INBUFEMPTY_Pos)           /*!< CRPT_T::TDES_STS: INBUFEMPTY Mask      */\r
1945 \r
1946 #define CRPT_TDES_STS_INBUFFULL_Pos      (9)                                               /*!< CRPT_T::TDES_STS: INBUFFULL Position   */\r
1947 #define CRPT_TDES_STS_INBUFFULL_Msk      (0x1ul << CRPT_TDES_STS_INBUFFULL_Pos)            /*!< CRPT_T::TDES_STS: INBUFFULL Mask       */\r
1948 \r
1949 #define CRPT_TDES_STS_INBUFERR_Pos       (10)                                              /*!< CRPT_T::TDES_STS: INBUFERR Position    */\r
1950 #define CRPT_TDES_STS_INBUFERR_Msk       (0x1ul << CRPT_TDES_STS_INBUFERR_Pos)             /*!< CRPT_T::TDES_STS: INBUFERR Mask        */\r
1951 \r
1952 #define CRPT_TDES_STS_OUTBUFEMPTY_Pos    (16)                                              /*!< CRPT_T::TDES_STS: OUTBUFEMPTY Position */\r
1953 #define CRPT_TDES_STS_OUTBUFEMPTY_Msk    (0x1ul << CRPT_TDES_STS_OUTBUFEMPTY_Pos)          /*!< CRPT_T::TDES_STS: OUTBUFEMPTY Mask     */\r
1954 \r
1955 #define CRPT_TDES_STS_OUTBUFFULL_Pos     (17)                                              /*!< CRPT_T::TDES_STS: OUTBUFFULL Position  */\r
1956 #define CRPT_TDES_STS_OUTBUFFULL_Msk     (0x1ul << CRPT_TDES_STS_OUTBUFFULL_Pos)           /*!< CRPT_T::TDES_STS: OUTBUFFULL Mask      */\r
1957 \r
1958 #define CRPT_TDES_STS_OUTBUFERR_Pos      (18)                                              /*!< CRPT_T::TDES_STS: OUTBUFERR Position   */\r
1959 #define CRPT_TDES_STS_OUTBUFERR_Msk      (0x1ul << CRPT_TDES_STS_OUTBUFERR_Pos)            /*!< CRPT_T::TDES_STS: OUTBUFERR Mask       */\r
1960 \r
1961 #define CRPT_TDES_STS_BUSERR_Pos         (20)                                              /*!< CRPT_T::TDES_STS: BUSERR Position      */\r
1962 #define CRPT_TDES_STS_BUSERR_Msk         (0x1ul << CRPT_TDES_STS_BUSERR_Pos)               /*!< CRPT_T::TDES_STS: BUSERR Mask          */\r
1963 \r
1964 #define CRPT_TDES0_KEYxH_KEY_Pos         (0)                                               /*!< CRPT_T::TDES0_KEYxH: KEY Position      */\r
1965 #define CRPT_TDES0_KEYxH_KEY_Msk         (0xfffffffful << CRPT_TDES0_KEYxH_KEY_Pos)        /*!< CRPT_T::TDES0_KEYxH: KEY Mask          */\r
1966 \r
1967 #define CRPT_TDES0_KEYxL_KEY_Pos         (0)                                               /*!< CRPT_T::TDES0_KEYxL: KEY Position      */\r
1968 #define CRPT_TDES0_KEYxL_KEY_Msk         (0xfffffffful << CRPT_TDES0_KEYxL_KEY_Pos)        /*!< CRPT_T::TDES0_KEYxL: KEY Mask          */\r
1969 \r
1970 #define CRPT_TDES0_IVH_IV_Pos            (0)                                               /*!< CRPT_T::TDES0_IVH: IV Position         */\r
1971 #define CRPT_TDES0_IVH_IV_Msk            (0xfffffffful << CRPT_TDES0_IVH_IV_Pos)           /*!< CRPT_T::TDES0_IVH: IV Mask             */\r
1972 \r
1973 #define CRPT_TDES0_IVL_IV_Pos            (0)                                               /*!< CRPT_T::TDES0_IVL: IV Position         */\r
1974 #define CRPT_TDES0_IVL_IV_Msk            (0xfffffffful << CRPT_TDES0_IVL_IV_Pos)           /*!< CRPT_T::TDES0_IVL: IV Mask             */\r
1975 \r
1976 #define CRPT_TDES0_SADDR_SADDR_Pos       (0)                                               /*!< CRPT_T::TDES0_SADDR: SADDR Position    */\r
1977 #define CRPT_TDES0_SADDR_SADDR_Msk       (0xfffffffful << CRPT_TDES0_SADDR_SADDR_Pos)      /*!< CRPT_T::TDES0_SADDR: SADDR Mask        */\r
1978 \r
1979 #define CRPT_TDES0_DADDR_DADDR_Pos       (0)                                               /*!< CRPT_T::TDES0_DADDR: DADDR Position    */\r
1980 #define CRPT_TDES0_DADDR_DADDR_Msk       (0xfffffffful << CRPT_TDES0_DADDR_DADDR_Pos)      /*!< CRPT_T::TDES0_DADDR: DADDR Mask        */\r
1981 \r
1982 #define CRPT_TDES0_CNT_CNT_Pos           (0)                                               /*!< CRPT_T::TDES0_CNT: CNT Position        */\r
1983 #define CRPT_TDES0_CNT_CNT_Msk           (0xfffffffful << CRPT_TDES0_CNT_CNT_Pos)          /*!< CRPT_T::TDES0_CNT: CNT Mask            */\r
1984 \r
1985 #define CRPT_TDES_DATIN_DATIN_Pos        (0)                                               /*!< CRPT_T::TDES_DATIN: DATIN Position     */\r
1986 #define CRPT_TDES_DATIN_DATIN_Msk        (0xfffffffful << CRPT_TDES_DATIN_DATIN_Pos)       /*!< CRPT_T::TDES_DATIN: DATIN Mask         */\r
1987 \r
1988 #define CRPT_TDES_DATOUT_DATOUT_Pos      (0)                                               /*!< CRPT_T::TDES_DATOUT: DATOUT Position   */\r
1989 #define CRPT_TDES_DATOUT_DATOUT_Msk      (0xfffffffful << CRPT_TDES_DATOUT_DATOUT_Pos)     /*!< CRPT_T::TDES_DATOUT: DATOUT Mask       */\r
1990 \r
1991 #define CRPT_TDES1_KEYxH_KEY_Pos         (0)                                               /*!< CRPT_T::TDES1_KEYxH: KEY Position      */\r
1992 #define CRPT_TDES1_KEYxH_KEY_Msk         (0xfffffffful << CRPT_TDES1_KEYxH_KEY_Pos)        /*!< CRPT_T::TDES1_KEYxH: KEY Mask          */\r
1993 \r
1994 #define CRPT_TDES1_KEYxL_KEY_Pos         (0)                                               /*!< CRPT_T::TDES1_KEYxL: KEY Position      */\r
1995 #define CRPT_TDES1_KEYxL_KEY_Msk         (0xfffffffful << CRPT_TDES1_KEY1L_KEY_Pos)        /*!< CRPT_T::TDES1_KEYxL: KEY Mask          */\r
1996 \r
1997 #define CRPT_TDES1_IVH_IV_Pos            (0)                                               /*!< CRPT_T::TDES1_IVH: IV Position         */\r
1998 #define CRPT_TDES1_IVH_IV_Msk            (0xfffffffful << CRPT_TDES1_IVH_IV_Pos)           /*!< CRPT_T::TDES1_IVH: IV Mask             */\r
1999 \r
2000 #define CRPT_TDES1_IVL_IV_Pos            (0)                                               /*!< CRPT_T::TDES1_IVL: IV Position         */\r
2001 #define CRPT_TDES1_IVL_IV_Msk            (0xfffffffful << CRPT_TDES1_IVL_IV_Pos)           /*!< CRPT_T::TDES1_IVL: IV Mask             */\r
2002 \r
2003 #define CRPT_TDES1_SADDR_SADDR_Pos       (0)                                               /*!< CRPT_T::TDES1_SADDR: SADDR Position    */\r
2004 #define CRPT_TDES1_SADDR_SADDR_Msk       (0xfffffffful << CRPT_TDES1_SADDR_SADDR_Pos)      /*!< CRPT_T::TDES1_SADDR: SADDR Mask        */\r
2005 \r
2006 #define CRPT_TDES1_DADDR_DADDR_Pos       (0)                                               /*!< CRPT_T::TDES1_DADDR: DADDR Position    */\r
2007 #define CRPT_TDES1_DADDR_DADDR_Msk       (0xfffffffful << CRPT_TDES1_DADDR_DADDR_Pos)      /*!< CRPT_T::TDES1_DADDR: DADDR Mask        */\r
2008 \r
2009 #define CRPT_TDES1_CNT_CNT_Pos           (0)                                               /*!< CRPT_T::TDES1_CNT: CNT Position        */\r
2010 #define CRPT_TDES1_CNT_CNT_Msk           (0xfffffffful << CRPT_TDES1_CNT_CNT_Pos)          /*!< CRPT_T::TDES1_CNT: CNT Mask            */\r
2011 \r
2012 #define CRPT_TDES2_KEYxH_KEY_Pos         (0)                                               /*!< CRPT_T::TDES2_KEYxH: KEY Position      */\r
2013 #define CRPT_TDES2_KEYxH_KEY_Msk         (0xfffffffful << CRPT_TDES2_KEYxH_KEY_Pos)        /*!< CRPT_T::TDES2_KEYxH: KEY Mask          */\r
2014 \r
2015 #define CRPT_TDES2_KEYxL_KEY_Pos         (0)                                               /*!< CRPT_T::TDES2_KEYxL: KEY Position      */\r
2016 #define CRPT_TDES2_KEYxL_KEY_Msk         (0xfffffffful << CRPT_TDES2_KEYxL_KEY_Pos)        /*!< CRPT_T::TDES2_KEYxL: KEY Mask          */\r
2017 \r
2018 #define CRPT_TDES2_IVH_IV_Pos            (0)                                               /*!< CRPT_T::TDES2_IVH: IV Position         */\r
2019 #define CRPT_TDES2_IVH_IV_Msk            (0xfffffffful << CRPT_TDES2_IVH_IV_Pos)           /*!< CRPT_T::TDES2_IVH: IV Mask             */\r
2020 \r
2021 #define CRPT_TDES2_IVL_IV_Pos            (0)                                               /*!< CRPT_T::TDES2_IVL: IV Position         */\r
2022 #define CRPT_TDES2_IVL_IV_Msk            (0xfffffffful << CRPT_TDES2_IVL_IV_Pos)           /*!< CRPT_T::TDES2_IVL: IV Mask             */\r
2023 \r
2024 #define CRPT_TDES2_SADDR_SADDR_Pos       (0)                                               /*!< CRPT_T::TDES2_SADDR: SADDR Position    */\r
2025 #define CRPT_TDES2_SADDR_SADDR_Msk       (0xfffffffful << CRPT_TDES2_SADDR_SADDR_Pos)      /*!< CRPT_T::TDES2_SADDR: SADDR Mask        */\r
2026 \r
2027 #define CRPT_TDES2_DADDR_DADDR_Pos       (0)                                               /*!< CRPT_T::TDES2_DADDR: DADDR Position    */\r
2028 #define CRPT_TDES2_DADDR_DADDR_Msk       (0xfffffffful << CRPT_TDES2_DADDR_DADDR_Pos)      /*!< CRPT_T::TDES2_DADDR: DADDR Mask        */\r
2029 \r
2030 #define CRPT_TDES2_CNT_CNT_Pos           (0)                                               /*!< CRPT_T::TDES2_CNT: CNT Position        */\r
2031 #define CRPT_TDES2_CNT_CNT_Msk           (0xfffffffful << CRPT_TDES2_CNT_CNT_Pos)          /*!< CRPT_T::TDES2_CNT: CNT Mask            */\r
2032 \r
2033 #define CRPT_TDES3_KEYxH_KEY_Pos         (0)                                               /*!< CRPT_T::TDES3_KEYxH: KEY Position      */\r
2034 #define CRPT_TDES3_KEYxH_KEY_Msk         (0xfffffffful << CRPT_TDES3_KEYxH_KEY_Pos)        /*!< CRPT_T::TDES3_KEYxH: KEY Mask          */\r
2035 \r
2036 #define CRPT_TDES3_KEYxL_KEY_Pos         (0)                                               /*!< CRPT_T::TDES3_KEYxL: KEY Position      */\r
2037 #define CRPT_TDES3_KEYxL_KEY_Msk         (0xfffffffful << CRPT_TDES3_KEYxL_KEY_Pos)        /*!< CRPT_T::TDES3_KEYxL: KEY Mask          */\r
2038 \r
2039 #define CRPT_TDES3_IVH_IV_Pos            (0)                                               /*!< CRPT_T::TDES3_IVH: IV Position         */\r
2040 #define CRPT_TDES3_IVH_IV_Msk            (0xfffffffful << CRPT_TDES3_IVH_IV_Pos)           /*!< CRPT_T::TDES3_IVH: IV Mask             */\r
2041 \r
2042 #define CRPT_TDES3_IVL_IV_Pos            (0)                                               /*!< CRPT_T::TDES3_IVL: IV Position         */\r
2043 #define CRPT_TDES3_IVL_IV_Msk            (0xfffffffful << CRPT_TDES3_IVL_IV_Pos)           /*!< CRPT_T::TDES3_IVL: IV Mask             */\r
2044 \r
2045 #define CRPT_TDES3_SADDR_SADDR_Pos       (0)                                               /*!< CRPT_T::TDES3_SADDR: SADDR Position    */\r
2046 #define CRPT_TDES3_SADDR_SADDR_Msk       (0xfffffffful << CRPT_TDES3_SADDR_SADDR_Pos)      /*!< CRPT_T::TDES3_SADDR: SADDR Mask        */\r
2047 \r
2048 #define CRPT_TDES3_DADDR_DADDR_Pos       (0)                                               /*!< CRPT_T::TDES3_DADDR: DADDR Position    */\r
2049 #define CRPT_TDES3_DADDR_DADDR_Msk       (0xfffffffful << CRPT_TDES3_DADDR_DADDR_Pos)      /*!< CRPT_T::TDES3_DADDR: DADDR Mask        */\r
2050 \r
2051 #define CRPT_TDES3_CNT_CNT_Pos           (0)                                               /*!< CRPT_T::TDES3_CNT: CNT Position        */\r
2052 #define CRPT_TDES3_CNT_CNT_Msk           (0xfffffffful << CRPT_TDES3_CNT_CNT_Pos)          /*!< CRPT_T::TDES3_CNT: CNT Mask            */\r
2053 \r
2054 #define CRPT_HMAC_CTL_START_Pos          (0)                                               /*!< CRPT_T::HMAC_CTL: START Position       */\r
2055 #define CRPT_HMAC_CTL_START_Msk          (0x1ul << CRPT_HMAC_CTL_START_Pos)                /*!< CRPT_T::HMAC_CTL: START Mask           */\r
2056 \r
2057 #define CRPT_HMAC_CTL_STOP_Pos           (1)                                               /*!< CRPT_T::HMAC_CTL: STOP Position        */\r
2058 #define CRPT_HMAC_CTL_STOP_Msk           (0x1ul << CRPT_HMAC_CTL_STOP_Pos)                 /*!< CRPT_T::HMAC_CTL: STOP Mask            */\r
2059 \r
2060 #define CRPT_HMAC_CTL_DMALAST_Pos        (5)                                               /*!< CRPT_T::HMAC_CTL: DMALAST Position     */\r
2061 #define CRPT_HMAC_CTL_DMALAST_Msk        (0x1ul << CRPT_HMAC_CTL_DMALAST_Pos)              /*!< CRPT_T::HMAC_CTL: DMALAST Mask         */\r
2062 \r
2063 #define CRPT_HMAC_CTL_DMAEN_Pos          (7)                                               /*!< CRPT_T::HMAC_CTL: DMAEN Position       */\r
2064 #define CRPT_HMAC_CTL_DMAEN_Msk          (0x1ul << CRPT_HMAC_CTL_DMAEN_Pos)                /*!< CRPT_T::HMAC_CTL: DMAEN Mask           */\r
2065 \r
2066 #define CRPT_HMAC_CTL_OPMODE_Pos         (8)                                               /*!< CRPT_T::HMAC_CTL: OPMODE Position      */\r
2067 #define CRPT_HMAC_CTL_OPMODE_Msk         (0x7ul << CRPT_HMAC_CTL_OPMODE_Pos)               /*!< CRPT_T::HMAC_CTL: OPMODE Mask          */\r
2068 \r
2069 #define CRPT_HMAC_CTL_OUTSWAP_Pos        (22)                                              /*!< CRPT_T::HMAC_CTL: OUTSWAP Position     */\r
2070 #define CRPT_HMAC_CTL_OUTSWAP_Msk        (0x1ul << CRPT_HMAC_CTL_OUTSWAP_Pos)              /*!< CRPT_T::HMAC_CTL: OUTSWAP Mask         */\r
2071 \r
2072 #define CRPT_HMAC_CTL_INSWAP_Pos         (23)                                              /*!< CRPT_T::HMAC_CTL: INSWAP Position      */\r
2073 #define CRPT_HMAC_CTL_INSWAP_Msk         (0x1ul << CRPT_HMAC_CTL_INSWAP_Pos)               /*!< CRPT_T::HMAC_CTL: INSWAP Mask          */\r
2074 \r
2075 #define CRPT_HMAC_STS_BUSY_Pos           (0)                                               /*!< CRPT_T::HMAC_STS: BUSY Position        */\r
2076 #define CRPT_HMAC_STS_BUSY_Msk           (0x1ul << CRPT_HMAC_STS_BUSY_Pos)                 /*!< CRPT_T::HMAC_STS: BUSY Mask            */\r
2077 \r
2078 #define CRPT_HMAC_STS_DMABUSY_Pos        (1)                                               /*!< CRPT_T::HMAC_STS: DMABUSY Position     */\r
2079 #define CRPT_HMAC_STS_DMABUSY_Msk        (0x1ul << CRPT_HMAC_STS_DMABUSY_Pos)              /*!< CRPT_T::HMAC_STS: DMABUSY Mask         */\r
2080 \r
2081 #define CRPT_HMAC_STS_DMAERR_Pos         (8)                                               /*!< CRPT_T::HMAC_STS: DMAERR Position      */\r
2082 #define CRPT_HMAC_STS_DMAERR_Msk         (0x1ul << CRPT_HMAC_STS_DMAERR_Pos)               /*!< CRPT_T::HMAC_STS: DMAERR Mask          */\r
2083 \r
2084 #define CRPT_HMAC_STS_DATINREQ_Pos       (16)                                              /*!< CRPT_T::HMAC_STS: DATINREQ Position    */\r
2085 #define CRPT_HMAC_STS_DATINREQ_Msk       (0x1ul << CRPT_HMAC_STS_DATINREQ_Pos)             /*!< CRPT_T::HMAC_STS: DATINREQ Mask        */\r
2086 \r
2087 #define CRPT_HMAC_DGSTx_DGST_Pos         (0)                                               /*!< CRPT_T::HMAC_DGSTx: DGST Position      */\r
2088 #define CRPT_HMAC_DGSTx_DGST_Msk         (0xfffffffful << CRPT_HMAC_DGSTx_DGST_Pos)        /*!< CRPT_T::HMAC_DGSTx: DGST Mask          */\r
2089 \r
2090 #define CRPT_HMAC_KEYCNT_KEYCNT_Pos      (0)                                               /*!< CRPT_T::HMAC_KEYCNT: KEYCNT Position   */\r
2091 #define CRPT_HMAC_KEYCNT_KEYCNT_Msk      (0xfffffffful << CRPT_HMAC_KEYCNT_KEYCNT_Pos)     /*!< CRPT_T::HMAC_KEYCNT: KEYCNT Mask       */\r
2092 \r
2093 #define CRPT_HMAC_SADDR_SADDR_Pos        (0)                                               /*!< CRPT_T::HMAC_SADDR: SADDR Position     */\r
2094 #define CRPT_HMAC_SADDR_SADDR_Msk        (0xfffffffful << CRPT_HMAC_SADDR_SADDR_Pos)       /*!< CRPT_T::HMAC_SADDR: SADDR Mask         */\r
2095 \r
2096 #define CRPT_HMAC_DMACNT_DMACNT_Pos      (0)                                               /*!< CRPT_T::HMAC_DMACNT: DMACNT Position   */\r
2097 #define CRPT_HMAC_DMACNT_DMACNT_Msk      (0xfffffffful << CRPT_HMAC_DMACNT_DMACNT_Pos)     /*!< CRPT_T::HMAC_DMACNT: DMACNT Mask       */\r
2098 \r
2099 #define CRPT_HMAC_DATIN_DATIN_Pos        (0)                                               /*!< CRPT_T::HMAC_DATIN: DATIN Position     */\r
2100 #define CRPT_HMAC_DATIN_DATIN_Msk        (0xfffffffful << CRPT_HMAC_DATIN_DATIN_Pos)       /*!< CRPT_T::HMAC_DATIN: DATIN Mask         */\r
2101 \r
2102 #define CRPT_ECC_CTL_START_Pos           (0)                                               /*!< CRPT_T::ECC_CTL: START Position        */\r
2103 #define CRPT_ECC_CTL_START_Msk           (0x1ul << CRPT_ECC_CTL_START_Pos)                 /*!< CRPT_T::ECC_CTL: START Mask            */\r
2104 \r
2105 #define CRPT_ECC_CTL_STOP_Pos            (1)                                               /*!< CRPT_T::ECC_CTL: STOP Position         */\r
2106 #define CRPT_ECC_CTL_STOP_Msk            (0x1ul << CRPT_ECC_CTL_STOP_Pos)                  /*!< CRPT_T::ECC_CTL: STOP Mask             */\r
2107 \r
2108 #define CRPT_ECC_CTL_DMAEN_Pos           (7)                                               /*!< CRPT_T::ECC_CTL: DMAEN Position        */\r
2109 #define CRPT_ECC_CTL_DMAEN_Msk           (0x1ul << CRPT_ECC_CTL_DMAEN_Pos)                 /*!< CRPT_T::ECC_CTL: DMAEN Mask            */\r
2110 \r
2111 #define CRPT_ECC_CTL_FSEL_Pos            (8)                                               /*!< CRPT_T::ECC_CTL: FSEL Position         */\r
2112 #define CRPT_ECC_CTL_FSEL_Msk            (0x1ul << CRPT_ECC_CTL_FSEL_Pos)                  /*!< CRPT_T::ECC_CTL: FSEL Mask             */\r
2113 \r
2114 #define CRPT_ECC_CTL_ECCOP_Pos           (9)                                               /*!< CRPT_T::ECC_CTL: ECCOP Position        */\r
2115 #define CRPT_ECC_CTL_ECCOP_Msk           (0x3ul << CRPT_ECC_CTL_ECCOP_Pos)                 /*!< CRPT_T::ECC_CTL: ECCOP Mask            */\r
2116 \r
2117 #define CRPT_ECC_CTL_MODOP_Pos           (11)                                              /*!< CRPT_T::ECC_CTL: MODOP Position        */\r
2118 #define CRPT_ECC_CTL_MODOP_Msk           (0x3ul << CRPT_ECC_CTL_MODOP_Pos)                 /*!< CRPT_T::ECC_CTL: MODOP Mask            */\r
2119 \r
2120 #define CRPT_ECC_CTL_LDP1_Pos            (16)                                              /*!< CRPT_T::ECC_CTL: LDP1 Position         */\r
2121 #define CRPT_ECC_CTL_LDP1_Msk            (0x1ul << CRPT_ECC_CTL_LDP1_Pos)                  /*!< CRPT_T::ECC_CTL: LDP1 Mask             */\r
2122 \r
2123 #define CRPT_ECC_CTL_LDP2_Pos            (17)                                              /*!< CRPT_T::ECC_CTL: LDP2 Position         */\r
2124 #define CRPT_ECC_CTL_LDP2_Msk            (0x1ul << CRPT_ECC_CTL_LDP2_Pos)                  /*!< CRPT_T::ECC_CTL: LDP2 Mask             */\r
2125 \r
2126 #define CRPT_ECC_CTL_LDA_Pos             (18)                                              /*!< CRPT_T::ECC_CTL: LDA Position          */\r
2127 #define CRPT_ECC_CTL_LDA_Msk             (0x1ul << CRPT_ECC_CTL_LDA_Pos)                   /*!< CRPT_T::ECC_CTL: LDA Mask              */\r
2128 \r
2129 #define CRPT_ECC_CTL_LDB_Pos             (19)                                              /*!< CRPT_T::ECC_CTL: LDB Position          */\r
2130 #define CRPT_ECC_CTL_LDB_Msk             (0x1ul << CRPT_ECC_CTL_LDB_Pos)                   /*!< CRPT_T::ECC_CTL: LDB Mask              */\r
2131 \r
2132 #define CRPT_ECC_CTL_LDN_Pos             (20)                                              /*!< CRPT_T::ECC_CTL: LDN Position          */\r
2133 #define CRPT_ECC_CTL_LDN_Msk             (0x1ul << CRPT_ECC_CTL_LDN_Pos)                   /*!< CRPT_T::ECC_CTL: LDN Mask              */\r
2134 \r
2135 #define CRPT_ECC_CTL_LDK_Pos             (21)                                              /*!< CRPT_T::ECC_CTL: LDK Position          */\r
2136 #define CRPT_ECC_CTL_LDK_Msk             (0x1ul << CRPT_ECC_CTL_LDK_Pos)                   /*!< CRPT_T::ECC_CTL: LDK Mask              */\r
2137 \r
2138 #define CRPT_ECC_CTL_CURVEM_Pos          (22)                                              /*!< CRPT_T::ECC_CTL: CURVEM Position       */\r
2139 #define CRPT_ECC_CTL_CURVEM_Msk          (0x3fful << CRPT_ECC_CTL_CURVEM_Pos)              /*!< CRPT_T::ECC_CTL: CURVEM Mask           */\r
2140 \r
2141 #define CRPT_ECC_STS_BUSY_Pos            (0)                                               /*!< CRPT_T::ECC_STS: BUSY Position         */\r
2142 #define CRPT_ECC_STS_BUSY_Msk            (0x1ul << CRPT_ECC_STS_BUSY_Pos)                  /*!< CRPT_T::ECC_STS: BUSY Mask             */\r
2143 \r
2144 #define CRPT_ECC_STS_DMABUSY_Pos         (1)                                               /*!< CRPT_T::ECC_STS: DMABUSY Position      */\r
2145 #define CRPT_ECC_STS_DMABUSY_Msk         (0x1ul << CRPT_ECC_STS_DMABUSY_Pos)               /*!< CRPT_T::ECC_STS: DMABUSY Mask          */\r
2146 \r
2147 #define CRPT_ECC_STS_BUSERR_Pos          (16)                                              /*!< CRPT_T::ECC_STS: BUSERR Position       */\r
2148 #define CRPT_ECC_STS_BUSERR_Msk          (0x1ul << CRPT_ECC_STS_BUSERR_Pos)                /*!< CRPT_T::ECC_STS: BUSERR Mask           */\r
2149 \r
2150 #define CRPT_ECC_X1_POINTX1_Pos          (0)                                               /*!< CRPT_T::ECC_X1:  POINTX1 Position      */\r
2151 #define CRPT_ECC_X1_POINTX1_Msk          (0xfffffffful << CRPT_ECC_X1_POINTX1_Pos)         /*!< CRPT_T::ECC_X1:  POINTX1 Mask          */\r
2152 \r
2153 #define CRPT_ECC_Y1_POINTY1_Pos          (0)                                               /*!< CRPT_T::ECC_Y1: POINTY1 Position       */\r
2154 #define CRPT_ECC_Y1_POINTY1_Msk          (0xfffffffful << CRPT_ECC_Y1_POINTY1_Pos)         /*!< CRPT_T::ECC_Y1: POINTY1 Mask           */\r
2155 \r
2156 #define CRPT_ECC_X2_POINTX2_Pos          (0)                                               /*!< CRPT_T::ECC_X2: POINTX2 Position       */\r
2157 #define CRPT_ECC_X2_POINTX2_Msk          (0xfffffffful << CRPT_ECC_X2_POINTX2_Pos)         /*!< CRPT_T::ECC_X2: POINTX2 Mask           */\r
2158 \r
2159 #define CRPT_ECC_Y2_POINTY2_Pos          (0)                                               /*!< CRPT_T::ECC_Y2: POINTY2 Position       */\r
2160 #define CRPT_ECC_Y2_POINTY2_Msk          (0xfffffffful << CRPT_ECC_Y2_POINTY2_Pos)         /*!< CRPT_T::ECC_Y2: POINTY2 Mask           */\r
2161 \r
2162 #define CRPT_ECC_A_CURVEA_Pos            (0)                                               /*!< CRPT_T::ECC_A: CURVEA Position         */\r
2163 #define CRPT_ECC_A_CURVEA_Msk            (0xfffffffful << CRPT_ECC_A_CURVEA_Pos)           /*!< CRPT_T::ECC_A: CURVEA Mask             */\r
2164 \r
2165 #define CRPT_ECC_B_CURVEB_Pos            (0)                                               /*!< CRPT_T::ECC_B: CURVEB Position         */\r
2166 #define CRPT_ECC_B_CURVEB_Msk            (0xfffffffful << CRPT_ECC_B_CURVEB_Pos)           /*!< CRPT_T::ECC_B: CURVEB Mask             */\r
2167 \r
2168 #define CRPT_ECC_N_CURVEN_Pos            (0)                                               /*!< CRPT_T::ECC_N: CURVEN Position         */\r
2169 #define CRPT_ECC_N_CURVEN_Msk            (0xfffffffful << CRPT_ECC_N_CURVEN_Pos)           /*!< CRPT_T::ECC_N: CURVEN Mask             */\r
2170 \r
2171 #define CRPT_ECC_K_SCALARK_Pos           (0)                                               /*!< CRPT_T::ECC_K: SCALARK Position        */\r
2172 #define CRPT_ECC_K_SCALARK_Msk           (0xfffffffful << CRPT_ECC_K_SCALARK_Pos)          /*!< CRPT_T::ECC_K: SCALARK Mask            */\r
2173 \r
2174 #define CRPT_ECC_DADDR_DADDR_Pos         (0)                                               /*!< CRPT_T::ECC_DADDR: DADDR Position      */\r
2175 #define CRPT_ECC_DADDR_DADDR_Msk         (0xfffffffful << CRPT_ECC_DADDR_DADDR_Pos)        /*!< CRPT_T::ECC_DADDR: DADDR Mask          */\r
2176 \r
2177 #define CRPT_ECC_STARTREG_STARTREG_Pos   (0)                                               /*!< CRPT_T::ECC_STARTREG: STARTREG Position*/\r
2178 #define CRPT_ECC_STARTREG_STARTREG_Msk   (0xfffffffful << CRPT_ECC_STARTREG_STARTREG_Pos)  /*!< CRPT_T::ECC_STARTREG: STARTREG Mask    */\r
2179 \r
2180 #define CRPT_ECC_WORDCNT_WORDCNT_Pos     (0)                                               /*!< CRPT_T::ECC_WORDCNT: WORDCNT Position  */\r
2181 #define CRPT_ECC_WORDCNT_WORDCNT_Msk     (0xfffffffful << CRPT_ECC_WORDCNT_WORDCNT_Pos)    /*!< CRPT_T::ECC_WORDCNT: WORDCNT Mask      */\r
2182 \r
2183 /**@}*/ /* CRPT_CONST */\r
2184 /**@}*/ /* end of CRPT register group */\r
2185 /**@}*/ /* end of REGISTER group */\r
2186 \r
2187 \r
2188 #endif /* __CRPT_REG_H__ */\r