1 /* 2 * Copyright 1997-2016 Freescale Semiconductor, Inc. 3 * Copyright 2016-2024 NXP 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 /*! 9 * @file S32Z2_GPR2.h 10 * @version 2.3 11 * @date 2024-05-03 12 * @brief Peripheral Access Layer for S32Z2_GPR2 13 * 14 * This file contains register definitions and macros for easy access to their 15 * bit fields. 16 * 17 * This file assumes LITTLE endian system. 18 */ 19 20 /** 21 * @page misra_violations MISRA-C:2012 violations 22 * 23 * @section [global] 24 * Violates MISRA 2012 Advisory Rule 2.3, local typedef not referenced 25 * The SoC header defines typedef for all modules. 26 * 27 * @section [global] 28 * Violates MISRA 2012 Advisory Rule 2.5, local macro not referenced 29 * The SoC header defines macros for all modules and registers. 30 * 31 * @section [global] 32 * Violates MISRA 2012 Advisory Directive 4.9, Function-like macro 33 * These are generated macros used for accessing the bit-fields from registers. 34 * 35 * @section [global] 36 * Violates MISRA 2012 Required Rule 5.1, identifier clash 37 * The supported compilers use more than 31 significant characters for identifiers. 38 * 39 * @section [global] 40 * Violates MISRA 2012 Required Rule 5.2, identifier clash 41 * The supported compilers use more than 31 significant characters for identifiers. 42 * 43 * @section [global] 44 * Violates MISRA 2012 Required Rule 5.4, identifier clash 45 * The supported compilers use more than 31 significant characters for identifiers. 46 * 47 * @section [global] 48 * Violates MISRA 2012 Required Rule 5.5, identifier clash 49 * The supported compilers use more than 31 significant characters for identifiers. 50 * 51 * @section [global] 52 * Violates MISRA 2012 Required Rule 21.1, defined macro '__I' is reserved to the compiler 53 * This type qualifier is needed to ensure correct I/O access and addressing. 54 */ 55 56 /* Prevention from multiple including the same memory map */ 57 #if !defined(S32Z2_GPR2_H_) /* Check if memory map has not been already included */ 58 #define S32Z2_GPR2_H_ 59 60 #include "S32Z2_COMMON.h" 61 62 /* ---------------------------------------------------------------------------- 63 -- GPR2 Peripheral Access Layer 64 ---------------------------------------------------------------------------- */ 65 66 /*! 67 * @addtogroup GPR2_Peripheral_Access_Layer GPR2 Peripheral Access Layer 68 * @{ 69 */ 70 71 /** GPR2 - Register Layout Typedef */ 72 typedef struct { 73 __IO uint32_t LVFCCUGD2; /**< VFCCU Global DID register 2, offset: 0x0 */ 74 __IO uint32_t LVFCCULD6; /**< VFCCU Local DID register 6, offset: 0x4 */ 75 __IO uint32_t LVFCCULD7; /**< VFCCU Local DID register 7, offset: 0x8 */ 76 __IO uint32_t LVFCCULD8; /**< VFCCU Local DID register 8, offset: 0xC */ 77 __IO uint32_t SPF2C; /**< CEVA_SPF2 Control, offset: 0x10 */ 78 uint8_t RESERVED_0[36]; 79 __IO uint32_t FUNCC4; /**< Miscellaneous Control, offset: 0x38 */ 80 uint8_t RESERVED_1[12]; 81 __I uint32_t INITM2; /**< NoC Initiator NIU Timeout Status, offset: 0x48 */ 82 __I uint32_t TARGTMS2; /**< NoC Target NIU Timeout Status, offset: 0x4C */ 83 __IO uint32_t TARGTMC2; /**< NoC Target NIU Timeout Control, offset: 0x50 */ 84 uint8_t RESERVED_2[4]; 85 __IO uint32_t SMURSTCNT; /**< SMU Cortex-M33 Core Reset Counter, offset: 0x58 */ 86 uint8_t RESERVED_3[4]; 87 __I uint32_t SMUS; /**< SMU Cortex-M33 Core Status, offset: 0x60 */ 88 uint8_t RESERVED_4[28]; 89 __IO uint32_t XPAR2; /**< Interface parity control and status register, offset: 0x80 */ 90 } GPR2_Type, *GPR2_MemMapPtr; 91 92 /** Number of instances of the GPR2 module. */ 93 #define GPR2_INSTANCE_COUNT (1u) 94 95 /* GPR2 - Peripheral instance base addresses */ 96 /** Peripheral GPR2 base address */ 97 #define IP_GPR2_BASE (0x41060000u) 98 /** Peripheral GPR2 base pointer */ 99 #define IP_GPR2 ((GPR2_Type *)IP_GPR2_BASE) 100 /** Array initializer of GPR2 peripheral base addresses */ 101 #define IP_GPR2_BASE_ADDRS { IP_GPR2_BASE } 102 /** Array initializer of GPR2 peripheral base pointers */ 103 #define IP_GPR2_BASE_PTRS { IP_GPR2 } 104 105 /* ---------------------------------------------------------------------------- 106 -- GPR2 Register Masks 107 ---------------------------------------------------------------------------- */ 108 109 /*! 110 * @addtogroup GPR2_Register_Masks GPR2 Register Masks 111 * @{ 112 */ 113 114 /*! @name LVFCCUGD2 - VFCCU Global DID register 2 */ 115 /*! @{ */ 116 117 #define GPR2_LVFCCUGD2_FHID_MASK (0xFU) 118 #define GPR2_LVFCCUGD2_FHID_SHIFT (0U) 119 #define GPR2_LVFCCUGD2_FHID_WIDTH (4U) 120 #define GPR2_LVFCCUGD2_FHID(x) (((uint32_t)(((uint32_t)(x)) << GPR2_LVFCCUGD2_FHID_SHIFT)) & GPR2_LVFCCUGD2_FHID_MASK) 121 /*! @} */ 122 123 /*! @name LVFCCULD6 - VFCCU Local DID register 6 */ 124 /*! @{ */ 125 126 #define GPR2_LVFCCULD6_FHID_MASK (0xFFFFFFFFU) 127 #define GPR2_LVFCCULD6_FHID_SHIFT (0U) 128 #define GPR2_LVFCCULD6_FHID_WIDTH (32U) 129 #define GPR2_LVFCCULD6_FHID(x) (((uint32_t)(((uint32_t)(x)) << GPR2_LVFCCULD6_FHID_SHIFT)) & GPR2_LVFCCULD6_FHID_MASK) 130 /*! @} */ 131 132 /*! @name LVFCCULD7 - VFCCU Local DID register 7 */ 133 /*! @{ */ 134 135 #define GPR2_LVFCCULD7_FHID_MASK (0xFFFFFFFFU) 136 #define GPR2_LVFCCULD7_FHID_SHIFT (0U) 137 #define GPR2_LVFCCULD7_FHID_WIDTH (32U) 138 #define GPR2_LVFCCULD7_FHID(x) (((uint32_t)(((uint32_t)(x)) << GPR2_LVFCCULD7_FHID_SHIFT)) & GPR2_LVFCCULD7_FHID_MASK) 139 /*! @} */ 140 141 /*! @name LVFCCULD8 - VFCCU Local DID register 8 */ 142 /*! @{ */ 143 144 #define GPR2_LVFCCULD8_FHID_MASK (0xFFFFFFFFU) 145 #define GPR2_LVFCCULD8_FHID_SHIFT (0U) 146 #define GPR2_LVFCCULD8_FHID_WIDTH (32U) 147 #define GPR2_LVFCCULD8_FHID(x) (((uint32_t)(((uint32_t)(x)) << GPR2_LVFCCULD8_FHID_SHIFT)) & GPR2_LVFCCULD8_FHID_MASK) 148 /*! @} */ 149 150 /*! @name SPF2C - CEVA_SPF2 Control */ 151 /*! @{ */ 152 153 #define GPR2_SPF2C_PGEN_MASK (0x1U) 154 #define GPR2_SPF2C_PGEN_SHIFT (0U) 155 #define GPR2_SPF2C_PGEN_WIDTH (1U) 156 #define GPR2_SPF2C_PGEN(x) (((uint32_t)(((uint32_t)(x)) << GPR2_SPF2C_PGEN_SHIFT)) & GPR2_SPF2C_PGEN_MASK) 157 158 #define GPR2_SPF2C_RET1N_MASK (0x2U) 159 #define GPR2_SPF2C_RET1N_SHIFT (1U) 160 #define GPR2_SPF2C_RET1N_WIDTH (1U) 161 #define GPR2_SPF2C_RET1N(x) (((uint32_t)(((uint32_t)(x)) << GPR2_SPF2C_RET1N_SHIFT)) & GPR2_SPF2C_RET1N_MASK) 162 163 #define GPR2_SPF2C_RET2N_MASK (0x4U) 164 #define GPR2_SPF2C_RET2N_SHIFT (2U) 165 #define GPR2_SPF2C_RET2N_WIDTH (1U) 166 #define GPR2_SPF2C_RET2N(x) (((uint32_t)(((uint32_t)(x)) << GPR2_SPF2C_RET2N_SHIFT)) & GPR2_SPF2C_RET2N_MASK) 167 168 #define GPR2_SPF2C_ACULOCK_MASK (0x8U) 169 #define GPR2_SPF2C_ACULOCK_SHIFT (3U) 170 #define GPR2_SPF2C_ACULOCK_WIDTH (1U) 171 #define GPR2_SPF2C_ACULOCK(x) (((uint32_t)(((uint32_t)(x)) << GPR2_SPF2C_ACULOCK_SHIFT)) & GPR2_SPF2C_ACULOCK_MASK) 172 173 #define GPR2_SPF2C_ICULOCK_MASK (0x10U) 174 #define GPR2_SPF2C_ICULOCK_SHIFT (4U) 175 #define GPR2_SPF2C_ICULOCK_WIDTH (1U) 176 #define GPR2_SPF2C_ICULOCK(x) (((uint32_t)(((uint32_t)(x)) << GPR2_SPF2C_ICULOCK_SHIFT)) & GPR2_SPF2C_ICULOCK_MASK) 177 /*! @} */ 178 179 /*! @name FUNCC4 - Miscellaneous Control */ 180 /*! @{ */ 181 182 #define GPR2_FUNCC4_CTRL_MASK (0xFFFFFFFFU) 183 #define GPR2_FUNCC4_CTRL_SHIFT (0U) 184 #define GPR2_FUNCC4_CTRL_WIDTH (32U) 185 #define GPR2_FUNCC4_CTRL(x) (((uint32_t)(((uint32_t)(x)) << GPR2_FUNCC4_CTRL_SHIFT)) & GPR2_FUNCC4_CTRL_MASK) 186 /*! @} */ 187 188 /*! @name INITM2 - NoC Initiator NIU Timeout Status */ 189 /*! @{ */ 190 191 #define GPR2_INITM2_STAT_MASK (0xFFFFFFFFU) 192 #define GPR2_INITM2_STAT_SHIFT (0U) 193 #define GPR2_INITM2_STAT_WIDTH (32U) 194 #define GPR2_INITM2_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPR2_INITM2_STAT_SHIFT)) & GPR2_INITM2_STAT_MASK) 195 /*! @} */ 196 197 /*! @name TARGTMS2 - NoC Target NIU Timeout Status */ 198 /*! @{ */ 199 200 #define GPR2_TARGTMS2_STAT_MASK (0xFFFFFFFFU) 201 #define GPR2_TARGTMS2_STAT_SHIFT (0U) 202 #define GPR2_TARGTMS2_STAT_WIDTH (32U) 203 #define GPR2_TARGTMS2_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPR2_TARGTMS2_STAT_SHIFT)) & GPR2_TARGTMS2_STAT_MASK) 204 /*! @} */ 205 206 /*! @name TARGTMC2 - NoC Target NIU Timeout Control */ 207 /*! @{ */ 208 209 #define GPR2_TARGTMC2_EN_MASK (0xFFFFFFFFU) 210 #define GPR2_TARGTMC2_EN_SHIFT (0U) 211 #define GPR2_TARGTMC2_EN_WIDTH (32U) 212 #define GPR2_TARGTMC2_EN(x) (((uint32_t)(((uint32_t)(x)) << GPR2_TARGTMC2_EN_SHIFT)) & GPR2_TARGTMC2_EN_MASK) 213 /*! @} */ 214 215 /*! @name SMURSTCNT - SMU Cortex-M33 Core Reset Counter */ 216 /*! @{ */ 217 218 #define GPR2_SMURSTCNT_CNTVAL_MASK (0x3FU) 219 #define GPR2_SMURSTCNT_CNTVAL_SHIFT (0U) 220 #define GPR2_SMURSTCNT_CNTVAL_WIDTH (6U) 221 #define GPR2_SMURSTCNT_CNTVAL(x) (((uint32_t)(((uint32_t)(x)) << GPR2_SMURSTCNT_CNTVAL_SHIFT)) & GPR2_SMURSTCNT_CNTVAL_MASK) 222 /*! @} */ 223 224 /*! @name SMUS - SMU Cortex-M33 Core Status */ 225 /*! @{ */ 226 227 #define GPR2_SMUS_SLEEPDEEP_MASK (0x1U) 228 #define GPR2_SMUS_SLEEPDEEP_SHIFT (0U) 229 #define GPR2_SMUS_SLEEPDEEP_WIDTH (1U) 230 #define GPR2_SMUS_SLEEPDEEP(x) (((uint32_t)(((uint32_t)(x)) << GPR2_SMUS_SLEEPDEEP_SHIFT)) & GPR2_SMUS_SLEEPDEEP_MASK) 231 232 #define GPR2_SMUS_SLEEPHOLDAn_MASK (0x2U) 233 #define GPR2_SMUS_SLEEPHOLDAn_SHIFT (1U) 234 #define GPR2_SMUS_SLEEPHOLDAn_WIDTH (1U) 235 #define GPR2_SMUS_SLEEPHOLDAn(x) (((uint32_t)(((uint32_t)(x)) << GPR2_SMUS_SLEEPHOLDAn_SHIFT)) & GPR2_SMUS_SLEEPHOLDAn_MASK) 236 237 #define GPR2_SMUS_SLEEPING_MASK (0x4U) 238 #define GPR2_SMUS_SLEEPING_SHIFT (2U) 239 #define GPR2_SMUS_SLEEPING_WIDTH (1U) 240 #define GPR2_SMUS_SLEEPING(x) (((uint32_t)(((uint32_t)(x)) << GPR2_SMUS_SLEEPING_SHIFT)) & GPR2_SMUS_SLEEPING_MASK) 241 242 #define GPR2_SMUS_CORECLKEN_MASK (0x8U) 243 #define GPR2_SMUS_CORECLKEN_SHIFT (3U) 244 #define GPR2_SMUS_CORECLKEN_WIDTH (1U) 245 #define GPR2_SMUS_CORECLKEN(x) (((uint32_t)(((uint32_t)(x)) << GPR2_SMUS_CORECLKEN_SHIFT)) & GPR2_SMUS_CORECLKEN_MASK) 246 247 #define GPR2_SMUS_INTVFETCH_MASK (0x10U) 248 #define GPR2_SMUS_INTVFETCH_SHIFT (4U) 249 #define GPR2_SMUS_INTVFETCH_WIDTH (1U) 250 #define GPR2_SMUS_INTVFETCH(x) (((uint32_t)(((uint32_t)(x)) << GPR2_SMUS_INTVFETCH_SHIFT)) & GPR2_SMUS_INTVFETCH_MASK) 251 252 #define GPR2_SMUS_CPULOCKUP_MASK (0x20U) 253 #define GPR2_SMUS_CPULOCKUP_SHIFT (5U) 254 #define GPR2_SMUS_CPULOCKUP_WIDTH (1U) 255 #define GPR2_SMUS_CPULOCKUP(x) (((uint32_t)(((uint32_t)(x)) << GPR2_SMUS_CPULOCKUP_SHIFT)) & GPR2_SMUS_CPULOCKUP_MASK) 256 257 #define GPR2_SMUS_CURRNS_MASK (0x40U) 258 #define GPR2_SMUS_CURRNS_SHIFT (6U) 259 #define GPR2_SMUS_CURRNS_WIDTH (1U) 260 #define GPR2_SMUS_CURRNS(x) (((uint32_t)(((uint32_t)(x)) << GPR2_SMUS_CURRNS_SHIFT)) & GPR2_SMUS_CURRNS_MASK) 261 262 #define GPR2_SMUS_SYSRSTREQ_MASK (0x80U) 263 #define GPR2_SMUS_SYSRSTREQ_SHIFT (7U) 264 #define GPR2_SMUS_SYSRSTREQ_WIDTH (1U) 265 #define GPR2_SMUS_SYSRSTREQ(x) (((uint32_t)(((uint32_t)(x)) << GPR2_SMUS_SYSRSTREQ_SHIFT)) & GPR2_SMUS_SYSRSTREQ_MASK) 266 /*! @} */ 267 268 /*! @name XPAR2 - Interface parity control and status register */ 269 /*! @{ */ 270 271 #define GPR2_XPAR2_DIS_MASK (0x1FU) 272 #define GPR2_XPAR2_DIS_SHIFT (0U) 273 #define GPR2_XPAR2_DIS_WIDTH (5U) 274 #define GPR2_XPAR2_DIS(x) (((uint32_t)(((uint32_t)(x)) << GPR2_XPAR2_DIS_SHIFT)) & GPR2_XPAR2_DIS_MASK) 275 276 #define GPR2_XPAR2_STAT_MASK (0x1F00U) 277 #define GPR2_XPAR2_STAT_SHIFT (8U) 278 #define GPR2_XPAR2_STAT_WIDTH (5U) 279 #define GPR2_XPAR2_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPR2_XPAR2_STAT_SHIFT)) & GPR2_XPAR2_STAT_MASK) 280 /*! @} */ 281 282 /*! 283 * @} 284 */ /* end of group GPR2_Register_Masks */ 285 286 /*! 287 * @} 288 */ /* end of group GPR2_Peripheral_Access_Layer */ 289 290 #endif /* #if !defined(S32Z2_GPR2_H_) */ 291