Developer World
Spresense SDK Library v3.2.0-ebc0364
Audio Driver API
Collaboration diagram for Audio Driver API:

Classes

struct  cxd56_audio_ioctl_s
 
struct  beep_ctl_s
 
struct  cxd56_audio_i2s_param_s
 
struct  cxd56_audio_mic_gain_s
 
struct  cxd56_audio_dnc_bin_s
 
struct  cxd56_audio_sel_s
 
struct  cxd56_audio_deq_coef_func_s
 
struct  cxd56_audio_deq_coef_s
 
struct  cxd56_audio_dma_mstate_s
 

Macros

#define CXD56AUD_SET_SYSVOLUME   (0x01)
 
#define CXD56AUD_SET_AUDIOPATH   (0x02)
 
#define CXD56AUD_SET_I2SMODE   (0x03)
 
#define CXD56AUD_GET_SYSPARAM   (0x04)
 
#define CXD56AUD_SET_SAMPLERATE   (0x05)
 
#define CXD56AUD_SET_BWCH   (0x06)
 
#define CXD56_AUDIO_MIC_CH_MAX   8
 
#define CXD56_AUDIO_DNC_FW_SIZE   512
 
#define CXD56_AUDIO_DNC_CFG_SIZE   128
 
#define CXD56_AUDIO_DEQ_BAND_NUM   6
 
#define CXD56_AUDIO_ECODE   uint16_t
 
#define CXD56_AUDIO_ECODE_OK   0x0000
 
#define CXD56_AUDIO_ECODE_POW   0x1000
 
#define CXD56_AUDIO_ECODE_FIL   0x2000
 
#define CXD56_AUDIO_ECODE_MIC   0x3000
 
#define CXD56_AUDIO_ECODE_VOL   0x4000
 
#define CXD56_AUDIO_ECODE_DIG   0x5000
 
#define CXD56_AUDIO_ECODE_BEP   0x6000
 
#define CXD56_AUDIO_ECODE_INT   0x7000
 
#define CXD56_AUDIO_ECODE_DMA   0x8000
 
#define CXD56_AUDIO_ECODE_ANA   0x9000
 
#define CXD56_AUDIO_ECODE_REG   0xA000
 
#define CXD56_AUDIO_ECODE_CFG   0xB000
 
#define CXD56_AUDIO_ECODE_POW_STATE   (CXD56_AUDIO_ECODE_POW | 0x01)
 
#define CXD56_AUDIO_ECODE_FIL_DNC_BIN   (CXD56_AUDIO_ECODE_FIL | 0x01)
 
#define CXD56_AUDIO_ECODE_MIC_NO_ANA   (CXD56_AUDIO_ECODE_MIC | 0x01)
 
#define CXD56_AUDIO_ECODE_MIC_ARG_NULL   (CXD56_AUDIO_ECODE_MIC | 0x02)
 
#define CXD56_AUDIO_ECODE_VOL_ID   (CXD56_AUDIO_ECODE_VOL | 0x01)
 
#define CXD56_AUDIO_ECODE_VOL_MAX   (CXD56_AUDIO_ECODE_VOL | 0x02)
 
#define CXD56_AUDIO_ECODE_VOL_MIN   (CXD56_AUDIO_ECODE_VOL | 0x03)
 
#define CXD56_AUDIO_ECODE_BEP_FREQ_MAX   (CXD56_AUDIO_ECODE_BEP | 0x01)
 
#define CXD56_AUDIO_ECODE_BEP_FREQ_MIN   (CXD56_AUDIO_ECODE_BEP | 0x02)
 
#define CXD56_AUDIO_ECODE_BEP_VOL_MAX   (CXD56_AUDIO_ECODE_BEP | 0x03)
 
#define CXD56_AUDIO_ECODE_BEP_VOL_MIN   (CXD56_AUDIO_ECODE_BEP | 0x04)
 
#define CXD56_AUDIO_ECODE_DMA_ARG_NULL   (CXD56_AUDIO_ECODE_DMA | 0x01)
 
#define CXD56_AUDIO_ECODE_DMA_PATH_INV   (CXD56_AUDIO_ECODE_DMA | 0x02)
 
#define CXD56_AUDIO_ECODE_DMA_PATH_COMB   (CXD56_AUDIO_ECODE_DMA | 0x03)
 
#define CXD56_AUDIO_ECODE_DMA_PATH_DUP   (CXD56_AUDIO_ECODE_DMA | 0x04)
 
#define CXD56_AUDIO_ECODE_DMA_PATH_MAX   (CXD56_AUDIO_ECODE_DMA | 0x05)
 
#define CXD56_AUDIO_ECODE_DMA_HANDLE_NULL   (CXD56_AUDIO_ECODE_DMA | 0x06)
 
#define CXD56_AUDIO_ECODE_DMA_HANDLE_INV   (CXD56_AUDIO_ECODE_DMA | 0x07)
 
