The da7212 driver provides a codec control interface. 
 | 
| enum   | da7212_Input_t {  
  kDA7212_Input_AUX = 0x0, 
 
  kDA7212_Input_MIC1_Dig, 
 
  kDA7212_Input_MIC1_An, 
 
  kDA7212_Input_MIC2
 
 } | 
|   | DA7212 input source select.  More...
  | 
|   | 
| enum   | _da7212_play_channel {  
  kDA7212_HeadphoneLeft = 1U, 
 
  kDA7212_HeadphoneRight = 2U, 
 
  kDA7212_Speaker = 4U
 
 } | 
|   | da7212 play channel  More...
  | 
|   | 
| enum   | da7212_Output_t {  
  kDA7212_Output_HP = 0x0, 
 
  kDA7212_Output_SP
 
 } | 
|   | DA7212 output device select.  More...
  | 
|   | 
| enum   | _da7212_module {  
  kDA7212_ModuleADC, 
 
  kDA7212_ModuleDAC, 
 
  kDA7212_ModuleHeadphone, 
 
  kDA7212_ModuleSpeaker
 
 } | 
|   | DA7212 module.  More...
  | 
|   | 
| enum   | da7212_dac_source_t {  
  kDA7212_DACSourceADC = 0x0U, 
 
  kDA7212_DACSourceInputStream = 0x3U
 
 } | 
|   | DA7212 functionality.  More...
  | 
|   | 
| enum   | da7212_volume_t {  
  kDA7212_DACGainMute = 0x7, 
 
  kDA7212_DACGainM72DB = 0x17, 
 
  kDA7212_DACGainM60DB = 0x1F, 
 
  kDA7212_DACGainM54DB = 0x27, 
 
  kDA7212_DACGainM48DB = 0x2F, 
 
  kDA7212_DACGainM42DB = 0x37, 
 
  kDA7212_DACGainM36DB = 0x3F, 
 
  kDA7212_DACGainM30DB = 0x47, 
 
  kDA7212_DACGainM24DB = 0x4F, 
 
  kDA7212_DACGainM18DB = 0x57, 
 
  kDA7212_DACGainM12DB = 0x5F, 
 
  kDA7212_DACGainM6DB = 0x67, 
 
  kDA7212_DACGain0DB = 0x6F, 
 
  kDA7212_DACGain6DB = 0x77, 
 
  kDA7212_DACGain12DB = 0x7F
 
 } | 
|   | DA7212 volume.  More...
  | 
|   | 
| enum   | da7212_protocol_t {  
  kDA7212_BusI2S = 0x0, 
 
  kDA7212_BusLeftJustified, 
 
  kDA7212_BusRightJustified, 
 
  kDA7212_BusDSPMode
 
 } | 
|   | The audio data transfer protocol choice.  More...
  | 
|   | 
| enum   | da7212_sys_clk_source_t {  
  kDA7212_SysClkSourceMCLK = 0U, 
 
  kDA7212_SysClkSourcePLL = 1U << 14
 
 } | 
|   | da7212 system clock source  More...
  | 
|   | 
| enum   | da7212_pll_clk_source_t { kDA7212_PLLClkSourceMCLK = 0U
 } | 
|   | DA7212 pll clock source.  More...
  | 
|   | 
| enum   | da7212_pll_out_clk_t {  
  kDA7212_PLLOutputClk11289600 = 11289600U, 
 
  kDA7212_PLLOutputClk12288000 = 12288000U
 
 } | 
|   | DA7212 output clock frequency.  More...
  | 
|   | 
| enum   | da7212_master_bits_t {  
  kDA7212_MasterBits32PerFrame = 0U, 
 
  kDA7212_MasterBits64PerFrame = 1U, 
 
  kDA7212_MasterBits128PerFrame = 2U, 
 
  kDA7212_MasterBits256PerFrame = 3U
 
 } | 
|   | master mode bits per frame  More...
  | 
|   | 
 | 
| status_t  | DA7212_Init (da7212_handle_t *handle, da7212_config_t *codecConfig) | 
|   | DA7212 initialize function.  More...
  | 
|   | 
| status_t  | DA7212_ConfigAudioFormat (da7212_handle_t *handle, uint32_t masterClock_Hz, uint32_t sampleRate_Hz, uint32_t dataBits) | 
|   | Set DA7212 audio format.  More...
  | 
|   | 
| status_t  | DA7212_SetPLLConfig (da7212_handle_t *handle, da7212_pll_config_t *config) | 
|   | DA7212 set PLL configuration This function will enable the GPIO1 FLL clock output function, so user can see the generated fll output clock frequency from WM8904 GPIO1.  More...
  | 
|   | 
| void  | DA7212_ChangeHPVolume (da7212_handle_t *handle, da7212_volume_t volume) | 
|   | Set DA7212 playback volume.  More...
  | 
|   | 
| void  | DA7212_Mute (da7212_handle_t *handle, bool isMuted) | 
|   | Mute or unmute DA7212.  More...
  | 
|   | 
| void  | DA7212_ChangeInput (da7212_handle_t *handle, da7212_Input_t DA7212_Input) | 
|   | Set the input data source of DA7212.  More...
  | 
|   | 
| void  | DA7212_ChangeOutput (da7212_handle_t *handle, da7212_Output_t DA7212_Output) | 
|   | Set the output device of DA7212.  More...
  | 
|   | 
| status_t  | DA7212_SetChannelVolume (da7212_handle_t *handle, uint32_t channel, uint32_t volume) | 
|   | Set module volume.  More...
  | 
|   | 
| status_t  | DA7212_SetChannelMute (da7212_handle_t *handle, uint32_t channel, bool isMute) | 
|   | Set module mute.  More...
  | 
|   | 
| status_t  | DA7212_SetProtocol (da7212_handle_t *handle, da7212_protocol_t protocol) | 
|   | Set protocol for DA7212.  More...
  | 
|   | 
| status_t  | DA7212_SetMasterModeBits (da7212_handle_t *handle, uint32_t bitWidth) | 
|   | Set master mode bits per frame for DA7212.  More...
  | 
|   | 
| status_t  | DA7212_WriteRegister (da7212_handle_t *handle, uint8_t u8Register, uint8_t u8RegisterData) | 
|   | Write a register for DA7212.  More...
  | 
|   | 
| status_t  | DA7212_ReadRegister (da7212_handle_t *handle, uint8_t u8Register, uint8_t *pu8RegisterData) | 
|   | Get a register value of DA7212.  More...
  | 
|   | 
| status_t  | DA7212_Deinit (da7212_handle_t *handle) | 
|   | Deinit DA7212.  More...
  | 
|   |