1 /** 2 * @file tpu_reva_regs.h 3 * @brief Registers, Bit Masks and Bit Positions for the TPU_REVA 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 _TPU_REVA_REGS_H_ 27 #define _TPU_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 tpu_reva 65 * @defgroup tpu_reva_registers TPU_REVA_Registers 66 * @brief Registers, Bit Masks and Bit Positions for the TPU_REVA Peripheral Module. 67 * @details The Trust Protection Unit used to assist the computationally intensive operations of several common cryptographic algorithms. 68 */ 69 70 /** 71 * @ingroup tpu_reva_registers 72 * Structure type to access the TPU_REVA Registers. 73 */ 74 typedef struct { 75 __IO uint32_t ctrl; /**< <tt>\b 0x00:</tt> TPU_REVA CTRL Register */ 76 __IO uint32_t cipher_ctrl; /**< <tt>\b 0x04:</tt> TPU_REVA CIPHER_CTRL Register */ 77 __IO uint32_t hash_ctrl; /**< <tt>\b 0x08:</tt> TPU_REVA HASH_CTRL Register */ 78 __IO uint32_t crc_ctrl; /**< <tt>\b 0x0C:</tt> TPU_REVA CRC_CTRL Register */ 79 __IO uint32_t dma_src; /**< <tt>\b 0x10:</tt> TPU_REVA DMA_SRC Register */ 80 __IO uint32_t dma_dst; /**< <tt>\b 0x14:</tt> TPU_REVA DMA_DST Register */ 81 __IO uint32_t dma_cnt; /**< <tt>\b 0x18:</tt> TPU_REVA DMA_CNT Register */ 82 __IO uint32_t maa_ctrl; /**< <tt>\b 0x1C:</tt> TPU_REVA MAA_CTRL Register */ 83 __O uint32_t data_in[4]; /**< <tt>\b 0x20:</tt> TPU_REVA DATA_IN Register */ 84 __I uint32_t data_out[4]; /**< <tt>\b 0x30:</tt> TPU_REVA DATA_OUT Register */ 85 __IO uint32_t crc_poly; /**< <tt>\b 0x40:</tt> TPU_REVA CRC_POLY Register */ 86 __IO uint32_t crc_val; /**< <tt>\b 0x44:</tt> TPU_REVA CRC_VAL Register */ 87 __I uint32_t crc_prng; /**< <tt>\b 0x48:</tt> TPU_REVA CRC_PRNG Register */ 88 __IO uint32_t ham_ecc; /**< <tt>\b 0x4C:</tt> TPU_REVA HAM_ECC Register */ 89 __IO uint32_t cipher_init[4]; /**< <tt>\b 0x50:</tt> TPU_REVA CIPHER_INIT Register */ 90 __O uint32_t cipher_key[8]; /**< <tt>\b 0x60:</tt> TPU_REVA CIPHER_KEY Register */ 91 __IO uint32_t hash_digest[16]; /**< <tt>\b 0x80:</tt> TPU_REVA HASH_DIGEST Register */ 92 __IO uint32_t hash_msg_sz[4]; /**< <tt>\b 0xC0:</tt> TPU_REVA HASH_MSG_SZ Register */ 93 __IO uint32_t maa_maws; /**< <tt>\b 0xD0:</tt> TPU_REVA MAA_MAWS Register */ 94 } mxc_tpu_reva_regs_t; 95 96 /* Register offsets for module TPU_REVA */ 97 /** 98 * @ingroup tpu_reva_registers 99 * @defgroup TPU_REVA_Register_Offsets Register Offsets 100 * @brief TPU_REVA Peripheral Register Offsets from the TPU_REVA Base Peripheral Address. 101 * @{ 102 */ 103 #define MXC_R_TPU_REVA_CTRL ((uint32_t)0x00000000UL) /**< Offset from TPU_REVA Base Address: <tt> 0x0000</tt> */ 104 #define MXC_R_TPU_REVA_CIPHER_CTRL ((uint32_t)0x00000004UL) /**< Offset from TPU_REVA Base Address: <tt> 0x0004</tt> */ 105 #define MXC_R_TPU_REVA_HASH_CTRL ((uint32_t)0x00000008UL) /**< Offset from TPU_REVA Base Address: <tt> 0x0008</tt> */ 106 #define MXC_R_TPU_REVA_CRC_CTRL ((uint32_t)0x0000000CUL) /**< Offset from TPU_REVA Base Address: <tt> 0x000C</tt> */ 107 #define MXC_R_TPU_REVA_DMA_SRC ((uint32_t)0x00000010UL) /**< Offset from TPU_REVA Base Address: <tt> 0x0010</tt> */ 108 #define MXC_R_TPU_REVA_DMA_DST ((uint32_t)0x00000014UL) /**< Offset from TPU_REVA Base Address: <tt> 0x0014</tt> */ 109 #define MXC_R_TPU_REVA_DMA_CNT ((uint32_t)0x00000018UL) /**< Offset from TPU_REVA Base Address: <tt> 0x0018</tt> */ 110 #define MXC_R_TPU_REVA_MAA_CTRL ((uint32_t)0x0000001CUL) /**< Offset from TPU_REVA Base Address: <tt> 0x001C</tt> */ 111 #define MXC_R_TPU_REVA_DATA_IN ((uint32_t)0x00000020UL) /**< Offset from TPU_REVA Base Address: <tt> 0x0020</tt> */ 112 #define MXC_R_TPU_REVA_DATA_OUT ((uint32_t)0x00000030UL) /**< Offset from TPU_REVA Base Address: <tt> 0x0030</tt> */ 113 #define MXC_R_TPU_REVA_CRC_POLY ((uint32_t)0x00000040UL) /**< Offset from TPU_REVA Base Address: <tt> 0x0040</tt> */ 114 #define MXC_R_TPU_REVA_CRC_VAL ((uint32_t)0x00000044UL) /**< Offset from TPU_REVA Base Address: <tt> 0x0044</tt> */ 115 #define MXC_R_TPU_REVA_CRC_PRNG ((uint32_t)0x00000048UL) /**< Offset from TPU_REVA Base Address: <tt> 0x0048</tt> */ 116 #define MXC_R_TPU_REVA_HAM_ECC ((uint32_t)0x0000004CUL) /**< Offset from TPU_REVA Base Address: <tt> 0x004C</tt> */ 117 #define MXC_R_TPU_REVA_CIPHER_INIT ((uint32_t)0x00000050UL) /**< Offset from TPU_REVA Base Address: <tt> 0x0050</tt> */ 118 #define MXC_R_TPU_REVA_CIPHER_KEY ((uint32_t)0x00000060UL) /**< Offset from TPU_REVA Base Address: <tt> 0x0060</tt> */ 119 #define MXC_R_TPU_REVA_HASH_DIGEST ((uint32_t)0x00000080UL) /**< Offset from TPU_REVA Base Address: <tt> 0x0080</tt> */ 120 #define MXC_R_TPU_REVA_HASH_MSG_SZ ((uint32_t)0x000000C0UL) /**< Offset from TPU_REVA Base Address: <tt> 0x00C0</tt> */ 121 #define MXC_R_TPU_REVA_MAA_MAWS ((uint32_t)0x000000D0UL) /**< Offset from TPU_REVA Base Address: <tt> 0x00D0</tt> */ 122 /**@} end of group tpu_reva_registers */ 123 124 /** 125 * @ingroup tpu_reva_registers 126 * @defgroup TPU_REVA_CTRL TPU_REVA_CTRL 127 * @brief Crypto Control Register. 128 * @{ 129 */ 130 #define MXC_F_TPU_REVA_CTRL_RST_POS 0 /**< CTRL_RST Position */ 131 #define MXC_F_TPU_REVA_CTRL_RST ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_RST_POS)) /**< CTRL_RST Mask */ 132 133 #define MXC_F_TPU_REVA_CTRL_INT_POS 1 /**< CTRL_INT Position */ 134 #define MXC_F_TPU_REVA_CTRL_INT ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_INT_POS)) /**< CTRL_INT Mask */ 135 136 #define MXC_F_TPU_REVA_CTRL_SRC_POS 2 /**< CTRL_SRC Position */ 137 #define MXC_F_TPU_REVA_CTRL_SRC ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_SRC_POS)) /**< CTRL_SRC Mask */ 138 139 #define MXC_F_TPU_REVA_CTRL_BSO_POS 4 /**< CTRL_BSO Position */ 140 #define MXC_F_TPU_REVA_CTRL_BSO ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_BSO_POS)) /**< CTRL_BSO Mask */ 141 142 #define MXC_F_TPU_REVA_CTRL_BSI_POS 5 /**< CTRL_BSI Position */ 143 #define MXC_F_TPU_REVA_CTRL_BSI ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_BSI_POS)) /**< CTRL_BSI Mask */ 144 145 #define MXC_F_TPU_REVA_CTRL_WAIT_EN_POS 6 /**< CTRL_WAIT_EN Position */ 146 #define MXC_F_TPU_REVA_CTRL_WAIT_EN ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_WAIT_EN_POS)) /**< CTRL_WAIT_EN Mask */ 147 148 #define MXC_F_TPU_REVA_CTRL_WAIT_POL_POS 7 /**< CTRL_WAIT_POL Position */ 149 #define MXC_F_TPU_REVA_CTRL_WAIT_POL ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_WAIT_POL_POS)) /**< CTRL_WAIT_POL Mask */ 150 151 #define MXC_F_TPU_REVA_CTRL_WRSRC_POS 8 /**< CTRL_WRSRC Position */ 152 #define MXC_F_TPU_REVA_CTRL_WRSRC ((uint32_t)(0x3UL << MXC_F_TPU_REVA_CTRL_WRSRC_POS)) /**< CTRL_WRSRC Mask */ 153 #define MXC_V_TPU_REVA_CTRL_WRSRC_NONE ((uint32_t)0x0UL) /**< CTRL_WRSRC_NONE Value */ 154 #define MXC_S_TPU_REVA_CTRL_WRSRC_NONE (MXC_V_TPU_REVA_CTRL_WRSRC_NONE << MXC_F_TPU_REVA_CTRL_WRSRC_POS) /**< CTRL_WRSRC_NONE Setting */ 155 #define MXC_V_TPU_REVA_CTRL_WRSRC_CIPHEROUTPUT ((uint32_t)0x1UL) /**< CTRL_WRSRC_CIPHEROUTPUT Value */ 156 #define MXC_S_TPU_REVA_CTRL_WRSRC_CIPHEROUTPUT (MXC_V_TPU_REVA_CTRL_WRSRC_CIPHEROUTPUT << MXC_F_TPU_REVA_CTRL_WRSRC_POS) /**< CTRL_WRSRC_CIPHEROUTPUT Setting */ 157 #define MXC_V_TPU_REVA_CTRL_WRSRC_READFIFO ((uint32_t)0x2UL) /**< CTRL_WRSRC_READFIFO Value */ 158 #define MXC_S_TPU_REVA_CTRL_WRSRC_READFIFO (MXC_V_TPU_REVA_CTRL_WRSRC_READFIFO << MXC_F_TPU_REVA_CTRL_WRSRC_POS) /**< CTRL_WRSRC_READFIFO Setting */ 159 160 #define MXC_F_TPU_REVA_CTRL_RDSRC_POS 10 /**< CTRL_RDSRC Position */ 161 #define MXC_F_TPU_REVA_CTRL_RDSRC ((uint32_t)(0x3UL << MXC_F_TPU_REVA_CTRL_RDSRC_POS)) /**< CTRL_RDSRC Mask */ 162 #define MXC_V_TPU_REVA_CTRL_RDSRC_DMADISABLED ((uint32_t)0x0UL) /**< CTRL_RDSRC_DMADISABLED Value */ 163 #define MXC_S_TPU_REVA_CTRL_RDSRC_DMADISABLED (MXC_V_TPU_REVA_CTRL_RDSRC_DMADISABLED << MXC_F_TPU_REVA_CTRL_RDSRC_POS) /**< CTRL_RDSRC_DMADISABLED Setting */ 164 #define MXC_V_TPU_REVA_CTRL_RDSRC_DMAORAPB ((uint32_t)0x1UL) /**< CTRL_RDSRC_DMAORAPB Value */ 165 #define MXC_S_TPU_REVA_CTRL_RDSRC_DMAORAPB (MXC_V_TPU_REVA_CTRL_RDSRC_DMAORAPB << MXC_F_TPU_REVA_CTRL_RDSRC_POS) /**< CTRL_RDSRC_DMAORAPB Setting */ 166 #define MXC_V_TPU_REVA_CTRL_RDSRC_RNG ((uint32_t)0x2UL) /**< CTRL_RDSRC_RNG Value */ 167 #define MXC_S_TPU_REVA_CTRL_RDSRC_RNG (MXC_V_TPU_REVA_CTRL_RDSRC_RNG << MXC_F_TPU_REVA_CTRL_RDSRC_POS) /**< CTRL_RDSRC_RNG Setting */ 168 169 #define MXC_F_TPU_REVA_CTRL_FLAG_MODE_POS 14 /**< CTRL_FLAG_MODE Position */ 170 #define MXC_F_TPU_REVA_CTRL_FLAG_MODE ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_FLAG_MODE_POS)) /**< CTRL_FLAG_MODE Mask */ 171 172 #define MXC_F_TPU_REVA_CTRL_DMADNE_MSK_POS 15 /**< CTRL_DMADNE_MSK Position */ 173 #define MXC_F_TPU_REVA_CTRL_DMADNE_MSK ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_DMADNE_MSK_POS)) /**< CTRL_DMADNE_MSK Mask */ 174 175 #define MXC_F_TPU_REVA_CTRL_DMA_DONE_POS 24 /**< CTRL_DMA_DONE Position */ 176 #define MXC_F_TPU_REVA_CTRL_DMA_DONE ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_DMA_DONE_POS)) /**< CTRL_DMA_DONE Mask */ 177 178 #define MXC_F_TPU_REVA_CTRL_GLS_DONE_POS 25 /**< CTRL_GLS_DONE Position */ 179 #define MXC_F_TPU_REVA_CTRL_GLS_DONE ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_GLS_DONE_POS)) /**< CTRL_GLS_DONE Mask */ 180 181 #define MXC_F_TPU_REVA_CTRL_HSH_DONE_POS 26 /**< CTRL_HSH_DONE Position */ 182 #define MXC_F_TPU_REVA_CTRL_HSH_DONE ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_HSH_DONE_POS)) /**< CTRL_HSH_DONE Mask */ 183 184 #define MXC_F_TPU_REVA_CTRL_CPH_DONE_POS 27 /**< CTRL_CPH_DONE Position */ 185 #define MXC_F_TPU_REVA_CTRL_CPH_DONE ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_CPH_DONE_POS)) /**< CTRL_CPH_DONE Mask */ 186 187 #define MXC_F_TPU_REVA_CTRL_MAA_DONE_POS 28 /**< CTRL_MAA_DONE Position */ 188 #define MXC_F_TPU_REVA_CTRL_MAA_DONE ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_MAA_DONE_POS)) /**< CTRL_MAA_DONE Mask */ 189 190 #define MXC_F_TPU_REVA_CTRL_ERR_POS 29 /**< CTRL_ERR Position */ 191 #define MXC_F_TPU_REVA_CTRL_ERR ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_ERR_POS)) /**< CTRL_ERR Mask */ 192 193 #define MXC_F_TPU_REVA_CTRL_RDY_POS 30 /**< CTRL_RDY Position */ 194 #define MXC_F_TPU_REVA_CTRL_RDY ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_RDY_POS)) /**< CTRL_RDY Mask */ 195 196 #define MXC_F_TPU_REVA_CTRL_DONE_POS 31 /**< CTRL_DONE Position */ 197 #define MXC_F_TPU_REVA_CTRL_DONE ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CTRL_DONE_POS)) /**< CTRL_DONE Mask */ 198 199 /**@} end of group TPU_REVA_CTRL_Register */ 200 201 /** 202 * @ingroup tpu_reva_registers 203 * @defgroup TPU_REVA_CIPHER_CTRL TPU_REVA_CIPHER_CTRL 204 * @brief Cipher Control Register. 205 * @{ 206 */ 207 #define MXC_F_TPU_REVA_CIPHER_CTRL_ENC_POS 0 /**< CIPHER_CTRL_ENC Position */ 208 #define MXC_F_TPU_REVA_CIPHER_CTRL_ENC ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CIPHER_CTRL_ENC_POS)) /**< CIPHER_CTRL_ENC Mask */ 209 210 #define MXC_F_TPU_REVA_CIPHER_CTRL_KEY_POS 1 /**< CIPHER_CTRL_KEY Position */ 211 #define MXC_F_TPU_REVA_CIPHER_CTRL_KEY ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CIPHER_CTRL_KEY_POS)) /**< CIPHER_CTRL_KEY Mask */ 212 213 #define MXC_F_TPU_REVA_CIPHER_CTRL_SRC_POS 2 /**< CIPHER_CTRL_SRC Position */ 214 #define MXC_F_TPU_REVA_CIPHER_CTRL_SRC ((uint32_t)(0x3UL << MXC_F_TPU_REVA_CIPHER_CTRL_SRC_POS)) /**< CIPHER_CTRL_SRC Mask */ 215 #define MXC_V_TPU_REVA_CIPHER_CTRL_SRC_CIPHERKEY ((uint32_t)0x0UL) /**< CIPHER_CTRL_SRC_CIPHERKEY Value */ 216 #define MXC_S_TPU_REVA_CIPHER_CTRL_SRC_CIPHERKEY (MXC_V_TPU_REVA_CIPHER_CTRL_SRC_CIPHERKEY << MXC_F_TPU_REVA_CIPHER_CTRL_SRC_POS) /**< CIPHER_CTRL_SRC_CIPHERKEY Setting */ 217 #define MXC_V_TPU_REVA_CIPHER_CTRL_SRC_REGFILE ((uint32_t)0x2UL) /**< CIPHER_CTRL_SRC_REGFILE Value */ 218 #define MXC_S_TPU_REVA_CIPHER_CTRL_SRC_REGFILE (MXC_V_TPU_REVA_CIPHER_CTRL_SRC_REGFILE << MXC_F_TPU_REVA_CIPHER_CTRL_SRC_POS) /**< CIPHER_CTRL_SRC_REGFILE Setting */ 219 #define MXC_V_TPU_REVA_CIPHER_CTRL_SRC_QSPIKEY_REGFILE ((uint32_t)0x3UL) /**< CIPHER_CTRL_SRC_QSPIKEY_REGFILE Value */ 220 #define MXC_S_TPU_REVA_CIPHER_CTRL_SRC_QSPIKEY_REGFILE (MXC_V_TPU_REVA_CIPHER_CTRL_SRC_QSPIKEY_REGFILE << MXC_F_TPU_REVA_CIPHER_CTRL_SRC_POS) /**< CIPHER_CTRL_SRC_QSPIKEY_REGFILE Setting */ 221 222 #define MXC_F_TPU_REVA_CIPHER_CTRL_CIPHER_POS 4 /**< CIPHER_CTRL_CIPHER Position */ 223 #define MXC_F_TPU_REVA_CIPHER_CTRL_CIPHER ((uint32_t)(0x7UL << MXC_F_TPU_REVA_CIPHER_CTRL_CIPHER_POS)) /**< CIPHER_CTRL_CIPHER Mask */ 224 #define MXC_V_TPU_REVA_CIPHER_CTRL_CIPHER_DIS ((uint32_t)0x0UL) /**< CIPHER_CTRL_CIPHER_DIS Value */ 225 #define MXC_S_TPU_REVA_CIPHER_CTRL_CIPHER_DIS (MXC_V_TPU_REVA_CIPHER_CTRL_CIPHER_DIS << MXC_F_TPU_REVA_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_DIS Setting */ 226 #define MXC_V_TPU_REVA_CIPHER_CTRL_CIPHER_AES128 ((uint32_t)0x1UL) /**< CIPHER_CTRL_CIPHER_AES128 Value */ 227 #define MXC_S_TPU_REVA_CIPHER_CTRL_CIPHER_AES128 (MXC_V_TPU_REVA_CIPHER_CTRL_CIPHER_AES128 << MXC_F_TPU_REVA_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_AES128 Setting */ 228 #define MXC_V_TPU_REVA_CIPHER_CTRL_CIPHER_AES192 ((uint32_t)0x2UL) /**< CIPHER_CTRL_CIPHER_AES192 Value */ 229 #define MXC_S_TPU_REVA_CIPHER_CTRL_CIPHER_AES192 (MXC_V_TPU_REVA_CIPHER_CTRL_CIPHER_AES192 << MXC_F_TPU_REVA_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_AES192 Setting */ 230 #define MXC_V_TPU_REVA_CIPHER_CTRL_CIPHER_AES256 ((uint32_t)0x3UL) /**< CIPHER_CTRL_CIPHER_AES256 Value */ 231 #define MXC_S_TPU_REVA_CIPHER_CTRL_CIPHER_AES256 (MXC_V_TPU_REVA_CIPHER_CTRL_CIPHER_AES256 << MXC_F_TPU_REVA_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_AES256 Setting */ 232 #define MXC_V_TPU_REVA_CIPHER_CTRL_CIPHER_DES ((uint32_t)0x4UL) /**< CIPHER_CTRL_CIPHER_DES Value */ 233 #define MXC_S_TPU_REVA_CIPHER_CTRL_CIPHER_DES (MXC_V_TPU_REVA_CIPHER_CTRL_CIPHER_DES << MXC_F_TPU_REVA_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_DES Setting */ 234 #define MXC_V_TPU_REVA_CIPHER_CTRL_CIPHER_TDES ((uint32_t)0x5UL) /**< CIPHER_CTRL_CIPHER_TDES Value */ 235 #define MXC_S_TPU_REVA_CIPHER_CTRL_CIPHER_TDES (MXC_V_TPU_REVA_CIPHER_CTRL_CIPHER_TDES << MXC_F_TPU_REVA_CIPHER_CTRL_CIPHER_POS) /**< CIPHER_CTRL_CIPHER_TDES Setting */ 236 237 #define MXC_F_TPU_REVA_CIPHER_CTRL_MODE_POS 8 /**< CIPHER_CTRL_MODE Position */ 238 #define MXC_F_TPU_REVA_CIPHER_CTRL_MODE ((uint32_t)(0x7UL << MXC_F_TPU_REVA_CIPHER_CTRL_MODE_POS)) /**< CIPHER_CTRL_MODE Mask */ 239 #define MXC_V_TPU_REVA_CIPHER_CTRL_MODE_ECB ((uint32_t)0x0UL) /**< CIPHER_CTRL_MODE_ECB Value */ 240 #define MXC_S_TPU_REVA_CIPHER_CTRL_MODE_ECB (MXC_V_TPU_REVA_CIPHER_CTRL_MODE_ECB << MXC_F_TPU_REVA_CIPHER_CTRL_MODE_POS) /**< CIPHER_CTRL_MODE_ECB Setting */ 241 #define MXC_V_TPU_REVA_CIPHER_CTRL_MODE_CBC ((uint32_t)0x1UL) /**< CIPHER_CTRL_MODE_CBC Value */ 242 #define MXC_S_TPU_REVA_CIPHER_CTRL_MODE_CBC (MXC_V_TPU_REVA_CIPHER_CTRL_MODE_CBC << MXC_F_TPU_REVA_CIPHER_CTRL_MODE_POS) /**< CIPHER_CTRL_MODE_CBC Setting */ 243 #define MXC_V_TPU_REVA_CIPHER_CTRL_MODE_CFB ((uint32_t)0x2UL) /**< CIPHER_CTRL_MODE_CFB Value */ 244 #define MXC_S_TPU_REVA_CIPHER_CTRL_MODE_CFB (MXC_V_TPU_REVA_CIPHER_CTRL_MODE_CFB << MXC_F_TPU_REVA_CIPHER_CTRL_MODE_POS) /**< CIPHER_CTRL_MODE_CFB Setting */ 245 #define MXC_V_TPU_REVA_CIPHER_CTRL_MODE_OFB ((uint32_t)0x3UL) /**< CIPHER_CTRL_MODE_OFB Value */ 246 #define MXC_S_TPU_REVA_CIPHER_CTRL_MODE_OFB (MXC_V_TPU_REVA_CIPHER_CTRL_MODE_OFB << MXC_F_TPU_REVA_CIPHER_CTRL_MODE_POS) /**< CIPHER_CTRL_MODE_OFB Setting */ 247 #define MXC_V_TPU_REVA_CIPHER_CTRL_MODE_CTR ((uint32_t)0x4UL) /**< CIPHER_CTRL_MODE_CTR Value */ 248 #define MXC_S_TPU_REVA_CIPHER_CTRL_MODE_CTR (MXC_V_TPU_REVA_CIPHER_CTRL_MODE_CTR << MXC_F_TPU_REVA_CIPHER_CTRL_MODE_POS) /**< CIPHER_CTRL_MODE_CTR Setting */ 249 250 /**@} end of group TPU_REVA_CIPHER_CTRL_Register */ 251 252 /** 253 * @ingroup tpu_reva_registers 254 * @defgroup TPU_REVA_HASH_CTRL TPU_REVA_HASH_CTRL 255 * @brief HASH Control Register. 256 * @{ 257 */ 258 #define MXC_F_TPU_REVA_HASH_CTRL_INIT_POS 0 /**< HASH_CTRL_INIT Position */ 259 #define MXC_F_TPU_REVA_HASH_CTRL_INIT ((uint32_t)(0x1UL << MXC_F_TPU_REVA_HASH_CTRL_INIT_POS)) /**< HASH_CTRL_INIT Mask */ 260 261 #define MXC_F_TPU_REVA_HASH_CTRL_XOR_POS 1 /**< HASH_CTRL_XOR Position */ 262 #define MXC_F_TPU_REVA_HASH_CTRL_XOR ((uint32_t)(0x1UL << MXC_F_TPU_REVA_HASH_CTRL_XOR_POS)) /**< HASH_CTRL_XOR Mask */ 263 264 #define MXC_F_TPU_REVA_HASH_CTRL_HASH_POS 2 /**< HASH_CTRL_HASH Position */ 265 #define MXC_F_TPU_REVA_HASH_CTRL_HASH ((uint32_t)(0x7UL << MXC_F_TPU_REVA_HASH_CTRL_HASH_POS)) /**< HASH_CTRL_HASH Mask */ 266 #define MXC_V_TPU_REVA_HASH_CTRL_HASH_DIS ((uint32_t)0x0UL) /**< HASH_CTRL_HASH_DIS Value */ 267 #define MXC_S_TPU_REVA_HASH_CTRL_HASH_DIS (MXC_V_TPU_REVA_HASH_CTRL_HASH_DIS << MXC_F_TPU_REVA_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_DIS Setting */ 268 #define MXC_V_TPU_REVA_HASH_CTRL_HASH_SHA1 ((uint32_t)0x1UL) /**< HASH_CTRL_HASH_SHA1 Value */ 269 #define MXC_S_TPU_REVA_HASH_CTRL_HASH_SHA1 (MXC_V_TPU_REVA_HASH_CTRL_HASH_SHA1 << MXC_F_TPU_REVA_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_SHA1 Setting */ 270 #define MXC_V_TPU_REVA_HASH_CTRL_HASH_SHA224 ((uint32_t)0x2UL) /**< HASH_CTRL_HASH_SHA224 Value */ 271 #define MXC_S_TPU_REVA_HASH_CTRL_HASH_SHA224 (MXC_V_TPU_REVA_HASH_CTRL_HASH_SHA224 << MXC_F_TPU_REVA_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_SHA224 Setting */ 272 #define MXC_V_TPU_REVA_HASH_CTRL_HASH_SHA256 ((uint32_t)0x3UL) /**< HASH_CTRL_HASH_SHA256 Value */ 273 #define MXC_S_TPU_REVA_HASH_CTRL_HASH_SHA256 (MXC_V_TPU_REVA_HASH_CTRL_HASH_SHA256 << MXC_F_TPU_REVA_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_SHA256 Setting */ 274 #define MXC_V_TPU_REVA_HASH_CTRL_HASH_SHA384 ((uint32_t)0x4UL) /**< HASH_CTRL_HASH_SHA384 Value */ 275 #define MXC_S_TPU_REVA_HASH_CTRL_HASH_SHA384 (MXC_V_TPU_REVA_HASH_CTRL_HASH_SHA384 << MXC_F_TPU_REVA_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_SHA384 Setting */ 276 #define MXC_V_TPU_REVA_HASH_CTRL_HASH_SHA512 ((uint32_t)0x5UL) /**< HASH_CTRL_HASH_SHA512 Value */ 277 #define MXC_S_TPU_REVA_HASH_CTRL_HASH_SHA512 (MXC_V_TPU_REVA_HASH_CTRL_HASH_SHA512 << MXC_F_TPU_REVA_HASH_CTRL_HASH_POS) /**< HASH_CTRL_HASH_SHA512 Setting */ 278 279 #define MXC_F_TPU_REVA_HASH_CTRL_LAST_POS 5 /**< HASH_CTRL_LAST Position */ 280 #define MXC_F_TPU_REVA_HASH_CTRL_LAST ((uint32_t)(0x1UL << MXC_F_TPU_REVA_HASH_CTRL_LAST_POS)) /**< HASH_CTRL_LAST Mask */ 281 282 /**@} end of group TPU_REVA_HASH_CTRL_Register */ 283 284 /** 285 * @ingroup tpu_reva_registers 286 * @defgroup TPU_REVA_CRC_CTRL TPU_REVA_CRC_CTRL 287 * @brief CRC Control Register. 288 * @{ 289 */ 290 #define MXC_F_TPU_REVA_CRC_CTRL_CRC_EN_POS 0 /**< CRC_CTRL_CRC_EN Position */ 291 #define MXC_F_TPU_REVA_CRC_CTRL_CRC_EN ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CRC_CTRL_CRC_EN_POS)) /**< CRC_CTRL_CRC_EN Mask */ 292 293 #define MXC_F_TPU_REVA_CRC_CTRL_MSB_POS 1 /**< CRC_CTRL_MSB Position */ 294 #define MXC_F_TPU_REVA_CRC_CTRL_MSB ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CRC_CTRL_MSB_POS)) /**< CRC_CTRL_MSB Mask */ 295 296 #define MXC_F_TPU_REVA_CRC_CTRL_PRNG_POS 2 /**< CRC_CTRL_PRNG Position */ 297 #define MXC_F_TPU_REVA_CRC_CTRL_PRNG ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CRC_CTRL_PRNG_POS)) /**< CRC_CTRL_PRNG Mask */ 298 299 #define MXC_F_TPU_REVA_CRC_CTRL_ENT_POS 3 /**< CRC_CTRL_ENT Position */ 300 #define MXC_F_TPU_REVA_CRC_CTRL_ENT ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CRC_CTRL_ENT_POS)) /**< CRC_CTRL_ENT Mask */ 301 302 #define MXC_F_TPU_REVA_CRC_CTRL_HAM_POS 4 /**< CRC_CTRL_HAM Position */ 303 #define MXC_F_TPU_REVA_CRC_CTRL_HAM ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CRC_CTRL_HAM_POS)) /**< CRC_CTRL_HAM Mask */ 304 305 #define MXC_F_TPU_REVA_CRC_CTRL_HRST_POS 5 /**< CRC_CTRL_HRST Position */ 306 #define MXC_F_TPU_REVA_CRC_CTRL_HRST ((uint32_t)(0x1UL << MXC_F_TPU_REVA_CRC_CTRL_HRST_POS)) /**< CRC_CTRL_HRST Mask */ 307 308 /**@} end of group TPU_REVA_CRC_CTRL_Register */ 309 310 /** 311 * @ingroup tpu_reva_registers 312 * @defgroup TPU_REVA_DMA_SRC TPU_REVA_DMA_SRC 313 * @brief Crypto DMA Source Address. 314 * @{ 315 */ 316 #define MXC_F_TPU_REVA_DMA_SRC_SRC_ADDR_POS 0 /**< DMA_SRC_SRC_ADDR Position */ 317 #define MXC_F_TPU_REVA_DMA_SRC_SRC_ADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_TPU_REVA_DMA_SRC_SRC_ADDR_POS)) /**< DMA_SRC_SRC_ADDR Mask */ 318 319 /**@} end of group TPU_REVA_DMA_SRC_Register */ 320 321 /** 322 * @ingroup tpu_reva_registers 323 * @defgroup TPU_REVA_DMA_DST TPU_REVA_DMA_DST 324 * @brief Crypto DMA Destination Address. 325 * @{ 326 */ 327 #define MXC_F_TPU_REVA_DMA_DST_DST_ADDR_POS 0 /**< DMA_DST_DST_ADDR Position */ 328 #define MXC_F_TPU_REVA_DMA_DST_DST_ADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_TPU_REVA_DMA_DST_DST_ADDR_POS)) /**< DMA_DST_DST_ADDR Mask */ 329 330 /**@} end of group TPU_REVA_DMA_DST_Register */ 331 332 /** 333 * @ingroup tpu_reva_registers 334 * @defgroup TPU_REVA_DMA_CNT TPU_REVA_DMA_CNT 335 * @brief Crypto DMA Byte Count. 336 * @{ 337 */ 338 #define MXC_F_TPU_REVA_DMA_CNT_COUNT_POS 0 /**< DMA_CNT_COUNT Position */ 339 #define MXC_F_TPU_REVA_DMA_CNT_COUNT ((uint32_t)(0xFFFFFFFFUL << MXC_F_TPU_REVA_DMA_CNT_COUNT_POS)) /**< DMA_CNT_COUNT Mask */ 340 341 /**@} end of group TPU_REVA_DMA_CNT_Register */ 342 343 /** 344 * @ingroup tpu_reva_registers 345 * @defgroup TPU_REVA_MAA_CTRL TPU_REVA_MAA_CTRL 346 * @brief MAA Control Register. 347 * @{ 348 */ 349 #define MXC_F_TPU_REVA_MAA_CTRL_STC_POS 0 /**< MAA_CTRL_STC Position */ 350 #define MXC_F_TPU_REVA_MAA_CTRL_STC ((uint32_t)(0x1UL << MXC_F_TPU_REVA_MAA_CTRL_STC_POS)) /**< MAA_CTRL_STC Mask */ 351 352 #define MXC_F_TPU_REVA_MAA_CTRL_CLC_POS 1 /**< MAA_CTRL_CLC Position */ 353 #define MXC_F_TPU_REVA_MAA_CTRL_CLC ((uint32_t)(0x7UL << MXC_F_TPU_REVA_MAA_CTRL_CLC_POS)) /**< MAA_CTRL_CLC Mask */ 354 #define MXC_V_TPU_REVA_MAA_CTRL_CLC_EXP ((uint32_t)0x0UL) /**< MAA_CTRL_CLC_EXP Value */ 355 #define MXC_S_TPU_REVA_MAA_CTRL_CLC_EXP (MXC_V_TPU_REVA_MAA_CTRL_CLC_EXP << MXC_F_TPU_REVA_MAA_CTRL_CLC_POS) /**< MAA_CTRL_CLC_EXP Setting */ 356 #define MXC_V_TPU_REVA_MAA_CTRL_CLC_SQ ((uint32_t)0x1UL) /**< MAA_CTRL_CLC_SQ Value */ 357 #define MXC_S_TPU_REVA_MAA_CTRL_CLC_SQ (MXC_V_TPU_REVA_MAA_CTRL_CLC_SQ << MXC_F_TPU_REVA_MAA_CTRL_CLC_POS) /**< MAA_CTRL_CLC_SQ Setting */ 358 #define MXC_V_TPU_REVA_MAA_CTRL_CLC_MUL ((uint32_t)0x2UL) /**< MAA_CTRL_CLC_MUL Value */ 359 #define MXC_S_TPU_REVA_MAA_CTRL_CLC_MUL (MXC_V_TPU_REVA_MAA_CTRL_CLC_MUL << MXC_F_TPU_REVA_MAA_CTRL_CLC_POS) /**< MAA_CTRL_CLC_MUL Setting */ 360 #define MXC_V_TPU_REVA_MAA_CTRL_CLC_SQMUL ((uint32_t)0x3UL) /**< MAA_CTRL_CLC_SQMUL Value */ 361 #define MXC_S_TPU_REVA_MAA_CTRL_CLC_SQMUL (MXC_V_TPU_REVA_MAA_CTRL_CLC_SQMUL << MXC_F_TPU_REVA_MAA_CTRL_CLC_POS) /**< MAA_CTRL_CLC_SQMUL Setting */ 362 #define MXC_V_TPU_REVA_MAA_CTRL_CLC_ADD ((uint32_t)0x4UL) /**< MAA_CTRL_CLC_ADD Value */ 363 #define MXC_S_TPU_REVA_MAA_CTRL_CLC_ADD (MXC_V_TPU_REVA_MAA_CTRL_CLC_ADD << MXC_F_TPU_REVA_MAA_CTRL_CLC_POS) /**< MAA_CTRL_CLC_ADD Setting */ 364 #define MXC_V_TPU_REVA_MAA_CTRL_CLC_SUB ((uint32_t)0x5UL) /**< MAA_CTRL_CLC_SUB Value */ 365 #define MXC_S_TPU_REVA_MAA_CTRL_CLC_SUB (MXC_V_TPU_REVA_MAA_CTRL_CLC_SUB << MXC_F_TPU_REVA_MAA_CTRL_CLC_POS) /**< MAA_CTRL_CLC_SUB Setting */ 366 367 #define MXC_F_TPU_REVA_MAA_CTRL_OCALC_POS 4 /**< MAA_CTRL_OCALC Position */ 368 #define MXC_F_TPU_REVA_MAA_CTRL_OCALC ((uint32_t)(0x1UL << MXC_F_TPU_REVA_MAA_CTRL_OCALC_POS)) /**< MAA_CTRL_OCALC Mask */ 369 370 #define MXC_F_TPU_REVA_MAA_CTRL_MAAER_POS 7 /**< MAA_CTRL_MAAER Position */ 371 #define MXC_F_TPU_REVA_MAA_CTRL_MAAER ((uint32_t)(0x1UL << MXC_F_TPU_REVA_MAA_CTRL_MAAER_POS)) /**< MAA_CTRL_MAAER Mask */ 372 373 #define MXC_F_TPU_REVA_MAA_CTRL_AMS_POS 8 /**< MAA_CTRL_AMS Position */ 374 #define MXC_F_TPU_REVA_MAA_CTRL_AMS ((uint32_t)(0x3UL << MXC_F_TPU_REVA_MAA_CTRL_AMS_POS)) /**< MAA_CTRL_AMS Mask */ 375 376 #define MXC_F_TPU_REVA_MAA_CTRL_BMS_POS 10 /**< MAA_CTRL_BMS Position */ 377 #define MXC_F_TPU_REVA_MAA_CTRL_BMS ((uint32_t)(0x3UL << MXC_F_TPU_REVA_MAA_CTRL_BMS_POS)) /**< MAA_CTRL_BMS Mask */ 378 379 #define MXC_F_TPU_REVA_MAA_CTRL_EMS_POS 12 /**< MAA_CTRL_EMS Position */ 380 #define MXC_F_TPU_REVA_MAA_CTRL_EMS ((uint32_t)(0x3UL << MXC_F_TPU_REVA_MAA_CTRL_EMS_POS)) /**< MAA_CTRL_EMS Mask */ 381 382 #define MXC_F_TPU_REVA_MAA_CTRL_MMS_POS 14 /**< MAA_CTRL_MMS Position */ 383 #define MXC_F_TPU_REVA_MAA_CTRL_MMS ((uint32_t)(0x3UL << MXC_F_TPU_REVA_MAA_CTRL_MMS_POS)) /**< MAA_CTRL_MMS Mask */ 384 385 #define MXC_F_TPU_REVA_MAA_CTRL_AMA_POS 16 /**< MAA_CTRL_AMA Position */ 386 #define MXC_F_TPU_REVA_MAA_CTRL_AMA ((uint32_t)(0xFUL << MXC_F_TPU_REVA_MAA_CTRL_AMA_POS)) /**< MAA_CTRL_AMA Mask */ 387 388 #define MXC_F_TPU_REVA_MAA_CTRL_BMA_POS 20 /**< MAA_CTRL_BMA Position */ 389 #define MXC_F_TPU_REVA_MAA_CTRL_BMA ((uint32_t)(0xFUL << MXC_F_TPU_REVA_MAA_CTRL_BMA_POS)) /**< MAA_CTRL_BMA Mask */ 390 391 #define MXC_F_TPU_REVA_MAA_CTRL_RMA_POS 24 /**< MAA_CTRL_RMA Position */ 392 #define MXC_F_TPU_REVA_MAA_CTRL_RMA ((uint32_t)(0xFUL << MXC_F_TPU_REVA_MAA_CTRL_RMA_POS)) /**< MAA_CTRL_RMA Mask */ 393 394 #define MXC_F_TPU_REVA_MAA_CTRL_TMA_POS 28 /**< MAA_CTRL_TMA Position */ 395 #define MXC_F_TPU_REVA_MAA_CTRL_TMA ((uint32_t)(0xFUL << MXC_F_TPU_REVA_MAA_CTRL_TMA_POS)) /**< MAA_CTRL_TMA Mask */ 396 397 /**@} end of group TPU_REVA_MAA_CTRL_Register */ 398 399 /** 400 * @ingroup tpu_reva_registers 401 * @defgroup TPU_REVA_DATA_IN TPU_REVA_DATA_IN 402 * @brief Crypto Data Input. Data input can be written to this register instead of using 403 * the DMA. This register writes to the FIFO. This register occupies four 404 * successive words to allow the use of multi-store instructions. Words can be 405 * written to any location, they will be placed in the FIFO in the order they are 406 * written. The endian swap input control bit affects this register. 407 * @{ 408 */ 409 #define MXC_F_TPU_REVA_DATA_IN_DATA_POS 0 /**< DATA_IN_DATA Position */ 410 #define MXC_F_TPU_REVA_DATA_IN_DATA ((uint32_t)(0xFFFFFFFFUL << MXC_F_TPU_REVA_DATA_IN_DATA_POS)) /**< DATA_IN_DATA Mask */ 411 412 /**@} end of group TPU_REVA_DATA_IN_Register */ 413 414 /** 415 * @ingroup tpu_reva_registers 416 * @defgroup TPU_REVA_DATA_OUT TPU_REVA_DATA_OUT 417 * @brief Crypto Data Output. Resulting data from cipher calculation. Data is placed in 418 * the lower words of these four registers depending on the algorithm. For block 419 * cipher modes, this register holds the result of most recent encryption or 420 * decryption operation. These registers are affected by the endian swap bits. 421 * @{ 422 */ 423 #define MXC_F_TPU_REVA_DATA_OUT_DATA_POS 0 /**< DATA_OUT_DATA Position */ 424 #define MXC_F_TPU_REVA_DATA_OUT_DATA ((uint32_t)(0xFFFFFFFFUL << MXC_F_TPU_REVA_DATA_OUT_DATA_POS)) /**< DATA_OUT_DATA Mask */ 425 426 /**@} end of group TPU_REVA_DATA_OUT_Register */ 427 428 /** 429 * @ingroup tpu_reva_registers 430 * @defgroup TPU_REVA_CRC_POLY TPU_REVA_CRC_POLY 431 * @brief CRC Polynomial. The polynomial to be used for Galois Field calculations (CRC or 432 * LFSR) should be written to this register. This register is affected by the MSB 433 * control bit. 434 * @{ 435 */ 436 #define MXC_F_TPU_REVA_CRC_POLY_SRC_ADDR_POS 0 /**< CRC_POLY_SRC_ADDR Position */ 437 #define MXC_F_TPU_REVA_CRC_POLY_SRC_ADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_TPU_REVA_CRC_POLY_SRC_ADDR_POS)) /**< CRC_POLY_SRC_ADDR Mask */ 438 439 /**@} end of group TPU_REVA_CRC_POLY_Register */ 440 441 /** 442 * @ingroup tpu_reva_registers 443 * @defgroup TPU_REVA_CRC_VAL TPU_REVA_CRC_VAL 444 * @brief CRC Value. This is the state for the Galois Field. This register holds the 445 * result of a CRC calculation or the current state of the LFSR. This register is 446 * affected by the MSB control bit. 447 * @{ 448 */ 449 #define MXC_F_TPU_REVA_CRC_VAL_VAL_POS 0 /**< CRC_VAL_VAL Position */ 450 #define MXC_F_TPU_REVA_CRC_VAL_VAL ((uint32_t)(0xFFFFFFFFUL << MXC_F_TPU_REVA_CRC_VAL_VAL_POS)) /**< CRC_VAL_VAL Mask */ 451 452 /**@} end of group TPU_REVA_CRC_VAL_Register */ 453 454 /** 455 * @ingroup tpu_reva_registers 456 * @defgroup TPU_REVA_CRC_PRNG TPU_REVA_CRC_PRNG 457 * @brief Pseudo Random Value. Output of the Galois Field shift register. This holds the 458 * resulting pseudo-random number if entropy is disabled or true random number if 459 * entropy is enabled. 460 * @{ 461 */ 462 #define MXC_F_TPU_REVA_CRC_PRNG_PRNG_POS 0 /**< CRC_PRNG_PRNG Position */ 463 #define MXC_F_TPU_REVA_CRC_PRNG_PRNG ((uint32_t)(0xFFFFFFFFUL << MXC_F_TPU_REVA_CRC_PRNG_PRNG_POS)) /**< CRC_PRNG_PRNG Mask */ 464 465 /**@} end of group TPU_REVA_CRC_PRNG_Register */ 466 467 /** 468 * @ingroup tpu_reva_registers 469 * @defgroup TPU_REVA_HAM_ECC TPU_REVA_HAM_ECC 470 * @brief Hamming ECC Register. 471 * @{ 472 */ 473 #define MXC_F_TPU_REVA_HAM_ECC_ECC_POS 0 /**< HAM_ECC_ECC Position */ 474 #define MXC_F_TPU_REVA_HAM_ECC_ECC ((uint32_t)(0xFFFFUL << MXC_F_TPU_REVA_HAM_ECC_ECC_POS)) /**< HAM_ECC_ECC Mask */ 475 476 #define MXC_F_TPU_REVA_HAM_ECC_PAR_POS 16 /**< HAM_ECC_PAR Position */ 477 #define MXC_F_TPU_REVA_HAM_ECC_PAR ((uint32_t)(0x1UL << MXC_F_TPU_REVA_HAM_ECC_PAR_POS)) /**< HAM_ECC_PAR Mask */ 478 479 /**@} end of group TPU_REVA_HAM_ECC_Register */ 480 481 /** 482 * @ingroup tpu_reva_registers 483 * @defgroup TPU_REVA_CIPHER_INIT TPU_REVA_CIPHER_INIT 484 * @brief Initial Vector. For block cipher operations that use CBC, CFB, OFB, or CNTR 485 * modes, this register holds the initial value. This register is updated with each 486 * encryption or decryption operation. This register is affected by the endian swap 487 * bits. 488 * @{ 489 */ 490 #define MXC_F_TPU_REVA_CIPHER_INIT_IVEC_POS 0 /**< CIPHER_INIT_IVEC Position */ 491 #define MXC_F_TPU_REVA_CIPHER_INIT_IVEC ((uint32_t)(0xFFFFFFFFUL << MXC_F_TPU_REVA_CIPHER_INIT_IVEC_POS)) /**< CIPHER_INIT_IVEC Mask */ 492 493 /**@} end of group TPU_REVA_CIPHER_INIT_Register */ 494 495 /** 496 * @ingroup tpu_reva_registers 497 * @defgroup TPU_REVA_CIPHER_KEY TPU_REVA_CIPHER_KEY 498 * @brief Cipher Key. This register holds the key used for block cipher operations. The 499 * lower words are used for block ciphers that use shorter key lengths. This 500 * register is affected by the endian swap input control bits. 501 * @{ 502 */ 503 #define MXC_F_TPU_REVA_CIPHER_KEY_KEY_POS 0 /**< CIPHER_KEY_KEY Position */ 504 #define MXC_F_TPU_REVA_CIPHER_KEY_KEY ((uint32_t)(0xFFFFFFFFUL << MXC_F_TPU_REVA_CIPHER_KEY_KEY_POS)) /**< CIPHER_KEY_KEY Mask */ 505 506 /**@} end of group TPU_REVA_CIPHER_KEY_Register */ 507 508 /** 509 * @ingroup tpu_reva_registers 510 * @defgroup TPU_REVA_HASH_DIGEST TPU_REVA_HASH_DIGEST 511 * @brief This register holds the calculated hash value. This register is affected by the 512 * endian swap bits. 513 * @{ 514 */ 515 #define MXC_F_TPU_REVA_HASH_DIGEST_HASH_POS 0 /**< HASH_DIGEST_HASH Position */ 516 #define MXC_F_TPU_REVA_HASH_DIGEST_HASH ((uint32_t)(0xFFFFFFFFUL << MXC_F_TPU_REVA_HASH_DIGEST_HASH_POS)) /**< HASH_DIGEST_HASH Mask */ 517 518 /**@} end of group TPU_REVA_HASH_DIGEST_Register */ 519 520 /** 521 * @ingroup tpu_reva_registers 522 * @defgroup TPU_REVA_HASH_MSG_SZ TPU_REVA_HASH_MSG_SZ 523 * @brief Message Size. This register holds the lowest 32-bit of message size in bytes. 524 * @{ 525 */ 526 #define MXC_F_TPU_REVA_HASH_MSG_SZ_MSGSZ_POS 0 /**< HASH_MSG_SZ_MSGSZ Position */ 527 #define MXC_F_TPU_REVA_HASH_MSG_SZ_MSGSZ ((uint32_t)(0xFFFFFFFFUL << MXC_F_TPU_REVA_HASH_MSG_SZ_MSGSZ_POS)) /**< HASH_MSG_SZ_MSGSZ Mask */ 528 529 /**@} end of group TPU_REVA_HASH_MSG_SZ_Register */ 530 531 /** 532 * @ingroup tpu_reva_registers 533 * @defgroup TPU_REVA_MAA_MAWS TPU_REVA_MAA_MAWS 534 * @brief MAA Word Size. This register defines the number of bits for a modular operation. 535 * This register must be set to a valid value prior to the MAA operation start. 536 * Valid values are from 1 to 2048. Invalid values are ignored and will not 537 * initiate a MAA operation. 538 * @{ 539 */ 540 #define MXC_F_TPU_REVA_MAA_MAWS_MSGSZ_POS 0 /**< MAA_MAWS_MSGSZ Position */ 541 #define MXC_F_TPU_REVA_MAA_MAWS_MSGSZ ((uint32_t)(0xFFFUL << MXC_F_TPU_REVA_MAA_MAWS_MSGSZ_POS)) /**< MAA_MAWS_MSGSZ Mask */ 542 543 /**@} end of group TPU_REVA_MAA_MAWS_Register */ 544 545 #ifdef __cplusplus 546 } 547 #endif 548 549 #endif /* _TPU_REVA_REGS_H_ */ 550