#define CXD56_AUDIO_ECODE_DMA_CH_NO_ENABLE   (CXD56_AUDIO_ECODE_DMA | 0x08)
 
#define CXD56_AUDIO_ECODE_DMA_CH1_4_INV   (CXD56_AUDIO_ECODE_DMA | 0x09)
 
#define CXD56_AUDIO_ECODE_DMA_CH5_8_INV   (CXD56_AUDIO_ECODE_DMA | 0x0a)
 
#define CXD56_AUDIO_ECODE_DMA_SMP_TIMEOUT   (CXD56_AUDIO_ECODE_DMA | 0x0b)
 
#define CXD56_AUDIO_ECODE_DMA_BUSY   (CXD56_AUDIO_ECODE_DMA | 0x0c)
 
#define CXD56_AUDIO_ECODE_DMA_CMPLT   (CXD56_AUDIO_ECODE_DMA | 0x11)
 
#define CXD56_AUDIO_ECODE_DMA_TRANS   (CXD56_AUDIO_ECODE_DMA | 0x12)
 
#define CXD56_AUDIO_ECODE_DMA_CMB   (CXD56_AUDIO_ECODE_DMA | 0x13)
 
#define CXD56_AUDIO_ECODE_ANA_DISABLE   (CXD56_AUDIO_ECODE_ANA | 0x01)
 
#define CXD56_AUDIO_ECODE_ANA_PWON   (CXD56_AUDIO_ECODE_ANA | 0x02)
 
#define CXD56_AUDIO_ECODE_ANA_PWOFF   (CXD56_AUDIO_ECODE_ANA | 0x03)
 
#define CXD56_AUDIO_ECODE_ANA_CLK_EN   (CXD56_AUDIO_ECODE_ANA | 0x04)
 
#define CXD56_AUDIO_ECODE_ANA_CHKID   (CXD56_AUDIO_ECODE_ANA | 0x05)
 
#define CXD56_AUDIO_ECODE_ANA_SERIAL   (CXD56_AUDIO_ECODE_ANA | 0x06)
 
#define CXD56_AUDIO_ECODE_ANA_PWON_MBIAS   (CXD56_AUDIO_ECODE_ANA | 0x07)
 
#define CXD56_AUDIO_ECODE_ANA_PWON_INPUT   (CXD56_AUDIO_ECODE_ANA | 0x08)
 
#define CXD56_AUDIO_ECODE_ANA_SET_SMASTER   (CXD56_AUDIO_ECODE_ANA | 0x09)
 
#define CXD56_AUDIO_ECODE_ANA_PWON_OUTPUT   (CXD56_AUDIO_ECODE_ANA | 0x0A)
 
#define CXD56_AUDIO_ECODE_ANA_PWOFF_INPUT   (CXD56_AUDIO_ECODE_ANA | 0x0B)
 
#define CXD56_AUDIO_ECODE_ANA_PWOFF_OUTPUT   (CXD56_AUDIO_ECODE_ANA | 0x0C)
 
#define CXD56_AUDIO_ECODE_ANA_ENABLE_OUTPUT   (CXD56_AUDIO_ECODE_ANA | 0x0D)
 
#define CXD56_AUDIO_ECODE_ANA_DISABLE_OUTPUT   (CXD56_AUDIO_ECODE_ANA | 0x0E)
 
#define CXD56_AUDIO_ECODE_ANA_SET_MICGAIN   (CXD56_AUDIO_ECODE_ANA | 0x0F)
 
#define CXD56_AUDIO_ECODE_ANA_NOTIFY_MICBOOT   (CXD56_AUDIO_ECODE_ANA | 0x10)
 
#define CXD56_AUDIO_ECODE_REG_AC   (CXD56_AUDIO_ECODE_REG | 0x100)
 
#define CXD56_AUDIO_ECODE_REG_BCA   (CXD56_AUDIO_ECODE_REG | 0x200)
 
#define CXD56_AUDIO_ECODE_REG_AC_REVID   (CXD56_AUDIO_ECODE_REG_AC | 0x01)
 
#define CXD56_AUDIO_ECODE_REG_AC_DEVID   (CXD56_AUDIO_ECODE_REG_AC | 0x02)
 
#define CXD56_AUDIO_ECODE_REG_AC_MICMODE   (CXD56_AUDIO_ECODE_REG_AC | 0x03)
 
#define CXD56_AUDIO_ECODE_REG_AC_ALCTGT   (CXD56_AUDIO_ECODE_REG_AC | 0x04)
 
#define CXD56_AUDIO_ECODE_REG_AC_ALCKNEE   (CXD56_AUDIO_ECODE_REG_AC | 0x05)
 
#define CXD56_AUDIO_ECODE_REG_AC_SPCLIMT   (CXD56_AUDIO_ECODE_REG_AC | 0x06)
 
#define CXD56_AUDIO_ECODE_REG_AC_CLKMODE   (CXD56_AUDIO_ECODE_REG_AC | 0x07)
 
