1 /***************************************************************************//** 2 * \file cyip_cpuss.h 3 * 4 * \brief 5 * CPUSS IP definitions 6 * 7 ******************************************************************************** 8 * \copyright 9 * (c) (2016-2023), Cypress Semiconductor Corporation (an Infineon company) or 10 * an affiliate of Cypress Semiconductor Corporation. 11 * 12 * SPDX-License-Identifier: Apache-2.0 13 * 14 * Licensed under the Apache License, Version 2.0 (the "License"); 15 * you may not use this file except in compliance with the License. 16 * You may obtain a copy of the License at 17 * 18 * http://www.apache.org/licenses/LICENSE-2.0 19 * 20 * Unless required by applicable law or agreed to in writing, software 21 * distributed under the License is distributed on an "AS IS" BASIS, 22 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 23 * See the License for the specific language governing permissions and 24 * limitations under the License. 25 *******************************************************************************/ 26 27 #ifndef _CYIP_CPUSS_H_ 28 #define _CYIP_CPUSS_H_ 29 30 #include "cyip_headers.h" 31 32 /******************************************************************************* 33 * CPUSS 34 *******************************************************************************/ 35 36 #define CPUSS_SECTION_SIZE 0x00004000UL 37 38 /** 39 * \brief SYSCPUSS registers (CPUSS) 40 */ 41 typedef struct { 42 __IM uint32_t IDENTITY; /*!< 0x00000000 Identity */ 43 __IM uint32_t RESERVED[3]; 44 __IM uint32_t PRODUCT_ID; /*!< 0x00000010 Product identifier and version (same as CoreSight RomTables) */ 45 __IM uint32_t RESERVED1[3]; 46 __IM uint32_t DP_STATUS; /*!< 0x00000020 Debug port status */ 47 __IM uint32_t RESERVED2[3]; 48 __IOM uint32_t BUFF_CTL; /*!< 0x00000030 Buffer control */ 49 __IM uint32_t RESERVED3[3]; 50 __IOM uint32_t CAL_SUP_SET; /*!< 0x00000040 Calibration support set and read */ 51 __IOM uint32_t CAL_SUP_CLR; /*!< 0x00000044 Calibration support clear and reset */ 52 __IM uint32_t RESERVED4[2]; 53 __IOM uint32_t INFRA_CTL; /*!< 0x00000050 Infrastructure Control */ 54 __IM uint32_t RESERVED5[43]; 55 __IOM uint32_t SYSTICK_S_CTL; /*!< 0x00000100 Secure SysTick timer control */ 56 __IM uint32_t RESERVED6[7]; 57 __IOM uint32_t SYSTICK_NS_CTL; /*!< 0x00000120 Non Secure SysTick timer control */ 58 __IM uint32_t RESERVED7[55]; 59 __IOM uint32_t INTR_MSC; /*!< 0x00000200 Master security controller Interrupt */ 60 __IM uint32_t RESERVED8; 61 __IOM uint32_t INTR_MASK_MSC; /*!< 0x00000208 Master security controller Interrupt mask */ 62 __IM uint32_t INTR_MASKED_MSC; /*!< 0x0000020C Master security controller Interrupt masked */ 63 __IM uint32_t AHB_ERROR_STATUS1; /*!< 0x00000210 AHB Error status1 */ 64 __IM uint32_t AHB_ERROR_STATUS2; /*!< 0x00000214 AHB Error status2 */ 65 __IM uint32_t RESERVED9[2]; 66 __IOM uint32_t INTR_AHB_ERROR; /*!< 0x00000220 Interrupt AHB ERROR */ 67 __IOM uint32_t INTR_SET_AHB_ERROR; /*!< 0x00000224 Interrupt AHB ERROR set */ 68 __IOM uint32_t INTR_MASK_AHB_ERROR; /*!< 0x00000228 Interrupt AHB ERROR mask */ 69 __IM uint32_t INTR_MASKED_AHB_ERROR; /*!< 0x0000022C Interrupt AHB ERROR masked */ 70 __IM uint32_t RESERVED10[884]; 71 __IOM uint32_t AP_CTL; /*!< 0x00001000 Access port control */ 72 __IM uint32_t RESERVED11[1024]; 73 __IOM uint32_t PROTECTION; /*!< 0x00002004 Protection status */ 74 __IM uint32_t RESERVED12[62]; 75 __IOM uint32_t TRIM_ROM_CTL; /*!< 0x00002100 ROM trim control */ 76 __IM uint32_t RESERVED13[3]; 77 __IOM uint32_t TRIM_RAM_CTL; /*!< 0x00002110 RAM trim control */ 78 __IOM uint32_t TRIM_RAM_CTL2; /*!< 0x00002114 RAM trim control2 */ 79 __IOM uint32_t TRIM_RAM_CTL3; /*!< 0x00002118 RAM trim control3 */ 80 __IOM uint32_t TRIM_RAM_CTL4; /*!< 0x0000211C RAM trim control4 */ 81 } CPUSS_Type; /*!< Size = 8480 (0x2120) */ 82 83 84 /* CPUSS.IDENTITY */ 85 #define CPUSS_IDENTITY_P_Pos 0UL 86 #define CPUSS_IDENTITY_P_Msk 0x1UL 87 #define CPUSS_IDENTITY_NS_Pos 1UL 88 #define CPUSS_IDENTITY_NS_Msk 0x2UL 89 #define CPUSS_IDENTITY_PC_Pos 4UL 90 #define CPUSS_IDENTITY_PC_Msk 0xF0UL 91 #define CPUSS_IDENTITY_MS_Pos 8UL 92 #define CPUSS_IDENTITY_MS_Msk 0xFF00UL 93 /* CPUSS.PRODUCT_ID */ 94 #define CPUSS_PRODUCT_ID_FAMILY_ID_Pos 0UL 95 #define CPUSS_PRODUCT_ID_FAMILY_ID_Msk 0xFFFUL 96 #define CPUSS_PRODUCT_ID_MAJOR_REV_Pos 16UL 97 #define CPUSS_PRODUCT_ID_MAJOR_REV_Msk 0xF0000UL 98 #define CPUSS_PRODUCT_ID_MINOR_REV_Pos 20UL 99 #define CPUSS_PRODUCT_ID_MINOR_REV_Msk 0xF00000UL 100 /* CPUSS.DP_STATUS */ 101 #define CPUSS_DP_STATUS_SWJ_CONNECTED_Pos 0UL 102 #define CPUSS_DP_STATUS_SWJ_CONNECTED_Msk 0x1UL 103 #define CPUSS_DP_STATUS_SWJ_DEBUG_EN_Pos 1UL 104 #define CPUSS_DP_STATUS_SWJ_DEBUG_EN_Msk 0x2UL 105 #define CPUSS_DP_STATUS_SWJ_JTAG_SEL_Pos 2UL 106 #define CPUSS_DP_STATUS_SWJ_JTAG_SEL_Msk 0x4UL 107 /* CPUSS.BUFF_CTL */ 108 #define CPUSS_BUFF_CTL_WRITE_BUFF_Pos 0UL 109 #define CPUSS_BUFF_CTL_WRITE_BUFF_Msk 0x1UL 110 /* CPUSS.CAL_SUP_SET */ 111 #define CPUSS_CAL_SUP_SET_DATA_Pos 0UL 112 #define CPUSS_CAL_SUP_SET_DATA_Msk 0xFFFFFFFFUL 113 /* CPUSS.CAL_SUP_CLR */ 114 #define CPUSS_CAL_SUP_CLR_DATA_Pos 0UL 115 #define CPUSS_CAL_SUP_CLR_DATA_Msk 0xFFFFFFFFUL 116 /* CPUSS.INFRA_CTL */ 117 #define CPUSS_INFRA_CTL_CLOCK_FORCE_Pos 0UL 118 #define CPUSS_INFRA_CTL_CLOCK_FORCE_Msk 0x1UL 119 /* CPUSS.SYSTICK_S_CTL */ 120 #define CPUSS_SYSTICK_S_CTL_TENMS_Pos 0UL 121 #define CPUSS_SYSTICK_S_CTL_TENMS_Msk 0xFFFFFFUL 122 #define CPUSS_SYSTICK_S_CTL_CLOCK_SOURCE_Pos 24UL 123 #define CPUSS_SYSTICK_S_CTL_CLOCK_SOURCE_Msk 0x3000000UL 124 #define CPUSS_SYSTICK_S_CTL_SKEW_Pos 30UL 125 #define CPUSS_SYSTICK_S_CTL_SKEW_Msk 0x40000000UL 126 #define CPUSS_SYSTICK_S_CTL_NOREF_Pos 31UL 127 #define CPUSS_SYSTICK_S_CTL_NOREF_Msk 0x80000000UL 128 /* CPUSS.SYSTICK_NS_CTL */ 129 #define CPUSS_SYSTICK_NS_CTL_TENMS_Pos 0UL 130 #define CPUSS_SYSTICK_NS_CTL_TENMS_Msk 0xFFFFFFUL 131 #define CPUSS_SYSTICK_NS_CTL_CLOCK_SOURCE_Pos 24UL 132 #define CPUSS_SYSTICK_NS_CTL_CLOCK_SOURCE_Msk 0x3000000UL 133 #define CPUSS_SYSTICK_NS_CTL_SKEW_Pos 30UL 134 #define CPUSS_SYSTICK_NS_CTL_SKEW_Msk 0x40000000UL 135 #define CPUSS_SYSTICK_NS_CTL_NOREF_Pos 31UL 136 #define CPUSS_SYSTICK_NS_CTL_NOREF_Msk 0x80000000UL 137 /* CPUSS.INTR_MSC */ 138 #define CPUSS_INTR_MSC_CODE_MS0_MSC_Pos 0UL 139 #define CPUSS_INTR_MSC_CODE_MS0_MSC_Msk 0x1UL 140 #define CPUSS_INTR_MSC_SYS_MS0_MSC_Pos 1UL 141 #define CPUSS_INTR_MSC_SYS_MS0_MSC_Msk 0x2UL 142 #define CPUSS_INTR_MSC_SYS_MS1_MSC_Pos 2UL 143 #define CPUSS_INTR_MSC_SYS_MS1_MSC_Msk 0x4UL 144 #define CPUSS_INTR_MSC_EXP_MS_MSC_Pos 3UL 145 #define CPUSS_INTR_MSC_EXP_MS_MSC_Msk 0x8UL 146 #define CPUSS_INTR_MSC_DMAC0_MSC_Pos 4UL 147 #define CPUSS_INTR_MSC_DMAC0_MSC_Msk 0x10UL 148 #define CPUSS_INTR_MSC_DMAC1_MSC_Pos 5UL 149 #define CPUSS_INTR_MSC_DMAC1_MSC_Msk 0x20UL 150 /* CPUSS.INTR_MASK_MSC */ 151 #define CPUSS_INTR_MASK_MSC_CODE_MS0_MSC_Pos 0UL 152 #define CPUSS_INTR_MASK_MSC_CODE_MS0_MSC_Msk 0x1UL 153 #define CPUSS_INTR_MASK_MSC_SYS_MS0_MSC_Pos 1UL 154 #define CPUSS_INTR_MASK_MSC_SYS_MS0_MSC_Msk 0x2UL 155 #define CPUSS_INTR_MASK_MSC_SYS_MS1_MSC_Pos 2UL 156 #define CPUSS_INTR_MASK_MSC_SYS_MS1_MSC_Msk 0x4UL 157 #define CPUSS_INTR_MASK_MSC_EXP_MS_MSC_Pos 3UL 158 #define CPUSS_INTR_MASK_MSC_EXP_MS_MSC_Msk 0x8UL 159 #define CPUSS_INTR_MASK_MSC_DMAC0_MSC_Pos 4UL 160 #define CPUSS_INTR_MASK_MSC_DMAC0_MSC_Msk 0x10UL 161 #define CPUSS_INTR_MASK_MSC_DMAC1_MSC_Pos 5UL 162 #define CPUSS_INTR_MASK_MSC_DMAC1_MSC_Msk 0x20UL 163 /* CPUSS.INTR_MASKED_MSC */ 164 #define CPUSS_INTR_MASKED_MSC_CODE_MS0_MSC_Pos 0UL 165 #define CPUSS_INTR_MASKED_MSC_CODE_MS0_MSC_Msk 0x1UL 166 #define CPUSS_INTR_MASKED_MSC_SYS_MS0_MSC_Pos 1UL 167 #define CPUSS_INTR_MASKED_MSC_SYS_MS0_MSC_Msk 0x2UL 168 #define CPUSS_INTR_MASKED_MSC_SYS_MS1_MSC_Pos 2UL 169 #define CPUSS_INTR_MASKED_MSC_SYS_MS1_MSC_Msk 0x4UL 170 #define CPUSS_INTR_MASKED_MSC_EXP_MS_MSC_Pos 3UL 171 #define CPUSS_INTR_MASKED_MSC_EXP_MS_MSC_Msk 0x8UL 172 #define CPUSS_INTR_MASKED_MSC_DMAC0_MSC_Pos 4UL 173 #define CPUSS_INTR_MASKED_MSC_DMAC0_MSC_Msk 0x10UL 174 #define CPUSS_INTR_MASKED_MSC_DMAC1_MSC_Pos 5UL 175 #define CPUSS_INTR_MASKED_MSC_DMAC1_MSC_Msk 0x20UL 176 /* CPUSS.AHB_ERROR_STATUS1 */ 177 #define CPUSS_AHB_ERROR_STATUS1_ADDR_Pos 0UL 178 #define CPUSS_AHB_ERROR_STATUS1_ADDR_Msk 0xFFFFFFFFUL 179 /* CPUSS.AHB_ERROR_STATUS2 */ 180 #define CPUSS_AHB_ERROR_STATUS2_P_Pos 0UL 181 #define CPUSS_AHB_ERROR_STATUS2_P_Msk 0x1UL 182 #define CPUSS_AHB_ERROR_STATUS2_NS_Pos 1UL 183 #define CPUSS_AHB_ERROR_STATUS2_NS_Msk 0x2UL 184 #define CPUSS_AHB_ERROR_STATUS2_W_Pos 2UL 185 #define CPUSS_AHB_ERROR_STATUS2_W_Msk 0x4UL 186 #define CPUSS_AHB_ERROR_STATUS2_PC_Pos 4UL 187 #define CPUSS_AHB_ERROR_STATUS2_PC_Msk 0xF0UL 188 #define CPUSS_AHB_ERROR_STATUS2_MS_Pos 8UL 189 #define CPUSS_AHB_ERROR_STATUS2_MS_Msk 0xFF00UL 190 /* CPUSS.INTR_AHB_ERROR */ 191 #define CPUSS_INTR_AHB_ERROR_AHB_ERROR_Pos 0UL 192 #define CPUSS_INTR_AHB_ERROR_AHB_ERROR_Msk 0x1UL 193 /* CPUSS.INTR_SET_AHB_ERROR */ 194 #define CPUSS_INTR_SET_AHB_ERROR_AHB_ERROR_Pos 0UL 195 #define CPUSS_INTR_SET_AHB_ERROR_AHB_ERROR_Msk 0x1UL 196 /* CPUSS.INTR_MASK_AHB_ERROR */ 197 #define CPUSS_INTR_MASK_AHB_ERROR_AHB_ERROR_Pos 0UL 198 #define CPUSS_INTR_MASK_AHB_ERROR_AHB_ERROR_Msk 0x1UL 199 /* CPUSS.INTR_MASKED_AHB_ERROR */ 200 #define CPUSS_INTR_MASKED_AHB_ERROR_AHB_ERROR_Pos 0UL 201 #define CPUSS_INTR_MASKED_AHB_ERROR_AHB_ERROR_Msk 0x1UL 202 /* CPUSS.AP_CTL */ 203 #define CPUSS_AP_CTL_CM33_0_ENABLE_Pos 0UL 204 #define CPUSS_AP_CTL_CM33_0_ENABLE_Msk 0x1UL 205 #define CPUSS_AP_CTL_CM33_1_ENABLE_Pos 1UL 206 #define CPUSS_AP_CTL_CM33_1_ENABLE_Msk 0x2UL 207 #define CPUSS_AP_CTL_SYS_ENABLE_Pos 2UL 208 #define CPUSS_AP_CTL_SYS_ENABLE_Msk 0x4UL 209 #define CPUSS_AP_CTL_CM33_0_DBG_ENABLE_Pos 4UL 210 #define CPUSS_AP_CTL_CM33_0_DBG_ENABLE_Msk 0x10UL 211 #define CPUSS_AP_CTL_CM33_0_NID_ENABLE_Pos 5UL 212 #define CPUSS_AP_CTL_CM33_0_NID_ENABLE_Msk 0x20UL 213 #define CPUSS_AP_CTL_CM33_0_SPID_ENABLE_Pos 6UL 214 #define CPUSS_AP_CTL_CM33_0_SPID_ENABLE_Msk 0x40UL 215 #define CPUSS_AP_CTL_CM33_0_SPNID_ENABLE_Pos 7UL 216 #define CPUSS_AP_CTL_CM33_0_SPNID_ENABLE_Msk 0x80UL 217 #define CPUSS_AP_CTL_CM33_1_DBG_ENABLE_Pos 8UL 218 #define CPUSS_AP_CTL_CM33_1_DBG_ENABLE_Msk 0x100UL 219 #define CPUSS_AP_CTL_CM33_1_NID_ENABLE_Pos 9UL 220 #define CPUSS_AP_CTL_CM33_1_NID_ENABLE_Msk 0x200UL 221 #define CPUSS_AP_CTL_CM33_1_SPID_ENABLE_Pos 10UL 222 #define CPUSS_AP_CTL_CM33_1_SPID_ENABLE_Msk 0x400UL 223 #define CPUSS_AP_CTL_CM33_1_SPNID_ENABLE_Pos 11UL 224 #define CPUSS_AP_CTL_CM33_1_SPNID_ENABLE_Msk 0x800UL 225 #define CPUSS_AP_CTL_CM33_0_DISABLE_Pos 16UL 226 #define CPUSS_AP_CTL_CM33_0_DISABLE_Msk 0x10000UL 227 #define CPUSS_AP_CTL_CM33_1_DISABLE_Pos 17UL 228 #define CPUSS_AP_CTL_CM33_1_DISABLE_Msk 0x20000UL 229 #define CPUSS_AP_CTL_SYS_DISABLE_Pos 18UL 230 #define CPUSS_AP_CTL_SYS_DISABLE_Msk 0x40000UL 231 #define CPUSS_AP_CTL_CM33_0_DBG_DISABLE_Pos 20UL 232 #define CPUSS_AP_CTL_CM33_0_DBG_DISABLE_Msk 0x100000UL 233 #define CPUSS_AP_CTL_CM33_0_NID_DISABLE_Pos 21UL 234 #define CPUSS_AP_CTL_CM33_0_NID_DISABLE_Msk 0x200000UL 235 #define CPUSS_AP_CTL_CM33_0_SPID_DISABLE_Pos 22UL 236 #define CPUSS_AP_CTL_CM33_0_SPID_DISABLE_Msk 0x400000UL 237 #define CPUSS_AP_CTL_CM33_0_SPNID_DISABLE_Pos 23UL 238 #define CPUSS_AP_CTL_CM33_0_SPNID_DISABLE_Msk 0x800000UL 239 #define CPUSS_AP_CTL_CM33_1_DBG_DISABLE_Pos 24UL 240 #define CPUSS_AP_CTL_CM33_1_DBG_DISABLE_Msk 0x1000000UL 241 #define CPUSS_AP_CTL_CM33_1_NID_DISABLE_Pos 25UL 242 #define CPUSS_AP_CTL_CM33_1_NID_DISABLE_Msk 0x2000000UL 243 #define CPUSS_AP_CTL_CM33_1_SPID_DISABLE_Pos 26UL 244 #define CPUSS_AP_CTL_CM33_1_SPID_DISABLE_Msk 0x4000000UL 245 #define CPUSS_AP_CTL_CM33_1_SPNID_DISABLE_Pos 27UL 246 #define CPUSS_AP_CTL_CM33_1_SPNID_DISABLE_Msk 0x8000000UL 247 /* CPUSS.PROTECTION */ 248 #define CPUSS_PROTECTION_STATE_Pos 0UL 249 #define CPUSS_PROTECTION_STATE_Msk 0xFFFFFFFFUL 250 /* CPUSS.TRIM_ROM_CTL */ 251 #define CPUSS_TRIM_ROM_CTL_TRIM_Pos 0UL 252 #define CPUSS_TRIM_ROM_CTL_TRIM_Msk 0xFFFFFFFFUL 253 /* CPUSS.TRIM_RAM_CTL */ 254 #define CPUSS_TRIM_RAM_CTL_TRIM_Pos 0UL 255 #define CPUSS_TRIM_RAM_CTL_TRIM_Msk 0xFFFFFFFFUL 256 /* CPUSS.TRIM_RAM_CTL2 */ 257 #define CPUSS_TRIM_RAM_CTL2_TRIM_Pos 0UL 258 #define CPUSS_TRIM_RAM_CTL2_TRIM_Msk 0xFFFFFFFFUL 259 /* CPUSS.TRIM_RAM_CTL3 */ 260 #define CPUSS_TRIM_RAM_CTL3_TRIM_Pos 0UL 261 #define CPUSS_TRIM_RAM_CTL3_TRIM_Msk 0xFFFFFFFFUL 262 /* CPUSS.TRIM_RAM_CTL4 */ 263 #define CPUSS_TRIM_RAM_CTL4_TRIM_Pos 0UL 264 #define CPUSS_TRIM_RAM_CTL4_TRIM_Msk 0xFFFFFFFFUL 265 266 267 #endif /* _CYIP_CPUSS_H_ */ 268 269 270 /* [] END OF FILE */ 271