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

Go to the source code of this file.

Data Structures

struct  bflb_audac_init_config_s
 AUDAC initialization configuration structure. More...
 
struct  bflb_audac_volume_config_s
 AUDAC volume configuration structure. More...
 

Macros

#define AUDAC_SAMPLING_RATE_8K   0
 
#define AUDAC_SAMPLING_RATE_16K   1
 
#define AUDAC_SAMPLING_RATE_22P05K   5
 
#define AUDAC_SAMPLING_RATE_24K   3
 
#define AUDAC_SAMPLING_RATE_32K   2
 
#define AUDAC_SAMPLING_RATE_44P1K   6
 
#define AUDAC_SAMPLING_RATE_48K   4
 
#define AUDAC_OUTPUT_MODE_PWM   0
 
#define AUDAC_OUTPUT_MODE_GPDAC_CH_A   1
 
#define AUDAC_OUTPUT_MODE_GPDAC_CH_B   2
 
#define AUDAC_OUTPUT_MODE_GPDAC_CH_A_B   3
 
#define AUDAC_SOURCE_CHANNEL_SINGLE   0x01
 
#define AUDAC_SOURCE_CHANNEL_DUAL   0x03
 
#define AUDAC_MIXER_MODE_ONLY_L   0
 
#define AUDAC_MIXER_MODE_ONLY_R   1
 
#define AUDAC_MIXER_MODE_SUM   2
 
#define AUDAC_MIXER_MODE_AVERAGE   3
 
#define AUDAC_DATA_FORMAT_16BIT   3
 
#define AUDAC_DATA_FORMAT_20BIT   2
 
#define AUDAC_DATA_FORMAT_24BIT   1
 
#define AUDAC_DATA_FORMAT_32BIT   0
 
#define AUDAC_RAMP_RATE_FS_2   0
 
#define AUDAC_RAMP_RATE_FS_4   1
 
#define AUDAC_RAMP_RATE_FS_8   2
 
#define AUDAC_RAMP_RATE_FS_16   3
 
#define AUDAC_RAMP_RATE_FS_32   4
 
#define AUDAC_RAMP_RATE_FS_64   5
 
#define AUDAC_RAMP_RATE_FS_128   6
 
#define AUDAC_RAMP_RATE_FS_256   7
 
#define AUDAC_RAMP_RATE_FS_512   8
 
#define AUDAC_RAMP_RATE_FS_1024   9
 
#define AUDAC_RAMP_RATE_FS_2048   10
 
#define AUDAC_VOLUME_UPDATE_MODE_FORCE   0
 
#define AUDAC_VOLUME_UPDATE_MODE_RAMP   1
 
#define AUDAC_VOLUME_UPDATE_MODE_RAMP_ZERO_CROSSING   2
 
#define AUDAC_INTSTS_VOLUME_RAMP   (1 << 0)
 
#define AUDAC_INTSTS_FIFO_OVER   (1 << 1)
 
#define AUDAC_INTSTS_FIFO_UNDER   (1 << 2)
 
#define AUDAC_INTSTS_FIFO_AVAILABLE   (1 << 3)
 
#define AUDAC_CMD_PLAY_START   (0x01)
 
#define AUDAC_CMD_PLAY_STOP   (0x02)
 
#define AUDAC_CMD_SET_MUTE   (0x03)
 
#define AUDAC_CMD_SET_VOLUME_VAL   (0x04)
 
#define AUDAC_CMD_CLEAR_TX_FIFO   (0x05)
 
#define AUDAC_CMD_GET_TX_FIFO_CNT   (0x06)
 

Functions

int bflb_audac_init (struct bflb_device_s *dev, const struct bflb_audac_init_config_s *config)
 
int bflb_audac_volume_init (struct bflb_device_s *dev, const struct bflb_audac_volume_config_s *vol_cfg)
 
int bflb_audac_link_rxdma (struct bflb_device_s *dev, bool enable)
 
int bflb_audac_int_mask (struct bflb_device_s *dev, uint32_t mask)
 
int bflb_audac_get_intstatus (struct bflb_device_s *dev)
 
int bflb_audac_int_clear (struct bflb_device_s *dev, uint32_t int_clear)
 
int bflb_audac_feature_control (struct bflb_device_s *dev, int cmd, size_t arg)