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