1 /*
2  * Copyright (c) 2024 Microchip Technology Inc.
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #ifndef _MEC5_ADC_V2_H
7 #define _MEC5_ADC_V2_H
8 
9 /** @addtogroup Device_Peripheral_peripherals
10   * @{
11   */
12 
13 /**
14   * @brief Analog to Digital converter with up to 16 channels (MEC_ADC0)
15   */
16 
17 typedef struct mec_adc_regs {                   /*!< (@ 0x40007C00) MEC_ADC0 Structure                                         */
18   __IOM uint32_t  CTRL;                         /*!< (@ 0x00000000) ADC control                                                */
19   __IOM uint32_t  DELAY;                        /*!< (@ 0x00000004) ADC start and repeat delays                                */
20   __IOM uint32_t  STATUS;                       /*!< (@ 0x00000008) ADC channel conversion done status                         */
21   __IOM uint32_t  SCHEN;                        /*!< (@ 0x0000000C) ADC channel single conversion channel bit map              */
22   __IOM uint32_t  RCHEN;                        /*!< (@ 0x00000010) ADC channel repeat conversion channel bit map              */
23   __IOM uint32_t  RD[16];                       /*!< (@ 0x00000014) ADC channel n reading                                      */
24   __IM  uint32_t  RESERVED[10];
25   __IOM uint32_t  CONFIG;                       /*!< (@ 0x0000007C) ADC configuration                                          */
26   __IOM uint32_t  VREF_CHAN;                    /*!< (@ 0x00000080) ADC VREF channel configuration                             */
27   __IOM uint32_t  VREF_CTRL;                    /*!< (@ 0x00000084) ADC VREF control                                           */
28   __IOM uint32_t  SAR_CTRL;                     /*!< (@ 0x00000088) ADC SAR control                                            */
29   __IOM uint32_t  SAR_CFG;                      /*!< (@ 0x0000008C) ADC VREF configuration                                     */
30 } MEC_ADC_Type;                                 /*!< Size = 144 (0x90)                                                         */
31 
32 /** @} */ /* End of group Device_Peripheral_peripherals */
33 
34 /** @addtogroup PosMask_peripherals
35   * @{
36   */
37 /* =========================================================  CTRL  ========================================================== */
38 #define MEC_ADC_CTRL_ACTV_Pos             (0UL)                     /*!< ACTV (Bit 0)                                          */
39 #define MEC_ADC_CTRL_ACTV_Msk             (0x1UL)                   /*!< ACTV (Bitfield-Mask: 0x01)                            */
40 #define MEC_ADC_CTRL_SSTART_Pos           (1UL)                     /*!< SSTART (Bit 1)                                        */
41 #define MEC_ADC_CTRL_SSTART_Msk           (0x2UL)                   /*!< SSTART (Bitfield-Mask: 0x01)                          */
42 #define MEC_ADC_CTRL_RSTART_Pos           (2UL)                     /*!< RSTART (Bit 2)                                        */
43 #define MEC_ADC_CTRL_RSTART_Msk           (0x4UL)                   /*!< RSTART (Bitfield-Mask: 0x01)                          */
44 #define MEC_ADC_CTRL_PWR_SAVE_Pos         (3UL)                     /*!< PWR_SAVE (Bit 3)                                      */
45 #define MEC_ADC_CTRL_PWR_SAVE_Msk         (0x8UL)                   /*!< PWR_SAVE (Bitfield-Mask: 0x01)                        */
46 #define MEC_ADC_CTRL_SRST_Pos             (4UL)                     /*!< SRST (Bit 4)                                          */
47 #define MEC_ADC_CTRL_SRST_Msk             (0x10UL)                  /*!< SRST (Bitfield-Mask: 0x01)                            */
48 #define MEC_ADC_CTRL_RDONE_Pos            (6UL)                     /*!< RDONE (Bit 6)                                         */
49 #define MEC_ADC_CTRL_RDONE_Msk            (0x40UL)                  /*!< RDONE (Bitfield-Mask: 0x01)                           */
50 #define MEC_ADC_CTRL_SDONE_Pos            (7UL)                     /*!< SDONE (Bit 7)                                         */
51 #define MEC_ADC_CTRL_SDONE_Msk            (0x80UL)                  /*!< SDONE (Bitfield-Mask: 0x01)                           */
52 /* =========================================================  DELAY  ========================================================= */
53 #define MEC_ADC_DELAY_RSTART_DLY_Pos      (0UL)                     /*!< RSTART_DLY (Bit 0)                                    */
54 #define MEC_ADC_DELAY_RSTART_DLY_Msk      (0xffffUL)                /*!< RSTART_DLY (Bitfield-Mask: 0xffff)                    */
55 #define MEC_ADC_DELAY_RPT_DLY_Pos         (16UL)                    /*!< RPT_DLY (Bit 16)                                      */
56 #define MEC_ADC_DELAY_RPT_DLY_Msk         (0xffff0000UL)            /*!< RPT_DLY (Bitfield-Mask: 0xffff)                       */
57 /* ========================================================  STATUS  ========================================================= */
58 /* =========================================================  SCHEN  ========================================================= */
59 /* =========================================================  RCHEN  ========================================================= */
60 /* ==========================================================  RD  =========================================================== */
61 /* ========================================================  CONFIG  ========================================================= */
62 #define MEC_ADC_CONFIG_CLTM_Pos           (0UL)                     /*!< CLTM (Bit 0)                                          */
63 #define MEC_ADC_CONFIG_CLTM_Msk           (0xffUL)                  /*!< CLTM (Bitfield-Mask: 0xff)                            */
64 #define MEC_ADC_CONFIG_CHTM_Pos           (8UL)                     /*!< CHTM (Bit 8)                                          */
65 #define MEC_ADC_CONFIG_CHTM_Msk           (0xff00UL)                /*!< CHTM (Bitfield-Mask: 0xff)                            */
66 /* =======================================================  VREF_CHAN  ======================================================= */
67 #define MEC_ADC_VREF_CHAN_VRCH0_Pos       (0UL)                     /*!< VRCH0 (Bit 0)                                         */
68 #define MEC_ADC_VREF_CHAN_VRCH0_Msk       (0x3UL)                   /*!< VRCH0 (Bitfield-Mask: 0x03)                           */
69 #define MEC_ADC_VREF_CHAN_VRCH1_Pos       (2UL)                     /*!< VRCH1 (Bit 2)                                         */
70 #define MEC_ADC_VREF_CHAN_VRCH1_Msk       (0xcUL)                   /*!< VRCH1 (Bitfield-Mask: 0x03)                           */
71 #define MEC_ADC_VREF_CHAN_VRCH2_Pos       (4UL)                     /*!< VRCH2 (Bit 4)                                         */
72 #define MEC_ADC_VREF_CHAN_VRCH2_Msk       (0x30UL)                  /*!< VRCH2 (Bitfield-Mask: 0x03)                           */
73 #define MEC_ADC_VREF_CHAN_VRCH3_Pos       (6UL)                     /*!< VRCH3 (Bit 6)                                         */
74 #define MEC_ADC_VREF_CHAN_VRCH3_Msk       (0xc0UL)                  /*!< VRCH3 (Bitfield-Mask: 0x03)                           */
75 #define MEC_ADC_VREF_CHAN_VRCH4_Pos       (8UL)                     /*!< VRCH4 (Bit 8)                                         */
76 #define MEC_ADC_VREF_CHAN_VRCH4_Msk       (0x300UL)                 /*!< VRCH4 (Bitfield-Mask: 0x03)                           */
77 #define MEC_ADC_VREF_CHAN_VRCH5_Pos       (10UL)                    /*!< VRCH5 (Bit 10)                                        */
78 #define MEC_ADC_VREF_CHAN_VRCH5_Msk       (0xc00UL)                 /*!< VRCH5 (Bitfield-Mask: 0x03)                           */
79 #define MEC_ADC_VREF_CHAN_VRCH6_Pos       (12UL)                    /*!< VRCH6 (Bit 12)                                        */
80 #define MEC_ADC_VREF_CHAN_VRCH6_Msk       (0x3000UL)                /*!< VRCH6 (Bitfield-Mask: 0x03)                           */
81 #define MEC_ADC_VREF_CHAN_VRCH7_Pos       (14UL)                    /*!< VRCH7 (Bit 14)                                        */
82 #define MEC_ADC_VREF_CHAN_VRCH7_Msk       (0xc000UL)                /*!< VRCH7 (Bitfield-Mask: 0x03)                           */
83 #define MEC_ADC_VREF_CHAN_VRCH8_Pos       (16UL)                    /*!< VRCH8 (Bit 16)                                        */
84 #define MEC_ADC_VREF_CHAN_VRCH8_Msk       (0x30000UL)               /*!< VRCH8 (Bitfield-Mask: 0x03)                           */
85 #define MEC_ADC_VREF_CHAN_VRCH9_Pos       (18UL)                    /*!< VRCH9 (Bit 18)                                        */
86 #define MEC_ADC_VREF_CHAN_VRCH9_Msk       (0xc0000UL)               /*!< VRCH9 (Bitfield-Mask: 0x03)                           */
87 #define MEC_ADC_VREF_CHAN_VRCH10_Pos      (20UL)                    /*!< VRCH10 (Bit 20)                                       */
88 #define MEC_ADC_VREF_CHAN_VRCH10_Msk      (0x300000UL)              /*!< VRCH10 (Bitfield-Mask: 0x03)                          */
89 #define MEC_ADC_VREF_CHAN_VRCH11_Pos      (22UL)                    /*!< VRCH11 (Bit 22)                                       */
90 #define MEC_ADC_VREF_CHAN_VRCH11_Msk      (0xc00000UL)              /*!< VRCH11 (Bitfield-Mask: 0x03)                          */
91 #define MEC_ADC_VREF_CHAN_VRCH12_Pos      (24UL)                    /*!< VRCH12 (Bit 24)                                       */
92 #define MEC_ADC_VREF_CHAN_VRCH12_Msk      (0x3000000UL)             /*!< VRCH12 (Bitfield-Mask: 0x03)                          */
93 #define MEC_ADC_VREF_CHAN_VRCH13_Pos      (26UL)                    /*!< VRCH13 (Bit 26)                                       */
94 #define MEC_ADC_VREF_CHAN_VRCH13_Msk      (0xc000000UL)             /*!< VRCH13 (Bitfield-Mask: 0x03)                          */
95 #define MEC_ADC_VREF_CHAN_VRCH14_Pos      (28UL)                    /*!< VRCH14 (Bit 28)                                       */
96 #define MEC_ADC_VREF_CHAN_VRCH14_Msk      (0x30000000UL)            /*!< VRCH14 (Bitfield-Mask: 0x03)                          */
97 #define MEC_ADC_VREF_CHAN_VRCH15_Pos      (30UL)                    /*!< VRCH15 (Bit 30)                                       */
98 #define MEC_ADC_VREF_CHAN_VRCH15_Msk      (0xc0000000UL)            /*!< VRCH15 (Bitfield-Mask: 0x03)                          */
99 /* =======================================================  VREF_CTRL  ======================================================= */
100 #define MEC_ADC_VREF_CTRL_CHRG_DLY_Pos    (0UL)                     /*!< CHRG_DLY (Bit 0)                                      */
101 #define MEC_ADC_VREF_CTRL_CHRG_DLY_Msk    (0xffffUL)                /*!< CHRG_DLY (Bitfield-Mask: 0xffff)                      */
102 #define MEC_ADC_VREF_CTRL_SWITCH_DLY_Pos  (16UL)                    /*!< SWITCH_DLY (Bit 16)                                   */
103 #define MEC_ADC_VREF_CTRL_SWITCH_DLY_Msk  (0x1fff0000UL)            /*!< SWITCH_DLY (Bitfield-Mask: 0x1fff)                    */
104 #define MEC_ADC_VREF_CTRL_PAD_DLO_Pos     (29UL)                    /*!< PAD_DLO (Bit 29)                                      */
105 #define MEC_ADC_VREF_CTRL_PAD_DLO_Msk     (0x20000000UL)            /*!< PAD_DLO (Bitfield-Mask: 0x01)                         */
106 #define MEC_ADC_VREF_CTRL_VRSEL_Pos       (30UL)                    /*!< VRSEL (Bit 30)                                        */
107 #define MEC_ADC_VREF_CTRL_VRSEL_Msk       (0xc0000000UL)            /*!< VRSEL (Bitfield-Mask: 0x03)                           */
108 /* =======================================================  SAR_CTRL  ======================================================== */
109 #define MEC_ADC_SAR_CTRL_SELDIFF_Pos      (0UL)                     /*!< SELDIFF (Bit 0)                                       */
110 #define MEC_ADC_SAR_CTRL_SELDIFF_Msk      (0x1UL)                   /*!< SELDIFF (Bitfield-Mask: 0x01)                         */
111 #define MEC_ADC_SAR_CTRL_SELRES_Pos       (1UL)                     /*!< SELRES (Bit 1)                                        */
112 #define MEC_ADC_SAR_CTRL_SELRES_Msk       (0x6UL)                   /*!< SELRES (Bitfield-Mask: 0x03)                          */
113 #define MEC_ADC_SAR_CTRL_SHFT_DATA_Pos    (3UL)                     /*!< SHFT_DATA (Bit 3)                                     */
114 #define MEC_ADC_SAR_CTRL_SHFT_DATA_Msk    (0x8UL)                   /*!< SHFT_DATA (Bitfield-Mask: 0x01)                       */
115 #define MEC_ADC_SAR_CTRL_WARMUPDLY_Pos    (7UL)                     /*!< WARMUPDLY (Bit 7)                                     */
116 #define MEC_ADC_SAR_CTRL_WARMUPDLY_Msk    (0x1ff80UL)               /*!< WARMUPDLY (Bitfield-Mask: 0x3ff)                      */
117 /* ========================================================  SAR_CFG  ======================================================== */
118 #define MEC_ADC_SAR_CFG_CMBF_Pos          (0UL)                     /*!< CMBF (Bit 0)                                          */
119 #define MEC_ADC_SAR_CFG_CMBF_Msk          (0x1UL)                   /*!< CMBF (Bitfield-Mask: 0x01)                            */
120 #define MEC_ADC_SAR_CFG_PAR_DOUT_Pos      (1UL)                     /*!< PAR_DOUT (Bit 1)                                      */
121 #define MEC_ADC_SAR_CFG_PAR_DOUT_Msk      (0x2UL)                   /*!< PAR_DOUT (Bitfield-Mask: 0x01)                        */
122 #define MEC_ADC_SAR_CFG_DITHER_Pos        (2UL)                     /*!< DITHER (Bit 2)                                        */
123 #define MEC_ADC_SAR_CFG_DITHER_Msk        (0x4UL)                   /*!< DITHER (Bitfield-Mask: 0x01)                          */
124 #define MEC_ADC_SAR_CFG_F_AUTOZ_Pos       (3UL)                     /*!< F_AUTOZ (Bit 3)                                       */
125 #define MEC_ADC_SAR_CFG_F_AUTOZ_Msk       (0x8UL)                   /*!< F_AUTOZ (Bitfield-Mask: 0x01)                         */
126 #define MEC_ADC_SAR_CFG_S_AUTOZ_Pos       (4UL)                     /*!< S_AUTOZ (Bit 4)                                       */
127 #define MEC_ADC_SAR_CFG_S_AUTOZ_Msk       (0x10UL)                  /*!< S_AUTOZ (Bitfield-Mask: 0x01)                         */
128 #define MEC_ADC_SAR_CFG_L_AUTOZ_Pos       (5UL)                     /*!< L_AUTOZ (Bit 5)                                       */
129 #define MEC_ADC_SAR_CFG_L_AUTOZ_Msk       (0x20UL)                  /*!< L_AUTOZ (Bitfield-Mask: 0x01)                         */
130 #define MEC_ADC_SAR_CFG_RADC_Pos          (6UL)                     /*!< RADC (Bit 6)                                          */
131 #define MEC_ADC_SAR_CFG_RADC_Msk          (0x40UL)                  /*!< RADC (Bitfield-Mask: 0x01)                            */
132 #define MEC_ADC_SAR_CFG_REGEN_DLY_VAL_Pos (9UL)                     /*!< REGEN_DLY_VAL (Bit 9)                                 */
133 #define MEC_ADC_SAR_CFG_REGEN_DLY_VAL_Msk (0x600UL)                 /*!< REGEN_DLY_VAL (Bitfield-Mask: 0x03)                   */
134 #define MEC_ADC_SAR_CFG_ADC_CLK_DIV_Pos   (11UL)                    /*!< ADC_CLK_DIV (Bit 11)                                  */
135 #define MEC_ADC_SAR_CFG_ADC_CLK_DIV_Msk   (0xf800UL)                /*!< ADC_CLK_DIV (Bitfield-Mask: 0x1f)                     */
136 #define MEC_ADC_SAR_CFG_LADC_RNG2_Pos     (20UL)                    /*!< LADC_RNG2 (Bit 20)                                    */
137 #define MEC_ADC_SAR_CFG_LADC_RNG2_Msk     (0x300000UL)              /*!< LADC_RNG2 (Bitfield-Mask: 0x03)                       */
138 #define MEC_ADC_SAR_CFG_LADC_RNG1_Pos     (22UL)                    /*!< LADC_RNG1 (Bit 22)                                    */
139 #define MEC_ADC_SAR_CFG_LADC_RNG1_Msk     (0xc00000UL)              /*!< LADC_RNG1 (Bitfield-Mask: 0x03)                       */
140 #define MEC_ADC_SAR_CFG_LCMBF_STG1_Pos    (24UL)                    /*!< LCMBF_STG1 (Bit 24)                                   */
141 #define MEC_ADC_SAR_CFG_LCMBF_STG1_Msk    (0x3000000UL)             /*!< LCMBF_STG1 (Bitfield-Mask: 0x03)                      */
142 #define MEC_ADC_SAR_CFG_LCMBF_STG2_Pos    (26UL)                    /*!< LCMBF_STG2 (Bit 26)                                   */
143 #define MEC_ADC_SAR_CFG_LCMBF_STG2_Msk    (0xc000000UL)             /*!< LCMBF_STG2 (Bitfield-Mask: 0x03)                      */
144 #define MEC_ADC_SAR_CFG_EXT_BIAS_Pos      (31UL)                    /*!< EXT_BIAS (Bit 31)                                     */
145 #define MEC_ADC_SAR_CFG_EXT_BIAS_Msk      (0x80000000UL)            /*!< EXT_BIAS (Bitfield-Mask: 0x01)                        */
146 
147 /** @addtogroup EnumValue_peripherals
148   * @{
149   */
150 /* =========================================================  CTRL  ========================================================== */
151 /* ===============================================  MEC_ADC CTRL ACTV [0..0]  =============================================== */
152 typedef enum {                                  /*!< MEC_ADC_CTRL_ACTV                                                        */
153   MEC_ADC_CTRL_ACTV_EN                = 1,     /*!< EN : Enable                                                               */
154 } MEC_ADC_CTRL_ACTV_Enum;
155 
156 /* ==============================================  MEC_ADC CTRL SSTART [1..1]  ============================================== */
157 typedef enum {                                  /*!< MEC_ADC_CTRL_SSTART                                                      */
158   MEC_ADC_CTRL_SSTART_EN              = 1,     /*!< EN : Enable                                                               */
159 } MEC_ADC_CTRL_SSTART_Enum;
160 
161 /* ==============================================  MEC_ADC CTRL RSTART [2..2]  ============================================== */
162 typedef enum {                                  /*!< MEC_ADC_CTRL_RSTART                                                      */
163   MEC_ADC_CTRL_RSTART_EN              = 1,     /*!< EN : Enable                                                               */
164 } MEC_ADC_CTRL_RSTART_Enum;
165 
166 /* =============================================  MEC_ADC CTRL PWR_SAVE [3..3]  ============================================= */
167 typedef enum {                                  /*!< MEC_ADC_CTRL_PWR_SAVE                                                    */
168   MEC_ADC_CTRL_PWR_SAVE_EN            = 0,     /*!< EN : Enable                                                               */
169   MEC_ADC_CTRL_PWR_SAVE_DIS           = 1,     /*!< DIS : Disable                                                             */
170 } MEC_ADC_CTRL_PWR_SAVE_Enum;
171 
172 /* ===============================================  MEC_ADC CTRL SRST [4..4]  =============================================== */
173 typedef enum {                                  /*!< MEC_ADC_CTRL_SRST                                                        */
174   MEC_ADC_CTRL_SRST_EN                = 1,     /*!< EN : Enable                                                               */
175 } MEC_ADC_CTRL_SRST_Enum;
176 
177 /* ==============================================  MEC_ADC CTRL RDONE [6..6]  =============================================== */
178 typedef enum {                                  /*!< MEC_ADC_CTRL_RDONE                                                       */
179   MEC_ADC_CTRL_RDONE_ACTIVE           = 1,     /*!< ACTIVE : Active                                                           */
180 } MEC_ADC_CTRL_RDONE_Enum;
181 
182 /* ==============================================  MEC_ADC CTRL SDONE [7..7]  =============================================== */
183 typedef enum {                                  /*!< MEC_ADC_CTRL_SDONE                                                       */
184   MEC_ADC_CTRL_SDONE_ACTIVE           = 1,     /*!< ACTIVE : Active                                                           */
185 } MEC_ADC_CTRL_SDONE_Enum;
186 
187 /* =========================================================  DELAY  ========================================================= */
188 /* ========================================================  STATUS  ========================================================= */
189 /* =========================================================  SCHEN  ========================================================= */
190 /* =========================================================  RCHEN  ========================================================= */
191 /* ==========================================================  RD  =========================================================== */
192 /* ========================================================  CONFIG  ========================================================= */
193 /* =======================================================  VREF_CHAN  ======================================================= */
194 /* ============================================  MEC_ADC VREF_CHAN VRCH0 [0..1]  ============================================ */
195 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH0                                                  */
196   MEC_ADC_VREF_CHAN_VRCH0_VREF_PAD    = 0,     /*!< VREF_PAD : Vref pad                                                       */
197   MEC_ADC_VREF_CHAN_VRCH0_VREF_GPIO   = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
198 } MEC_ADC_VREF_CHAN_VRCH0_Enum;
199 
200 /* ============================================  MEC_ADC VREF_CHAN VRCH1 [2..3]  ============================================ */
201 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH1                                                  */
202   MEC_ADC_VREF_CHAN_VRCH1_VREF_PAD    = 0,     /*!< VREF_PAD : Vref pad                                                       */
203   MEC_ADC_VREF_CHAN_VRCH1_VREF_GPIO   = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
204 } MEC_ADC_VREF_CHAN_VRCH1_Enum;
205 
206 /* ============================================  MEC_ADC VREF_CHAN VRCH2 [4..5]  ============================================ */
207 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH2                                                  */
208   MEC_ADC_VREF_CHAN_VRCH2_VREF_PAD    = 0,     /*!< VREF_PAD : Vref pad                                                       */
209   MEC_ADC_VREF_CHAN_VRCH2_VREF_GPIO   = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
210 } MEC_ADC_VREF_CHAN_VRCH2_Enum;
211 
212 /* ============================================  MEC_ADC VREF_CHAN VRCH3 [6..7]  ============================================ */
213 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH3                                                  */
214   MEC_ADC_VREF_CHAN_VRCH3_VREF_PAD    = 0,     /*!< VREF_PAD : Vref pad                                                       */
215   MEC_ADC_VREF_CHAN_VRCH3_VREF_GPIO   = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
216 } MEC_ADC_VREF_CHAN_VRCH3_Enum;
217 
218 /* ============================================  MEC_ADC VREF_CHAN VRCH4 [8..9]  ============================================ */
219 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH4                                                  */
220   MEC_ADC_VREF_CHAN_VRCH4_VREF_PAD    = 0,     /*!< VREF_PAD : Vref pad                                                       */
221   MEC_ADC_VREF_CHAN_VRCH4_VREF_GPIO   = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
222 } MEC_ADC_VREF_CHAN_VRCH4_Enum;
223 
224 /* ===========================================  MEC_ADC VREF_CHAN VRCH5 [10..11]  =========================================== */
225 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH5                                                  */
226   MEC_ADC_VREF_CHAN_VRCH5_VREF_PAD    = 0,     /*!< VREF_PAD : Vref pad                                                       */
227   MEC_ADC_VREF_CHAN_VRCH5_VREF_GPIO   = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
228 } MEC_ADC_VREF_CHAN_VRCH5_Enum;
229 
230 /* ===========================================  MEC_ADC VREF_CHAN VRCH6 [12..13]  =========================================== */
231 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH6                                                  */
232   MEC_ADC_VREF_CHAN_VRCH6_VREF_PAD    = 0,     /*!< VREF_PAD : Vref pad                                                       */
233   MEC_ADC_VREF_CHAN_VRCH6_VREF_GPIO   = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
234 } MEC_ADC_VREF_CHAN_VRCH6_Enum;
235 
236 /* ===========================================  MEC_ADC VREF_CHAN VRCH7 [14..15]  =========================================== */
237 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH7                                                  */
238   MEC_ADC_VREF_CHAN_VRCH7_VREF_PAD    = 0,     /*!< VREF_PAD : Vref pad                                                       */
239   MEC_ADC_VREF_CHAN_VRCH7_VREF_GPIO   = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
240 } MEC_ADC_VREF_CHAN_VRCH7_Enum;
241 
242 /* ===========================================  MEC_ADC VREF_CHAN VRCH8 [16..17]  =========================================== */
243 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH8                                                  */
244   MEC_ADC_VREF_CHAN_VRCH8_VREF_PAD    = 0,     /*!< VREF_PAD : Vref pad                                                       */
245   MEC_ADC_VREF_CHAN_VRCH8_VREF_GPIO   = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
246 } MEC_ADC_VREF_CHAN_VRCH8_Enum;
247 
248 /* ===========================================  MEC_ADC VREF_CHAN VRCH9 [18..19]  =========================================== */
249 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH9                                                  */
250   MEC_ADC_VREF_CHAN_VRCH9_VREF_PAD    = 0,     /*!< VREF_PAD : Vref pad                                                       */
251   MEC_ADC_VREF_CHAN_VRCH9_VREF_GPIO   = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
252 } MEC_ADC_VREF_CHAN_VRCH9_Enum;
253 
254 /* ==========================================  MEC_ADC VREF_CHAN VRCH10 [20..21]  =========================================== */
255 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH10                                                 */
256   MEC_ADC_VREF_CHAN_VRCH10_VREF_PAD   = 0,     /*!< VREF_PAD : Vref pad                                                       */
257   MEC_ADC_VREF_CHAN_VRCH10_VREF_GPIO  = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
258 } MEC_ADC_VREF_CHAN_VRCH10_Enum;
259 
260 /* ==========================================  MEC_ADC VREF_CHAN VRCH11 [22..23]  =========================================== */
261 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH11                                                 */
262   MEC_ADC_VREF_CHAN_VRCH11_VREF_PAD   = 0,     /*!< VREF_PAD : Vref pad                                                       */
263   MEC_ADC_VREF_CHAN_VRCH11_VREF_GPIO  = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
264 } MEC_ADC_VREF_CHAN_VRCH11_Enum;
265 
266 /* ==========================================  MEC_ADC VREF_CHAN VRCH12 [24..25]  =========================================== */
267 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH12                                                 */
268   MEC_ADC_VREF_CHAN_VRCH12_VREF_PAD   = 0,     /*!< VREF_PAD : Vref pad                                                       */
269   MEC_ADC_VREF_CHAN_VRCH12_VREF_GPIO  = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
270 } MEC_ADC_VREF_CHAN_VRCH12_Enum;
271 
272 /* ==========================================  MEC_ADC VREF_CHAN VRCH13 [26..27]  =========================================== */
273 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH13                                                 */
274   MEC_ADC_VREF_CHAN_VRCH13_VREF_PAD   = 0,     /*!< VREF_PAD : Vref pad                                                       */
275   MEC_ADC_VREF_CHAN_VRCH13_VREF_GPIO  = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
276 } MEC_ADC_VREF_CHAN_VRCH13_Enum;
277 
278 /* ==========================================  MEC_ADC VREF_CHAN VRCH14 [28..29]  =========================================== */
279 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH14                                                 */
280   MEC_ADC_VREF_CHAN_VRCH14_VREF_PAD   = 0,     /*!< VREF_PAD : Vref pad                                                       */
281   MEC_ADC_VREF_CHAN_VRCH14_VREF_GPIO  = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
282 } MEC_ADC_VREF_CHAN_VRCH14_Enum;
283 
284 /* ==========================================  MEC_ADC VREF_CHAN VRCH15 [30..31]  =========================================== */
285 typedef enum {                                  /*!< MEC_ADC_VREF_CHAN_VRCH15                                                 */
286   MEC_ADC_VREF_CHAN_VRCH15_VREF_PAD   = 0,     /*!< VREF_PAD : Vref pad                                                       */
287   MEC_ADC_VREF_CHAN_VRCH15_VREF_GPIO  = 1,     /*!< VREF_GPIO : Vref GPIO                                                     */
288 } MEC_ADC_VREF_CHAN_VRCH15_Enum;
289 
290 /* =======================================================  VREF_CTRL  ======================================================= */
291 /* ==========================================  MEC_ADC VREF_CTRL PAD_DLO [29..29]  ========================================== */
292 typedef enum {                                  /*!< MEC_ADC_VREF_CTRL_PAD_DLO                                                */
293   MEC_ADC_VREF_CTRL_PAD_DLO_VREF_PAD_FLOAT = 0,/*!< VREF_PAD_FLOAT : Let Vref pad(s) float                                    */
294   MEC_ADC_VREF_CTRL_PAD_DLO_VREF_PAD_DRV_LO = 1,/*!< VREF_PAD_DRV_LO : Drive Vref pad(s) low                                  */
295 } MEC_ADC_VREF_CTRL_PAD_DLO_Enum;
296 
297 /* ===========================================  MEC_ADC VREF_CTRL VRSEL [30..31]  =========================================== */
298 typedef enum {                                  /*!< MEC_ADC_VREF_CTRL_VRSEL                                                  */
299   MEC_ADC_VREF_CTRL_VRSEL_VREF_PAD    = 0,     /*!< VREF_PAD : Vref pad was selected                                          */
300   MEC_ADC_VREF_CTRL_VRSEL_VREF_GPIO   = 1,     /*!< VREF_GPIO : Vref GPIO was selected                                        */
301 } MEC_ADC_VREF_CTRL_VRSEL_Enum;
302 
303 /* =======================================================  SAR_CTRL  ======================================================== */
304 /* ===========================================  MEC_ADC SAR_CTRL SELDIFF [0..0]  ============================================ */
305 typedef enum {                                  /*!< MEC_ADC_SAR_CTRL_SELDIFF                                                 */
306   MEC_ADC_SAR_CTRL_SELDIFF_EN         = 1,     /*!< EN : Enable                                                               */
307 } MEC_ADC_SAR_CTRL_SELDIFF_Enum;
308 
309 /* ============================================  MEC_ADC SAR_CTRL SELRES [1..2]  ============================================ */
310 typedef enum {                                  /*!< MEC_ADC_SAR_CTRL_SELRES                                                  */
311   MEC_ADC_SAR_CTRL_SELRES_6BIT        = 0,     /*!< 6BIT : Resolution is 6-bit                                                */
312   MEC_ADC_SAR_CTRL_SELRES_8BIT        = 1,     /*!< 8BIT : Resolution is 8-bit                                                */
313   MEC_ADC_SAR_CTRL_SELRES_10BIT       = 2,     /*!< 10BIT : Resolution is 10-bit                                              */
314   MEC_ADC_SAR_CTRL_SELRES_12BIT       = 3,     /*!< 12BIT : Resolution is 12-bit                                              */
315 } MEC_ADC_SAR_CTRL_SELRES_Enum;
316 
317 /* ==========================================  MEC_ADC SAR_CTRL SHFT_DATA [3..3]  =========================================== */
318 typedef enum {                                  /*!< MEC_ADC_SAR_CTRL_SHFT_DATA                                               */
319   MEC_ADC_SAR_CTRL_SHFT_DATA_EN       = 1,     /*!< EN : Enable                                                               */
320 } MEC_ADC_SAR_CTRL_SHFT_DATA_Enum;
321 
322 /* ========================================================  SAR_CFG  ======================================================== */
323 /* =============================================  MEC_ADC SAR_CFG CMBF [0..0]  ============================================== */
324 typedef enum {                                  /*!< MEC_ADC_SAR_CFG_CMBF                                                     */
325   MEC_ADC_SAR_CFG_CMBF_DIS            = 0,     /*!< DIS : Disable                                                             */
326   MEC_ADC_SAR_CFG_CMBF_EN             = 1,     /*!< EN : Enable                                                               */
327 } MEC_ADC_SAR_CFG_CMBF_Enum;
328 
329 /* ===========================================  MEC_ADC SAR_CFG PAR_DOUT [1..1]  ============================================ */
330 typedef enum {                                  /*!< MEC_ADC_SAR_CFG_PAR_DOUT                                                 */
331   MEC_ADC_SAR_CFG_PAR_DOUT_EN         = 0,     /*!< EN : Enable                                                               */
332   MEC_ADC_SAR_CFG_PAR_DOUT_DIS        = 1,     /*!< DIS : Disable                                                             */
333 } MEC_ADC_SAR_CFG_PAR_DOUT_Enum;
334 
335 /* ============================================  MEC_ADC SAR_CFG DITHER [2..2]  ============================================= */
336 typedef enum {                                  /*!< MEC_ADC_SAR_CFG_DITHER                                                   */
337   MEC_ADC_SAR_CFG_DITHER_DIS          = 0,     /*!< DIS : Disable                                                             */
338   MEC_ADC_SAR_CFG_DITHER_EN           = 1,     /*!< EN : Enable                                                               */
339 } MEC_ADC_SAR_CFG_DITHER_Enum;
340 
341 /* ============================================  MEC_ADC SAR_CFG F_AUTOZ [3..3]  ============================================ */
342 typedef enum {                                  /*!< MEC_ADC_SAR_CFG_F_AUTOZ                                                  */
343   MEC_ADC_SAR_CFG_F_AUTOZ_DIS         = 0,     /*!< DIS : Disable                                                             */
344   MEC_ADC_SAR_CFG_F_AUTOZ_EN          = 1,     /*!< EN : Enable                                                               */
345 } MEC_ADC_SAR_CFG_F_AUTOZ_Enum;
346 
347 /* ============================================  MEC_ADC SAR_CFG S_AUTOZ [4..4]  ============================================ */
348 typedef enum {                                  /*!< MEC_ADC_SAR_CFG_S_AUTOZ                                                  */
349   MEC_ADC_SAR_CFG_S_AUTOZ_DIS         = 0,     /*!< DIS : Disable                                                             */
350   MEC_ADC_SAR_CFG_S_AUTOZ_EN          = 1,     /*!< EN : Enable                                                               */
351 } MEC_ADC_SAR_CFG_S_AUTOZ_Enum;
352 
353 /* ============================================  MEC_ADC SAR_CFG L_AUTOZ [5..5]  ============================================ */
354 typedef enum {                                  /*!< MEC_ADC_SAR_CFG_L_AUTOZ                                                  */
355   MEC_ADC_SAR_CFG_L_AUTOZ_DIS         = 0,     /*!< DIS : Disable                                                             */
356   MEC_ADC_SAR_CFG_L_AUTOZ_EN          = 1,     /*!< EN : Enable                                                               */
357 } MEC_ADC_SAR_CFG_L_AUTOZ_Enum;
358 
359 /* =============================================  MEC_ADC SAR_CFG RADC [6..6]  ============================================== */
360 typedef enum {                                  /*!< MEC_ADC_SAR_CFG_RADC                                                     */
361   MEC_ADC_SAR_CFG_RADC_DIS            = 0,     /*!< DIS : Disable                                                             */
362   MEC_ADC_SAR_CFG_RADC_EN             = 1,     /*!< EN : Enable                                                               */
363 } MEC_ADC_SAR_CFG_RADC_Enum;
364 
365 /* =========================================  MEC_ADC SAR_CFG ADC_CLK_DIV [11..15]  ========================================= */
366 typedef enum {                                  /*!< MEC_ADC_SAR_CFG_ADC_CLK_DIV                                              */
367   MEC_ADC_SAR_CFG_ADC_CLK_DIV_DIV16   = 0,     /*!< DIV16 : Sample clock is 48MHz / 16                                        */
368   MEC_ADC_SAR_CFG_ADC_CLK_DIV_DIV32   = 1,     /*!< DIV32 : Sample clock is 48MHz / 32                                        */
369   MEC_ADC_SAR_CFG_ADC_CLK_DIV_DIV64   = 2,     /*!< DIV64 : Sample clock is 48MHz / 64                                        */
370   MEC_ADC_SAR_CFG_ADC_CLK_DIV_DIV128  = 3,     /*!< DIV128 : Sample clock is 48MHz / 128                                      */
371   MEC_ADC_SAR_CFG_ADC_CLK_DIV_DIV256  = 4,     /*!< DIV256 : Sample clock is 48MHz / 256                                      */
372 } MEC_ADC_SAR_CFG_ADC_CLK_DIV_Enum;
373 
374 /* ==========================================  MEC_ADC SAR_CFG EXT_BIAS [31..31]  =========================================== */
375 typedef enum {                                  /*!< MEC_ADC_SAR_CFG_EXT_BIAS                                                 */
376   MEC_ADC_SAR_CFG_EXT_BIAS_DIS        = 0,     /*!< DIS : Disable internal switch capacitor bias current                      */
377   MEC_ADC_SAR_CFG_EXT_BIAS_EN         = 1,     /*!< EN : Enable internal switch capacitor bias current                        */
378 } MEC_ADC_SAR_CFG_EXT_BIAS_Enum;
379 
380 /** @} */ /* End of group EnumValue_peripherals */
381 
382 #endif /* _MEC5_ADC_V2_H */
383