#define CXD56_AUDIO_ECODE_REG_AC_SEL_INV   (CXD56_AUDIO_ECODE_REG_AC | 0x08)
 
#define CXD56_AUDIO_ECODE_REG_AC_CSTE_VOL   (CXD56_AUDIO_ECODE_REG_AC | 0x09)
 
#define CXD56_AUDIO_ECODE_CFG_CLK_MODE   (CXD56_AUDIO_ECODE_CFG | 0x01)
 
#define EXTERN   extern "C"
 

Typedefs

typedef enum cxd56_audio_state_e cxd56_audio_state_t
 
typedef enum cxd56_audio_i2s_src_byp_e cxd56_audio_i2s_src_byp_t
 
typedef enum cxd56_audio_volid_e cxd56_audio_volid_t
 
typedef enum cxd56_audio_dnc_id_e cxd56_audio_dnc_id_t
 
typedef enum cxd56_audio_dma_path_e cxd56_audio_dma_path_t
 
typedef enum cxd56_audio_signal_e cxd56_audio_signal_t
 
typedef enum cxd56_audio_dma_e cxd56_audio_dma_t
 
typedef enum cxd56_audio_outdev_e cxd56_audio_outdev_t
 
typedef enum cxd56_audio_clkmode_e cxd56_audio_clkmode_t
 
typedef enum cxd56_audio_dmafmt_e cxd56_audio_dmafmt_t
 
typedef enum cxd56_audio_samp_fmt_e cxd56_audio_samp_fmt_t
 
typedef enum cxd56_audio_dsr_rate_e cxd56_audio_dsr_rate_t
 
typedef enum cxd56_audio_dma_state_e cxd56_audio_dma_state_t
 
typedef enum cxd56_audio_micdev_e cxd56_audio_micdev_t
 
typedef enum cxd56_audio_sp_drv_e cxd56_audio_sp_drv_t
 
typedef struct cxd56_audio_i2s_param_s cxd56_audio_i2s_param_t
 
typedef struct cxd56_audio_mic_gain_s cxd56_audio_mic_gain_t
 
typedef struct cxd56_audio_dnc_bin_s cxd56_audio_dnc_bin_t
 
typedef struct cxd56_audio_sel_s cxd56_audio_sel_t
 
typedef struct cxd56_audio_deq_coef_func_s cxd56_audio_deq_coef_func_t
 
typedef struct cxd56_audio_deq_coef_s cxd56_audio_deq_coef_t
 
typedef struct cxd56_audio_dma_mstate_s cxd56_audio_dma_mstate_t
 
typedef void(* cxd56_audio_dma_cb_t) (cxd56_audio_dma_t handle, uint32_t code)
 

Enumerations

enum  cxd56_audio_state_e { CXD56_AUDIO_POWER_STATE_OFF = 0 , CXD56_AUDIO_POWER_STATE_ON }
 
enum  cxd56_audio_i2s_src_byp_e { CXD56_AUDIO_I2S_BYP_DISABLE = 0 , CXD56_AUDIO_I2S_BYP_ENABLE }
 
enum  cxd56_audio_volid_e { CXD56_AUDIO_VOLID_MIXER_IN1 = 0 , CXD56_AUDIO_VOLID_MIXER_IN2 , CXD56_AUDIO_VOLID_MIXER_OUT }
 
enum  cxd56_audio_dnc_id_e { CXD56_AUDIO_DNC_ID_FB = 0 , CXD56_AUDIO_DNC_ID_FF }
 
enum  cxd56_audio_dma_path_e {
  CXD56_AUDIO_DMA_PATH_MIC_TO_MEM = 0 , CXD56_AUDIO_DMA_PATH_I2S0_TO_MEM , CXD56_AUDIO_DMA_PATH_I2S1_TO_MEM , CXD56_AUDIO_DMA_PATH_MEM_TO_BUSIF1 ,
  CXD56_AUDIO_DMA_PATH_MEM_TO_BUSIF2
}
 
enum  cxd56_audio_signal_e {
  CXD56_AUDIO_SIG_MIC1 , CXD56_AUDIO_SIG_MIC2 , CXD56_AUDIO_SIG_MIC3 , CXD56_AUDIO_SIG_MIC4 ,
  CXD56_AUDIO_SIG_I2S0 , CXD56_AUDIO_SIG_I2S1 , CXD56_AUDIO_SIG_BUSIF1 , CXD56_AUDIO_SIG_BUSIF2 ,
  CXD56_AUDIO_SIG_MIX
}
 
enum  cxd56_audio_dma_e {
  CXD56_AUDIO_DMAC_MIC = 0 , CXD56_AUDIO_DMAC_I2S0_UP , CXD56_AUDIO_DMAC_I2S0_DOWN , CXD56_AUDIO_DMAC_I2S1_UP ,
  CXD56_AUDIO_DMAC_I2S1_DOWN
}
 
