58 #include <ti/csl/cslr_adc.h> 70 #define ADC_INTR_STATUS_ALL (ADC_IRQSTATUS_END_OF_SEQUENCE_MASK | \ 71 ADC_IRQSTATUS_FIFO0_THR_MASK | \ 72 ADC_IRQSTATUS_FIFO0_OVERRUN_MASK | \ 73 ADC_IRQSTATUS_FIFO0_UNDERFLOW_MASK | \ 74 ADC_IRQSTATUS_FIFO1_THR_MASK | \ 75 ADC_IRQSTATUS_FIFO1_OVERRUN_MASK | \ 76 ADC_IRQSTATUS_FIFO1_UNDERFLOW_MASK | \ 77 ADC_IRQSTATUS_OUT_OF_RANGE_MASK) 81 #define ADC_INTR_ENABLE_ALL (ADC_IRQENABLE_SET_END_OF_SEQUENCE_MASK | \ 82 ADC_IRQENABLE_SET_FIFO0_THR_MASK | \ 83 ADC_IRQENABLE_SET_FIFO0_OVERRUN_MASK | \ 84 ADC_IRQENABLE_SET_FIFO0_UNDERFLOW_MASK | \ 85 ADC_IRQENABLE_SET_FIFO1_THR_MASK | \ 86 ADC_IRQENABLE_SET_FIFO1_OVERRUN_MASK | \ 87 ADC_IRQENABLE_SET_FIFO1_UNDERFLOW_MASK | \ 88 ADC_IRQENABLE_SET_OUT_OF_RANGE_MASK) 93 #define ADC_INTR_DISABLE_ALL (ADC_IRQENABLE_CLR_END_OF_SEQUENCE_MASK | \ 94 ADC_IRQENABLE_CLR_FIFO0_THR_MASK | \ 95 ADC_IRQENABLE_CLR_FIFO0_OVERRUN_MASK | \ 96 ADC_IRQENABLE_CLR_FIFO0_UNDERFLOW_MASK | \ 97 ADC_IRQENABLE_CLR_FIFO1_THR_MASK | \ 98 ADC_IRQENABLE_CLR_FIFO1_OVERRUN_MASK | \ 99 ADC_IRQENABLE_CLR_FIFO1_UNDERFLOW_MASK | \ 100 ADC_IRQENABLE_CLR_OUT_OF_RANGE_MASK) 105 #define ADC_INTR_ALL (ADC_INTR_STATUS_ALL) 110 #define ADC_OPENDELAY_MAX (0x3FFFFU) 115 #define ADC_SAMPLEDELAY_MAX (0xFFU) 120 #define ADC_RANGE_MAX (0x3FFU) 125 #define ADC_RANGE_MIN (0x0U) 130 #define ADC_FIFO_SIZE (64U) 135 #define ADC_RESLN_MAX (1024U) 139 #define ADC_MAX_NUM_CHN (uint32_t)(8U) 155 #define ADC_CHANNEL_1 (ADC_STEPCONFIG_SEL_INM_SWC_CHANNEL_1) 157 #define ADC_CHANNEL_2 (ADC_STEPCONFIG_SEL_INM_SWC_CHANNEL_2) 159 #define ADC_CHANNEL_3 (ADC_STEPCONFIG_SEL_INM_SWC_CHANNEL_3) 161 #define ADC_CHANNEL_4 (ADC_STEPCONFIG_SEL_INM_SWC_CHANNEL_4) 163 #define ADC_CHANNEL_5 (ADC_STEPCONFIG_SEL_INM_SWC_CHANNEL_5) 165 #define ADC_CHANNEL_6 (ADC_STEPCONFIG_SEL_INM_SWC_CHANNEL_6) 167 #define ADC_CHANNEL_7 (ADC_STEPCONFIG_SEL_INM_SWC_CHANNEL_7) 169 #define ADC_CHANNEL_8 (ADC_STEPCONFIG_SEL_INM_SWC_CHANNEL_8) 183 #define ADC_STEP_1 (ADC_ADCSTAT_STEP_ID_STEP1) 185 #define ADC_STEP_2 (ADC_ADCSTAT_STEP_ID_STEP2) 187 #define ADC_STEP_3 (ADC_ADCSTAT_STEP_ID_STEP3) 189 #define ADC_STEP_4 (ADC_ADCSTAT_STEP_ID_STEP4) 191 #define ADC_STEP_5 (ADC_ADCSTAT_STEP_ID_STEP5) 193 #define ADC_STEP_6 (ADC_ADCSTAT_STEP_ID_STEP6) 195 #define ADC_STEP_7 (ADC_ADCSTAT_STEP_ID_STEP7) 197 #define ADC_STEP_8 (ADC_ADCSTAT_STEP_ID_STEP8) 199 #define ADC_STEP_9 (ADC_ADCSTAT_STEP_ID_STEP9) 201 #define ADC_STEP_10 (ADC_ADCSTAT_STEP_ID_STEP10) 203 #define ADC_STEP_11 (ADC_ADCSTAT_STEP_ID_STEP11) 205 #define ADC_STEP_12 (ADC_ADCSTAT_STEP_ID_STEP12) 207 #define ADC_STEP_13 (ADC_ADCSTAT_STEP_ID_STEP13) 209 #define ADC_STEP_14 (ADC_ADCSTAT_STEP_ID_STEP14) 211 #define ADC_STEP_15 (ADC_ADCSTAT_STEP_ID_STEP15) 213 #define ADC_STEP_16 (ADC_ADCSTAT_STEP_ID_STEP16) 230 #define ADC_OPERATION_MODE_SINGLE_SHOT (ADC_STEPCONFIG_MODE_SW_EN_ONESHOT) 232 #define ADC_OPERATION_MODE_CONTINUOUS (ADC_STEPCONFIG_MODE_SW_EN_CONTINUOUS) 248 #define ADC_AVERAGING_NONE (ADC_STEPCONFIG_AVERAGING_NOAVG) 250 #define ADC_AVERAGING_2_SAMPLES (ADC_STEPCONFIG_AVERAGING_2_SAMPLESAVG) 252 #define ADC_AVERAGING_4_SAMPLES (ADC_STEPCONFIG_AVERAGING_4_SAMPLESAVG) 254 #define ADC_AVERAGING_8_SAMPLES (ADC_STEPCONFIG_AVERAGING_8_SAMPLESAVG) 256 #define ADC_AVERAGING_16_SAMPLES (ADC_STEPCONFIG_AVERAGING_16_SAMPLESAV) 270 #define ADC_FIFO_NUM_0 (0x0U) 272 #define ADC_FIFO_NUM_1 (0x1U) 286 #define ADC_INTR_SRC_END_OF_SEQUENCE (ADC_IRQENABLE_SET_END_OF_SEQUENCE_MASK) 288 #define ADC_INTR_SRC_FIFO0_THRESHOLD (ADC_IRQENABLE_SET_FIFO0_THR_MASK) 290 #define ADC_INTR_SRC_FIFO0_OVERRUN (ADC_IRQENABLE_SET_FIFO0_OVERRUN_MASK) 292 #define ADC_INTR_SRC_FIFO0_UNDERFLOW (ADC_IRQENABLE_SET_FIFO0_UNDERFLOW_MASK) 294 #define ADC_INTR_SRC_FIFO1_THRESHOLD (ADC_IRQENABLE_SET_FIFO1_THR_MASK) 296 #define ADC_INTR_SRC_FIFO1_OVERRUN (ADC_IRQSTATUS_FIFO1_OVERRUN_MASK) 298 #define ADC_INTR_SRC_FIFO1_UNDERFLOW (ADC_IRQENABLE_SET_FIFO1_UNDERFLOW_MASK) 300 #define ADC_INTR_SRC_OUT_OF_RANGE (ADC_IRQENABLE_SET_OUT_OF_RANGE_MASK) 314 #define ADC_IDLE_MODE_FORCE_IDLE (ADC_SYSCONFIG_IDLEMODE_FORCE) 316 #define ADC_IDLE_MODE_NO_IDLE (ADC_SYSCONFIG_IDLEMODE_NO_IDLE) 318 #define ADC_IDLE_MODE_SMART_IDLE (ADC_SYSCONFIG_IDLEMODE_SMART_IDLE) 325 typedef struct adcRevisionId
344 typedef struct adcStepConfig
383 typedef struct adcSequencerStatus
418 void ADCPowerUp(uint32_t baseAddr, uint32_t powerUp);
458 void ADCInit(uint32_t baseAddr,
459 uint32_t errCorrection,
461 uint32_t calibration);
475 uint32_t dmaLineEnable);
505 uint32_t stepEnable);
524 void ADCStart(uint32_t baseAddr, uint32_t adcEnable);
692 int32_t
ADCSetRange(uint32_t baseAddr, uint32_t highRange, uint32_t lowRange);
void ADCGetRevisionId(uint32_t baseAddr, adcRevisionId_t *revId)
This API is used get the ADC revision ID.
int32_t ADCSetRange(uint32_t baseAddr, uint32_t highRange, uint32_t lowRange)
This API is used to configure the range for ADC.
void ADCEnableIntr(uint32_t baseAddr, uint32_t intrMask)
This API is used to enable interrupts.
uint32_t major
Definition: adc.h:333
uint32_t averaging
Definition: adc.h:370
uint32_t fifoNum
Definition: adc.h:374
uint32_t sampleDelay
Definition: adc.h:360
uint32_t ADCGetIntrStatus(uint32_t baseAddr)
This API is used to get the pending interrupts.
void ADCGetSequencerStatus(uint32_t baseAddr, adcSequencerStatus_t *status)
This API is used to get the Sequencer status.
void ADCWriteEOI(uint32_t baseAddr)
This API is used for EOI for ADC.
uint32_t scheme
Definition: adc.h:327
uint32_t mode
Definition: adc.h:346
uint32_t adcOperationMode_t
Enum to select the ADC Operation Mode.
Definition: adc.h:228
Structure for reporting ADC sequencer status.
Definition: adc.h:383
uint32_t adcStepId_t
Enum to select the step for operation.
Definition: adc.h:181
uint32_t adcAveraging_t
Enum to number of samplings to average.
Definition: adc.h:246
uint32_t stepId
Definition: adc.h:394
uint32_t AdcIsPoweredUp(uint32_t baseAddr)
This function checks if the ADC module is powered up.
uint32_t ADCGetCPUFIFOThresholdLevel(uint32_t baseAddr, uint32_t fifoNum)
This API will read and return threshold level for a FIFO.
uint32_t afeBusy
Definition: adc.h:385
void ADCClearAllSteps(uint32_t baseAddr)
This API will clear all the ADC steps.
void ADCStepEnable(uint32_t baseAddr, uint32_t stepId, uint32_t stepEnable)
This API will enable ADC step.
uint32_t ADCGetFIFOData(uint32_t baseAddr, uint32_t fifoNum)
This API will read and return FIFO data.
uint32_t rangeCheckEnable
Definition: adc.h:365
uint32_t ADCGetFIFOWordCount(uint32_t baseAddr, uint32_t fifoNum)
This API will return number of word present in the FIFO.
uint32_t adcIdleMode_t
Enum to configure ADC idle mode.Applicable for TDA3XX Only.
Definition: adc.h:312
void ADCInit(uint32_t baseAddr, uint32_t errCorrection, uint32_t errOffset, uint32_t calibration)
This API is used to initialize the ADC module.
int32_t ADCSetClkDivider(uint32_t baseAddr, uint32_t clkDivider)
This API will configure clock divider for the ADC Module.
uint32_t fsmBusy
Definition: adc.h:390
Structure for accessing Revision ID of ADC module.
Definition: adc.h:325
void ADCClearIntrStatus(uint32_t baseAddr, uint32_t intrMask)
This API is used to clear the interrupt status.
void ADCStepIdTagEnable(uint32_t baseAddr, uint32_t stepIdTag)
This API is used to configure the ADC module for storing step ID along with ADC data.
Structure containing parameters for ADC step configuration.
Definition: adc.h:344
uint32_t custom
Definition: adc.h:335
void ADCPowerUp(uint32_t baseAddr, uint32_t powerUp)
This API will power up ADC Module.
void ADCFIFODMAAccessEnable(uint32_t baseAddr, uint32_t fifoNum, uint32_t dmaLineEnable)
This API will enable DMA access for FIFO.
uint32_t rtlRev
Definition: adc.h:331
int32_t ADCSetStepParams(uint32_t baseAddr, uint32_t stepId, const adcStepConfig_t *configParams)
This API will configure a step for analog to digital conversion.
void ADCGetRange(uint32_t baseAddr, uint32_t *highRange, uint32_t *lowRange)
This API is used to get the range for conversion.
uint32_t minor
Definition: adc.h:337
uint32_t openDelay
Definition: adc.h:354
void ADCDisableIntr(uint32_t baseAddr, uint32_t intrMask)
This API is used to disable interrupts.
int32_t ADCSetCPUFIFOThresholdLevel(uint32_t baseAddr, uint32_t fifoNum, uint32_t threshold)
This API will configure threshold level for a FIFO.
uint32_t func
Definition: adc.h:329
uint32_t adcChannel_t
Enum to select the channel for input.
Definition: adc.h:153
uint32_t adcIntrSrc_t
Enum for ADC interrupts.
Definition: adc.h:284
void ADCSetIdleMode(uint32_t baseAddr, uint32_t idleMode)
This API is used to configure ADC idle mode.
void ADCStart(uint32_t baseAddr, uint32_t adcEnable)
This API will start ADC.
uint32_t ADCGetIntrRawStatus(uint32_t baseAddr)
This API is used to get the raw interrupt status.
int32_t ADCSetDMAFIFOThresholdLevel(uint32_t baseAddr, uint32_t fifoNum, uint32_t threshold)
This API will configure DMA request level for a FIFO.
uint32_t adcFIFONum_t
Enum to select FIFO to store the data.
Definition: adc.h:268
uint32_t ADCGetDMAFIFOThresholdLevel(uint32_t baseAddr, uint32_t fifoNum)
This API will read and return DMA request level for a FIFO.
uint32_t channel
Definition: adc.h:350