1 /**************************************************************************//** 2 * @file lpadc_reg.h 3 * @version V1.00 4 * @brief LPADC register definition header file 5 * 6 * SPDX-License-Identifier: Apache-2.0 7 * @copyright (C) 2023 Nuvoton Technology Corp. All rights reserved. 8 *****************************************************************************/ 9 #ifndef __LPADC_REG_H__ 10 #define __LPADC_REG_H__ 11 12 #if defined ( __CC_ARM ) 13 #pragma anon_unions 14 #endif 15 16 /** 17 @addtogroup REGISTER Control Register 18 @{ 19 */ 20 21 /** 22 @addtogroup LPADC Low Power Analog to Digital Converter (LPADC) 23 Memory Mapped Structure for LPADC Controller 24 @{ */ 25 26 typedef struct 27 { 28 29 30 /** 31 * @var LPADC_T::ADDR[32] 32 * Offset: 0x00/0x04/0x08/0x0C/0x10/0x14/0x18/0x1C/0x20/0x24/0x28/0x2C/0x30/0x34/0x38/0x3C/0x40/0x44/0x48/0x4C/0x50/0x54/0x58/0x5C/0x60/0x64/0x68/0x6C/0x70/0x74/0x78/0x7C ADC Data Register 0~31 33 * --------------------------------------------------------------------------------------------------- 34 * |Bits |Field |Descriptions 35 * | :----: | :----: | :---- | 36 * |[15:0] |RSLT |A/D Conversion Result (Read Only) 37 * | | |This field contains conversion result of ADC. 38 * |[16] |OVERRUN |Overrun Flag (Read Only) 39 * | | |If converted data in RSLT bits has not been read before new conversion result is loaded to this register, OVERRUN bit is set to 1 40 * | | |It is cleared by hardware after ADDR register is read. 41 * | | |0 = Data in RSLT bits is not overwritten. 42 * | | |1 = Data in RSLT bits is overwritten. 43 * |[17] |VALID |Valid Flag (Read Only) 44 * | | |This bit will be set to 1 when the conversion of the corresponding channel is completed 45 * | | |This bit will be cleared to 0 by hardware after ADDR register is read. 46 * | | |0 = Data in RSLT bits is not valid. 47 * | | |1 = Data in RSLT bits is valid. 48 * @var LPADC_T::ADCR 49 * Offset: 0x80 ADC Control Register 50 * --------------------------------------------------------------------------------------------------- 51 * |Bits |Field |Descriptions 52 * | :----: | :----: | :---- | 53 * |[0] |ADEN |A/D Converter Enable Bit 54 * | | |0 = A/D converter Disabled. 55 * | | |1 = A/D converter Enabled. 56 * | | |Note: Before starting A/D conversion function, this bit should be set to 1 57 * | | |Clear it to 0 to disable A/D converter analog circuit to save power consumption. 58 * |[1] |ADIE |A/D Interrupt Enable Bit 59 * | | |A/D conversion end interrupt request is generated if ADIE bit is set to 1. 60 * | | |0 = A/D conversion end interrupt function Disabled. 61 * | | |1 = A/D conversion end interrupt function Enabled. 62 * |[3:2] |ADMD |A/D Converter Operation Mode Control 63 * | | |00 = Single conversion. 64 * | | |01 = Burst conversion. 65 * | | |10 = Single-cycle Scan. 66 * | | |11 = Continuous Scan. 67 * | | |Note 1: When changing the operation mode, software should clear ADST bit first. 68 * | | |Note 2: In Burst mode, the A/D conversion result data is always at ADC Data Register 0. 69 * |[7:6] |TRGCOND |External Trigger Condition 70 * | | |These two bits decide external pin LPADC0_ST trigger event is level or edge 71 * | | |The signal must be kept at stable state at least 8 PCLKs for level trigger and at least 4 PCLKs for edge trigger. 72 * | | |00 = Low level. 73 * | | |01 = High level. 74 * | | |10 = Falling edge. 75 * | | |11 = Rising edge. 76 * |[8] |TRGEN |External Trigger Enable Bit 77 * | | |Enable or disable triggering of A/D conversion by external LPADC0_ST pin, EPWM trigger, PWM trigger, ACMP interrupt event and Timer trigger 78 * | | |If external trigger is enabled, the ADST bit can be set to 1 by the selected hardware trigger source. 79 * | | |0 = External trigger Disabled. 80 * | | |1 = External trigger Enabled. 81 * | | |Note: The ADC external trigger function is only supported in Single-cycle Scan mode. 82 * |[9] |PTEN |LPPDMA Transfer Enable Bit 83 * | | |When A/D conversion is completed, the converted data is loaded into ADDR0~26 and ADDR28~ADDR31 84 * | | |Software can enable this bit to generate a LPPDMA data transfer request. 85 * | | |0 = LPPDMA data transfer Disabled. 86 * | | |1 = LPPDMA data transfer in ADDR0~26 and ADDR28~ADDR31 Enabled. 87 * | | |Note: When PTEN=1, software must set ADIE=0 to disable interrupt. 88 * |[10] |DIFFEN |Differential Input Mode Control 89 * | | |Differential input voltage (Vdiff) = Vplus - Vminus. 90 * | | |The relation between Vplus and Vminus is Vplus + Vminus = Vref. 91 * | | |The Vplus of differential input paired channel x is from LPADC0_CHy pin; Vminus is from LPADC0_CHz pin, x=0,1..11, y=2*x, z=y+1. 92 * | | |0 = Single-end analog input mode. 93 * | | |1 = Differential analog input mode. 94 * | | |Note: In Differential Input mode, only the even number of the two corresponding channels needs to be enabled in ADCHER register 95 * | | |The conversion result will be placed to the corresponding data register of the enabled channel. 96 * |[11] |ADST |A/D Conversion Start or Calibration Start 97 * | | |ADST bit can be set to 1 from four sources: software, external pin LPADC0_ST, PWM trigger and Timer trigger 98 * | | |ADST bit will be cleared to 0 by hardware automatically at the ends of Single mode, Single-cycle Scan mode and Calibration mode 99 * | | |In Continuous Scan mode and Burst mode, A/D conversion is continuously performed until software writes 0 to this bit or chip is reset. 100 * | | |0 = Conversion stops and A/D converter enters idle state. 101 * | | |1 = Conversion starts or Calibration Start. 102 * | | |Note 1: When ADST becomes from 1 to 0, ADC macro will reset to initial state 103 * | | |After macro reset to initial state, user should wait at most 2 ADC clock and set this bit to start next conversion. 104 * | | |Note 2: Calibration Start only if CALEN (LPADC_ADCAL[0]) = 1. 105 * |[12] |RESET |ADC RESET (Write Protect) 106 * | | |If user writes this bit, the ADC analog macro will reset 107 * | | |Calibration data in macro will be deleted, but registers LPADC will keep. 108 * | | |Note: This bit is cleared by hardware. 109 * |[19:16] |TRGS |Hardware Trigger Source 110 * | | |0000 = A/D conversion is started by external LPADC0_ST pin. 111 * | | |0001 = Timer0 ~ Timer3 overflow pulse trigger. 112 * | | |0011 = A/D conversion is started by PWM trigger. 113 * | | |0100 = A/D conversion is started by EPWM trigger. 114 * | | |1000 = ACMP0_O edge event. 115 * | | |1001 = ACMP1_O edge event. 116 * | | |1010 = ACMP2_O edge event. 117 * | | |Others = Reserved. 118 * | | |Note 1: Software should clear TRGEN bit and ADST bit to 0 before changing TRGS bits. 119 * | | |Note 2: These trigger sources are only abaliable when chip is in run and idle mode. 120 * |[21:20] |ACMPTES |ACMP Trigger Event Selection 121 * | | |00 = ACMP0/1/2 both edge event as trigger source. 122 * | | |01 = ACMP0/1/2 rising edge event as trigger source. 123 * | | |10 = ACMP0/1/2 falling edge event as trigger source. 124 * | | |11 = Reserved. 125 * |[29:28] |RESSEL |Resolution Select Bits 126 * | | |00 = ADC resolution 12 bits. 127 * | | |01 = ADC resolution 10 bits. 128 * | | |10 = ADC resolution 8 bits. 129 * | | |11 = Reserved. 130 * |[31] |DMOF |Differential Input Mode Output Format 131 * | | |If user enables differential input mode, the conversion result can be expressed with binary straight format (unsigned format) or 2's complement format (signed format). 132 * | | |0 = A/D Conversion result will be filled in RSLT at ADDRx registers with unsigned format (straight binary format). 133 * | | |1 = A/D Conversion result will be filled in RSLT at ADDRx registers with 2's complement format. 134 * @var LPADC_T::ADCHER 135 * Offset: 0x84 ADC Channel Enable Register 136 * --------------------------------------------------------------------------------------------------- 137 * |Bits |Field |Descriptions 138 * | :----: | :----: | :---- | 139 * |[31:0] |CHEN |Analog Input Channel Enable Control 140 * | | |Set ADCHER[23:0] bits to enable the corresponding analog external input channel 23 ~ 0 141 * | | |If DIFFEN bit is set to 1, only the even number channel needs to be enabled. 142 * | | |Besides, setting the ADCHER[26:24] bits will enable internal OPA0/1/2 output voltage, setting the ADCHER[28] bit will enable internal channel for AVDD divided by four, setting the ADCHER[29] bit will enable internal channel for band-gap voltage, setting the ADCHER[30] bit will enable internal channel for temperature sensor output voltage, setting the ADCHER[31] bit will enable internal channel for VBAT divided by four 143 * | | |Other bits are reserved. 144 * | | |0 = Channel Disabled. 145 * | | |1 = Channel Enabled. 146 * | | |Note: If the internal channel for AVDD divide by four (CHEN[28]), band-gap voltage (CHEN[29]), temperature sensor output voltage (CHEN[30]) or VBAT divided by four (CHEN[31]) is active, the maximum sampling rate will be 300k SPS. 147 * @var LPADC_T::ADCMPR[2] 148 * Offset: 0x88/0x8C ADC Compare Register 0~1 149 * --------------------------------------------------------------------------------------------------- 150 * |Bits |Field |Descriptions 151 * | :----: | :----: | :---- | 152 * |[0] |CMPEN |Compare Enable Bit 153 * | | |Set this bit to 1 to enable LPADC to compare CMPD (ADCMPRx[27:16]) with specified channel conversion result when converted data is loaded into ADDR register. 154 * | | |0 = Compare function Disabled. 155 * | | |1 = Compare function Enabled. 156 * |[1] |CMPIE |Compare Interrupt Enable Bit 157 * | | |If the compare function is enabled and the compare condition matches the setting of CMPCOND and CMPMCNT, CMPFx bit will be asserted, in the meanwhile, if CMPIE bit is set to 1, a compare interrupt request is generated. 158 * | | |0 = Compare function interrupt Disabled. 159 * | | |1 = Compare function interrupt Enabled. 160 * |[2] |CMPCOND |Compare Condition 161 * | | |0 = Set the compare condition as that when a 12-bit A/D conversion result is less than the 12-bit CMPD bits, the internal match counter will increase one. 162 * | | |1 = Set the compare condition as that when a 12-bit A/D conversion result is greater than or equal to the 12-bit CMPD bits, the internal match counter will increase one. 163 * | | |Note: When the internal counter reaches to (CMPMCNT +1), the CMPFx bit will be set. 164 * |[7:3] |CMPCH |Compare Channel Selection 165 * | | |00000 = Channel 0 conversion result is selected to be compared. 166 * | | |00001 = Channel 1 conversion result is selected to be compared. 167 * | | |00010 = Channel 2 conversion result is selected to be compared. 168 * | | |00011 = Channel 3 conversion result is selected to be compared. 169 * | | |00100 = Channel 4 conversion result is selected to be compared. 170 * | | |00101 = Channel 5 conversion result is selected to be compared. 171 * | | |00110 = Channel 6 conversion result is selected to be compared. 172 * | | |00111 = Channel 7 conversion result is selected to be compared. 173 * | | |01000 = Channel 8 conversion result is selected to be compared. 174 * | | |01001 = Channel 9 conversion result is selected to be compared. 175 * | | |01010 = Channel 10 conversion result is selected to be compared. 176 * | | |01011 = Channel 11 conversion result is selected to be compared. 177 * | | |01100 = Channel 12 conversion result is selected to be compared. 178 * | | |01101 = Channel 13 conversion result is selected to be compared. 179 * | | |01110 = Channel 14 conversion result is selected to be compared. 180 * | | |01111 = Channel 15 conversion result is selected to be compared. 181 * | | |10000 = Channel 16 conversion result is selected to be compared. 182 * | | |10001 = Channel 17 conversion result is selected to be compared. 183 * | | |10010 = Channel 18 conversion result is selected to be compared. 184 * | | |10011 = Channel 19 conversion result is selected to be compared. 185 * | | |10100 = Channel 20 conversion result is selected to be compared. 186 * | | |10101 = Channel 21 conversion result is selected to be compared. 187 * | | |10110 = Channel 22 conversion result is selected to be compared. 188 * | | |10111 = Channel 23 conversion result is selected to be compared. 189 * | | |11000 = OPA0 internal output voltage conversion result is selected to be compared. 190 * | | |11001 = OPA1 internal output voltage conversion result is selected to be compared. 191 * | | |11010 = OPA2 internal output voltage conversion result is selected to be compared. 192 * | | |11100 = AVDD/4 channel conversion result is selected to be compared. 193 * | | |11101 = Band-gap voltage conversion result is selected to be compared. 194 * | | |11110 = Temperature sensor voltage conversion result is selected to be compared. 195 * | | |11111 = VBAT/4 channel conversion result is selected to be compared. 196 * | | |Others = Reserved. 197 * |[11:8] |CMPMCNT |Compare Match Count 198 * | | |When the specified A/D channel analog conversion result matches the compare condition defined by CMPCOND bit, the internal match counter will increase 1 199 * | | |When the internal counter reaches the value to (CMPMCNT +1), the CMPFx bit will be set. 200 * |[15] |CMPWEN |Compare Window Mode Enable Bit 201 * | | |0 = Compare Window Mode Disabled. 202 * | | |1 = Compare Window Mode Enabled. 203 * | | |Note: This bit is only presented in ADCMPR0 register. 204 * |[27:16] |CMPD |Comparison Data 205 * | | |The 12-bit data is used to compare with conversion result of specified channel. 206 * | | |Note: CMPD bits should be filled in unsigned format (straight binary format). 207 * @var LPADC_T::ADSR0 208 * Offset: 0x90 ADC Status Register0 209 * --------------------------------------------------------------------------------------------------- 210 * |Bits |Field |Descriptions 211 * | :----: | :----: | :---- | 212 * |[0] |ADF |A/D Conversion End Flag 213 * | | |A status flag that indicates the end of A/D conversion. Software can write 1 to clear this bit. 214 * | | |The ADF bit is set to 1 at the following three conditions: 215 * | | |1. When A/D conversion ends in Single mode. 216 * | | |2 217 * | | |When A/D conversion ends on all specified channels in Single-cycle Scan mode and Continuous Scan mode. 218 * | | |3. When more than or equal to 8 samples in FIFO in Burst mode. 219 * |[1] |CMPF0 |Compare Flag 0 220 * | | |When the A/D conversion result of the selected channel meets setting condition in ADCMPR0 register then this bit is set to 1 221 * | | |This bit is cleared by writing 1 to it. 222 * | | |0 = Conversion result in ADDR does not meet ADCMPR0 setting. 223 * | | |1 = Conversion result in ADDR meets ADCMPR0 setting. 224 * |[2] |CMPF1 |Compare Flag 1 225 * | | |When the A/D conversion result of the selected channel meets setting condition in ADCMPR1 register, this bit is set to 1; it is cleared by writing 1 to it 226 * | | |0 = Conversion result in ADDR does not meet ADCMPR1 setting. 227 * | | |1 = Conversion result in ADDR meets ADCMPR1 setting. 228 * |[7] |BUSY |BUSY/IDLE (Read Only) 229 * | | |This bit is a mirror of ADST bit in ADCR register. 230 * | | |0 = A/D converter is in idle state. 231 * | | |1 = A/D converter is busy at conversion. 232 * |[8] |VALIDF |Data Valid Flag (Read Only) 233 * | | |If any one of VALID (ADDRx[17]) is set, this flag will be set to 1. 234 * | | |Note: When ADC is in burst mode and any conversion result is valid, this flag will be set to 1. 235 * |[16] |OVERRUNF |Overrun Flag (Read Only) 236 * | | |If any one of OVERRUN (ADDRx[16]) is set, this flag will be set to 1. 237 * | | |Note: When ADC is in burst mode and the FIFO is overrun, this flag will be set to 1. 238 * |[24] |ADPRDY |ADC Power On Ready (Read Only) 239 * | | |After set ADEN (LPADC_ADCR[0]) to 1, the ADPRDY will set to 1 within one PCLK2 clock period. 240 * | | |Then ADC macro can start convet. 241 * | | |The chip also support ALDO when chip want to do A/D conversion under chip power level is PL2 and PL3. 242 * | | |When ALDOEN (LPADC_ALDOCTL[8]) set to 1 to enable ALDO, the ALDO need a power stable time. 243 * | | |The ADPRDY will keep low until ALDO power stable. 244 * | | |The ALDO power ready time depends on STBSEL (LPADC_ALDOCTL[18:16]). 245 * | | |Note: LPADC can start converting after ADPRDY is 1. 246 * |[31:27] |CHANNEL |Current Conversion Channel (Read Only) 247 * | | |When BUSY=1, this filed reflects current conversion channel 248 * | | |When BUSY=0, it shows the number of the next converted channel. 249 * @var LPADC_T::ADSR1 250 * Offset: 0x94 ADC Status Register1 251 * --------------------------------------------------------------------------------------------------- 252 * |Bits |Field |Descriptions 253 * | :----: | :----: | :---- | 254 * |[31:0] |VALID |Data Valid Flag (Read Only) 255 * | | |VALID[31, 30, 29, 28, 26, 25, 24, 23:0] are the mirror of the VALID bits in ADDR31[17], ADDR30[17], ADDR29[17], ADDR28[17], ADDR26[17], ADDR25[17], ADDR24[17], ADDR23[17]~ ADDR0[17] 256 * | | |The other bits are reserved. 257 * | | |Note: When ADC is in burst mode and any conversion result is valid, VALID[31, 30, 29, 28, 26, 25, 24, 23:0] will be set to 1. 258 * @var LPADC_T::ADSR2 259 * Offset: 0x98 ADC Status Register2 260 * --------------------------------------------------------------------------------------------------- 261 * |Bits |Field |Descriptions 262 * | :----: | :----: | :---- | 263 * |[31:0] |OVERRUN |Overrun Flag (Read Only) 264 * | | |OVERRUN[31, 30, 29, 28, 26, 25, 24, 23:0] are the mirror of the OVERRUN bit in ADDR31[16], ADDR30[16], ADDR29[16], ADDR28[16], ADDR26[16], ADDR25[16], ADDR24[16], ADDR23[16] ~ ADDR0[16] 265 * | | |The other bits are reserved. 266 * | | |Note: When ADC is in burst mode and the FIFO is overrun, OVERRUN[31, 30, 29, 28, 26, 25, 24, 23:0] will be set to 1. 267 * @var LPADC_T::ESMPCTL 268 * Offset: 0xA0 ADC Extend Sample Time Control Register 269 * --------------------------------------------------------------------------------------------------- 270 * |Bits |Field |Descriptions 271 * | :----: | :----: | :---- | 272 * |[13:0] |EXTSMPT |ADC Sampling Time Extend 273 * | | |When A/D conversion at high conversion rate, the sampling time of analog input voltage may not enough if input channel loading is heavy, user can extend ADC sampling time after trigger source is coming to get enough sampling time. 274 * | | |The range of start delay time is from 0~16383 ADC clock. 275 * @var LPADC_T::CFDCTL 276 * Offset: 0xA4 ADC Channel Floating Detect Control Register 277 * --------------------------------------------------------------------------------------------------- 278 * |Bits |Field |Descriptions 279 * | :----: | :----: | :---- | 280 * |[0] |PRECHEN |Precharge Enable Bit 281 * | | |0 = Channel precharge Disabled. 282 * | | |1 = Channel precharge Enabled. 283 * | | |Note: Analog input voltage is 1/2 VREF when PRECHEN and DISCHEN are all enabled. 284 * |[1] |DISCHEN |Discharge Enable Bit 285 * | | |0 = Channel discharge Disabled. 286 * | | |1 = Channel discharge Enabled. 287 * | | |Note: Analog input voltage is 1/2 VREF when PRECHEN and DISCHEN are all enabled. 288 * |[8] |FDETCHEN |Floating Detect Channel Enable Bit 289 * | | |0 = Floating Detect Channel Disabled. 290 * | | |1 = Floating Detect Channel Enabled. 291 * @var LPADC_T::ADPDMA 292 * Offset: 0x100 ADC LPPDMA Current Transfer Data Register 293 * --------------------------------------------------------------------------------------------------- 294 * |Bits |Field |Descriptions 295 * | :----: | :----: | :---- | 296 * |[17:0] |CURDAT |ADC LPPDMA Current Transfer Data Register (Read Only) 297 * | | |When LPPDMA transfers data, reading the register can monitor the current LPPDMA transfer data. 298 * | | |Current LPPDMA transfer data could be the content of ADDR0 ~ ADDR23, ADDR24, ADDR25, ADDR26, ADDR28, ADDR29, ADDC30 and ADDR31 registers. 299 * @var LPADC_T::ADCAL 300 * Offset: 0x180 ADC Calibration Mode Register 301 * --------------------------------------------------------------------------------------------------- 302 * |Bits |Field |Descriptions 303 * | :----: | :----: | :---- | 304 * |[0] |CALEN |Calibration Function Enable Bit 305 * | | |0 = Calibration function Disabled. 306 * | | |1.= Calibration function Enabled. 307 * | | |Note: If chip is powered off, calibration function should be executed again. 308 * |[1] |CALIE |Calibration Interrupt Enable Bit 309 * | | |If calibration function is enabled and the calibration is finished, CALIF bit will be asserted, in the meanwhile, if CALIE bit is set to 1, a calibration interrupt request is generated. 310 * | | |0 = Calibration function Interrupt Disabled. 311 * | | |1 = Calibration function Interrupt Enabled. 312 * @var LPADC_T::ADCALSTS 313 * Offset: 0x184 ADC Calibration Status Register 314 * --------------------------------------------------------------------------------------------------- 315 * |Bits |Field |Descriptions 316 * | :----: | :----: | :---- | 317 * |[0] |CALIF |Calibration Finish Interrupt Flag 318 * | | |If calibration is finished, this flag will be set to 1. It is cleared by writing 1 to it. 319 * @var LPADC_T::AUTOCTL 320 * Offset: 0x800 ADC Auto Operation Control Register 321 * --------------------------------------------------------------------------------------------------- 322 * |Bits |Field |Descriptions 323 * | :----: | :----: | :---- | 324 * |[3:0] |TRIGSEL |Automatic Operation Trigger Source Select 325 * | | |0000 = Auto-operation Trigger Source from LPTMR0. 326 * | | |0001 = Auto-operation Trigger Source from LPTMR1. 327 * | | |0010 = Auto-operation Trigger Source from TTMR0. 328 * | | |0011 = Auto-operation Trigger Source from TTMR1. 329 * | | |0100 = Auto-operation Trigger Source from WKIOA0. 330 * | | |0101 = Auto-operation Trigger Source from WKIOB0. 331 * | | |0110 = Auto-operation Trigger Source from WKIOC0. 332 * | | |0111 = Auto-operation Trigger Source from WKIOD0. 333 * | | |1000 = Auto-operation Trigger Source from ACMP0 analog output event. 334 * | | |1001 = Auto-operation Trigger Source from ACMP1 analog output event. 335 * | | |1010 = Auto-operation Trigger Source from ACMP2 analog output event. 336 * | | |Others = Reserved. 337 * | | |Note: TRIGSEL cannot be changed when TRIGEN is 1. 338 * |[4] |TRIGEN |Automatic Operation Trigger Enable Bit 339 * | | |When automatic operation mode is enabled, the LPADC will start working if LPADC is triggered by a event sent from the trigger source selected by TRIGSEL[3:0] after this bit is set to 1. 340 * | | |0 = LPADC Automatic Operation Trigger Disabled. 341 * | | |1 = LPADC Automatic Operation Trigger Enabled. 342 * |[8] |ADWKEN |Automatic Operation Mode Conversion End Wake-up Enable Bit 343 * | | |0 = LPADC automatic operation conversion end wake-up Disabled. 344 * | | |1 = LPADC automatic operation conversion end wake-up Enabled. 345 * |[9] |CMP0WKEN |Automatic Operation Mode Comparator 0 Wake-up Enable Bit 346 * | | |0 = LPADC automatic operation comparator 0 wake-up Disabled. 347 * | | |1 = LPADC automatic operation comparator 0 wake-up Enabled. 348 * |[10] |CMP1WKEN |Automatic Operation Mode Comparator 1 Wake-up Enable Bit 349 * | | |0 = LPADC automatic operation comparator 1 wake-up Disabled. 350 * | | |1 = LPADC automatic operation comparator 1 wake-up Enabled. 351 * |[31] |AUTOEN |Automatic Operation Mode Enable Bit 352 * | | |0 = LPADC automatic operation Disabled. 353 * | | |1 = LPADC automatic operation Enabled. 354 * @var LPADC_T::AUTOSTRG 355 * Offset: 0x804 ADC Auto Operation Software Trigger Register 356 * --------------------------------------------------------------------------------------------------- 357 * |Bits |Field |Descriptions 358 * | :----: | :----: | :---- | 359 * |[0] |SWTRIG |Automatic Operation Software Trigger Bit 360 * | | |Write 1 to this bit will trigger LPADC start automatic operation. 361 * | | |Note: This bit will be auto cleared by hardware. 362 * @var LPADC_T::AUTOSTS 363 * Offset: 0x810 ADC Auto Operation Status Register 364 * --------------------------------------------------------------------------------------------------- 365 * |Bits |Field |Descriptions 366 * | :----: | :----: | :---- | 367 * |[0] |ADWKF |Automatic Operation Conversion End Wake-up Flag Bit 368 * | | |When automatic operation mode is enabled, and the conversion is finished, this flag will be set 369 * | | |If WKEN is also set to 1, the chip will be woken up. 370 * | | |Note: Software can write 1 to clear this bit. 371 * |[1] |CMP0WKF |Automatic Operation Compare 0 Wake-up Flag Bit 372 * | | |When automatic operation mode is enabled, and the conversion result monitor comparator 1 matches setting criteria, this flag will be set 373 * | | |If CMP1WKEN is also set to 1, the chip will be woken up. 374 * | | |Note: Software can write1 to clear this bit. 375 * |[2] |CMP1WKF |Automatic Operation Compare 1 Wake-up Flag Bit 376 * | | |When automatic operation mode is enabled, and the conversion result monitor comparator 0 is match setting criteria, this flag will be set 377 * | | |If CMP0WKEN is also set to 1, the chip will be woken up. 378 * | | |Note: Software can write 1 to clear this bit. 379 * @var LPADC_T::ALDOCTL 380 * Offset: 0xFEC ADC ALDO Control Register 381 * --------------------------------------------------------------------------------------------------- 382 * |Bits |Field |Descriptions 383 * | :----: | :----: | :---- | 384 * |[8] |ALDOEN |ALDO Enable Bit 385 * | | |0 = ALDO Disabled. 386 * | | |1 = ALDO Enabled. 387 * | | |Note 1: After ADEN (LPADC_ADCR[0]) is enabled, the ALDOEN cannot be changed. 388 * | | |Note 2: ALDO can be enabled only when the chip runs at power level 3 (PL3) or NPD2/4 or NPD0/1/3 with power level 3 389 * | | |When the chip runs at power level 1 (PL1) or power level 2 (PL2), ALDO should be disabled. 390 * |[18:16] |STBSEL |ALDO Stable Count Select Bits 391 * | | |If IGENEN (ALDOCTL[23]) is 0, the ALDO stable count is as follows. 392 * | | |010 = ALDO stable count is 408 PCLK2 (When PCLK is 12 MHz). 393 * | | |011 = ALDO stable count is 272 PCLK2 (When PCLK is 8 MHz). 394 * | | |100 = ALDO stable count is 136 PCLK2 (When PCLK is 4 MHz). 395 * | | |Others = Reserved. 396 * | | |If IGENEN (ALDOCTL[23]) is 1, the ALDO stable count is as follows. 397 * | | |010 = ALDO stable count is 48 PCLK2 (When PCLK is 12 MHz). 398 * | | |011 = ALDO stable count is 32 PCLK2 (When PCLK is 8 MHz). 399 * | | |100 = ALDO stable count is 16 PCLK2 (When PCLK is 4 MHz). 400 * | | |Others = Reserved. 401 * |[23] |IGENEN |ALDO Enable under IGEN Enable Bit 402 * | | |0 = ALDO enable under IGEN Disabled. 403 * | | |1 = ALDO enable under IGEN Enabled. 404 * | | |Note: When ALDO enable under IGEN enable, the ALDO stable time is shorter. 405 */ 406 __I uint32_t ADDR[32]; /*!< [0x0000-0x007c] ADC Data Register 0~31 */ 407 __IO uint32_t ADCR; /*!< [0x0080] ADC Control Register */ 408 __IO uint32_t ADCHER; /*!< [0x0084] ADC Channel Enable Register */ 409 __IO uint32_t ADCMPR[2]; /*!< [0x0088-0x008c] ADC Compare Register 0~1 */ 410 __IO uint32_t ADSR0; /*!< [0x0090] ADC Status Register0 */ 411 __I uint32_t ADSR1; /*!< [0x0094] ADC Status Register1 */ 412 __I uint32_t ADSR2; /*!< [0x0098] ADC Status Register2 */ 413 __I uint32_t RESERVE1[1]; 414 __IO uint32_t ESMPCTL; /*!< [0x00a0] ADC Extend Sample Time Control Register */ 415 __IO uint32_t CFDCTL; /*!< [0x00a4] ADC Channel Floating Detect Control Register */ 416 __I uint32_t RESERVE2[22]; 417 __I uint32_t ADPDMA; /*!< [0x0100] ADC LPPDMA Current Transfer Data Register */ 418 __I uint32_t RESERVE3[31]; 419 __IO uint32_t ADCAL; /*!< [0x0180] ADC Calibration Mode Register */ 420 __IO uint32_t ADCALSTS; /*!< [0x0184] ADC Calibration Status Register */ 421 __I uint32_t RESERVE4[414]; 422 __IO uint32_t AUTOCTL; /*!< [0x0800] ADC Auto Operation Control Register */ 423 __O uint32_t AUTOSTRG; /*!< [0x0804] ADC Auto Operation Software Trigger Register */ 424 __I uint32_t RESERVE5[2]; 425 __IO uint32_t AUTOSTS; /*!< [0x0810] ADC Auto Operation Status Register */ 426 __I uint32_t RESERVE6[502]; 427 __IO uint32_t ALDOCTL; /*!< [0x0fec] ADC ALDO Control Register */ 428 429 } LPADC_T; 430 431 /** 432 @addtogroup LPADC_CONST LPADC Bit Field Definition 433 Constant Definitions for LPADC Controller 434 @{ */ 435 436 #define LPADC_ADDR0_RSLT_Pos (0) /*!< LPADC_T::ADDR0: RSLT Position */ 437 #define LPADC_ADDR0_RSLT_Msk (0xfffful << LPADC_ADDR0_RSLT_Pos) /*!< LPADC_T::ADDR0: RSLT Mask */ 438 439 #define LPADC_ADDR0_OVERRUN_Pos (16) /*!< LPADC_T::ADDR0: OVERRUN Position */ 440 #define LPADC_ADDR0_OVERRUN_Msk (0x1ul << LPADC_ADDR0_OVERRUN_Pos) /*!< LPADC_T::ADDR0: OVERRUN Mask */ 441 442 #define LPADC_ADDR0_VALID_Pos (17) /*!< LPADC_T::ADDR0: VALID Position */ 443 #define LPADC_ADDR0_VALID_Msk (0x1ul << LPADC_ADDR0_VALID_Pos) /*!< LPADC_T::ADDR0: VALID Mask */ 444 445 #define LPADC_ADDR1_RSLT_Pos (0) /*!< LPADC_T::ADDR1: RSLT Position */ 446 #define LPADC_ADDR1_RSLT_Msk (0xfffful << LPADC_ADDR1_RSLT_Pos) /*!< LPADC_T::ADDR1: RSLT Mask */ 447 448 #define LPADC_ADDR1_OVERRUN_Pos (16) /*!< LPADC_T::ADDR1: OVERRUN Position */ 449 #define LPADC_ADDR1_OVERRUN_Msk (0x1ul << LPADC_ADDR1_OVERRUN_Pos) /*!< LPADC_T::ADDR1: OVERRUN Mask */ 450 451 #define LPADC_ADDR1_VALID_Pos (17) /*!< LPADC_T::ADDR1: VALID Position */ 452 #define LPADC_ADDR1_VALID_Msk (0x1ul << LPADC_ADDR1_VALID_Pos) /*!< LPADC_T::ADDR1: VALID Mask */ 453 454 #define LPADC_ADDR2_RSLT_Pos (0) /*!< LPADC_T::ADDR2: RSLT Position */ 455 #define LPADC_ADDR2_RSLT_Msk (0xfffful << LPADC_ADDR2_RSLT_Pos) /*!< LPADC_T::ADDR2: RSLT Mask */ 456 457 #define LPADC_ADDR2_OVERRUN_Pos (16) /*!< LPADC_T::ADDR2: OVERRUN Position */ 458 #define LPADC_ADDR2_OVERRUN_Msk (0x1ul << LPADC_ADDR2_OVERRUN_Pos) /*!< LPADC_T::ADDR2: OVERRUN Mask */ 459 460 #define LPADC_ADDR2_VALID_Pos (17) /*!< LPADC_T::ADDR2: VALID Position */ 461 #define LPADC_ADDR2_VALID_Msk (0x1ul << LPADC_ADDR2_VALID_Pos) /*!< LPADC_T::ADDR2: VALID Mask */ 462 463 #define LPADC_ADDR3_RSLT_Pos (0) /*!< LPADC_T::ADDR3: RSLT Position */ 464 #define LPADC_ADDR3_RSLT_Msk (0xfffful << LPADC_ADDR3_RSLT_Pos) /*!< LPADC_T::ADDR3: RSLT Mask */ 465 466 #define LPADC_ADDR3_OVERRUN_Pos (16) /*!< LPADC_T::ADDR3: OVERRUN Position */ 467 #define LPADC_ADDR3_OVERRUN_Msk (0x1ul << LPADC_ADDR3_OVERRUN_Pos) /*!< LPADC_T::ADDR3: OVERRUN Mask */ 468 469 #define LPADC_ADDR3_VALID_Pos (17) /*!< LPADC_T::ADDR3: VALID Position */ 470 #define LPADC_ADDR3_VALID_Msk (0x1ul << LPADC_ADDR3_VALID_Pos) /*!< LPADC_T::ADDR3: VALID Mask */ 471 472 #define LPADC_ADDR4_RSLT_Pos (0) /*!< LPADC_T::ADDR4: RSLT Position */ 473 #define LPADC_ADDR4_RSLT_Msk (0xfffful << LPADC_ADDR4_RSLT_Pos) /*!< LPADC_T::ADDR4: RSLT Mask */ 474 475 #define LPADC_ADDR4_OVERRUN_Pos (16) /*!< LPADC_T::ADDR4: OVERRUN Position */ 476 #define LPADC_ADDR4_OVERRUN_Msk (0x1ul << LPADC_ADDR4_OVERRUN_Pos) /*!< LPADC_T::ADDR4: OVERRUN Mask */ 477 478 #define LPADC_ADDR4_VALID_Pos (17) /*!< LPADC_T::ADDR4: VALID Position */ 479 #define LPADC_ADDR4_VALID_Msk (0x1ul << LPADC_ADDR4_VALID_Pos) /*!< LPADC_T::ADDR4: VALID Mask */ 480 481 #define LPADC_ADDR5_RSLT_Pos (0) /*!< LPADC_T::ADDR5: RSLT Position */ 482 #define LPADC_ADDR5_RSLT_Msk (0xfffful << LPADC_ADDR5_RSLT_Pos) /*!< LPADC_T::ADDR5: RSLT Mask */ 483 484 #define LPADC_ADDR5_OVERRUN_Pos (16) /*!< LPADC_T::ADDR5: OVERRUN Position */ 485 #define LPADC_ADDR5_OVERRUN_Msk (0x1ul << LPADC_ADDR5_OVERRUN_Pos) /*!< LPADC_T::ADDR5: OVERRUN Mask */ 486 487 #define LPADC_ADDR5_VALID_Pos (17) /*!< LPADC_T::ADDR5: VALID Position */ 488 #define LPADC_ADDR5_VALID_Msk (0x1ul << LPADC_ADDR5_VALID_Pos) /*!< LPADC_T::ADDR5: VALID Mask */ 489 490 #define LPADC_ADDR6_RSLT_Pos (0) /*!< LPADC_T::ADDR6: RSLT Position */ 491 #define LPADC_ADDR6_RSLT_Msk (0xfffful << LPADC_ADDR6_RSLT_Pos) /*!< LPADC_T::ADDR6: RSLT Mask */ 492 493 #define LPADC_ADDR6_OVERRUN_Pos (16) /*!< LPADC_T::ADDR6: OVERRUN Position */ 494 #define LPADC_ADDR6_OVERRUN_Msk (0x1ul << LPADC_ADDR6_OVERRUN_Pos) /*!< LPADC_T::ADDR6: OVERRUN Mask */ 495 496 #define LPADC_ADDR6_VALID_Pos (17) /*!< LPADC_T::ADDR6: VALID Position */ 497 #define LPADC_ADDR6_VALID_Msk (0x1ul << LPADC_ADDR6_VALID_Pos) /*!< LPADC_T::ADDR6: VALID Mask */ 498 499 #define LPADC_ADDR7_RSLT_Pos (0) /*!< LPADC_T::ADDR7: RSLT Position */ 500 #define LPADC_ADDR7_RSLT_Msk (0xfffful << LPADC_ADDR7_RSLT_Pos) /*!< LPADC_T::ADDR7: RSLT Mask */ 501 502 #define LPADC_ADDR7_OVERRUN_Pos (16) /*!< LPADC_T::ADDR7: OVERRUN Position */ 503 #define LPADC_ADDR7_OVERRUN_Msk (0x1ul << LPADC_ADDR7_OVERRUN_Pos) /*!< LPADC_T::ADDR7: OVERRUN Mask */ 504 505 #define LPADC_ADDR7_VALID_Pos (17) /*!< LPADC_T::ADDR7: VALID Position */ 506 #define LPADC_ADDR7_VALID_Msk (0x1ul << LPADC_ADDR7_VALID_Pos) /*!< LPADC_T::ADDR7: VALID Mask */ 507 508 #define LPADC_ADDR8_RSLT_Pos (0) /*!< LPADC_T::ADDR8: RSLT Position */ 509 #define LPADC_ADDR8_RSLT_Msk (0xfffful << LPADC_ADDR8_RSLT_Pos) /*!< LPADC_T::ADDR8: RSLT Mask */ 510 511 #define LPADC_ADDR8_OVERRUN_Pos (16) /*!< LPADC_T::ADDR8: OVERRUN Position */ 512 #define LPADC_ADDR8_OVERRUN_Msk (0x1ul << LPADC_ADDR8_OVERRUN_Pos) /*!< LPADC_T::ADDR8: OVERRUN Mask */ 513 514 #define LPADC_ADDR8_VALID_Pos (17) /*!< LPADC_T::ADDR8: VALID Position */ 515 #define LPADC_ADDR8_VALID_Msk (0x1ul << LPADC_ADDR8_VALID_Pos) /*!< LPADC_T::ADDR8: VALID Mask */ 516 517 #define LPADC_ADDR9_RSLT_Pos (0) /*!< LPADC_T::ADDR9: RSLT Position */ 518 #define LPADC_ADDR9_RSLT_Msk (0xfffful << LPADC_ADDR9_RSLT_Pos) /*!< LPADC_T::ADDR9: RSLT Mask */ 519 520 #define LPADC_ADDR9_OVERRUN_Pos (16) /*!< LPADC_T::ADDR9: OVERRUN Position */ 521 #define LPADC_ADDR9_OVERRUN_Msk (0x1ul << LPADC_ADDR9_OVERRUN_Pos) /*!< LPADC_T::ADDR9: OVERRUN Mask */ 522 523 #define LPADC_ADDR9_VALID_Pos (17) /*!< LPADC_T::ADDR9: VALID Position */ 524 #define LPADC_ADDR9_VALID_Msk (0x1ul << LPADC_ADDR9_VALID_Pos) /*!< LPADC_T::ADDR9: VALID Mask */ 525 526 #define LPADC_ADDR10_RSLT_Pos (0) /*!< LPADC_T::ADDR10: RSLT Position */ 527 #define LPADC_ADDR10_RSLT_Msk (0xfffful << LPADC_ADDR10_RSLT_Pos) /*!< LPADC_T::ADDR10: RSLT Mask */ 528 529 #define LPADC_ADDR10_OVERRUN_Pos (16) /*!< LPADC_T::ADDR10: OVERRUN Position */ 530 #define LPADC_ADDR10_OVERRUN_Msk (0x1ul << LPADC_ADDR10_OVERRUN_Pos) /*!< LPADC_T::ADDR10: OVERRUN Mask */ 531 532 #define LPADC_ADDR10_VALID_Pos (17) /*!< LPADC_T::ADDR10: VALID Position */ 533 #define LPADC_ADDR10_VALID_Msk (0x1ul << LPADC_ADDR10_VALID_Pos) /*!< LPADC_T::ADDR10: VALID Mask */ 534 535 #define LPADC_ADDR11_RSLT_Pos (0) /*!< LPADC_T::ADDR11: RSLT Position */ 536 #define LPADC_ADDR11_RSLT_Msk (0xfffful << LPADC_ADDR11_RSLT_Pos) /*!< LPADC_T::ADDR11: RSLT Mask */ 537 538 #define LPADC_ADDR11_OVERRUN_Pos (16) /*!< LPADC_T::ADDR11: OVERRUN Position */ 539 #define LPADC_ADDR11_OVERRUN_Msk (0x1ul << LPADC_ADDR11_OVERRUN_Pos) /*!< LPADC_T::ADDR11: OVERRUN Mask */ 540 541 #define LPADC_ADDR11_VALID_Pos (17) /*!< LPADC_T::ADDR11: VALID Position */ 542 #define LPADC_ADDR11_VALID_Msk (0x1ul << LPADC_ADDR11_VALID_Pos) /*!< LPADC_T::ADDR11: VALID Mask */ 543 544 #define LPADC_ADDR12_RSLT_Pos (0) /*!< LPADC_T::ADDR12: RSLT Position */ 545 #define LPADC_ADDR12_RSLT_Msk (0xfffful << LPADC_ADDR12_RSLT_Pos) /*!< LPADC_T::ADDR12: RSLT Mask */ 546 547 #define LPADC_ADDR12_OVERRUN_Pos (16) /*!< LPADC_T::ADDR12: OVERRUN Position */ 548 #define LPADC_ADDR12_OVERRUN_Msk (0x1ul << LPADC_ADDR12_OVERRUN_Pos) /*!< LPADC_T::ADDR12: OVERRUN Mask */ 549 550 #define LPADC_ADDR12_VALID_Pos (17) /*!< LPADC_T::ADDR12: VALID Position */ 551 #define LPADC_ADDR12_VALID_Msk (0x1ul << LPADC_ADDR12_VALID_Pos) /*!< LPADC_T::ADDR12: VALID Mask */ 552 553 #define LPADC_ADDR13_RSLT_Pos (0) /*!< LPADC_T::ADDR13: RSLT Position */ 554 #define LPADC_ADDR13_RSLT_Msk (0xfffful << LPADC_ADDR13_RSLT_Pos) /*!< LPADC_T::ADDR13: RSLT Mask */ 555 556 #define LPADC_ADDR13_OVERRUN_Pos (16) /*!< LPADC_T::ADDR13: OVERRUN Position */ 557 #define LPADC_ADDR13_OVERRUN_Msk (0x1ul << LPADC_ADDR13_OVERRUN_Pos) /*!< LPADC_T::ADDR13: OVERRUN Mask */ 558 559 #define LPADC_ADDR13_VALID_Pos (17) /*!< LPADC_T::ADDR13: VALID Position */ 560 #define LPADC_ADDR13_VALID_Msk (0x1ul << LPADC_ADDR13_VALID_Pos) /*!< LPADC_T::ADDR13: VALID Mask */ 561 562 #define LPADC_ADDR14_RSLT_Pos (0) /*!< LPADC_T::ADDR14: RSLT Position */ 563 #define LPADC_ADDR14_RSLT_Msk (0xfffful << LPADC_ADDR14_RSLT_Pos) /*!< LPADC_T::ADDR14: RSLT Mask */ 564 565 #define LPADC_ADDR14_OVERRUN_Pos (16) /*!< LPADC_T::ADDR14: OVERRUN Position */ 566 #define LPADC_ADDR14_OVERRUN_Msk (0x1ul << LPADC_ADDR14_OVERRUN_Pos) /*!< LPADC_T::ADDR14: OVERRUN Mask */ 567 568 #define LPADC_ADDR14_VALID_Pos (17) /*!< LPADC_T::ADDR14: VALID Position */ 569 #define LPADC_ADDR14_VALID_Msk (0x1ul << LPADC_ADDR14_VALID_Pos) /*!< LPADC_T::ADDR14: VALID Mask */ 570 571 #define LPADC_ADDR15_RSLT_Pos (0) /*!< LPADC_T::ADDR15: RSLT Position */ 572 #define LPADC_ADDR15_RSLT_Msk (0xfffful << LPADC_ADDR15_RSLT_Pos) /*!< LPADC_T::ADDR15: RSLT Mask */ 573 574 #define LPADC_ADDR15_OVERRUN_Pos (16) /*!< LPADC_T::ADDR15: OVERRUN Position */ 575 #define LPADC_ADDR15_OVERRUN_Msk (0x1ul << LPADC_ADDR15_OVERRUN_Pos) /*!< LPADC_T::ADDR15: OVERRUN Mask */ 576 577 #define LPADC_ADDR15_VALID_Pos (17) /*!< LPADC_T::ADDR15: VALID Position */ 578 #define LPADC_ADDR15_VALID_Msk (0x1ul << LPADC_ADDR15_VALID_Pos) /*!< LPADC_T::ADDR15: VALID Mask */ 579 580 #define LPADC_ADDR16_RSLT_Pos (0) /*!< LPADC_T::ADDR16: RSLT Position */ 581 #define LPADC_ADDR16_RSLT_Msk (0xfffful << LPADC_ADDR16_RSLT_Pos) /*!< LPADC_T::ADDR16: RSLT Mask */ 582 583 #define LPADC_ADDR16_OVERRUN_Pos (16) /*!< LPADC_T::ADDR16: OVERRUN Position */ 584 #define LPADC_ADDR16_OVERRUN_Msk (0x1ul << LPADC_ADDR16_OVERRUN_Pos) /*!< LPADC_T::ADDR16: OVERRUN Mask */ 585 586 #define LPADC_ADDR16_VALID_Pos (17) /*!< LPADC_T::ADDR16: VALID Position */ 587 #define LPADC_ADDR16_VALID_Msk (0x1ul << LPADC_ADDR16_VALID_Pos) /*!< LPADC_T::ADDR16: VALID Mask */ 588 589 #define LPADC_ADDR17_RSLT_Pos (0) /*!< LPADC_T::ADDR17: RSLT Position */ 590 #define LPADC_ADDR17_RSLT_Msk (0xfffful << LPADC_ADDR17_RSLT_Pos) /*!< LPADC_T::ADDR17: RSLT Mask */ 591 592 #define LPADC_ADDR17_OVERRUN_Pos (16) /*!< LPADC_T::ADDR17: OVERRUN Position */ 593 #define LPADC_ADDR17_OVERRUN_Msk (0x1ul << LPADC_ADDR17_OVERRUN_Pos) /*!< LPADC_T::ADDR17: OVERRUN Mask */ 594 595 #define LPADC_ADDR17_VALID_Pos (17) /*!< LPADC_T::ADDR17: VALID Position */ 596 #define LPADC_ADDR17_VALID_Msk (0x1ul << LPADC_ADDR17_VALID_Pos) /*!< LPADC_T::ADDR17: VALID Mask */ 597 598 #define LPADC_ADDR18_RSLT_Pos (0) /*!< LPADC_T::ADDR18: RSLT Position */ 599 #define LPADC_ADDR18_RSLT_Msk (0xfffful << LPADC_ADDR18_RSLT_Pos) /*!< LPADC_T::ADDR18: RSLT Mask */ 600 601 #define LPADC_ADDR18_OVERRUN_Pos (16) /*!< LPADC_T::ADDR18: OVERRUN Position */ 602 #define LPADC_ADDR18_OVERRUN_Msk (0x1ul << LPADC_ADDR18_OVERRUN_Pos) /*!< LPADC_T::ADDR18: OVERRUN Mask */ 603 604 #define LPADC_ADDR18_VALID_Pos (17) /*!< LPADC_T::ADDR18: VALID Position */ 605 #define LPADC_ADDR18_VALID_Msk (0x1ul << LPADC_ADDR18_VALID_Pos) /*!< LPADC_T::ADDR18: VALID Mask */ 606 607 #define LPADC_ADDR19_RSLT_Pos (0) /*!< LPADC_T::ADDR19: RSLT Position */ 608 #define LPADC_ADDR19_RSLT_Msk (0xfffful << LPADC_ADDR19_RSLT_Pos) /*!< LPADC_T::ADDR19: RSLT Mask */ 609 610 #define LPADC_ADDR19_OVERRUN_Pos (16) /*!< LPADC_T::ADDR19: OVERRUN Position */ 611 #define LPADC_ADDR19_OVERRUN_Msk (0x1ul << LPADC_ADDR19_OVERRUN_Pos) /*!< LPADC_T::ADDR19: OVERRUN Mask */ 612 613 #define LPADC_ADDR19_VALID_Pos (17) /*!< LPADC_T::ADDR19: VALID Position */ 614 #define LPADC_ADDR19_VALID_Msk (0x1ul << LPADC_ADDR19_VALID_Pos) /*!< LPADC_T::ADDR19: VALID Mask */ 615 616 #define LPADC_ADDR20_RSLT_Pos (0) /*!< LPADC_T::ADDR20: RSLT Position */ 617 #define LPADC_ADDR20_RSLT_Msk (0xfffful << LPADC_ADDR20_RSLT_Pos) /*!< LPADC_T::ADDR20: RSLT Mask */ 618 619 #define LPADC_ADDR20_OVERRUN_Pos (16) /*!< LPADC_T::ADDR20: OVERRUN Position */ 620 #define LPADC_ADDR20_OVERRUN_Msk (0x1ul << LPADC_ADDR20_OVERRUN_Pos) /*!< LPADC_T::ADDR20: OVERRUN Mask */ 621 622 #define LPADC_ADDR20_VALID_Pos (17) /*!< LPADC_T::ADDR20: VALID Position */ 623 #define LPADC_ADDR20_VALID_Msk (0x1ul << LPADC_ADDR20_VALID_Pos) /*!< LPADC_T::ADDR20: VALID Mask */ 624 625 #define LPADC_ADDR21_RSLT_Pos (0) /*!< LPADC_T::ADDR21: RSLT Position */ 626 #define LPADC_ADDR21_RSLT_Msk (0xfffful << LPADC_ADDR21_RSLT_Pos) /*!< LPADC_T::ADDR21: RSLT Mask */ 627 628 #define LPADC_ADDR21_OVERRUN_Pos (16) /*!< LPADC_T::ADDR21: OVERRUN Position */ 629 #define LPADC_ADDR21_OVERRUN_Msk (0x1ul << LPADC_ADDR21_OVERRUN_Pos) /*!< LPADC_T::ADDR21: OVERRUN Mask */ 630 631 #define LPADC_ADDR21_VALID_Pos (17) /*!< LPADC_T::ADDR21: VALID Position */ 632 #define LPADC_ADDR21_VALID_Msk (0x1ul << LPADC_ADDR21_VALID_Pos) /*!< LPADC_T::ADDR21: VALID Mask */ 633 634 #define LPADC_ADDR22_RSLT_Pos (0) /*!< LPADC_T::ADDR22: RSLT Position */ 635 #define LPADC_ADDR22_RSLT_Msk (0xfffful << LPADC_ADDR22_RSLT_Pos) /*!< LPADC_T::ADDR22: RSLT Mask */ 636 637 #define LPADC_ADDR22_OVERRUN_Pos (16) /*!< LPADC_T::ADDR22: OVERRUN Position */ 638 #define LPADC_ADDR22_OVERRUN_Msk (0x1ul << LPADC_ADDR22_OVERRUN_Pos) /*!< LPADC_T::ADDR22: OVERRUN Mask */ 639 640 #define LPADC_ADDR22_VALID_Pos (17) /*!< LPADC_T::ADDR22: VALID Position */ 641 #define LPADC_ADDR22_VALID_Msk (0x1ul << LPADC_ADDR22_VALID_Pos) /*!< LPADC_T::ADDR22: VALID Mask */ 642 643 #define LPADC_ADDR23_RSLT_Pos (0) /*!< LPADC_T::ADDR23: RSLT Position */ 644 #define LPADC_ADDR23_RSLT_Msk (0xfffful << LPADC_ADDR23_RSLT_Pos) /*!< LPADC_T::ADDR23: RSLT Mask */ 645 646 #define LPADC_ADDR23_OVERRUN_Pos (16) /*!< LPADC_T::ADDR23: OVERRUN Position */ 647 #define LPADC_ADDR23_OVERRUN_Msk (0x1ul << LPADC_ADDR23_OVERRUN_Pos) /*!< LPADC_T::ADDR23: OVERRUN Mask */ 648 649 #define LPADC_ADDR23_VALID_Pos (17) /*!< LPADC_T::ADDR23: VALID Position */ 650 #define LPADC_ADDR23_VALID_Msk (0x1ul << LPADC_ADDR23_VALID_Pos) /*!< LPADC_T::ADDR23: VALID Mask */ 651 652 #define LPADC_ADDR24_RSLT_Pos (0) /*!< LPADC_T::ADDR24: RSLT Position */ 653 #define LPADC_ADDR24_RSLT_Msk (0xfffful << LPADC_ADDR24_RSLT_Pos) /*!< LPADC_T::ADDR24: RSLT Mask */ 654 655 #define LPADC_ADDR24_OVERRUN_Pos (16) /*!< LPADC_T::ADDR24: OVERRUN Position */ 656 #define LPADC_ADDR24_OVERRUN_Msk (0x1ul << LPADC_ADDR24_OVERRUN_Pos) /*!< LPADC_T::ADDR24: OVERRUN Mask */ 657 658 #define LPADC_ADDR24_VALID_Pos (17) /*!< LPADC_T::ADDR24: VALID Position */ 659 #define LPADC_ADDR24_VALID_Msk (0x1ul << LPADC_ADDR24_VALID_Pos) /*!< LPADC_T::ADDR24: VALID Mask */ 660 661 #define LPADC_ADDR25_RSLT_Pos (0) /*!< LPADC_T::ADDR25: RSLT Position */ 662 #define LPADC_ADDR25_RSLT_Msk (0xfffful << LPADC_ADDR25_RSLT_Pos) /*!< LPADC_T::ADDR25: RSLT Mask */ 663 664 #define LPADC_ADDR25_OVERRUN_Pos (16) /*!< LPADC_T::ADDR25: OVERRUN Position */ 665 #define LPADC_ADDR25_OVERRUN_Msk (0x1ul << LPADC_ADDR25_OVERRUN_Pos) /*!< LPADC_T::ADDR25: OVERRUN Mask */ 666 667 #define LPADC_ADDR25_VALID_Pos (17) /*!< LPADC_T::ADDR25: VALID Position */ 668 #define LPADC_ADDR25_VALID_Msk (0x1ul << LPADC_ADDR25_VALID_Pos) /*!< LPADC_T::ADDR25: VALID Mask */ 669 670 #define LPADC_ADDR26_RSLT_Pos (0) /*!< LPADC_T::ADDR26: RSLT Position */ 671 #define LPADC_ADDR26_RSLT_Msk (0xfffful << LPADC_ADDR26_RSLT_Pos) /*!< LPADC_T::ADDR26: RSLT Mask */ 672 673 #define LPADC_ADDR26_OVERRUN_Pos (16) /*!< LPADC_T::ADDR26: OVERRUN Position */ 674 #define LPADC_ADDR26_OVERRUN_Msk (0x1ul << LPADC_ADDR26_OVERRUN_Pos) /*!< LPADC_T::ADDR26: OVERRUN Mask */ 675 676 #define LPADC_ADDR26_VALID_Pos (17) /*!< LPADC_T::ADDR26: VALID Position */ 677 #define LPADC_ADDR26_VALID_Msk (0x1ul << LPADC_ADDR26_VALID_Pos) /*!< LPADC_T::ADDR26: VALID Mask */ 678 679 #define LPADC_ADDR28_RSLT_Pos (0) /*!< LPADC_T::ADDR28: RSLT Position */ 680 #define LPADC_ADDR28_RSLT_Msk (0xfffful << LPADC_ADDR28_RSLT_Pos) /*!< LPADC_T::ADDR28: RSLT Mask */ 681 682 #define LPADC_ADDR28_OVERRUN_Pos (16) /*!< LPADC_T::ADDR28: OVERRUN Position */ 683 #define LPADC_ADDR28_OVERRUN_Msk (0x1ul << LPADC_ADDR28_OVERRUN_Pos) /*!< LPADC_T::ADDR28: OVERRUN Mask */ 684 685 #define LPADC_ADDR28_VALID_Pos (17) /*!< LPADC_T::ADDR28: VALID Position */ 686 #define LPADC_ADDR28_VALID_Msk (0x1ul << LPADC_ADDR28_VALID_Pos) /*!< LPADC_T::ADDR28: VALID Mask */ 687 688 #define LPADC_ADDR29_RSLT_Pos (0) /*!< LPADC_T::ADDR29: RSLT Position */ 689 #define LPADC_ADDR29_RSLT_Msk (0xfffful << LPADC_ADDR29_RSLT_Pos) /*!< LPADC_T::ADDR29: RSLT Mask */ 690 691 #define LPADC_ADDR29_OVERRUN_Pos (16) /*!< LPADC_T::ADDR29: OVERRUN Position */ 692 #define LPADC_ADDR29_OVERRUN_Msk (0x1ul << LPADC_ADDR29_OVERRUN_Pos) /*!< LPADC_T::ADDR29: OVERRUN Mask */ 693 694 #define LPADC_ADDR29_VALID_Pos (17) /*!< LPADC_T::ADDR29: VALID Position */ 695 #define LPADC_ADDR29_VALID_Msk (0x1ul << LPADC_ADDR29_VALID_Pos) /*!< LPADC_T::ADDR29: VALID Mask */ 696 697 #define LPADC_ADDR30_RSLT_Pos (0) /*!< LPADC_T::ADDR30: RSLT Position */ 698 #define LPADC_ADDR30_RSLT_Msk (0xfffful << LPADC_ADDR30_RSLT_Pos) /*!< LPADC_T::ADDR30: RSLT Mask */ 699 700 #define LPADC_ADDR30_OVERRUN_Pos (16) /*!< LPADC_T::ADDR30: OVERRUN Position */ 701 #define LPADC_ADDR30_OVERRUN_Msk (0x1ul << LPADC_ADDR30_OVERRUN_Pos) /*!< LPADC_T::ADDR30: OVERRUN Mask */ 702 703 #define LPADC_ADDR30_VALID_Pos (17) /*!< LPADC_T::ADDR30: VALID Position */ 704 #define LPADC_ADDR30_VALID_Msk (0x1ul << LPADC_ADDR30_VALID_Pos) /*!< LPADC_T::ADDR30: VALID Mask */ 705 706 #define LPADC_ADDR31_RSLT_Pos (0) /*!< LPADC_T::ADDR31: RSLT Position */ 707 #define LPADC_ADDR31_RSLT_Msk (0xfffful << LPADC_ADDR31_RSLT_Pos) /*!< LPADC_T::ADDR31: RSLT Mask */ 708 709 #define LPADC_ADDR31_OVERRUN_Pos (16) /*!< LPADC_T::ADDR31: OVERRUN Position */ 710 #define LPADC_ADDR31_OVERRUN_Msk (0x1ul << LPADC_ADDR31_OVERRUN_Pos) /*!< LPADC_T::ADDR31: OVERRUN Mask */ 711 712 #define LPADC_ADDR31_VALID_Pos (17) /*!< LPADC_T::ADDR31: VALID Position */ 713 #define LPADC_ADDR31_VALID_Msk (0x1ul << LPADC_ADDR31_VALID_Pos) /*!< LPADC_T::ADDR31: VALID Mask */ 714 715 #define LPADC_ADCR_ADEN_Pos (0) /*!< LPADC_T::ADCR: ADEN Position */ 716 #define LPADC_ADCR_ADEN_Msk (0x1ul << LPADC_ADCR_ADEN_Pos) /*!< LPADC_T::ADCR: ADEN Mask */ 717 718 #define LPADC_ADCR_ADIE_Pos (1) /*!< LPADC_T::ADCR: ADIE Position */ 719 #define LPADC_ADCR_ADIE_Msk (0x1ul << LPADC_ADCR_ADIE_Pos) /*!< LPADC_T::ADCR: ADIE Mask */ 720 721 #define LPADC_ADCR_ADMD_Pos (2) /*!< LPADC_T::ADCR: ADMD Position */ 722 #define LPADC_ADCR_ADMD_Msk (0x3ul << LPADC_ADCR_ADMD_Pos) /*!< LPADC_T::ADCR: ADMD Mask */ 723 724 #define LPADC_ADCR_TRGCOND_Pos (6) /*!< LPADC_T::ADCR: TRGCOND Position */ 725 #define LPADC_ADCR_TRGCOND_Msk (0x3ul << LPADC_ADCR_TRGCOND_Pos) /*!< LPADC_T::ADCR: TRGCOND Mask */ 726 727 #define LPADC_ADCR_TRGEN_Pos (8) /*!< LPADC_T::ADCR: TRGEN Position */ 728 #define LPADC_ADCR_TRGEN_Msk (0x1ul << LPADC_ADCR_TRGEN_Pos) /*!< LPADC_T::ADCR: TRGEN Mask */ 729 730 #define LPADC_ADCR_PTEN_Pos (9) /*!< LPADC_T::ADCR: PTEN Position */ 731 #define LPADC_ADCR_PTEN_Msk (0x1ul << LPADC_ADCR_PTEN_Pos) /*!< LPADC_T::ADCR: PTEN Mask */ 732 733 #define LPADC_ADCR_DIFFEN_Pos (10) /*!< LPADC_T::ADCR: DIFFEN Position */ 734 #define LPADC_ADCR_DIFFEN_Msk (0x1ul << LPADC_ADCR_DIFFEN_Pos) /*!< LPADC_T::ADCR: DIFFEN Mask */ 735 736 #define LPADC_ADCR_ADST_Pos (11) /*!< LPADC_T::ADCR: ADST Position */ 737 #define LPADC_ADCR_ADST_Msk (0x1ul << LPADC_ADCR_ADST_Pos) /*!< LPADC_T::ADCR: ADST Mask */ 738 739 #define LPADC_ADCR_RESET_Pos (12) /*!< LPADC_T::ADCR: RESET Position */ 740 #define LPADC_ADCR_RESET_Msk (0x1ul << LPADC_ADCR_RESET_Pos) /*!< LPADC_T::ADCR: RESET Mask */ 741 742 #define LPADC_ADCR_TRGS_Pos (16) /*!< LPADC_T::ADCR: TRGS Position */ 743 #define LPADC_ADCR_TRGS_Msk (0xful << LPADC_ADCR_TRGS_Pos) /*!< LPADC_T::ADCR: TRGS Mask */ 744 745 #define LPADC_ADCR_ACMPTES_Pos (20) /*!< LPADC_T::ADCR: ACMPTES Position */ 746 #define LPADC_ADCR_ACMPTES_Msk (0x3ul << LPADC_ADCR_ACMPTES_Pos) /*!< LPADC_T::ADCR: ACMPTES Mask */ 747 748 #define LPADC_ADCR_RESSEL_Pos (28) /*!< LPADC_T::ADCR: RESSEL Position */ 749 #define LPADC_ADCR_RESSEL_Msk (0x3ul << LPADC_ADCR_RESSEL_Pos) /*!< LPADC_T::ADCR: RESSEL Mask */ 750 751 #define LPADC_ADCR_DMOF_Pos (31) /*!< LPADC_T::ADCR: DMOF Position */ 752 #define LPADC_ADCR_DMOF_Msk (0x1ul << LPADC_ADCR_DMOF_Pos) /*!< LPADC_T::ADCR: DMOF Mask */ 753 754 #define LPADC_ADCHER_CHEN_Pos (0) /*!< LPADC_T::ADCHER: CHEN Position */ 755 #define LPADC_ADCHER_CHEN_Msk (0xfffffffful << LPADC_ADCHER_CHEN_Pos) /*!< LPADC_T::ADCHER: CHEN Mask */ 756 757 #define LPADC_ADCMPR_CMPEN_Pos (0) /*!< LPADC_T::ADCMPR: CMPEN Position */ 758 #define LPADC_ADCMPR_CMPEN_Msk (0x1ul << LPADC_ADCMPR_CMPEN_Pos) /*!< LPADC_T::ADCMPR: CMPEN Mask */ 759 760 #define LPADC_ADCMPR_CMPIE_Pos (1) /*!< LPADC_T::ADCMPR: CMPIE Position */ 761 #define LPADC_ADCMPR_CMPIE_Msk (0x1ul << LPADC_ADCMPR_CMPIE_Pos) /*!< LPADC_T::ADCMPR: CMPIE Mask */ 762 763 #define LPADC_ADCMPR_CMPCOND_Pos (2) /*!< LPADC_T::ADCMPR: CMPCOND Position */ 764 #define LPADC_ADCMPR_CMPCOND_Msk (0x1ul << LPADC_ADCMPR_CMPCOND_Pos) /*!< LPADC_T::ADCMPR: CMPCOND Mask */ 765 766 #define LPADC_ADCMPR_CMPCH_Pos (3) /*!< LPADC_T::ADCMPR: CMPCH Position */ 767 #define LPADC_ADCMPR_CMPCH_Msk (0x1ful << LPADC_ADCMPR_CMPCH_Pos) /*!< LPADC_T::ADCMPR: CMPCH Mask */ 768 769 #define LPADC_ADCMPR_CMPMCNT_Pos (8) /*!< LPADC_T::ADCMPR: CMPMCNT Position */ 770 #define LPADC_ADCMPR_CMPMCNT_Msk (0xful << LPADC_ADCMPR_CMPMCNT_Pos) /*!< LPADC_T::ADCMPR: CMPMCNT Mask */ 771 772 #define LPADC_ADCMPR_CMPWEN_Pos (15) /*!< LPADC_T::ADCMPR: CMPWEN Position */ 773 #define LPADC_ADCMPR_CMPWEN_Msk (0x1ul << LPADC_ADCMPR_CMPWEN_Pos) /*!< LPADC_T::ADCMPR: CMPWEN Mask */ 774 775 #define LPADC_ADCMPR_CMPD_Pos (16) /*!< LPADC_T::ADCMPR: CMPD Position */ 776 #define LPADC_ADCMPR_CMPD_Msk (0xffful << LPADC_ADCMPR_CMPD_Pos) /*!< LPADC_T::ADCMPR: CMPD Mask */ 777 778 #define LPADC_ADCMPR0_CMPEN_Pos (0) /*!< LPADC_T::ADCMPR0: CMPEN Position */ 779 #define LPADC_ADCMPR0_CMPEN_Msk (0x1ul << LPADC_ADCMPR0_CMPEN_Pos) /*!< LPADC_T::ADCMPR0: CMPEN Mask */ 780 781 #define LPADC_ADCMPR0_CMPIE_Pos (1) /*!< LPADC_T::ADCMPR0: CMPIE Position */ 782 #define LPADC_ADCMPR0_CMPIE_Msk (0x1ul << LPADC_ADCMPR0_CMPIE_Pos) /*!< LPADC_T::ADCMPR0: CMPIE Mask */ 783 784 #define LPADC_ADCMPR0_CMPCOND_Pos (2) /*!< LPADC_T::ADCMPR0: CMPCOND Position */ 785 #define LPADC_ADCMPR0_CMPCOND_Msk (0x1ul << LPADC_ADCMPR0_CMPCOND_Pos) /*!< LPADC_T::ADCMPR0: CMPCOND Mask */ 786 787 #define LPADC_ADCMPR0_CMPCH_Pos (3) /*!< LPADC_T::ADCMPR0: CMPCH Position */ 788 #define LPADC_ADCMPR0_CMPCH_Msk (0x1ful << LPADC_ADCMPR0_CMPCH_Pos) /*!< LPADC_T::ADCMPR0: CMPCH Mask */ 789 790 #define LPADC_ADCMPR0_CMPMCNT_Pos (8) /*!< LPADC_T::ADCMPR0: CMPMCNT Position */ 791 #define LPADC_ADCMPR0_CMPMCNT_Msk (0xful << LPADC_ADCMPR0_CMPMCNT_Pos) /*!< LPADC_T::ADCMPR0: CMPMCNT Mask */ 792 793 #define LPADC_ADCMPR0_CMPWEN_Pos (15) /*!< LPADC_T::ADCMPR0: CMPWEN Position */ 794 #define LPADC_ADCMPR0_CMPWEN_Msk (0x1ul << LPADC_ADCMPR0_CMPWEN_Pos) /*!< LPADC_T::ADCMPR0: CMPWEN Mask */ 795 796 #define LPADC_ADCMPR0_CMPD_Pos (16) /*!< LPADC_T::ADCMPR0: CMPD Position */ 797 #define LPADC_ADCMPR0_CMPD_Msk (0xffful << LPADC_ADCMPR0_CMPD_Pos) /*!< LPADC_T::ADCMPR0: CMPD Mask */ 798 799 #define LPADC_ADCMPR1_CMPEN_Pos (0) /*!< LPADC_T::ADCMPR1: CMPEN Position */ 800 #define LPADC_ADCMPR1_CMPEN_Msk (0x1ul << LPADC_ADCMPR1_CMPEN_Pos) /*!< LPADC_T::ADCMPR1: CMPEN Mask */ 801 802 #define LPADC_ADCMPR1_CMPIE_Pos (1) /*!< LPADC_T::ADCMPR1: CMPIE Position */ 803 #define LPADC_ADCMPR1_CMPIE_Msk (0x1ul << LPADC_ADCMPR1_CMPIE_Pos) /*!< LPADC_T::ADCMPR1: CMPIE Mask */ 804 805 #define LPADC_ADCMPR1_CMPCOND_Pos (2) /*!< LPADC_T::ADCMPR1: CMPCOND Position */ 806 #define LPADC_ADCMPR1_CMPCOND_Msk (0x1ul << LPADC_ADCMPR1_CMPCOND_Pos) /*!< LPADC_T::ADCMPR1: CMPCOND Mask */ 807 808 #define LPADC_ADCMPR1_CMPCH_Pos (3) /*!< LPADC_T::ADCMPR1: CMPCH Position */ 809 #define LPADC_ADCMPR1_CMPCH_Msk (0x1ful << LPADC_ADCMPR1_CMPCH_Pos) /*!< LPADC_T::ADCMPR1: CMPCH Mask */ 810 811 #define LPADC_ADCMPR1_CMPMCNT_Pos (8) /*!< LPADC_T::ADCMPR1: CMPMCNT Position */ 812 #define LPADC_ADCMPR1_CMPMCNT_Msk (0xful << LPADC_ADCMPR1_CMPMCNT_Pos) /*!< LPADC_T::ADCMPR1: CMPMCNT Mask */ 813 814 #define LPADC_ADCMPR1_CMPWEN_Pos (15) /*!< LPADC_T::ADCMPR1: CMPWEN Position */ 815 #define LPADC_ADCMPR1_CMPWEN_Msk (0x1ul << LPADC_ADCMPR1_CMPWEN_Pos) /*!< LPADC_T::ADCMPR1: CMPWEN Mask */ 816 817 #define LPADC_ADCMPR1_CMPD_Pos (16) /*!< LPADC_T::ADCMPR1: CMPD Position */ 818 #define LPADC_ADCMPR1_CMPD_Msk (0xffful << LPADC_ADCMPR1_CMPD_Pos) /*!< LPADC_T::ADCMPR1: CMPD Mask */ 819 820 #define LPADC_ADSR0_ADF_Pos (0) /*!< LPADC_T::ADSR0: ADF Position */ 821 #define LPADC_ADSR0_ADF_Msk (0x1ul << LPADC_ADSR0_ADF_Pos) /*!< LPADC_T::ADSR0: ADF Mask */ 822 823 #define LPADC_ADSR0_CMPF0_Pos (1) /*!< LPADC_T::ADSR0: CMPF0 Position */ 824 #define LPADC_ADSR0_CMPF0_Msk (0x1ul << LPADC_ADSR0_CMPF0_Pos) /*!< LPADC_T::ADSR0: CMPF0 Mask */ 825 826 #define LPADC_ADSR0_CMPF1_Pos (2) /*!< LPADC_T::ADSR0: CMPF1 Position */ 827 #define LPADC_ADSR0_CMPF1_Msk (0x1ul << LPADC_ADSR0_CMPF1_Pos) /*!< LPADC_T::ADSR0: CMPF1 Mask */ 828 829 #define LPADC_ADSR0_BUSY_Pos (7) /*!< LPADC_T::ADSR0: BUSY Position */ 830 #define LPADC_ADSR0_BUSY_Msk (0x1ul << LPADC_ADSR0_BUSY_Pos) /*!< LPADC_T::ADSR0: BUSY Mask */ 831 832 #define LPADC_ADSR0_VALIDF_Pos (8) /*!< LPADC_T::ADSR0: VALIDF Position */ 833 #define LPADC_ADSR0_VALIDF_Msk (0x1ul << LPADC_ADSR0_VALIDF_Pos) /*!< LPADC_T::ADSR0: VALIDF Mask */ 834 835 #define LPADC_ADSR0_OVERRUNF_Pos (16) /*!< LPADC_T::ADSR0: OVERRUNF Position */ 836 #define LPADC_ADSR0_OVERRUNF_Msk (0x1ul << LPADC_ADSR0_OVERRUNF_Pos) /*!< LPADC_T::ADSR0: OVERRUNF Mask */ 837 838 #define LPADC_ADSR0_ADPRDY_Pos (24) /*!< LPADC_T::ADSR0: ADPRDY Position */ 839 #define LPADC_ADSR0_ADPRDY_Msk (0x1ul << LPADC_ADSR0_ADPRDY_Pos) /*!< LPADC_T::ADSR0: ADPRDY Mask */ 840 841 #define LPADC_ADSR0_CHANNEL_Pos (27) /*!< LPADC_T::ADSR0: CHANNEL Position */ 842 #define LPADC_ADSR0_CHANNEL_Msk (0x1ful << LPADC_ADSR0_CHANNEL_Pos) /*!< LPADC_T::ADSR0: CHANNEL Mask */ 843 844 #define LPADC_ADSR1_VALID_Pos (0) /*!< LPADC_T::ADSR1: VALID Position */ 845 #define LPADC_ADSR1_VALID_Msk (0xfffffffful << LPADC_ADSR1_VALID_Pos) /*!< LPADC_T::ADSR1: VALID Mask */ 846 847 #define LPADC_ADSR2_OVERRUN_Pos (0) /*!< LPADC_T::ADSR2: OVERRUN Position */ 848 #define LPADC_ADSR2_OVERRUN_Msk (0xfffffffful << LPADC_ADSR2_OVERRUN_Pos) /*!< LPADC_T::ADSR2: OVERRUN Mask */ 849 850 #define LPADC_ESMPCTL_EXTSMPT_Pos (0) /*!< LPADC_T::ESMPCTL: EXTSMPT Position */ 851 #define LPADC_ESMPCTL_EXTSMPT_Msk (0x3ffful << LPADC_ESMPCTL_EXTSMPT_Pos) /*!< LPADC_T::ESMPCTL: EXTSMPT Mask */ 852 853 #define LPADC_CFDCTL_PRECHEN_Pos (0) /*!< LPADC_T::CFDCTL: PRECHEN Position */ 854 #define LPADC_CFDCTL_PRECHEN_Msk (0x1ul << LPADC_CFDCTL_PRECHEN_Pos) /*!< LPADC_T::CFDCTL: PRECHEN Mask */ 855 856 #define LPADC_CFDCTL_DISCHEN_Pos (1) /*!< LPADC_T::CFDCTL: DISCHEN Position */ 857 #define LPADC_CFDCTL_DISCHEN_Msk (0x1ul << LPADC_CFDCTL_DISCHEN_Pos) /*!< LPADC_T::CFDCTL: DISCHEN Mask */ 858 859 #define LPADC_CFDCTL_FDETCHEN_Pos (8) /*!< LPADC_T::CFDCTL: FDETCHEN Position */ 860 #define LPADC_CFDCTL_FDETCHEN_Msk (0x1ul << LPADC_CFDCTL_FDETCHEN_Pos) /*!< LPADC_T::CFDCTL: FDETCHEN Mask */ 861 862 #define LPADC_ADPDMA_CURDAT_Pos (0) /*!< LPADC_T::ADPDMA: CURDAT Position */ 863 #define LPADC_ADPDMA_CURDAT_Msk (0x3fffful << LPADC_ADPDMA_CURDAT_Pos) /*!< LPADC_T::ADPDMA: CURDAT Mask */ 864 865 #define LPADC_ADCAL_CALEN_Pos (0) /*!< LPADC_T::ADCAL: CALEN Position */ 866 #define LPADC_ADCAL_CALEN_Msk (0x1ul << LPADC_ADCAL_CALEN_Pos) /*!< LPADC_T::ADCAL: CALEN Mask */ 867 868 #define LPADC_ADCAL_CALIE_Pos (1) /*!< LPADC_T::ADCAL: CALIE Position */ 869 #define LPADC_ADCAL_CALIE_Msk (0x1ul << LPADC_ADCAL_CALIE_Pos) /*!< LPADC_T::ADCAL: CALIE Mask */ 870 871 #define LPADC_ADCALSTS_CALIF_Pos (0) /*!< LPADC_T::ADCALSTS: CALIF Position */ 872 #define LPADC_ADCALSTS_CALIF_Msk (0x1ul << LPADC_ADCALSTS_CALIF_Pos) /*!< LPADC_T::ADCALSTS: CALIF Mask */ 873 874 #define LPADC_AUTOCTL_TRIGSEL_Pos (0) /*!< LPADC_T::AUTOCTL: TRIGSEL Position */ 875 #define LPADC_AUTOCTL_TRIGSEL_Msk (0xful << LPADC_AUTOCTL_TRIGSEL_Pos) /*!< LPADC_T::AUTOCTL: TRIGSEL Mask */ 876 877 #define LPADC_AUTOCTL_TRIGEN_Pos (4) /*!< LPADC_T::AUTOCTL: TRIGEN Position */ 878 #define LPADC_AUTOCTL_TRIGEN_Msk (0x1ul << LPADC_AUTOCTL_TRIGEN_Pos) /*!< LPADC_T::AUTOCTL: TRIGEN Mask */ 879 880 #define LPADC_AUTOCTL_ADWKEN_Pos (8) /*!< LPADC_T::AUTOCTL: ADWKEN Position */ 881 #define LPADC_AUTOCTL_ADWKEN_Msk (0x1ul << LPADC_AUTOCTL_ADWKEN_Pos) /*!< LPADC_T::AUTOCTL: ADWKEN Mask */ 882 883 #define LPADC_AUTOCTL_CMP0WKEN_Pos (9) /*!< LPADC_T::AUTOCTL: CMP0WKEN Position */ 884 #define LPADC_AUTOCTL_CMP0WKEN_Msk (0x1ul << LPADC_AUTOCTL_CMP0WKEN_Pos) /*!< LPADC_T::AUTOCTL: CMP0WKEN Mask */ 885 886 #define LPADC_AUTOCTL_CMP1WKEN_Pos (10) /*!< LPADC_T::AUTOCTL: CMP1WKEN Position */ 887 #define LPADC_AUTOCTL_CMP1WKEN_Msk (0x1ul << LPADC_AUTOCTL_CMP1WKEN_Pos) /*!< LPADC_T::AUTOCTL: CMP1WKEN Mask */ 888 889 #define LPADC_AUTOCTL_AUTOEN_Pos (31) /*!< LPADC_T::AUTOCTL: AUTOEN Position */ 890 #define LPADC_AUTOCTL_AUTOEN_Msk (0x1ul << LPADC_AUTOCTL_AUTOEN_Pos) /*!< LPADC_T::AUTOCTL: AUTOEN Mask */ 891 892 #define LPADC_AUTOSTRG_SWTRIG_Pos (0) /*!< LPADC_T::AUTOSTRG: SWTRIG Position */ 893 #define LPADC_AUTOSTRG_SWTRIG_Msk (0x1ul << LPADC_AUTOSTRG_SWTRIG_Pos) /*!< LPADC_T::AUTOSTRG: SWTRIG Mask */ 894 895 #define LPADC_AUTOSTS_ADWKF_Pos (0) /*!< LPADC_T::AUTOSTS: ADWKF Position */ 896 #define LPADC_AUTOSTS_ADWKF_Msk (0x1ul << LPADC_AUTOSTS_ADWKF_Pos) /*!< LPADC_T::AUTOSTS: ADWKF Mask */ 897 898 #define LPADC_AUTOSTS_CMP0WKF_Pos (1) /*!< LPADC_T::AUTOSTS: CMP0WKF Position */ 899 #define LPADC_AUTOSTS_CMP0WKF_Msk (0x1ul << LPADC_AUTOSTS_CMP0WKF_Pos) /*!< LPADC_T::AUTOSTS: CMP0WKF Mask */ 900 901 #define LPADC_AUTOSTS_CMP1WKF_Pos (2) /*!< LPADC_T::AUTOSTS: CMP1WKF Position */ 902 #define LPADC_AUTOSTS_CMP1WKF_Msk (0x1ul << LPADC_AUTOSTS_CMP1WKF_Pos) /*!< LPADC_T::AUTOSTS: CMP1WKF Mask */ 903 904 #define LPADC_ALDOCTL_ALDOEN_Pos (8) /*!< LPADC_T::ALDOCTL: ALDOEN Position */ 905 #define LPADC_ALDOCTL_ALDOEN_Msk (0x1ul << LPADC_ALDOCTL_ALDOEN_Pos) /*!< LPADC_T::ALDOCTL: ALDOEN Mask */ 906 907 #define LPADC_ALDOCTL_STBSEL_Pos (16) /*!< LPADC_T::ALDOCTL: STBSEL Position */ 908 #define LPADC_ALDOCTL_STBSEL_Msk (0x7ul << LPADC_ALDOCTL_STBSEL_Pos) /*!< LPADC_T::ALDOCTL: STBSEL Mask */ 909 910 #define LPADC_ALDOCTL_IGENEN_Pos (23) /*!< LPADC_T::ALDOCTL: IGENEN Position */ 911 #define LPADC_ALDOCTL_IGENEN_Msk (0x1ul << LPADC_ALDOCTL_IGENEN_Pos) /*!< LPADC_T::ALDOCTL: IGENEN Mask */ 912 913 /**@}*/ /* LPADC_CONST */ 914 /**@}*/ /* end of LPADC register group */ 915 /**@}*/ /* end of REGISTER group */ 916 917 #if defined ( __CC_ARM ) 918 #pragma no_anon_unions 919 #endif 920 921 #endif /* __LPADC_REG_H__ */ 922