1 /**
2  * @file    ctb_regs.h
3  * @brief   Registers, Bit Masks and Bit Positions for the CTB Peripheral Module.
4  * @note    This file is @generated.
5  * @ingroup ctb_registers
6  */
7 
8 /******************************************************************************
9  *
10  * Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
11  * Analog Devices, Inc.),
12  * Copyright (C) 2023-2024 Analog Devices, Inc.
13  *
14  * Licensed under the Apache License, Version 2.0 (the "License");
15  * you may not use this file except in compliance with the License.
16  * You may obtain a copy of the License at
17  *
18  *     http://www.apache.org/licenses/LICENSE-2.0
19  *
20  * Unless required by applicable law or agreed to in writing, software
21  * distributed under the License is distributed on an "AS IS" BASIS,
22  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23  * See the License for the specific language governing permissions and
24  * limitations under the License.
25  *
26  ******************************************************************************/
27 
28 #ifndef LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32520_INCLUDE_CTB_REGS_H_
29 #define LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32520_INCLUDE_CTB_REGS_H_
30 
31 /* **** Includes **** */
32 #include <stdint.h>
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 #if defined (__ICCARM__)
39   #pragma system_include
40 #endif
41 
42 #if defined (__CC_ARM)
43   #pragma anon_unions
44 #endif
45 /// @cond
46 /*
47     If types are not defined elsewhere (CMSIS) define them here
48 */
49 #ifndef __IO
50 #define __IO volatile
51 #endif
52 #ifndef __I
53 #define __I  volatile const
54 #endif
55 #ifndef __O
56 #define __O  volatile
57 #endif
58 #ifndef __R
59 #define __R  volatile const
60 #endif
61 /// @endcond
62 
63 /* **** Definitions **** */
64 
65 /**
66  * @ingroup     ctb
67  * @defgroup    ctb_registers CTB_Registers
68  * @brief       Registers, Bit Masks and Bit Positions for the CTB Peripheral Module.
69  * @details     The Cryptographic Toolbox is a combination of cryptographic engines and a secure cryptographic accelerator (SCA) used to provide advanced cryptographic security.
70  */
71 
72 /**
73  * @ingroup ctb_registers
74  * Structure type to access the CTB Registers.
75  */
76 typedef struct {
77     __IO uint32_t crypto_ctrl;          /**< <tt>\b 0x00:</tt> CTB CRYPTO_CTRL Register */
78     __IO uint32_t cipher_ctrl;          /**< <tt>\b 0x04:</tt> CTB CIPHER_CTRL Register */
79     __IO uint32_t hash_ctrl;            /**< <tt>\b 0x08:</tt> CTB HASH_CTRL Register */
80     __IO uint32_t crc_ctrl;             /**< <tt>\b 0x0C:</tt> CTB CRC_CTRL Register */
81     __IO uint32_t dma_src;              /**< <tt>\b 0x10:</tt> CTB DMA_SRC Register */
82     __IO uint32_t dma_dest;             /**< <tt>\b 0x14:</tt> CTB DMA_DEST Register */
83     __IO uint32_t dma_cnt;              /**< <tt>\b 0x18:</tt> CTB DMA_CNT Register */
84     __R  uint32_t rsv_0x1c;
85     __O  uint32_t crypto_din[4];        /**< <tt>\b 0x20:</tt> CTB CRYPTO_DIN Register */
86     __I  uint32_t crypto_dout[4];       /**< <tt>\b 0x30:</tt> CTB CRYPTO_DOUT Register */
87     __IO uint32_t crc_poly;             /**< <tt>\b 0x40:</tt> CTB CRC_POLY Register */
88     __IO uint32_t crc_val;              /**< <tt>\b 0x44:</tt> CTB CRC_VAL Register */
89     __IO uint32_t crc_prng;             /**< <tt>\b 0x48:</tt> CTB CRC_PRNG Register */
90     __IO uint32_t ham_ecc;              /**< <tt>\b 0x4C:</tt> CTB HAM_ECC Register */
91     __IO uint32_t cipher_init[4];       /**< <tt>\b 0x50:</tt> CTB CIPHER_INIT Register */
92     __O  uint32_t cipher_key[8];        /**< <tt>\b 0x60:</tt> CTB CIPHER_KEY Register */
93     __IO uint32_t hash_digest[16];      /**< <tt>\b 0x80:</tt> CTB HASH_DIGEST Register */
94     __IO uint32_t hash_msg_sz[4];       /**< <tt>\b 0xC0:</tt> CTB HASH_MSG_SZ Register */
95     __IO uint32_t a_length_0;           /**< <tt>\b 0xD0:</tt> CTB A_LENGTH_0 Register */
96     __IO uint32_t a_length_1;           /**< <tt>\b 0xD4:</tt> CTB A_LENGTH_1 Register */
97     __IO uint32_t pld_length_0;         /**< <tt>\b 0xD8:</tt> CTB PLD_LENGTH_0 Register */
98     __IO uint32_t pld_length_1;         /**< <tt>\b 0xDC:</tt> CTB PLD_LENGTH_1 Register */
99     __IO uint32_t tagmic[4];            /**< <tt>\b 0xE0:</tt> CTB TAGMIC Register */
100     __R  uint32_t rsv_0xf0_0xff[4];
101     __IO uint32_t sca_cn;               /**< <tt>\b 0x100:</tt> CTB SCA_CN Register */
102     __IO uint32_t sca_acn;              /**< <tt>\b 0x104:</tt> CTB SCA_ACN Register */
103     __IO uint32_t sca_st;               /**< <tt>\b 0x108:</tt> CTB SCA_ST Register */
104     __IO uint32_t sca_ppx_addr;         /**< <tt>\b 0x10C:</tt> CTB SCA_PPX_ADDR Register */
105     __IO uint32_t sca_ppy_addr;         /**< <tt>\b 0x110:</tt> CTB SCA_PPY_ADDR Register */
106     __IO uint32_t sca_ppz_addr;         /**< <tt>\b 0x114:</tt> CTB SCA_PPZ_ADDR Register */
107     __IO uint32_t sca_pqx_addr;         /**< <tt>\b 0x118:</tt> CTB SCA_PQX_ADDR Register */
108     __IO uint32_t sca_pqy_addr;         /**< <tt>\b 0x11C:</tt> CTB SCA_PQY_ADDR Register */
109     __IO uint32_t sca_pqz_addr;         /**< <tt>\b 0x120:</tt> CTB SCA_PQZ_ADDR Register */
110     __IO uint32_t sca_rdsa_addr;        /**< <tt>\b 0x124:</tt> CTB SCA_RDSA_ADDR Register */
111     __IO uint32_t sca_res_addr;         /**< <tt>\b 0x128:</tt> CTB SCA_RES_ADDR Register */
112     __IO uint32_t sca_op_buff_addr;     /**< <tt>\b 0x12C:</tt> CTB SCA_OP_BUFF_ADDR Register */
113     __IO uint32_t sca_moddata;          /**< <tt>\b 0x130:</tt> CTB SCA_MODDATA Register */
114 } mxc_ctb_regs_t;
115 
116 /* Register offsets for module CTB */
117 /**
118  * @ingroup    ctb_registers
119  * @defgroup   CTB_Register_Offsets Register Offsets
120  * @brief      CTB Peripheral Register Offsets from the CTB Base Peripheral Address.
121  * @{
122  */
123 #define MXC_R_CTB_CRYPTO_CTRL              ((uint32_t)0x00000000UL) /**< Offset from CTB Base Address: <tt> 0x0000</tt> */
124 #define MXC_R_CTB_CIPHER_CTRL              ((uint32_t)0x00000004UL) /**< Offset from CTB Base Address: <tt> 0x0004</tt> */
125 #define MXC_R_CTB_HASH_CTRL                ((uint32_t)0x00000008UL) /**< Offset from CTB Base Address: <tt> 0x0008</tt> */
126 #define MXC_R_CTB_CRC_CTRL                 ((uint32_t)0x0000000CUL) /**< Offset from CTB Base Address: <tt> 0x000C</tt> */
127 #define MXC_R_CTB_DMA_SRC                  ((uint32_t)0x00000010UL) /**< Offset from CTB Base Address: <tt> 0x0010</tt> */
128 #define MXC_R_CTB_DMA_DEST                 ((uint32_t)0x00000014UL) /**< Offset from CTB Base Address: <tt> 0x0014</tt> */
129 #define MXC_R_CTB_DMA_CNT                  ((uint32_t)0x00000018UL) /**< Offset from CTB Base Address: <tt> 0x0018</tt> */
130 #define MXC_R_CTB_CRYPTO_DIN               ((uint32_t)0x00000020UL) /**< Offset from CTB Base Address: <tt> 0x0020</tt> */
131 #define MXC_R_CTB_CRYPTO_DOUT              ((uint32_t)0x00000030UL) /**< Offset from CTB Base Address: <tt> 0x0030</tt> */
132 #define MXC_R_CTB_CRC_POLY                 ((uint32_t)0x00000040UL) /**< Offset from CTB Base Address: <tt> 0x0040</tt> */
133 #define MXC_R_CTB_CRC_VAL                  ((uint32_t)0x00000044UL) /**< Offset from CTB Base Address: <tt> 0x0044</tt> */
134 #define MXC_R_CTB_CRC_PRNG                 ((uint32_t)0x00000048UL) /**< Offset from CTB Base Address: <tt> 0x0048</tt> */
135 #define MXC_R_CTB_HAM_ECC                  ((uint32_t)0x0000004CUL) /**< Offset from CTB Base Address: <tt> 0x004C</tt> */
136 #define MXC_R_CTB_CIPHER_INIT              ((uint32_t)0x00000050UL) /**< Offset from CTB Base Address: <tt> 0x0050</tt> */
137 #define MXC_R_CTB_CIPHER_KEY               ((uint32_t)0x00000060UL) /**< Offset from CTB Base Address: <tt> 0x0060</tt> */
138 #define MXC_R_CTB_HASH_DIGEST              ((uint32_t)0x00000080UL) /**< Offset from CTB Base Address: <tt> 0x0080</tt> */
139 #define MXC_R_CTB_HASH_MSG_SZ              ((uint32_t)0x000000C0UL) /**< Offset from CTB Base Address: <tt> 0x00C0</tt> */
140 #define MXC_R_CTB_A_LENGTH_0               ((uint32_t)0x000000D0UL) /**< Offset from CTB Base Address: <tt> 0x00D0</tt> */
141 #define MXC_R_CTB_A_LENGTH_1               ((uint32_t)0x000000D4UL) /**< Offset from CTB Base Address: <tt> 0x00D4</tt> */
142 #define MXC_R_CTB_PLD_LENGTH_0             ((uint32_t)0x000000D8UL) /**< Offset from CTB Base Address: <tt> 0x00D8</tt> */
143 #define MXC_R_CTB_PLD_LENGTH_1             ((uint32_t)0x000000DCUL) /**< Offset from CTB Base Address: <tt> 0x00DC</tt> */
144 #define MXC_R_CTB_TAGMIC                   ((uint32_t)0x000000E0UL) /**< Offset from CTB Base Address: <tt> 0x00E0</tt> */
145 #define MXC_R_CTB_SCA_CN                   ((uint32_t)0x00000100UL) /**< Offset from CTB Base Address: <tt> 0x0100</tt> */
146 #define MXC_R_CTB_SCA_ACN                  ((uint32_t)0x00000104UL) /**< Offset from CTB Base Address: <tt> 0x0104</tt> */
147 #define MXC_R_CTB_SCA_ST                   ((uint32_t)0x00000108UL) /**< Offset from CTB Base Address: <tt> 0x0108</tt> */
148 #define MXC_R_CTB_SCA_PPX_ADDR             ((uint32_t)0x0000010CUL) /**< Offset from CTB Base Address: <tt> 0x010C</tt> */
149 #define MXC_R_CTB_SCA_PPY_ADDR             ((uint32_t)0x00000110UL) /**< Offset from CTB Base Address: <tt> 0x0110</tt> */
150 #define MXC_R_CTB_SCA_PPZ_ADDR             ((uint32_t)0x00000114UL) /**< Offset from CTB Base Address: <tt> 0x0114</tt> */
151 #define MXC_R_CTB_SCA_PQX_ADDR             ((uint32_t)0x00000118UL) /**< Offset from CTB Base Address: <tt> 0x0118</tt> */
152 #define MXC_R_CTB_SCA_PQY_ADDR             ((uint32_t)0x0000011CUL) /**< Offset from CTB Base Address: <tt> 0x011C</tt> */
153 #define MXC_R_CTB_SCA_PQZ_ADDR             ((uint32_t)0x00000120UL) /**< Offset from CTB Base Address: <tt> 0x0120</tt> */
154 #define MXC_R_CTB_SCA_RDSA_ADDR            ((uint32_t)0x00000124UL) /**< Offset from CTB Base Address: <tt> 0x0124</tt> */
155 #define MXC_R_CTB_SCA_RES_ADDR             ((uint32_t)0x00000128UL) /**< Offset from CTB Base Address: <tt> 0x0128</tt> */
156 #define MXC_R_CTB_SCA_OP_BUFF_ADDR         ((uint32_t)0x0000012CUL) /**< Offset from CTB Base Address: <tt> 0x012C</tt> */
157 #define MXC_R_CTB_SCA_MODDATA              ((uint32_t)0x00000130UL) /**< Offset from CTB Base Address: <tt> 0x0130</tt> */
158 /**@} end of group ctb_registers */
159 
160 /**
161  * @ingroup  ctb_registers
162  * @defgroup CTB_CRYPTO_CTRL CTB_CRYPTO_CTRL
163  * @brief    Crypto Control Register.
164  * @{
165  */
166 #define MXC_F_CTB_CRYPTO_CTRL_RST_POS                  0 /**< CRYPTO_CTRL_RST Position */
167 #define MXC_F_CTB_CRYPTO_CTRL_RST                      ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_RST_POS)) /**< CRYPTO_CTRL_RST Mask */
168 
169 #define MXC_F_CTB_CRYPTO_CTRL_INT_POS                  1 /**< CRYPTO_CTRL_INT Position */
170 #define MXC_F_CTB_CRYPTO_CTRL_INT                      ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_INT_POS)) /**< CRYPTO_CTRL_INT Mask */
171 
172 #define MXC_F_CTB_CRYPTO_CTRL_SRC_POS                  2 /**< CRYPTO_CTRL_SRC Position */
173 #define MXC_F_CTB_CRYPTO_CTRL_SRC                      ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_SRC_POS)) /**< CRYPTO_CTRL_SRC Mask */
174 
175 #define MXC_F_CTB_CRYPTO_CTRL_BSO_POS                  4 /**< CRYPTO_CTRL_BSO Position */
176 #define MXC_F_CTB_CRYPTO_CTRL_BSO                      ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_BSO_POS)) /**< CRYPTO_CTRL_BSO Mask */
177 
178 #define MXC_F_CTB_CRYPTO_CTRL_BSI_POS                  5 /**< CRYPTO_CTRL_BSI Position */
179 #define MXC_F_CTB_CRYPTO_CTRL_BSI                      ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_BSI_POS)) /**< CRYPTO_CTRL_BSI Mask */
180 
181 #define MXC_F_CTB_CRYPTO_CTRL_WAIT_EN_POS              6 /**< CRYPTO_CTRL_WAIT_EN Position */
182 #define MXC_F_CTB_CRYPTO_CTRL_WAIT_EN                  ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_WAIT_EN_POS)) /**< CRYPTO_CTRL_WAIT_EN Mask */
183 
184 #define MXC_F_CTB_CRYPTO_CTRL_WAIT_POL_POS             7 /**< CRYPTO_CTRL_WAIT_POL Position */
185 #define MXC_F_CTB_CRYPTO_CTRL_WAIT_POL                 ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_WAIT_POL_POS)) /**< CRYPTO_CTRL_WAIT_POL Mask */
186 
187 #define MXC_F_CTB_CRYPTO_CTRL_WRSRC_POS                8 /**< CRYPTO_CTRL_WRSRC Position */
188 #define MXC_F_CTB_CRYPTO_CTRL_WRSRC                    ((uint32_t)(0x3UL << MXC_F_CTB_CRYPTO_CTRL_WRSRC_POS)) /**< CRYPTO_CTRL_WRSRC Mask */
189 #define MXC_V_CTB_CRYPTO_CTRL_WRSRC_NONE               ((uint32_t)0x0UL) /**< CRYPTO_CTRL_WRSRC_NONE Value */
190 #define MXC_S_CTB_CRYPTO_CTRL_WRSRC_NONE               (MXC_V_CTB_CRYPTO_CTRL_WRSRC_NONE << MXC_F_CTB_CRYPTO_CTRL_WRSRC_POS) /**< CRYPTO_CTRL_WRSRC_NONE Setting */
191 #define MXC_V_CTB_CRYPTO_CTRL_WRSRC_CIPHEROUTPUT       ((uint32_t)0x1UL) /**< CRYPTO_CTRL_WRSRC_CIPHEROUTPUT Value */
192 #define MXC_S_CTB_CRYPTO_CTRL_WRSRC_CIPHEROUTPUT       (MXC_V_CTB_CRYPTO_CTRL_WRSRC_CIPHEROUTPUT << MXC_F_CTB_CRYPTO_CTRL_WRSRC_POS) /**< CRYPTO_CTRL_WRSRC_CIPHEROUTPUT Setting */
193 #define MXC_V_CTB_CRYPTO_CTRL_WRSRC_READFIFO           ((uint32_t)0x2UL) /**< CRYPTO_CTRL_WRSRC_READFIFO Value */
194 #define MXC_S_CTB_CRYPTO_CTRL_WRSRC_READFIFO           (MXC_V_CTB_CRYPTO_CTRL_WRSRC_READFIFO << MXC_F_CTB_CRYPTO_CTRL_WRSRC_POS) /**< CRYPTO_CTRL_WRSRC_READFIFO Setting */
195 
196 #define MXC_F_CTB_CRYPTO_CTRL_RDSRC_POS                10 /**< CRYPTO_CTRL_RDSRC Position */
197 #define MXC_F_CTB_CRYPTO_CTRL_RDSRC                    ((uint32_t)(0x3UL << MXC_F_CTB_CRYPTO_CTRL_RDSRC_POS)) /**< CRYPTO_CTRL_RDSRC Mask */
198 #define MXC_V_CTB_CRYPTO_CTRL_RDSRC_DMADISABLED        ((uint32_t)0x0UL) /**< CRYPTO_CTRL_RDSRC_DMADISABLED Value */
199 #define MXC_S_CTB_CRYPTO_CTRL_RDSRC_DMADISABLED        (MXC_V_CTB_CRYPTO_CTRL_RDSRC_DMADISABLED << MXC_F_CTB_CRYPTO_CTRL_RDSRC_POS) /**< CRYPTO_CTRL_RDSRC_DMADISABLED Setting */
200 #define MXC_V_CTB_CRYPTO_CTRL_RDSRC_DMAORAPB           ((uint32_t)0x1UL) /**< CRYPTO_CTRL_RDSRC_DMAORAPB Value */
201 #define MXC_S_CTB_CRYPTO_CTRL_RDSRC_DMAORAPB           (MXC_V_CTB_CRYPTO_CTRL_RDSRC_DMAORAPB << MXC_F_CTB_CRYPTO_CTRL_RDSRC_POS) /**< CRYPTO_CTRL_RDSRC_DMAORAPB Setting */
202 #define MXC_V_CTB_CRYPTO_CTRL_RDSRC_RNG                ((uint32_t)0x2UL) /**< CRYPTO_CTRL_RDSRC_RNG Value */
203 #define MXC_S_CTB_CRYPTO_CTRL_RDSRC_RNG                (MXC_V_CTB_CRYPTO_CTRL_RDSRC_RNG << MXC_F_CTB_CRYPTO_CTRL_RDSRC_POS) /**< CRYPTO_CTRL_RDSRC_RNG Setting */
204 
205 #define MXC_F_CTB_CRYPTO_CTRL_FLAG_MODE_POS            14 /**< CRYPTO_CTRL_FLAG_MODE Position */
206 #define MXC_F_CTB_CRYPTO_CTRL_FLAG_MODE                ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_FLAG_MODE_POS)) /**< CRYPTO_CTRL_FLAG_MODE Mask */
207 
208 #define MXC_F_CTB_CRYPTO_CTRL_DMADNEMSK_POS            15 /**< CRYPTO_CTRL_DMADNEMSK Position */
209 #define MXC_F_CTB_CRYPTO_CTRL_DMADNEMSK                ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_DMADNEMSK_POS)) /**< CRYPTO_CTRL_DMADNEMSK Mask */
210 
211 #define MXC_F_CTB_CRYPTO_CTRL_DMA_DONE_POS             24 /**< CRYPTO_CTRL_DMA_DONE Position */
212 #define MXC_F_CTB_CRYPTO_CTRL_DMA_DONE                 ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_DMA_DONE_POS)) /**< CRYPTO_CTRL_DMA_DONE Mask */
213 
214 #define MXC_F_CTB_CRYPTO_CTRL_GLS_DONE_POS             25 /**< CRYPTO_CTRL_GLS_DONE Position */
215 #define MXC_F_CTB_CRYPTO_CTRL_GLS_DONE                 ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_GLS_DONE_POS)) /**< CRYPTO_CTRL_GLS_DONE Mask */
216 
217 #define MXC_F_CTB_CRYPTO_CTRL_HSH_DONE_POS             26 /**< CRYPTO_CTRL_HSH_DONE Position */
218 #define MXC_F_CTB_CRYPTO_CTRL_HSH_DONE                 ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_HSH_DONE_POS)) /**< CRYPTO_CTRL_HSH_DONE Mask */
219 
220 #define MXC_F_CTB_CRYPTO_CTRL_CPH_DONE_POS             27 /**< CRYPTO_CTRL_CPH_DONE Position */
221 #define MXC_F_CTB_CRYPTO_CTRL_CPH_DONE                 ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_CPH_DONE_POS)) /**< CRYPTO_CTRL_CPH_DONE Mask */
222 
223 #define MXC_F_CTB_CRYPTO_CTRL_ERR_POS                  29 /**< CRYPTO_CTRL_ERR Position */
224 #define MXC_F_CTB_CRYPTO_CTRL_ERR                      ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_ERR_POS)) /**< CRYPTO_CTRL_ERR Mask */
225 
226 #define MXC_F_CTB_CRYPTO_CTRL_RDY_POS                  30 /**< CRYPTO_CTRL_RDY Position */
227 #define MXC_F_CTB_CRYPTO_CTRL_RDY                      ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_RDY_POS)) /**< CRYPTO_CTRL_RDY Mask */
228 
229 #define MXC_F_CTB_CRYPTO_CTRL_DONE_POS                 31 /**< CRYPTO_CTRL_DONE Position */
230 #define MXC_F_CTB_CRYPTO_CTRL_DONE                     ((uint32_t)(0x1UL << MXC_F_CTB_CRYPTO_CTRL_DONE_POS)) /**< CRYPTO_CTRL_DONE Mask */
231 
232 /**@} end of group CTB_CRYPTO_CTRL_Register */
233 
234 /**
235  * @ingroup  ctb_registers
236  * @defgroup CTB_CIPHER_CTRL CTB_CIPHER_CTRL
237  * @brief    Cipher Control Register.
238  * @{
239  */
240 #define MXC_F_CTB_CIPHER_CTRL_ENC_POS                  0 /**< CIPHER_CTRL_ENC Position */
241 #define MXC_F_CTB_CIPHER_CTRL_ENC                      ((uint32_t)(0x1UL << MXC_F_CTB_CIPHER_CTRL_ENC_POS)) /**< CIPHER_CTRL_ENC Mask */
242 
243 #define MXC_F_CTB_CIPHER_CTRL_KEY_POS                  1 /**< CIPHER_CTRL_KEY Position */
244 #define MXC_F_CTB_CIPHER_CTRL_KEY                      ((uint32_t)(0x1UL << MXC_F_CTB_CIPHER_CTRL_KEY_POS)) /**< CIPHER_CTRL_KEY Mask */
245 
246 #define MXC_F_CTB_CIPHER_CTRL_SRC_POS                  2 /**< CIPHER_CTRL_SRC Position */
247 #define MXC_F_CTB_CIPHER_CTRL_SRC                      ((uint32_t)(0x3UL << MXC_F_CTB_CIPHER_CTRL_SRC_POS)) /**< CIPHER_CTRL_SRC Mask */
248 #define MXC_V_CTB_CIPHER_CTRL_SRC_CIPHERKEY            ((uint32_t)0x0UL) /**< CIPHER_CTRL_SRC_CIPHERKEY Value */
249 #define MXC_S_CTB_CIPHER_CTRL_SRC_CIPHERKEY            (MXC_V_CTB_CIPHER_CTRL_SRC_CIPHERKEY << MXC_F_CTB_CIPHER_CTRL_SRC_POS) /**< CIPHER_CTRL_SRC_CIPHERKEY Setting */
250 #define MXC_V_CTB_CIPHER_CTRL_SRC_REGFILE              ((uint32_t)0x2UL) /**< CIPHER_CTRL_SRC_REGFILE Value */
251 #define MXC_S_CTB_CIPHER_CTRL_SRC_REGFILE              (MXC_V_CTB_CIPHER_CTRL_SRC_REGFILE << MXC_F_CTB_CIPHER_CTRL_SRC_POS) /**< CIPHER_CTRL_SRC_REGFILE Setting */
252 #define MXC_V_CTB_CIPHER_CTRL_SRC_QSPIKEY_REGFILE      ((uint32_t)0x3UL) /**< CIPHER_CTRL_SRC_QSPIKEY_REGFILE Value */
253 #define MXC_S_CTB_CIPHER_CTRL_SRC_QSPIKEY_REGFILE      (MXC_V_CTB_CIPHER_CTRL_SRC_QSPIKEY_REGFILE << MXC_F_CTB_CIPHER_CTRL_SRC_POS) /**< CIPHER_CTRL_SRC_QSPIKEY_REGFILE Setting */
254 
255 #define MXC_F_CTB_CIPHER_CTRL_CIPHER_POS               4 /**< CIPHER_CTRL_CIPHER Position */
256 #define MXC_F_CTB_CIPHER_CTRL_CIPHER                   ((uint32_t)(0x7UL << MXC_F_CTB_CIPHER_CTRL_CIPHER_POS)) /**< CIPHER_CTRL_CIPHER Mask */
257 #define MXC_V_CTB_CIPHER_CTRL_CIPHER_DIS               ((uint32_t)0x0UL) /**< CIPHER_CTRL_CIPHER_DIS Value */
258 #define MXC_S_CTB_CIPHER_CTRL_CIPHER_DIS               (MXC_V_CTB_CIPHER_CTRL_CIPHER_DIS << MXC_F_CTB_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_DIS Setting */
259 #define MXC_V_CTB_CIPHER_CTRL_CIPHER_AES128            ((uint32_t)0x1UL) /**< CIPHER_CTRL_CIPHER_AES128 Value */
260 #define MXC_S_CTB_CIPHER_CTRL_CIPHER_AES128            (MXC_V_CTB_CIPHER_CTRL_CIPHER_AES128 << MXC_F_CTB_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_AES128 Setting */
261 #define MXC_V_CTB_CIPHER_CTRL_CIPHER_AES192            ((uint32_t)0x2UL) /**< CIPHER_CTRL_CIPHER_AES192 Value */
262 #define MXC_S_CTB_CIPHER_CTRL_CIPHER_AES192            (MXC_V_CTB_CIPHER_CTRL_CIPHER_AES192 << MXC_F_CTB_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_AES192 Setting */
263 #define MXC_V_CTB_CIPHER_CTRL_CIPHER_AES256            ((uint32_t)0x3UL) /**< CIPHER_CTRL_CIPHER_AES256 Value */
264 #define MXC_S_CTB_CIPHER_CTRL_CIPHER_AES256            (MXC_V_CTB_CIPHER_CTRL_CIPHER_AES256 << MXC_F_CTB_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_AES256 Setting */
265 #define MXC_V_CTB_CIPHER_CTRL_CIPHER_DES               ((uint32_t)0x4UL) /**< CIPHER_CTRL_CIPHER_DES Value */
266 #define MXC_S_CTB_CIPHER_CTRL_CIPHER_DES               (MXC_V_CTB_CIPHER_CTRL_CIPHER_DES << MXC_F_CTB_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_DES Setting */
267 #define MXC_V_CTB_CIPHER_CTRL_CIPHER_TDES              ((uint32_t)0x5UL) /**< CIPHER_CTRL_CIPHER_TDES Value */
268 #define MXC_S_CTB_CIPHER_CTRL_CIPHER_TDES              (MXC_V_CTB_CIPHER_CTRL_CIPHER_TDES << MXC_F_CTB_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_TDES Setting */
269 
270 #define MXC_F_CTB_CIPHER_CTRL_MODE_POS                 8 /**< CIPHER_CTRL_MODE Position */
271 #define MXC_F_CTB_CIPHER_CTRL_MODE                     ((uint32_t)(0x7UL << MXC_F_CTB_CIPHER_CTRL_MODE_POS)) /**< CIPHER_CTRL_MODE Mask */
272 #define MXC_V_CTB_CIPHER_CTRL_MODE_ECB                 ((uint32_t)0x0UL) /**< CIPHER_CTRL_MODE_ECB Value */
273 #define MXC_S_CTB_CIPHER_CTRL_MODE_ECB                 (MXC_V_CTB_CIPHER_CTRL_MODE_ECB << MXC_F_CTB_CIPHER_CTRL_MODE_POS) /**< CIPHER_CTRL_MODE_ECB Setting */
274 #define MXC_V_CTB_CIPHER_CTRL_MODE_CBC                 ((uint32_t)0x1UL) /**< CIPHER_CTRL_MODE_CBC Value */
275 #define MXC_S_CTB_CIPHER_CTRL_MODE_CBC                 (MXC_V_CTB_CIPHER_CTRL_MODE_CBC << MXC_F_CTB_CIPHER_CTRL_MODE_POS) /**< CIPHER_CTRL_MODE_CBC Setting */
276 #define MXC_V_CTB_CIPHER_CTRL_MODE_CFB                 ((uint32_t)0x2UL) /**< CIPHER_CTRL_MODE_CFB Value */
277 #define MXC_S_CTB_CIPHER_CTRL_MODE_CFB                 (MXC_V_CTB_CIPHER_CTRL_MODE_CFB << MXC_F_CTB_CIPHER_CTRL_MODE_POS) /**< CIPHER_CTRL_MODE_CFB Setting */
278 #define MXC_V_CTB_CIPHER_CTRL_MODE_OFB                 ((uint32_t)0x3UL) /**< CIPHER_CTRL_MODE_OFB Value */
279 #define MXC_S_CTB_CIPHER_CTRL_MODE_OFB                 (MXC_V_CTB_CIPHER_CTRL_MODE_OFB << MXC_F_CTB_CIPHER_CTRL_MODE_POS) /**< CIPHER_CTRL_MODE_OFB Setting */
280 #define MXC_V_CTB_CIPHER_CTRL_MODE_CTR                 ((uint32_t)0x4UL) /**< CIPHER_CTRL_MODE_CTR Value */
281 #define MXC_S_CTB_CIPHER_CTRL_MODE_CTR                 (MXC_V_CTB_CIPHER_CTRL_MODE_CTR << MXC_F_CTB_CIPHER_CTRL_MODE_POS) /**< CIPHER_CTRL_MODE_CTR Setting */
282 
283 #define MXC_F_CTB_CIPHER_CTRL_COMPH_POS                11 /**< CIPHER_CTRL_COMPH Position */
284 #define MXC_F_CTB_CIPHER_CTRL_COMPH                    ((uint32_t)(0x1UL << MXC_F_CTB_CIPHER_CTRL_COMPH_POS)) /**< CIPHER_CTRL_COMPH Mask */
285 
286 #define MXC_F_CTB_CIPHER_CTRL_DTYPE_POS                12 /**< CIPHER_CTRL_DTYPE Position */
287 #define MXC_F_CTB_CIPHER_CTRL_DTYPE                    ((uint32_t)(0x1UL << MXC_F_CTB_CIPHER_CTRL_DTYPE_POS)) /**< CIPHER_CTRL_DTYPE Mask */
288 
289 #define MXC_F_CTB_CIPHER_CTRL_CCMM_POS                 13 /**< CIPHER_CTRL_CCMM Position */
290 #define MXC_F_CTB_CIPHER_CTRL_CCMM                     ((uint32_t)(0x7UL << MXC_F_CTB_CIPHER_CTRL_CCMM_POS)) /**< CIPHER_CTRL_CCMM Mask */
291 
292 #define MXC_F_CTB_CIPHER_CTRL_CCML_POS                 16 /**< CIPHER_CTRL_CCML Position */
293 #define MXC_F_CTB_CIPHER_CTRL_CCML                     ((uint32_t)(0x7UL << MXC_F_CTB_CIPHER_CTRL_CCML_POS)) /**< CIPHER_CTRL_CCML Mask */
294 
295 /**@} end of group CTB_CIPHER_CTRL_Register */
296 
297 /**
298  * @ingroup  ctb_registers
299  * @defgroup CTB_HASH_CTRL CTB_HASH_CTRL
300  * @brief    HASH Control Register.
301  * @{
302  */
303 #define MXC_F_CTB_HASH_CTRL_INIT_POS                   0 /**< HASH_CTRL_INIT Position */
304 #define MXC_F_CTB_HASH_CTRL_INIT                       ((uint32_t)(0x1UL << MXC_F_CTB_HASH_CTRL_INIT_POS)) /**< HASH_CTRL_INIT Mask */
305 
306 #define MXC_F_CTB_HASH_CTRL_XOR_POS                    1 /**< HASH_CTRL_XOR Position */
307 #define MXC_F_CTB_HASH_CTRL_XOR                        ((uint32_t)(0x1UL << MXC_F_CTB_HASH_CTRL_XOR_POS)) /**< HASH_CTRL_XOR Mask */
308 
309 #define MXC_F_CTB_HASH_CTRL_HASH_POS                   2 /**< HASH_CTRL_HASH Position */
310 #define MXC_F_CTB_HASH_CTRL_HASH                       ((uint32_t)(0x7UL << MXC_F_CTB_HASH_CTRL_HASH_POS)) /**< HASH_CTRL_HASH Mask */
311 #define MXC_V_CTB_HASH_CTRL_HASH_DIS                   ((uint32_t)0x0UL) /**< HASH_CTRL_HASH_DIS Value */
312 #define MXC_S_CTB_HASH_CTRL_HASH_DIS                   (MXC_V_CTB_HASH_CTRL_HASH_DIS << MXC_F_CTB_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_DIS Setting */
313 #define MXC_V_CTB_HASH_CTRL_HASH_SHA1                  ((uint32_t)0x1UL) /**< HASH_CTRL_HASH_SHA1 Value */
314 #define MXC_S_CTB_HASH_CTRL_HASH_SHA1                  (MXC_V_CTB_HASH_CTRL_HASH_SHA1 << MXC_F_CTB_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_SHA1 Setting */
315 #define MXC_V_CTB_HASH_CTRL_HASH_SHA224                ((uint32_t)0x2UL) /**< HASH_CTRL_HASH_SHA224 Value */
316 #define MXC_S_CTB_HASH_CTRL_HASH_SHA224                (MXC_V_CTB_HASH_CTRL_HASH_SHA224 << MXC_F_CTB_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_SHA224 Setting */
317 #define MXC_V_CTB_HASH_CTRL_HASH_SHA256                ((uint32_t)0x3UL) /**< HASH_CTRL_HASH_SHA256 Value */
318 #define MXC_S_CTB_HASH_CTRL_HASH_SHA256                (MXC_V_CTB_HASH_CTRL_HASH_SHA256 << MXC_F_CTB_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_SHA256 Setting */
319 #define MXC_V_CTB_HASH_CTRL_HASH_SHA384                ((uint32_t)0x4UL) /**< HASH_CTRL_HASH_SHA384 Value */
320 #define MXC_S_CTB_HASH_CTRL_HASH_SHA384                (MXC_V_CTB_HASH_CTRL_HASH_SHA384 << MXC_F_CTB_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_SHA384 Setting */
321 #define MXC_V_CTB_HASH_CTRL_HASH_SHA512                ((uint32_t)0x5UL) /**< HASH_CTRL_HASH_SHA512 Value */
322 #define MXC_S_CTB_HASH_CTRL_HASH_SHA512                (MXC_V_CTB_HASH_CTRL_HASH_SHA512 << MXC_F_CTB_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_SHA512 Setting */
323 
324 #define MXC_F_CTB_HASH_CTRL_LAST_POS                   5 /**< HASH_CTRL_LAST Position */
325 #define MXC_F_CTB_HASH_CTRL_LAST                       ((uint32_t)(0x1UL << MXC_F_CTB_HASH_CTRL_LAST_POS)) /**< HASH_CTRL_LAST Mask */
326 
327 /**@} end of group CTB_HASH_CTRL_Register */
328 
329 /**
330  * @ingroup  ctb_registers
331  * @defgroup CTB_CRC_CTRL CTB_CRC_CTRL
332  * @brief    CRC Control Register.
333  * @{
334  */
335 #define MXC_F_CTB_CRC_CTRL_CRC_POS                     0 /**< CRC_CTRL_CRC Position */
336 #define MXC_F_CTB_CRC_CTRL_CRC                         ((uint32_t)(0x1UL << MXC_F_CTB_CRC_CTRL_CRC_POS)) /**< CRC_CTRL_CRC Mask */
337 
338 #define MXC_F_CTB_CRC_CTRL_MSB_POS                     1 /**< CRC_CTRL_MSB Position */
339 #define MXC_F_CTB_CRC_CTRL_MSB                         ((uint32_t)(0x1UL << MXC_F_CTB_CRC_CTRL_MSB_POS)) /**< CRC_CTRL_MSB Mask */
340 
341 #define MXC_F_CTB_CRC_CTRL_PRNG_POS                    2 /**< CRC_CTRL_PRNG Position */
342 #define MXC_F_CTB_CRC_CTRL_PRNG                        ((uint32_t)(0x1UL << MXC_F_CTB_CRC_CTRL_PRNG_POS)) /**< CRC_CTRL_PRNG Mask */
343 
344 #define MXC_F_CTB_CRC_CTRL_ENT_POS                     3 /**< CRC_CTRL_ENT Position */
345 #define MXC_F_CTB_CRC_CTRL_ENT                         ((uint32_t)(0x1UL << MXC_F_CTB_CRC_CTRL_ENT_POS)) /**< CRC_CTRL_ENT Mask */
346 
347 #define MXC_F_CTB_CRC_CTRL_HAM_POS                     4 /**< CRC_CTRL_HAM Position */
348 #define MXC_F_CTB_CRC_CTRL_HAM                         ((uint32_t)(0x1UL << MXC_F_CTB_CRC_CTRL_HAM_POS)) /**< CRC_CTRL_HAM Mask */
349 
350 #define MXC_F_CTB_CRC_CTRL_HRST_POS                    5 /**< CRC_CTRL_HRST Position */
351 #define MXC_F_CTB_CRC_CTRL_HRST                        ((uint32_t)(0x1UL << MXC_F_CTB_CRC_CTRL_HRST_POS)) /**< CRC_CTRL_HRST Mask */
352 
353 /**@} end of group CTB_CRC_CTRL_Register */
354 
355 /**
356  * @ingroup  ctb_registers
357  * @defgroup CTB_DMA_SRC CTB_DMA_SRC
358  * @brief    Crypto DMA Source Address.
359  * @{
360  */
361 #define MXC_F_CTB_DMA_SRC_ADDR_POS                     0 /**< DMA_SRC_ADDR Position */
362 #define MXC_F_CTB_DMA_SRC_ADDR                         ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_DMA_SRC_ADDR_POS)) /**< DMA_SRC_ADDR Mask */
363 
364 /**@} end of group CTB_DMA_SRC_Register */
365 
366 /**
367  * @ingroup  ctb_registers
368  * @defgroup CTB_DMA_DEST CTB_DMA_DEST
369  * @brief    Crypto DMA Destination Address.
370  * @{
371  */
372 #define MXC_F_CTB_DMA_DEST_ADDR_POS                    0 /**< DMA_DEST_ADDR Position */
373 #define MXC_F_CTB_DMA_DEST_ADDR                        ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_DMA_DEST_ADDR_POS)) /**< DMA_DEST_ADDR Mask */
374 
375 /**@} end of group CTB_DMA_DEST_Register */
376 
377 /**
378  * @ingroup  ctb_registers
379  * @defgroup CTB_DMA_CNT CTB_DMA_CNT
380  * @brief    Crypto DMA Byte Count.
381  * @{
382  */
383 #define MXC_F_CTB_DMA_CNT_CNT_POS                      0 /**< DMA_CNT_CNT Position */
384 #define MXC_F_CTB_DMA_CNT_CNT                          ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_DMA_CNT_CNT_POS)) /**< DMA_CNT_CNT Mask */
385 
386 /**@} end of group CTB_DMA_CNT_Register */
387 
388 /**
389  * @ingroup  ctb_registers
390  * @defgroup CTB_CRYPTO_DIN CTB_CRYPTO_DIN
391  * @brief    Crypto Data Input. Data input can be written to this register instead of using
392  *           the DMA. This register writes to the FIFO. This register occupies four
393  *           successive words to allow the use of multi-store instructions. Words can be
394  *           written to any location, they will be placed in the FIFO in the order they are
395  *           written. The endian swap input control bit affects this register.
396  * @{
397  */
398 #define MXC_F_CTB_CRYPTO_DIN_DATA_POS                  0 /**< CRYPTO_DIN_DATA Position */
399 #define MXC_F_CTB_CRYPTO_DIN_DATA                      ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_CRYPTO_DIN_DATA_POS)) /**< CRYPTO_DIN_DATA Mask */
400 
401 /**@} end of group CTB_CRYPTO_DIN_Register */
402 
403 /**
404  * @ingroup  ctb_registers
405  * @defgroup CTB_CRYPTO_DOUT CTB_CRYPTO_DOUT
406  * @brief    Crypto Data Output. Resulting data from cipher calculation. Data is placed in
407  *           the lower words of these four registers depending on the algorithm. For block
408  *           cipher modes, this register holds the result of most recent encryption or
409  *           decryption operation. These registers are affected by the endian swap bits.
410  * @{
411  */
412 #define MXC_F_CTB_CRYPTO_DOUT_DATA_POS                 0 /**< CRYPTO_DOUT_DATA Position */
413 #define MXC_F_CTB_CRYPTO_DOUT_DATA                     ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_CRYPTO_DOUT_DATA_POS)) /**< CRYPTO_DOUT_DATA Mask */
414 
415 /**@} end of group CTB_CRYPTO_DOUT_Register */
416 
417 /**
418  * @ingroup  ctb_registers
419  * @defgroup CTB_CRC_POLY CTB_CRC_POLY
420  * @brief    CRC Polynomial. The polynomial to be used for Galois Field calculations (CRC or
421  *           LFSR) should be written to this register. This register is affected by the MSB
422  *           control bit.
423  * @{
424  */
425 #define MXC_F_CTB_CRC_POLY_POLY_POS                    0 /**< CRC_POLY_POLY Position */
426 #define MXC_F_CTB_CRC_POLY_POLY                        ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_CRC_POLY_POLY_POS)) /**< CRC_POLY_POLY Mask */
427 
428 /**@} end of group CTB_CRC_POLY_Register */
429 
430 /**
431  * @ingroup  ctb_registers
432  * @defgroup CTB_CRC_VAL CTB_CRC_VAL
433  * @brief    CRC Value. This is the state for the Galois Field. This register holds the
434  *           result of a CRC calculation or the current state of the LFSR. This register is
435  *           affected by the MSB control bit.
436  * @{
437  */
438 #define MXC_F_CTB_CRC_VAL_VAL_POS                      0 /**< CRC_VAL_VAL Position */
439 #define MXC_F_CTB_CRC_VAL_VAL                          ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_CRC_VAL_VAL_POS)) /**< CRC_VAL_VAL Mask */
440 
441 /**@} end of group CTB_CRC_VAL_Register */
442 
443 /**
444  * @ingroup  ctb_registers
445  * @defgroup CTB_CRC_PRNG CTB_CRC_PRNG
446  * @brief    Pseudo-Random Number Generator. Output of the Galois Field shift register. This
447  *           holds the resulting pseudo-random number if entropy is disabled or true random
448  *           number if entropy is enabled.
449  * @{
450  */
451 #define MXC_F_CTB_CRC_PRNG_PRNG_POS                    0 /**< CRC_PRNG_PRNG Position */
452 #define MXC_F_CTB_CRC_PRNG_PRNG                        ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_CRC_PRNG_PRNG_POS)) /**< CRC_PRNG_PRNG Mask */
453 
454 /**@} end of group CTB_CRC_PRNG_Register */
455 
456 /**
457  * @ingroup  ctb_registers
458  * @defgroup CTB_HAM_ECC CTB_HAM_ECC
459  * @brief    Hamming ECC Register.
460  * @{
461  */
462 #define MXC_F_CTB_HAM_ECC_ECC_POS                      0 /**< HAM_ECC_ECC Position */
463 #define MXC_F_CTB_HAM_ECC_ECC                          ((uint32_t)(0xFFFFUL << MXC_F_CTB_HAM_ECC_ECC_POS)) /**< HAM_ECC_ECC Mask */
464 
465 #define MXC_F_CTB_HAM_ECC_PAR_POS                      16 /**< HAM_ECC_PAR Position */
466 #define MXC_F_CTB_HAM_ECC_PAR                          ((uint32_t)(0x1UL << MXC_F_CTB_HAM_ECC_PAR_POS)) /**< HAM_ECC_PAR Mask */
467 
468 /**@} end of group CTB_HAM_ECC_Register */
469 
470 /**
471  * @ingroup  ctb_registers
472  * @defgroup CTB_CIPHER_INIT CTB_CIPHER_INIT
473  * @brief    Initial Vector. For block cipher operations that use CBC, CFB, OFB, or CNTR
474  *           modes, this register holds the initial value. This register is updated with each
475  *           encryption or decryption operation. This register is affected by the endian swap
476  *           bits.
477  * @{
478  */
479 #define MXC_F_CTB_CIPHER_INIT_IVEC_POS                 0 /**< CIPHER_INIT_IVEC Position */
480 #define MXC_F_CTB_CIPHER_INIT_IVEC                     ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_CIPHER_INIT_IVEC_POS)) /**< CIPHER_INIT_IVEC Mask */
481 
482 /**@} end of group CTB_CIPHER_INIT_Register */
483 
484 /**
485  * @ingroup  ctb_registers
486  * @defgroup CTB_CIPHER_KEY CTB_CIPHER_KEY
487  * @brief    Cipher Key.  This register holds the key used for block cipher operations. The
488  *           lower words are used for block ciphers that use shorter key lengths. This
489  *           register is affected by the endian swap input control bits.
490  * @{
491  */
492 #define MXC_F_CTB_CIPHER_KEY_KEY_POS                   0 /**< CIPHER_KEY_KEY Position */
493 #define MXC_F_CTB_CIPHER_KEY_KEY                       ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_CIPHER_KEY_KEY_POS)) /**< CIPHER_KEY_KEY Mask */
494 
495 /**@} end of group CTB_CIPHER_KEY_Register */
496 
497 /**
498  * @ingroup  ctb_registers
499  * @defgroup CTB_HASH_DIGEST CTB_HASH_DIGEST
500  * @brief    This register holds the calculated hash value. This register is affected by the
501  *           endian swap bits.
502  * @{
503  */
504 #define MXC_F_CTB_HASH_DIGEST_HASH_POS                 0 /**< HASH_DIGEST_HASH Position */
505 #define MXC_F_CTB_HASH_DIGEST_HASH                     ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_HASH_DIGEST_HASH_POS)) /**< HASH_DIGEST_HASH Mask */
506 
507 /**@} end of group CTB_HASH_DIGEST_Register */
508 
509 /**
510  * @ingroup  ctb_registers
511  * @defgroup CTB_HASH_MSG_SZ CTB_HASH_MSG_SZ
512  * @brief    Message Size. This register holds the lowest 32-bit of message size in bytes.
513  * @{
514  */
515 #define MXC_F_CTB_HASH_MSG_SZ_MSGSZ_POS                0 /**< HASH_MSG_SZ_MSGSZ Position */
516 #define MXC_F_CTB_HASH_MSG_SZ_MSGSZ                    ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_HASH_MSG_SZ_MSGSZ_POS)) /**< HASH_MSG_SZ_MSGSZ Mask */
517 
518 /**@} end of group CTB_HASH_MSG_SZ_Register */
519 
520 /**
521  * @ingroup  ctb_registers
522  * @defgroup CTB_A_LENGTH_0 CTB_A_LENGTH_0
523  * @brief    .AAD Length Register 0.
524  * @{
525  */
526 #define MXC_F_CTB_A_LENGTH_0_A_LENGTH_POS              0 /**< A_LENGTH_0_A_LENGTH Position */
527 #define MXC_F_CTB_A_LENGTH_0_A_LENGTH                  ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_A_LENGTH_0_A_LENGTH_POS)) /**< A_LENGTH_0_A_LENGTH Mask */
528 
529 /**@} end of group CTB_A_LENGTH_0_Register */
530 
531 /**
532  * @ingroup  ctb_registers
533  * @defgroup CTB_A_LENGTH_1 CTB_A_LENGTH_1
534  * @brief    .AAD Length Register 1.
535  * @{
536  */
537 #define MXC_F_CTB_A_LENGTH_1_A_LENGTH_POS              0 /**< A_LENGTH_1_A_LENGTH Position */
538 #define MXC_F_CTB_A_LENGTH_1_A_LENGTH                  ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_A_LENGTH_1_A_LENGTH_POS)) /**< A_LENGTH_1_A_LENGTH Mask */
539 
540 /**@} end of group CTB_A_LENGTH_1_Register */
541 
542 /**
543  * @ingroup  ctb_registers
544  * @defgroup CTB_PLD_LENGTH_0 CTB_PLD_LENGTH_0
545  * @brief    .PLD Length Register 0.
546  * @{
547  */
548 #define MXC_F_CTB_PLD_LENGTH_0_PLD_LENGTH_POS          0 /**< PLD_LENGTH_0_PLD_LENGTH Position */
549 #define MXC_F_CTB_PLD_LENGTH_0_PLD_LENGTH              ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_PLD_LENGTH_0_PLD_LENGTH_POS)) /**< PLD_LENGTH_0_PLD_LENGTH Mask */
550 
551 /**@} end of group CTB_PLD_LENGTH_0_Register */
552 
553 /**
554  * @ingroup  ctb_registers
555  * @defgroup CTB_PLD_LENGTH_1 CTB_PLD_LENGTH_1
556  * @brief    .LENGTH.
557  * @{
558  */
559 #define MXC_F_CTB_PLD_LENGTH_1_PLD_LENGTH_POS          0 /**< PLD_LENGTH_1_PLD_LENGTH Position */
560 #define MXC_F_CTB_PLD_LENGTH_1_PLD_LENGTH              ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_PLD_LENGTH_1_PLD_LENGTH_POS)) /**< PLD_LENGTH_1_PLD_LENGTH Mask */
561 
562 /**@} end of group CTB_PLD_LENGTH_1_Register */
563 
564 /**
565  * @ingroup  ctb_registers
566  * @defgroup CTB_TAGMIC CTB_TAGMIC
567  * @brief    TAG/MIC Registers.
568  * @{
569  */
570 #define MXC_F_CTB_TAGMIC_TAGMIC_POS                    0 /**< TAGMIC_TAGMIC Position */
571 #define MXC_F_CTB_TAGMIC_TAGMIC                        ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_TAGMIC_TAGMIC_POS)) /**< TAGMIC_TAGMIC Mask */
572 
573 /**@} end of group CTB_TAGMIC_Register */
574 
575 /**
576  * @ingroup  ctb_registers
577  * @defgroup CTB_SCA_CN CTB_SCA_CN
578  * @brief    SCA Control 0 Register.
579  * @{
580  */
581 #define MXC_F_CTB_SCA_CN_STC_POS                       0 /**< SCA_CN_STC Position */
582 #define MXC_F_CTB_SCA_CN_STC                           ((uint32_t)(0x1UL << MXC_F_CTB_SCA_CN_STC_POS)) /**< SCA_CN_STC Mask */
583 
584 #define MXC_F_CTB_SCA_CN_SCAIE_POS                     1 /**< SCA_CN_SCAIE Position */
585 #define MXC_F_CTB_SCA_CN_SCAIE                         ((uint32_t)(0x1UL << MXC_F_CTB_SCA_CN_SCAIE_POS)) /**< SCA_CN_SCAIE Mask */
586 
587 #define MXC_F_CTB_SCA_CN_ABORT_POS                     2 /**< SCA_CN_ABORT Position */
588 #define MXC_F_CTB_SCA_CN_ABORT                         ((uint32_t)(0x1UL << MXC_F_CTB_SCA_CN_ABORT_POS)) /**< SCA_CN_ABORT Mask */
589 
590 #define MXC_F_CTB_SCA_CN_ERMEM_POS                     4 /**< SCA_CN_ERMEM Position */
591 #define MXC_F_CTB_SCA_CN_ERMEM                         ((uint32_t)(0x1UL << MXC_F_CTB_SCA_CN_ERMEM_POS)) /**< SCA_CN_ERMEM Mask */
592 
593 #define MXC_F_CTB_SCA_CN_MANPARAM_POS                  5 /**< SCA_CN_MANPARAM Position */
594 #define MXC_F_CTB_SCA_CN_MANPARAM                      ((uint32_t)(0x1UL << MXC_F_CTB_SCA_CN_MANPARAM_POS)) /**< SCA_CN_MANPARAM Mask */
595 
596 #define MXC_F_CTB_SCA_CN_HWKEY_POS                     6 /**< SCA_CN_HWKEY Position */
597 #define MXC_F_CTB_SCA_CN_HWKEY                         ((uint32_t)(0x1UL << MXC_F_CTB_SCA_CN_HWKEY_POS)) /**< SCA_CN_HWKEY Mask */
598 
599 #define MXC_F_CTB_SCA_CN_OPCODE_POS                    8 /**< SCA_CN_OPCODE Position */
600 #define MXC_F_CTB_SCA_CN_OPCODE                        ((uint32_t)(0x1FUL << MXC_F_CTB_SCA_CN_OPCODE_POS)) /**< SCA_CN_OPCODE Mask */
601 
602 #define MXC_F_CTB_SCA_CN_MODADDR_POS                   16 /**< SCA_CN_MODADDR Position */
603 #define MXC_F_CTB_SCA_CN_MODADDR                       ((uint32_t)(0x1FUL << MXC_F_CTB_SCA_CN_MODADDR_POS)) /**< SCA_CN_MODADDR Mask */
604 
605 #define MXC_F_CTB_SCA_CN_ECCSIZE_POS                   24 /**< SCA_CN_ECCSIZE Position */
606 #define MXC_F_CTB_SCA_CN_ECCSIZE                       ((uint32_t)(0x3UL << MXC_F_CTB_SCA_CN_ECCSIZE_POS)) /**< SCA_CN_ECCSIZE Mask */
607 
608 /**@} end of group CTB_SCA_CN_Register */
609 
610 /**
611  * @ingroup  ctb_registers
612  * @defgroup CTB_SCA_ACN CTB_SCA_ACN
613  * @brief    SCA Advanced Control Register.
614  * @{
615  */
616 #define MXC_F_CTB_SCA_ACN_MAN_POS                      0 /**< SCA_ACN_MAN Position */
617 #define MXC_F_CTB_SCA_ACN_MAN                          ((uint32_t)(0x1UL << MXC_F_CTB_SCA_ACN_MAN_POS)) /**< SCA_ACN_MAN Mask */
618 
619 #define MXC_F_CTB_SCA_ACN_AUTOCARRY_POS                1 /**< SCA_ACN_AUTOCARRY Position */
620 #define MXC_F_CTB_SCA_ACN_AUTOCARRY                    ((uint32_t)(0x1UL << MXC_F_CTB_SCA_ACN_AUTOCARRY_POS)) /**< SCA_ACN_AUTOCARRY Mask */
621 
622 #define MXC_F_CTB_SCA_ACN_PLUSONE_POS                  2 /**< SCA_ACN_PLUSONE Position */
623 #define MXC_F_CTB_SCA_ACN_PLUSONE                      ((uint32_t)(0x1UL << MXC_F_CTB_SCA_ACN_PLUSONE_POS)) /**< SCA_ACN_PLUSONE Mask */
624 
625 #define MXC_F_CTB_SCA_ACN_RESSELECT_POS                3 /**< SCA_ACN_RESSELECT Position */
626 #define MXC_F_CTB_SCA_ACN_RESSELECT                    ((uint32_t)(0x3UL << MXC_F_CTB_SCA_ACN_RESSELECT_POS)) /**< SCA_ACN_RESSELECT Mask */
627 
628 #define MXC_F_CTB_SCA_ACN_CARRYPOS_POS                 8 /**< SCA_ACN_CARRYPOS Position */
629 #define MXC_F_CTB_SCA_ACN_CARRYPOS                     ((uint32_t)(0x3FFUL << MXC_F_CTB_SCA_ACN_CARRYPOS_POS)) /**< SCA_ACN_CARRYPOS Mask */
630 
631 /**@} end of group CTB_SCA_ACN_Register */
632 
633 /**
634  * @ingroup  ctb_registers
635  * @defgroup CTB_SCA_ST CTB_SCA_ST
636  * @brief    SCA Status Register.
637  * @{
638  */
639 #define MXC_F_CTB_SCA_ST_BUSY_POS                      0 /**< SCA_ST_BUSY Position */
640 #define MXC_F_CTB_SCA_ST_BUSY                          ((uint32_t)(0x1UL << MXC_F_CTB_SCA_ST_BUSY_POS)) /**< SCA_ST_BUSY Mask */
641 
642 #define MXC_F_CTB_SCA_ST_SCAIF_POS                     1 /**< SCA_ST_SCAIF Position */
643 #define MXC_F_CTB_SCA_ST_SCAIF                         ((uint32_t)(0x1UL << MXC_F_CTB_SCA_ST_SCAIF_POS)) /**< SCA_ST_SCAIF Mask */
644 
645 #define MXC_F_CTB_SCA_ST_PVF1_POS                      2 /**< SCA_ST_PVF1 Position */
646 #define MXC_F_CTB_SCA_ST_PVF1                          ((uint32_t)(0x1UL << MXC_F_CTB_SCA_ST_PVF1_POS)) /**< SCA_ST_PVF1 Mask */
647 
648 #define MXC_F_CTB_SCA_ST_PVF2_POS                      3 /**< SCA_ST_PVF2 Position */
649 #define MXC_F_CTB_SCA_ST_PVF2                          ((uint32_t)(0x1UL << MXC_F_CTB_SCA_ST_PVF2_POS)) /**< SCA_ST_PVF2 Mask */
650 
651 #define MXC_F_CTB_SCA_ST_FSMERR_POS                    4 /**< SCA_ST_FSMERR Position */
652 #define MXC_F_CTB_SCA_ST_FSMERR                        ((uint32_t)(0x1UL << MXC_F_CTB_SCA_ST_FSMERR_POS)) /**< SCA_ST_FSMERR Mask */
653 
654 #define MXC_F_CTB_SCA_ST_COMPERR_POS                   5 /**< SCA_ST_COMPERR Position */
655 #define MXC_F_CTB_SCA_ST_COMPERR                       ((uint32_t)(0x1UL << MXC_F_CTB_SCA_ST_COMPERR_POS)) /**< SCA_ST_COMPERR Mask */
656 
657 #define MXC_F_CTB_SCA_ST_MEMERR_POS                    6 /**< SCA_ST_MEMERR Position */
658 #define MXC_F_CTB_SCA_ST_MEMERR                        ((uint32_t)(0x1UL << MXC_F_CTB_SCA_ST_MEMERR_POS)) /**< SCA_ST_MEMERR Mask */
659 
660 #define MXC_F_CTB_SCA_ST_CARRY_POS                     8 /**< SCA_ST_CARRY Position */
661 #define MXC_F_CTB_SCA_ST_CARRY                         ((uint32_t)(0x1UL << MXC_F_CTB_SCA_ST_CARRY_POS)) /**< SCA_ST_CARRY Mask */
662 
663 #define MXC_F_CTB_SCA_ST_GTE2I2_POS                    9 /**< SCA_ST_GTE2I2 Position */
664 #define MXC_F_CTB_SCA_ST_GTE2I2                        ((uint32_t)(0x1UL << MXC_F_CTB_SCA_ST_GTE2I2_POS)) /**< SCA_ST_GTE2I2 Mask */
665 
666 #define MXC_F_CTB_SCA_ST_ALUNEG1_POS                   10 /**< SCA_ST_ALUNEG1 Position */
667 #define MXC_F_CTB_SCA_ST_ALUNEG1                       ((uint32_t)(0x1UL << MXC_F_CTB_SCA_ST_ALUNEG1_POS)) /**< SCA_ST_ALUNEG1 Mask */
668 
669 #define MXC_F_CTB_SCA_ST_ALUNEG2_POS                   11 /**< SCA_ST_ALUNEG2 Position */
670 #define MXC_F_CTB_SCA_ST_ALUNEG2                       ((uint32_t)(0x1UL << MXC_F_CTB_SCA_ST_ALUNEG2_POS)) /**< SCA_ST_ALUNEG2 Mask */
671 
672 /**@} end of group CTB_SCA_ST_Register */
673 
674 /**
675  * @ingroup  ctb_registers
676  * @defgroup CTB_SCA_PPX_ADDR CTB_SCA_PPX_ADDR
677  * @brief    PPX Coordinate Data Pointer Register.
678  * @{
679  */
680 #define MXC_F_CTB_SCA_PPX_ADDR_PPX_ADDR_POS            0 /**< SCA_PPX_ADDR_PPX_ADDR Position */
681 #define MXC_F_CTB_SCA_PPX_ADDR_PPX_ADDR                ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_SCA_PPX_ADDR_PPX_ADDR_POS)) /**< SCA_PPX_ADDR_PPX_ADDR Mask */
682 
683 /**@} end of group CTB_SCA_PPX_ADDR_Register */
684 
685 /**
686  * @ingroup  ctb_registers
687  * @defgroup CTB_SCA_PPY_ADDR CTB_SCA_PPY_ADDR
688  * @brief    PPY Coordinate Data Pointer Register.
689  * @{
690  */
691 #define MXC_F_CTB_SCA_PPY_ADDR_PPY_ADDR_POS            0 /**< SCA_PPY_ADDR_PPY_ADDR Position */
692 #define MXC_F_CTB_SCA_PPY_ADDR_PPY_ADDR                ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_SCA_PPY_ADDR_PPY_ADDR_POS)) /**< SCA_PPY_ADDR_PPY_ADDR Mask */
693 
694 /**@} end of group CTB_SCA_PPY_ADDR_Register */
695 
696 /**
697  * @ingroup  ctb_registers
698  * @defgroup CTB_SCA_PPZ_ADDR CTB_SCA_PPZ_ADDR
699  * @brief    PPZ Coordinate Data Pointer Register.
700  * @{
701  */
702 #define MXC_F_CTB_SCA_PPZ_ADDR_PPZ_ADDR_POS            0 /**< SCA_PPZ_ADDR_PPZ_ADDR Position */
703 #define MXC_F_CTB_SCA_PPZ_ADDR_PPZ_ADDR                ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_SCA_PPZ_ADDR_PPZ_ADDR_POS)) /**< SCA_PPZ_ADDR_PPZ_ADDR Mask */
704 
705 /**@} end of group CTB_SCA_PPZ_ADDR_Register */
706 
707 /**
708  * @ingroup  ctb_registers
709  * @defgroup CTB_SCA_PQX_ADDR CTB_SCA_PQX_ADDR
710  * @brief    PQX Coordinate Data Pointer Register.
711  * @{
712  */
713 #define MXC_F_CTB_SCA_PQX_ADDR_PQX_ADDR_POS            0 /**< SCA_PQX_ADDR_PQX_ADDR Position */
714 #define MXC_F_CTB_SCA_PQX_ADDR_PQX_ADDR                ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_SCA_PQX_ADDR_PQX_ADDR_POS)) /**< SCA_PQX_ADDR_PQX_ADDR Mask */
715 
716 /**@} end of group CTB_SCA_PQX_ADDR_Register */
717 
718 /**
719  * @ingroup  ctb_registers
720  * @defgroup CTB_SCA_PQY_ADDR CTB_SCA_PQY_ADDR
721  * @brief    PQY Coordinate Data Pointer Register.
722  * @{
723  */
724 #define MXC_F_CTB_SCA_PQY_ADDR_PQY_ADDR_POS            0 /**< SCA_PQY_ADDR_PQY_ADDR Position */
725 #define MXC_F_CTB_SCA_PQY_ADDR_PQY_ADDR                ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_SCA_PQY_ADDR_PQY_ADDR_POS)) /**< SCA_PQY_ADDR_PQY_ADDR Mask */
726 
727 /**@} end of group CTB_SCA_PQY_ADDR_Register */
728 
729 /**
730  * @ingroup  ctb_registers
731  * @defgroup CTB_SCA_PQZ_ADDR CTB_SCA_PQZ_ADDR
732  * @brief    PQZ Coordinate Data Pointer Register.
733  * @{
734  */
735 #define MXC_F_CTB_SCA_PQZ_ADDR_PQZ_ADDR_POS            0 /**< SCA_PQZ_ADDR_PQZ_ADDR Position */
736 #define MXC_F_CTB_SCA_PQZ_ADDR_PQZ_ADDR                ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_SCA_PQZ_ADDR_PQZ_ADDR_POS)) /**< SCA_PQZ_ADDR_PQZ_ADDR Mask */
737 
738 /**@} end of group CTB_SCA_PQZ_ADDR_Register */
739 
740 /**
741  * @ingroup  ctb_registers
742  * @defgroup CTB_SCA_RDSA_ADDR CTB_SCA_RDSA_ADDR
743  * @brief    SCA RDSA Address Register.
744  * @{
745  */
746 #define MXC_F_CTB_SCA_RDSA_ADDR_RDSA_ADDR_POS          0 /**< SCA_RDSA_ADDR_RDSA_ADDR Position */
747 #define MXC_F_CTB_SCA_RDSA_ADDR_RDSA_ADDR              ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_SCA_RDSA_ADDR_RDSA_ADDR_POS)) /**< SCA_RDSA_ADDR_RDSA_ADDR Mask */
748 
749 /**@} end of group CTB_SCA_RDSA_ADDR_Register */
750 
751 /**
752  * @ingroup  ctb_registers
753  * @defgroup CTB_SCA_RES_ADDR CTB_SCA_RES_ADDR
754  * @brief    SCA Result Address Register.
755  * @{
756  */
757 #define MXC_F_CTB_SCA_RES_ADDR_RES_ADDR_POS            0 /**< SCA_RES_ADDR_RES_ADDR Position */
758 #define MXC_F_CTB_SCA_RES_ADDR_RES_ADDR                ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_SCA_RES_ADDR_RES_ADDR_POS)) /**< SCA_RES_ADDR_RES_ADDR Mask */
759 
760 /**@} end of group CTB_SCA_RES_ADDR_Register */
761 
762 /**
763  * @ingroup  ctb_registers
764  * @defgroup CTB_SCA_OP_BUFF_ADDR CTB_SCA_OP_BUFF_ADDR
765  * @brief    SCA Operation Buffer Address Register.
766  * @{
767  */
768 #define MXC_F_CTB_SCA_OP_BUFF_ADDR_OPBUFF_ADDR_POS     0 /**< SCA_OP_BUFF_ADDR_OPBUFF_ADDR Position */
769 #define MXC_F_CTB_SCA_OP_BUFF_ADDR_OPBUFF_ADDR         ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_SCA_OP_BUFF_ADDR_OPBUFF_ADDR_POS)) /**< SCA_OP_BUFF_ADDR_OPBUFF_ADDR Mask */
770 
771 /**@} end of group CTB_SCA_OP_BUFF_ADDR_Register */
772 
773 /**
774  * @ingroup  ctb_registers
775  * @defgroup CTB_SCA_MODDATA CTB_SCA_MODDATA
776  * @brief    SCA Modulo Data Input Register.
777  * @{
778  */
779 #define MXC_F_CTB_SCA_MODDATA_MODDATA_POS              0 /**< SCA_MODDATA_MODDATA Position */
780 #define MXC_F_CTB_SCA_MODDATA_MODDATA                  ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_SCA_MODDATA_MODDATA_POS)) /**< SCA_MODDATA_MODDATA Mask */
781 
782 /**@} end of group CTB_SCA_MODDATA_Register */
783 
784 #ifdef __cplusplus
785 }
786 #endif
787 
788 #endif // LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32520_INCLUDE_CTB_REGS_H_
789