1 /* 2 * Copyright (c) 2024 Microchip Technology Inc. 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #ifndef _MEC5_ECS_V2_5_H 7 #define _MEC5_ECS_V2_5_H 8 9 /** @addtogroup Device_Peripheral_peripherals 10 * @{ 11 */ 12 13 /** 14 * @brief EC subsystem registers (MEC_ECS) 15 */ 16 17 typedef struct mec_ecs_regs { /*!< (@ 0x4000FC00) MEC_ECS Structure */ 18 __IM uint32_t RESERVED; 19 __IOM uint32_t AERRA; /*!< (@ 0x00000004) ECS AHB Error Address capture */ 20 __IM uint32_t RESERVED1[2]; 21 __IOM uint32_t OSCID; /*!< (@ 0x00000010) ECS Oscillator ID */ 22 __IOM uint32_t AERRC; /*!< (@ 0x00000014) ECS AHB Error Address capture control */ 23 __IOM uint32_t INTR_CTRL; /*!< (@ 0x00000018) ECS interrupt control */ 24 __IOM uint32_t ETM_CTRL; /*!< (@ 0x0000001C) ECS ETM trace enable */ 25 __IOM uint32_t DBG_CTRL; /*!< (@ 0x00000020) ECS Debug enable */ 26 __IOM uint32_t SECLK; /*!< (@ 0x00000024) ECS security lock */ 27 __IOM uint32_t WDTEVC; /*!< (@ 0x00000028) ECS WDT event count */ 28 __IM uint32_t RESERVED2[5]; 29 __IOM uint32_t PECI_CTRL; /*!< (@ 0x00000040) ECS PECI control */ 30 __IM uint32_t RESERVED3[3]; 31 __IOM uint32_t VCIFWO; /*!< (@ 0x00000050) ECS VCI firmware override */ 32 __IOM uint32_t BRSTS; /*!< (@ 0x00000054) ECS Boot-ROM status */ 33 __IOM uint32_t CRCFG; /*!< (@ 0x00000058) ECS crypto config */ 34 __IOM uint32_t CRRST; /*!< (@ 0x0000005C) ECS crypto reset */ 35 __IM uint32_t RESERVED4[2]; 36 __IOM uint32_t FEAT_LOCK; /*!< (@ 0x00000068) ECS feature lock */ 37 __IOM uint32_t MISC_LOCK; /*!< (@ 0x0000006C) ECS miscellaneous lock */ 38 __IOM uint32_t JCFG; /*!< (@ 0x00000070) ECS JTAG initiator config */ 39 __IOM uint32_t JSTS; /*!< (@ 0x00000074) ECS JTAG initiator status */ 40 __IOM uint32_t JTDO; /*!< (@ 0x00000078) ECS JTAG initiator TDO */ 41 __IOM uint32_t JTDI; /*!< (@ 0x0000007C) ECS JTAG initiator TDI */ 42 __IOM uint32_t JTMS; /*!< (@ 0x00000080) ECS JTAG initiator TMS */ 43 __IOM uint32_t JCMD; /*!< (@ 0x00000084) ECS JTAG initiator command */ 44 __IM uint32_t RESERVED5[2]; 45 __IOM uint32_t VWSC; /*!< (@ 0x00000090) ECS VWire source config */ 46 __IOM uint32_t CMPC; /*!< (@ 0x00000094) ECS comparator control */ 47 __IOM uint32_t CMPSC; /*!< (@ 0x00000098) ECS comparator sleep control */ 48 __IM uint32_t RESERVED6[5]; 49 __IOM uint32_t EMBRST_EN; /*!< (@ 0x000000B0) Embedded Reset Enable */ 50 __IOM uint32_t EMBRST_TMOUT; /*!< (@ 0x000000B4) Embedded Reset timeout value */ 51 __IOM uint32_t EMBRST_STS; /*!< (@ 0x000000B8) Embedded Reset Status */ 52 __IM uint32_t EMBRST_CNT; /*!< (@ 0x000000BC) Embedded Reset Count */ 53 __IM uint32_t RESERVED7[12]; 54 __IOM uint32_t IPTRIM; /*!< (@ 0x000000F0) IP Trim */ 55 __IM uint32_t RESERVED8[20]; 56 __IOM uint32_t SSSMR; /*!< (@ 0x00000144) System Sleep Status Mirror register */ 57 __IM uint32_t RESERVED9[14]; 58 __IOM uint32_t BRSCR0; /*!< (@ 0x00000180) Boot-ROM Scratch 0 */ 59 __IOM uint32_t BRSCR1; /*!< (@ 0x00000184) Boot-ROM Scratch 1 */ 60 __IOM uint32_t BRSCR2; /*!< (@ 0x00000188) Boot-ROM Scratch 2 */ 61 __IOM uint32_t BRSCR3; /*!< (@ 0x0000018C) Boot-ROM Scratch 3 */ 62 } MEC_ECS_Type; /*!< Size = 400 (0x190) */ 63 64 /** @} */ /* End of group Device_Peripheral_peripherals */ 65 66 /** @addtogroup PosMask_peripherals 67 * @{ 68 */ 69 /* ========================================================= AERRA ========================================================= */ 70 /* ========================================================= OSCID ========================================================= */ 71 /* ========================================================= AERRC ========================================================= */ 72 #define MEC_ECS_AERRC_CAP_Pos (0UL) /*!< CAP (Bit 0) */ 73 #define MEC_ECS_AERRC_CAP_Msk (0x1UL) /*!< CAP (Bitfield-Mask: 0x01) */ 74 /* ======================================================= INTR_CTRL ======================================================= */ 75 #define MEC_ECS_INTR_CTRL_DIRECT_Pos (0UL) /*!< DIRECT (Bit 0) */ 76 #define MEC_ECS_INTR_CTRL_DIRECT_Msk (0x1UL) /*!< DIRECT (Bitfield-Mask: 0x01) */ 77 /* ======================================================= ETM_CTRL ======================================================== */ 78 #define MEC_ECS_ETM_CTRL_TRACE_EN_Pos (0UL) /*!< TRACE_EN (Bit 0) */ 79 #define MEC_ECS_ETM_CTRL_TRACE_EN_Msk (0x1UL) /*!< TRACE_EN (Bitfield-Mask: 0x01) */ 80 /* ======================================================= DBG_CTRL ======================================================== */ 81 #define MEC_ECS_DBG_CTRL_EN_Pos (0UL) /*!< EN (Bit 0) */ 82 #define MEC_ECS_DBG_CTRL_EN_Msk (0x1UL) /*!< EN (Bitfield-Mask: 0x01) */ 83 #define MEC_ECS_DBG_CTRL_CFG_Pos (1UL) /*!< CFG (Bit 1) */ 84 #define MEC_ECS_DBG_CTRL_CFG_Msk (0x6UL) /*!< CFG (Bitfield-Mask: 0x03) */ 85 #define MEC_ECS_DBG_CTRL_PULL_UPS_Pos (3UL) /*!< PULL_UPS (Bit 3) */ 86 #define MEC_ECS_DBG_CTRL_PULL_UPS_Msk (0x8UL) /*!< PULL_UPS (Bitfield-Mask: 0x01) */ 87 #define MEC_ECS_DBG_CTRL_BNDRY_SCAN_Pos (4UL) /*!< BNDRY_SCAN (Bit 4) */ 88 #define MEC_ECS_DBG_CTRL_BNDRY_SCAN_Msk (0x10UL) /*!< BNDRY_SCAN (Bitfield-Mask: 0x01) */ 89 #define MEC_ECS_DBG_CTRL_LOCK_Pos (5UL) /*!< LOCK (Bit 5) */ 90 #define MEC_ECS_DBG_CTRL_LOCK_Msk (0x20UL) /*!< LOCK (Bitfield-Mask: 0x01) */ 91 /* ========================================================= SECLK ========================================================= */ 92 /* ======================================================== WDTEVC ========================================================= */ 93 /* ======================================================= PECI_CTRL ======================================================= */ 94 #define MEC_ECS_PECI_CTRL_PINS_Pos (0UL) /*!< PINS (Bit 0) */ 95 #define MEC_ECS_PECI_CTRL_PINS_Msk (0x1UL) /*!< PINS (Bitfield-Mask: 0x01) */ 96 /* ======================================================== VCIFWO ========================================================= */ 97 #define MEC_ECS_VCIFWO_SYS_SHDN_nFW_Pos (0UL) /*!< SYS_SHDN_nFW (Bit 0) */ 98 #define MEC_ECS_VCIFWO_SYS_SHDN_nFW_Msk (0x1UL) /*!< SYS_SHDN_nFW (Bitfield-Mask: 0x01) */ 99 /* ========================================================= BRSTS ========================================================= */ 100 /* ========================================================= CRCFG ========================================================= */ 101 /* ========================================================= CRRST ========================================================= */ 102 #define MEC_ECS_CRRST_PK_SRST_Pos (1UL) /*!< PK_SRST (Bit 1) */ 103 #define MEC_ECS_CRRST_PK_SRST_Msk (0x2UL) /*!< PK_SRST (Bitfield-Mask: 0x01) */ 104 /* ======================================================= FEAT_LOCK ======================================================= */ 105 #define MEC_ECS_FEAT_LOCK_FEAT0_Pos (0UL) /*!< FEAT0 (Bit 0) */ 106 #define MEC_ECS_FEAT_LOCK_FEAT0_Msk (0x1UL) /*!< FEAT0 (Bitfield-Mask: 0x01) */ 107 #define MEC_ECS_FEAT_LOCK_ESPI_Pos (1UL) /*!< ESPI (Bit 1) */ 108 #define MEC_ECS_FEAT_LOCK_ESPI_Msk (0x2UL) /*!< ESPI (Bitfield-Mask: 0x01) */ 109 #define MEC_ECS_FEAT_LOCK_PUF_Pos (2UL) /*!< PUF (Bit 2) */ 110 #define MEC_ECS_FEAT_LOCK_PUF_Msk (0x4UL) /*!< PUF (Bitfield-Mask: 0x01) */ 111 #define MEC_ECS_FEAT_LOCK_XTAL_Pos (3UL) /*!< XTAL (Bit 3) */ 112 #define MEC_ECS_FEAT_LOCK_XTAL_Msk (0x8UL) /*!< XTAL (Bitfield-Mask: 0x01) */ 113 #define MEC_ECS_FEAT_LOCK_PWRGRD_Pos (6UL) /*!< PWRGRD (Bit 6) */ 114 #define MEC_ECS_FEAT_LOCK_PWRGRD_Msk (0x40UL) /*!< PWRGRD (Bitfield-Mask: 0x01) */ 115 #define MEC_ECS_FEAT_LOCK_KEYSCAN_Pos (7UL) /*!< KEYSCAN (Bit 7) */ 116 #define MEC_ECS_FEAT_LOCK_KEYSCAN_Msk (0x80UL) /*!< KEYSCAN (Bitfield-Mask: 0x01) */ 117 #define MEC_ECS_FEAT_LOCK_FEAT8_Pos (8UL) /*!< FEAT8 (Bit 8) */ 118 #define MEC_ECS_FEAT_LOCK_FEAT8_Msk (0x100UL) /*!< FEAT8 (Bitfield-Mask: 0x01) */ 119 #define MEC_ECS_FEAT_LOCK_ARM_FPU_Pos (9UL) /*!< ARM_FPU (Bit 9) */ 120 #define MEC_ECS_FEAT_LOCK_ARM_FPU_Msk (0x200UL) /*!< ARM_FPU (Bitfield-Mask: 0x01) */ 121 #define MEC_ECS_FEAT_LOCK_FEAT10_Pos (10UL) /*!< FEAT10 (Bit 10) */ 122 #define MEC_ECS_FEAT_LOCK_FEAT10_Msk (0x400UL) /*!< FEAT10 (Bitfield-Mask: 0x01) */ 123 #define MEC_ECS_FEAT_LOCK_FEAT11_Pos (11UL) /*!< FEAT11 (Bit 11) */ 124 #define MEC_ECS_FEAT_LOCK_FEAT11_Msk (0x800UL) /*!< FEAT11 (Bitfield-Mask: 0x01) */ 125 #define MEC_ECS_FEAT_LOCK_FEAT12_Pos (12UL) /*!< FEAT12 (Bit 12) */ 126 #define MEC_ECS_FEAT_LOCK_FEAT12_Msk (0x1000UL) /*!< FEAT12 (Bitfield-Mask: 0x01) */ 127 #define MEC_ECS_FEAT_LOCK_FEAT13_Pos (13UL) /*!< FEAT13 (Bit 13) */ 128 #define MEC_ECS_FEAT_LOCK_FEAT13_Msk (0x2000UL) /*!< FEAT13 (Bitfield-Mask: 0x01) */ 129 #define MEC_ECS_FEAT_LOCK_FEAT14_Pos (14UL) /*!< FEAT14 (Bit 14) */ 130 #define MEC_ECS_FEAT_LOCK_FEAT14_Msk (0x4000UL) /*!< FEAT14 (Bitfield-Mask: 0x01) */ 131 #define MEC_ECS_FEAT_LOCK_BBRAM_SIZE_Pos (15UL) /*!< BBRAM_SIZE (Bit 15) */ 132 #define MEC_ECS_FEAT_LOCK_BBRAM_SIZE_Msk (0x8000UL) /*!< BBRAM_SIZE (Bitfield-Mask: 0x01) */ 133 #define MEC_ECS_FEAT_LOCK_FEAT16_Pos (16UL) /*!< FEAT16 (Bit 16) */ 134 #define MEC_ECS_FEAT_LOCK_FEAT16_Msk (0x10000UL) /*!< FEAT16 (Bitfield-Mask: 0x01) */ 135 #define MEC_ECS_FEAT_LOCK_FEAT17_Pos (17UL) /*!< FEAT17 (Bit 17) */ 136 #define MEC_ECS_FEAT_LOCK_FEAT17_Msk (0x20000UL) /*!< FEAT17 (Bitfield-Mask: 0x01) */ 137 #define MEC_ECS_FEAT_LOCK_FEAT18_Pos (18UL) /*!< FEAT18 (Bit 18) */ 138 #define MEC_ECS_FEAT_LOCK_FEAT18_Msk (0x40000UL) /*!< FEAT18 (Bitfield-Mask: 0x01) */ 139 #define MEC_ECS_FEAT_LOCK_TURBO_FREQ_Pos (19UL) /*!< TURBO_FREQ (Bit 19) */ 140 #define MEC_ECS_FEAT_LOCK_TURBO_FREQ_Msk (0x80000UL) /*!< TURBO_FREQ (Bitfield-Mask: 0x01) */ 141 /* ======================================================= MISC_LOCK ======================================================= */ 142 #define MEC_ECS_MISC_LOCK_FEAT0_Pos (0UL) /*!< FEAT0 (Bit 0) */ 143 #define MEC_ECS_MISC_LOCK_FEAT0_Msk (0x1UL) /*!< FEAT0 (Bitfield-Mask: 0x01) */ 144 #define MEC_ECS_MISC_LOCK_FEAT1_Pos (1UL) /*!< FEAT1 (Bit 1) */ 145 #define MEC_ECS_MISC_LOCK_FEAT1_Msk (0x2UL) /*!< FEAT1 (Bitfield-Mask: 0x01) */ 146 #define MEC_ECS_MISC_LOCK_FEAT2_Pos (2UL) /*!< FEAT2 (Bit 2) */ 147 #define MEC_ECS_MISC_LOCK_FEAT2_Msk (0x4UL) /*!< FEAT2 (Bitfield-Mask: 0x01) */ 148 #define MEC_ECS_MISC_LOCK_FEAT3_Pos (3UL) /*!< FEAT3 (Bit 3) */ 149 #define MEC_ECS_MISC_LOCK_FEAT3_Msk (0x8UL) /*!< FEAT3 (Bitfield-Mask: 0x01) */ 150 #define MEC_ECS_MISC_LOCK_FEAT4_Pos (4UL) /*!< FEAT4 (Bit 4) */ 151 #define MEC_ECS_MISC_LOCK_FEAT4_Msk (0x10UL) /*!< FEAT4 (Bitfield-Mask: 0x01) */ 152 #define MEC_ECS_MISC_LOCK_FEAT5_Pos (5UL) /*!< FEAT5 (Bit 5) */ 153 #define MEC_ECS_MISC_LOCK_FEAT5_Msk (0x20UL) /*!< FEAT5 (Bitfield-Mask: 0x01) */ 154 #define MEC_ECS_MISC_LOCK_FEAT6_Pos (6UL) /*!< FEAT6 (Bit 6) */ 155 #define MEC_ECS_MISC_LOCK_FEAT6_Msk (0x40UL) /*!< FEAT6 (Bitfield-Mask: 0x01) */ 156 #define MEC_ECS_MISC_LOCK_FEAT7_Pos (7UL) /*!< FEAT7 (Bit 7) */ 157 #define MEC_ECS_MISC_LOCK_FEAT7_Msk (0x80UL) /*!< FEAT7 (Bitfield-Mask: 0x01) */ 158 /* ========================================================= JCFG ========================================================== */ 159 /* ========================================================= JSTS ========================================================== */ 160 /* ========================================================= JTDO ========================================================== */ 161 /* ========================================================= JTDI ========================================================== */ 162 /* ========================================================= JTMS ========================================================== */ 163 /* ========================================================= JCMD ========================================================== */ 164 /* ========================================================= VWSC ========================================================== */ 165 /* ========================================================= CMPC ========================================================== */ 166 #define MEC_ECS_CMPC_EN0_Pos (0UL) /*!< EN0 (Bit 0) */ 167 #define MEC_ECS_CMPC_EN0_Msk (0x1UL) /*!< EN0 (Bitfield-Mask: 0x01) */ 168 #define MEC_ECS_CMPC_LKCFG0_Pos (2UL) /*!< LKCFG0 (Bit 2) */ 169 #define MEC_ECS_CMPC_LKCFG0_Msk (0x4UL) /*!< LKCFG0 (Bitfield-Mask: 0x01) */ 170 #define MEC_ECS_CMPC_EN1_Pos (4UL) /*!< EN1 (Bit 4) */ 171 #define MEC_ECS_CMPC_EN1_Msk (0x10UL) /*!< EN1 (Bitfield-Mask: 0x01) */ 172 /* ========================================================= CMPSC ========================================================= */ 173 #define MEC_ECS_CMPSC_DSLP0_Pos (0UL) /*!< DSLP0 (Bit 0) */ 174 #define MEC_ECS_CMPSC_DSLP0_Msk (0x1UL) /*!< DSLP0 (Bitfield-Mask: 0x01) */ 175 #define MEC_ECS_CMPSC_DSLP1_Pos (1UL) /*!< DSLP1 (Bit 1) */ 176 #define MEC_ECS_CMPSC_DSLP1_Msk (0x2UL) /*!< DSLP1 (Bitfield-Mask: 0x01) */ 177 /* ======================================================= EMBRST_EN ======================================================= */ 178 #define MEC_ECS_EMBRST_EN_EN_Pos (0UL) /*!< EN (Bit 0) */ 179 #define MEC_ECS_EMBRST_EN_EN_Msk (0x1UL) /*!< EN (Bitfield-Mask: 0x01) */ 180 /* ===================================================== EMBRST_TMOUT ====================================================== */ 181 #define MEC_ECS_EMBRST_TMOUT_TM1_Pos (0UL) /*!< TM1 (Bit 0) */ 182 #define MEC_ECS_EMBRST_TMOUT_TM1_Msk (0x7UL) /*!< TM1 (Bitfield-Mask: 0x07) */ 183 /* ====================================================== EMBRST_STS ======================================================= */ 184 #define MEC_ECS_EMBRST_STS_RST_Pos (0UL) /*!< RST (Bit 0) */ 185 #define MEC_ECS_EMBRST_STS_RST_Msk (0x1UL) /*!< RST (Bitfield-Mask: 0x01) */ 186 /* ====================================================== EMBRST_CNT ======================================================= */ 187 #define MEC_ECS_EMBRST_CNT_CURR_CNT_Pos (0UL) /*!< CURR_CNT (Bit 0) */ 188 #define MEC_ECS_EMBRST_CNT_CURR_CNT_Msk (0x7ffffUL) /*!< CURR_CNT (Bitfield-Mask: 0x7ffff) */ 189 /* ======================================================== IPTRIM ========================================================= */ 190 /* ========================================================= SSSMR ========================================================= */ 191 #define MEC_ECS_SSSMR_MOSCR_Pos (0UL) /*!< MOSCR (Bit 0) */ 192 #define MEC_ECS_SSSMR_MOSCR_Msk (0x1UL) /*!< MOSCR (Bitfield-Mask: 0x01) */ 193 #define MEC_ECS_SSSMR_PLLRB_Pos (1UL) /*!< PLLRB (Bit 1) */ 194 #define MEC_ECS_SSSMR_PLLRB_Msk (0x2UL) /*!< PLLRB (Bitfield-Mask: 0x01) */ 195 #define MEC_ECS_SSSMR_REGSTDY_Pos (2UL) /*!< REGSTDY (Bit 2) */ 196 #define MEC_ECS_SSSMR_REGSTDY_Msk (0x4UL) /*!< REGSTDY (Bitfield-Mask: 0x01) */ 197 #define MEC_ECS_SSSMR_CLKEND_Pos (3UL) /*!< CLKEND (Bit 3) */ 198 #define MEC_ECS_SSSMR_CLKEND_Msk (0x8UL) /*!< CLKEND (Bitfield-Mask: 0x01) */ 199 #define MEC_ECS_SSSMR_SLPENALL_Pos (4UL) /*!< SLPENALL (Bit 4) */ 200 #define MEC_ECS_SSSMR_SLPENALL_Msk (0x10UL) /*!< SLPENALL (Bitfield-Mask: 0x01) */ 201 #define MEC_ECS_SSSMR_CLKREQN_Pos (5UL) /*!< CLKREQN (Bit 5) */ 202 #define MEC_ECS_SSSMR_CLKREQN_Msk (0x20UL) /*!< CLKREQN (Bitfield-Mask: 0x01) */ 203 #define MEC_ECS_SSSMR_ASYNCWK_Pos (6UL) /*!< ASYNCWK (Bit 6) */ 204 #define MEC_ECS_SSSMR_ASYNCWK_Msk (0x40UL) /*!< ASYNCWK (Bitfield-Mask: 0x01) */ 205 #define MEC_ECS_SSSMR_ASYNCWK_DBG_Pos (7UL) /*!< ASYNCWK_DBG (Bit 7) */ 206 #define MEC_ECS_SSSMR_ASYNCWK_DBG_Msk (0x80UL) /*!< ASYNCWK_DBG (Bitfield-Mask: 0x01) */ 207 #define MEC_ECS_SSSMR_SYSCLK_FSM_Pos (8UL) /*!< SYSCLK_FSM (Bit 8) */ 208 #define MEC_ECS_SSSMR_SYSCLK_FSM_Msk (0xf00UL) /*!< SYSCLK_FSM (Bitfield-Mask: 0x0f) */ 209 /* ======================================================== BRSCR0 ========================================================= */ 210 /* ======================================================== BRSCR1 ========================================================= */ 211 /* ======================================================== BRSCR2 ========================================================= */ 212 /* ======================================================== BRSCR3 ========================================================= */ 213 /** @} */ /* End of group PosMask_peripherals */ 214 215 /** @addtogroup EnumValue_peripherals 216 * @{ 217 */ 218 /* ========================================================= AERRA ========================================================= */ 219 /* ========================================================= OSCID ========================================================= */ 220 /* ========================================================= AERRC ========================================================= */ 221 /* =============================================== MEC_ECS AERRC CAP [0..0] ================================================ */ 222 typedef enum { /*!< MEC_ECS_AERRC_CAP */ 223 MEC_ECS_AERRC_CAP_DIS = 1, /*!< DIS : Disable */ 224 } MEC_ECS_AERRC_CAP_Enum; 225 226 /* ======================================================= INTR_CTRL ======================================================= */ 227 /* ============================================ MEC_ECS INTR_CTRL DIRECT [0..0] ============================================ */ 228 typedef enum { /*!< MEC_ECS_INTR_CTRL_DIRECT */ 229 MEC_ECS_INTR_CTRL_DIRECT_EN = 1, /*!< EN : Enable */ 230 } MEC_ECS_INTR_CTRL_DIRECT_Enum; 231 232 /* ======================================================= ETM_CTRL ======================================================== */ 233 /* =========================================== MEC_ECS ETM_CTRL TRACE_EN [0..0] ============================================ */ 234 typedef enum { /*!< MEC_ECS_ETM_CTRL_TRACE_EN */ 235 MEC_ECS_ETM_CTRL_TRACE_EN_EN = 1, /*!< EN : Enable */ 236 } MEC_ECS_ETM_CTRL_TRACE_EN_Enum; 237 238 /* ======================================================= DBG_CTRL ======================================================== */ 239 /* ============================================== MEC_ECS DBG_CTRL EN [0..0] =============================================== */ 240 typedef enum { /*!< MEC_ECS_DBG_CTRL_EN */ 241 MEC_ECS_DBG_CTRL_EN_ON = 1, /*!< ON : Enable */ 242 } MEC_ECS_DBG_CTRL_EN_Enum; 243 244 /* ============================================== MEC_ECS DBG_CTRL CFG [1..2] ============================================== */ 245 typedef enum { /*!< MEC_ECS_DBG_CTRL_CFG */ 246 MEC_ECS_DBG_CTRL_CFG_JTAG = 0, /*!< JTAG : Use 4-pin JTAG mode */ 247 MEC_ECS_DBG_CTRL_CFG_SWD_SWV = 1, /*!< SWD_SWV : Use 2-pin SWD plus 1-pin SWV */ 248 MEC_ECS_DBG_CTRL_CFG_SWD_ONLY = 2, /*!< SWD_ONLY : Use 2-pin SWD only. No SWV pin */ 249 MEC_ECS_DBG_CTRL_CFG_RSVD = 3, /*!< RSVD : Config reserved value */ 250 } MEC_ECS_DBG_CTRL_CFG_Enum; 251 252 /* =========================================== MEC_ECS DBG_CTRL PULL_UPS [3..3] ============================================ */ 253 typedef enum { /*!< MEC_ECS_DBG_CTRL_PULL_UPS */ 254 MEC_ECS_DBG_CTRL_PULL_UPS_EN = 1, /*!< EN : Enable */ 255 } MEC_ECS_DBG_CTRL_PULL_UPS_Enum; 256 257 /* ========================================== MEC_ECS DBG_CTRL BNDRY_SCAN [4..4] =========================================== */ 258 typedef enum { /*!< MEC_ECS_DBG_CTRL_BNDRY_SCAN */ 259 MEC_ECS_DBG_CTRL_BNDRY_SCAN_EN = 1, /*!< EN : Enable */ 260 } MEC_ECS_DBG_CTRL_BNDRY_SCAN_Enum; 261 262 /* ============================================= MEC_ECS DBG_CTRL LOCK [5..5] ============================================== */ 263 typedef enum { /*!< MEC_ECS_DBG_CTRL_LOCK */ 264 MEC_ECS_DBG_CTRL_LOCK_EN = 1, /*!< EN : Enable */ 265 } MEC_ECS_DBG_CTRL_LOCK_Enum; 266 267 /* ========================================================= SECLK ========================================================= */ 268 /* ======================================================== WDTEVC ========================================================= */ 269 /* ======================================================= PECI_CTRL ======================================================= */ 270 /* ============================================= MEC_ECS PECI_CTRL PINS [0..0] ============================================= */ 271 typedef enum { /*!< MEC_ECS_PECI_CTRL_PINS */ 272 MEC_ECS_PECI_CTRL_PINS_DIS = 1, /*!< DIS : Disable */ 273 } MEC_ECS_PECI_CTRL_PINS_Enum; 274 275 /* ======================================================== VCIFWO ========================================================= */ 276 /* ========================================== MEC_ECS VCIFWO SYS_SHDN_nFW [0..0] =========================================== */ 277 typedef enum { /*!< MEC_ECS_VCIFWO_SYS_SHDN_nFW */ 278 MEC_ECS_VCIFWO_SYS_SHDN_nFW_DEASSERT = 1, /*!< DEASSERT : Deassert SYS_SHDN# pin */ 279 } MEC_ECS_VCIFWO_SYS_SHDN_nFW_Enum; 280 281 /* ========================================================= BRSTS ========================================================= */ 282 /* ========================================================= CRCFG ========================================================= */ 283 /* ========================================================= CRRST ========================================================= */ 284 /* ============================================= MEC_ECS CRRST PK_SRST [1..1] ============================================== */ 285 typedef enum { /*!< MEC_ECS_CRRST_PK_SRST */ 286 MEC_ECS_CRRST_PK_SRST_EN = 1, /*!< EN : Assert reset signal to PK block */ 287 } MEC_ECS_CRRST_PK_SRST_Enum; 288 289 /* ======================================================= FEAT_LOCK ======================================================= */ 290 /* ============================================ MEC_ECS FEAT_LOCK FEAT0 [0..0] ============================================= */ 291 typedef enum { /*!< MEC_ECS_FEAT_LOCK_FEAT0 */ 292 MEC_ECS_FEAT_LOCK_FEAT0_DIS = 1, /*!< DIS : HW disabled */ 293 } MEC_ECS_FEAT_LOCK_FEAT0_Enum; 294 295 /* ============================================= MEC_ECS FEAT_LOCK ESPI [1..1] ============================================= */ 296 typedef enum { /*!< MEC_ECS_FEAT_LOCK_ESPI */ 297 MEC_ECS_FEAT_LOCK_ESPI_DIS = 1, /*!< DIS : HW disabled */ 298 } MEC_ECS_FEAT_LOCK_ESPI_Enum; 299 300 /* ============================================= MEC_ECS FEAT_LOCK PUF [2..2] ============================================== */ 301 typedef enum { /*!< MEC_ECS_FEAT_LOCK_PUF */ 302 MEC_ECS_FEAT_LOCK_PUF_DIS = 1, /*!< DIS : HW disabled */ 303 } MEC_ECS_FEAT_LOCK_PUF_Enum; 304 305 /* ============================================= MEC_ECS FEAT_LOCK XTAL [3..3] ============================================= */ 306 typedef enum { /*!< MEC_ECS_FEAT_LOCK_XTAL */ 307 MEC_ECS_FEAT_LOCK_XTAL_DIS = 1, /*!< DIS : HW disabled */ 308 } MEC_ECS_FEAT_LOCK_XTAL_Enum; 309 310 /* ============================================ MEC_ECS FEAT_LOCK PWRGRD [6..6] ============================================ */ 311 typedef enum { /*!< MEC_ECS_FEAT_LOCK_PWRGRD */ 312 MEC_ECS_FEAT_LOCK_PWRGRD_DIS = 1, /*!< DIS : HW disabled */ 313 } MEC_ECS_FEAT_LOCK_PWRGRD_Enum; 314 315 /* =========================================== MEC_ECS FEAT_LOCK KEYSCAN [7..7] ============================================ */ 316 typedef enum { /*!< MEC_ECS_FEAT_LOCK_KEYSCAN */ 317 MEC_ECS_FEAT_LOCK_KEYSCAN_DIS = 1, /*!< DIS : HW disabled */ 318 } MEC_ECS_FEAT_LOCK_KEYSCAN_Enum; 319 320 /* ============================================ MEC_ECS FEAT_LOCK FEAT8 [8..8] ============================================= */ 321 typedef enum { /*!< MEC_ECS_FEAT_LOCK_FEAT8 */ 322 MEC_ECS_FEAT_LOCK_FEAT8_DIS = 1, /*!< DIS : HW disabled */ 323 } MEC_ECS_FEAT_LOCK_FEAT8_Enum; 324 325 /* =========================================== MEC_ECS FEAT_LOCK ARM_FPU [9..9] ============================================ */ 326 typedef enum { /*!< MEC_ECS_FEAT_LOCK_ARM_FPU */ 327 MEC_ECS_FEAT_LOCK_ARM_FPU_DIS = 1, /*!< DIS : HW disabled */ 328 } MEC_ECS_FEAT_LOCK_ARM_FPU_Enum; 329 330 /* =========================================== MEC_ECS FEAT_LOCK FEAT10 [10..10] =========================================== */ 331 typedef enum { /*!< MEC_ECS_FEAT_LOCK_FEAT10 */ 332 MEC_ECS_FEAT_LOCK_FEAT10_DIS = 1, /*!< DIS : HW disabled */ 333 } MEC_ECS_FEAT_LOCK_FEAT10_Enum; 334 335 /* =========================================== MEC_ECS FEAT_LOCK FEAT11 [11..11] =========================================== */ 336 typedef enum { /*!< MEC_ECS_FEAT_LOCK_FEAT11 */ 337 MEC_ECS_FEAT_LOCK_FEAT11_DIS = 1, /*!< DIS : HW disabled */ 338 } MEC_ECS_FEAT_LOCK_FEAT11_Enum; 339 340 /* =========================================== MEC_ECS FEAT_LOCK FEAT12 [12..12] =========================================== */ 341 typedef enum { /*!< MEC_ECS_FEAT_LOCK_FEAT12 */ 342 MEC_ECS_FEAT_LOCK_FEAT12_DIS = 1, /*!< DIS : HW disabled */ 343 } MEC_ECS_FEAT_LOCK_FEAT12_Enum; 344 345 /* =========================================== MEC_ECS FEAT_LOCK FEAT13 [13..13] =========================================== */ 346 typedef enum { /*!< MEC_ECS_FEAT_LOCK_FEAT13 */ 347 MEC_ECS_FEAT_LOCK_FEAT13_DIS = 1, /*!< DIS : HW disabled */ 348 } MEC_ECS_FEAT_LOCK_FEAT13_Enum; 349 350 /* =========================================== MEC_ECS FEAT_LOCK FEAT14 [14..14] =========================================== */ 351 typedef enum { /*!< MEC_ECS_FEAT_LOCK_FEAT14 */ 352 MEC_ECS_FEAT_LOCK_FEAT14_DIS = 1, /*!< DIS : HW disabled */ 353 } MEC_ECS_FEAT_LOCK_FEAT14_Enum; 354 355 /* ========================================= MEC_ECS FEAT_LOCK BBRAM_SIZE [15..15] ========================================= */ 356 typedef enum { /*!< MEC_ECS_FEAT_LOCK_BBRAM_SIZE */ 357 MEC_ECS_FEAT_LOCK_BBRAM_SIZE_BYTES_128 = 0, /*!< BYTES_128 : BBRAM size is 128 bytes */ 358 MEC_ECS_FEAT_LOCK_BBRAM_SIZE_BYTES_64 = 1, /*!< BYTES_64 : BBRAM size is 64 bytes */ 359 } MEC_ECS_FEAT_LOCK_BBRAM_SIZE_Enum; 360 361 /* =========================================== MEC_ECS FEAT_LOCK FEAT16 [16..16] =========================================== */ 362 typedef enum { /*!< MEC_ECS_FEAT_LOCK_FEAT16 */ 363 MEC_ECS_FEAT_LOCK_FEAT16_DIS = 1, /*!< DIS : BBRAM size is 64 bytes */ 364 } MEC_ECS_FEAT_LOCK_FEAT16_Enum; 365 366 /* =========================================== MEC_ECS FEAT_LOCK FEAT17 [17..17] =========================================== */ 367 typedef enum { /*!< MEC_ECS_FEAT_LOCK_FEAT17 */ 368 MEC_ECS_FEAT_LOCK_FEAT17_DIS = 1, /*!< DIS : I3C Host controller not present */ 369 } MEC_ECS_FEAT_LOCK_FEAT17_Enum; 370 371 /* =========================================== MEC_ECS FEAT_LOCK FEAT18 [18..18] =========================================== */ 372 typedef enum { /*!< MEC_ECS_FEAT_LOCK_FEAT18 */ 373 MEC_ECS_FEAT_LOCK_FEAT18_DIS = 1, /*!< DIS : I3C Target controller not present */ 374 } MEC_ECS_FEAT_LOCK_FEAT18_Enum; 375 376 /* ========================================= MEC_ECS FEAT_LOCK TURBO_FREQ [19..19] ========================================= */ 377 typedef enum { /*!< MEC_ECS_FEAT_LOCK_TURBO_FREQ */ 378 MEC_ECS_FEAT_LOCK_TURBO_FREQ_EN = 0, /*!< EN : CPU, QSPI, and PK clock is 96MHz (default) */ 379 MEC_ECS_FEAT_LOCK_TURBO_FREQ_DIS = 1, /*!< DIS : CPU, QSPI, and PK clock is 48MHz */ 380 } MEC_ECS_FEAT_LOCK_TURBO_FREQ_Enum; 381 382 /* ======================================================= MISC_LOCK ======================================================= */ 383 /* ============================================ MEC_ECS MISC_LOCK FEAT0 [0..0] ============================================= */ 384 typedef enum { /*!< MEC_ECS_MISC_LOCK_FEAT0 */ 385 MEC_ECS_MISC_LOCK_FEAT0_DIS = 1, /*!< DIS : HW disabled */ 386 } MEC_ECS_MISC_LOCK_FEAT0_Enum; 387 388 /* ============================================ MEC_ECS MISC_LOCK FEAT1 [1..1] ============================================= */ 389 typedef enum { /*!< MEC_ECS_MISC_LOCK_FEAT1 */ 390 MEC_ECS_MISC_LOCK_FEAT1_DIS = 1, /*!< DIS : HW disabled */ 391 } MEC_ECS_MISC_LOCK_FEAT1_Enum; 392 393 /* ============================================ MEC_ECS MISC_LOCK FEAT2 [2..2] ============================================= */ 394 typedef enum { /*!< MEC_ECS_MISC_LOCK_FEAT2 */ 395 MEC_ECS_MISC_LOCK_FEAT2_DIS = 1, /*!< DIS : HW disabled */ 396 } MEC_ECS_MISC_LOCK_FEAT2_Enum; 397 398 /* ============================================ MEC_ECS MISC_LOCK FEAT3 [3..3] ============================================= */ 399 typedef enum { /*!< MEC_ECS_MISC_LOCK_FEAT3 */ 400 MEC_ECS_MISC_LOCK_FEAT3_DIS = 1, /*!< DIS : HW disabled */ 401 } MEC_ECS_MISC_LOCK_FEAT3_Enum; 402 403 /* ============================================ MEC_ECS MISC_LOCK FEAT4 [4..4] ============================================= */ 404 typedef enum { /*!< MEC_ECS_MISC_LOCK_FEAT4 */ 405 MEC_ECS_MISC_LOCK_FEAT4_DIS = 1, /*!< DIS : HW disabled */ 406 } MEC_ECS_MISC_LOCK_FEAT4_Enum; 407 408 /* ============================================ MEC_ECS MISC_LOCK FEAT5 [5..5] ============================================= */ 409 typedef enum { /*!< MEC_ECS_MISC_LOCK_FEAT5 */ 410 MEC_ECS_MISC_LOCK_FEAT5_DIS = 1, /*!< DIS : HW disabled */ 411 } MEC_ECS_MISC_LOCK_FEAT5_Enum; 412 413 /* ============================================ MEC_ECS MISC_LOCK FEAT6 [6..6] ============================================= */ 414 typedef enum { /*!< MEC_ECS_MISC_LOCK_FEAT6 */ 415 MEC_ECS_MISC_LOCK_FEAT6_DIS = 1, /*!< DIS : HW disabled */ 416 } MEC_ECS_MISC_LOCK_FEAT6_Enum; 417 418 /* ============================================ MEC_ECS MISC_LOCK FEAT7 [7..7] ============================================= */ 419 typedef enum { /*!< MEC_ECS_MISC_LOCK_FEAT7 */ 420 MEC_ECS_MISC_LOCK_FEAT7_DIS = 1, /*!< DIS : HW disabled */ 421 } MEC_ECS_MISC_LOCK_FEAT7_Enum; 422 423 /* ========================================================= JCFG ========================================================== */ 424 /* ========================================================= JSTS ========================================================== */ 425 /* ========================================================= JTDO ========================================================== */ 426 /* ========================================================= JTDI ========================================================== */ 427 /* ========================================================= JTMS ========================================================== */ 428 /* ========================================================= JCMD ========================================================== */ 429 /* ========================================================= VWSC ========================================================== */ 430 /* ========================================================= CMPC ========================================================== */ 431 /* ================================================ MEC_ECS CMPC EN0 [0..0] ================================================ */ 432 typedef enum { /*!< MEC_ECS_CMPC_EN0 */ 433 MEC_ECS_CMPC_EN0_ON = 1, /*!< ON : Enable */ 434 } MEC_ECS_CMPC_EN0_Enum; 435 436 /* ============================================== MEC_ECS CMPC LKCFG0 [2..2] =============================================== */ 437 typedef enum { /*!< MEC_ECS_CMPC_LKCFG0 */ 438 MEC_ECS_CMPC_LKCFG0_LOCKED = 1, /*!< LOCKED : Enable */ 439 } MEC_ECS_CMPC_LKCFG0_Enum; 440 441 /* ================================================ MEC_ECS CMPC EN1 [4..4] ================================================ */ 442 typedef enum { /*!< MEC_ECS_CMPC_EN1 */ 443 MEC_ECS_CMPC_EN1_ON = 1, /*!< ON : Enable */ 444 } MEC_ECS_CMPC_EN1_Enum; 445 446 /* ========================================================= CMPSC ========================================================= */ 447 /* ============================================== MEC_ECS CMPSC DSLP0 [0..0] =============================================== */ 448 typedef enum { /*!< MEC_ECS_CMPSC_DSLP0 */ 449 MEC_ECS_CMPSC_DSLP0_EN = 1, /*!< EN : Enable */ 450 } MEC_ECS_CMPSC_DSLP0_Enum; 451 452 /* ============================================== MEC_ECS CMPSC DSLP1 [1..1] =============================================== */ 453 typedef enum { /*!< MEC_ECS_CMPSC_DSLP1 */ 454 MEC_ECS_CMPSC_DSLP1_EN = 1, /*!< EN : Enable */ 455 } MEC_ECS_CMPSC_DSLP1_Enum; 456 457 /* ======================================================= EMBRST_EN ======================================================= */ 458 /* ============================================== MEC_ECS EMBRST_EN EN [0..0] ============================================== */ 459 typedef enum { /*!< MEC_ECS_EMBRST_EN_EN */ 460 MEC_ECS_EMBRST_EN_EN_ON = 1, /*!< ON : Enable */ 461 } MEC_ECS_EMBRST_EN_EN_Enum; 462 463 /* ===================================================== EMBRST_TMOUT ====================================================== */ 464 /* ============================================ MEC_ECS EMBRST_TMOUT TM1 [0..2] ============================================ */ 465 typedef enum { /*!< MEC_ECS_EMBRST_TMOUT_TM1 */ 466 MEC_ECS_EMBRST_TMOUT_TM1_SEC6 = 0, /*!< SEC6 : six seconds */ 467 MEC_ECS_EMBRST_TMOUT_TM1_SEC7 = 1, /*!< SEC7 : seven seconds */ 468 MEC_ECS_EMBRST_TMOUT_TM1_SEC8 = 2, /*!< SEC8 : eight seconds */ 469 MEC_ECS_EMBRST_TMOUT_TM1_SEC9 = 3, /*!< SEC9 : nine seconds */ 470 MEC_ECS_EMBRST_TMOUT_TM1_SEC10 = 4, /*!< SEC10 : ten seconds */ 471 MEC_ECS_EMBRST_TMOUT_TM1_SEC11 = 5, /*!< SEC11 : eleven seconds */ 472 MEC_ECS_EMBRST_TMOUT_TM1_SEC12 = 6, /*!< SEC12 : twelve seconds */ 473 MEC_ECS_EMBRST_TMOUT_TM1_SEC14 = 7, /*!< SEC14 : fourteen seconds */ 474 } MEC_ECS_EMBRST_TMOUT_TM1_Enum; 475 476 /* ====================================================== EMBRST_STS ======================================================= */ 477 /* ============================================= MEC_ECS EMBRST_STS RST [0..0] ============================================= */ 478 typedef enum { /*!< MEC_ECS_EMBRST_STS_RST */ 479 MEC_ECS_EMBRST_STS_RST_ACTIVE = 1, /*!< ACTIVE : Active */ 480 } MEC_ECS_EMBRST_STS_RST_Enum; 481 482 /* ====================================================== EMBRST_CNT ======================================================= */ 483 /* ======================================================== IPTRIM ========================================================= */ 484 /* ========================================================= SSSMR ========================================================= */ 485 /* ============================================== MEC_ECS SSSMR MOSCR [0..0] =============================================== */ 486 typedef enum { /*!< MEC_ECS_SSSMR_MOSCR */ 487 MEC_ECS_SSSMR_MOSCR_STS = 1, /*!< STS : Active */ 488 } MEC_ECS_SSSMR_MOSCR_Enum; 489 490 /* ============================================== MEC_ECS SSSMR PLLRB [1..1] =============================================== */ 491 typedef enum { /*!< MEC_ECS_SSSMR_PLLRB */ 492 MEC_ECS_SSSMR_PLLRB_STS = 1, /*!< STS : Active */ 493 } MEC_ECS_SSSMR_PLLRB_Enum; 494 495 /* ============================================= MEC_ECS SSSMR REGSTDY [2..2] ============================================== */ 496 typedef enum { /*!< MEC_ECS_SSSMR_REGSTDY */ 497 MEC_ECS_SSSMR_REGSTDY_STS = 1, /*!< STS : Active */ 498 } MEC_ECS_SSSMR_REGSTDY_Enum; 499 500 /* ============================================== MEC_ECS SSSMR CLKEND [3..3] ============================================== */ 501 typedef enum { /*!< MEC_ECS_SSSMR_CLKEND */ 502 MEC_ECS_SSSMR_CLKEND_STS = 1, /*!< STS : Active */ 503 } MEC_ECS_SSSMR_CLKEND_Enum; 504 505 /* ============================================= MEC_ECS SSSMR SLPENALL [4..4] ============================================= */ 506 typedef enum { /*!< MEC_ECS_SSSMR_SLPENALL */ 507 MEC_ECS_SSSMR_SLPENALL_STS = 1, /*!< STS : Active */ 508 } MEC_ECS_SSSMR_SLPENALL_Enum; 509 510 /* ============================================= MEC_ECS SSSMR CLKREQN [5..5] ============================================== */ 511 typedef enum { /*!< MEC_ECS_SSSMR_CLKREQN */ 512 MEC_ECS_SSSMR_CLKREQN_STS = 1, /*!< STS : Active */ 513 } MEC_ECS_SSSMR_CLKREQN_Enum; 514 515 /* ============================================= MEC_ECS SSSMR ASYNCWK [6..6] ============================================== */ 516 typedef enum { /*!< MEC_ECS_SSSMR_ASYNCWK */ 517 MEC_ECS_SSSMR_ASYNCWK_STS = 1, /*!< STS : Active */ 518 } MEC_ECS_SSSMR_ASYNCWK_Enum; 519 520 /* =========================================== MEC_ECS SSSMR ASYNCWK_DBG [7..7] ============================================ */ 521 typedef enum { /*!< MEC_ECS_SSSMR_ASYNCWK_DBG */ 522 MEC_ECS_SSSMR_ASYNCWK_DBG_STS = 1, /*!< STS : Active */ 523 } MEC_ECS_SSSMR_ASYNCWK_DBG_Enum; 524 525 /* =========================================== MEC_ECS SSSMR SYSCLK_FSM [8..11] ============================================ */ 526 typedef enum { /*!< MEC_ECS_SSSMR_SYSCLK_FSM */ 527 MEC_ECS_SSSMR_SYSCLK_FSM_SYSCLK_STATE0 = 0, /*!< SYSCLK_STATE0 : State0 */ 528 } MEC_ECS_SSSMR_SYSCLK_FSM_Enum; 529 530 /* ======================================================== BRSCR0 ========================================================= */ 531 /* ======================================================== BRSCR1 ========================================================= */ 532 /* ======================================================== BRSCR2 ========================================================= */ 533 /* ======================================================== BRSCR3 ========================================================= */ 534 /** @} */ /* End of group EnumValue_peripherals */ 535 536 #endif /* _MEC5_ECS_V2_5_H */ 537