enum  cxd56_audio_outdev_e { CXD56_AUDIO_OUTDEV_OFF = 0 , CXD56_AUDIO_OUTDEV_SP , CXD56_AUDIO_OUTDEV_I2S }
 
enum  cxd56_audio_clkmode_e { CXD56_AUDIO_CLKMODE_NORMAL = 0 , CXD56_AUDIO_CLKMODE_HIRES }
 
enum  cxd56_audio_dmafmt_e { CXD56_AUDIO_DMA_FMT_LR = 0 , CXD56_AUDIO_DMA_FMT_RL }
 
enum  cxd56_audio_samp_fmt_e { CXD56_AUDIO_SAMP_FMT_24 = 0 , CXD56_AUDIO_SAMP_FMT_16 }
 
enum  cxd56_audio_dsr_rate_e {
  CXD56_AUDIO_DSR_1STEP = 0x0 , CXD56_AUDIO_DSR_2STEP , CXD56_AUDIO_DSR_4STEP , CXD56_AUDIO_DSR_6STEP ,
  CXD56_AUDIO_DSR_8STEP , CXD56_AUDIO_DSR_11STEP , CXD56_AUDIO_DSR_12STEP , CXD56_AUDIO_DSR_16STEP
}
 
enum  cxd56_audio_dma_state_e { CXD56_AUDIO_DMA_STATE_REDY = 0x0 , CXD56_AUDIO_DMA_STATE_RUN }
 
enum  cxd56_audio_micdev_e { CXD56_AUDIO_MIC_DEV_NONE = 0 , CXD56_AUDIO_MIC_DEV_ANALOG , CXD56_AUDIO_MIC_DEV_DIGITAL , CXD56_AUDIO_MIC_DEV_ANADIG }
 
enum  cxd56_audio_sp_drv_e { CXD56_AUDIO_SP_DRV_LINEOUT = 0 , CXD56_AUDIO_SP_DRV_1DRIVER , CXD56_AUDIO_SP_DRV_2DRIVER , CXD56_AUDIO_SP_DRV_4DRIVER }
 

Functions

int cxd56_audsystem_initialize (FAR cxd56_audio_lower_t *low)
 
struct audio_lowerhalf_s * cxd56_aud_miclower (void)
 
struct audio_lowerhalf_s * cxd56_aud_spk0out (void)
 
struct audio_lowerhalf_s * cxd56_aud_spk1out (void)
 
struct audio_lowerhalf_s * cxd56_aud_i2sin (void)
 
CXD56_AUDIO_ECODE cxd56_audio_poweron (void)
 Power on Audio driver. More...
 
CXD56_AUDIO_ECODE cxd56_audio_poweroff (void)
 Power off BaseBand driver. More...
 
CXD56_AUDIO_ECODE cxd56_audio_en_cstereo (bool sign_inv, int16_t vol)
 Enable clear stereo. More...
 
CXD56_AUDIO_ECODE cxd56_audio_dis_cstereo (void)
 Disable clear stereo. More...
 
CXD56_AUDIO_ECODE cxd56_audio_poweron_dnc (void)
 Power on DNC. More...
 
CXD56_AUDIO_ECODE cxd56_audio_poweroff_dnc (void)
 Power off DNC. More...
 
CXD56_AUDIO_ECODE cxd56_audio_en_dnc (cxd56_audio_dnc_id_t id, cxd56_audio_dnc_bin_t *bin)
 Enable DNC. More...
 
CXD56_AUDIO_ECODE cxd56_audio_dis_dnc (cxd56_audio_dnc_id_t id)
 Disable DNC. More...
 
CXD56_AUDIO_ECODE cxd56_audio_en_deq (cxd56_audio_deq_coef_t *coef)
 Disable DEQ. More...
 
CXD56_AUDIO_ECODE cxd56_audio_dis_deq (void)
 Disable DEQ. More...
 
CXD56_AUDIO_ECODE cxd56_audio_en_input (void)
 Enable BaseBand driver input. More...
 
CXD56_AUDIO_ECODE cxd56_audio_en_output (void)
 Enable BaseBand driver output. More...
 
CXD56_AUDIO_ECODE cxd56_audio_dis_input (void)
 Disable BaseBand driver input. More...
 
CXD56_AUDIO_ECODE cxd56_audio_dis_output (void)
 Disable BaseBand driver output. More...
 
CXD56_AUDIO_ECODE cxd56_audio_set_spout (bool sp_out_en)
 Set speaker output status. More...
 
CXD56_AUDIO_ECODE cxd56_audio_set_vol (cxd56_audio_volid_t id, int16_t vol)
 Set volume. More...
 
CXD56_AUDIO_ECODE cxd56_audio_mute_vol (cxd56_audio_volid_t id)
 Mute volume. More...
 
CXD56_AUDIO_ECODE cxd56_audio_unmute_vol (cxd56_audio_volid_t id)
 Unmute volume. More...
 
