1 /*
2  * Copyright (c) 2024 Microchip Technology Inc.
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #ifndef _MEC5_ESPI_IO_V1_5_H
7 #define _MEC5_ESPI_IO_V1_5_H
8 
9 /** @addtogroup Device_Peripheral_peripherals
10   * @{
11   */
12 
13 /**
14   * @brief eSPI IO component (MEC_ESPI_IO)
15   */
16 
17 typedef struct mec_espi_io_regs {               /*!< (@ 0x400F3400) MEC_ESPI_IO Structure                                      */
18   __IOM uint8_t   RTIDX;                        /*!< (@ 0x00000000) eSPI IO Runtime Host Index register                        */
19   __IOM uint8_t   RTDAT;                        /*!< (@ 0x00000001) eSPI IO Runtime Host Data register                         */
20   __IM  uint16_t  RESERVED;
21   __IM  uint32_t  RESERVED1[63];
22   __IM  uint32_t  PCLC[3];                      /*!< (@ 0x00000100) eSPI IO PC Last cycle 96-bit register                      */
23   __IM  uint32_t  PCERR[2];                     /*!< (@ 0x0000010C) eSPI IO PC Error address 64-bit register                   */
24   __IOM uint32_t  PCSTS;                        /*!< (@ 0x00000114) eSPI IO PC Status register                                 */
25   __IOM uint32_t  PCIEN;                        /*!< (@ 0x00000118) eSPI IO PC interrupt enable register                       */
26   __IM  uint32_t  RESERVED2;
27   __IOM uint32_t  PCBINH[2];                    /*!< (@ 0x00000120) eSPI IO PC BAR inhibit registers. Bits are organized
28                                                                     by logical device number                                   */
29   __IOM uint32_t  PCBINIT;                      /*!< (@ 0x00000128) eSPI IO PC BAR init register                               */
30   __IOM uint32_t  PCECIRQ;                      /*!< (@ 0x0000012C) eSPI IO PC EC IRQ register                                 */
31   __IOM uint32_t  PCCKNP;                       /*!< (@ 0x00000130) eSPI IO PC Clock NP register                               */
32   __IM  uint32_t  EC_LDN_MSK[25];               /*!< (@ 0x00000134) I/O BAR logical device number and range mask.
33                                                                     EC-only access                                             */
34   __IM  uint32_t  RESERVED3[34];
35   __IOM uint32_t  PCLTRSTS;                     /*!< (@ 0x00000220) eSPI IO PC LTR Status register                             */
36   __IOM uint32_t  PCLTREN;                      /*!< (@ 0x00000224) eSPI IO PC LTR Enable register                             */
37   __IOM uint32_t  PCLTRCTL;                     /*!< (@ 0x00000228) eSPI IO PC LTR control register                            */
38   __IOM uint32_t  PCLTRM;                       /*!< (@ 0x0000022C) eSPI IO PC LTR message register. LTR message
39                                                                     is 16-bits defined in b[15:0]                              */
40   __IM  uint32_t  RESERVED4[4];
41   __IOM uint32_t  OOBRXA;                       /*!< (@ 0x00000240) eSPI IO OOB RX EC SRAM buffer address register:
42                                                                     bits[1:0]=00b(read-only)                                   */
43   __IM  uint32_t  RESERVED5;
44   __IOM uint32_t  OOBTXA;                       /*!< (@ 0x00000248) eSPI IO OOB TX EC SRAM buffer address register:
45                                                                     bits[1:0]=00b(read-only)                                   */
46   __IM  uint32_t  RESERVED6;
47   __IOM uint32_t  OOBRXL;                       /*!< (@ 0x00000250) eSPI IO OOB RX length register                             */
48   __IOM uint32_t  OOBTXL;                       /*!< (@ 0x00000254) eSPI IO OOB TX length register                             */
49   __IOM uint32_t  OOBRXC;                       /*!< (@ 0x00000258) eSPI IO OOB RX Control register                            */
50   __IOM uint32_t  OOBRXIEN;                     /*!< (@ 0x0000025C) eSPI IO OOB RX IEN register                                */
51   __IOM uint32_t  OOBRXSTS;                     /*!< (@ 0x00000260) eSPI IO OOB RX Status register                             */
52   __IOM uint32_t  OOBTXC;                       /*!< (@ 0x00000264) eSPI IO OOB TX Control register                            */
53   __IOM uint32_t  OOBTXIEN;                     /*!< (@ 0x00000268) eSPI IO OOB TX IEN register                                */
54   __IOM uint32_t  OOBTXSTS;                     /*!< (@ 0x0000026C) eSPI IO OOB TX Status register                             */
55   __IM  uint32_t  RESERVED7[4];
56   __IOM uint32_t  FCFA;                         /*!< (@ 0x00000280) eSPI IO FC flash address register                          */
57   __IM  uint32_t  RESERVED8;
58   __IOM uint32_t  FCBA;                         /*!< (@ 0x00000288) eSPI IO FC EC SRAM memory buffer address register          */
59   __IM  uint32_t  RESERVED9;
60   __IOM uint32_t  FCLEN;                        /*!< (@ 0x00000290) eSPI IO FC transfer length register                        */
61   __IOM uint32_t  FCCTL;                        /*!< (@ 0x00000294) eSPI IO FC control register                                */
62   __IOM uint32_t  FCIEN;                        /*!< (@ 0x00000298) eSPI IO FC interrupt enable register                       */
63   __IOM uint32_t  FCCFG;                        /*!< (@ 0x0000029C) eSPI IO FC configuration register                          */
64   __IOM uint32_t  FCSTS;                        /*!< (@ 0x000002A0) eSPI IO FC status register                                 */
65   __IM  uint32_t  RESERVED10[3];
66   __IM  uint32_t  VWSTS;                        /*!< (@ 0x000002B0) eSPI IO VWire status register                              */
67   __IM  uint32_t  RESERVED11[11];
68   __IOM uint8_t   CAPID;                        /*!< (@ 0x000002E0) eSPI IO Capability ID register                             */
69   __IOM uint8_t   CAP0;                         /*!< (@ 0x000002E1) eSPI IO Capability 0 register                              */
70   __IOM uint8_t   CAP1;                         /*!< (@ 0x000002E2) eSPI IO capabilities 1 register                            */
71   __IOM uint8_t   CAPPC;                        /*!< (@ 0x000002E3) eSPI IO PC Capability register                             */
72   __IOM uint8_t   CAPVW;                        /*!< (@ 0x000002E4) eSPI IO VW Capability register                             */
73   __IOM uint8_t   CAPOOB;                       /*!< (@ 0x000002E5) eSPI IO OOB Capability register                            */
74   __IOM uint8_t   CAPFC;                        /*!< (@ 0x000002E6) eSPI IO FC Capability register                             */
75   __IOM uint8_t   PCRDY;                        /*!< (@ 0x000002E7) eSPI IO PC Ready register                                  */
76   __IOM uint8_t   OOBRDY;                       /*!< (@ 0x000002E8) eSPI IO OOB Ready register                                 */
77   __IOM uint8_t   FCRDY;                        /*!< (@ 0x000002E9) eSPI IO OOB Ready register                                 */
78   __IOM uint8_t   ERIS;                         /*!< (@ 0x000002EA) eSPI IO ESPI_RESET interrupt status register               */
79   __IOM uint8_t   ERIE;                         /*!< (@ 0x000002EB) eSPI IO ESPI_RESET interrupt enable register               */
80   __IOM uint8_t   PLTRST_SRC;                   /*!< (@ 0x000002EC) eSPI IO Platform Reset source register                     */
81   __IOM uint8_t   VWRDY;                        /*!< (@ 0x000002ED) eSPI IO VWire Ready register                               */
82   __IOM uint8_t   TAFEBS;                       /*!< (@ 0x000002EE) eSPI IO TAF Erase Block size configuration                 */
83   __IM  uint8_t   RESERVED12;
84   __IM  uint32_t  RESERVED13[4];
85   __IOM uint32_t  RPMC_OP1_CFG;                 /*!< (@ 0x00000300) Specify how RPMC flash devices attached to eSPI
86                                                                     TAF are reported to eSPI Host                              */
87   __IOM uint32_t  RPMC_OP1_NCNTRS;              /*!< (@ 0x00000304) Number of RPMC counters in each attached flash
88                                                                     device                                                     */
89   __IM  uint32_t  RESERVED14[10];
90   __IOM uint32_t  ACTV;                         /*!< (@ 0x00000330) eSPI IO Activate register                                  */
91   __IOM uint32_t  HOST_BAR[25];                 /*!< (@ 0x00000334) I/O BAR Host base I/O address and valid bit.
92                                                                     Host and EC access                                         */
93   __IM  uint32_t  RESERVED15[5];
94   __IOM uint8_t   SERIRQ[22];                   /*!< (@ 0x000003AC) Logical device Serial IRQ slot values. Default
95                                                                     value is 255(disabled)                                     */
96   __IM  uint16_t  RESERVED16;
97   __IM  uint32_t  RESERVED17[11];
98   __IOM uint32_t  VWERR;                        /*!< (@ 0x000003F0) eSPI IO Virtual wire error register                        */
99 } MEC_ESPI_IO_Type;                             /*!< Size = 1012 (0x3f4)                                                       */
100 
101 /** @} */ /* End of group Device_Peripheral_peripherals */
102 
103 /** @addtogroup PosMask_peripherals
104   * @{
105   */
106 /* =========================================================  PCSTS  ========================================================= */
107 #define MEC_ESPI_IO_PCSTS_EC_BUS_ERR_Pos  (16UL)                    /*!< EC_BUS_ERR (Bit 16)                                   */
108 #define MEC_ESPI_IO_PCSTS_EC_BUS_ERR_Msk  (0x10000UL)               /*!< EC_BUS_ERR (Bitfield-Mask: 0x01)                      */
109 #define MEC_ESPI_IO_PCSTS_PCEN_VAL_Pos    (24UL)                    /*!< PCEN_VAL (Bit 24)                                     */
110 #define MEC_ESPI_IO_PCSTS_PCEN_VAL_Msk    (0x1000000UL)             /*!< PCEN_VAL (Bitfield-Mask: 0x01)                        */
111 #define MEC_ESPI_IO_PCSTS_PCEN_CHG_Pos    (25UL)                    /*!< PCEN_CHG (Bit 25)                                     */
112 #define MEC_ESPI_IO_PCSTS_PCEN_CHG_Msk    (0x2000000UL)             /*!< PCEN_CHG (Bitfield-Mask: 0x01)                        */
113 #define MEC_ESPI_IO_PCSTS_PCBM_VAL_Pos    (27UL)                    /*!< PCBM_VAL (Bit 27)                                     */
114 #define MEC_ESPI_IO_PCSTS_PCBM_VAL_Msk    (0x8000000UL)             /*!< PCBM_VAL (Bitfield-Mask: 0x01)                        */
115 #define MEC_ESPI_IO_PCSTS_PCBMEN_CHG_Pos  (28UL)                    /*!< PCBMEN_CHG (Bit 28)                                   */
116 #define MEC_ESPI_IO_PCSTS_PCBMEN_CHG_Msk  (0x10000000UL)            /*!< PCBMEN_CHG (Bitfield-Mask: 0x01)                      */
117 /* =========================================================  PCIEN  ========================================================= */
118 #define MEC_ESPI_IO_PCIEN_EC_BUS_ERR_Pos  (16UL)                    /*!< EC_BUS_ERR (Bit 16)                                   */
119 #define MEC_ESPI_IO_PCIEN_EC_BUS_ERR_Msk  (0x10000UL)               /*!< EC_BUS_ERR (Bitfield-Mask: 0x01)                      */
120 #define MEC_ESPI_IO_PCIEN_PCEN_CHG_Pos    (25UL)                    /*!< PCEN_CHG (Bit 25)                                     */
121 #define MEC_ESPI_IO_PCIEN_PCEN_CHG_Msk    (0x2000000UL)             /*!< PCEN_CHG (Bitfield-Mask: 0x01)                        */
122 #define MEC_ESPI_IO_PCIEN_PCBMEN_CHG_Pos  (28UL)                    /*!< PCBMEN_CHG (Bit 28)                                   */
123 #define MEC_ESPI_IO_PCIEN_PCBMEN_CHG_Msk  (0x10000000UL)            /*!< PCBMEN_CHG (Bitfield-Mask: 0x01)                      */
124 /* ========================================================  PCBINH  ========================================================= */
125 /* ========================================================  PCBINIT  ======================================================== */
126 #define MEC_ESPI_IO_PCBINIT_BAR_INIT_Pos  (0UL)                     /*!< BAR_INIT (Bit 0)                                      */
127 #define MEC_ESPI_IO_PCBINIT_BAR_INIT_Msk  (0xffffUL)                /*!< BAR_INIT (Bitfield-Mask: 0xffff)                      */
128 /* ========================================================  PCECIRQ  ======================================================== */
129 #define MEC_ESPI_IO_PCECIRQ_GEN_EC_IRQ_Pos (0UL)                    /*!< GEN_EC_IRQ (Bit 0)                                    */
130 #define MEC_ESPI_IO_PCECIRQ_GEN_EC_IRQ_Msk (0x1UL)                  /*!< GEN_EC_IRQ (Bitfield-Mask: 0x01)                      */
131 /* ========================================================  PCCKNP  ========================================================= */
132 #define MEC_ESPI_IO_PCCKNP_FORCE_CLK_ON_Pos (0UL)                   /*!< FORCE_CLK_ON (Bit 0)                                  */
133 #define MEC_ESPI_IO_PCCKNP_FORCE_CLK_ON_Msk (0x1UL)                 /*!< FORCE_CLK_ON (Bitfield-Mask: 0x01)                    */
134 #define MEC_ESPI_IO_PCCKNP_MULT_NP_Pos    (1UL)                     /*!< MULT_NP (Bit 1)                                       */
135 #define MEC_ESPI_IO_PCCKNP_MULT_NP_Msk    (0x2UL)                   /*!< MULT_NP (Bitfield-Mask: 0x01)                         */
136 /* ======================================================  EC_LDN_MSK  ======================================================= */
137 #define MEC_ESPI_IO_EC_LDN_MSK_MSK_Pos    (0UL)                     /*!< MSK (Bit 0)                                           */
138 #define MEC_ESPI_IO_EC_LDN_MSK_MSK_Msk    (0xffUL)                  /*!< MSK (Bitfield-Mask: 0xff)                             */
139 #define MEC_ESPI_IO_EC_LDN_MSK_LDN_Pos    (8UL)                     /*!< LDN (Bit 8)                                           */
140 #define MEC_ESPI_IO_EC_LDN_MSK_LDN_Msk    (0x3f00UL)                /*!< LDN (Bitfield-Mask: 0x3f)                             */
141 /* =======================================================  PCLTRSTS  ======================================================== */
142 #define MEC_ESPI_IO_PCLTRSTS_DONE_Pos     (0UL)                     /*!< DONE (Bit 0)                                          */
143 #define MEC_ESPI_IO_PCLTRSTS_DONE_Msk     (0x1UL)                   /*!< DONE (Bitfield-Mask: 0x01)                            */
144 #define MEC_ESPI_IO_PCLTRSTS_START_OVRUN_Pos (3UL)                  /*!< START_OVRUN (Bit 3)                                   */
145 #define MEC_ESPI_IO_PCLTRSTS_START_OVRUN_Msk (0x8UL)                /*!< START_OVRUN (Bitfield-Mask: 0x01)                     */
146 #define MEC_ESPI_IO_PCLTRSTS_DIS_HOST_Pos (4UL)                     /*!< DIS_HOST (Bit 4)                                      */
147 #define MEC_ESPI_IO_PCLTRSTS_DIS_HOST_Msk (0x10UL)                  /*!< DIS_HOST (Bitfield-Mask: 0x01)                        */
148 #define MEC_ESPI_IO_PCLTRSTS_BUSY_Pos     (8UL)                     /*!< BUSY (Bit 8)                                          */
149 #define MEC_ESPI_IO_PCLTRSTS_BUSY_Msk     (0x100UL)                 /*!< BUSY (Bitfield-Mask: 0x01)                            */
150 /* ========================================================  PCLTREN  ======================================================== */
151 #define MEC_ESPI_IO_PCLTREN_DONE_Pos      (0UL)                     /*!< DONE (Bit 0)                                          */
152 #define MEC_ESPI_IO_PCLTREN_DONE_Msk      (0x1UL)                   /*!< DONE (Bitfield-Mask: 0x01)                            */
153 /* =======================================================  PCLTRCTL  ======================================================== */
154 #define MEC_ESPI_IO_PCLTRCTL_START_Pos    (0UL)                     /*!< START (Bit 0)                                         */
155 #define MEC_ESPI_IO_PCLTRCTL_START_Msk    (0x1UL)                   /*!< START (Bitfield-Mask: 0x01)                           */
156 #define MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_Pos (8UL)                   /*!< LTR_TX_TAG (Bit 8)                                    */
157 #define MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_Msk (0xf00UL)               /*!< LTR_TX_TAG (Bitfield-Mask: 0x0f)                      */
158 /* ========================================================  PCLTRM  ========================================================= */
159 #define MEC_ESPI_IO_PCLTRM_VALUE_Pos      (0UL)                     /*!< VALUE (Bit 0)                                         */
160 #define MEC_ESPI_IO_PCLTRM_VALUE_Msk      (0x3ffUL)                 /*!< VALUE (Bitfield-Mask: 0x3ff)                          */
161 #define MEC_ESPI_IO_PCLTRM_SCALE_Pos      (10UL)                    /*!< SCALE (Bit 10)                                        */
162 #define MEC_ESPI_IO_PCLTRM_SCALE_Msk      (0x1c00UL)                /*!< SCALE (Bitfield-Mask: 0x07)                           */
163 #define MEC_ESPI_IO_PCLTRM_TX_RSVD_BITS_Pos (13UL)                  /*!< TX_RSVD_BITS (Bit 13)                                 */
164 #define MEC_ESPI_IO_PCLTRM_TX_RSVD_BITS_Msk (0x6000UL)              /*!< TX_RSVD_BITS (Bitfield-Mask: 0x03)                    */
165 #define MEC_ESPI_IO_PCLTRM_SEL_MAX_LAT_Pos (15UL)                   /*!< SEL_MAX_LAT (Bit 15)                                  */
166 #define MEC_ESPI_IO_PCLTRM_SEL_MAX_LAT_Msk (0x8000UL)               /*!< SEL_MAX_LAT (Bitfield-Mask: 0x01)                     */
167 /* ========================================================  OOBRXA  ========================================================= */
168 /* ========================================================  OOBTXA  ========================================================= */
169 /* ========================================================  OOBRXL  ========================================================= */
170 #define MEC_ESPI_IO_OOBRXL_RECV_MSG_LEN_Pos (0UL)                   /*!< RECV_MSG_LEN (Bit 0)                                  */
171 #define MEC_ESPI_IO_OOBRXL_RECV_MSG_LEN_Msk (0x1fffUL)              /*!< RECV_MSG_LEN (Bitfield-Mask: 0x1fff)                  */
172 #define MEC_ESPI_IO_OOBRXL_RX_BUF_LEN_Pos (16UL)                    /*!< RX_BUF_LEN (Bit 16)                                   */
173 #define MEC_ESPI_IO_OOBRXL_RX_BUF_LEN_Msk (0x1fff0000UL)            /*!< RX_BUF_LEN (Bitfield-Mask: 0x1fff)                    */
174 /* ========================================================  OOBTXL  ========================================================= */
175 #define MEC_ESPI_IO_OOBTXL_TX_MSG_LEN_Pos (0UL)                     /*!< TX_MSG_LEN (Bit 0)                                    */
176 #define MEC_ESPI_IO_OOBTXL_TX_MSG_LEN_Msk (0x1fffUL)                /*!< TX_MSG_LEN (Bitfield-Mask: 0x1fff)                    */
177 /* ========================================================  OOBRXC  ========================================================= */
178 #define MEC_ESPI_IO_OOBRXC_RX_AVAIL_Pos   (0UL)                     /*!< RX_AVAIL (Bit 0)                                      */
179 #define MEC_ESPI_IO_OOBRXC_RX_AVAIL_Msk   (0x1UL)                   /*!< RX_AVAIL (Bitfield-Mask: 0x01)                        */
180 #define MEC_ESPI_IO_OOBRXC_CHEN_Pos       (9UL)                     /*!< CHEN (Bit 9)                                          */
181 #define MEC_ESPI_IO_OOBRXC_CHEN_Msk       (0x200UL)                 /*!< CHEN (Bitfield-Mask: 0x01)                            */
182 #define MEC_ESPI_IO_OOBRXC_MAX_PLD_SZ_Pos (16UL)                    /*!< MAX_PLD_SZ (Bit 16)                                   */
183 #define MEC_ESPI_IO_OOBRXC_MAX_PLD_SZ_Msk (0x70000UL)               /*!< MAX_PLD_SZ (Bitfield-Mask: 0x07)                      */
184 /* =======================================================  OOBRXIEN  ======================================================== */
185 #define MEC_ESPI_IO_OOBRXIEN_DONE_Pos     (0UL)                     /*!< DONE (Bit 0)                                          */
186 #define MEC_ESPI_IO_OOBRXIEN_DONE_Msk     (0x1UL)                   /*!< DONE (Bitfield-Mask: 0x01)                            */
187 /* =======================================================  OOBRXSTS  ======================================================== */
188 #define MEC_ESPI_IO_OOBRXSTS_DONE_Pos     (0UL)                     /*!< DONE (Bit 0)                                          */
189 #define MEC_ESPI_IO_OOBRXSTS_DONE_Msk     (0x1UL)                   /*!< DONE (Bitfield-Mask: 0x01)                            */
190 #define MEC_ESPI_IO_OOBRXSTS_EC_BUS_ERR_Pos (1UL)                   /*!< EC_BUS_ERR (Bit 1)                                    */
191 #define MEC_ESPI_IO_OOBRXSTS_EC_BUS_ERR_Msk (0x2UL)                 /*!< EC_BUS_ERR (Bitfield-Mask: 0x01)                      */
192 #define MEC_ESPI_IO_OOBRXSTS_DATA_OVRUN_Pos (2UL)                   /*!< DATA_OVRUN (Bit 2)                                    */
193 #define MEC_ESPI_IO_OOBRXSTS_DATA_OVRUN_Msk (0x4UL)                 /*!< DATA_OVRUN (Bitfield-Mask: 0x01)                      */
194 #define MEC_ESPI_IO_OOBRXSTS_RX_AVAIL_Pos (3UL)                     /*!< RX_AVAIL (Bit 3)                                      */
195 #define MEC_ESPI_IO_OOBRXSTS_RX_AVAIL_Msk (0x8UL)                   /*!< RX_AVAIL (Bitfield-Mask: 0x01)                        */
196 #define MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_Pos (8UL)                   /*!< OOB_RX_TAG (Bit 8)                                    */
197 #define MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_Msk (0xf00UL)               /*!< OOB_RX_TAG (Bitfield-Mask: 0x0f)                      */
198 /* ========================================================  OOBTXC  ========================================================= */
199 #define MEC_ESPI_IO_OOBTXC_START_Pos      (0UL)                     /*!< START (Bit 0)                                         */
200 #define MEC_ESPI_IO_OOBTXC_START_Msk      (0x1UL)                   /*!< START (Bitfield-Mask: 0x01)                           */
201 #define MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_Pos (8UL)                     /*!< OOB_TX_TAG (Bit 8)                                    */
202 #define MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_Msk (0xf00UL)                 /*!< OOB_TX_TAG (Bitfield-Mask: 0x0f)                      */
203 /* =======================================================  OOBTXIEN  ======================================================== */
204 #define MEC_ESPI_IO_OOBTXIEN_DONE_Pos     (0UL)                     /*!< DONE (Bit 0)                                          */
205 #define MEC_ESPI_IO_OOBTXIEN_DONE_Msk     (0x1UL)                   /*!< DONE (Bitfield-Mask: 0x01)                            */
206 #define MEC_ESPI_IO_OOBTXIEN_CHEN_CHG_Pos (1UL)                     /*!< CHEN_CHG (Bit 1)                                      */
207 #define MEC_ESPI_IO_OOBTXIEN_CHEN_CHG_Msk (0x2UL)                   /*!< CHEN_CHG (Bitfield-Mask: 0x01)                        */
208 /* =======================================================  OOBTXSTS  ======================================================== */
209 #define MEC_ESPI_IO_OOBTXSTS_DONE_Pos     (0UL)                     /*!< DONE (Bit 0)                                          */
210 #define MEC_ESPI_IO_OOBTXSTS_DONE_Msk     (0x1UL)                   /*!< DONE (Bitfield-Mask: 0x01)                            */
211 #define MEC_ESPI_IO_OOBTXSTS_CHEN_CHG_Pos (1UL)                     /*!< CHEN_CHG (Bit 1)                                      */
212 #define MEC_ESPI_IO_OOBTXSTS_CHEN_CHG_Msk (0x2UL)                   /*!< CHEN_CHG (Bitfield-Mask: 0x01)                        */
213 #define MEC_ESPI_IO_OOBTXSTS_EC_BUS_ERR_Pos (2UL)                   /*!< EC_BUS_ERR (Bit 2)                                    */
214 #define MEC_ESPI_IO_OOBTXSTS_EC_BUS_ERR_Msk (0x4UL)                 /*!< EC_BUS_ERR (Bitfield-Mask: 0x01)                      */
215 #define MEC_ESPI_IO_OOBTXSTS_START_OVRUN_Pos (3UL)                  /*!< START_OVRUN (Bit 3)                                   */
216 #define MEC_ESPI_IO_OOBTXSTS_START_OVRUN_Msk (0x8UL)                /*!< START_OVRUN (Bitfield-Mask: 0x01)                     */
217 #define MEC_ESPI_IO_OOBTXSTS_BAD_REQ_Pos  (5UL)                     /*!< BAD_REQ (Bit 5)                                       */
218 #define MEC_ESPI_IO_OOBTXSTS_BAD_REQ_Msk  (0x20UL)                  /*!< BAD_REQ (Bitfield-Mask: 0x01)                         */
219 #define MEC_ESPI_IO_OOBTXSTS_BUSY_Pos     (8UL)                     /*!< BUSY (Bit 8)                                          */
220 #define MEC_ESPI_IO_OOBTXSTS_BUSY_Msk     (0x100UL)                 /*!< BUSY (Bitfield-Mask: 0x01)                            */
221 #define MEC_ESPI_IO_OOBTXSTS_CHEN_STATE_Pos (9UL)                   /*!< CHEN_STATE (Bit 9)                                    */
222 #define MEC_ESPI_IO_OOBTXSTS_CHEN_STATE_Msk (0x200UL)               /*!< CHEN_STATE (Bitfield-Mask: 0x01)                      */
223 /* =========================================================  FCFA  ========================================================== */
224 /* =========================================================  FCBA  ========================================================== */
225 /* =========================================================  FCLEN  ========================================================= */
226 /* =========================================================  FCCTL  ========================================================= */
227 #define MEC_ESPI_IO_FCCTL_START_Pos       (0UL)                     /*!< START (Bit 0)                                         */
228 #define MEC_ESPI_IO_FCCTL_START_Msk       (0x1UL)                   /*!< START (Bitfield-Mask: 0x01)                           */
229 #define MEC_ESPI_IO_FCCTL_OP_Pos          (2UL)                     /*!< OP (Bit 2)                                            */
230 #define MEC_ESPI_IO_FCCTL_OP_Msk          (0xcUL)                   /*!< OP (Bitfield-Mask: 0x03)                              */
231 #define MEC_ESPI_IO_FCCTL_TAG_Pos         (4UL)                     /*!< TAG (Bit 4)                                           */
232 #define MEC_ESPI_IO_FCCTL_TAG_Msk         (0xf0UL)                  /*!< TAG (Bitfield-Mask: 0x0f)                             */
233 #define MEC_ESPI_IO_FCCTL_ABORT_Pos       (16UL)                    /*!< ABORT (Bit 16)                                        */
234 #define MEC_ESPI_IO_FCCTL_ABORT_Msk       (0x10000UL)               /*!< ABORT (Bitfield-Mask: 0x01)                           */
235 /* =========================================================  FCIEN  ========================================================= */
236 #define MEC_ESPI_IO_FCIEN_DONE_Pos        (0UL)                     /*!< DONE (Bit 0)                                          */
237 #define MEC_ESPI_IO_FCIEN_DONE_Msk        (0x1UL)                   /*!< DONE (Bitfield-Mask: 0x01)                            */
238 #define MEC_ESPI_IO_FCIEN_CHEN_CHG_Pos    (1UL)                     /*!< CHEN_CHG (Bit 1)                                      */
239 #define MEC_ESPI_IO_FCIEN_CHEN_CHG_Msk    (0x2UL)                   /*!< CHEN_CHG (Bitfield-Mask: 0x01)                        */
240 /* =========================================================  FCCFG  ========================================================= */
241 #define MEC_ESPI_IO_FCCFG_BUSY_Pos        (0UL)                     /*!< BUSY (Bit 0)                                          */
242 #define MEC_ESPI_IO_FCCFG_BUSY_Msk        (0x1UL)                   /*!< BUSY (Bitfield-Mask: 0x01)                            */
243 #define MEC_ESPI_IO_FCCFG_EBSZ_Pos        (2UL)                     /*!< EBSZ (Bit 2)                                          */
244 #define MEC_ESPI_IO_FCCFG_EBSZ_Msk        (0x1cUL)                  /*!< EBSZ (Bitfield-Mask: 0x07)                            */
245 #define MEC_ESPI_IO_FCCFG_MAX_PLD_SZ_Pos  (8UL)                     /*!< MAX_PLD_SZ (Bit 8)                                    */
246 #define MEC_ESPI_IO_FCCFG_MAX_PLD_SZ_Msk  (0x700UL)                 /*!< MAX_PLD_SZ (Bitfield-Mask: 0x07)                      */
247 #define MEC_ESPI_IO_FCCFG_TAF_MODE_Pos    (11UL)                    /*!< TAF_MODE (Bit 11)                                     */
248 #define MEC_ESPI_IO_FCCFG_TAF_MODE_Msk    (0x800UL)                 /*!< TAF_MODE (Bitfield-Mask: 0x01)                        */
249 #define MEC_ESPI_IO_FCCFG_MAX_RD_REQ_SZ_Pos (12UL)                  /*!< MAX_RD_REQ_SZ (Bit 12)                                */
250 #define MEC_ESPI_IO_FCCFG_MAX_RD_REQ_SZ_Msk (0x7000UL)              /*!< MAX_RD_REQ_SZ (Bitfield-Mask: 0x07)                   */
251 #define MEC_ESPI_IO_FCCFG_FORCE_CAF_TAF_Pos (28UL)                  /*!< FORCE_CAF_TAF (Bit 28)                                */
252 #define MEC_ESPI_IO_FCCFG_FORCE_CAF_TAF_Msk (0x30000000UL)          /*!< FORCE_CAF_TAF (Bitfield-Mask: 0x03)                   */
253 /* =========================================================  FCSTS  ========================================================= */
254 #define MEC_ESPI_IO_FCSTS_CHEN_VAL_Pos    (0UL)                     /*!< CHEN_VAL (Bit 0)                                      */
255 #define MEC_ESPI_IO_FCSTS_CHEN_VAL_Msk    (0x1UL)                   /*!< CHEN_VAL (Bitfield-Mask: 0x01)                        */
256 #define MEC_ESPI_IO_FCSTS_CHEN_CHG_Pos    (1UL)                     /*!< CHEN_CHG (Bit 1)                                      */
257 #define MEC_ESPI_IO_FCSTS_CHEN_CHG_Msk    (0x2UL)                   /*!< CHEN_CHG (Bitfield-Mask: 0x01)                        */
258 #define MEC_ESPI_IO_FCSTS_DONE_Pos        (2UL)                     /*!< DONE (Bit 2)                                          */
259 #define MEC_ESPI_IO_FCSTS_DONE_Msk        (0x4UL)                   /*!< DONE (Bitfield-Mask: 0x01)                            */
260 #define MEC_ESPI_IO_FCSTS_DIS_BY_HOST_Pos (3UL)                     /*!< DIS_BY_HOST (Bit 3)                                   */
261 #define MEC_ESPI_IO_FCSTS_DIS_BY_HOST_Msk (0x8UL)                   /*!< DIS_BY_HOST (Bitfield-Mask: 0x01)                     */
262 #define MEC_ESPI_IO_FCSTS_EC_BUS_ERR_Pos  (4UL)                     /*!< EC_BUS_ERR (Bit 4)                                    */
263 #define MEC_ESPI_IO_FCSTS_EC_BUS_ERR_Msk  (0x10UL)                  /*!< EC_BUS_ERR (Bitfield-Mask: 0x01)                      */
264 #define MEC_ESPI_IO_FCSTS_ABORT_FW_Pos    (5UL)                     /*!< ABORT_FW (Bit 5)                                      */
265 #define MEC_ESPI_IO_FCSTS_ABORT_FW_Msk    (0x20UL)                  /*!< ABORT_FW (Bitfield-Mask: 0x01)                        */
266 #define MEC_ESPI_IO_FCSTS_DATA_OVRUN_Pos  (6UL)                     /*!< DATA_OVRUN (Bit 6)                                    */
267 #define MEC_ESPI_IO_FCSTS_DATA_OVRUN_Msk  (0x40UL)                  /*!< DATA_OVRUN (Bitfield-Mask: 0x01)                      */
268 #define MEC_ESPI_IO_FCSTS_DATA_INCOMPL_Pos (7UL)                    /*!< DATA_INCOMPL (Bit 7)                                  */
269 #define MEC_ESPI_IO_FCSTS_DATA_INCOMPL_Msk (0x80UL)                 /*!< DATA_INCOMPL (Bitfield-Mask: 0x01)                    */
270 #define MEC_ESPI_IO_FCSTS_FAIL_Pos        (8UL)                     /*!< FAIL (Bit 8)                                          */
271 #define MEC_ESPI_IO_FCSTS_FAIL_Msk        (0x100UL)                 /*!< FAIL (Bitfield-Mask: 0x01)                            */
272 #define MEC_ESPI_IO_FCSTS_START_OVRFL_Pos (9UL)                     /*!< START_OVRFL (Bit 9)                                   */
273 #define MEC_ESPI_IO_FCSTS_START_OVRFL_Msk (0x200UL)                 /*!< START_OVRFL (Bitfield-Mask: 0x01)                     */
274 #define MEC_ESPI_IO_FCSTS_BAD_REQ_Pos     (11UL)                    /*!< BAD_REQ (Bit 11)                                      */
275 #define MEC_ESPI_IO_FCSTS_BAD_REQ_Msk     (0x800UL)                 /*!< BAD_REQ (Bitfield-Mask: 0x01)                         */
276 /* =========================================================  VWSTS  ========================================================= */
277 #define MEC_ESPI_IO_VWSTS_CHEN_Pos        (0UL)                     /*!< CHEN (Bit 0)                                          */
278 #define MEC_ESPI_IO_VWSTS_CHEN_Msk        (0x1UL)                   /*!< CHEN (Bitfield-Mask: 0x01)                            */
279 /* =========================================================  CAPID  ========================================================= */
280 /* =========================================================  CAP0  ========================================================== */
281 #define MEC_ESPI_IO_CAP0_PC_SUPP_Pos      (0UL)                     /*!< PC_SUPP (Bit 0)                                       */
282 #define MEC_ESPI_IO_CAP0_PC_SUPP_Msk      (0x1UL)                   /*!< PC_SUPP (Bitfield-Mask: 0x01)                         */
283 #define MEC_ESPI_IO_CAP0_VW_SUPP_Pos      (1UL)                     /*!< VW_SUPP (Bit 1)                                       */
284 #define MEC_ESPI_IO_CAP0_VW_SUPP_Msk      (0x2UL)                   /*!< VW_SUPP (Bitfield-Mask: 0x01)                         */
285 #define MEC_ESPI_IO_CAP0_OOB_SUPP_Pos     (2UL)                     /*!< OOB_SUPP (Bit 2)                                      */
286 #define MEC_ESPI_IO_CAP0_OOB_SUPP_Msk     (0x4UL)                   /*!< OOB_SUPP (Bitfield-Mask: 0x01)                        */
287 #define MEC_ESPI_IO_CAP0_FC_SUPP_Pos      (3UL)                     /*!< FC_SUPP (Bit 3)                                       */
288 #define MEC_ESPI_IO_CAP0_FC_SUPP_Msk      (0x8UL)                   /*!< FC_SUPP (Bitfield-Mask: 0x01)                         */
289 /* =========================================================  CAP1  ========================================================== */
290 #define MEC_ESPI_IO_CAP1_MAX_FREQ_SUPP_Pos (0UL)                    /*!< MAX_FREQ_SUPP (Bit 0)                                 */
291 #define MEC_ESPI_IO_CAP1_MAX_FREQ_SUPP_Msk (0x7UL)                  /*!< MAX_FREQ_SUPP (Bitfield-Mask: 0x07)                   */
292 #define MEC_ESPI_IO_CAP1_ALERT_MODE_SUPP_Pos (3UL)                  /*!< ALERT_MODE_SUPP (Bit 3)                               */
293 #define MEC_ESPI_IO_CAP1_ALERT_MODE_SUPP_Msk (0x8UL)                /*!< ALERT_MODE_SUPP (Bitfield-Mask: 0x01)                 */
294 #define MEC_ESPI_IO_CAP1_IO_MODE_SUPP_Pos (4UL)                     /*!< IO_MODE_SUPP (Bit 4)                                  */
295 #define MEC_ESPI_IO_CAP1_IO_MODE_SUPP_Msk (0x30UL)                  /*!< IO_MODE_SUPP (Bitfield-Mask: 0x03)                    */
296 #define MEC_ESPI_IO_CAP1_ALERT_OD_SUPP_Pos (6UL)                    /*!< ALERT_OD_SUPP (Bit 6)                                 */
297 #define MEC_ESPI_IO_CAP1_ALERT_OD_SUPP_Msk (0x40UL)                 /*!< ALERT_OD_SUPP (Bitfield-Mask: 0x01)                   */
298 #define MEC_ESPI_IO_CAP1_ALERT_OD_SEL_Pos (7UL)                     /*!< ALERT_OD_SEL (Bit 7)                                  */
299 #define MEC_ESPI_IO_CAP1_ALERT_OD_SEL_Msk (0x80UL)                  /*!< ALERT_OD_SEL (Bitfield-Mask: 0x01)                    */
300 /* =========================================================  CAPPC  ========================================================= */
301 #define MEC_ESPI_IO_CAPPC_PC_MAX_PLD_Pos  (0UL)                     /*!< PC_MAX_PLD (Bit 0)                                    */
302 #define MEC_ESPI_IO_CAPPC_PC_MAX_PLD_Msk  (0x7UL)                   /*!< PC_MAX_PLD (Bitfield-Mask: 0x07)                      */
303 /* =========================================================  CAPVW  ========================================================= */
304 #define MEC_ESPI_IO_CAPVW_MAX_VW_CNT_Pos  (0UL)                     /*!< MAX_VW_CNT (Bit 0)                                    */
305 #define MEC_ESPI_IO_CAPVW_MAX_VW_CNT_Msk  (0x3fUL)                  /*!< MAX_VW_CNT (Bitfield-Mask: 0x3f)                      */
306 /* ========================================================  CAPOOB  ========================================================= */
307 #define MEC_ESPI_IO_CAPOOB_MAX_PLD_SIZE_Pos (0UL)                   /*!< MAX_PLD_SIZE (Bit 0)                                  */
308 #define MEC_ESPI_IO_CAPOOB_MAX_PLD_SIZE_Msk (0x7UL)                 /*!< MAX_PLD_SIZE (Bitfield-Mask: 0x07)                    */
309 /* =========================================================  CAPFC  ========================================================= */
310 #define MEC_ESPI_IO_CAPFC_MAX_PLD_SIZE_Pos (0UL)                    /*!< MAX_PLD_SIZE (Bit 0)                                  */
311 #define MEC_ESPI_IO_CAPFC_MAX_PLD_SIZE_Msk (0x7UL)                  /*!< MAX_PLD_SIZE (Bitfield-Mask: 0x07)                    */
312 #define MEC_ESPI_IO_CAPFC_SHARING_SUPP_Pos (3UL)                    /*!< SHARING_SUPP (Bit 3)                                  */
313 #define MEC_ESPI_IO_CAPFC_SHARING_SUPP_Msk (0x18UL)                 /*!< SHARING_SUPP (Bitfield-Mask: 0x03)                    */
314 #define MEC_ESPI_IO_CAPFC_TAF_MAX_READ_SIZE_Pos (5UL)               /*!< TAF_MAX_READ_SIZE (Bit 5)                             */
315 #define MEC_ESPI_IO_CAPFC_TAF_MAX_READ_SIZE_Msk (0xe0UL)            /*!< TAF_MAX_READ_SIZE (Bitfield-Mask: 0x07)               */
316 /* =========================================================  PCRDY  ========================================================= */
317 #define MEC_ESPI_IO_PCRDY_PC_READY_Pos    (0UL)                     /*!< PC_READY (Bit 0)                                      */
318 #define MEC_ESPI_IO_PCRDY_PC_READY_Msk    (0x1UL)                   /*!< PC_READY (Bitfield-Mask: 0x01)                        */
319 /* ========================================================  OOBRDY  ========================================================= */
320 #define MEC_ESPI_IO_OOBRDY_OOB_READY_Pos  (0UL)                     /*!< OOB_READY (Bit 0)                                     */
321 #define MEC_ESPI_IO_OOBRDY_OOB_READY_Msk  (0x1UL)                   /*!< OOB_READY (Bitfield-Mask: 0x01)                       */
322 /* =========================================================  FCRDY  ========================================================= */
323 #define MEC_ESPI_IO_FCRDY_FC_READY_Pos    (0UL)                     /*!< FC_READY (Bit 0)                                      */
324 #define MEC_ESPI_IO_FCRDY_FC_READY_Msk    (0x1UL)                   /*!< FC_READY (Bitfield-Mask: 0x01)                        */
325 /* =========================================================  ERIS  ========================================================== */
326 #define MEC_ESPI_IO_ERIS_CHG_Pos          (0UL)                     /*!< CHG (Bit 0)                                           */
327 #define MEC_ESPI_IO_ERIS_CHG_Msk          (0x1UL)                   /*!< CHG (Bitfield-Mask: 0x01)                             */
328 #define MEC_ESPI_IO_ERIS_STATE_Pos        (1UL)                     /*!< STATE (Bit 1)                                         */
329 #define MEC_ESPI_IO_ERIS_STATE_Msk        (0x2UL)                   /*!< STATE (Bitfield-Mask: 0x01)                           */
330 /* =========================================================  ERIE  ========================================================== */
331 #define MEC_ESPI_IO_ERIE_CHG_INTR_Pos     (0UL)                     /*!< CHG_INTR (Bit 0)                                      */
332 #define MEC_ESPI_IO_ERIE_CHG_INTR_Msk     (0x1UL)                   /*!< CHG_INTR (Bitfield-Mask: 0x01)                        */
333 /* ======================================================  PLTRST_SRC  ======================================================= */
334 #define MEC_ESPI_IO_PLTRST_SRC_SEL_Pos    (0UL)                     /*!< SEL (Bit 0)                                           */
335 #define MEC_ESPI_IO_PLTRST_SRC_SEL_Msk    (0x1UL)                   /*!< SEL (Bitfield-Mask: 0x01)                             */
336 /* =========================================================  VWRDY  ========================================================= */
337 #define MEC_ESPI_IO_VWRDY_VW_READY_Pos    (0UL)                     /*!< VW_READY (Bit 0)                                      */
338 #define MEC_ESPI_IO_VWRDY_VW_READY_Msk    (0x1UL)                   /*!< VW_READY (Bitfield-Mask: 0x01)                        */
339 /* ========================================================  TAFEBS  ========================================================= */
340 #define MEC_ESPI_IO_TAFEBS_1KB_Pos        (0UL)                     /*!< 1KB (Bit 0)                                           */
341 #define MEC_ESPI_IO_TAFEBS_1KB_Msk        (0x1UL)                   /*!< 1KB (Bitfield-Mask: 0x01)                             */
342 #define MEC_ESPI_IO_TAFEBS_2KB_Pos        (1UL)                     /*!< 2KB (Bit 1)                                           */
343 #define MEC_ESPI_IO_TAFEBS_2KB_Msk        (0x2UL)                   /*!< 2KB (Bitfield-Mask: 0x01)                             */
344 #define MEC_ESPI_IO_TAFEBS_4KB_Pos        (2UL)                     /*!< 4KB (Bit 2)                                           */
345 #define MEC_ESPI_IO_TAFEBS_4KB_Msk        (0x4UL)                   /*!< 4KB (Bitfield-Mask: 0x01)                             */
346 #define MEC_ESPI_IO_TAFEBS_8KB_Pos        (3UL)                     /*!< 8KB (Bit 3)                                           */
347 #define MEC_ESPI_IO_TAFEBS_8KB_Msk        (0x8UL)                   /*!< 8KB (Bitfield-Mask: 0x01)                             */
348 #define MEC_ESPI_IO_TAFEBS_16KB_Pos       (4UL)                     /*!< 16KB (Bit 4)                                          */
349 #define MEC_ESPI_IO_TAFEBS_16KB_Msk       (0x10UL)                  /*!< 16KB (Bitfield-Mask: 0x01)                            */
350 #define MEC_ESPI_IO_TAFEBS_32KB_Pos       (5UL)                     /*!< 32KB (Bit 5)                                          */
351 #define MEC_ESPI_IO_TAFEBS_32KB_Msk       (0x20UL)                  /*!< 32KB (Bitfield-Mask: 0x01)                            */
352 #define MEC_ESPI_IO_TAFEBS_64KB_Pos       (6UL)                     /*!< 64KB (Bit 6)                                          */
353 #define MEC_ESPI_IO_TAFEBS_64KB_Msk       (0x40UL)                  /*!< 64KB (Bitfield-Mask: 0x01)                            */
354 #define MEC_ESPI_IO_TAFEBS_128KB_Pos      (7UL)                     /*!< 128KB (Bit 7)                                         */
355 #define MEC_ESPI_IO_TAFEBS_128KB_Msk      (0x80UL)                  /*!< 128KB (Bitfield-Mask: 0x01)                           */
356 /* =====================================================  RPMC_OP1_CFG  ====================================================== */
357 #define MEC_ESPI_IO_RPMC_OP1_CFG_CS0_040_Pos (0UL)                  /*!< CS0_040 (Bit 0)                                       */
358 #define MEC_ESPI_IO_RPMC_OP1_CFG_CS0_040_Msk (0x1UL)                /*!< CS0_040 (Bitfield-Mask: 0x01)                         */
359 #define MEC_ESPI_IO_RPMC_OP1_CFG_CS0_848_Pos (1UL)                  /*!< CS0_848 (Bit 1)                                       */
360 #define MEC_ESPI_IO_RPMC_OP1_CFG_CS0_848_Msk (0x2UL)                /*!< CS0_848 (Bitfield-Mask: 0x01)                         */
361 #define MEC_ESPI_IO_RPMC_OP1_CFG_CS1_040_Pos (2UL)                  /*!< CS1_040 (Bit 2)                                       */
362 #define MEC_ESPI_IO_RPMC_OP1_CFG_CS1_040_Msk (0x4UL)                /*!< CS1_040 (Bitfield-Mask: 0x01)                         */
363 #define MEC_ESPI_IO_RPMC_OP1_CFG_CS1_848_Pos (3UL)                  /*!< CS1_848 (Bit 3)                                       */
364 #define MEC_ESPI_IO_RPMC_OP1_CFG_CS1_848_Msk (0x8UL)                /*!< CS1_848 (Bitfield-Mask: 0x01)                         */
365 #define MEC_ESPI_IO_RPMC_OP1_CFG_CS0_PNP_Pos (4UL)                  /*!< CS0_PNP (Bit 4)                                       */
366 #define MEC_ESPI_IO_RPMC_OP1_CFG_CS0_PNP_Msk (0x10UL)               /*!< CS0_PNP (Bitfield-Mask: 0x01)                         */
367 #define MEC_ESPI_IO_RPMC_OP1_CFG_CS1_PNP_Pos (5UL)                  /*!< CS1_PNP (Bit 5)                                       */
368 #define MEC_ESPI_IO_RPMC_OP1_CFG_CS1_PNP_Msk (0x20UL)               /*!< CS1_PNP (Bitfield-Mask: 0x01)                         */
369 #define MEC_ESPI_IO_RPMC_OP1_CFG_NUM_RPMC_DEV_Pos (6UL)             /*!< NUM_RPMC_DEV (Bit 6)                                  */
370 #define MEC_ESPI_IO_RPMC_OP1_CFG_NUM_RPMC_DEV_Msk (0xc0UL)          /*!< NUM_RPMC_DEV (Bitfield-Mask: 0x03)                    */
371 #define MEC_ESPI_IO_RPMC_OP1_CFG_TOTAL_NCNTR_Pos (8UL)              /*!< TOTAL_NCNTR (Bit 8)                                   */
372 #define MEC_ESPI_IO_RPMC_OP1_CFG_TOTAL_NCNTR_Msk (0x3f00UL)         /*!< TOTAL_NCNTR (Bitfield-Mask: 0x3f)                     */
373 #define MEC_ESPI_IO_RPMC_OP1_CFG_STRICT_RCT_Pos (31UL)              /*!< STRICT_RCT (Bit 31)                                   */
374 #define MEC_ESPI_IO_RPMC_OP1_CFG_STRICT_RCT_Msk (0x80000000UL)      /*!< STRICT_RCT (Bitfield-Mask: 0x01)                      */
375 /* ====================================================  RPMC_OP1_NCNTRS  ==================================================== */
376 #define MEC_ESPI_IO_RPMC_OP1_NCNTRS_CS0_OP1_Pos (0UL)               /*!< CS0_OP1 (Bit 0)                                       */
377 #define MEC_ESPI_IO_RPMC_OP1_NCNTRS_CS0_OP1_Msk (0xffUL)            /*!< CS0_OP1 (Bitfield-Mask: 0xff)                         */
378 #define MEC_ESPI_IO_RPMC_OP1_NCNTRS_CS0_COUNT_Pos (8UL)             /*!< CS0_COUNT (Bit 8)                                     */
379 #define MEC_ESPI_IO_RPMC_OP1_NCNTRS_CS0_COUNT_Msk (0x1f00UL)        /*!< CS0_COUNT (Bitfield-Mask: 0x1f)                       */
380 #define MEC_ESPI_IO_RPMC_OP1_NCNTRS_CS1_OP1_Pos (16UL)              /*!< CS1_OP1 (Bit 16)                                      */
381 #define MEC_ESPI_IO_RPMC_OP1_NCNTRS_CS1_OP1_Msk (0xff0000UL)        /*!< CS1_OP1 (Bitfield-Mask: 0xff)                         */
382 #define MEC_ESPI_IO_RPMC_OP1_NCNTRS_CS1_COUNT_Pos (24UL)            /*!< CS1_COUNT (Bit 24)                                    */
383 #define MEC_ESPI_IO_RPMC_OP1_NCNTRS_CS1_COUNT_Msk (0x1f000000UL)    /*!< CS1_COUNT (Bitfield-Mask: 0x1f)                       */
384 /* =========================================================  ACTV  ========================================================== */
385 #define MEC_ESPI_IO_ACTV_EN_Pos           (0UL)                     /*!< EN (Bit 0)                                            */
386 #define MEC_ESPI_IO_ACTV_EN_Msk           (0x1UL)                   /*!< EN (Bitfield-Mask: 0x01)                              */
387 /* =======================================================  HOST_BAR  ======================================================== */
388 #define MEC_ESPI_IO_HOST_BAR_VALID_Pos    (0UL)                     /*!< VALID (Bit 0)                                         */
389 #define MEC_ESPI_IO_HOST_BAR_VALID_Msk    (0x1UL)                   /*!< VALID (Bitfield-Mask: 0x01)                           */
390 #define MEC_ESPI_IO_HOST_BAR_HOST_IO_ADDR_B15_0_Pos (16UL)          /*!< HOST_IO_ADDR_B15_0 (Bit 16)                           */
391 #define MEC_ESPI_IO_HOST_BAR_HOST_IO_ADDR_B15_0_Msk (0xffff0000UL)  /*!< HOST_IO_ADDR_B15_0 (Bitfield-Mask: 0xffff)            */
392 /* ========================================================  SERIRQ  ========================================================= */
393 /* =========================================================  VWERR  ========================================================= */
394 #define MEC_ESPI_IO_VWERR_FATAL_ERR_Pos   (0UL)                     /*!< FATAL_ERR (Bit 0)                                     */
395 #define MEC_ESPI_IO_VWERR_FATAL_ERR_Msk   (0x1UL)                   /*!< FATAL_ERR (Bitfield-Mask: 0x01)                       */
396 #define MEC_ESPI_IO_VWERR_FATAL_ERR_CLR_Pos (1UL)                   /*!< FATAL_ERR_CLR (Bit 1)                                 */
397 #define MEC_ESPI_IO_VWERR_FATAL_ERR_CLR_Msk (0x2UL)                 /*!< FATAL_ERR_CLR (Bitfield-Mask: 0x01)                   */
398 #define MEC_ESPI_IO_VWERR_NON_FATAL_ERR_Pos (4UL)                   /*!< NON_FATAL_ERR (Bit 4)                                 */
399 #define MEC_ESPI_IO_VWERR_NON_FATAL_ERR_Msk (0x10UL)                /*!< NON_FATAL_ERR (Bitfield-Mask: 0x01)                   */
400 #define MEC_ESPI_IO_VWERR_NON_FATAL_ERR_CLR_Pos (5UL)               /*!< NON_FATAL_ERR_CLR (Bit 5)                             */
401 #define MEC_ESPI_IO_VWERR_NON_FATAL_ERR_CLR_Msk (0x20UL)            /*!< NON_FATAL_ERR_CLR (Bitfield-Mask: 0x01)               */
402 
403 /** @} */ /* End of group PosMask_peripherals */
404 
405 
406 /** @addtogroup EnumValue_peripherals
407   * @{
408   */
409 /* ================================================  MEC_ESPI_IO EC_LDN_MSK  ================================================= */
410 typedef enum {                                  /*!< MEC_ESPI_IO_EC_LDN_MSK                                                    */
411   MEC_ESPI_IO_EC_LDN_MSK_IOC           = 0,     /*!< IOC : eSPI I/O component configuration LDN and I/O mask                   */
412   MEC_ESPI_IO_EC_LDN_MSK_IOM           = 1,     /*!< IOM : eSPI memory component configuration LDN and I/O mask                */
413   MEC_ESPI_IO_EC_LDN_MSK_MBOX          = 2,     /*!< MBOX : eSPI Mailbox LDN and I/O mask                                      */
414   MEC_ESPI_IO_EC_LDN_MSK_KBC           = 3,     /*!< KBC : eSPI Keyboard controller LDN and I/O mask                           */
415   MEC_ESPI_IO_EC_LDN_MSK_ACPI_EC0      = 4,     /*!< ACPI_EC0 : eSPI ACPI EC0 LDN and I/O mask                                 */
416   MEC_ESPI_IO_EC_LDN_MSK_ACPI_EC1      = 5,     /*!< ACPI_EC1 : eSPI ACPI EC1 LDN and I/O mask                                 */
417   MEC_ESPI_IO_EC_LDN_MSK_ACPI_EC2      = 6,     /*!< ACPI_EC2 : eSPI ACPI EC2 LDN and I/O mask                                 */
418   MEC_ESPI_IO_EC_LDN_MSK_ACPI_EC3      = 7,     /*!< ACPI_EC3 : eSPI ACPI EC3 LDN and I/O mask                                 */
419   MEC_ESPI_IO_EC_LDN_MSK_ACPI_EC4      = 8,     /*!< ACPI_EC4 : eSPI ACPI EC4 LDN and I/O mask                                 */
420   MEC_ESPI_IO_EC_LDN_MSK_ACPI_PM1      = 9,     /*!< ACPI_PM1 : eSPI ACPI PM1 LDN and I/O mask                                 */
421   MEC_ESPI_IO_EC_LDN_MSK_KB_PORT92     = 10,    /*!< KB_PORT92 : eSPI Keyboard Port 92h LDN and I/O mask                       */
422   MEC_ESPI_IO_EC_LDN_MSK_UART0         = 11,    /*!< UART0 : eSPI UART0 LDN and I/O mask                                       */
423   MEC_ESPI_IO_EC_LDN_MSK_UART1         = 12,    /*!< UART1 : eSPI UART1 LDN and I/O mask                                       */
424   MEC_ESPI_IO_EC_LDN_MSK_EMI0          = 13,    /*!< EMI0 : eSPI EMI0 LDN and I/O mask                                         */
425   MEC_ESPI_IO_EC_LDN_MSK_EMI1          = 14,    /*!< EMI1 : eSPI EMI1 LDN and I/O mask                                         */
426   MEC_ESPI_IO_EC_LDN_MSK_EMI2          = 15,    /*!< EMI2 : eSPI EMI2 LDN and I/O mask                                         */
427   MEC_ESPI_IO_EC_LDN_MSK_BDBG0         = 16,    /*!< BDBG0 : eSPI BIOS Debug (port 80h capture) LDN and I/O mask               */
428   MEC_ESPI_IO_EC_LDN_MSK_BDBG0_ALIAS   = 17,    /*!< BDBG0_ALIAS : eSPI BIOS Debug (port 80h alias address capture)
429                                                      LDN and I/O mask                                                          */
430   MEC_ESPI_IO_EC_LDN_MSK_RTC0          = 18,    /*!< RTC0 : eSPI RTC0 LDN and I/O mask                                         */
431   MEC_ESPI_IO_EC_LDN_MSK_RSVD19        = 19,    /*!< RSVD19 : eSPI Reserved LDN and I/O mask                                   */
432   MEC_ESPI_IO_EC_LDN_MSK_RSVD20        = 20,    /*!< RSVD20 : eSPI Reserved LDN and I/O mask                                   */
433   MEC_ESPI_IO_EC_LDN_MSK_UART2         = 21,    /*!< UART2 : UART2 LDN and I/O mask                                            */
434   MEC_ESPI_IO_EC_LDN_MSK_GLUE          = 22,    /*!< GLUE : eSPI Glue Logic LDN and I/O mask                                   */
435   MEC_ESPI_IO_EC_LDN_MSK_UART3         = 23,    /*!< UART3 : UART3 LDN and I/O mask                                            */
436   MEC_ESPI_IO_EC_LDN_MSK_RSVD24        = 24,    /*!< RSVD24 : eSPI Reserved LDN and I/O mask                                   */
437 } MEC_ESPI_IO_EC_LDN_MSK_Enum;
438 
439 /* =======================================================  PCLTRSTS  ======================================================== */
440 /* ========================================================  PCLTREN  ======================================================== */
441 /* =======================================================  PCLTRCTL  ======================================================== */
442 /* ========================================  MEC_ESPI_IO PCLTRCTL LTR_TX_TAG [8..11]  ======================================== */
443 typedef enum {                                  /*!< MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG                                           */
444   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG0 = 0, /*!< LTR_TAG0 : TAG 0 value                                                    */
445   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG1 = 1, /*!< LTR_TAG1 : TAG 1 value                                                    */
446   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG2 = 2, /*!< LTR_TAG2 : TAG 2 value                                                    */
447   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG3 = 3, /*!< LTR_TAG3 : TAG 3 value                                                    */
448   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG4 = 4, /*!< LTR_TAG4 : TAG 4 value                                                    */
449   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG5 = 5, /*!< LTR_TAG5 : TAG 5 value                                                    */
450   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG6 = 6, /*!< LTR_TAG6 : TAG 6 value                                                    */
451   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG7 = 7, /*!< LTR_TAG7 : TAG 7 value                                                    */
452   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG8 = 8, /*!< LTR_TAG8 : TAG 8 value                                                    */
453   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG9 = 9, /*!< LTR_TAG9 : TAG 9 value                                                    */
454   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG10 = 10,/*!< LTR_TAG10 : TAG 10 value                                                 */
455   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG11 = 11,/*!< LTR_TAG11 : TAG 11 value                                                 */
456   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG12 = 12,/*!< LTR_TAG12 : TAG 12 value                                                 */
457   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG13 = 13,/*!< LTR_TAG13 : TAG 13 value                                                 */
458   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG14 = 14,/*!< LTR_TAG14 : TAG 14 value                                                 */
459   MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_LTR_TAG15 = 15,/*!< LTR_TAG15 : TAG 15 value                                                 */
460 } MEC_ESPI_IO_PCLTRCTL_LTR_TX_TAG_Enum;
461 
462 /* ========================================================  PCLTRM  ========================================================= */
463 /* ========================================================  OOBRXA  ========================================================= */
464 /* ========================================================  OOBTXA  ========================================================= */
465 /* ========================================================  OOBRXL  ========================================================= */
466 /* ========================================================  OOBTXL  ========================================================= */
467 /* ========================================================  OOBRXC  ========================================================= */
468 /* ========================================  MEC_ESPI_IO OOBRXC MAX_PLD_SZ [16..18]  ========================================= */
469 typedef enum {                                  /*!< MEC_ESPI_IO_OOBRXC_MAX_PLD_SZ                                             */
470   MEC_ESPI_IO_OOBRXC_MAX_PLD_SZ_73B    = 1,     /*!< 73B : OOB max. payload size is 73 = 64 + 9(MCTP wrapper) bytes            */
471   MEC_ESPI_IO_OOBRXC_MAX_PLD_SZ_137B   = 2,     /*!< 137B : OOB max. payload size is 137 = 128 + 9(MCTP wrapper)
472                                                      bytes                                                                     */
473   MEC_ESPI_IO_OOBRXC_MAX_PLD_SZ_265B   = 3,     /*!< 265B : OOB max. payload size is 265 = 256 + 9(MCTP wrapper)
474                                                      bytes                                                                     */
475 } MEC_ESPI_IO_OOBRXC_MAX_PLD_SZ_Enum;
476 
477 /* =======================================================  OOBRXIEN  ======================================================== */
478 /* =======================================================  OOBRXSTS  ======================================================== */
479 /* ========================================  MEC_ESPI_IO OOBRXSTS OOB_RX_TAG [8..11]  ======================================== */
480 typedef enum {                                  /*!< MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG                                           */
481   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG0 = 0,/*!< OOB_RX_TAG0 : TAG 0 value                                               */
482   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG1 = 1,/*!< OOB_RX_TAG1 : TAG 1 value                                               */
483   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG2 = 2,/*!< OOB_RX_TAG2 : TAG 2 value                                               */
484   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG3 = 3,/*!< OOB_RX_TAG3 : TAG 3 value                                               */
485   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG4 = 4,/*!< OOB_RX_TAG4 : TAG 4 value                                               */
486   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG5 = 5,/*!< OOB_RX_TAG5 : TAG 5 value                                               */
487   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG6 = 6,/*!< OOB_RX_TAG6 : TAG 6 value                                               */
488   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG7 = 7,/*!< OOB_RX_TAG7 : TAG 7 value                                               */
489   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG8 = 8,/*!< OOB_RX_TAG8 : TAG 8 value                                               */
490   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG9 = 9,/*!< OOB_RX_TAG9 : TAG 9 value                                               */
491   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG10 = 10,/*!< OOB_RX_TAG10 : TAG 10 value                                           */
492   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG11 = 11,/*!< OOB_RX_TAG11 : TAG 11 value                                           */
493   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG12 = 12,/*!< OOB_RX_TAG12 : TAG 12 value                                           */
494   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG13 = 13,/*!< OOB_RX_TAG13 : TAG 13 value                                           */
495   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG14 = 14,/*!< OOB_RX_TAG14 : TAG 14 value                                           */
496   MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_OOB_RX_TAG15 = 15,/*!< OOB_RX_TAG15 : TAG 15 value                                           */
497 } MEC_ESPI_IO_OOBRXSTS_OOB_RX_TAG_Enum;
498 
499 /* ========================================================  OOBTXC  ========================================================= */
500 /* =========================================  MEC_ESPI_IO OOBTXC OOB_TX_TAG [8..11]  ========================================= */
501 typedef enum {                                  /*!< MEC_ESPI_IO_OOBTXC_OOB_TX_TAG                                             */
502   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG0 = 0,/*!< OOB_TX_TAG0 : Use TAG 0 value for OOB TX                                  */
503   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG1 = 1,/*!< OOB_TX_TAG1 : Use TAG 1 value for OOB TX                                  */
504   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG2 = 2,/*!< OOB_TX_TAG2 : Use TAG 2 value for OOB TX                                  */
505   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG3 = 3,/*!< OOB_TX_TAG3 : Use TAG 3 value for OOB TX                                  */
506   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG4 = 4,/*!< OOB_TX_TAG4 : Use TAG 4 value for OOB TX                                  */
507   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG5 = 5,/*!< OOB_TX_TAG5 : Use TAG 5 value for OOB TX                                  */
508   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG6 = 6,/*!< OOB_TX_TAG6 : Use TAG 6 value for OOB TX                                  */
509   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG7 = 7,/*!< OOB_TX_TAG7 : Use TAG 7 value for OOB TX                                  */
510   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG8 = 8,/*!< OOB_TX_TAG8 : Use TAG 8 value for OOB TX                                  */
511   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG9 = 9,/*!< OOB_TX_TAG9 : Use TAG 9 value for OOB TX                                  */
512   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG10 = 10,/*!< OOB_TX_TAG10 : Use TAG 10 value for OOB TX                              */
513   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG11 = 11,/*!< OOB_TX_TAG11 : Use TAG 11 value for OOB TX                              */
514   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG12 = 12,/*!< OOB_TX_TAG12 : Use TAG 12 value for OOB TX                              */
515   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG13 = 13,/*!< OOB_TX_TAG13 : Use TAG 13 value for OOB TX                              */
516   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG14 = 14,/*!< OOB_TX_TAG14 : Use TAG 14 value for OOB TX                              */
517   MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_OOB_TX_TAG15 = 15,/*!< OOB_TX_TAG15 : Use TAG 15 value for OOB TX                              */
518 } MEC_ESPI_IO_OOBTXC_OOB_TX_TAG_Enum;
519 
520 /* =======================================================  OOBTXIEN  ======================================================== */
521 /* =======================================================  OOBTXSTS  ======================================================== */
522 /* =========================================================  FCFA  ========================================================== */
523 /* =========================================================  FCBA  ========================================================== */
524 /* =========================================================  FCLEN  ========================================================= */
525 /* =========================================================  FCCTL  ========================================================= */
526 /* ==============================================  MEC_ESPI_IO FCCTL OP [2..3]  ============================================== */
527 typedef enum {                                  /*!< MEC_ESPI_IO_FCCTL_OP                                                      */
528   MEC_ESPI_IO_FCCTL_OP_READ            = 0,     /*!< READ : Perform read from eSPI host attached flash                         */
529   MEC_ESPI_IO_FCCTL_OP_WRITE           = 1,     /*!< WRITE : Perform write to eSPI host attached flash                         */
530   MEC_ESPI_IO_FCCTL_OP_ERASE_SMALLER   = 2,     /*!< ERASE_SMALLER : Perform erase of the smaller of two ranges if
531                                                      a choice exists                                                           */
532   MEC_ESPI_IO_FCCTL_OP_ERASE_LARGER    = 3,     /*!< ERASE_LARGER : Perform erase of the larger of two ranges if
533                                                      a choice exists                                                           */
534 } MEC_ESPI_IO_FCCTL_OP_Enum;
535 
536 /* =============================================  MEC_ESPI_IO FCCTL TAG [4..7]  ============================================== */
537 typedef enum {                                  /*!< MEC_ESPI_IO_FCCTL_TAG                                                     */
538   MEC_ESPI_IO_FCCTL_TAG_FLASH_VAL      = 0,     /*!< FLASH_VAL : Expected TAG value for flash traffic is 0                     */
539 } MEC_ESPI_IO_FCCTL_TAG_Enum;
540 
541 /* =========================================================  FCIEN  ========================================================= */
542 /* =========================================================  FCCFG  ========================================================= */
543 /* =============================================  MEC_ESPI_IO FCCFG EBSZ [2..4]  ============================================= */
544 typedef enum {                                  /*!< MEC_ESPI_IO_FCCFG_EBSZ                                                    */
545   MEC_ESPI_IO_FCCFG_EBSZ_4KB           = 1,     /*!< 4KB : 4KB erase block size                                                */
546   MEC_ESPI_IO_FCCFG_EBSZ_64KB          = 2,     /*!< 64KB : 64KB erase block size                                              */
547   MEC_ESPI_IO_FCCFG_EBSZ_4KB_OR_64KB   = 3,     /*!< 4KB_OR_64KB : 4KB or 64KB erase block sizes                               */
548   MEC_ESPI_IO_FCCFG_EBSZ_128KB         = 4,     /*!< 128KB : 128KB erase block size                                            */
549   MEC_ESPI_IO_FCCFG_EBSZ_256KB         = 5,     /*!< 256KB : 256KB erase block size                                            */
550 } MEC_ESPI_IO_FCCFG_EBSZ_Enum;
551 
552 /* =========================================  MEC_ESPI_IO FCCFG MAX_PLD_SZ [8..10]  ========================================== */
553 typedef enum {                                  /*!< MEC_ESPI_IO_FCCFG_MAX_PLD_SZ                                              */
554   MEC_ESPI_IO_FCCFG_MAX_PLD_SZ_64B     = 1,     /*!< 64B : 64 byte eSPI maximum payload size                                   */
555   MEC_ESPI_IO_FCCFG_MAX_PLD_SZ_128B    = 2,     /*!< 128B : 128 byte eSPI maximum payload size                                 */
556   MEC_ESPI_IO_FCCFG_MAX_PLD_SZ_256B    = 3,     /*!< 256B : 256 byte eSPI maximum payload size                                 */
557 } MEC_ESPI_IO_FCCFG_MAX_PLD_SZ_Enum;
558 
559 /* =======================================  MEC_ESPI_IO FCCFG MAX_RD_REQ_SZ [12..14]  ======================================== */
560 typedef enum {                                  /*!< MEC_ESPI_IO_FCCFG_MAX_RD_REQ_SZ                                           */
561   MEC_ESPI_IO_FCCFG_MAX_RD_REQ_SZ_64B  = 1,     /*!< 64B : 64 byte maximum packet size for a flash read request                */
562   MEC_ESPI_IO_FCCFG_MAX_RD_REQ_SZ_128B = 2,     /*!< 128B : 128 byte maximum packet size for a flash read request              */
563   MEC_ESPI_IO_FCCFG_MAX_RD_REQ_SZ_256B = 3,     /*!< 256B : 256 byte maximum packet size for a flash read request              */
564   MEC_ESPI_IO_FCCFG_MAX_RD_REQ_SZ_512B = 4,     /*!< 512B : 512 byte maximum packet size for a flash read request              */
565   MEC_ESPI_IO_FCCFG_MAX_RD_REQ_SZ_1KB  = 5,     /*!< 1KB : 1 KB maximum packet size for a flash read request                   */
566   MEC_ESPI_IO_FCCFG_MAX_RD_REQ_SZ_2KB  = 6,     /*!< 2KB : 2 KB maximum packet size for a flash read request                   */
567   MEC_ESPI_IO_FCCFG_MAX_RD_REQ_SZ_4KB  = 7,     /*!< 4KB : 4 KB maximum packet size for a flash read request                   */
568 } MEC_ESPI_IO_FCCFG_MAX_RD_REQ_SZ_Enum;
569 
570 /* =======================================  MEC_ESPI_IO FCCFG FORCE_CAF_TAF [28..29]  ======================================== */
571 typedef enum {                                  /*!< MEC_ESPI_IO_FCCFG_FORCE_CAF_TAF                                           */
572   MEC_ESPI_IO_FCCFG_FORCE_CAF_TAF_HOST_CTRL = 0,/*!< HOST_CTRL : Host can set CAF/TAF mode (normal operation)                  */
573   MEC_ESPI_IO_FCCFG_FORCE_CAF_TAF_CAF_ONLY = 2, /*!< CAF_ONLY : Force CAF only support                                         */
574   MEC_ESPI_IO_FCCFG_FORCE_CAF_TAF_TAF_ONLY = 3, /*!< TAF_ONLY : Force TAF only support, blocking flash channel operations      */
575 } MEC_ESPI_IO_FCCFG_FORCE_CAF_TAF_Enum;
576 
577 /* =========================================================  FCSTS  ========================================================= */
578 /* =========================================================  VWSTS  ========================================================= */
579 /* =========================================================  CAPID  ========================================================= */
580 /* =========================================================  CAP0  ========================================================== */
581 /* ============================================  MEC_ESPI_IO CAP0 PC_SUPP [0..0]  ============================================ */
582 typedef enum {                                  /*!< MEC_ESPI_IO_CAP0_PC_SUPP                                                  */
583   MEC_ESPI_IO_CAP0_PC_SUPP_EN          = 1,     /*!< EN : Enabled                                                              */
584 } MEC_ESPI_IO_CAP0_PC_SUPP_Enum;
585 
586 /* ============================================  MEC_ESPI_IO CAP0 VW_SUPP [1..1]  ============================================ */
587 typedef enum {                                  /*!< MEC_ESPI_IO_CAP0_VW_SUPP                                                  */
588   MEC_ESPI_IO_CAP0_VW_SUPP_EN          = 1,     /*!< EN : Enabled                                                              */
589 } MEC_ESPI_IO_CAP0_VW_SUPP_Enum;
590 
591 /* ===========================================  MEC_ESPI_IO CAP0 OOB_SUPP [2..2]  ============================================ */
592 typedef enum {                                  /*!< MEC_ESPI_IO_CAP0_OOB_SUPP                                                 */
593   MEC_ESPI_IO_CAP0_OOB_SUPP_EN         = 1,     /*!< EN : Enabled                                                              */
594 } MEC_ESPI_IO_CAP0_OOB_SUPP_Enum;
595 
596 /* ============================================  MEC_ESPI_IO CAP0 FC_SUPP [3..3]  ============================================ */
597 typedef enum {                                  /*!< MEC_ESPI_IO_CAP0_FC_SUPP                                                  */
598   MEC_ESPI_IO_CAP0_FC_SUPP_EN          = 1,     /*!< EN : Enabled                                                              */
599 } MEC_ESPI_IO_CAP0_FC_SUPP_Enum;
600 
601 /* =========================================================  CAP1  ========================================================== */
602 /* =========================================  MEC_ESPI_IO CAP1 MAX_FREQ_SUPP [0..2]  ========================================= */
603 typedef enum {                                  /*!< MEC_ESPI_IO_CAP1_MAX_FREQ_SUPP                                            */
604   MEC_ESPI_IO_CAP1_MAX_FREQ_SUPP_F20M  = 0,     /*!< F20M : Support 20MHz eSPI clock                                           */
605   MEC_ESPI_IO_CAP1_MAX_FREQ_SUPP_F25M  = 1,     /*!< F25M : Support 25MHz eSPI clock                                           */
606   MEC_ESPI_IO_CAP1_MAX_FREQ_SUPP_F33M  = 2,     /*!< F33M : Support 33MHz eSPI clock                                           */
607   MEC_ESPI_IO_CAP1_MAX_FREQ_SUPP_F50M  = 3,     /*!< F50M : Support 50MHz eSPI clock                                           */
608   MEC_ESPI_IO_CAP1_MAX_FREQ_SUPP_F66M  = 4,     /*!< F66M : Support 66MHz eSPI clock                                           */
609 } MEC_ESPI_IO_CAP1_MAX_FREQ_SUPP_Enum;
610 
611 /* ========================================  MEC_ESPI_IO CAP1 ALERT_MODE_SUPP [3..3]  ======================================== */
612 typedef enum {                                  /*!< MEC_ESPI_IO_CAP1_ALERT_MODE_SUPP                                          */
613   MEC_ESPI_IO_CAP1_ALERT_MODE_SUPP_EN  = 1,     /*!< EN : Supported                                                            */
614 } MEC_ESPI_IO_CAP1_ALERT_MODE_SUPP_Enum;
615 
616 /* =========================================  MEC_ESPI_IO CAP1 IO_MODE_SUPP [4..5]  ========================================== */
617 typedef enum {                                  /*!< MEC_ESPI_IO_CAP1_IO_MODE_SUPP                                             */
618   MEC_ESPI_IO_CAP1_IO_MODE_SUPP_IO1    = 0,     /*!< IO1 : Support single IO only                                              */
619   MEC_ESPI_IO_CAP1_IO_MODE_SUPP_IO12   = 1,     /*!< IO12 : Supports single and dual IO                                        */
620   MEC_ESPI_IO_CAP1_IO_MODE_SUPP_IO14   = 2,     /*!< IO14 : Supports single and quad IO                                        */
621   MEC_ESPI_IO_CAP1_IO_MODE_SUPP_IO124  = 3,     /*!< IO124 : Supports single, dual, and quad IO                                */
622 } MEC_ESPI_IO_CAP1_IO_MODE_SUPP_Enum;
623 
624 /* =========================================  MEC_ESPI_IO CAP1 ALERT_OD_SUPP [6..6]  ========================================= */
625 typedef enum {                                  /*!< MEC_ESPI_IO_CAP1_ALERT_OD_SUPP                                            */
626   MEC_ESPI_IO_CAP1_ALERT_OD_SUPP_EN    = 1,     /*!< EN : Supported                                                            */
627 } MEC_ESPI_IO_CAP1_ALERT_OD_SUPP_Enum;
628 
629 /* =========================================  MEC_ESPI_IO CAP1 ALERT_OD_SEL [7..7]  ========================================== */
630 typedef enum {                                  /*!< MEC_ESPI_IO_CAP1_ALERT_OD_SEL                                             */
631   MEC_ESPI_IO_CAP1_ALERT_OD_SEL_EN     = 1,     /*!< EN : Supported                                                            */
632 } MEC_ESPI_IO_CAP1_ALERT_OD_SEL_Enum;
633 
634 /* =========================================================  CAPPC  ========================================================= */
635 /* ==========================================  MEC_ESPI_IO CAPPC PC_MAX_PLD [0..2]  ========================================== */
636 typedef enum {                                  /*!< MEC_ESPI_IO_CAPPC_PC_MAX_PLD                                              */
637   MEC_ESPI_IO_CAPPC_PC_MAX_PLD_64B     = 1,     /*!< 64B : Maximum PC channel payload size is 64 bytes                         */
638 } MEC_ESPI_IO_CAPPC_PC_MAX_PLD_Enum;
639 
640 /* =========================================================  CAPVW  ========================================================= */
641 /* ==========================================  MEC_ESPI_IO CAPVW MAX_VW_CNT [0..5]  ========================================== */
642 typedef enum {                                  /*!< MEC_ESPI_IO_CAPVW_MAX_VW_CNT                                              */
643   MEC_ESPI_IO_CAPVW_MAX_VW_CNT_MIN_VAL = 7,     /*!< MIN_VAL : Minimum number of virtual wires by eSPI specifiction            */
644 } MEC_ESPI_IO_CAPVW_MAX_VW_CNT_Enum;
645 
646 /* ========================================================  CAPOOB  ========================================================= */
647 /* ========================================  MEC_ESPI_IO CAPOOB MAX_PLD_SIZE [0..2]  ========================================= */
648 typedef enum {                                  /*!< MEC_ESPI_IO_CAPOOB_MAX_PLD_SIZE                                           */
649   MEC_ESPI_IO_CAPOOB_MAX_PLD_SIZE_73B  = 1,     /*!< 73B : OOB maximum payload size is 73 bytes                                */
650 } MEC_ESPI_IO_CAPOOB_MAX_PLD_SIZE_Enum;
651 
652 /* =========================================================  CAPFC  ========================================================= */
653 /* =========================================  MEC_ESPI_IO CAPFC MAX_PLD_SIZE [0..2]  ========================================= */
654 typedef enum {                                  /*!< MEC_ESPI_IO_CAPFC_MAX_PLD_SIZE                                            */
655   MEC_ESPI_IO_CAPFC_MAX_PLD_SIZE_64B   = 1,     /*!< 64B : Flash channel maximum payload size of 64 bytes                      */
656 } MEC_ESPI_IO_CAPFC_MAX_PLD_SIZE_Enum;
657 
658 /* =========================================  MEC_ESPI_IO CAPFC SHARING_SUPP [3..4]  ========================================= */
659 typedef enum {                                  /*!< MEC_ESPI_IO_CAPFC_SHARING_SUPP                                            */
660   MEC_ESPI_IO_CAPFC_SHARING_SUPP_CAF   = 0,     /*!< CAF : Flash channel supports CAF only                                     */
661   MEC_ESPI_IO_CAPFC_SHARING_SUPP_CAF_ONLY_ALT = 1,/*!< CAF_ONLY_ALT : Flash channel supports CAF only                          */
662   MEC_ESPI_IO_CAPFC_SHARING_SUPP_TAF   = 2,     /*!< TAF : Flash channel supports TAF only                                     */
663   MEC_ESPI_IO_CAPFC_SHARING_SUPP_CAF_TAF = 3,   /*!< CAF_TAF : Flash channel supports CAF and TAF                              */
664 } MEC_ESPI_IO_CAPFC_SHARING_SUPP_Enum;
665 
666 /* ======================================  MEC_ESPI_IO CAPFC TAF_MAX_READ_SIZE [5..7]  ======================================= */
667 typedef enum {                                  /*!< MEC_ESPI_IO_CAPFC_TAF_MAX_READ_SIZE                                       */
668   MEC_ESPI_IO_CAPFC_TAF_MAX_READ_SIZE_64B = 1,  /*!< 64B : TAF mode maximum requrest size is 64 bytes                          */
669 } MEC_ESPI_IO_CAPFC_TAF_MAX_READ_SIZE_Enum;
670 
671 /* =========================================================  PCRDY  ========================================================= */
672 /* ===========================================  MEC_ESPI_IO PCRDY PC_READY [0..0]  =========================================== */
673 typedef enum {                                  /*!< MEC_ESPI_IO_PCRDY_PC_READY                                                */
674   MEC_ESPI_IO_PCRDY_PC_READY_EN        = 1,     /*!< EN : Enable                                                               */
675 } MEC_ESPI_IO_PCRDY_PC_READY_Enum;
676 
677 /* ========================================================  OOBRDY  ========================================================= */
678 /* ==========================================  MEC_ESPI_IO OOBRDY OOB_READY [0..0]  ========================================== */
679 typedef enum {                                  /*!< MEC_ESPI_IO_OOBRDY_OOB_READY                                              */
680   MEC_ESPI_IO_OOBRDY_OOB_READY_EN      = 1,     /*!< EN : Enable                                                               */
681 } MEC_ESPI_IO_OOBRDY_OOB_READY_Enum;
682 
683 /* =========================================================  FCRDY  ========================================================= */
684 /* ===========================================  MEC_ESPI_IO FCRDY FC_READY [0..0]  =========================================== */
685 typedef enum {                                  /*!< MEC_ESPI_IO_FCRDY_FC_READY                                                */
686   MEC_ESPI_IO_FCRDY_FC_READY_EN        = 1,     /*!< EN : Enable                                                               */
687 } MEC_ESPI_IO_FCRDY_FC_READY_Enum;
688 
689 /* =========================================================  ERIS  ========================================================== */
690 /* ==============================================  MEC_ESPI_IO ERIS CHG [0..0]  ============================================== */
691 typedef enum {                                  /*!< MEC_ESPI_IO_ERIS_CHG                                                      */
692   MEC_ESPI_IO_ERIS_CHG_ACTIVE          = 1,     /*!< ACTIVE : Active                                                           */
693 } MEC_ESPI_IO_ERIS_CHG_Enum;
694 
695 /* =============================================  MEC_ESPI_IO ERIS STATE [1..1]  ============================================= */
696 typedef enum {                                  /*!< MEC_ESPI_IO_ERIS_STATE                                                    */
697   MEC_ESPI_IO_ERIS_STATE_HI            = 1,     /*!< HI : High                                                                 */
698 } MEC_ESPI_IO_ERIS_STATE_Enum;
699 
700 /* =========================================================  ERIE  ========================================================== */
701 /* ===========================================  MEC_ESPI_IO ERIE CHG_INTR [0..0]  ============================================ */
702 typedef enum {                                  /*!< MEC_ESPI_IO_ERIE_CHG_INTR                                                 */
703   MEC_ESPI_IO_ERIE_CHG_INTR_EN         = 1,     /*!< EN : Active                                                               */
704 } MEC_ESPI_IO_ERIE_CHG_INTR_Enum;
705 
706 /* ======================================================  PLTRST_SRC  ======================================================= */
707 /* ===========================================  MEC_ESPI_IO PLTRST_SRC SEL [0..0]  =========================================== */
708 typedef enum {                                  /*!< MEC_ESPI_IO_PLTRST_SRC_SEL                                                */
709   MEC_ESPI_IO_PLTRST_SRC_SEL_VWIRE     = 0,     /*!< VWIRE : PLTRST is a virtual wire                                          */
710   MEC_ESPI_IO_PLTRST_SRC_SEL_EXT       = 1,     /*!< EXT : PLTRST is an external signal                                        */
711 } MEC_ESPI_IO_PLTRST_SRC_SEL_Enum;
712 
713 /* =========================================================  VWRDY  ========================================================= */
714 /* ===========================================  MEC_ESPI_IO VWRDY VW_READY [0..0]  =========================================== */
715 typedef enum {                                  /*!< MEC_ESPI_IO_VWRDY_VW_READY                                                */
716   MEC_ESPI_IO_VWRDY_VW_READY_EN        = 1,     /*!< EN : Enable                                                               */
717 } MEC_ESPI_IO_VWRDY_VW_READY_Enum;
718 
719 /* ========================================================  TAFEBS  ========================================================= */
720 /* =============================================  MEC_ESPI_IO TAFEBS 1KB [0..0]  ============================================= */
721 typedef enum {                                  /*!< MEC_ESPI_IO_TAFEBS_1KB                                                    */
722   MEC_ESPI_IO_TAFEBS_1KB_SUPP          = 1,     /*!< SUPP : Support                                                            */
723 } MEC_ESPI_IO_TAFEBS_1KB_Enum;
724 
725 /* =============================================  MEC_ESPI_IO TAFEBS 2KB [1..1]  ============================================= */
726 typedef enum {                                  /*!< MEC_ESPI_IO_TAFEBS_2KB                                                    */
727   MEC_ESPI_IO_TAFEBS_2KB_SUPP          = 1,     /*!< SUPP : Support                                                            */
728 } MEC_ESPI_IO_TAFEBS_2KB_Enum;
729 
730 /* =============================================  MEC_ESPI_IO TAFEBS 4KB [2..2]  ============================================= */
731 typedef enum {                                  /*!< MEC_ESPI_IO_TAFEBS_4KB                                                    */
732   MEC_ESPI_IO_TAFEBS_4KB_SUPP          = 1,     /*!< SUPP : Support                                                            */
733 } MEC_ESPI_IO_TAFEBS_4KB_Enum;
734 
735 /* =============================================  MEC_ESPI_IO TAFEBS 8KB [3..3]  ============================================= */
736 typedef enum {                                  /*!< MEC_ESPI_IO_TAFEBS_8KB                                                    */
737   MEC_ESPI_IO_TAFEBS_8KB_SUPP          = 1,     /*!< SUPP : Support                                                            */
738 } MEC_ESPI_IO_TAFEBS_8KB_Enum;
739 
740 /* ============================================  MEC_ESPI_IO TAFEBS 16KB [4..4]  ============================================= */
741 typedef enum {                                  /*!< MEC_ESPI_IO_TAFEBS_16KB                                                   */
742   MEC_ESPI_IO_TAFEBS_16KB_SUPP         = 1,     /*!< SUPP : Support                                                            */
743 } MEC_ESPI_IO_TAFEBS_16KB_Enum;
744 
745 /* ============================================  MEC_ESPI_IO TAFEBS 32KB [5..5]  ============================================= */
746 typedef enum {                                  /*!< MEC_ESPI_IO_TAFEBS_32KB                                                   */
747   MEC_ESPI_IO_TAFEBS_32KB_SUPP         = 1,     /*!< SUPP : Support                                                            */
748 } MEC_ESPI_IO_TAFEBS_32KB_Enum;
749 
750 /* ============================================  MEC_ESPI_IO TAFEBS 64KB [6..6]  ============================================= */
751 typedef enum {                                  /*!< MEC_ESPI_IO_TAFEBS_64KB                                                   */
752   MEC_ESPI_IO_TAFEBS_64KB_SUPP         = 1,     /*!< SUPP : Support                                                            */
753 } MEC_ESPI_IO_TAFEBS_64KB_Enum;
754 
755 /* ============================================  MEC_ESPI_IO TAFEBS 128KB [7..7]  ============================================ */
756 typedef enum {                                  /*!< MEC_ESPI_IO_TAFEBS_128KB                                                  */
757   MEC_ESPI_IO_TAFEBS_128KB_SUPP        = 1,     /*!< SUPP : Support                                                            */
758 } MEC_ESPI_IO_TAFEBS_128KB_Enum;
759 
760 /* =====================================================  RPMC_OP1_CFG  ====================================================== */
761 /* =====================================  MEC_ESPI_IO RPMC_OP1_CFG NUM_RPMC_DEV [6..7]  ====================================== */
762 typedef enum {                                  /*!< MEC_ESPI_IO_RPMC_OP1_CFG_NUM_RPMC_DEV                                     */
763   MEC_ESPI_IO_RPMC_OP1_CFG_NUM_RPMC_DEV_1 = 0,  /*!< 1 : One RPMC flash device attached                                        */
764   MEC_ESPI_IO_RPMC_OP1_CFG_NUM_RPMC_DEV_2 = 1,  /*!< 2 : Two RPMC flash devices attached                                       */
765 } MEC_ESPI_IO_RPMC_OP1_CFG_NUM_RPMC_DEV_Enum;
766 
767 /* =====================================  MEC_ESPI_IO RPMC_OP1_CFG TOTAL_NCNTR [8..13]  ====================================== */
768 typedef enum {                                  /*!< MEC_ESPI_IO_RPMC_OP1_CFG_TOTAL_NCNTR                                      */
769   MEC_ESPI_IO_RPMC_OP1_CFG_TOTAL_NCNTR_NONE = 0,/*!< NONE : Attached devices do not support RPMC or RPMC feature
770                                                      not available                                                             */
771   MEC_ESPI_IO_RPMC_OP1_CFG_TOTAL_NCNTR_ONE = 1, /*!< ONE : One RPMC flash device attached                                      */
772   MEC_ESPI_IO_RPMC_OP1_CFG_TOTAL_NCNTR_TWO = 2, /*!< TWO : Two RPMC flash devices attached                                     */
773 } MEC_ESPI_IO_RPMC_OP1_CFG_TOTAL_NCNTR_Enum;
774 
775 /* =====================================  MEC_ESPI_IO RPMC_OP1_CFG STRICT_RCT [31..31]  ====================================== */
776 typedef enum {                                  /*!< MEC_ESPI_IO_RPMC_OP1_CFG_STRICT_RCT                                       */
777   MEC_ESPI_IO_RPMC_OP1_CFG_STRICT_RCT_DFLT = 0, /*!< DFLT : 23h/83h and 24h/84h are valid                                      */
778   MEC_ESPI_IO_RPMC_OP1_CFG_STRICT_RCT_LIMITED = 1,/*!< LIMITED : Only 23h and 24h are valid                                    */
779 } MEC_ESPI_IO_RPMC_OP1_CFG_STRICT_RCT_Enum;
780 
781 /* ====================================================  RPMC_OP1_NCNTRS  ==================================================== */
782 /* ======================================  MEC_ESPI_IO RPMC_OP1_NCNTRS CS0_OP1 [0..7]  ======================================= */
783 typedef enum {                                  /*!< MEC_ESPI_IO_RPMC_OP1_NCNTRS_CS0_OP1                                       */
784   MEC_ESPI_IO_RPMC_OP1_NCNTRS_CS0_OP1_RPMC_OP1_DFLT = 155,/*!< RPMC_OP1_DFLT : RPMC spec. defined RPMC OP1 value is 0x9B       */
785 } MEC_ESPI_IO_RPMC_OP1_NCNTRS_CS0_OP1_Enum;
786 
787 /* =====================================  MEC_ESPI_IO RPMC_OP1_NCNTRS CS1_OP1 [16..23]  ====================================== */
788 typedef enum {                                  /*!< MEC_ESPI_IO_RPMC_OP1_NCNTRS_CS1_OP1                                       */
789   MEC_ESPI_IO_RPMC_OP1_NCNTRS_CS1_OP1_RPMC_OP1_DFLT = 155,/*!< RPMC_OP1_DFLT : RPMC spec. defined RPMC OP1 value is 0x9B       */
790 } MEC_ESPI_IO_RPMC_OP1_NCNTRS_CS1_OP1_Enum;
791 
792 /* =========================================================  ACTV  ========================================================== */
793 /* ==============================================  MEC_ESPI_IO ACTV EN [0..0]  =============================================== */
794 typedef enum {                                  /*!< MEC_ESPI_IO_ACTV_EN                                                       */
795   MEC_ESPI_IO_ACTV_EN_EN               = 1,     /*!< EN : Enable                                                               */
796 } MEC_ESPI_IO_ACTV_EN_Enum;
797 
798 /* =======================================================  HOST_BAR  ======================================================== */
799 /* =================================================  MEC_ESPI_IO HOST_BAR  ================================================== */
800 typedef enum {                                  /*!< MEC_ESPI_IO_HOST_BAR                                                      */
801   MEC_ESPI_IO_HOST_BAR_IOC             = 0,     /*!< IOC : eSPI I/O component configuration Host I/O address and
802                                                      valid                                                                     */
803   MEC_ESPI_IO_HOST_BAR_IOM             = 1,     /*!< IOM : eSPI memory component configuration Host I/O address and
804                                                      valid                                                                     */
805   MEC_ESPI_IO_HOST_BAR_MBOX            = 2,     /*!< MBOX : eSPI Mailbox Host I/O address and valid                            */
806   MEC_ESPI_IO_HOST_BAR_KBC             = 3,     /*!< KBC : eSPI Keyboard Host I/O address and valid                            */
807   MEC_ESPI_IO_HOST_BAR_ACPI_EC0        = 4,     /*!< ACPI_EC0 : eSPI ACPI EC0 Host I/O address and valid                       */
808   MEC_ESPI_IO_HOST_BAR_ACPI_EC1        = 5,     /*!< ACPI_EC1 : eSPI ACPI EC1 Host I/O address and valid                       */
809   MEC_ESPI_IO_HOST_BAR_ACPI_EC2        = 6,     /*!< ACPI_EC2 : eSPI ACPI EC2 Host I/O address and valid                       */
810   MEC_ESPI_IO_HOST_BAR_ACPI_EC3        = 7,     /*!< ACPI_EC3 : eSPI ACPI EC3 LDN Host I/O address and valid                   */
811   MEC_ESPI_IO_HOST_BAR_ACPI_EC4        = 8,     /*!< ACPI_EC4 : eSPI ACPI EC4 Host I/O address and valid                       */
812   MEC_ESPI_IO_HOST_BAR_ACPI_PM1        = 9,     /*!< ACPI_PM1 : eSPI ACPI PM1 Host I/O address and valid                       */
813   MEC_ESPI_IO_HOST_BAR_KB_PORT92       = 10,    /*!< KB_PORT92 : eSPI Keyboard Port 92h Host I/O address and valid             */
814   MEC_ESPI_IO_HOST_BAR_UART0           = 11,    /*!< UART0 : eSPI UART0 Host I/O address and valid                             */
815   MEC_ESPI_IO_HOST_BAR_UART1           = 12,    /*!< UART1 : eSPI UART1 Host I/O address and valid                             */
816   MEC_ESPI_IO_HOST_BAR_EMI0            = 13,    /*!< EMI0 : eSPI EMI0 Host I/O address and valid                               */
817   MEC_ESPI_IO_HOST_BAR_EMI1            = 14,    /*!< EMI1 : eSPI EMI1 Host I/O address and valid                               */
818   MEC_ESPI_IO_HOST_BAR_EMI2            = 15,    /*!< EMI2 : eSPI EMI2 Host I/O address and valid                               */
819   MEC_ESPI_IO_HOST_BAR_BDBG0           = 16,    /*!< BDBG0 : eSPI BIOS Debug (port 80h capture) Host I/O address
820                                                      and valid                                                                 */
821   MEC_ESPI_IO_HOST_BAR_BDBG0_ALIAS     = 17,    /*!< BDBG0_ALIAS : eSPI BIOS Debug (port 80h alias address capture)
822                                                      Host I/O address and valid                                                */
823   MEC_ESPI_IO_HOST_BAR_RTC0            = 18,    /*!< RTC0 : eSPI RTC0 Host I/O address and valid                               */
824   MEC_ESPI_IO_HOST_BAR_RSVD19          = 19,    /*!< RSVD19 : eSPI Reserved Host I/O address and valid                         */
825   MEC_ESPI_IO_HOST_BAR_RSVD20          = 20,    /*!< RSVD20 : eSPI Reserved Host I/O address and valid                         */
826   MEC_ESPI_IO_HOST_BAR_UART2           = 21,    /*!< UART2 : UART2 Host I/O address and valid                                  */
827   MEC_ESPI_IO_HOST_BAR_GLUE            = 22,    /*!< GLUE : eSPI Glue Logic Host I/O address and valid                         */
828   MEC_ESPI_IO_HOST_BAR_UART3           = 23,    /*!< UART3 : UART3 Host I/O address and valid                                  */
829   MEC_ESPI_IO_HOST_BAR_RSVD24          = 24,    /*!< RSVD24 : eSPI Reserved Host I/O address and valid                         */
830 } MEC_ESPI_IO_HOST_BAR_Enum;
831 
832 /* ========================================================  SERIRQ  ========================================================= */
833 /* ==================================================  MEC_ESPI_IO SERIRQ  =================================================== */
834 typedef enum {                                  /*!< MEC_ESPI_IO_SERIRQ                                                        */
835   MEC_ESPI_IO_SERIRQ_MBOX_SIRQ         = 0,     /*!< MBOX_SIRQ : Mailbox interrupt SERIQ index                                 */
836   MEC_ESPI_IO_SERIRQ_MBOX_SMI          = 1,     /*!< MBOX_SMI : Mailbox SMI SERIRQ index                                       */
837   MEC_ESPI_IO_SERIRQ_KIRQ              = 2,     /*!< KIRQ : Keyboard(8042) controller Serial IRQ index                         */
838   MEC_ESPI_IO_SERIRQ_MIRQ              = 3,     /*!< MIRQ : Keyboard(8042) controller Mouse Serial IRQ index                   */
839   MEC_ESPI_IO_SERIRQ_ACPI_EC0          = 4,     /*!< ACPI_EC0 : ACPI EC0 OBF Serial IRQ index                                  */
840   MEC_ESPI_IO_SERIRQ_ACPI_EC1          = 5,     /*!< ACPI_EC1 : ACPI EC1 OBF Serial IRQ index                                  */
841   MEC_ESPI_IO_SERIRQ_ACPI_EC2          = 6,     /*!< ACPI_EC2 : ACPI EC2 OBF Serial IRQ index                                  */
842   MEC_ESPI_IO_SERIRQ_ACPI_EC3          = 7,     /*!< ACPI_EC3 : ACPI EC3 OBF Serial IRQ index                                  */
843   MEC_ESPI_IO_SERIRQ_ACPI_EC4          = 8,     /*!< ACPI_EC4 : ACPI EC4 OBF Serial IRQ index                                  */
844   MEC_ESPI_IO_SERIRQ_UART0             = 9,     /*!< UART0 : UART0 Serial IRQ index                                            */
845   MEC_ESPI_IO_SERIRQ_UART1             = 10,    /*!< UART1 : UART1 Serial IRQ index                                            */
846   MEC_ESPI_IO_SERIRQ_EMI0_HEVENT       = 11,    /*!< EMI0_HEVENT : EMI0 Host Event Serial IRQ index                            */
847   MEC_ESPI_IO_SERIRQ_EMI0_E2H          = 12,    /*!< EMI0_E2H : EMI0 EC to Host Serial IRQ index                               */
848   MEC_ESPI_IO_SERIRQ_EMI1_HEVENT       = 13,    /*!< EMI1_HEVENT : EMI1 Host Event Serial IRQ index                            */
849   MEC_ESPI_IO_SERIRQ_EMI1_E2H          = 14,    /*!< EMI1_E2H : EMI1 EC to Host Serial IRQ index                               */
850   MEC_ESPI_IO_SERIRQ_EMI2_HEVENT       = 15,    /*!< EMI2_HEVENT : EMI2 Host Event Serial IRQ index                            */
851   MEC_ESPI_IO_SERIRQ_EMI2_E2H          = 16,    /*!< EMI2_E2H : EMI2 EC to Host Serial IRQ index                               */
852   MEC_ESPI_IO_SERIRQ_RTC               = 17,    /*!< RTC : RTC Serial IRQ index                                                */
853   MEC_ESPI_IO_SERIRQ_EC_IRQ            = 18,    /*!< EC_IRQ : EC_IRQ Serial IRQ index                                          */
854   MEC_ESPI_IO_SERIRQ_UART2             = 19,    /*!< UART2 : UART2 Serial IRQ index                                            */
855   MEC_ESPI_IO_SERIRQ_RSVD20            = 20,    /*!< RSVD20 : Reserved Serial IRQ index 20                                     */
856   MEC_ESPI_IO_SERIRQ_UART3             = 21,    /*!< UART3 : UART3 Serial IRQ index                                            */
857 } MEC_ESPI_IO_SERIRQ_Enum;
858 
859 /* =========================================================  VWERR  ========================================================= */
860 /* ==========================================  MEC_ESPI_IO VWERR FATAL_ERR [0..0]  =========================================== */
861 typedef enum {                                  /*!< MEC_ESPI_IO_VWERR_FATAL_ERR                                               */
862   MEC_ESPI_IO_VWERR_FATAL_ERR_ACTV     = 1,     /*!< ACTV : Fatal error status active                                          */
863 } MEC_ESPI_IO_VWERR_FATAL_ERR_Enum;
864 
865 /* ========================================  MEC_ESPI_IO VWERR FATAL_ERR_CLR [1..1]  ========================================= */
866 typedef enum {                                  /*!< MEC_ESPI_IO_VWERR_FATAL_ERR_CLR                                           */
867   MEC_ESPI_IO_VWERR_FATAL_ERR_CLR_VAL  = 1,     /*!< VAL : Write 1 to clear fatal error status                                 */
868 } MEC_ESPI_IO_VWERR_FATAL_ERR_CLR_Enum;
869 
870 /* ========================================  MEC_ESPI_IO VWERR NON_FATAL_ERR [4..4]  ========================================= */
871 typedef enum {                                  /*!< MEC_ESPI_IO_VWERR_NON_FATAL_ERR                                           */
872   MEC_ESPI_IO_VWERR_NON_FATAL_ERR_ACTV = 1,     /*!< ACTV : Non-fatal error status active                                      */
873 } MEC_ESPI_IO_VWERR_NON_FATAL_ERR_Enum;
874 
875 /* ======================================  MEC_ESPI_IO VWERR NON_FATAL_ERR_CLR [5..5]  ======================================= */
876 typedef enum {                                  /*!< MEC_ESPI_IO_VWERR_NON_FATAL_ERR_CLR                                       */
877   MEC_ESPI_IO_VWERR_NON_FATAL_ERR_CLR_VAL = 1,  /*!< VAL : Write 1 to clear non-fatal error status                             */
878 } MEC_ESPI_IO_VWERR_NON_FATAL_ERR_CLR_Enum;
879 
880 /** @} */ /* End of group EnumValue_peripherals */
881 
882 #endif /* _MEC5_ESPI_IO_V1_5_H */
883