1 /** 2 * @file ctb__reva_regs.h 3 * @brief Registers, Bit Masks and Bit Positions for the CTB Peripheral Module. 4 */ 5 6 /****************************************************************************** 7 * 8 * Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by 9 * Analog Devices, Inc.), 10 * Copyright (C) 2023-2024 Analog Devices, Inc. 11 * 12 * Licensed under the Apache License, Version 2.0 (the "License"); 13 * you may not use this file except in compliance with the License. 14 * You may obtain a copy of the License at 15 * 16 * http://www.apache.org/licenses/LICENSE-2.0 17 * 18 * Unless required by applicable law or agreed to in writing, software 19 * distributed under the License is distributed on an "AS IS" BASIS, 20 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 * See the License for the specific language governing permissions and 22 * limitations under the License. 23 * 24 ******************************************************************************/ 25 26 #ifndef _CTB_REVA_REGS_H_ 27 #define _CTB_REVA_REGS_H_ 28 29 /* **** Includes **** */ 30 #include <stdint.h> 31 32 #ifdef __cplusplus 33 extern "C" { 34 #endif 35 36 #if defined (__ICCARM__) 37 #pragma system_include 38 #endif 39 40 #if defined (__CC_ARM) 41 #pragma anon_unions 42 #endif 43 /// @cond 44 /* 45 If types are not defined elsewhere (CMSIS) define them here 46 */ 47 #ifndef __IO 48 #define __IO volatile 49 #endif 50 #ifndef __I 51 #define __I volatile const 52 #endif 53 #ifndef __O 54 #define __O volatile 55 #endif 56 #ifndef __R 57 #define __R volatile const 58 #endif 59 /// @endcond 60 61 /* **** Definitions **** */ 62 63 /** 64 * @ingroup ctb 65 * @defgroup ctb_reva_registers CTB_RevA_Registers 66 * @brief Registers, Bit Masks and Bit Positions for the CTB Peripheral Module. 67 * @details The Cryptographic Toolbox is a combination of cryptographic engines and a secure cryptographic accelerator (SCA) used to provide advanced cryptographic security. 68 */ 69 70 /** 71 * @ingroup ctb_reva_registers 72 * Structure type to access the CTB Registers. 73 */ 74 typedef struct { 75 __IO uint32_t ctrl; /**< <tt>\b 0x00:</tt> CTB CTRL Register */ 76 __IO uint32_t cipher_ctrl; /**< <tt>\b 0x04:</tt> CTB CIPHER_CTRL Register */ 77 __IO uint32_t hash_ctrl; /**< <tt>\b 0x08:</tt> CTB HASH_CTRL Register */ 78 __IO uint32_t crc_ctrl; /**< <tt>\b 0x0C:</tt> CTB CRC_CTRL Register */ 79 __IO uint32_t dma_src; /**< <tt>\b 0x10:</tt> CTB DMA_SRC Register */ 80 __IO uint32_t dma_dest; /**< <tt>\b 0x14:</tt> CTB DMA_DEST Register */ 81 __IO uint32_t dma_cnt; /**< <tt>\b 0x18:</tt> CTB DMA_CNT Register */ 82 __R uint32_t rsv_0x1c; 83 __O uint32_t din[4]; /**< <tt>\b 0x20:</tt> CTB DIN Register */ 84 __I uint32_t dout[4]; /**< <tt>\b 0x30:</tt> CTB DOUT Register */ 85 __IO uint32_t crc_poly; /**< <tt>\b 0x40:</tt> CTB CRC_POLY Register */ 86 __IO uint32_t crc_val; /**< <tt>\b 0x44:</tt> CTB CRC_VAL Register */ 87 __R uint32_t rsv_0x48; 88 __IO uint32_t ham_ecc; /**< <tt>\b 0x4C:</tt> CTB HAM_ECC Register */ 89 __IO uint32_t cipher_init[4]; /**< <tt>\b 0x50:</tt> CTB CIPHER_INIT Register */ 90 __O uint32_t cipher_key[8]; /**< <tt>\b 0x60:</tt> CTB CIPHER_KEY Register */ 91 __IO uint32_t hash_digest[16]; /**< <tt>\b 0x80:</tt> CTB HASH_DIGEST Register */ 92 __IO uint32_t hash_msg_sz[4]; /**< <tt>\b 0xC0:</tt> CTB HASH_MSG_SZ Register */ 93 __IO uint32_t aad_length_0; /**< <tt>\b 0xD0:</tt> CTB AAD_LENGTH_0 Register */ 94 __IO uint32_t aad_length_1; /**< <tt>\b 0xD4:</tt> CTB AAD_LENGTH_1 Register */ 95 __IO uint32_t pld_length_0; /**< <tt>\b 0xD8:</tt> CTB PLD_LENGTH_0 Register */ 96 __IO uint32_t pld_length_1; /**< <tt>\b 0xDC:</tt> CTB PLD_LENGTH_1 Register */ 97 __IO uint32_t tagmic[4]; /**< <tt>\b 0xE0:</tt> CTB TAGMIC Register */ 98 __R uint32_t rsv_0xf0_0xff[4]; 99 __IO uint32_t sca_ctrl0; /**< <tt>\b 0x100:</tt> CTB SCA_CTRL0 Register */ 100 __IO uint32_t sca_ctrl1; /**< <tt>\b 0x104:</tt> CTB SCA_CTRL1 Register */ 101 __IO uint32_t sca_stat; /**< <tt>\b 0x108:</tt> CTB SCA_STAT Register */ 102 __IO uint32_t sca_ppx_addr; /**< <tt>\b 0x10C:</tt> CTB SCA_PPX_ADDR Register */ 103 __IO uint32_t sca_ppy_addr; /**< <tt>\b 0x110:</tt> CTB SCA_PPY_ADDR Register */ 104 __IO uint32_t sca_ppz_addr; /**< <tt>\b 0x114:</tt> CTB SCA_PPZ_ADDR Register */ 105 __IO uint32_t sca_pqx_addr; /**< <tt>\b 0x118:</tt> CTB SCA_PQX_ADDR Register */ 106 __IO uint32_t sca_pqy_addr; /**< <tt>\b 0x11C:</tt> CTB SCA_PQY_ADDR Register */ 107 __IO uint32_t sca_pqz_addr; /**< <tt>\b 0x120:</tt> CTB SCA_PQZ_ADDR Register */ 108 __IO uint32_t sca_rdsa_addr; /**< <tt>\b 0x124:</tt> CTB SCA_RDSA_ADDR Register */ 109 __IO uint32_t sca_res_addr; /**< <tt>\b 0x128:</tt> CTB SCA_RES_ADDR Register */ 110 __IO uint32_t sca_op_buff_addr; /**< <tt>\b 0x12C:</tt> CTB SCA_OP_BUFF_ADDR Register */ 111 __IO uint32_t sca_moddata; /**< <tt>\b 0x130:</tt> CTB SCA_MODDATA Register */ 112 } mxc_ctb_reva_regs_t; 113 114 /* Register offsets for module CTB */ 115 /** 116 * @ingroup ctb__reva_registers 117 * @defgroup CTB__RevA_Register_Offsets Register Offsets 118 * @brief CTB Peripheral Register Offsets from the CTB Base Peripheral Address. 119 * @{ 120 */ 121 #define MXC_R_CTB_REVA_CTRL ((uint32_t)0x00000000UL) /**< Offset from CTB Base Address: <tt> 0x0000</tt> */ 122 #define MXC_R_CTB_REVA_CIPHER_CTRL ((uint32_t)0x00000004UL) /**< Offset from CTB Base Address: <tt> 0x0004</tt> */ 123 #define MXC_R_CTB_REVA_HASH_CTRL ((uint32_t)0x00000008UL) /**< Offset from CTB Base Address: <tt> 0x0008</tt> */ 124 #define MXC_R_CTB_REVA_CRC_CTRL ((uint32_t)0x0000000CUL) /**< Offset from CTB Base Address: <tt> 0x000C</tt> */ 125 #define MXC_R_CTB_REVA_DMA_SRC ((uint32_t)0x00000010UL) /**< Offset from CTB Base Address: <tt> 0x0010</tt> */ 126 #define MXC_R_CTB_REVA_DMA_DEST ((uint32_t)0x00000014UL) /**< Offset from CTB Base Address: <tt> 0x0014</tt> */ 127 #define MXC_R_CTB_REVA_DMA_CNT ((uint32_t)0x00000018UL) /**< Offset from CTB Base Address: <tt> 0x0018</tt> */ 128 #define MXC_R_CTB_REVA_DIN ((uint32_t)0x00000020UL) /**< Offset from CTB Base Address: <tt> 0x0020</tt> */ 129 #define MXC_R_CTB_REVA_DOUT ((uint32_t)0x00000030UL) /**< Offset from CTB Base Address: <tt> 0x0030</tt> */ 130 #define MXC_R_CTB_REVA_CRC_POLY ((uint32_t)0x00000040UL) /**< Offset from CTB Base Address: <tt> 0x0040</tt> */ 131 #define MXC_R_CTB_REVA_CRC_VAL ((uint32_t)0x00000044UL) /**< Offset from CTB Base Address: <tt> 0x0044</tt> */ 132 #define MXC_R_CTB_REVA_HAM_ECC ((uint32_t)0x0000004CUL) /**< Offset from CTB Base Address: <tt> 0x004C</tt> */ 133 #define MXC_R_CTB_REVA_CIPHER_INIT ((uint32_t)0x00000050UL) /**< Offset from CTB Base Address: <tt> 0x0050</tt> */ 134 #define MXC_R_CTB_REVA_CIPHER_KEY ((uint32_t)0x00000060UL) /**< Offset from CTB Base Address: <tt> 0x0060</tt> */ 135 #define MXC_R_CTB_REVA_HASH_DIGEST ((uint32_t)0x00000080UL) /**< Offset from CTB Base Address: <tt> 0x0080</tt> */ 136 #define MXC_R_CTB_REVA_HASH_MSG_SZ ((uint32_t)0x000000C0UL) /**< Offset from CTB Base Address: <tt> 0x00C0</tt> */ 137 #define MXC_R_CTB_REVA_AAD_LENGTH_0 ((uint32_t)0x000000D0UL) /**< Offset from CTB Base Address: <tt> 0x00D0</tt> */ 138 #define MXC_R_CTB_REVA_AAD_LENGTH_1 ((uint32_t)0x000000D4UL) /**< Offset from CTB Base Address: <tt> 0x00D4</tt> */ 139 #define MXC_R_CTB_REVA_PLD_LENGTH_0 ((uint32_t)0x000000D8UL) /**< Offset from CTB Base Address: <tt> 0x00D8</tt> */ 140 #define MXC_R_CTB_REVA_PLD_LENGTH_1 ((uint32_t)0x000000DCUL) /**< Offset from CTB Base Address: <tt> 0x00DC</tt> */ 141 #define MXC_R_CTB_REVA_TAGMIC ((uint32_t)0x000000E0UL) /**< Offset from CTB Base Address: <tt> 0x00E0</tt> */ 142 #define MXC_R_CTB_REVA_SCA_CTRL0 ((uint32_t)0x00000100UL) /**< Offset from CTB Base Address: <tt> 0x0100</tt> */ 143 #define MXC_R_CTB_REVA_SCA_CTRL1 ((uint32_t)0x00000104UL) /**< Offset from CTB Base Address: <tt> 0x0104</tt> */ 144 #define MXC_R_CTB_REVA_SCA_STAT ((uint32_t)0x00000108UL) /**< Offset from CTB Base Address: <tt> 0x0108</tt> */ 145 #define MXC_R_CTB_REVA_SCA_PPX_ADDR ((uint32_t)0x0000010CUL) /**< Offset from CTB Base Address: <tt> 0x010C</tt> */ 146 #define MXC_R_CTB_REVA_SCA_PPY_ADDR ((uint32_t)0x00000110UL) /**< Offset from CTB Base Address: <tt> 0x0110</tt> */ 147 #define MXC_R_CTB_REVA_SCA_PPZ_ADDR ((uint32_t)0x00000114UL) /**< Offset from CTB Base Address: <tt> 0x0114</tt> */ 148 #define MXC_R_CTB_REVA_SCA_PQX_ADDR ((uint32_t)0x00000118UL) /**< Offset from CTB Base Address: <tt> 0x0118</tt> */ 149 #define MXC_R_CTB_REVA_SCA_PQY_ADDR ((uint32_t)0x0000011CUL) /**< Offset from CTB Base Address: <tt> 0x011C</tt> */ 150 #define MXC_R_CTB_REVA_SCA_PQZ_ADDR ((uint32_t)0x00000120UL) /**< Offset from CTB Base Address: <tt> 0x0120</tt> */ 151 #define MXC_R_CTB_REVA_SCA_RDSA_ADDR ((uint32_t)0x00000124UL) /**< Offset from CTB Base Address: <tt> 0x0124</tt> */ 152 #define MXC_R_CTB_REVA_SCA_RES_ADDR ((uint32_t)0x00000128UL) /**< Offset from CTB Base Address: <tt> 0x0128</tt> */ 153 #define MXC_R_CTB_REVA_SCA_OP_BUFF_ADDR ((uint32_t)0x0000012CUL) /**< Offset from CTB Base Address: <tt> 0x012C</tt> */ 154 #define MXC_R_CTB_REVA_SCA_MODDATA ((uint32_t)0x00000130UL) /**< Offset from CTB Base Address: <tt> 0x0130</tt> */ 155 /**@} end of group ctb__reva_registers */ 156 157 /** 158 * @ingroup ctb__reva_registers 159 * @defgroup CTB_REVA_CTRL CTB_REVA_CTRL 160 * @brief Crypto Control Register. 161 * @{ 162 */ 163 #define MXC_F_CTB_REVA_CTRL_RST_POS 0 /**< CTRL_RST Position */ 164 #define MXC_F_CTB_REVA_CTRL_RST ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_RST_POS)) /**< CTRL_RST Mask */ 165 166 #define MXC_F_CTB_REVA_CTRL_INTR_POS 1 /**< CTRL_INTR Position */ 167 #define MXC_F_CTB_REVA_CTRL_INTR ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_INTR_POS)) /**< CTRL_INTR Mask */ 168 169 #define MXC_F_CTB_REVA_CTRL_SRC_POS 2 /**< CTRL_SRC Position */ 170 #define MXC_F_CTB_REVA_CTRL_SRC ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_SRC_POS)) /**< CTRL_SRC Mask */ 171 172 #define MXC_F_CTB_REVA_CTRL_BSO_POS 4 /**< CTRL_BSO Position */ 173 #define MXC_F_CTB_REVA_CTRL_BSO ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_BSO_POS)) /**< CTRL_BSO Mask */ 174 175 #define MXC_F_CTB_REVA_CTRL_BSI_POS 5 /**< CTRL_BSI Position */ 176 #define MXC_F_CTB_REVA_CTRL_BSI ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_BSI_POS)) /**< CTRL_BSI Mask */ 177 178 #define MXC_F_CTB_REVA_CTRL_WAIT_EN_POS 6 /**< CTRL_WAIT_EN Position */ 179 #define MXC_F_CTB_REVA_CTRL_WAIT_EN ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_WAIT_EN_POS)) /**< CTRL_WAIT_EN Mask */ 180 181 #define MXC_F_CTB_REVA_CTRL_WAIT_POL_POS 7 /**< CTRL_WAIT_POL Position */ 182 #define MXC_F_CTB_REVA_CTRL_WAIT_POL ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_WAIT_POL_POS)) /**< CTRL_WAIT_POL Mask */ 183 184 #define MXC_F_CTB_REVA_CTRL_WRSRC_POS 8 /**< CTRL_WRSRC Position */ 185 #define MXC_F_CTB_REVA_CTRL_WRSRC ((uint32_t)(0x3UL << MXC_F_CTB_REVA_CTRL_WRSRC_POS)) /**< CTRL_WRSRC Mask */ 186 #define MXC_V_CTB_REVA_CTRL_WRSRC_NONE ((uint32_t)0x0UL) /**< CTRL_WRSRC_NONE Value */ 187 #define MXC_S_CTB_REVA_CTRL_WRSRC_NONE (MXC_V_CTB_REVA_CTRL_WRSRC_NONE << MXC_F_CTB_REVA_CTRL_WRSRC_POS) /**< CTRL_WRSRC_NONE Setting */ 188 #define MXC_V_CTB_REVA_CTRL_WRSRC_CIPHEROUTPUT ((uint32_t)0x1UL) /**< CTRL_WRSRC_CIPHEROUTPUT Value */ 189 #define MXC_S_CTB_REVA_CTRL_WRSRC_CIPHEROUTPUT (MXC_V_CTB_REVA_CTRL_WRSRC_CIPHEROUTPUT << MXC_F_CTB_REVA_CTRL_WRSRC_POS) /**< CTRL_WRSRC_CIPHEROUTPUT Setting */ 190 #define MXC_V_CTB_REVA_CTRL_WRSRC_READFIFO ((uint32_t)0x2UL) /**< CTRL_WRSRC_READFIFO Value */ 191 #define MXC_S_CTB_REVA_CTRL_WRSRC_READFIFO (MXC_V_CTB_REVA_CTRL_WRSRC_READFIFO << MXC_F_CTB_REVA_CTRL_WRSRC_POS) /**< CTRL_WRSRC_READFIFO Setting */ 192 193 #define MXC_F_CTB_REVA_CTRL_RDSRC_POS 10 /**< CTRL_RDSRC Position */ 194 #define MXC_F_CTB_REVA_CTRL_RDSRC ((uint32_t)(0x3UL << MXC_F_CTB_REVA_CTRL_RDSRC_POS)) /**< CTRL_RDSRC Mask */ 195 #define MXC_V_CTB_REVA_CTRL_RDSRC_DMADISABLED ((uint32_t)0x0UL) /**< CTRL_RDSRC_DMADISABLED Value */ 196 #define MXC_S_CTB_REVA_CTRL_RDSRC_DMADISABLED (MXC_V_CTB_REVA_CTRL_RDSRC_DMADISABLED << MXC_F_CTB_REVA_CTRL_RDSRC_POS) /**< CTRL_RDSRC_DMADISABLED Setting */ 197 #define MXC_V_CTB_REVA_CTRL_RDSRC_DMAORAPB ((uint32_t)0x1UL) /**< CTRL_RDSRC_DMAORAPB Value */ 198 #define MXC_S_CTB_REVA_CTRL_RDSRC_DMAORAPB (MXC_V_CTB_REVA_CTRL_RDSRC_DMAORAPB << MXC_F_CTB_REVA_CTRL_RDSRC_POS) /**< CTRL_RDSRC_DMAORAPB Setting */ 199 #define MXC_V_CTB_REVA_CTRL_RDSRC_RNG ((uint32_t)0x2UL) /**< CTRL_RDSRC_RNG Value */ 200 #define MXC_S_CTB_REVA_CTRL_RDSRC_RNG (MXC_V_CTB_REVA_CTRL_RDSRC_RNG << MXC_F_CTB_REVA_CTRL_RDSRC_POS) /**< CTRL_RDSRC_RNG Setting */ 201 202 #define MXC_F_CTB_REVA_CTRL_FLAG_MODE_POS 14 /**< CTRL_FLAG_MODE Position */ 203 #define MXC_F_CTB_REVA_CTRL_FLAG_MODE ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_FLAG_MODE_POS)) /**< CTRL_FLAG_MODE Mask */ 204 205 #define MXC_F_CTB_REVA_CTRL_DMADNEMSK_POS 15 /**< CTRL_DMADNEMSK Position */ 206 #define MXC_F_CTB_REVA_CTRL_DMADNEMSK ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_DMADNEMSK_POS)) /**< CTRL_DMADNEMSK Mask */ 207 208 #define MXC_F_CTB_REVA_CTRL_DMA_DONE_POS 24 /**< CTRL_DMA_DONE Position */ 209 #define MXC_F_CTB_REVA_CTRL_DMA_DONE ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_DMA_DONE_POS)) /**< CTRL_DMA_DONE Mask */ 210 211 #define MXC_F_CTB_REVA_CTRL_GLS_DONE_POS 25 /**< CTRL_GLS_DONE Position */ 212 #define MXC_F_CTB_REVA_CTRL_GLS_DONE ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_GLS_DONE_POS)) /**< CTRL_GLS_DONE Mask */ 213 214 #define MXC_F_CTB_REVA_CTRL_HSH_DONE_POS 26 /**< CTRL_HSH_DONE Position */ 215 #define MXC_F_CTB_REVA_CTRL_HSH_DONE ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_HSH_DONE_POS)) /**< CTRL_HSH_DONE Mask */ 216 217 #define MXC_F_CTB_REVA_CTRL_CPH_DONE_POS 27 /**< CTRL_CPH_DONE Position */ 218 #define MXC_F_CTB_REVA_CTRL_CPH_DONE ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_CPH_DONE_POS)) /**< CTRL_CPH_DONE Mask */ 219 220 #define MXC_F_CTB_REVA_CTRL_ERR_POS 29 /**< CTRL_ERR Position */ 221 #define MXC_F_CTB_REVA_CTRL_ERR ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_ERR_POS)) /**< CTRL_ERR Mask */ 222 223 #define MXC_F_CTB_REVA_CTRL_RDY_POS 30 /**< CTRL_RDY Position */ 224 #define MXC_F_CTB_REVA_CTRL_RDY ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_RDY_POS)) /**< CTRL_RDY Mask */ 225 226 #define MXC_F_CTB_REVA_CTRL_DONE_POS 31 /**< CTRL_DONE Position */ 227 #define MXC_F_CTB_REVA_CTRL_DONE ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CTRL_DONE_POS)) /**< CTRL_DONE Mask */ 228 229 /**@} end of group CTB_REVA_CTRL_Register */ 230 231 /** 232 * @ingroup ctb_reva_registers 233 * @defgroup CTB_REVA_CIPHER_CTRL CTB_REVA_CIPHER_CTRL 234 * @brief Cipher Control Register. 235 * @{ 236 */ 237 #define MXC_F_CTB_REVA_CIPHER_CTRL_ENC_POS 0 /**< CIPHER_CTRL_ENC Position */ 238 #define MXC_F_CTB_REVA_CIPHER_CTRL_ENC ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CIPHER_CTRL_ENC_POS)) /**< CIPHER_CTRL_ENC Mask */ 239 240 #define MXC_F_CTB_REVA_CIPHER_CTRL_KEY_POS 1 /**< CIPHER_CTRL_KEY Position */ 241 #define MXC_F_CTB_REVA_CIPHER_CTRL_KEY ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CIPHER_CTRL_KEY_POS)) /**< CIPHER_CTRL_KEY Mask */ 242 243 #define MXC_F_CTB_REVA_CIPHER_CTRL_SRC_POS 2 /**< CIPHER_CTRL_SRC Position */ 244 #define MXC_F_CTB_REVA_CIPHER_CTRL_SRC ((uint32_t)(0x3UL << MXC_F_CTB_REVA_CIPHER_CTRL_SRC_POS)) /**< CIPHER_CTRL_SRC Mask */ 245 #define MXC_V_CTB_REVA_CIPHER_CTRL_SRC_CIPHERKEY ((uint32_t)0x0UL) /**< CIPHER_CTRL_SRC_CIPHERKEY Value */ 246 #define MXC_S_CTB_REVA_CIPHER_CTRL_SRC_CIPHERKEY (MXC_V_CTB_REVA_CIPHER_CTRL_SRC_CIPHERKEY << MXC_F_CTB_REVA_CIPHER_CTRL_SRC_POS) /**< CIPHER_CTRL_SRC_CIPHERKEY Setting */ 247 #define MXC_V_CTB_REVA_CIPHER_CTRL_SRC_REGFILE ((uint32_t)0x2UL) /**< CIPHER_CTRL_SRC_REGFILE Value */ 248 #define MXC_S_CTB_REVA_CIPHER_CTRL_SRC_REGFILE (MXC_V_CTB_REVA_CIPHER_CTRL_SRC_REGFILE << MXC_F_CTB_REVA_CIPHER_CTRL_SRC_POS) /**< CIPHER_CTRL_SRC_REGFILE Setting */ 249 #define MXC_V_CTB_REVA_CIPHER_CTRL_SRC_QSPIKEY_REGFILE ((uint32_t)0x3UL) /**< CIPHER_CTRL_SRC_QSPIKEY_REGFILE Value */ 250 #define MXC_S_CTB_REVA_CIPHER_CTRL_SRC_QSPIKEY_REGFILE (MXC_V_CTB_REVA_CIPHER_CTRL_SRC_QSPIKEY_REGFILE << MXC_F_CTB_REVA_CIPHER_CTRL_SRC_POS) /**< CIPHER_CTRL_SRC_QSPIKEY_REGFILE Setting */ 251 252 #define MXC_F_CTB_REVA_CIPHER_CTRL_CIPHER_POS 4 /**< CIPHER_CTRL_CIPHER Position */ 253 #define MXC_F_CTB_REVA_CIPHER_CTRL_CIPHER ((uint32_t)(0x7UL << MXC_F_CTB_REVA_CIPHER_CTRL_CIPHER_POS)) /**< CIPHER_CTRL_CIPHER Mask */ 254 #define MXC_V_CTB_REVA_CIPHER_CTRL_CIPHER_DIS ((uint32_t)0x0UL) /**< CIPHER_CTRL_CIPHER_DIS Value */ 255 #define MXC_S_CTB_REVA_CIPHER_CTRL_CIPHER_DIS (MXC_V_CTB_REVA_CIPHER_CTRL_CIPHER_DIS << MXC_F_CTB_REVA_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_DIS Setting */ 256 #define MXC_V_CTB_REVA_CIPHER_CTRL_CIPHER_AES128 ((uint32_t)0x1UL) /**< CIPHER_CTRL_CIPHER_AES128 Value */ 257 #define MXC_S_CTB_REVA_CIPHER_CTRL_CIPHER_AES128 (MXC_V_CTB_REVA_CIPHER_CTRL_CIPHER_AES128 << MXC_F_CTB_REVA_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_AES128 Setting */ 258 #define MXC_V_CTB_REVA_CIPHER_CTRL_CIPHER_AES192 ((uint32_t)0x2UL) /**< CIPHER_CTRL_CIPHER_AES192 Value */ 259 #define MXC_S_CTB_REVA_CIPHER_CTRL_CIPHER_AES192 (MXC_V_CTB_REVA_CIPHER_CTRL_CIPHER_AES192 << MXC_F_CTB_REVA_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_AES192 Setting */ 260 #define MXC_V_CTB_REVA_CIPHER_CTRL_CIPHER_AES256 ((uint32_t)0x3UL) /**< CIPHER_CTRL_CIPHER_AES256 Value */ 261 #define MXC_S_CTB_REVA_CIPHER_CTRL_CIPHER_AES256 (MXC_V_CTB_REVA_CIPHER_CTRL_CIPHER_AES256 << MXC_F_CTB_REVA_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_AES256 Setting */ 262 #define MXC_V_CTB_REVA_CIPHER_CTRL_CIPHER_DES ((uint32_t)0x4UL) /**< CIPHER_CTRL_CIPHER_DES Value */ 263 #define MXC_S_CTB_REVA_CIPHER_CTRL_CIPHER_DES (MXC_V_CTB_REVA_CIPHER_CTRL_CIPHER_DES << MXC_F_CTB_REVA_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_DES Setting */ 264 #define MXC_V_CTB_REVA_CIPHER_CTRL_CIPHER_TDES ((uint32_t)0x5UL) /**< CIPHER_CTRL_CIPHER_TDES Value */ 265 #define MXC_S_CTB_REVA_CIPHER_CTRL_CIPHER_TDES (MXC_V_CTB_REVA_CIPHER_CTRL_CIPHER_TDES << MXC_F_CTB_REVA_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_TDES Setting */ 266 267 #define MXC_F_CTB_REVA_CIPHER_CTRL_MODE_POS 8 /**< CIPHER_CTRL_MODE Position */ 268 #define MXC_F_CTB_REVA_CIPHER_CTRL_MODE ((uint32_t)(0x7UL << MXC_F_CTB_REVA_CIPHER_CTRL_MODE_POS)) /**< CIPHER_CTRL_MODE Mask */ 269 #define MXC_V_CTB_REVA_CIPHER_CTRL_MODE_ECB ((uint32_t)0x0UL) /**< CIPHER_CTRL_MODE_ECB Value */ 270 #define MXC_S_CTB_REVA_CIPHER_CTRL_MODE_ECB (MXC_V_CTB_REVA_CIPHER_CTRL_MODE_ECB << MXC_F_CTB_REVA_CIPHER_CTRL_MODE_POS) /**< CIPHER_CTRL_MODE_ECB Setting */ 271 #define MXC_V_CTB_REVA_CIPHER_CTRL_MODE_CBC ((uint32_t)0x1UL) /**< CIPHER_CTRL_MODE_CBC Value */ 272 #define MXC_S_CTB_REVA_CIPHER_CTRL_MODE_CBC (MXC_V_CTB_REVA_CIPHER_CTRL_MODE_CBC << MXC_F_CTB_REVA_CIPHER_CTRL_MODE_POS) /**< CIPHER_CTRL_MODE_CBC Setting */ 273 #define MXC_V_CTB_REVA_CIPHER_CTRL_MODE_CFB ((uint32_t)0x2UL) /**< CIPHER_CTRL_MODE_CFB Value */ 274 #define MXC_S_CTB_REVA_CIPHER_CTRL_MODE_CFB (MXC_V_CTB_REVA_CIPHER_CTRL_MODE_CFB << MXC_F_CTB_REVA_CIPHER_CTRL_MODE_POS) /**< CIPHER_CTRL_MODE_CFB Setting */ 275 #define MXC_V_CTB_REVA_CIPHER_CTRL_MODE_OFB ((uint32_t)0x3UL) /**< CIPHER_CTRL_MODE_OFB Value */ 276 #define MXC_S_CTB_REVA_CIPHER_CTRL_MODE_OFB (MXC_V_CTB_REVA_CIPHER_CTRL_MODE_OFB << MXC_F_CTB_REVA_CIPHER_CTRL_MODE_POS) /**< CIPHER_CTRL_MODE_OFB Setting */ 277 #define MXC_V_CTB_REVA_CIPHER_CTRL_MODE_CTR ((uint32_t)0x4UL) /**< CIPHER_CTRL_MODE_CTR Value */ 278 #define MXC_S_CTB_REVA_CIPHER_CTRL_MODE_CTR (MXC_V_CTB_REVA_CIPHER_CTRL_MODE_CTR << MXC_F_CTB_REVA_CIPHER_CTRL_MODE_POS) /**< CIPHER_CTRL_MODE_CTR Setting */ 279 280 #define MXC_F_CTB_REVA_CIPHER_CTRL_HVC_POS 11 /**< CIPHER_CTRL_HVC Position */ 281 #define MXC_F_CTB_REVA_CIPHER_CTRL_HVC ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CIPHER_CTRL_HVC_POS)) /**< CIPHER_CTRL_HVC Mask */ 282 283 #define MXC_F_CTB_REVA_CIPHER_CTRL_DTYPE_POS 12 /**< CIPHER_CTRL_DTYPE Position */ 284 #define MXC_F_CTB_REVA_CIPHER_CTRL_DTYPE ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CIPHER_CTRL_DTYPE_POS)) /**< CIPHER_CTRL_DTYPE Mask */ 285 286 #define MXC_F_CTB_REVA_CIPHER_CTRL_CCMM_POS 13 /**< CIPHER_CTRL_CCMM Position */ 287 #define MXC_F_CTB_REVA_CIPHER_CTRL_CCMM ((uint32_t)(0x7UL << MXC_F_CTB_REVA_CIPHER_CTRL_CCMM_POS)) /**< CIPHER_CTRL_CCMM Mask */ 288 289 #define MXC_F_CTB_REVA_CIPHER_CTRL_CCML_POS 16 /**< CIPHER_CTRL_CCML Position */ 290 #define MXC_F_CTB_REVA_CIPHER_CTRL_CCML ((uint32_t)(0x7UL << MXC_F_CTB_REVA_CIPHER_CTRL_CCML_POS)) /**< CIPHER_CTRL_CCML Mask */ 291 292 /**@} end of group CTB_REVA_CIPHER_CTRL_Register */ 293 294 /** 295 * @ingroup ctb_reva_registers 296 * @defgroup CTB_REVA_HASH_CTRL CTB_REVA_HASH_CTRL 297 * @brief HASH Control Register. 298 * @{ 299 */ 300 #define MXC_F_CTB_REVA_HASH_CTRL_INIT_POS 0 /**< HASH_CTRL_INIT Position */ 301 #define MXC_F_CTB_REVA_HASH_CTRL_INIT ((uint32_t)(0x1UL << MXC_F_CTB_REVA_HASH_CTRL_INIT_POS)) /**< HASH_CTRL_INIT Mask */ 302 303 #define MXC_F_CTB_REVA_HASH_CTRL_XOR_POS 1 /**< HASH_CTRL_XOR Position */ 304 #define MXC_F_CTB_REVA_HASH_CTRL_XOR ((uint32_t)(0x1UL << MXC_F_CTB_REVA_HASH_CTRL_XOR_POS)) /**< HASH_CTRL_XOR Mask */ 305 306 #define MXC_F_CTB_REVA_HASH_CTRL_HASH_POS 2 /**< HASH_CTRL_HASH Position */ 307 #define MXC_F_CTB_REVA_HASH_CTRL_HASH ((uint32_t)(0x7UL << MXC_F_CTB_REVA_HASH_CTRL_HASH_POS)) /**< HASH_CTRL_HASH Mask */ 308 #define MXC_V_CTB_REVA_HASH_CTRL_HASH_DIS ((uint32_t)0x0UL) /**< HASH_CTRL_HASH_DIS Value */ 309 #define MXC_S_CTB_REVA_HASH_CTRL_HASH_DIS (MXC_V_CTB_REVA_HASH_CTRL_HASH_DIS << MXC_F_CTB_REVA_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_DIS Setting */ 310 #define MXC_V_CTB_REVA_HASH_CTRL_HASH_SHA1 ((uint32_t)0x1UL) /**< HASH_CTRL_HASH_SHA1 Value */ 311 #define MXC_S_CTB_REVA_HASH_CTRL_HASH_SHA1 (MXC_V_CTB_REVA_HASH_CTRL_HASH_SHA1 << MXC_F_CTB_REVA_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_SHA1 Setting */ 312 #define MXC_V_CTB_REVA_HASH_CTRL_HASH_SHA224 ((uint32_t)0x2UL) /**< HASH_CTRL_HASH_SHA224 Value */ 313 #define MXC_S_CTB_REVA_HASH_CTRL_HASH_SHA224 (MXC_V_CTB_REVA_HASH_CTRL_HASH_SHA224 << MXC_F_CTB_REVA_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_SHA224 Setting */ 314 #define MXC_V_CTB_REVA_HASH_CTRL_HASH_SHA256 ((uint32_t)0x3UL) /**< HASH_CTRL_HASH_SHA256 Value */ 315 #define MXC_S_CTB_REVA_HASH_CTRL_HASH_SHA256 (MXC_V_CTB_REVA_HASH_CTRL_HASH_SHA256 << MXC_F_CTB_REVA_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_SHA256 Setting */ 316 #define MXC_V_CTB_REVA_HASH_CTRL_HASH_SHA384 ((uint32_t)0x4UL) /**< HASH_CTRL_HASH_SHA384 Value */ 317 #define MXC_S_CTB_REVA_HASH_CTRL_HASH_SHA384 (MXC_V_CTB_REVA_HASH_CTRL_HASH_SHA384 << MXC_F_CTB_REVA_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_SHA384 Setting */ 318 #define MXC_V_CTB_REVA_HASH_CTRL_HASH_SHA512 ((uint32_t)0x5UL) /**< HASH_CTRL_HASH_SHA512 Value */ 319 #define MXC_S_CTB_REVA_HASH_CTRL_HASH_SHA512 (MXC_V_CTB_REVA_HASH_CTRL_HASH_SHA512 << MXC_F_CTB_REVA_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_SHA512 Setting */ 320 321 #define MXC_F_CTB_REVA_HASH_CTRL_LAST_POS 5 /**< HASH_CTRL_LAST Position */ 322 #define MXC_F_CTB_REVA_HASH_CTRL_LAST ((uint32_t)(0x1UL << MXC_F_CTB_REVA_HASH_CTRL_LAST_POS)) /**< HASH_CTRL_LAST Mask */ 323 324 /**@} end of group CTB_REVA_HASH_CTRL_Register */ 325 326 /** 327 * @ingroup reva_registers 328 * @defgroup CTB_REVA_CRC_CTRL CTB_REVA_CRC_CTRL 329 * @brief CRC Control Register. 330 * @{ 331 */ 332 #define MXC_F_CTB_REVA_CRC_CTRL_CRC_POS 0 /**< CRC_CTRL_CRC Position */ 333 #define MXC_F_CTB_REVA_CRC_CTRL_CRC ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CRC_CTRL_CRC_POS)) /**< CRC_CTRL_CRC Mask */ 334 335 #define MXC_F_CTB_REVA_CRC_CTRL_MSB_POS 1 /**< CRC_CTRL_MSB Position */ 336 #define MXC_F_CTB_REVA_CRC_CTRL_MSB ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CRC_CTRL_MSB_POS)) /**< CRC_CTRL_MSB Mask */ 337 338 #define MXC_F_CTB_REVA_CRC_CTRL_PRNG_POS 2 /**< CRC_CTRL_PRNG Position */ 339 #define MXC_F_CTB_REVA_CRC_CTRL_PRNG ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CRC_CTRL_PRNG_POS)) /**< CRC_CTRL_PRNG Mask */ 340 341 #define MXC_F_CTB_REVA_CRC_CTRL_ENT_POS 3 /**< CRC_CTRL_ENT Position */ 342 #define MXC_F_CTB_REVA_CRC_CTRL_ENT ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CRC_CTRL_ENT_POS)) /**< CRC_CTRL_ENT Mask */ 343 344 #define MXC_F_CTB_REVA_CRC_CTRL_HAM_POS 4 /**< CRC_CTRL_HAM Position */ 345 #define MXC_F_CTB_REVA_CRC_CTRL_HAM ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CRC_CTRL_HAM_POS)) /**< CRC_CTRL_HAM Mask */ 346 347 #define MXC_F_CTB_REVA_CRC_CTRL_HRST_POS 5 /**< CRC_CTRL_HRST Position */ 348 #define MXC_F_CTB_REVA_CRC_CTRL_HRST ((uint32_t)(0x1UL << MXC_F_CTB_REVA_CRC_CTRL_HRST_POS)) /**< CRC_CTRL_HRST Mask */ 349 350 /**@} end of group CTB_REVA_CRC_CTRL_Register */ 351 352 /** 353 * @ingroup ctb_reva_registers 354 * @defgroup CTB_REVA_DMA_SRC CTB_REVA_DMA_SRC 355 * @brief Crypto DMA Source Address. 356 * @{ 357 */ 358 #define MXC_F_CTB_REVA_DMA_SRC_ADDR_POS 0 /**< DMA_SRC_ADDR Position */ 359 #define MXC_F_CTB_REVA_DMA_SRC_ADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_DMA_SRC_ADDR_POS)) /**< DMA_SRC_ADDR Mask */ 360 361 /**@} end of group CTB_REVA_DMA_SRC_Register */ 362 363 /** 364 * @ingroup ctb_reva_registers 365 * @defgroup CTB_REVA_DMA_DEST CTB_REVA_DMA_DEST 366 * @brief Crypto DMA Destination Address. 367 * @{ 368 */ 369 #define MXC_F_CTB_REVA_DMA_DEST_ADDR_POS 0 /**< DMA_DEST_ADDR Position */ 370 #define MXC_F_CTB_REVA_DMA_DEST_ADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_DMA_DEST_ADDR_POS)) /**< DMA_DEST_ADDR Mask */ 371 372 /**@} end of group CTB_REVA_DMA_DEST_Register */ 373 374 /** 375 * @ingroup ctb_reva_registers 376 * @defgroup CTB_REVA_DMA_CNT CTB_REVA_DMA_CNT 377 * @brief Crypto DMA Byte Count. 378 * @{ 379 */ 380 #define MXC_F_CTB_REVA_DMA_CNT_ADDR_POS 0 /**< DMA_CNT_ADDR Position */ 381 #define MXC_F_CTB_REVA_DMA_CNT_ADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_DMA_CNT_ADDR_POS)) /**< DMA_CNT_ADDR Mask */ 382 383 /**@} end of group CTB_REVA_DMA_CNT_Register */ 384 385 /** 386 * @ingroup ctb_reva_registers 387 * @defgroup CTB_REVA_DIN CTB_REVA_DIN 388 * @brief Crypto Data Input. Data input can be written to this register instead of using 389 * the DMA. This register writes to the FIFO. This register occupies four 390 * successive words to allow the use of multi-store instructions. Words can be 391 * written to any location, they will be placed in the FIFO in the order they are 392 * written. The endian swap input control bit affects this register. 393 * @{ 394 */ 395 #define MXC_F_CTB_REVA_DIN_DATA_POS 0 /**< DIN_DATA Position */ 396 #define MXC_F_CTB_REVA_DIN_DATA ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_DIN_DATA_POS)) /**< DIN_DATA Mask */ 397 398 /**@} end of group CTB_REVA_DIN_Register */ 399 400 /** 401 * @ingroup ctb_reva_registers 402 * @defgroup CTB_REVA_DOUT CTB_REVA_DOUT 403 * @brief Crypto Data Output. Resulting data from cipher calculation. Data is placed in 404 * the lower words of these four registers depending on the algorithm. For block 405 * cipher modes, this register holds the result of most recent encryption or 406 * decryption operation. These registers are affected by the endian swap bits. 407 * @{ 408 */ 409 #define MXC_F_CTB_REVA_DOUT_DATA_POS 0 /**< DOUT_DATA Position */ 410 #define MXC_F_CTB_REVA_DOUT_DATA ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_DOUT_DATA_POS)) /**< DOUT_DATA Mask */ 411 412 /**@} end of group CTB_REVA_DOUT_Register */ 413 414 /** 415 * @ingroup ctb_reva_registers 416 * @defgroup CTB_REVA_CRC_POLY CTB_REVA_CRC_POLY 417 * @brief CRC Polynomial. The polynomial to be used for Galois Field calculations (CRC or 418 * LFSR) should be written to this register. This register is affected by the MSB 419 * control bit. 420 * @{ 421 */ 422 #define MXC_F_CTB_REVA_CRC_POLY_POLY_POS 0 /**< CRC_POLY_POLY Position */ 423 #define MXC_F_CTB_REVA_CRC_POLY_POLY ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_CRC_POLY_POLY_POS)) /**< CRC_POLY_POLY Mask */ 424 425 /**@} end of group CTB_REVA_CRC_POLY_Register */ 426 427 /** 428 * @ingroup ctb_reva_registers 429 * @defgroup CTB_REVA_CRC_VAL CTB_REVA_CRC_VAL 430 * @brief CRC Value. This is the state for the Galois Field. This register holds the 431 * result of a CRC calculation or the current state of the LFSR. This register is 432 * affected by the MSB control bit. 433 * @{ 434 */ 435 #define MXC_F_CTB_REVA_CRC_VAL_VAL_POS 0 /**< CRC_VAL_VAL Position */ 436 #define MXC_F_CTB_REVA_CRC_VAL_VAL ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_CRC_VAL_VAL_POS)) /**< CRC_VAL_VAL Mask */ 437 438 /**@} end of group CTB_REVA_CRC_VAL_Register */ 439 440 /** 441 * @ingroup ctb_reva_registers 442 * @defgroup CTB_REVA_HAM_ECC CTB_REVA_HAM_ECC 443 * @brief Hamming ECC Register. 444 * @{ 445 */ 446 #define MXC_F_CTB_REVA_HAM_ECC_ECC_POS 0 /**< HAM_ECC_ECC Position */ 447 #define MXC_F_CTB_REVA_HAM_ECC_ECC ((uint32_t)(0xFFFFUL << MXC_F_CTB_REVA_HAM_ECC_ECC_POS)) /**< HAM_ECC_ECC Mask */ 448 449 #define MXC_F_CTB_REVA_HAM_ECC_PAR_POS 16 /**< HAM_ECC_PAR Position */ 450 #define MXC_F_CTB_REVA_HAM_ECC_PAR ((uint32_t)(0x1UL << MXC_F_CTB_REVA_HAM_ECC_PAR_POS)) /**< HAM_ECC_PAR Mask */ 451 452 /**@} end of group CTB_REVA_HAM_ECC_Register */ 453 454 /** 455 * @ingroup ctb_reva_registers 456 * @defgroup CTB_REVA_CIPHER_INIT CTB_REVA_CIPHER_INIT 457 * @brief Initial Vector. For block cipher operations that use CBC, CFB, OFB, or CNTR 458 * modes, this register holds the initial value. This register is updated with each 459 * encryption or decryption operation. This register is affected by the endian swap 460 * bits. 461 * @{ 462 */ 463 #define MXC_F_CTB_REVA_CIPHER_INIT_IVEC_POS 0 /**< CIPHER_INIT_IVEC Position */ 464 #define MXC_F_CTB_REVA_CIPHER_INIT_IVEC ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_CIPHER_INIT_IVEC_POS)) /**< CIPHER_INIT_IVEC Mask */ 465 466 /**@} end of group CTB_REVA_CIPHER_INIT_Register */ 467 468 /** 469 * @ingroup ctb_reva_registers 470 * @defgroup CTB_REVA_CIPHER_KEY CTB_REVA_CIPHER_KEY 471 * @brief Cipher Key. This register holds the key used for block cipher operations. The 472 * lower words are used for block ciphers that use shorter key lengths. This 473 * register is affected by the endian swap input control bits. 474 * @{ 475 */ 476 #define MXC_F_CTB_REVA_CIPHER_KEY_KEY_POS 0 /**< CIPHER_KEY_KEY Position */ 477 #define MXC_F_CTB_REVA_CIPHER_KEY_KEY ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_CIPHER_KEY_KEY_POS)) /**< CIPHER_KEY_KEY Mask */ 478 479 /**@} end of group CTB_REVA_CIPHER_KEY_Register */ 480 481 /** 482 * @ingroup ctb_reva_registers 483 * @defgroup CTB_REVA_HASH_DIGEST CTB_REVA_HASH_DIGEST 484 * @brief This register holds the calculated hash value. This register is affected by the 485 * endian swap bits. 486 * @{ 487 */ 488 #define MXC_F_CTB_REVA_HASH_DIGEST_HASH_POS 0 /**< HASH_DIGEST_HASH Position */ 489 #define MXC_F_CTB_REVA_HASH_DIGEST_HASH ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_HASH_DIGEST_HASH_POS)) /**< HASH_DIGEST_HASH Mask */ 490 491 /**@} end of group CTB_REVA_HASH_DIGEST_Register */ 492 493 /** 494 * @ingroup ctb_reva_registers 495 * @defgroup CTB_REVA_HASH_MSG_SZ CTB_REVA_HASH_MSG_SZ 496 * @brief Message Size. This register holds the lowest 32-bit of message size in bytes. 497 * @{ 498 */ 499 #define MXC_F_CTB_REVA_HASH_MSG_SZ_MSGSZ_POS 0 /**< HASH_MSG_SZ_MSGSZ Position */ 500 #define MXC_F_CTB_REVA_HASH_MSG_SZ_MSGSZ ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_HASH_MSG_SZ_MSGSZ_POS)) /**< HASH_MSG_SZ_MSGSZ Mask */ 501 502 /**@} end of group CTB_REVA_HASH_MSG_SZ_Register */ 503 504 /** 505 * @ingroup ctb_reva_registers 506 * @defgroup CTB_REVA_AAD_LENGTH_0 CTB_REVA_AAD_LENGTH_0 507 * @brief .AAD Length Register 0. 508 * @{ 509 */ 510 #define MXC_F_CTB_REVA_AAD_LENGTH_0_LENGTH_POS 0 /**< AAD_LENGTH_0_LENGTH Position */ 511 #define MXC_F_CTB_REVA_AAD_LENGTH_0_LENGTH ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_AAD_LENGTH_0_LENGTH_POS)) /**< AAD_LENGTH_0_LENGTH Mask */ 512 513 /**@} end of group CTB_REVA_AAD_LENGTH_0_Register */ 514 515 /** 516 * @ingroup ctb_reva_registers 517 * @defgroup CTB_REVA_AAD_LENGTH_1 CTB_REVA_AAD_LENGTH_1 518 * @brief .AAD Length Register 1. 519 * @{ 520 */ 521 #define MXC_F_CTB_REVA_AAD_LENGTH_1_LENGTH_POS 0 /**< AAD_LENGTH_1_LENGTH Position */ 522 #define MXC_F_CTB_REVA_AAD_LENGTH_1_LENGTH ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_AAD_LENGTH_1_LENGTH_POS)) /**< AAD_LENGTH_1_LENGTH Mask */ 523 524 /**@} end of group CTB_REVA_AAD_LENGTH_1_Register */ 525 526 /** 527 * @ingroup ctb_reva_registers 528 * @defgroup CTB_REVA_PLD_LENGTH_0 CTB_REVA_PLD_LENGTH_0 529 * @brief .PLD Length Register 0. 530 * @{ 531 */ 532 #define MXC_F_CTB_REVA_PLD_LENGTH_0_LENGTH_POS 0 /**< PLD_LENGTH_0_LENGTH Position */ 533 #define MXC_F_CTB_REVA_PLD_LENGTH_0_LENGTH ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_PLD_LENGTH_0_LENGTH_POS)) /**< PLD_LENGTH_0_LENGTH Mask */ 534 535 /**@} end of group CTB_REVA_PLD_LENGTH_0_Register */ 536 537 /** 538 * @ingroup ctb_reva_registers 539 * @defgroup CTB_REVA_PLD_LENGTH_1 CTB_REVA_PLD_LENGTH_1 540 * @brief .LENGTH. 541 * @{ 542 */ 543 #define MXC_F_CTB_REVA_PLD_LENGTH_1_PLD_LENGTH_HIGH_POS 0 /**< PLD_LENGTH_1_PLD_LENGTH_HIGH Position */ 544 #define MXC_F_CTB_REVA_PLD_LENGTH_1_PLD_LENGTH_HIGH ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_PLD_LENGTH_1_PLD_LENGTH_HIGH_POS)) /**< PLD_LENGTH_1_PLD_LENGTH_HIGH Mask */ 545 546 /**@} end of group CTB_REVA_PLD_LENGTH_1_Register */ 547 548 /** 549 * @ingroup ctb_reva_registers 550 * @defgroup CTB_REVA_TAGMIC CTB_REVA_TAGMIC 551 * @brief TAG/MIC Registers. 552 * @{ 553 */ 554 #define MXC_F_CTB_REVA_TAGMIC_LENGTH_POS 0 /**< TAGMIC_LENGTH Position */ 555 #define MXC_F_CTB_REVA_TAGMIC_LENGTH ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_TAGMIC_LENGTH_POS)) /**< TAGMIC_LENGTH Mask */ 556 557 /**@} end of group CTB_REVA_TAGMIC_Register */ 558 559 /** 560 * @ingroup ctb_reva_registers 561 * @defgroup CTB_REVA_SCA_CTRL0 CTB_REVA_SCA_CTRL0 562 * @brief SCA Control 0 Register. 563 * @{ 564 */ 565 #define MXC_F_CTB_REVA_SCA_CTRL0_STC_POS 0 /**< SCA_CTRL0_STC Position */ 566 #define MXC_F_CTB_REVA_SCA_CTRL0_STC ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_CTRL0_STC_POS)) /**< SCA_CTRL0_STC Mask */ 567 568 #define MXC_F_CTB_REVA_SCA_CTRL0_SCAIE_POS 1 /**< SCA_CTRL0_SCAIE Position */ 569 #define MXC_F_CTB_REVA_SCA_CTRL0_SCAIE ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_CTRL0_SCAIE_POS)) /**< SCA_CTRL0_SCAIE Mask */ 570 571 #define MXC_F_CTB_REVA_SCA_CTRL0_ABORT_POS 2 /**< SCA_CTRL0_ABORT Position */ 572 #define MXC_F_CTB_REVA_SCA_CTRL0_ABORT ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_CTRL0_ABORT_POS)) /**< SCA_CTRL0_ABORT Mask */ 573 574 #define MXC_F_CTB_REVA_SCA_CTRL0_ERMEM_POS 4 /**< SCA_CTRL0_ERMEM Position */ 575 #define MXC_F_CTB_REVA_SCA_CTRL0_ERMEM ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_CTRL0_ERMEM_POS)) /**< SCA_CTRL0_ERMEM Mask */ 576 577 #define MXC_F_CTB_REVA_SCA_CTRL0_MANPARAM_POS 5 /**< SCA_CTRL0_MANPARAM Position */ 578 #define MXC_F_CTB_REVA_SCA_CTRL0_MANPARAM ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_CTRL0_MANPARAM_POS)) /**< SCA_CTRL0_MANPARAM Mask */ 579 580 #define MXC_F_CTB_REVA_SCA_CTRL0_HWKEY_POS 6 /**< SCA_CTRL0_HWKEY Position */ 581 #define MXC_F_CTB_REVA_SCA_CTRL0_HWKEY ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_CTRL0_HWKEY_POS)) /**< SCA_CTRL0_HWKEY Mask */ 582 583 #define MXC_F_CTB_REVA_SCA_CTRL0_OPCODE_POS 8 /**< SCA_CTRL0_OPCODE Position */ 584 #define MXC_F_CTB_REVA_SCA_CTRL0_OPCODE ((uint32_t)(0x1FUL << MXC_F_CTB_REVA_SCA_CTRL0_OPCODE_POS)) /**< SCA_CTRL0_OPCODE Mask */ 585 586 #define MXC_F_CTB_REVA_SCA_CTRL0_MODADDR_POS 16 /**< SCA_CTRL0_MODADDR Position */ 587 #define MXC_F_CTB_REVA_SCA_CTRL0_MODADDR ((uint32_t)(0x1FUL << MXC_F_CTB_REVA_SCA_CTRL0_MODADDR_POS)) /**< SCA_CTRL0_MODADDR Mask */ 588 589 #define MXC_F_CTB_REVA_SCA_CTRL0_ECCSIZE_POS 24 /**< SCA_CTRL0_ECCSIZE Position */ 590 #define MXC_F_CTB_REVA_SCA_CTRL0_ECCSIZE ((uint32_t)(0x3UL << MXC_F_CTB_REVA_SCA_CTRL0_ECCSIZE_POS)) /**< SCA_CTRL0_ECCSIZE Mask */ 591 592 /**@} end of group CTB_REVA_SCA_CTRL0_Register */ 593 594 /** 595 * @ingroup ctb_reva_registers 596 * @defgroup CTB_REVA_SCA_CTRL1 CTB_REVA_SCA_CTRL1 597 * @brief SCA Control 1 Register. 598 * @{ 599 */ 600 #define MXC_F_CTB_REVA_SCA_CTRL1_MAN_POS 0 /**< SCA_CTRL1_MAN Position */ 601 #define MXC_F_CTB_REVA_SCA_CTRL1_MAN ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_CTRL1_MAN_POS)) /**< SCA_CTRL1_MAN Mask */ 602 603 #define MXC_F_CTB_REVA_SCA_CTRL1_AUTOCARRY_POS 1 /**< SCA_CTRL1_AUTOCARRY Position */ 604 #define MXC_F_CTB_REVA_SCA_CTRL1_AUTOCARRY ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_CTRL1_AUTOCARRY_POS)) /**< SCA_CTRL1_AUTOCARRY Mask */ 605 606 #define MXC_F_CTB_REVA_SCA_CTRL1_PLUSONE_POS 2 /**< SCA_CTRL1_PLUSONE Position */ 607 #define MXC_F_CTB_REVA_SCA_CTRL1_PLUSONE ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_CTRL1_PLUSONE_POS)) /**< SCA_CTRL1_PLUSONE Mask */ 608 609 #define MXC_F_CTB_REVA_SCA_CTRL1_CARRYPOS_POS 8 /**< SCA_CTRL1_CARRYPOS Position */ 610 #define MXC_F_CTB_REVA_SCA_CTRL1_CARRYPOS ((uint32_t)(0x3FFUL << MXC_F_CTB_REVA_SCA_CTRL1_CARRYPOS_POS)) /**< SCA_CTRL1_CARRYPOS Mask */ 611 612 /**@} end of group CTB_REVA_SCA_CTRL1_Register */ 613 614 /** 615 * @ingroup ctb_reva_registers 616 * @defgroup CTB_REVA_SCA_STAT CTB_REVA_SCA_STAT 617 * @brief SCA Status Register. 618 * @{ 619 */ 620 #define MXC_F_CTB_REVA_SCA_STAT_BUSY_POS 0 /**< SCA_STAT_BUSY Position */ 621 #define MXC_F_CTB_REVA_SCA_STAT_BUSY ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_STAT_BUSY_POS)) /**< SCA_STAT_BUSY Mask */ 622 623 #define MXC_F_CTB_REVA_SCA_STAT_SCAIF_POS 1 /**< SCA_STAT_SCAIF Position */ 624 #define MXC_F_CTB_REVA_SCA_STAT_SCAIF ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_STAT_SCAIF_POS)) /**< SCA_STAT_SCAIF Mask */ 625 626 #define MXC_F_CTB_REVA_SCA_STAT_PVF1_POS 2 /**< SCA_STAT_PVF1 Position */ 627 #define MXC_F_CTB_REVA_SCA_STAT_PVF1 ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_STAT_PVF1_POS)) /**< SCA_STAT_PVF1 Mask */ 628 629 #define MXC_F_CTB_REVA_SCA_STAT_PVF2_POS 3 /**< SCA_STAT_PVF2 Position */ 630 #define MXC_F_CTB_REVA_SCA_STAT_PVF2 ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_STAT_PVF2_POS)) /**< SCA_STAT_PVF2 Mask */ 631 632 #define MXC_F_CTB_REVA_SCA_STAT_FSMERR_POS 4 /**< SCA_STAT_FSMERR Position */ 633 #define MXC_F_CTB_REVA_SCA_STAT_FSMERR ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_STAT_FSMERR_POS)) /**< SCA_STAT_FSMERR Mask */ 634 635 #define MXC_F_CTB_REVA_SCA_STAT_COMPERR_POS 5 /**< SCA_STAT_COMPERR Position */ 636 #define MXC_F_CTB_REVA_SCA_STAT_COMPERR ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_STAT_COMPERR_POS)) /**< SCA_STAT_COMPERR Mask */ 637 638 #define MXC_F_CTB_REVA_SCA_STAT_MEMERR_POS 6 /**< SCA_STAT_MEMERR Position */ 639 #define MXC_F_CTB_REVA_SCA_STAT_MEMERR ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_STAT_MEMERR_POS)) /**< SCA_STAT_MEMERR Mask */ 640 641 #define MXC_F_CTB_REVA_SCA_STAT_CARRY_POS 8 /**< SCA_STAT_CARRY Position */ 642 #define MXC_F_CTB_REVA_SCA_STAT_CARRY ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_STAT_CARRY_POS)) /**< SCA_STAT_CARRY Mask */ 643 644 #define MXC_F_CTB_REVA_SCA_STAT_GTE2I2_POS 9 /**< SCA_STAT_GTE2I2 Position */ 645 #define MXC_F_CTB_REVA_SCA_STAT_GTE2I2 ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_STAT_GTE2I2_POS)) /**< SCA_STAT_GTE2I2 Mask */ 646 647 #define MXC_F_CTB_REVA_SCA_STAT_ALUNEG1_POS 10 /**< SCA_STAT_ALUNEG1 Position */ 648 #define MXC_F_CTB_REVA_SCA_STAT_ALUNEG1 ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_STAT_ALUNEG1_POS)) /**< SCA_STAT_ALUNEG1 Mask */ 649 650 #define MXC_F_CTB_REVA_SCA_STAT_ALUNEG2_POS 11 /**< SCA_STAT_ALUNEG2 Position */ 651 #define MXC_F_CTB_REVA_SCA_STAT_ALUNEG2 ((uint32_t)(0x1UL << MXC_F_CTB_REVA_SCA_STAT_ALUNEG2_POS)) /**< SCA_STAT_ALUNEG2 Mask */ 652 653 /**@} end of group CTB_REVA_SCA_STAT_Register */ 654 655 /** 656 * @ingroup ctb_reva_registers 657 * @defgroup CTB_REVA_SCA_PPX_ADDR CTB_REVA_SCA_PPX_ADDR 658 * @brief PPX Coordinate Data Pointer Register. 659 * @{ 660 */ 661 #define MXC_F_CTB_REVA_SCA_PPX_ADDR_ADDR_POS 0 /**< SCA_PPX_ADDR_ADDR Position */ 662 #define MXC_F_CTB_REVA_SCA_PPX_ADDR_ADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_SCA_PPX_ADDR_ADDR_POS)) /**< SCA_PPX_ADDR_ADDR Mask */ 663 664 /**@} end of group CTB_REVA_SCA_PPX_ADDR_Register */ 665 666 /** 667 * @ingroup ctb_reva_registers 668 * @defgroup CTB_REVA_SCA_PPY_ADDR CTB_REVA_SCA_PPY_ADDR 669 * @brief PPY Coordinate Data Pointer Register. 670 * @{ 671 */ 672 #define MXC_F_CTB_REVA_SCA_PPY_ADDR_ADDR_POS 0 /**< SCA_PPY_ADDR_ADDR Position */ 673 #define MXC_F_CTB_REVA_SCA_PPY_ADDR_ADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_SCA_PPY_ADDR_ADDR_POS)) /**< SCA_PPY_ADDR_ADDR Mask */ 674 675 /**@} end of group CTB_REVA_SCA_PPY_ADDR_Register */ 676 677 /** 678 * @ingroup ctb_reva_registers 679 * @defgroup CTB_REVA_SCA_PPZ_ADDR CTB_REVA_SCA_PPZ_ADDR 680 * @brief PPZ Coordinate Data Pointer Register. 681 * @{ 682 */ 683 #define MXC_F_CTB_REVA_SCA_PPZ_ADDR_ADDR_POS 0 /**< SCA_PPZ_ADDR_ADDR Position */ 684 #define MXC_F_CTB_REVA_SCA_PPZ_ADDR_ADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_SCA_PPZ_ADDR_ADDR_POS)) /**< SCA_PPZ_ADDR_ADDR Mask */ 685 686 /**@} end of group CTB_REVA_SCA_PPZ_ADDR_Register */ 687 688 /** 689 * @ingroup ctb_reva_registers 690 * @defgroup CTB_REVA_SCA_PQX_ADDR CTB_REVA_SCA_PQX_ADDR 691 * @brief PQX Coordinate Data Pointer Register. 692 * @{ 693 */ 694 #define MXC_F_CTB_REVA_SCA_PQX_ADDR_ADDR_POS 0 /**< SCA_PQX_ADDR_ADDR Position */ 695 #define MXC_F_CTB_REVA_SCA_PQX_ADDR_ADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_SCA_PQX_ADDR_ADDR_POS)) /**< SCA_PQX_ADDR_ADDR Mask */ 696 697 /**@} end of group CTB_REVA_SCA_PQX_ADDR_Register */ 698 699 /** 700 * @ingroup ctb_reva_registers 701 * @defgroup CTB_REVA_SCA_PQY_ADDR CTB_REVA_SCA_PQY_ADDR 702 * @brief PQY Coordinate Data Pointer Register. 703 * @{ 704 */ 705 #define MXC_F_CTB_REVA_SCA_PQY_ADDR_ADDR_POS 0 /**< SCA_PQY_ADDR_ADDR Position */ 706 #define MXC_F_CTB_REVA_SCA_PQY_ADDR_ADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_SCA_PQY_ADDR_ADDR_POS)) /**< SCA_PQY_ADDR_ADDR Mask */ 707 708 /**@} end of group CTB_REVA_SCA_PQY_ADDR_Register */ 709 710 /** 711 * @ingroup ctb_reva_registers 712 * @defgroup CTB_REVA_SCA_PQZ_ADDR CTB_REVA_SCA_PQZ_ADDR 713 * @brief PQZ Coordinate Data Pointer Register. 714 * @{ 715 */ 716 #define MXC_F_CTB_REVA_SCA_PQZ_ADDR_ADDR_POS 0 /**< SCA_PQZ_ADDR_ADDR Position */ 717 #define MXC_F_CTB_REVA_SCA_PQZ_ADDR_ADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_SCA_PQZ_ADDR_ADDR_POS)) /**< SCA_PQZ_ADDR_ADDR Mask */ 718 719 /**@} end of group CTB_REVA_SCA_PQZ_ADDR_Register */ 720 721 /** 722 * @ingroup ctb_reva_registers 723 * @defgroup CTB_REVA_SCA_RDSA_ADDR CTB_REVA_SCA_RDSA_ADDR 724 * @brief SCA RDSA Address Register. 725 * @{ 726 */ 727 #define MXC_F_CTB_REVA_SCA_RDSA_ADDR_ADDR_POS 0 /**< SCA_RDSA_ADDR_ADDR Position */ 728 #define MXC_F_CTB_REVA_SCA_RDSA_ADDR_ADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_SCA_RDSA_ADDR_ADDR_POS)) /**< SCA_RDSA_ADDR_ADDR Mask */ 729 730 /**@} end of group CTB_REVA_SCA_RDSA_ADDR_Register */ 731 732 /** 733 * @ingroup ctb_reva_registers 734 * @defgroup CTB_REVA_SCA_RES_ADDR CTB_REVA_SCA_RES_ADDR 735 * @brief SCA Result Address Register. 736 * @{ 737 */ 738 #define MXC_F_CTB_REVA_SCA_RES_ADDR_ADDR_POS 0 /**< SCA_RES_ADDR_ADDR Position */ 739 #define MXC_F_CTB_REVA_SCA_RES_ADDR_ADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_SCA_RES_ADDR_ADDR_POS)) /**< SCA_RES_ADDR_ADDR Mask */ 740 741 /**@} end of group CTB_REVA_SCA_RES_ADDR_Register */ 742 743 /** 744 * @ingroup ctb_reva_registers 745 * @defgroup CTB_REVA_SCA_OP_BUFF_ADDR CTB_REVA_SCA_OP_BUFF_ADDR 746 * @brief SCA Operation Buffer Address Register. 747 * @{ 748 */ 749 #define MXC_F_CTB_REVA_SCA_OP_BUFF_ADDR_ADDR_POS 0 /**< SCA_OP_BUFF_ADDR_ADDR Position */ 750 #define MXC_F_CTB_REVA_SCA_OP_BUFF_ADDR_ADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_SCA_OP_BUFF_ADDR_ADDR_POS)) /**< SCA_OP_BUFF_ADDR_ADDR Mask */ 751 752 /**@} end of group CTB_REVA_SCA_OP_BUFF_ADDR_Register */ 753 754 /** 755 * @ingroup ctb_reva_registers 756 * @defgroup CTB_REVA_SCA_MODDATA CTB_REVA_SCA_MODDATA 757 * @brief SCA Modulo Data Input Register. 758 * @{ 759 */ 760 #define MXC_F_CTB_REVA_SCA_MODDATA_DATA_POS 0 /**< SCA_MODDATA_DATA Position */ 761 #define MXC_F_CTB_REVA_SCA_MODDATA_DATA ((uint32_t)(0xFFFFFFFFUL << MXC_F_CTB_REVA_SCA_MODDATA_DATA_POS)) /**< SCA_MODDATA_DATA Mask */ 762 763 /**@} end of group CTB_REVA_SCA_MODDATA_Register */ 764 765 #ifdef __cplusplus 766 } 767 #endif 768 769 #endif /* _CTB_REVA_REGS_H_ */ 770