CXD56_AUDIO_ECODE cxd56_audio_mute_vol_fade (cxd56_audio_volid_t id, bool wait)
 mute volume with fade-out More...
 
CXD56_AUDIO_ECODE cxd56_audio_unmute_vol_fade (cxd56_audio_volid_t id, bool wait)
 unmute volume with fade-in More...
 
CXD56_AUDIO_ECODE cxd56_audio_set_beep_freq (uint16_t freq)
 Set beep frequency parameter. More...
 
CXD56_AUDIO_ECODE cxd56_audio_set_beep_vol (int16_t vol)
 Set beep volume parameter. More...
 
CXD56_AUDIO_ECODE cxd56_audio_play_beep (void)
 Play beep. More...
 
CXD56_AUDIO_ECODE cxd56_audio_stop_beep (void)
 Stop beep. More...
 
CXD56_AUDIO_ECODE cxd56_audio_set_micgain (cxd56_audio_mic_gain_t *gain)
 Set MIC gain. More...
 
CXD56_AUDIO_ECODE cxd56_audio_set_deq (bool en, cxd56_audio_deq_coef_t *deq)
 Set DEQ table. More...
 
CXD56_AUDIO_ECODE cxd56_audio_get_dmahandle (cxd56_audio_dma_path_t path, cxd56_audio_dma_t *handle)
 Get dma handle. More...
 
CXD56_AUDIO_ECODE cxd56_audio_free_dmahandle (cxd56_audio_dma_t handle)
 Free dma handle. More...
 
CXD56_AUDIO_ECODE cxd56_audio_set_datapath (cxd56_audio_signal_t sig, cxd56_audio_sel_t sel)
 Set internal data path. More...
 
CXD56_AUDIO_ECODE cxd56_audio_init_dma (cxd56_audio_dma_t handle, cxd56_audio_samp_fmt_t fmt, uint8_t *ch_num)
 Initialize dma transfer function. More...
 
CXD56_AUDIO_ECODE cxd56_audio_set_dmacb (cxd56_audio_dma_t handle, cxd56_audio_dma_cb_t cb)
 Initialize dma transfer function. More...
 
CXD56_AUDIO_ECODE cxd56_audio_en_dmaint (void)
 Enable dma interrupt. More...
 
CXD56_AUDIO_ECODE cxd56_audio_dis_dmaint (void)
 Disable dma interrupt. More...
 
CXD56_AUDIO_ECODE cxd56_audio_clear_dmaerrint (cxd56_audio_dma_t handle)
 Clear dma error interrupt state. More...
 
CXD56_AUDIO_ECODE cxd56_audio_mask_dmaerrint (cxd56_audio_dma_t handle)
 Mask dma error interrupt. More...
 
CXD56_AUDIO_ECODE cxd56_audio_unmask_dmaerrint (cxd56_audio_dma_t handle)
 Unmask dma error interrupt. More...
 
CXD56_AUDIO_ECODE cxd56_audio_start_dma (cxd56_audio_dma_t handle, uint32_t addr, uint32_t sample)
 Start dma transfer. More...
 
CXD56_AUDIO_ECODE cxd56_audio_stop_dma (cxd56_audio_dma_t handle)
 Stop dma transfer. More...
 
CXD56_AUDIO_ECODE cxd56_audio_set_clkmode (cxd56_audio_clkmode_t mode)
 Set audio clock mode. More...
 
cxd56_audio_clkmode_t cxd56_audio_get_clkmode (void)
 Get audio clock mode. More...
 
cxd56_audio_dmafmt_t cxd56_audio_get_dmafmt (void)
 Get data format type of dma. More...
 
cxd56_audio_micdev_t cxd56_audio_get_micdev (void)
 Get mic device type. More...
 
CXD56_AUDIO_ECODE cxd56_audio_en_digsft (cxd56_audio_dsr_rate_t rate)
 Enable digital soft ramp rate control. More...
 
CXD56_AUDIO_ECODE cxd56_audio_dis_digsft (void)
 Disable digital soft ramp rate control. More...
 
CXD56_AUDIO_ECODE cxd56_audio_en_i2s_io (void)
 Enable I2S I/O. More...
 
CXD56_AUDIO_ECODE cxd56_audio_dis_i2s_io (void)
 Disable I2S I/O. More...
 
cxd56_audio_state_t cxd56_audio_get_status (void)
 Get audio driver status. More...
 
CXD56_AUDIO_ECODE cxd56_audio_set_spdriver (cxd56_audio_sp_drv_t sp_driver)
 Set audio speaker driver mode. More...
 
cxd56_audio_sp_drv_t cxd56_audio_get_spdriver (void)
 Get audio speaker driver mode. More...
 
CXD56_AUDIO_ECODE cxd56_audio_set_micmap (uint32_t map)
 Set Mic mapping. More...
 
uint32_t cxd56_audio_get_micmap (void)
 Get Mic mapping. More...
 
bool board_audio_tone_generator (bool en, int16_t vol, uint16_t freq)
 

