1 /* 2 * Copyright 2022-2024 NXP 3 * All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 #ifndef FSL_TRDC_CORE_H_ 8 #define FSL_TRDC_CORE_H_ 9 10 #include "fsl_trdc_soc.h" 11 12 /*! 13 * @addtogroup trdc_core 14 * @{ 15 */ 16 17 /******************************************************************************* 18 * Definitions 19 ******************************************************************************/ 20 /*!@brief TRDC general configuration register definition. */ 21 typedef struct _TRDC_General_Type 22 { 23 __IO uint32_t TRDC_CR; /**< TRDC Register, offset: 0x0 */ 24 uint8_t RESERVED_0[236]; 25 __I uint32_t TRDC_HWCFG0; /**< TRDC Hardware Configuration Register 0, offset: 0xF0 */ 26 __I uint32_t TRDC_HWCFG1; /**< TRDC Hardware Configuration Register 1, offset: 0xF4 */ 27 __I uint32_t TRDC_HWCFG2; /**< TRDC Hardware Configuration Register 2, offset: 0xF8 */ 28 __I uint32_t TRDC_HWCFG3; /**< TRDC Hardware Configuration Register 3, offset: 0xFC */ 29 __I uint8_t DACFG[8]; /**< Domain Assignment Configuration Register, array offset: 0x100, array step: 0x1 */ 30 uint8_t RESERVED_1[184]; 31 __IO uint32_t TRDC_IDAU_CR; /**< TRDC IDAU Control Register, offset: 0x1C0 */ 32 } TRDC_General_Type; 33 34 /*!@brief TRDC flash logical control register definition. */ 35 typedef struct _TRDC_FLW_Type 36 { 37 __IO uint32_t TRDC_FLW_CTL; /**< TRDC FLW Control, offset: 0x1E0 */ 38 __I uint32_t TRDC_FLW_PBASE; /**< TRDC FLW Physical Base, offset: 0x1E4 */ 39 __IO uint32_t TRDC_FLW_ABASE; /**< TRDC FLW Array Base, offset: 0x1E8 */ 40 __IO uint32_t TRDC_FLW_BCNT; /**< TRDC FLW Block Count, offset: 0x1EC */ 41 } TRDC_FLW_Type; 42 43 /*!@brief TRDC domain error register definition. */ 44 typedef struct _TRDC_DomainError_Type 45 { 46 __IO uint32_t TRDC_FDID; /**< TRDC Fault Domain ID, offset: 0x1FC */ 47 __I uint32_t TRDC_DERRLOC[16]; /**< TRDC Domain Error Location Register, array offset: 0x200, array step: 0x4 */ 48 uint8_t RESERVED_4[448]; 49 struct 50 { /* offset: 0x400, array step: 0x10 */ 51 __I uint32_t W0; /**< MBC Domain Error Word0 Register, array offset: 0x400, array step: 0x10 */ 52 __I uint32_t W1; /**< MBC Domain Error Word1 Register, array offset: 0x404, array step: 0x10 */ 53 uint8_t RESERVED_0[4]; 54 __O uint32_t W3; /**< MBC Domain Error Word3 Register, array offset: 0x40C, array step: 0x10 */ 55 } MBC_DERR[8]; 56 struct 57 { /* offset: 0x480, array step: 0x10 */ 58 __I uint32_t W0; /**< MRC Domain Error Word0 Register, array offset: 0x480, array step: 0x10 */ 59 __I uint32_t W1; /**< MRC Domain Error Word1 Register, array offset: 0x484, array step: 0x10 */ 60 uint8_t RESERVED_0[4]; 61 __O uint32_t W3; /**< MRC Domain Error Word3 Register, array offset: 0x48C, array step: 0x10 */ 62 } MRC_DERR[8]; 63 } TRDC_DomainError_Type; 64 65 /*!@brief TRDC master domain assignment register definition. */ 66 typedef struct _TRDC_DomainAssignment_Type 67 { 68 __IO uint32_t PID[8]; /**< Process Identifier, array offset: 0x700, array step: 0x4 */ 69 uint8_t RESERVED_7[224]; 70 union 71 { 72 struct 73 { /* offset: 0x800, array step: 0x20 */ 74 __IO uint32_t MDA_W_DFMT0[8]; /**< DAC Master Domain Assignment Register, array offset: 0x800, array step: 75 index*0x20, index2*0x4 */ 76 } MDA_DFMT0[8]; 77 struct 78 { /* offset: 0x800, array step: 0x20 */ 79 __IO uint32_t MDA_W_DFMT1[1]; /**< DAC Master Domain Assignment Register, array offset: 0x800, array step: 80 index*0x20, index2*0x4 */ 81 uint8_t RESERVED_0[28]; 82 } MDA_DFMT1[8]; 83 }; 84 } TRDC_DomainAssignment_Type; 85 86 /*!@brief TRDC MBC control register definition. */ 87 typedef struct _TRDC_MBC_Type 88 { 89 __I uint32_t MBC_MEM_GLBCFG[4]; /**< MBC Global Configuration Register, array offset: 0x10000, array step: 90 index*0x2000, index2*0x4 */ 91 __IO uint32_t MBC_NSE_BLK_INDEX; /**< MBC NonSecure Enable Block Index, array offset: 0x10010, array step: 0x2000 */ 92 __O uint32_t MBC_NSE_BLK_SET; /**< MBC NonSecure Enable Block Set, array offset: 0x10014, array step: 0x2000 */ 93 __O uint32_t MBC_NSE_BLK_CLR; /**< MBC NonSecure Enable Block Clear, array offset: 0x10018, array step: 0x2000 */ 94 __O uint32_t 95 MBC_NSE_BLK_CLR_ALL; /**< MBC NonSecure Enable Block Clear All, array offset: 0x1001C, array step: 0x2000 */ 96 __IO uint32_t MBC_MEMN_GLBAC[8]; /**< MBC Global Access Control, array offset: 0x10020, array step: index*0x2000, 97 index2*0x4 */ 98 __IO uint32_t MBC_DOM0_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x10040, array 99 step: index*0x2000, index2*0x4 */ 100 __IO uint32_t MBC_DOM0_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10140, array 101 step: index*0x2000, index2*0x4 */ 102 __IO uint32_t MBC_DOM0_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x10180, array 103 step: index*0x2000, index2*0x4 */ 104 __IO uint32_t MBC_DOM0_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x101A0, array 105 step: index*0x2000, index2*0x4 */ 106 __IO uint32_t MBC_DOM0_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x101A8, array 107 step: index*0x2000, index2*0x4 */ 108 __IO uint32_t MBC_DOM0_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x101C8, array 109 step: index*0x2000, index2*0x4 */ 110 __IO uint32_t MBC_DOM0_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x101D0, array 111 step: index*0x2000, index2*0x4 */ 112 __IO uint32_t MBC_DOM0_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x101F0, array 113 step: index*0x2000, index2*0x4 */ 114 uint8_t RESERVED_0[72]; 115 __IO uint32_t MBC_DOM1_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x10240, array 116 step: index*0x2000, index2*0x4 */ 117 __IO uint32_t MBC_DOM1_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10340, array 118 step: index*0x2000, index2*0x4 */ 119 __IO uint32_t MBC_DOM1_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x10380, array 120 step: index*0x2000, index2*0x4 */ 121 __IO uint32_t MBC_DOM1_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x103A0, array 122 step: index*0x2000, index2*0x4 */ 123 __IO uint32_t MBC_DOM1_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x103A8, array 124 step: index*0x2000, index2*0x4 */ 125 __IO uint32_t MBC_DOM1_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x103C8, array 126 step: index*0x2000, index2*0x4 */ 127 __IO uint32_t MBC_DOM1_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x103D0, array 128 step: index*0x2000, index2*0x4 */ 129 __IO uint32_t MBC_DOM1_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x103F0, array 130 step: index*0x2000, index2*0x4 */ 131 uint8_t RESERVED_1[72]; 132 __IO uint32_t MBC_DOM2_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x10440, array 133 step: index*0x2000, index2*0x4 */ 134 __IO uint32_t MBC_DOM2_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10540, array 135 step: index*0x2000, index2*0x4 */ 136 __IO uint32_t MBC_DOM2_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x10580, array 137 step: index*0x2000, index2*0x4 */ 138 __IO uint32_t MBC_DOM2_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x105A0, array 139 step: index*0x2000, index2*0x4 */ 140 __IO uint32_t MBC_DOM2_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x105A8, array 141 step: index*0x2000, index2*0x4 */ 142 __IO uint32_t MBC_DOM2_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x105C8, array 143 step: index*0x2000, index2*0x4 */ 144 __IO uint32_t MBC_DOM2_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x105D0, array 145 step: index*0x2000, index2*0x4 */ 146 __IO uint32_t MBC_DOM2_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x105F0, array 147 step: index*0x2000, index2*0x4 */ 148 uint8_t RESERVED_2[72]; 149 __IO uint32_t MBC_DOM3_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x10640, array 150 step: index*0x2000, index2*0x4 */ 151 __IO uint32_t MBC_DOM3_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10740, array 152 step: index*0x2000, index2*0x4 */ 153 __IO uint32_t MBC_DOM3_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x10780, array 154 step: index*0x2000, index2*0x4 */ 155 __IO uint32_t MBC_DOM3_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x107A0, array 156 step: index*0x2000, index2*0x4 */ 157 __IO uint32_t MBC_DOM3_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x107A8, array 158 step: index*0x2000, index2*0x4 */ 159 __IO uint32_t MBC_DOM3_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x107C8, array 160 step: index*0x2000, index2*0x4 */ 161 __IO uint32_t MBC_DOM3_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x107D0, array 162 step: index*0x2000, index2*0x4 */ 163 __IO uint32_t MBC_DOM3_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x107F0, array 164 step: index*0x2000, index2*0x4 */ 165 uint8_t RESERVED_3[72]; 166 __IO uint32_t MBC_DOM4_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x10840, array 167 step: index*0x2000, index2*0x4 */ 168 __IO uint32_t MBC_DOM4_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10940, array 169 step: index*0x2000, index2*0x4 */ 170 __IO uint32_t MBC_DOM4_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x10980, array 171 step: index*0x2000, index2*0x4 */ 172 __IO uint32_t MBC_DOM4_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x109A0, array 173 step: index*0x2000, index2*0x4 */ 174 __IO uint32_t MBC_DOM4_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x109A8, array 175 step: index*0x2000, index2*0x4 */ 176 __IO uint32_t MBC_DOM4_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x109C8, array 177 step: index*0x2000, index2*0x4 */ 178 __IO uint32_t MBC_DOM4_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x109D0, array 179 step: index*0x2000, index2*0x4 */ 180 __IO uint32_t MBC_DOM4_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x109F0, array 181 step: index*0x2000, index2*0x4 */ 182 uint8_t RESERVED_4[72]; 183 __IO uint32_t MBC_DOM5_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x10A40, array 184 step: index*0x2000, index2*0x4 */ 185 __IO uint32_t MBC_DOM5_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10B40, array 186 step: index*0x2000, index2*0x4 */ 187 __IO uint32_t MBC_DOM5_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x10B80, array 188 step: index*0x2000, index2*0x4 */ 189 __IO uint32_t MBC_DOM5_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10BA0, array 190 step: index*0x2000, index2*0x4 */ 191 __IO uint32_t MBC_DOM5_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x10BA8, array 192 step: index*0x2000, index2*0x4 */ 193 __IO uint32_t MBC_DOM5_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10BC8, array 194 step: index*0x2000, index2*0x4 */ 195 __IO uint32_t MBC_DOM5_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x10BD0, array 196 step: index*0x2000, index2*0x4 */ 197 __IO uint32_t MBC_DOM5_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10BF0, array 198 step: index*0x2000, index2*0x4 */ 199 uint8_t RESERVED_5[72]; 200 __IO uint32_t MBC_DOM6_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x10C40, array 201 step: index*0x2000, index2*0x4 */ 202 __IO uint32_t MBC_DOM6_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10D40, array 203 step: index*0x2000, index2*0x4 */ 204 __IO uint32_t MBC_DOM6_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x10D80, array 205 step: index*0x2000, index2*0x4 */ 206 __IO uint32_t MBC_DOM6_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10DA0, array 207 step: index*0x2000, index2*0x4 */ 208 __IO uint32_t MBC_DOM6_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x10DA8, array 209 step: index*0x2000, index2*0x4 */ 210 __IO uint32_t MBC_DOM6_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10DC8, array 211 step: index*0x2000, index2*0x4 */ 212 __IO uint32_t MBC_DOM6_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x10DD0, array 213 step: index*0x2000, index2*0x4 */ 214 __IO uint32_t MBC_DOM6_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10DF0, array 215 step: index*0x2000, index2*0x4 */ 216 uint8_t RESERVED_7[72]; 217 __IO uint32_t MBC_DOM7_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x10E40, array 218 step: index*0x2000, index2*0x4 */ 219 __IO uint32_t MBC_DOM7_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10F40, array 220 step: index*0x2000, index2*0x4 */ 221 __IO uint32_t MBC_DOM7_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x10F80, array 222 step: index*0x2000, index2*0x4 */ 223 __IO uint32_t MBC_DOM7_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10FA0, array 224 step: index*0x2000, index2*0x4 */ 225 __IO uint32_t MBC_DOM7_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x10FA8, array 226 step: index*0x2000, index2*0x4 */ 227 __IO uint32_t MBC_DOM7_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10FC8, array 228 step: index*0x2000, index2*0x4 */ 229 __IO uint32_t MBC_DOM7_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x10FD0, array 230 step: index*0x2000, index2*0x4 */ 231 __IO uint32_t MBC_DOM7_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10FF0, array 232 step: index*0x2000, index2*0x4 */ 233 uint8_t RESERVED_8[72]; 234 __IO uint32_t MBC_DOM8_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x11040, array 235 step: index*0x2000, index2*0x4 */ 236 __IO uint32_t MBC_DOM8_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11140, array 237 step: index*0x2000, index2*0x4 */ 238 __IO uint32_t MBC_DOM8_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x11180, array 239 step: index*0x2000, index2*0x4 */ 240 __IO uint32_t MBC_DOM8_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x111A0, array 241 step: index*0x2000, index2*0x4 */ 242 __IO uint32_t MBC_DOM8_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x111A8, array 243 step: index*0x2000, index2*0x4 */ 244 __IO uint32_t MBC_DOM8_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x111C8, array 245 step: index*0x2000, index2*0x4 */ 246 __IO uint32_t MBC_DOM8_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x111D0, array 247 step: index*0x2000, index2*0x4 */ 248 __IO uint32_t MBC_DOM8_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x111F0, array 249 step: index*0x2000, index2*0x4 */ 250 251 __IO uint32_t MBC_DOM9_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x11240, array 252 step: index*0x2000, index2*0x4 */ 253 __IO uint32_t MBC_DOM9_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11340, array 254 step: index*0x2000, index2*0x4 */ 255 __IO uint32_t MBC_DOM9_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x11380, array 256 step: index*0x2000, index2*0x4 */ 257 __IO uint32_t MBC_DOM9_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x113A0, array 258 step: index*0x2000, index2*0x4 */ 259 __IO uint32_t MBC_DOM9_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x113A8, array 260 step: index*0x2000, index2*0x4 */ 261 __IO uint32_t MBC_DOM9_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x113C8, array 262 step: index*0x2000, index2*0x4 */ 263 __IO uint32_t MBC_DOM9_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x113D0, array 264 step: index*0x2000, index2*0x4 */ 265 __IO uint32_t MBC_DOM9_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x113F0, array 266 step: index*0x2000, index2*0x4 */ 267 uint8_t RESERVED_9[72]; 268 __IO uint32_t MBC_DOM10_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x11440, array 269 step: index*0x2000, index2*0x4 */ 270 __IO uint32_t MBC_DOM10_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11540, 271 array step: index*0x2000, index2*0x4 */ 272 __IO uint32_t MBC_DOM10_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x11580, array 273 step: index*0x2000, index2*0x4 */ 274 __IO uint32_t MBC_DOM10_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x115A0, array 275 step: index*0x2000, index2*0x4 */ 276 __IO uint32_t MBC_DOM10_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x115A8, array 277 step: index*0x2000, index2*0x4 */ 278 __IO uint32_t MBC_DOM10_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x115C8, array 279 step: index*0x2000, index2*0x4 */ 280 __IO uint32_t MBC_DOM10_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x115D0, array 281 step: index*0x2000, index2*0x4 */ 282 __IO uint32_t MBC_DOM10_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x115F0, array 283 step: index*0x2000, index2*0x4 */ 284 uint8_t RESERVED_10[72]; 285 __IO uint32_t MBC_DOM11_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x11640, array 286 step: index*0x2000, index2*0x4 */ 287 __IO uint32_t MBC_DOM11_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11740, 288 array step: index*0x2000, index2*0x4 */ 289 __IO uint32_t MBC_DOM11_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x11780, array 290 step: index*0x2000, index2*0x4 */ 291 __IO uint32_t MBC_DOM11_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x117A0, array 292 step: index*0x2000, index2*0x4 */ 293 __IO uint32_t MBC_DOM11_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x117A8, array 294 step: index*0x2000, index2*0x4 */ 295 __IO uint32_t MBC_DOM11_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x117C8, array 296 step: index*0x2000, index2*0x4 */ 297 __IO uint32_t MBC_DOM11_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x117D0, array 298 step: index*0x2000, index2*0x4 */ 299 __IO uint32_t MBC_DOM11_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x117F0, array 300 step: index*0x2000, index2*0x4 */ 301 uint8_t RESERVED_11[72]; 302 __IO uint32_t MBC_DOM12_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x11840, array 303 step: index*0x2000, index2*0x4 */ 304 __IO uint32_t MBC_DOM12_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11940, 305 array step: index*0x2000, index2*0x4 */ 306 __IO uint32_t MBC_DOM12_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x11980, array 307 step: index*0x2000, index2*0x4 */ 308 __IO uint32_t MBC_DOM12_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x119A0, array 309 step: index*0x2000, index2*0x4 */ 310 __IO uint32_t MBC_DOM12_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x119A8, array 311 step: index*0x2000, index2*0x4 */ 312 __IO uint32_t MBC_DOM12_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x119C8, array 313 step: index*0x2000, index2*0x4 */ 314 __IO uint32_t MBC_DOM12_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x119D0, array 315 step: index*0x2000, index2*0x4 */ 316 __IO uint32_t MBC_DOM12_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x119F0, array 317 step: index*0x2000, index2*0x4 */ 318 uint8_t RESERVED_12[72]; 319 __IO uint32_t MBC_DOM13_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x11A40, array 320 step: index*0x2000, index2*0x4 */ 321 __IO uint32_t MBC_DOM13_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11B40, 322 array step: index*0x2000, index2*0x4 */ 323 __IO uint32_t MBC_DOM13_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x11B80, array 324 step: index*0x2000, index2*0x4 */ 325 __IO uint32_t MBC_DOM13_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11BA0, array 326 step: index*0x2000, index2*0x4 */ 327 __IO uint32_t MBC_DOM13_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x11BA8, array 328 step: index*0x2000, index2*0x4 */ 329 __IO uint32_t MBC_DOM13_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11BC8, array 330 step: index*0x2000, index2*0x4 */ 331 __IO uint32_t MBC_DOM13_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x11BD0, array 332 step: index*0x2000, index2*0x4 */ 333 __IO uint32_t MBC_DOM13_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11BF0, array 334 step: index*0x2000, index2*0x4 */ 335 uint8_t RESERVED_13[72]; 336 __IO uint32_t MBC_DOM14_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x11C40, array 337 step: index*0x2000, index2*0x4 */ 338 __IO uint32_t MBC_DOM14_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11D40, 339 array step: index*0x2000, index2*0x4 */ 340 __IO uint32_t MBC_DOM14_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x11D80, array 341 step: index*0x2000, index2*0x4 */ 342 __IO uint32_t MBC_DOM14_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11DA0, array 343 step: index*0x2000, index2*0x4 */ 344 __IO uint32_t MBC_DOM14_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x11DA8, array 345 step: index*0x2000, index2*0x4 */ 346 __IO uint32_t MBC_DOM14_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11DC8, array 347 step: index*0x2000, index2*0x4 */ 348 __IO uint32_t MBC_DOM14_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x11DD0, array 349 step: index*0x2000, index2*0x4 */ 350 __IO uint32_t MBC_DOM14_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11DF0, array 351 step: index*0x2000, index2*0x4 */ 352 uint8_t RESERVED_14[72]; 353 __IO uint32_t MBC_DOM15_MEM0_BLK_CFG_W[64]; /**< MBC Memory Block Configuration Word, array offset: 0x11E40, array 354 step: index*0x2000, index2*0x4 */ 355 __IO uint32_t MBC_DOM15_MEM0_BLK_NSE_W[16]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11F40, 356 array step: index*0x2000, index2*0x4 */ 357 __IO uint32_t MBC_DOM15_MEM1_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x11F80, array 358 step: index*0x2000, index2*0x4 */ 359 __IO uint32_t MBC_DOM15_MEM1_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11FA0, array 360 step: index*0x2000, index2*0x4 */ 361 __IO uint32_t MBC_DOM15_MEM2_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x11FA8, array 362 step: index*0x2000, index2*0x4 */ 363 __IO uint32_t MBC_DOM15_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11FC8, array 364 step: index*0x2000, index2*0x4 */ 365 __IO uint32_t MBC_DOM15_MEM3_BLK_CFG_W[8]; /**< MBC Memory Block Configuration Word, array offset: 0x11FD0, array 366 step: index*0x2000, index2*0x4 */ 367 __IO uint32_t MBC_DOM15_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11FF0, array 368 step: index*0x2000, index2*0x4 */ 369 uint8_t RESERVED_15[8]; 370 } TRDC_MBC_Type; 371 372 /*!@brief TRDC MRC control register definition. MRC_DOM0_RGD_W[region][word] */ 373 typedef struct _TRDC_MRC_Type 374 { 375 __I uint32_t MRC_GLBCFG; /**< MRC Global Configuration Register, array offset: 0x14000, array step: 0x1000 */ 376 uint8_t RESERVED_0[12]; 377 __IO uint32_t 378 MRC_NSE_RGN_INDIRECT; /**< MRC NonSecure Enable Region Indirect, array offset: 0x14010, array step: 0x1000 */ 379 __O uint32_t MRC_NSE_RGN_SET; /**< MRC NonSecure Enable Region Set, array offset: 0x14014, array step: 0x1000 */ 380 __O uint32_t MRC_NSE_RGN_CLR; /**< MRC NonSecure Enable Region Clear, array offset: 0x14018, array step: 0x1000 */ 381 __O uint32_t 382 MRC_NSE_RGN_CLR_ALL; /**< MRC NonSecure Enable Region Clear All, array offset: 0x1401C, array step: 0x1000 */ 383 __IO uint32_t 384 MRC_GLBAC[8]; /**< MRC Global Access Control, array offset: 0x14020, array step: index*0x1000, index2*0x4 */ 385 __IO uint32_t MRC_DOM0_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 386 0x14040, array step: index*0x1000, index2*0x8, index3*0x4 */ 387 __IO uint32_t 388 MRC_DOM0_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x140C0, array step: 0x1000 */ 389 uint8_t RESERVED_1[124]; 390 __IO uint32_t MRC_DOM1_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 391 0x14140, array step: index*0x1000, index2*0x8, index3*0x4 */ 392 __IO uint32_t 393 MRC_DOM1_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x141C0, array step: 0x1000 */ 394 uint8_t RESERVED_2[124]; 395 __IO uint32_t MRC_DOM2_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 396 0x14240, array step: index*0x1000, index2*0x8, index3*0x4 */ 397 __IO uint32_t 398 MRC_DOM2_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x142C0, array step: 0x1000 */ 399 uint8_t RESERVED_3[124]; 400 __IO uint32_t MRC_DOM3_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 401 0x14340, array step: index*0x1000, index2*0x8, index3*0x4 */ 402 __IO uint32_t 403 MRC_DOM3_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x143C0, array step: 0x1000 */ 404 uint8_t RESERVED_4[124]; 405 __IO uint32_t MRC_DOM4_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 406 0x14440, array step: index*0x1000, index2*0x8, index3*0x4 */ 407 __IO uint32_t 408 MRC_DOM4_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x144C0, array step: 0x1000 */ 409 uint8_t RESERVED_5[124]; 410 __IO uint32_t MRC_DOM5_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 411 0x14540, array step: index*0x1000, index2*0x8, index3*0x4 */ 412 __IO uint32_t 413 MRC_DOM5_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x145C0, array step: 0x1000 */ 414 uint8_t RESERVED_6[124]; 415 __IO uint32_t MRC_DOM6_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 416 0x14640, array step: index*0x1000, index2*0x8, index3*0x4 */ 417 __IO uint32_t 418 MRC_DOM6_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x146C0, array step: 0x1000 */ 419 uint8_t RESERVED_7[124]; 420 __IO uint32_t MRC_DOM7_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 421 0x14740, array step: index*0x1000, index2*0x8, index3*0x4 */ 422 __IO uint32_t 423 MRC_DOM7_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x147C0, array step: 0x1000 */ 424 uint8_t RESERVED_8[124]; 425 __IO uint32_t MRC_DOM8_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 426 0x14840, array step: index*0x1000, index2*0x8, index3*0x4 */ 427 __IO uint32_t 428 MRC_DOM8_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x148C0, array step: 0x1000 */ 429 uint8_t RESERVED_9[124]; 430 __IO uint32_t MRC_DOM9_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 431 0x14940, array step: index*0x1000, index2*0x8, index3*0x4 */ 432 __IO uint32_t 433 MRC_DOM9_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x149C0, array step: 0x1000 */ 434 uint8_t RESERVED_10[124]; 435 __IO uint32_t MRC_DOM10_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 436 0x14A40, array step: index*0x1000, index2*0x8, index3*0x4 */ 437 __IO uint32_t 438 MRC_DOM10_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x14AC0, array step: 0x1000 */ 439 uint8_t RESERVED_11[124]; 440 __IO uint32_t MRC_DOM11_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 441 0x14B40, array step: index*0x1000, index2*0x8, index3*0x4 */ 442 __IO uint32_t 443 MRC_DOM11_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x14BC0, array step: 0x1000 */ 444 uint8_t RESERVED_12[124]; 445 __IO uint32_t MRC_DOM12_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 446 0x14C40, array step: index*0x1000, index2*0x8, index3*0x4 */ 447 __IO uint32_t 448 MRC_DOM12_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x14CC0, array step: 0x1000 */ 449 uint8_t RESERVED_13[124]; 450 __IO uint32_t MRC_DOM13_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 451 0x14D40, array step: index*0x1000, index2*0x8, index3*0x4 */ 452 __IO uint32_t 453 MRC_DOM13_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x14DC0, array step: 0x1000 */ 454 uint8_t RESERVED_14[124]; 455 __IO uint32_t MRC_DOM14_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 456 0x14E40, array step: index*0x1000, index2*0x8, index3*0x4 */ 457 __IO uint32_t 458 MRC_DOM14_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x14EC0, array step: 0x1000 */ 459 uint8_t RESERVED_15[124]; 460 __IO uint32_t MRC_DOM15_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 461 0x14F40, array step: index*0x1000, index2*0x8, index3*0x4 */ 462 __IO uint32_t 463 MRC_DOM15_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x14FC0, array step: 0x1000 */ 464 } TRDC_MRC_Type; 465 466 /*!@brief TRDC base address convert macro */ 467 #define TRDC_GENERAL_BASE(base) ((TRDC_General_Type *)((base))) 468 #define TRDC_FLW_BASE(base) ((TRDC_FLW_Type *)(((uint32_t)(uintptr_t)(base) + (uint32_t)TRDC_FLW_OFFSET))) 469 #define TRDC_DOMAIN_ERROR_BASE(base) ((TRDC_DomainError_Type *)(((uint32_t)(uintptr_t)(base) + (uint32_t)TRDC_DOMAIN_ERROR_OFFSET))) 470 #define TRDC_DOMAIN_ASSIGNMENT_BASE(base) \ 471 ((TRDC_DomainAssignment_Type *)(((uint32_t)(uintptr_t)(base) + (uint32_t)TRDC_DOMAIN_ASSIGNMENT_OFFSET))) 472 #define TRDC_MBC_BASE(base, instance) \ 473 ((TRDC_MBC_Type *)((uint32_t)(uintptr_t)(base) + (uint32_t)TRDC_MBC_OFFSET(base) + (instance) * (uint32_t)TRDC_MBC_ARRAY_STEP)) 474 #define TRDC_MRC_BASE(base, instance) \ 475 ((TRDC_MRC_Type *)((uint32_t)(uintptr_t)(base) + (uint32_t)TRDC_MRC_OFFSET(base) + (instance) * (uint32_t)TRDC_MRC_ARRAY_STEP)) 476 477 #ifdef __cplusplus 478 extern "C" { 479 #endif 480 481 #ifdef __cplusplus 482 } 483 #endif 484 485 /*! 486 * @} 487 */ 488 489 #endif /* FSL_TRDC_CORE_H_ */ 490