Lines Matching refs:adc

53 int MXC_ADC_RevB_Init(mxc_adc_revb_regs_t *adc, mxc_adc_req_t *req)  in MXC_ADC_RevB_Init()  argument
64 adc->ctrl0 &= ~MXC_F_ADC_REVB_CTRL0_RESETB; in MXC_ADC_RevB_Init()
67 MXC_SETFIELD(adc->clkctrl, MXC_F_ADC_REVB_CLKCTRL_CLKSEL, in MXC_ADC_RevB_Init()
69 MXC_SETFIELD(adc->clkctrl, MXC_F_ADC_REVB_CLKCTRL_CLKDIV, in MXC_ADC_RevB_Init()
72 adc->ctrl0 |= MXC_F_ADC_REVB_CTRL0_RESETB; in MXC_ADC_RevB_Init()
75 adc->ctrl0 |= MXC_F_ADC_REVB_CTRL0_BIAS_EN; in MXC_ADC_RevB_Init()
79 adc->ctrl0 &= ~MXC_F_ADC_REVB_CTRL0_SKIP_CAL; in MXC_ADC_RevB_Init()
81 adc->ctrl0 |= MXC_F_ADC_REVB_CTRL0_SKIP_CAL; in MXC_ADC_RevB_Init()
84 MXC_SETFIELD(adc->sampclkctrl, MXC_F_ADC_REVB_SAMPCLKCTRL_TRACK_CNT, in MXC_ADC_RevB_Init()
86 MXC_SETFIELD(adc->sampclkctrl, MXC_F_ADC_REVB_SAMPCLKCTRL_IDLE_CNT, in MXC_ADC_RevB_Init()
89 adc->ctrl0 |= MXC_F_ADC_REVB_CTRL0_ADC_EN; in MXC_ADC_RevB_Init()
95 while (!(adc->intfl & MXC_F_ADC_REVB_INTFL_READY)) {} in MXC_ADC_RevB_Init()
104 int MXC_ADC_RevB_Shutdown(mxc_adc_revb_regs_t *adc) in MXC_ADC_RevB_Shutdown() argument
114 adc->ctrl0 &= in MXC_ADC_RevB_Shutdown()
120 void MXC_ADC_RevB_EnableInt(mxc_adc_revb_regs_t *adc, uint32_t flags) in MXC_ADC_RevB_EnableInt() argument
122 adc->inten |= (flags & ADC_IE_MASK); in MXC_ADC_RevB_EnableInt()
125 void MXC_ADC_RevB_DisableInt(mxc_adc_revb_regs_t *adc, uint32_t flags) in MXC_ADC_RevB_DisableInt() argument
127 adc->inten &= ~(flags & ADC_IE_MASK); in MXC_ADC_RevB_DisableInt()
130 int MXC_ADC_RevB_GetFlags(mxc_adc_revb_regs_t *adc) in MXC_ADC_RevB_GetFlags() argument
132 return (adc->intfl & ADC_IF_MASK); in MXC_ADC_RevB_GetFlags()
135 void MXC_ADC_RevB_ClearFlags(mxc_adc_revb_regs_t *adc, uint32_t flags) in MXC_ADC_RevB_ClearFlags() argument
138 adc->intfl |= (flags & ADC_IF_MASK); in MXC_ADC_RevB_ClearFlags()
141 void MXC_ADC_RevB_ClockSelect(mxc_adc_revb_regs_t *adc, mxc_adc_clock_t clock) in MXC_ADC_RevB_ClockSelect() argument
143 MXC_SETFIELD(adc->clkctrl, MXC_F_ADC_REVB_CLKCTRL_CLKSEL, in MXC_ADC_RevB_ClockSelect()
147 int MXC_ADC_RevB_StartConversion(mxc_adc_revb_regs_t *adc) in MXC_ADC_RevB_StartConversion() argument
149 adc->fifodmactrl |= MXC_F_ADC_REVB_FIFODMACTRL_FLUSH; //Flush data FIFO in MXC_ADC_RevB_StartConversion()
151 MXC_ADC_RevB_ClearFlags(adc, ADC_IF_MASK); in MXC_ADC_RevB_StartConversion()
153 adc->ctrl1 |= MXC_F_ADC_REVB_CTRL1_START; in MXC_ADC_RevB_StartConversion()
158 int MXC_ADC_RevB_StartConversionAsync(mxc_adc_revb_regs_t *adc, mxc_adc_complete_cb_t callback) in MXC_ADC_RevB_StartConversionAsync() argument
164 adc->fifodmactrl |= MXC_F_ADC_REVB_FIFODMACTRL_FLUSH; //Flush data FIFO in MXC_ADC_RevB_StartConversionAsync()
166 MXC_ADC_RevB_ClearFlags(adc, ADC_IF_MASK); in MXC_ADC_RevB_StartConversionAsync()
170 MXC_ADC_RevB_EnableInt(adc, (MXC_F_ADC_REVB_INTEN_SEQ_DONE | MXC_F_ADC_REVB_INTEN_FIFO_LVL)); in MXC_ADC_RevB_StartConversionAsync()
172 adc->ctrl1 |= MXC_F_ADC_REVB_CTRL1_START; in MXC_ADC_RevB_StartConversionAsync()
177 int MXC_ADC_RevB_StartConversionDMA(mxc_adc_revb_regs_t *adc, mxc_adc_conversion_req_t *req, in MXC_ADC_RevB_StartConversionDMA() argument
194 MXC_ADC_RevB_ClearFlags(adc, ADC_IF_MASK); in MXC_ADC_RevB_StartConversionDMA()
196 adc->fifodmactrl |= MXC_F_ADC_REVB_FIFODMACTRL_FLUSH; //Flush data FIFO in MXC_ADC_RevB_StartConversionDMA()
198 adc->fifodmactrl |= in MXC_ADC_RevB_StartConversionDMA()
201 adc->fifodmactrl |= MXC_F_ADC_REVB_FIFODMACTRL_DMA_EN; //Enable ADC DMA in MXC_ADC_RevB_StartConversionDMA()
234 adc->ctrl1 |= MXC_F_ADC_REVB_CTRL1_START; in MXC_ADC_RevB_StartConversionDMA()
239 int MXC_ADC_RevB_Handler(mxc_adc_revb_regs_t *adc) in MXC_ADC_RevB_Handler() argument
243 flags = MXC_ADC_RevB_GetFlags(adc); in MXC_ADC_RevB_Handler()
249 MXC_ADC_RevB_ClearFlags(adc, flags); in MXC_ADC_RevB_Handler()
252 if (!(adc->ctrl1 & MXC_F_ADC_REVB_CTRL1_CNV_MODE)) { in MXC_ADC_RevB_Handler()
253 MXC_ADC_RevB_DisableInt(adc, (MXC_F_ADC_REVB_INTFL_SEQ_DONE | in MXC_ADC_RevB_Handler()
262 MXC_ADC_RevB_ClearFlags(adc, MXC_F_ADC_REVB_INTFL_CONV_DONE); in MXC_ADC_RevB_Handler()
273 int MXC_ADC_RevB_GetData(mxc_adc_revb_regs_t *adc, int *outdata) in MXC_ADC_RevB_GetData() argument
277 length = adc->status & MXC_F_ADC_REVB_STATUS_FIFO_LEVEL; in MXC_ADC_RevB_GetData()
281 *outdata = adc->data; in MXC_ADC_RevB_GetData()
287 void MXC_ADC_RevB_EnableConversion(mxc_adc_revb_regs_t *adc) in MXC_ADC_RevB_EnableConversion() argument
289 adc->ctrl1 |= MXC_F_ADC_REVB_CTRL1_START; in MXC_ADC_RevB_EnableConversion()
292 void MXC_ADC_RevB_DisableConversion(mxc_adc_revb_regs_t *adc) in MXC_ADC_RevB_DisableConversion() argument
294 adc->ctrl1 &= ~MXC_F_ADC_REVB_CTRL1_START; in MXC_ADC_RevB_DisableConversion()
297 void MXC_ADC_RevB_TS_SelectEnable(mxc_adc_revb_regs_t *adc) in MXC_ADC_RevB_TS_SelectEnable() argument
299 adc->ctrl1 |= MXC_F_ADC_REVB_CTRL1_TS_SEL; in MXC_ADC_RevB_TS_SelectEnable()
302 void MXC_ADC_RevB_TS_SelectDisable(mxc_adc_revb_regs_t *adc) in MXC_ADC_RevB_TS_SelectDisable() argument
304 adc->ctrl1 &= ~MXC_F_ADC_REVB_CTRL1_TS_SEL; in MXC_ADC_RevB_TS_SelectDisable()
307 uint16_t MXC_ADC_RevB_FIFO_Level(mxc_adc_revb_regs_t *adc) in MXC_ADC_RevB_FIFO_Level() argument
309 return ((adc->status & MXC_F_ADC_REVB_STATUS_FIFO_LEVEL) >> in MXC_ADC_RevB_FIFO_Level()
313 int MXC_ADC_RevB_FIFO_Threshold_Config(mxc_adc_revb_regs_t *adc, uint32_t fifo_threshold) in MXC_ADC_RevB_FIFO_Threshold_Config() argument
319 adc->fifodmactrl &= ~MXC_F_ADC_REVB_FIFODMACTRL_THRESH; in MXC_ADC_RevB_FIFO_Threshold_Config()
320 adc->fifodmactrl |= (uint32_t)(fifo_threshold << MXC_F_ADC_REVB_FIFODMACTRL_THRESH_POS); in MXC_ADC_RevB_FIFO_Threshold_Config()
325 int MXC_ADC_RevB_AverageConfig(mxc_adc_revb_regs_t *adc, mxc_adc_avg_t avg_number) in MXC_ADC_RevB_AverageConfig() argument
328 adc->ctrl1 &= ~MXC_F_ADC_REVB_CTRL1_AVG; in MXC_ADC_RevB_AverageConfig()
329 adc->ctrl1 |= (avg_number); in MXC_ADC_RevB_AverageConfig()
334 void MXC_ADC_RevB_Clear_ChannelSelect(mxc_adc_revb_regs_t *adc) in MXC_ADC_RevB_Clear_ChannelSelect() argument
337 adc->chsel0 = 0; in MXC_ADC_RevB_Clear_ChannelSelect()
338 adc->chsel1 = 0; in MXC_ADC_RevB_Clear_ChannelSelect()
339 adc->chsel2 = 0; in MXC_ADC_RevB_Clear_ChannelSelect()
340 adc->chsel3 = 0; in MXC_ADC_RevB_Clear_ChannelSelect()
343 adc->chsel4 = 0; in MXC_ADC_RevB_Clear_ChannelSelect()
347 void MXC_ADC_RevB_TriggerConfig(mxc_adc_revb_regs_t *adc, mxc_adc_conversion_req_t *req) in MXC_ADC_RevB_TriggerConfig() argument
350 adc->ctrl1 &= ~MXC_F_ADC_REVB_CTRL1_TRIG_MODE; in MXC_ADC_RevB_TriggerConfig()
352 adc->ctrl1 |= MXC_F_ADC_REVB_CTRL1_TRIG_MODE; in MXC_ADC_RevB_TriggerConfig()
353 MXC_SETFIELD(adc->ctrl1, MXC_F_ADC_REVB_CTRL1_TRIG_SEL, in MXC_ADC_RevB_TriggerConfig()
358 void MXC_ADC_RevB_ConversionModeConfig(mxc_adc_revb_regs_t *adc, mxc_adc_conversion_req_t *req) in MXC_ADC_RevB_ConversionModeConfig() argument
361 adc->ctrl1 &= ~MXC_F_ADC_REVB_CTRL1_CNV_MODE; in MXC_ADC_RevB_ConversionModeConfig()
363 adc->ctrl1 |= MXC_F_ADC_REVB_CTRL1_CNV_MODE; in MXC_ADC_RevB_ConversionModeConfig()
367 int MXC_ADC_RevB_SetConversionDelay(mxc_adc_revb_regs_t *adc, int delay) in MXC_ADC_RevB_SetConversionDelay() argument
373 adc->restart &= ~MXC_F_ADC_REVB_RESTART_CNT; in MXC_ADC_RevB_SetConversionDelay()
374 adc->restart |= delay << MXC_F_ADC_REVB_RESTART_CNT_POS; in MXC_ADC_RevB_SetConversionDelay()
379 int MXC_ADC_RevB_SlotsConfig(mxc_adc_revb_regs_t *adc, mxc_adc_conversion_req_t *req) in MXC_ADC_RevB_SlotsConfig() argument
385 adc->ctrl1 &= ~MXC_F_ADC_REVB_CTRL1_NUM_SLOTS; in MXC_ADC_RevB_SlotsConfig()
386 adc->ctrl1 |= (uint32_t)(req->num_slots) << MXC_F_ADC_REVB_CTRL1_NUM_SLOTS_POS; in MXC_ADC_RevB_SlotsConfig()
392 int MXC_ADC_RevB_ChSelectConfig(mxc_adc_revb_regs_t *adc, mxc_adc_chsel_t ch, uint32_t slot_num) in MXC_ADC_RevB_ChSelectConfig() argument