1 /*
2  * Copyright (c) 2024 Microchip Technology Inc.
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #ifndef _MEC5_ECS_V2_4_H
7 #define _MEC5_ECS_V2_4_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 /* =======================================================  MISC_LOCK  ======================================================= */
130 #define MEC_ECS_MISC_LOCK_FEAT0_Pos       (0UL)                     /*!< FEAT0 (Bit 0)                                         */
131 #define MEC_ECS_MISC_LOCK_FEAT0_Msk       (0x1UL)                   /*!< FEAT0 (Bitfield-Mask: 0x01)                           */
132 #define MEC_ECS_MISC_LOCK_FEAT1_Pos       (1UL)                     /*!< FEAT1 (Bit 1)                                         */
133 #define MEC_ECS_MISC_LOCK_FEAT1_Msk       (0x2UL)                   /*!< FEAT1 (Bitfield-Mask: 0x01)                           */
134 #define MEC_ECS_MISC_LOCK_FEAT2_Pos       (2UL)                     /*!< FEAT2 (Bit 2)                                         */
135 #define MEC_ECS_MISC_LOCK_FEAT2_Msk       (0x4UL)                   /*!< FEAT2 (Bitfield-Mask: 0x01)                           */
136 #define MEC_ECS_MISC_LOCK_FEAT3_Pos       (3UL)                     /*!< FEAT3 (Bit 3)                                         */
137 #define MEC_ECS_MISC_LOCK_FEAT3_Msk       (0x8UL)                   /*!< FEAT3 (Bitfield-Mask: 0x01)                           */
138 #define MEC_ECS_MISC_LOCK_FEAT4_Pos       (4UL)                     /*!< FEAT4 (Bit 4)                                         */
139 #define MEC_ECS_MISC_LOCK_FEAT4_Msk       (0x10UL)                  /*!< FEAT4 (Bitfield-Mask: 0x01)                           */
140 #define MEC_ECS_MISC_LOCK_FEAT5_Pos       (5UL)                     /*!< FEAT5 (Bit 5)                                         */
141 #define MEC_ECS_MISC_LOCK_FEAT5_Msk       (0x20UL)                  /*!< FEAT5 (Bitfield-Mask: 0x01)                           */
142 #define MEC_ECS_MISC_LOCK_FEAT6_Pos       (6UL)                     /*!< FEAT6 (Bit 6)                                         */
143 #define MEC_ECS_MISC_LOCK_FEAT6_Msk       (0x40UL)                  /*!< FEAT6 (Bitfield-Mask: 0x01)                           */
144 #define MEC_ECS_MISC_LOCK_FEAT7_Pos       (7UL)                     /*!< FEAT7 (Bit 7)                                         */
145 #define MEC_ECS_MISC_LOCK_FEAT7_Msk       (0x80UL)                  /*!< FEAT7 (Bitfield-Mask: 0x01)                           */
146 /* =========================================================  JCFG  ========================================================== */
147 /* =========================================================  JSTS  ========================================================== */
148 /* =========================================================  JTDO  ========================================================== */
149 /* =========================================================  JTDI  ========================================================== */
150 /* =========================================================  JTMS  ========================================================== */
151 /* =========================================================  JCMD  ========================================================== */
152 /* =========================================================  VWSC  ========================================================== */
153 /* =========================================================  CMPC  ========================================================== */
154 #define MEC_ECS_CMPC_EN0_Pos              (0UL)                     /*!< EN0 (Bit 0)                                           */
155 #define MEC_ECS_CMPC_EN0_Msk              (0x1UL)                   /*!< EN0 (Bitfield-Mask: 0x01)                             */
156 #define MEC_ECS_CMPC_LKCFG0_Pos           (2UL)                     /*!< LKCFG0 (Bit 2)                                        */
157 #define MEC_ECS_CMPC_LKCFG0_Msk           (0x4UL)                   /*!< LKCFG0 (Bitfield-Mask: 0x01)                          */
158 #define MEC_ECS_CMPC_EN1_Pos              (4UL)                     /*!< EN1 (Bit 4)                                           */
159 #define MEC_ECS_CMPC_EN1_Msk              (0x10UL)                  /*!< EN1 (Bitfield-Mask: 0x01)                             */
160 /* =========================================================  CMPSC  ========================================================= */
161 #define MEC_ECS_CMPSC_DSLP0_Pos           (0UL)                     /*!< DSLP0 (Bit 0)                                         */
162 #define MEC_ECS_CMPSC_DSLP0_Msk           (0x1UL)                   /*!< DSLP0 (Bitfield-Mask: 0x01)                           */
163 #define MEC_ECS_CMPSC_DSLP1_Pos           (1UL)                     /*!< DSLP1 (Bit 1)                                         */
164 #define MEC_ECS_CMPSC_DSLP1_Msk           (0x2UL)                   /*!< DSLP1 (Bitfield-Mask: 0x01)                           */
165 /* =======================================================  EMBRST_EN  ======================================================= */
166 #define MEC_ECS_EMBRST_EN_EN_Pos          (0UL)                     /*!< EN (Bit 0)                                            */
167 #define MEC_ECS_EMBRST_EN_EN_Msk          (0x1UL)                   /*!< EN (Bitfield-Mask: 0x01)                              */
168 /* =====================================================  EMBRST_TMOUT  ====================================================== */
169 #define MEC_ECS_EMBRST_TMOUT_TM1_Pos      (0UL)                     /*!< TM1 (Bit 0)                                           */
170 #define MEC_ECS_EMBRST_TMOUT_TM1_Msk      (0x7UL)                   /*!< TM1 (Bitfield-Mask: 0x07)                             */
171 /* ======================================================  EMBRST_STS  ======================================================= */
172 #define MEC_ECS_EMBRST_STS_RST_Pos        (0UL)                     /*!< RST (Bit 0)                                           */
173 #define MEC_ECS_EMBRST_STS_RST_Msk        (0x1UL)                   /*!< RST (Bitfield-Mask: 0x01)                             */
174 /* ======================================================  EMBRST_CNT  ======================================================= */
175 #define MEC_ECS_EMBRST_CNT_CURR_CNT_Pos   (0UL)                     /*!< CURR_CNT (Bit 0)                                      */
176 #define MEC_ECS_EMBRST_CNT_CURR_CNT_Msk   (0x7ffffUL)               /*!< CURR_CNT (Bitfield-Mask: 0x7ffff)                     */
177 /* ========================================================  IPTRIM  ========================================================= */
178 /* =========================================================  SSSMR  ========================================================= */
179 #define MEC_ECS_SSSMR_MOSCR_Pos           (0UL)                     /*!< MOSCR (Bit 0)                                         */
180 #define MEC_ECS_SSSMR_MOSCR_Msk           (0x1UL)                   /*!< MOSCR (Bitfield-Mask: 0x01)                           */
181 #define MEC_ECS_SSSMR_PLLRB_Pos           (1UL)                     /*!< PLLRB (Bit 1)                                         */
182 #define MEC_ECS_SSSMR_PLLRB_Msk           (0x2UL)                   /*!< PLLRB (Bitfield-Mask: 0x01)                           */
183 #define MEC_ECS_SSSMR_REGSTDY_Pos         (2UL)                     /*!< REGSTDY (Bit 2)                                       */
184 #define MEC_ECS_SSSMR_REGSTDY_Msk         (0x4UL)                   /*!< REGSTDY (Bitfield-Mask: 0x01)                         */
185 #define MEC_ECS_SSSMR_CLKEND_Pos          (3UL)                     /*!< CLKEND (Bit 3)                                        */
186 #define MEC_ECS_SSSMR_CLKEND_Msk          (0x8UL)                   /*!< CLKEND (Bitfield-Mask: 0x01)                          */
187 #define MEC_ECS_SSSMR_SLPENALL_Pos        (4UL)                     /*!< SLPENALL (Bit 4)                                      */
188 #define MEC_ECS_SSSMR_SLPENALL_Msk        (0x10UL)                  /*!< SLPENALL (Bitfield-Mask: 0x01)                        */
189 #define MEC_ECS_SSSMR_CLKREQN_Pos         (5UL)                     /*!< CLKREQN (Bit 5)                                       */
190 #define MEC_ECS_SSSMR_CLKREQN_Msk         (0x20UL)                  /*!< CLKREQN (Bitfield-Mask: 0x01)                         */
191 #define MEC_ECS_SSSMR_ASYNCWK_Pos         (6UL)                     /*!< ASYNCWK (Bit 6)                                       */
192 #define MEC_ECS_SSSMR_ASYNCWK_Msk         (0x40UL)                  /*!< ASYNCWK (Bitfield-Mask: 0x01)                         */
193 #define MEC_ECS_SSSMR_ASYNCWK_DBG_Pos     (7UL)                     /*!< ASYNCWK_DBG (Bit 7)                                   */
194 #define MEC_ECS_SSSMR_ASYNCWK_DBG_Msk     (0x80UL)                  /*!< ASYNCWK_DBG (Bitfield-Mask: 0x01)                     */
195 #define MEC_ECS_SSSMR_SYSCLK_FSM_Pos      (8UL)                     /*!< SYSCLK_FSM (Bit 8)                                    */
196 #define MEC_ECS_SSSMR_SYSCLK_FSM_Msk      (0xf00UL)                 /*!< SYSCLK_FSM (Bitfield-Mask: 0x0f)                      */
197 /* ========================================================  BRSCR0  ========================================================= */
198 /* ========================================================  BRSCR1  ========================================================= */
199 /* ========================================================  BRSCR2  ========================================================= */
200 /* ========================================================  BRSCR3  ========================================================= */
201 /** @} */ /* End of group PosMask_peripherals */
202 
203 /** @addtogroup EnumValue_peripherals
204   * @{
205   */
206 /* =========================================================  AERRA  ========================================================= */
207 /* =========================================================  OSCID  ========================================================= */
208 /* =========================================================  AERRC  ========================================================= */
209 /* ===============================================  MEC_ECS AERRC CAP [0..0]  ================================================ */
210 typedef enum {                                  /*!< MEC_ECS_AERRC_CAP                                                         */
211   MEC_ECS_AERRC_CAP_DIS                = 1,     /*!< DIS : Disable                                                             */
212 } MEC_ECS_AERRC_CAP_Enum;
213 
214 /* =======================================================  INTR_CTRL  ======================================================= */
215 /* ============================================  MEC_ECS INTR_CTRL DIRECT [0..0]  ============================================ */
216 typedef enum {                                  /*!< MEC_ECS_INTR_CTRL_DIRECT                                                  */
217   MEC_ECS_INTR_CTRL_DIRECT_EN          = 1,     /*!< EN : Enable                                                               */
218 } MEC_ECS_INTR_CTRL_DIRECT_Enum;
219 
220 /* =======================================================  ETM_CTRL  ======================================================== */
221 /* ===========================================  MEC_ECS ETM_CTRL TRACE_EN [0..0]  ============================================ */
222 typedef enum {                                  /*!< MEC_ECS_ETM_CTRL_TRACE_EN                                                 */
223   MEC_ECS_ETM_CTRL_TRACE_EN_EN         = 1,     /*!< EN : Enable                                                               */
224 } MEC_ECS_ETM_CTRL_TRACE_EN_Enum;
225 
226 /* =======================================================  DBG_CTRL  ======================================================== */
227 /* ==============================================  MEC_ECS DBG_CTRL EN [0..0]  =============================================== */
228 typedef enum {                                  /*!< MEC_ECS_DBG_CTRL_EN                                                       */
229   MEC_ECS_DBG_CTRL_EN_ON               = 1,     /*!< ON : Enable                                                               */
230 } MEC_ECS_DBG_CTRL_EN_Enum;
231 
232 /* ==============================================  MEC_ECS DBG_CTRL CFG [1..2]  ============================================== */
233 typedef enum {                                  /*!< MEC_ECS_DBG_CTRL_CFG                                                      */
234   MEC_ECS_DBG_CTRL_CFG_JTAG            = 0,     /*!< JTAG : Use 4-pin JTAG mode                                                */
235   MEC_ECS_DBG_CTRL_CFG_SWD_SWV         = 1,     /*!< SWD_SWV : Use 2-pin SWD plus 1-pin SWV                                    */
236   MEC_ECS_DBG_CTRL_CFG_SWD_ONLY        = 2,     /*!< SWD_ONLY : Use 2-pin SWD only. No SWV pin                                 */
237   MEC_ECS_DBG_CTRL_CFG_RSVD            = 3,     /*!< RSVD : Config reserved value                                              */
238 } MEC_ECS_DBG_CTRL_CFG_Enum;
239 
240 /* ===========================================  MEC_ECS DBG_CTRL PULL_UPS [3..3]  ============================================ */
241 typedef enum {                                  /*!< MEC_ECS_DBG_CTRL_PULL_UPS                                                 */
242   MEC_ECS_DBG_CTRL_PULL_UPS_EN         = 1,     /*!< EN : Enable                                                               */
243 } MEC_ECS_DBG_CTRL_PULL_UPS_Enum;
244 
245 /* ==========================================  MEC_ECS DBG_CTRL BNDRY_SCAN [4..4]  =========================================== */
246 typedef enum {                                  /*!< MEC_ECS_DBG_CTRL_BNDRY_SCAN                                               */
247   MEC_ECS_DBG_CTRL_BNDRY_SCAN_EN       = 1,     /*!< EN : Enable                                                               */
248 } MEC_ECS_DBG_CTRL_BNDRY_SCAN_Enum;
249 
250 /* =============================================  MEC_ECS DBG_CTRL LOCK [5..5]  ============================================== */
251 typedef enum {                                  /*!< MEC_ECS_DBG_CTRL_LOCK                                                     */
252   MEC_ECS_DBG_CTRL_LOCK_EN             = 1,     /*!< EN : Enable                                                               */
253 } MEC_ECS_DBG_CTRL_LOCK_Enum;
254 
255 /* =========================================================  SECLK  ========================================================= */
256 /* ========================================================  WDTEVC  ========================================================= */
257 /* =======================================================  PECI_CTRL  ======================================================= */
258 /* =============================================  MEC_ECS PECI_CTRL PINS [0..0]  ============================================= */
259 typedef enum {                                  /*!< MEC_ECS_PECI_CTRL_PINS                                                    */
260   MEC_ECS_PECI_CTRL_PINS_DIS           = 1,     /*!< DIS : Disable                                                             */
261 } MEC_ECS_PECI_CTRL_PINS_Enum;
262 
263 /* ========================================================  VCIFWO  ========================================================= */
264 /* ==========================================  MEC_ECS VCIFWO SYS_SHDN_nFW [0..0]  =========================================== */
265 typedef enum {                                  /*!< MEC_ECS_VCIFWO_SYS_SHDN_nFW                                               */
266   MEC_ECS_VCIFWO_SYS_SHDN_nFW_DEASSERT = 1,     /*!< DEASSERT : Deassert SYS_SHDN# pin                                         */
267 } MEC_ECS_VCIFWO_SYS_SHDN_nFW_Enum;
268 
269 /* =========================================================  BRSTS  ========================================================= */
270 /* =========================================================  CRCFG  ========================================================= */
271 /* =========================================================  CRRST  ========================================================= */
272 /* =============================================  MEC_ECS CRRST PK_SRST [1..1]  ============================================== */
273 typedef enum {                                  /*!< MEC_ECS_CRRST_PK_SRST                                                     */
274   MEC_ECS_CRRST_PK_SRST_EN             = 1,     /*!< EN : Assert reset signal to PK block                                      */
275 } MEC_ECS_CRRST_PK_SRST_Enum;
276 
277 /* =======================================================  FEAT_LOCK  ======================================================= */
278 /* ============================================  MEC_ECS FEAT_LOCK FEAT0 [0..0]  ============================================= */
279 typedef enum {                                  /*!< MEC_ECS_FEAT_LOCK_FEAT0                                                   */
280   MEC_ECS_FEAT_LOCK_FEAT0_DIS          = 1,     /*!< DIS : HW disabled                                                         */
281 } MEC_ECS_FEAT_LOCK_FEAT0_Enum;
282 
283 /* =============================================  MEC_ECS FEAT_LOCK ESPI [1..1]  ============================================= */
284 typedef enum {                                  /*!< MEC_ECS_FEAT_LOCK_ESPI                                                    */
285   MEC_ECS_FEAT_LOCK_ESPI_DIS           = 1,     /*!< DIS : HW disabled                                                         */
286 } MEC_ECS_FEAT_LOCK_ESPI_Enum;
287 
288 /* =============================================  MEC_ECS FEAT_LOCK PUF [2..2]  ============================================== */
289 typedef enum {                                  /*!< MEC_ECS_FEAT_LOCK_PUF                                                     */
290   MEC_ECS_FEAT_LOCK_PUF_DIS            = 1,     /*!< DIS : HW disabled                                                         */
291 } MEC_ECS_FEAT_LOCK_PUF_Enum;
292 
293 /* =============================================  MEC_ECS FEAT_LOCK XTAL [3..3]  ============================================= */
294 typedef enum {                                  /*!< MEC_ECS_FEAT_LOCK_XTAL                                                    */
295   MEC_ECS_FEAT_LOCK_XTAL_DIS           = 1,     /*!< DIS : HW disabled                                                         */
296 } MEC_ECS_FEAT_LOCK_XTAL_Enum;
297 
298 /* ============================================  MEC_ECS FEAT_LOCK PWRGRD [6..6]  ============================================ */
299 typedef enum {                                  /*!< MEC_ECS_FEAT_LOCK_PWRGRD                                                  */
300   MEC_ECS_FEAT_LOCK_PWRGRD_DIS         = 1,     /*!< DIS : HW disabled                                                         */
301 } MEC_ECS_FEAT_LOCK_PWRGRD_Enum;
302 
303 /* ===========================================  MEC_ECS FEAT_LOCK KEYSCAN [7..7]  ============================================ */
304 typedef enum {                                  /*!< MEC_ECS_FEAT_LOCK_KEYSCAN                                                 */
305   MEC_ECS_FEAT_LOCK_KEYSCAN_DIS        = 1,     /*!< DIS : HW disabled                                                         */
306 } MEC_ECS_FEAT_LOCK_KEYSCAN_Enum;
307 
308 /* ============================================  MEC_ECS FEAT_LOCK FEAT8 [8..8]  ============================================= */
309 typedef enum {                                  /*!< MEC_ECS_FEAT_LOCK_FEAT8                                                   */
310   MEC_ECS_FEAT_LOCK_FEAT8_DIS          = 1,     /*!< DIS : HW disabled                                                         */
311 } MEC_ECS_FEAT_LOCK_FEAT8_Enum;
312 
313 /* ===========================================  MEC_ECS FEAT_LOCK ARM_FPU [9..9]  ============================================ */
314 typedef enum {                                  /*!< MEC_ECS_FEAT_LOCK_ARM_FPU                                                 */
315   MEC_ECS_FEAT_LOCK_ARM_FPU_DIS        = 1,     /*!< DIS : HW disabled                                                         */
316 } MEC_ECS_FEAT_LOCK_ARM_FPU_Enum;
317 
318 /* ===========================================  MEC_ECS FEAT_LOCK FEAT10 [10..10]  =========================================== */
319 typedef enum {                                  /*!< MEC_ECS_FEAT_LOCK_FEAT10                                                  */
320   MEC_ECS_FEAT_LOCK_FEAT10_DIS         = 1,     /*!< DIS : HW disabled                                                         */
321 } MEC_ECS_FEAT_LOCK_FEAT10_Enum;
322 
323 /* ===========================================  MEC_ECS FEAT_LOCK FEAT11 [11..11]  =========================================== */
324 typedef enum {                                  /*!< MEC_ECS_FEAT_LOCK_FEAT11                                                  */
325   MEC_ECS_FEAT_LOCK_FEAT11_DIS         = 1,     /*!< DIS : HW disabled                                                         */
326 } MEC_ECS_FEAT_LOCK_FEAT11_Enum;
327 
328 /* ===========================================  MEC_ECS FEAT_LOCK FEAT12 [12..12]  =========================================== */
329 typedef enum {                                  /*!< MEC_ECS_FEAT_LOCK_FEAT12                                                  */
330   MEC_ECS_FEAT_LOCK_FEAT12_DIS         = 1,     /*!< DIS : HW disabled                                                         */
331 } MEC_ECS_FEAT_LOCK_FEAT12_Enum;
332 
333 /* ===========================================  MEC_ECS FEAT_LOCK FEAT13 [13..13]  =========================================== */
334 typedef enum {                                  /*!< MEC_ECS_FEAT_LOCK_FEAT13                                                  */
335   MEC_ECS_FEAT_LOCK_FEAT13_DIS         = 1,     /*!< DIS : HW disabled                                                         */
336 } MEC_ECS_FEAT_LOCK_FEAT13_Enum;
337 
338 /* =======================================================  MISC_LOCK  ======================================================= */
339 /* ============================================  MEC_ECS MISC_LOCK FEAT0 [0..0]  ============================================= */
340 typedef enum {                                  /*!< MEC_ECS_MISC_LOCK_FEAT0                                                   */
341   MEC_ECS_MISC_LOCK_FEAT0_DIS          = 1,     /*!< DIS : HW disabled                                                         */
342 } MEC_ECS_MISC_LOCK_FEAT0_Enum;
343 
344 /* ============================================  MEC_ECS MISC_LOCK FEAT1 [1..1]  ============================================= */
345 typedef enum {                                  /*!< MEC_ECS_MISC_LOCK_FEAT1                                                   */
346   MEC_ECS_MISC_LOCK_FEAT1_DIS          = 1,     /*!< DIS : HW disabled                                                         */
347 } MEC_ECS_MISC_LOCK_FEAT1_Enum;
348 
349 /* ============================================  MEC_ECS MISC_LOCK FEAT2 [2..2]  ============================================= */
350 typedef enum {                                  /*!< MEC_ECS_MISC_LOCK_FEAT2                                                   */
351   MEC_ECS_MISC_LOCK_FEAT2_DIS          = 1,     /*!< DIS : HW disabled                                                         */
352 } MEC_ECS_MISC_LOCK_FEAT2_Enum;
353 
354 /* ============================================  MEC_ECS MISC_LOCK FEAT3 [3..3]  ============================================= */
355 typedef enum {                                  /*!< MEC_ECS_MISC_LOCK_FEAT3                                                   */
356   MEC_ECS_MISC_LOCK_FEAT3_DIS          = 1,     /*!< DIS : HW disabled                                                         */
357 } MEC_ECS_MISC_LOCK_FEAT3_Enum;
358 
359 /* ============================================  MEC_ECS MISC_LOCK FEAT4 [4..4]  ============================================= */
360 typedef enum {                                  /*!< MEC_ECS_MISC_LOCK_FEAT4                                                   */
361   MEC_ECS_MISC_LOCK_FEAT4_DIS          = 1,     /*!< DIS : HW disabled                                                         */
362 } MEC_ECS_MISC_LOCK_FEAT4_Enum;
363 
364 /* ============================================  MEC_ECS MISC_LOCK FEAT5 [5..5]  ============================================= */
365 typedef enum {                                  /*!< MEC_ECS_MISC_LOCK_FEAT5                                                   */
366   MEC_ECS_MISC_LOCK_FEAT5_DIS          = 1,     /*!< DIS : HW disabled                                                         */
367 } MEC_ECS_MISC_LOCK_FEAT5_Enum;
368 
369 /* ============================================  MEC_ECS MISC_LOCK FEAT6 [6..6]  ============================================= */
370 typedef enum {                                  /*!< MEC_ECS_MISC_LOCK_FEAT6                                                   */
371   MEC_ECS_MISC_LOCK_FEAT6_DIS          = 1,     /*!< DIS : HW disabled                                                         */
372 } MEC_ECS_MISC_LOCK_FEAT6_Enum;
373 
374 /* ============================================  MEC_ECS MISC_LOCK FEAT7 [7..7]  ============================================= */
375 typedef enum {                                  /*!< MEC_ECS_MISC_LOCK_FEAT7                                                   */
376   MEC_ECS_MISC_LOCK_FEAT7_DIS          = 1,     /*!< DIS : HW disabled                                                         */
377 } MEC_ECS_MISC_LOCK_FEAT7_Enum;
378 
379 /* =========================================================  JCFG  ========================================================== */
380 /* =========================================================  JSTS  ========================================================== */
381 /* =========================================================  JTDO  ========================================================== */
382 /* =========================================================  JTDI  ========================================================== */
383 /* =========================================================  JTMS  ========================================================== */
384 /* =========================================================  JCMD  ========================================================== */
385 /* =========================================================  VWSC  ========================================================== */
386 /* =========================================================  CMPC  ========================================================== */
387 /* ================================================  MEC_ECS CMPC EN0 [0..0]  ================================================ */
388 typedef enum {                                  /*!< MEC_ECS_CMPC_EN0                                                          */
389   MEC_ECS_CMPC_EN0_ON                  = 1,     /*!< ON : Enable                                                               */
390 } MEC_ECS_CMPC_EN0_Enum;
391 
392 /* ==============================================  MEC_ECS CMPC LKCFG0 [2..2]  =============================================== */
393 typedef enum {                                  /*!< MEC_ECS_CMPC_LKCFG0                                                       */
394   MEC_ECS_CMPC_LKCFG0_LOCKED           = 1,     /*!< LOCKED : Enable                                                           */
395 } MEC_ECS_CMPC_LKCFG0_Enum;
396 
397 /* ================================================  MEC_ECS CMPC EN1 [4..4]  ================================================ */
398 typedef enum {                                  /*!< MEC_ECS_CMPC_EN1                                                          */
399   MEC_ECS_CMPC_EN1_ON                  = 1,     /*!< ON : Enable                                                               */
400 } MEC_ECS_CMPC_EN1_Enum;
401 
402 /* =========================================================  CMPSC  ========================================================= */
403 /* ==============================================  MEC_ECS CMPSC DSLP0 [0..0]  =============================================== */
404 typedef enum {                                  /*!< MEC_ECS_CMPSC_DSLP0                                                       */
405   MEC_ECS_CMPSC_DSLP0_EN               = 1,     /*!< EN : Enable                                                               */
406 } MEC_ECS_CMPSC_DSLP0_Enum;
407 
408 /* ==============================================  MEC_ECS CMPSC DSLP1 [1..1]  =============================================== */
409 typedef enum {                                  /*!< MEC_ECS_CMPSC_DSLP1                                                       */
410   MEC_ECS_CMPSC_DSLP1_EN               = 1,     /*!< EN : Enable                                                               */
411 } MEC_ECS_CMPSC_DSLP1_Enum;
412 
413 /* =======================================================  EMBRST_EN  ======================================================= */
414 /* ==============================================  MEC_ECS EMBRST_EN EN [0..0]  ============================================== */
415 typedef enum {                                  /*!< MEC_ECS_EMBRST_EN_EN                                                      */
416   MEC_ECS_EMBRST_EN_EN_ON              = 1,     /*!< ON : Enable                                                               */
417 } MEC_ECS_EMBRST_EN_EN_Enum;
418 
419 /* =====================================================  EMBRST_TMOUT  ====================================================== */
420 /* ============================================  MEC_ECS EMBRST_TMOUT TM1 [0..2]  ============================================ */
421 typedef enum {                                  /*!< MEC_ECS_EMBRST_TMOUT_TM1                                                  */
422   MEC_ECS_EMBRST_TMOUT_TM1_SEC6        = 0,     /*!< SEC6 : six seconds                                                        */
423   MEC_ECS_EMBRST_TMOUT_TM1_SEC7        = 1,     /*!< SEC7 : seven seconds                                                      */
424   MEC_ECS_EMBRST_TMOUT_TM1_SEC8        = 2,     /*!< SEC8 : eight seconds                                                      */
425   MEC_ECS_EMBRST_TMOUT_TM1_SEC9        = 3,     /*!< SEC9 : nine seconds                                                       */
426   MEC_ECS_EMBRST_TMOUT_TM1_SEC10       = 4,     /*!< SEC10 : ten seconds                                                       */
427   MEC_ECS_EMBRST_TMOUT_TM1_SEC11       = 5,     /*!< SEC11 : eleven seconds                                                    */
428   MEC_ECS_EMBRST_TMOUT_TM1_SEC12       = 6,     /*!< SEC12 : twelve seconds                                                    */
429   MEC_ECS_EMBRST_TMOUT_TM1_SEC14       = 7,     /*!< SEC14 : fourteen seconds                                                  */
430 } MEC_ECS_EMBRST_TMOUT_TM1_Enum;
431 
432 /* ======================================================  EMBRST_STS  ======================================================= */
433 /* =============================================  MEC_ECS EMBRST_STS RST [0..0]  ============================================= */
434 typedef enum {                                  /*!< MEC_ECS_EMBRST_STS_RST                                                    */
435   MEC_ECS_EMBRST_STS_RST_ACTIVE        = 1,     /*!< ACTIVE : Active                                                           */
436 } MEC_ECS_EMBRST_STS_RST_Enum;
437 
438 /* ======================================================  EMBRST_CNT  ======================================================= */
439 /* ========================================================  IPTRIM  ========================================================= */
440 /* =========================================================  SSSMR  ========================================================= */
441 /* ==============================================  MEC_ECS SSSMR MOSCR [0..0]  =============================================== */
442 typedef enum {                                  /*!< MEC_ECS_SSSMR_MOSCR                                                       */
443   MEC_ECS_SSSMR_MOSCR_STS              = 1,     /*!< STS : Active                                                              */
444 } MEC_ECS_SSSMR_MOSCR_Enum;
445 
446 /* ==============================================  MEC_ECS SSSMR PLLRB [1..1]  =============================================== */
447 typedef enum {                                  /*!< MEC_ECS_SSSMR_PLLRB                                                       */
448   MEC_ECS_SSSMR_PLLRB_STS              = 1,     /*!< STS : Active                                                              */
449 } MEC_ECS_SSSMR_PLLRB_Enum;
450 
451 /* =============================================  MEC_ECS SSSMR REGSTDY [2..2]  ============================================== */
452 typedef enum {                                  /*!< MEC_ECS_SSSMR_REGSTDY                                                     */
453   MEC_ECS_SSSMR_REGSTDY_STS            = 1,     /*!< STS : Active                                                              */
454 } MEC_ECS_SSSMR_REGSTDY_Enum;
455 
456 /* ==============================================  MEC_ECS SSSMR CLKEND [3..3]  ============================================== */
457 typedef enum {                                  /*!< MEC_ECS_SSSMR_CLKEND                                                      */
458   MEC_ECS_SSSMR_CLKEND_STS             = 1,     /*!< STS : Active                                                              */
459 } MEC_ECS_SSSMR_CLKEND_Enum;
460 
461 /* =============================================  MEC_ECS SSSMR SLPENALL [4..4]  ============================================= */
462 typedef enum {                                  /*!< MEC_ECS_SSSMR_SLPENALL                                                    */
463   MEC_ECS_SSSMR_SLPENALL_STS           = 1,     /*!< STS : Active                                                              */
464 } MEC_ECS_SSSMR_SLPENALL_Enum;
465 
466 /* =============================================  MEC_ECS SSSMR CLKREQN [5..5]  ============================================== */
467 typedef enum {                                  /*!< MEC_ECS_SSSMR_CLKREQN                                                     */
468   MEC_ECS_SSSMR_CLKREQN_STS            = 1,     /*!< STS : Active                                                              */
469 } MEC_ECS_SSSMR_CLKREQN_Enum;
470 
471 /* =============================================  MEC_ECS SSSMR ASYNCWK [6..6]  ============================================== */
472 typedef enum {                                  /*!< MEC_ECS_SSSMR_ASYNCWK                                                     */
473   MEC_ECS_SSSMR_ASYNCWK_STS            = 1,     /*!< STS : Active                                                              */
474 } MEC_ECS_SSSMR_ASYNCWK_Enum;
475 
476 /* ===========================================  MEC_ECS SSSMR ASYNCWK_DBG [7..7]  ============================================ */
477 typedef enum {                                  /*!< MEC_ECS_SSSMR_ASYNCWK_DBG                                                 */
478   MEC_ECS_SSSMR_ASYNCWK_DBG_STS        = 1,     /*!< STS : Active                                                              */
479 } MEC_ECS_SSSMR_ASYNCWK_DBG_Enum;
480 
481 /* ===========================================  MEC_ECS SSSMR SYSCLK_FSM [8..11]  ============================================ */
482 typedef enum {                                  /*!< MEC_ECS_SSSMR_SYSCLK_FSM                                                  */
483   MEC_ECS_SSSMR_SYSCLK_FSM_SYSCLK_STATE0 = 0,   /*!< SYSCLK_STATE0 : State0                                                    */
484 } MEC_ECS_SSSMR_SYSCLK_FSM_Enum;
485 
486 /** @} */ /* End of group EnumValue_peripherals */
487 
488 #endif /* _MEC5_ECS_V2_4_H */
489