Detailed Description

Macro Definition Documentation

◆ CXD56AUD_SET_SYSVOLUME

#define CXD56AUD_SET_SYSVOLUME   (0x01)

NuttX based Audio Driver Vendor Specific ioctl commands

◆ CXD56_AUDIO_MIC_CH_MAX

#define CXD56_AUDIO_MIC_CH_MAX   8

Mic channel max.

◆ CXD56_AUDIO_DNC_FW_SIZE

#define CXD56_AUDIO_DNC_FW_SIZE   512

DNC binary size.

◆ CXD56_AUDIO_DEQ_BAND_NUM

#define CXD56_AUDIO_DEQ_BAND_NUM   6

DEQ band number.

◆ CXD56_AUDIO_ECODE

#define CXD56_AUDIO_ECODE   uint16_t

cxd56_audio common return code.

Typedef Documentation

◆ cxd56_audio_dma_cb_t

typedef void(* cxd56_audio_dma_cb_t) (cxd56_audio_dma_t handle, uint32_t code)

DMAC transfer callback function

Enumeration Type Documentation

◆ cxd56_audio_i2s_src_byp_e

Enumerator
CXD56_AUDIO_I2S_BYP_DISABLE 

SRC bypass disable

CXD56_AUDIO_I2S_BYP_ENABLE 

SRC bpass enable

◆ cxd56_audio_volid_e

Enumerator
CXD56_AUDIO_VOLID_MIXER_IN1 

SDIN1_VOL

CXD56_AUDIO_VOLID_MIXER_IN2 

SDIN2_VOL

CXD56_AUDIO_VOLID_MIXER_OUT 

DAC_VOL

◆ cxd56_audio_dnc_id_e

Select DNC type

Enumerator
CXD56_AUDIO_DNC_ID_FB 

Feed Back DNC

CXD56_AUDIO_DNC_ID_FF 

Feed Forward DNC

◆ cxd56_audio_dma_path_e

Select dma path in

Enumerator
CXD56_AUDIO_DMA_PATH_MIC_TO_MEM 

Mic to memory

CXD56_AUDIO_DMA_PATH_I2S0_TO_MEM 

I2S0 to memory

CXD56_AUDIO_DMA_PATH_I2S1_TO_MEM 

I2S1 to memory

CXD56_AUDIO_DMA_PATH_MEM_TO_BUSIF1 

Memory to BUS I/F1

CXD56_AUDIO_DMA_PATH_MEM_TO_BUSIF2 

Memory to BUS I/F2

◆ cxd56_audio_signal_e

Internal signal type

Enumerator
CXD56_AUDIO_SIG_MIC1 

MIC1 signal

CXD56_AUDIO_SIG_MIC2 

MIC2 signal

CXD56_AUDIO_SIG_MIC3 

MIC3 signal

CXD56_AUDIO_SIG_MIC4 

MIC4 signal

CXD56_AUDIO_SIG_I2S0 

I2S0 signal

CXD56_AUDIO_SIG_I2S1 

I2S1 signal

CXD56_AUDIO_SIG_BUSIF1 

BUS I/F1 signal

CXD56_AUDIO_SIG_BUSIF2 

BUS I/F2 signal

CXD56_AUDIO_SIG_MIX 

MIX signal

◆ cxd56_audio_dma_e

DMAC ID to get in AS_SetAudioDataPath function

Enumerator
CXD56_AUDIO_DMAC_MIC 

AudioCodec input

CXD56_AUDIO_DMAC_I2S0_UP 

I2S1 Input

CXD56_AUDIO_DMAC_I2S0_DOWN 

I2S1 Output

CXD56_AUDIO_DMAC_I2S1_UP 

I2S2 Input

CXD56_AUDIO_DMAC_I2S1_DOWN 

I2S2 Output

◆ cxd56_audio_outdev_e

Select output device ID

Function Documentation

◆ cxd56_audsystem_initialize()

int cxd56_audsystem_initialize ( FAR cxd56_audio_lower_t low)

NuttX based Audio Driver Initialzation functions

◆ cxd56_audio_poweron()

CXD56_AUDIO_ECODE cxd56_audio_poweron ( void  )

Power on Audio driver.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_poweroff()

CXD56_AUDIO_ECODE cxd56_audio_poweroff ( void  )

Power off BaseBand driver.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_en_cstereo()

CXD56_AUDIO_ECODE cxd56_audio_en_cstereo ( bool  sign_inv,
int16_t  vol 
)

Enable clear stereo.

Parameters
[in]sign_invSign inversion(false: positive, true:negative)
[in]volvolume, -825:-82.5dB, ... -195:-19.5dB, step:5
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_dis_cstereo()

CXD56_AUDIO_ECODE cxd56_audio_dis_cstereo ( void  )

Disable clear stereo.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_poweron_dnc()

CXD56_AUDIO_ECODE cxd56_audio_poweron_dnc ( void  )

