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