1 /*
2  * Copyright (c) 2024 Microchip Technology Inc.
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #ifndef _MEC5_PCR_V2_H
7 #define _MEC5_PCR_V2_H
8 
9 /** @addtogroup Device_Peripheral_peripherals
10   * @{
11   */
12 
13 /**
14   * @brief Power, Clocks and Reset (PCR) (MEC_PCR)
15   */
16 
17 typedef struct mec_pcr_regs {                   /*!< (@ 0x40080100) MEC_PCR Structure                                          */
18   __IOM uint32_t  SSC;                          /*!< (@ 0x00000000) PCR system sleep control                                   */
19   __IOM uint32_t  PCC;                          /*!< (@ 0x00000004) PCR processor clock control(divider)                       */
20   __IOM uint32_t  SCC;                          /*!< (@ 0x00000008) PCR slow clock control(divider)                            */
21   __IOM uint32_t  OID;                          /*!< (@ 0x0000000C) PCR Oscillator ID and PLL lock indicator                   */
22   __IOM uint32_t  PRS;                          /*!< (@ 0x00000010) PCR Power Reset Status                                     */
23   __IOM uint32_t  PRC;                          /*!< (@ 0x00000014) PCR Power Reset Control                                    */
24   __OM  uint32_t  SRST;                         /*!< (@ 0x00000018) PCR System Reset                                           */
25   __IOM uint32_t  TURBO_CLK;                    /*!< (@ 0x0000001C) PCR Turbo clock control                                    */
26   __IM  uint32_t  RESERVED[4];
27   __IOM uint32_t  SLP_EN[5];                    /*!< (@ 0x00000030) The Sleep Enable Register contains bit map for
28                                                                     sleeping peripherals when inactive.                        */
29   __IM  uint32_t  RESERVED1[3];
30   __IOM uint32_t  CLK_REQ[5];                   /*!< (@ 0x00000050) The Clock Required Register contains bit map
31                                                                     of peripherals requiring clocks(active).                   */
32   __IM  uint32_t  RESERVED2[3];
33   __IOM uint32_t  RST_EN[5];                    /*!< (@ 0x00000070) The Reset Register contains bit map of peripherals
34                                                                     to reset when unlocked.                                    */
35   __IOM uint32_t  RENLK;                        /*!< (@ 0x00000084) PCR Reset Enable Lock register                             */
36   __IOM uint32_t  VBSRST;                       /*!< (@ 0x00000088) PCR VBAT Soft Reset register                               */
37   __IOM uint32_t  SS32K;                        /*!< (@ 0x0000008C) PCR 32KHz source select register                           */
38   __IM  uint32_t  RESERVED3[12];
39   __IM  uint32_t  CNT32K;                       /*!< (@ 0x000000C0) PCR 32KHz period counter register                          */
40   __IM  uint32_t  CNT32KPH;                     /*!< (@ 0x000000C4) PCR 32KHz pulse high counter register                      */
41   __IOM uint32_t  PERMINC;                      /*!< (@ 0x000000C8) PCR 32KHz period minimum count register                    */
42   __IOM uint32_t  PERMAXC;                      /*!< (@ 0x000000CC) PCR 32KHz period maximum count register                    */
43   __IM  uint32_t  DCVC;                         /*!< (@ 0x000000D0) PCR 32KHz duty cycle variation count register              */
44   __IOM uint32_t  DCVMX;                        /*!< (@ 0x000000D4) PCR 32KHz duty cycle variation maximum register            */
45   __IM  uint32_t  VCNT32K;                      /*!< (@ 0x000000D8) PCR 32KHz valid count register                             */
46   __IOM uint32_t  VCMIN;                        /*!< (@ 0x000000DC) PCR 32KHz valid count mininum register                     */
47   __IOM uint32_t  CTRL32K;                      /*!< (@ 0x000000E0) PCR 32KHz control register                                 */
48   __IOM uint32_t  SIS32K;                       /*!< (@ 0x000000E4) PCR 32KHz source interrupt status register                 */
49   __IOM uint32_t  SIEN32K;                      /*!< (@ 0x000000E8) PCR 32KHz source interrupt enable register                 */
50 } MEC_PCR_Type;                                 /*!< Size = 236 (0xec)                                                         */
51 
52 /** @} */ /* End of group Device_Peripheral_peripherals */
53 
54 /** @addtogroup PosMask_peripherals
55   * @{
56   */
57 /* ==========================================================  SSC  ========================================================== */
58 #define MEC_PCR_SSC_DEEPSLP_Pos           (0UL)                     /*!< DEEPSLP (Bit 0)                                       */
59 #define MEC_PCR_SSC_DEEPSLP_Msk           (0x1UL)                   /*!< DEEPSLP (Bitfield-Mask: 0x01)                         */
60 #define MEC_PCR_SSC_SLPALL_Pos            (3UL)                     /*!< SLPALL (Bit 3)                                        */
61 #define MEC_PCR_SSC_SLPALL_Msk            (0x8UL)                   /*!< SLPALL (Bitfield-Mask: 0x01)                          */
62 #define MEC_PCR_SSC_SLPIMM_Pos            (8UL)                     /*!< SLPIMM (Bit 8)                                        */
63 #define MEC_PCR_SSC_SLPIMM_Msk            (0x100UL)                 /*!< SLPIMM (Bitfield-Mask: 0x01)                          */
64 /* ==========================================================  PCC  ========================================================== */
65 /* ==========================================================  SCC  ========================================================== */
66 #define MEC_PCR_SCC_SLOW_CLK_DIV_Pos      (0UL)                     /*!< SLOW_CLK_DIV (Bit 0)                                  */
67 #define MEC_PCR_SCC_SLOW_CLK_DIV_Msk      (0x3ffUL)                 /*!< SLOW_CLK_DIV (Bitfield-Mask: 0x3ff)                   */
68 /* ==========================================================  OID  ========================================================== */
69 #define MEC_PCR_OID_PLL_LOCK_Pos          (8UL)                     /*!< PLL_LOCK (Bit 8)                                      */
70 #define MEC_PCR_OID_PLL_LOCK_Msk          (0x100UL)                 /*!< PLL_LOCK (Bitfield-Mask: 0x01)                        */
71 /* ==========================================================  PRS  ========================================================== */
72 #define MEC_PCR_PRS_VCC_PWRGD_Pos         (2UL)                     /*!< VCC_PWRGD (Bit 2)                                     */
73 #define MEC_PCR_PRS_VCC_PWRGD_Msk         (0x4UL)                   /*!< VCC_PWRGD (Bitfield-Mask: 0x01)                       */
74 #define MEC_PCR_PRS_RESET_VCC_Pos         (3UL)                     /*!< RESET_VCC (Bit 3)                                     */
75 #define MEC_PCR_PRS_RESET_VCC_Msk         (0x8UL)                   /*!< RESET_VCC (Bitfield-Mask: 0x01)                       */
76 #define MEC_PCR_PRS_RESET_VTR_Pos         (4UL)                     /*!< RESET_VTR (Bit 4)                                     */
77 #define MEC_PCR_PRS_RESET_VTR_Msk         (0x10UL)                  /*!< RESET_VTR (Bitfield-Mask: 0x01)                       */
78 #define MEC_PCR_PRS_RESET_VBAT_Pos        (5UL)                     /*!< RESET_VBAT (Bit 5)                                    */
79 #define MEC_PCR_PRS_RESET_VBAT_Msk        (0x20UL)                  /*!< RESET_VBAT (Bitfield-Mask: 0x01)                      */
80 #define MEC_PCR_PRS_RESET_SYS_Pos         (6UL)                     /*!< RESET_SYS (Bit 6)                                     */
81 #define MEC_PCR_PRS_RESET_SYS_Msk         (0x40UL)                  /*!< RESET_SYS (Bitfield-Mask: 0x01)                       */
82 #define MEC_PCR_PRS_JTAG_TRST_Pos         (7UL)                     /*!< JTAG_TRST (Bit 7)                                     */
83 #define MEC_PCR_PRS_JTAG_TRST_Msk         (0x80UL)                  /*!< JTAG_TRST (Bitfield-Mask: 0x01)                       */
84 #define MEC_PCR_PRS_WDTEV_Pos             (8UL)                     /*!< WDTEV (Bit 8)                                         */
85 #define MEC_PCR_PRS_WDTEV_Msk             (0x100UL)                 /*!< WDTEV (Bitfield-Mask: 0x01)                           */
86 #define MEC_PCR_PRS_ACT32K_Pos            (10UL)                    /*!< ACT32K (Bit 10)                                       */
87 #define MEC_PCR_PRS_ACT32K_Msk            (0x400UL)                 /*!< ACT32K (Bitfield-Mask: 0x01)                          */
88 #define MEC_PCR_PRS_ESPI_CLK_ACT_Pos      (11UL)                    /*!< ESPI_CLK_ACT (Bit 11)                                 */
89 #define MEC_PCR_PRS_ESPI_CLK_ACT_Msk      (0x800UL)                 /*!< ESPI_CLK_ACT (Bitfield-Mask: 0x01)                    */
90 /* ==========================================================  PRC  ========================================================== */
91 #define MEC_PCR_PRC_PWR_INV_Pos           (0UL)                     /*!< PWR_INV (Bit 0)                                       */
92 #define MEC_PCR_PRC_PWR_INV_Msk           (0x1UL)                   /*!< PWR_INV (Bitfield-Mask: 0x01)                         */
93 #define MEC_PCR_PRC_HOST_RSEL_Pos         (8UL)                     /*!< HOST_RSEL (Bit 8)                                     */
94 #define MEC_PCR_PRC_HOST_RSEL_Msk         (0x100UL)                 /*!< HOST_RSEL (Bitfield-Mask: 0x01)                       */
95 /* =========================================================  SRST  ========================================================== */
96 #define MEC_PCR_SRST_SYS_RST_Pos          (8UL)                     /*!< SYS_RST (Bit 8)                                       */
97 #define MEC_PCR_SRST_SYS_RST_Msk          (0x100UL)                 /*!< SYS_RST (Bitfield-Mask: 0x01)                         */
98 /* =======================================================  TURBO_CLK  ======================================================= */
99 #define MEC_PCR_TURBO_CLK_FAST_CLK_Pos    (2UL)                     /*!< FAST_CLK (Bit 2)                                      */
100 #define MEC_PCR_TURBO_CLK_FAST_CLK_Msk    (0x4UL)                   /*!< FAST_CLK (Bitfield-Mask: 0x01)                        */
101 /* ========================================================  SLP_EN  ========================================================= */
102 /* ========================================================  CLK_REQ  ======================================================== */
103 /* ========================================================  RST_EN  ========================================================= */
104 /* =========================================================  RENLK  ========================================================= */
105 /* ========================================================  VBSRST  ========================================================= */
106 #define MEC_PCR_VBSRST_VBAT_SRST_Pos      (0UL)                     /*!< VBAT_SRST (Bit 0)                                     */
107 #define MEC_PCR_VBSRST_VBAT_SRST_Msk      (0x1UL)                   /*!< VBAT_SRST (Bitfield-Mask: 0x01)                       */
108 /* =========================================================  SS32K  ========================================================= */
109 #define MEC_PCR_SS32K_PLL_REF_SRC_Pos     (0UL)                     /*!< PLL_REF_SRC (Bit 0)                                   */
110 #define MEC_PCR_SS32K_PLL_REF_SRC_Msk     (0x3UL)                   /*!< PLL_REF_SRC (Bitfield-Mask: 0x03)                     */
111 /* ========================================================  CNT32K  ========================================================= */
112 /* =======================================================  CNT32KPH  ======================================================== */
113 /* ========================================================  PERMINC  ======================================================== */
114 /* ========================================================  PERMAXC  ======================================================== */
115 /* =========================================================  DCVC  ========================================================== */
116 /* =========================================================  DCVMX  ========================================================= */
117 /* ========================================================  VCNT32K  ======================================================== */
118 /* =========================================================  VCMIN  ========================================================= */
119 /* ========================================================  CTRL32K  ======================================================== */
120 #define MEC_PCR_CTRL32K_PERIOD_CNT_Pos    (0UL)                     /*!< PERIOD_CNT (Bit 0)                                    */
121 #define MEC_PCR_CTRL32K_PERIOD_CNT_Msk    (0x1UL)                   /*!< PERIOD_CNT (Bitfield-Mask: 0x01)                      */
122 #define MEC_PCR_CTRL32K_DCNT_EN_Pos       (1UL)                     /*!< DCNT_EN (Bit 1)                                       */
123 #define MEC_PCR_CTRL32K_DCNT_EN_Msk       (0x2UL)                   /*!< DCNT_EN (Bitfield-Mask: 0x01)                         */
124 #define MEC_PCR_CTRL32K_VALCNT_EN_Pos     (2UL)                     /*!< VALCNT_EN (Bit 2)                                     */
125 #define MEC_PCR_CTRL32K_VALCNT_EN_Msk     (0x4UL)                   /*!< VALCNT_EN (Bitfield-Mask: 0x01)                       */
126 #define MEC_PCR_CTRL32K_MINTROSC_Pos      (4UL)                     /*!< MINTROSC (Bit 4)                                      */
127 #define MEC_PCR_CTRL32K_MINTROSC_Msk      (0x10UL)                  /*!< MINTROSC (Bitfield-Mask: 0x01)                        */
128 #define MEC_PCR_CTRL32K_CLRCNT_Pos        (24UL)                    /*!< CLRCNT (Bit 24)                                       */
129 #define MEC_PCR_CTRL32K_CLRCNT_Msk        (0x1000000UL)             /*!< CLRCNT (Bitfield-Mask: 0x01)                          */
130 /* ========================================================  SIS32K  ========================================================= */
131 #define MEC_PCR_SIS32K_PULSE_RDY_Pos      (0UL)                     /*!< PULSE_RDY (Bit 0)                                     */
132 #define MEC_PCR_SIS32K_PULSE_RDY_Msk      (0x1UL)                   /*!< PULSE_RDY (Bitfield-Mask: 0x01)                       */
133 #define MEC_PCR_SIS32K_PER_PASS_Pos       (1UL)                     /*!< PER_PASS (Bit 1)                                      */
134 #define MEC_PCR_SIS32K_PER_PASS_Msk       (0x2UL)                   /*!< PER_PASS (Bitfield-Mask: 0x01)                        */
135 #define MEC_PCR_SIS32K_DUTY_PASS_Pos      (2UL)                     /*!< DUTY_PASS (Bit 2)                                     */
136 #define MEC_PCR_SIS32K_DUTY_PASS_Msk      (0x4UL)                   /*!< DUTY_PASS (Bitfield-Mask: 0x01)                       */
137 #define MEC_PCR_SIS32K_PD_FAIL_Pos        (3UL)                     /*!< PD_FAIL (Bit 3)                                       */
138 #define MEC_PCR_SIS32K_PD_FAIL_Msk        (0x8UL)                   /*!< PD_FAIL (Bitfield-Mask: 0x01)                         */
139 #define MEC_PCR_SIS32K_STALL_Pos          (4UL)                     /*!< STALL (Bit 4)                                         */
140 #define MEC_PCR_SIS32K_STALL_Msk          (0x10UL)                  /*!< STALL (Bitfield-Mask: 0x01)                           */
141 #define MEC_PCR_SIS32K_VALID_Pos          (5UL)                     /*!< VALID (Bit 5)                                         */
142 #define MEC_PCR_SIS32K_VALID_Msk          (0x20UL)                  /*!< VALID (Bitfield-Mask: 0x01)                           */
143 #define MEC_PCR_SIS32K_UNWELL_Pos         (6UL)                     /*!< UNWELL (Bit 6)                                        */
144 #define MEC_PCR_SIS32K_UNWELL_Msk         (0x40UL)                  /*!< UNWELL (Bitfield-Mask: 0x01)                          */
145 /* ========================================================  SIEN32K  ======================================================== */
146 #define MEC_PCR_SIEN32K_PULSE_RDY_IEN_Pos (0UL)                     /*!< PULSE_RDY_IEN (Bit 0)                                 */
147 #define MEC_PCR_SIEN32K_PULSE_RDY_IEN_Msk (0x1UL)                   /*!< PULSE_RDY_IEN (Bitfield-Mask: 0x01)                   */
148 #define MEC_PCR_SIEN32K_PER_PASS_IEN_Pos  (1UL)                     /*!< PER_PASS_IEN (Bit 1)                                  */
149 #define MEC_PCR_SIEN32K_PER_PASS_IEN_Msk  (0x2UL)                   /*!< PER_PASS_IEN (Bitfield-Mask: 0x01)                    */
150 #define MEC_PCR_SIEN32K_DUTY_PASS_IEN_Pos (2UL)                     /*!< DUTY_PASS_IEN (Bit 2)                                 */
151 #define MEC_PCR_SIEN32K_DUTY_PASS_IEN_Msk (0x4UL)                   /*!< DUTY_PASS_IEN (Bitfield-Mask: 0x01)                   */
152 #define MEC_PCR_SIEN32K_PD_FAIL_IEN_Pos   (3UL)                     /*!< PD_FAIL_IEN (Bit 3)                                   */
153 #define MEC_PCR_SIEN32K_PD_FAIL_IEN_Msk   (0x8UL)                   /*!< PD_FAIL_IEN (Bitfield-Mask: 0x01)                     */
154 #define MEC_PCR_SIEN32K_STALL_IEN_Pos     (4UL)                     /*!< STALL_IEN (Bit 4)                                     */
155 #define MEC_PCR_SIEN32K_STALL_IEN_Msk     (0x10UL)                  /*!< STALL_IEN (Bitfield-Mask: 0x01)                       */
156 #define MEC_PCR_SIEN32K_VALID_IEN_Pos     (5UL)                     /*!< VALID_IEN (Bit 5)                                     */
157 #define MEC_PCR_SIEN32K_VALID_IEN_Msk     (0x20UL)                  /*!< VALID_IEN (Bitfield-Mask: 0x01)                       */
158 #define MEC_PCR_SIEN32K_UNWELL_IEN_Pos    (6UL)                     /*!< UNWELL_IEN (Bit 6)                                    */
159 #define MEC_PCR_SIEN32K_UNWELL_IEN_Msk    (0x40UL)                  /*!< UNWELL_IEN (Bitfield-Mask: 0x01)                      */
160 
161 /** @} */ /* End of group PosMask_peripherals */
162 
163 /** @addtogroup EnumValue_peripherals
164   * @{
165   */
166 /* ==========================================================  SSC  ========================================================== */
167 /* ==============================================  MEC_PCR SSC DEEPSLP [0..0]  =============================================== */
168 typedef enum {                                  /*!< MEC_PCR_SSC_DEEPSLP                                                       */
169   MEC_PCR_SSC_DEEPSLP_SEL              = 1,     /*!< SEL : Select Deep sleep                                                   */
170 } MEC_PCR_SSC_DEEPSLP_Enum;
171 
172 /* ===============================================  MEC_PCR SSC SLPALL [3..3]  =============================================== */
173 typedef enum {                                  /*!< MEC_PCR_SSC_SLPALL                                                        */
174   MEC_PCR_SSC_SLPALL_EN                = 1,     /*!< EN : Enable Sleep All                                                     */
175 } MEC_PCR_SSC_SLPALL_Enum;
176 
177 /* ===============================================  MEC_PCR SSC SLPIMM [8..8]  =============================================== */
178 typedef enum {                                  /*!< MEC_PCR_SSC_SLPIMM                                                        */
179   MEC_PCR_SSC_SLPIMM_EN                = 1,     /*!< EN : Enable                                                               */
180 } MEC_PCR_SSC_SLPIMM_Enum;
181 
182 /* ==========================================================  SCC  ========================================================== */
183 /* ============================================  MEC_PCR SCC SLOW_CLK_DIV [0..9]  ============================================ */
184 typedef enum {                                  /*!< MEC_PCR_SCC_SLOW_CLK_DIV                                                  */
185   MEC_PCR_SCC_SLOW_CLK_DIV_DFLT        = 480,   /*!< DFLT : Default divider (480) produces 100KHz                              */
186 } MEC_PCR_SCC_SLOW_CLK_DIV_Enum;
187 
188 /* ==========================================================  OID  ========================================================== */
189 /* ==============================================  MEC_PCR OID PLL_LOCK [8..8]  ============================================== */
190 typedef enum {                                  /*!< MEC_PCR_OID_PLL_LOCK                                                      */
191   MEC_PCR_OID_PLL_LOCK_ACTIVE          = 1,     /*!< ACTIVE : Active                                                           */
192 } MEC_PCR_OID_PLL_LOCK_Enum;
193 
194 /* ==========================================================  PRS  ========================================================== */
195 /* =============================================  MEC_PCR PRS VCC_PWRGD [2..2]  ============================================== */
196 typedef enum {                                  /*!< MEC_PCR_PRS_VCC_PWRGD                                                     */
197   MEC_PCR_PRS_VCC_PWRGD_STS            = 1,     /*!< STS : Active                                                              */
198 } MEC_PCR_PRS_VCC_PWRGD_Enum;
199 
200 /* =============================================  MEC_PCR PRS RESET_VCC [3..3]  ============================================== */
201 typedef enum {                                  /*!< MEC_PCR_PRS_RESET_VCC                                                     */
202   MEC_PCR_PRS_RESET_VCC_STS            = 1,     /*!< STS : Active                                                              */
203 } MEC_PCR_PRS_RESET_VCC_Enum;
204 
205 /* =============================================  MEC_PCR PRS RESET_VTR [4..4]  ============================================== */
206 typedef enum {                                  /*!< MEC_PCR_PRS_RESET_VTR                                                     */
207   MEC_PCR_PRS_RESET_VTR_STS            = 1,     /*!< STS : Active                                                              */
208 } MEC_PCR_PRS_RESET_VTR_Enum;
209 
210 /* =============================================  MEC_PCR PRS RESET_VBAT [5..5]  ============================================= */
211 typedef enum {                                  /*!< MEC_PCR_PRS_RESET_VBAT                                                    */
212   MEC_PCR_PRS_RESET_VBAT_STS           = 1,     /*!< STS : Active                                                              */
213 } MEC_PCR_PRS_RESET_VBAT_Enum;
214 
215 /* =============================================  MEC_PCR PRS RESET_SYS [6..6]  ============================================== */
216 typedef enum {                                  /*!< MEC_PCR_PRS_RESET_SYS                                                     */
217   MEC_PCR_PRS_RESET_SYS_STS            = 1,     /*!< STS : Active                                                              */
218 } MEC_PCR_PRS_RESET_SYS_Enum;
219 
220 /* =============================================  MEC_PCR PRS JTAG_TRST [7..7]  ============================================== */
221 typedef enum {                                  /*!< MEC_PCR_PRS_JTAG_TRST                                                     */
222   MEC_PCR_PRS_JTAG_TRST_STS            = 1,     /*!< STS : Active                                                              */
223 } MEC_PCR_PRS_JTAG_TRST_Enum;
224 
225 /* ===============================================  MEC_PCR PRS WDTEV [8..8]  ================================================ */
226 typedef enum {                                  /*!< MEC_PCR_PRS_WDTEV                                                         */
227   MEC_PCR_PRS_WDTEV_STS                = 1,     /*!< STS : Active                                                              */
228 } MEC_PCR_PRS_WDTEV_Enum;
229 
230 /* ==============================================  MEC_PCR PRS ACT32K [10..10]  ============================================== */
231 typedef enum {                                  /*!< MEC_PCR_PRS_ACT32K                                                        */
232   MEC_PCR_PRS_ACT32K_STS               = 1,     /*!< STS : Active                                                              */
233 } MEC_PCR_PRS_ACT32K_Enum;
234 
235 /* ===========================================  MEC_PCR PRS ESPI_CLK_ACT [11..11]  =========================================== */
236 typedef enum {                                  /*!< MEC_PCR_PRS_ESPI_CLK_ACT                                                  */
237   MEC_PCR_PRS_ESPI_CLK_ACT_STS         = 1,     /*!< STS : Active                                                              */
238 } MEC_PCR_PRS_ESPI_CLK_ACT_Enum;
239 
240 /* ==========================================================  PRC  ========================================================== */
241 /* ==============================================  MEC_PCR PRC PWR_INV [0..0]  =============================================== */
242 typedef enum {                                  /*!< MEC_PCR_PRC_PWR_INV                                                       */
243   MEC_PCR_PRC_PWR_INV_RESET_VCC        = 1,     /*!< RESET_VCC : Block VCC_PWRGD, keeps RESET_VCC asserted                     */
244 } MEC_PCR_PRC_PWR_INV_Enum;
245 
246 /* =============================================  MEC_PCR PRC HOST_RSEL [8..8]  ============================================== */
247 typedef enum {                                  /*!< MEC_PCR_PRC_HOST_RSEL                                                     */
248   MEC_PCR_PRC_HOST_RSEL_LEGACY         = 1,     /*!< LEGACY : Host reset is legacy signal. Clear this bit to use
249                                                      eSPI Reset                                                                */
250 } MEC_PCR_PRC_HOST_RSEL_Enum;
251 
252 /* =========================================================  SRST  ========================================================== */
253 /* ==============================================  MEC_PCR SRST SYS_RST [8..8]  ============================================== */
254 typedef enum {                                  /*!< MEC_PCR_SRST_SYS_RST                                                      */
255   MEC_PCR_SRST_SYS_RST_EN              = 1,     /*!< EN : Generate chip reset                                                  */
256 } MEC_PCR_SRST_SYS_RST_Enum;
257 
258 /* =======================================================  TURBO_CLK  ======================================================= */
259 /* ===========================================  MEC_PCR TURBO_CLK FAST_CLK [2..2]  =========================================== */
260 typedef enum {                                  /*!< MEC_PCR_TURBO_CLK_FAST_CLK                                                */
261   MEC_PCR_TURBO_CLK_FAST_CLK_EN        = 1,     /*!< EN : Enable                                                               */
262 } MEC_PCR_TURBO_CLK_FAST_CLK_Enum;
263 
264 /* ========================================================  VBSRST  ========================================================= */
265 /* ============================================  MEC_PCR VBSRST VBAT_SRST [0..0]  ============================================ */
266 typedef enum {                                  /*!< MEC_PCR_VBSRST_VBAT_SRST                                                  */
267   MEC_PCR_VBSRST_VBAT_SRST_EN          = 1,     /*!< EN : Enable                                                               */
268 } MEC_PCR_VBSRST_VBAT_SRST_Enum;
269 
270 /* =========================================================  SS32K  ========================================================= */
271 /* ===========================================  MEC_PCR SS32K PLL_REF_SRC [0..1]  ============================================ */
272 typedef enum {                                  /*!< MEC_PCR_SS32K_PLL_REF_SRC                                                 */
273   MEC_PCR_SS32K_PLL_REF_SRC_INTERNAL_OSC = 0,   /*!< INTERNAL_OSC : Use Silicon OSC                                            */
274   MEC_PCR_SS32K_PLL_REF_SRC_CRYSTAL    = 1,     /*!< CRYSTAL : Use external crystal                                            */
275   MEC_PCR_SS32K_PLL_REF_SRC_PIN_32K_IN = 2,     /*!< PIN_32K_IN : Use signal on 32KHZ_IN pin                                   */
276   MEC_PCR_SS32K_PLL_REF_SRC_NONE       = 3,     /*!< NONE : PLL held in reset                                                  */
277 } MEC_PCR_SS32K_PLL_REF_SRC_Enum;
278 
279 /* ========================================================  CTRL32K  ======================================================== */
280 /* ===========================================  MEC_PCR CTRL32K PERIOD_CNT [0..0]  =========================================== */
281 typedef enum {                                  /*!< MEC_PCR_CTRL32K_PERIOD_CNT                                                */
282   MEC_PCR_CTRL32K_PERIOD_CNT_EN        = 1,     /*!< EN : Enable                                                               */
283 } MEC_PCR_CTRL32K_PERIOD_CNT_Enum;
284 
285 /* ============================================  MEC_PCR CTRL32K DCNT_EN [1..1]  ============================================= */
286 typedef enum {                                  /*!< MEC_PCR_CTRL32K_DCNT_EN                                                   */
287   MEC_PCR_CTRL32K_DCNT_EN_EN           = 1,     /*!< EN : Enable                                                               */
288 } MEC_PCR_CTRL32K_DCNT_EN_Enum;
289 
290 /* ===========================================  MEC_PCR CTRL32K VALCNT_EN [2..2]  ============================================ */
291 typedef enum {                                  /*!< MEC_PCR_CTRL32K_VALCNT_EN                                                 */
292   MEC_PCR_CTRL32K_VALCNT_EN_EN         = 1,     /*!< EN : Enable                                                               */
293 } MEC_PCR_CTRL32K_VALCNT_EN_Enum;
294 
295 /* ============================================  MEC_PCR CTRL32K MINTROSC [4..4]  ============================================ */
296 typedef enum {                                  /*!< MEC_PCR_CTRL32K_MINTROSC                                                  */
297   MEC_PCR_CTRL32K_MINTROSC_EN          = 1,     /*!< EN : Enable                                                               */
298 } MEC_PCR_CTRL32K_MINTROSC_Enum;
299 
300 /* ============================================  MEC_PCR CTRL32K CLRCNT [24..24]  ============================================ */
301 typedef enum {                                  /*!< MEC_PCR_CTRL32K_CLRCNT                                                    */
302   MEC_PCR_CTRL32K_CLRCNT_EN            = 1,     /*!< EN : Enable                                                               */
303 } MEC_PCR_CTRL32K_CLRCNT_Enum;
304 
305 /* ========================================================  SIS32K  ========================================================= */
306 /* ============================================  MEC_PCR SIS32K PULSE_RDY [0..0]  ============================================ */
307 typedef enum {                                  /*!< MEC_PCR_SIS32K_PULSE_RDY                                                  */
308   MEC_PCR_SIS32K_PULSE_RDY_ACTIVE      = 1,     /*!< ACTIVE : Active                                                           */
309 } MEC_PCR_SIS32K_PULSE_RDY_Enum;
310 
311 /* ============================================  MEC_PCR SIS32K PER_PASS [1..1]  ============================================= */
312 typedef enum {                                  /*!< MEC_PCR_SIS32K_PER_PASS                                                   */
313   MEC_PCR_SIS32K_PER_PASS_ACTIVE       = 1,     /*!< ACTIVE : Active                                                           */
314 } MEC_PCR_SIS32K_PER_PASS_Enum;
315 
316 /* ============================================  MEC_PCR SIS32K DUTY_PASS [2..2]  ============================================ */
317 typedef enum {                                  /*!< MEC_PCR_SIS32K_DUTY_PASS                                                  */
318   MEC_PCR_SIS32K_DUTY_PASS_ACTIVE      = 1,     /*!< ACTIVE : Active                                                           */
319 } MEC_PCR_SIS32K_DUTY_PASS_Enum;
320 
321 /* =============================================  MEC_PCR SIS32K PD_FAIL [3..3]  ============================================= */
322 typedef enum {                                  /*!< MEC_PCR_SIS32K_PD_FAIL                                                    */
323   MEC_PCR_SIS32K_PD_FAIL_ACTIVE        = 1,     /*!< ACTIVE : Active                                                           */
324 } MEC_PCR_SIS32K_PD_FAIL_Enum;
325 
326 /* ==============================================  MEC_PCR SIS32K STALL [4..4]  ============================================== */
327 typedef enum {                                  /*!< MEC_PCR_SIS32K_STALL                                                      */
328   MEC_PCR_SIS32K_STALL_ACTIVE          = 1,     /*!< ACTIVE : Active                                                           */
329 } MEC_PCR_SIS32K_STALL_Enum;
330 
331 /* ==============================================  MEC_PCR SIS32K VALID [5..5]  ============================================== */
332 typedef enum {                                  /*!< MEC_PCR_SIS32K_VALID                                                      */
333   MEC_PCR_SIS32K_VALID_ACTIVE          = 1,     /*!< ACTIVE : Active                                                           */
334 } MEC_PCR_SIS32K_VALID_Enum;
335 
336 /* =============================================  MEC_PCR SIS32K UNWELL [6..6]  ============================================== */
337 typedef enum {                                  /*!< MEC_PCR_SIS32K_UNWELL                                                     */
338   MEC_PCR_SIS32K_UNWELL_ACTIVE         = 1,     /*!< ACTIVE : Active                                                           */
339 } MEC_PCR_SIS32K_UNWELL_Enum;
340 
341 /* ========================================================  SIEN32K  ======================================================== */
342 /* =========================================  MEC_PCR SIEN32K PULSE_RDY_IEN [0..0]  ========================================== */
343 typedef enum {                                  /*!< MEC_PCR_SIEN32K_PULSE_RDY_IEN                                             */
344   MEC_PCR_SIEN32K_PULSE_RDY_IEN_EN     = 1,     /*!< EN : Enable                                                               */
345 } MEC_PCR_SIEN32K_PULSE_RDY_IEN_Enum;
346 
347 /* ==========================================  MEC_PCR SIEN32K PER_PASS_IEN [1..1]  ========================================== */
348 typedef enum {                                  /*!< MEC_PCR_SIEN32K_PER_PASS_IEN                                              */
349   MEC_PCR_SIEN32K_PER_PASS_IEN_EN      = 1,     /*!< EN : Enable                                                               */
350 } MEC_PCR_SIEN32K_PER_PASS_IEN_Enum;
351 
352 /* =========================================  MEC_PCR SIEN32K DUTY_PASS_IEN [2..2]  ========================================== */
353 typedef enum {                                  /*!< MEC_PCR_SIEN32K_DUTY_PASS_IEN                                             */
354   MEC_PCR_SIEN32K_DUTY_PASS_IEN_EN     = 1,     /*!< EN : Enable                                                               */
355 } MEC_PCR_SIEN32K_DUTY_PASS_IEN_Enum;
356 
357 /* ==========================================  MEC_PCR SIEN32K PD_FAIL_IEN [3..3]  =========================================== */
358 typedef enum {                                  /*!< MEC_PCR_SIEN32K_PD_FAIL_IEN                                               */
359   MEC_PCR_SIEN32K_PD_FAIL_IEN_EN       = 1,     /*!< EN : Enable                                                               */
360 } MEC_PCR_SIEN32K_PD_FAIL_IEN_Enum;
361 
362 /* ===========================================  MEC_PCR SIEN32K STALL_IEN [4..4]  ============================================ */
363 typedef enum {                                  /*!< MEC_PCR_SIEN32K_STALL_IEN                                                 */
364   MEC_PCR_SIEN32K_STALL_IEN_EN         = 1,     /*!< EN : Enable                                                               */
365 } MEC_PCR_SIEN32K_STALL_IEN_Enum;
366 
367 /* ===========================================  MEC_PCR SIEN32K VALID_IEN [5..5]  ============================================ */
368 typedef enum {                                  /*!< MEC_PCR_SIEN32K_VALID_IEN                                                 */
369   MEC_PCR_SIEN32K_VALID_IEN_EN         = 1,     /*!< EN : Enable                                                               */
370 } MEC_PCR_SIEN32K_VALID_IEN_Enum;
371 
372 /* ===========================================  MEC_PCR SIEN32K UNWELL_IEN [6..6]  =========================================== */
373 typedef enum {                                  /*!< MEC_PCR_SIEN32K_UNWELL_IEN                                                */
374   MEC_PCR_SIEN32K_UNWELL_IEN_EN        = 1,     /*!< EN : Enable                                                               */
375 } MEC_PCR_SIEN32K_UNWELL_IEN_Enum;
376 
377 /** @} */ /* End of group EnumValue_peripherals */
378 
379 #endif /* _MEC5_PCR_V2_H */
380