Power on DNC.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_poweroff_dnc()

CXD56_AUDIO_ECODE cxd56_audio_poweroff_dnc ( void  )

Power off DNC.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_en_dnc()

CXD56_AUDIO_ECODE cxd56_audio_en_dnc ( cxd56_audio_dnc_id_t  id,
cxd56_audio_dnc_bin_t bin 
)

Enable DNC.

Parameters
[in]idtarget DNC device
[in]binfirmware and configurator
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_dis_dnc()

CXD56_AUDIO_ECODE cxd56_audio_dis_dnc ( cxd56_audio_dnc_id_t  id)

Disable DNC.

Parameters
[in]idtarget DNC device
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_en_deq()

CXD56_AUDIO_ECODE cxd56_audio_en_deq ( cxd56_audio_deq_coef_t coef)

Disable DEQ.

Parameters
[in]coefcoef data
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_dis_deq()

CXD56_AUDIO_ECODE cxd56_audio_dis_deq ( void  )

Disable DEQ.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_en_input()

CXD56_AUDIO_ECODE cxd56_audio_en_input ( void  )

Enable BaseBand driver input.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_en_output()

CXD56_AUDIO_ECODE cxd56_audio_en_output ( void  )

Enable BaseBand driver output.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_dis_input()

CXD56_AUDIO_ECODE cxd56_audio_dis_input ( void  )

Disable BaseBand driver input.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_dis_output()

CXD56_AUDIO_ECODE cxd56_audio_dis_output ( void  )

Disable BaseBand driver output.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_set_spout()

CXD56_AUDIO_ECODE cxd56_audio_set_spout ( bool  sp_out_en)

Set speaker output status.

Parameters
[in]sp_out_enWhether speaker output is done or not
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_set_vol()

CXD56_AUDIO_ECODE cxd56_audio_set_vol ( cxd56_audio_volid_t  id,
int16_t  vol 
)

Set volume.

Parameters
[in]idtarget volume device id
[in]volvolume[-1020:-102.0dB, ... 120:12.0dB]
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_mute_vol()

CXD56_AUDIO_ECODE cxd56_audio_mute_vol ( cxd56_audio_volid_t  id)

Mute volume.

Parameters
[in]idtarget volume device id
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_unmute_vol()

CXD56_AUDIO_ECODE cxd56_audio_unmute_vol ( cxd56_audio_volid_t  id)

Unmute volume.

Parameters
[in]idtarget volume device id
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_mute_vol_fade()

CXD56_AUDIO_ECODE cxd56_audio_mute_vol_fade ( cxd56_audio_volid_t  id,
bool  wait 
)

mute volume with fade-out

Parameters
[in]idtarget volume device id
[in]waitwait fade-out end
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_unmute_vol_fade()

CXD56_AUDIO_ECODE cxd56_audio_unmute_vol_fade ( cxd56_audio_volid_t  id,
bool  wait 
)

unmute volume with fade-in

Parameters
[in]idtarget volume device id
[in]waitwait fade-in end
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_set_beep_freq()

CXD56_AUDIO_ECODE cxd56_audio_set_beep_freq ( uint16_t  freq)

Set beep frequency parameter.

Parameters
[in]freqbeep frequency, 94:94Hz, ... 4085:4085Hz, step:1
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_set_beep_vol()

CXD56_AUDIO_ECODE cxd56_audio_set_beep_vol ( int16_t  vol)

Set beep volume parameter.

Parameters
[in]volbeep volume, -90:-90dB, ... 0:0dB, step:3, default:-12,
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_play_beep()

CXD56_AUDIO_ECODE cxd56_audio_play_beep ( void  )

Play beep.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_stop_beep()

CXD56_AUDIO_ECODE cxd56_audio_stop_beep ( void  )

Stop beep.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_set_micgain()

CXD56_AUDIO_ECODE cxd56_audio_set_micgain ( cxd56_audio_mic_gain_t gain)

Set MIC gain.

Parameters
[in]gainMIC gain[Analog:0~210[dB*10], Digital:-7850~0[dB*100]]
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_set_deq()

CXD56_AUDIO_ECODE cxd56_audio_set_deq ( bool  en,
cxd56_audio_deq_coef_t deq 
)

Set DEQ table.

Parameters
[in]enDEQ enable or disable
[in]deqcoef table
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_get_dmahandle()

CXD56_AUDIO_ECODE cxd56_audio_get_dmahandle ( cxd56_audio_dma_path_t  path,
cxd56_audio_dma_t *  handle 
)

Get dma handle.

Parameters
[in]pathdma path type
[out]handledma handle
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_free_dmahandle()

CXD56_AUDIO_ECODE cxd56_audio_free_dmahandle ( cxd56_audio_dma_t  handle)

Free dma handle.

Parameters
[in]handleDma handle
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_set_datapath()

CXD56_AUDIO_ECODE cxd56_audio_set_datapath ( cxd56_audio_signal_t  sig,
cxd56_audio_sel_t  sel 
)

