Bouffalo SDK  1.0
Bouffalolab Software Development Kit
bflb_auadc.h File Reference
#include "bflb_core.h"
Include dependency graph for bflb_auadc.h:

Go to the source code of this file.

Data Structures

struct  bflb_auadc_init_config_s
 auadc initialization configuration structure More...
 
struct  bflb_auadc_adc_init_config_s
 auadc adc analog initialization configuration structure More...
 

Macros

#define AUADC_SAMPLING_RATE_8K   0 /* audio mode */
 
#define AUADC_SAMPLING_RATE_16K   1 /* audio mode */
 
#define AUADC_SAMPLING_RATE_24K   2 /* audio mode, same as 22.02K, adjust the AUPLL clock */
 
#define AUADC_SAMPLING_RATE_32K   3 /* audio mode */
 
#define AUADC_SAMPLING_RATE_48K   4 /* audio mode, same as 44.1K, adjust the AUPLL clock */
 
#define AUADC_SAMPLING_RATE_MEASURE_128K   8 /* only used in ADC measurement mode */
 
#define AUADC_SAMPLING_RATE_MEASURE_256K   9 /* only used in ADC measurement mode */
 
#define AUADC_SAMPLING_RATE_MEASURE_512K   10 /* only used in ADC measurement mode */
 
#define AUADC_INPUT_MODE_ADC   0 /* Analog ADC */
 
#define AUADC_INPUT_MODE_PDM_L   1 /* PDM left channel */
 
#define AUADC_INPUT_MODE_PDM_R   2 /* PDM right channel */
 
#define AUADC_DATA_FORMAT_16BIT   3
 
#define AUADC_DATA_FORMAT_20BIT   2
 
#define AUADC_DATA_FORMAT_24BIT   1
 
#define AUADC_DATA_FORMAT_32BIT   0
 
#define AUADC_ADC_ANALOG_CH_0   0
 
#define AUADC_ADC_ANALOG_CH_1   1
 
#define AUADC_ADC_ANALOG_CH_2   2
 
#define AUADC_ADC_ANALOG_CH_3   3
 
#define AUADC_ADC_ANALOG_CH_4   4
 
#define AUADC_ADC_ANALOG_CH_5   5
 
#define AUADC_ADC_ANALOG_CH_6   6
 
#define AUADC_ADC_ANALOG_CH_7   7
 
#define AUADC_ADC_MEASURE_RATE_SPS_2_5   0
 
#define AUADC_ADC_MEASURE_RATE_SPS_5   1
 
#define AUADC_ADC_MEASURE_RATE_SPS_10   2
 
#define AUADC_ADC_MEASURE_RATE_SPS_20   3
 
#define AUADC_ADC_MEASURE_RATE_SPS_25   4
 
#define AUADC_ADC_MEASURE_RATE_SPS_50   5
 
#define AUADC_ADC_MEASURE_RATE_SPS_100   6
 
#define AUADC_ADC_MEASURE_RATE_SPS_200   7
 
#define AUADC_ADC_MEASURE_RATE_SPS_400   8
 
#define AUADC_ADC_MEASURE_RATE_SPS_800   9
 
#define AUADC_ADC_MEASURE_RATE_SPS_1000   10
 
#define AUADC_ADC_MEASURE_RATE_SPS_2000   11
 
#define AUADC_ADC_MEASURE_RATE_SPS_4000   12
 
#define AUADC_ADC_MODE_AUDIO   0
 
#define AUADC_ADC_MODE_MEASURE   1
 
#define AUADC_ADC_PGA_MODE_AC_DIFFER   0
 
#define AUADC_ADC_PGA_MODE_AC_SINGLE   1
 
#define AUADC_ADC_PGA_MODE_DC_DIFFER   2
 
#define AUADC_ADC_PGA_MODE_DC_SINGLE   3
 
#define AUADC_INTMASK_FIFO_OVER   (1 << 1)
 
#define AUADC_INTMASK_FIFO_UNDER   (1 << 2)
 
#define AUADC_INTMASK_FIFO_AVAILABLE   (1 << 3)
 
#define AUADC_INTSTS_FIFO_OVER   (1 << 1)
 
#define AUADC_INTSTS_FIFO_UNDER   (1 << 2)
 
#define AUADC_INTSTS_FIFO_AVAILABLE   (1 << 4)
 
#define AUADC_CMD_RECORD_START   (0x01)
 
#define AUADC_CMD_RECORD_STOP   (0x02)
 
#define AUADC_CMD_SET_VOLUME_VAL   (0x03)
 
#define AUADC_CMD_SET_PGA_GAIN_VAL   (0x04)
 
#define AUADC_CMD_CLEAR_RX_FIFO   (0x05)
 
#define AUADC_CMD_GET_RX_FIFO_CNT   (0x06)
 

Functions

int bflb_auadc_init (struct bflb_device_s *dev, const struct bflb_auadc_init_config_s *config)
 
int bflb_auadc_adc_init (struct bflb_device_s *dev, const struct bflb_auadc_adc_init_config_s *config)
 
int bflb_auadc_link_rxdma (struct bflb_device_s *dev, bool enable)
 
int bflb_auadc_int_mask (struct bflb_device_s *dev, uint32_t int_sts)
 
int bflb_auadc_int_unmask (struct bflb_device_s *dev, uint32_t int_sts)
 
int bflb_auadc_get_intstatus (struct bflb_device_s *dev)
 
int bflb_auadc_feature_control (struct bflb_device_s *dev, int cmd, size_t arg)