Set internal data path.

Parameters
[in]sigInternal singal type
[in]selInternal selector type
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_init_dma()

CXD56_AUDIO_ECODE cxd56_audio_init_dma ( cxd56_audio_dma_t  handle,
cxd56_audio_samp_fmt_t  fmt,
uint8_t *  ch_num 
)

Initialize dma transfer function.

Parameters
[in]handleDma handle
[in]fmtsampling data format 24bits or 16bits
[out]ch_numChannel data numbers in DMA data
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_set_dmacb()

CXD56_AUDIO_ECODE cxd56_audio_set_dmacb ( cxd56_audio_dma_t  handle,
cxd56_audio_dma_cb_t  cb 
)

Initialize dma transfer function.

Parameters
[in]handleDma handle
[in]cbCall back function for notify dma state
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_en_dmaint()

CXD56_AUDIO_ECODE cxd56_audio_en_dmaint ( void  )

Enable dma interrupt.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_dis_dmaint()

CXD56_AUDIO_ECODE cxd56_audio_dis_dmaint ( void  )

Disable dma interrupt.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_clear_dmaerrint()

CXD56_AUDIO_ECODE cxd56_audio_clear_dmaerrint ( cxd56_audio_dma_t  handle)

Clear dma error interrupt state.

Parameters
[in]handleDma handle
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_mask_dmaerrint()

CXD56_AUDIO_ECODE cxd56_audio_mask_dmaerrint ( cxd56_audio_dma_t  handle)

Mask dma error interrupt.

Parameters
[in]handleDma handle
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_unmask_dmaerrint()

CXD56_AUDIO_ECODE cxd56_audio_unmask_dmaerrint ( cxd56_audio_dma_t  handle)

Unmask dma error interrupt.

Parameters
[in]handleDma handle
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_start_dma()

CXD56_AUDIO_ECODE cxd56_audio_start_dma ( cxd56_audio_dma_t  handle,
uint32_t  addr,
uint32_t  sample 
)

Start dma transfer.

Parameters
[in]handleDma handle
[in]addrdata address
[in]samplenumber of samples
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_stop_dma()

CXD56_AUDIO_ECODE cxd56_audio_stop_dma ( cxd56_audio_dma_t  handle)

Stop dma transfer.

Parameters
[in]handleDma handle
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_set_clkmode()

CXD56_AUDIO_ECODE cxd56_audio_set_clkmode ( cxd56_audio_clkmode_t  mode)

Set audio clock mode.

Parameters
[in]modeclock mode
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_get_clkmode()

cxd56_audio_clkmode_t cxd56_audio_get_clkmode ( void  )

Get audio clock mode.

Return values
cxd56_audio_clkmode_tclock mode

◆ cxd56_audio_get_dmafmt()

cxd56_audio_dmafmt_t cxd56_audio_get_dmafmt ( void  )

Get data format type of dma.

Return values
cxd56_audio_dmafmt_tclock mode

◆ cxd56_audio_get_micdev()

cxd56_audio_micdev_t cxd56_audio_get_micdev ( void  )

Get mic device type.

Return values
cxd56_audio_micdev_tmic device type

◆ cxd56_audio_en_digsft()

CXD56_AUDIO_ECODE cxd56_audio_en_digsft ( cxd56_audio_dsr_rate_t  rate)

Enable digital soft ramp rate control.

Parameters
[in]rateRamp rate
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_dis_digsft()

CXD56_AUDIO_ECODE cxd56_audio_dis_digsft ( void  )

Disable digital soft ramp rate control.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_en_i2s_io()

CXD56_AUDIO_ECODE cxd56_audio_en_i2s_io ( void  )

Enable I2S I/O.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_dis_i2s_io()

CXD56_AUDIO_ECODE cxd56_audio_dis_i2s_io ( void  )

Disable I2S I/O.

Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_get_status()

cxd56_audio_state_t cxd56_audio_get_status ( void  )

Get audio driver status.

Return values
cxd56_audio_state_tvalue : current status

◆ cxd56_audio_set_spdriver()

CXD56_AUDIO_ECODE cxd56_audio_set_spdriver ( cxd56_audio_sp_drv_t  sp_driver)

Set audio speaker driver mode.

Parameters
[in]sp_driverspeaker driver mode
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_get_spdriver()

cxd56_audio_sp_drv_t cxd56_audio_get_spdriver ( void  )

Get audio speaker driver mode.

Return values
cxd56_audio_sp_drv_tspeaker driver mode

◆ cxd56_audio_set_micmap()

CXD56_AUDIO_ECODE cxd56_audio_set_micmap ( uint32_t  map)

Set Mic mapping.

Parameters
[in]mapmic mapping
Return values
CXD56_AUDIO_ECODEreturn code

◆ cxd56_audio_get_micmap()

uint32_t cxd56_audio_get_micmap ( void  )

Get Mic mapping.

Return values
micmapping