![]()  | 
  
    MCUXpresso SDK API Reference Manual
    Rev 2.16.000
    
   NXP Semiconductors 
   | 
 
Data Structures | |
| struct | _da7212_pll_config | 
| da7212 pll configuration  More... | |
| struct | _da7212_audio_format | 
| da7212 audio format  More... | |
| struct | da7212_config | 
| DA7212 configure structure.  More... | |
| struct | _da7212_handle | 
| da7212 codec handler  More... | |
Macros | |
| #define | DA7212_I2C_HANDLER_SIZE CODEC_I2C_MASTER_HANDLER_SIZE | 
| da7212 handle size  | |
| #define | DA7212_ADDRESS (0x1A) | 
| DA7212 I2C address.  | |
| #define | DA7212_HEADPHONE_MAX_VOLUME_VALUE 0x3FU | 
| da7212 volume setting range  | |
Typedefs | |
| typedef enum _da7212_Input | da7212_Input_t | 
| DA7212 input source select.  | |
| typedef enum _da7212_Output | da7212_Output_t | 
| DA7212 output device select.  | |
| typedef enum _da7212_dac_source | da7212_dac_source_t | 
| DA7212 functionality.  | |
| typedef enum _da7212_volume | da7212_volume_t | 
| DA7212 volume.  | |
| typedef enum _da7212_protocol | da7212_protocol_t | 
| The audio data transfer protocol choice.  | |
| typedef enum _da7212_sys_clk_source | da7212_sys_clk_source_t | 
| da7212 system clock source  | |
| typedef enum _da7212_pll_clk_source | da7212_pll_clk_source_t | 
| DA7212 pll clock source.  | |
| typedef enum _da7212_pll_out_clk | da7212_pll_out_clk_t | 
| DA7212 output clock frequency.  | |
| typedef enum _da7212_master_bits | da7212_master_bits_t | 
| master mode bits per frame  | |
| typedef struct _da7212_pll_config | da7212_pll_config_t | 
| da7212 pll configuration  | |
| typedef struct _da7212_audio_format | da7212_audio_format_t | 
| da7212 audio format  | |
| typedef struct da7212_config | da7212_config_t | 
| DA7212 configure structure.  | |
| typedef struct _da7212_handle | da7212_handle_t | 
| da7212 codec handler  | |
Functions | |
| 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... | |
Driver version | |
| #define | FSL_DA7212_DRIVER_VERSION (MAKE_VERSION(2, 3, 1)) | 
| CLOCK driver version 2.3.0.  More... | |
| struct _da7212_pll_config | 
Data Fields | |
| da7212_pll_clk_source_t | source | 
| pll reference clock source  | |
| uint32_t | refClock_HZ | 
| pll reference clock frequency  | |
| da7212_pll_out_clk_t | outputClock_HZ | 
| pll output clock frequency  | |
| struct _da7212_audio_format | 
Data Fields | |
| uint32_t | mclk_HZ | 
| master clock frequency  | |
| uint32_t | sampleRate | 
| sample rate  | |
| uint32_t | bitWidth | 
| bit width  | |
| bool | isBclkInvert | 
| bit clock intervet  | |
| struct da7212_config | 
Data Fields | |
| bool | isMaster | 
| If DA7212 is master, true means master, false means slave.  More... | |
| da7212_protocol_t | protocol | 
| Audio bus format, can be I2S, LJ, RJ or DSP mode.  More... | |
| da7212_dac_source_t | dacSource | 
| DA7212 data source.  More... | |
| da7212_audio_format_t | format | 
| audio format  | |
| uint8_t | slaveAddress | 
| device address  | |
| codec_i2c_config_t | i2cConfig | 
| i2c configuration  | |
| da7212_sys_clk_source_t | sysClkSource | 
| system clock source  | |
| da7212_pll_config_t * | pll | 
| pll configuration  | |
| da7212_Input_t | inputSource | 
| AD212 input source.  | |
| bool da7212_config::isMaster | 
| da7212_protocol_t da7212_config::protocol | 
| da7212_dac_source_t da7212_config::dacSource | 
| struct _da7212_handle | 
Data Fields | |
| da7212_config_t * | config | 
| da7212 config pointer  | |
| uint8_t | i2cHandle [DA7212_I2C_HANDLER_SIZE] | 
| i2c handle  | |
| #define FSL_DA7212_DRIVER_VERSION (MAKE_VERSION(2, 3, 1)) | 
| enum _da7212_Input | 
| enum _da7212_play_channel | 
| enum _da7212_Output | 
| enum _da7212_module | 
| enum _da7212_dac_source | 
| enum _da7212_volume | 
| enum _da7212_protocol | 
| enum _da7212_pll_out_clk | 
| enum _da7212_master_bits | 
| status_t DA7212_Init | ( | da7212_handle_t * | handle, | 
| da7212_config_t * | codecConfig | ||
| ) | 
| handle | DA7212 handle pointer. | 
| codecConfig | Codec configure structure. This parameter can be NULL, if NULL, set as default settings. The default setting:  * sgtl_init_t codec_config 
* codec_config.route = kDA7212_RoutePlayback 
* codec_config.bus = kDA7212_BusI2S 
* codec_config.isMaster = false 
*  
 | 
| status_t DA7212_ConfigAudioFormat | ( | da7212_handle_t * | handle, | 
| uint32_t | masterClock_Hz, | ||
| uint32_t | sampleRate_Hz, | ||
| uint32_t | dataBits | ||
| ) | 
| handle | DA7212 handle pointer. | 
| masterClock_Hz | Master clock frequency in Hz. If DA7212 is slave, use the frequency of master, if DA7212 as master, it should be 1228000 while sample rate frequency is 8k/12K/16K/24K/32K/48K/96K, 11289600 whie sample rate is 11.025K/22.05K/44.1K | 
| sampleRate_Hz | Sample rate frequency in Hz. | 
| dataBits | How many bits in a word of a audio frame, DA7212 only supports 16/20/24/32 bits. | 
| status_t DA7212_SetPLLConfig | ( | da7212_handle_t * | handle, | 
| da7212_pll_config_t * | config | ||
| ) | 
| handle | DA7212 handler pointer. | 
| config | PLL configuration pointer. | 
| void DA7212_ChangeHPVolume | ( | da7212_handle_t * | handle, | 
| da7212_volume_t | volume | ||
| ) | 
| handle | DA7212 handle pointer. | 
| volume | The volume of playback. | 
| void DA7212_Mute | ( | da7212_handle_t * | handle, | 
| bool | isMuted | ||
| ) | 
| handle | DA7212 handle pointer. | 
| isMuted | True means mute, false means unmute. | 
| void DA7212_ChangeInput | ( | da7212_handle_t * | handle, | 
| da7212_Input_t | DA7212_Input | ||
| ) | 
| handle | DA7212 handle pointer. | 
| DA7212_Input | Input data source. | 
| void DA7212_ChangeOutput | ( | da7212_handle_t * | handle, | 
| da7212_Output_t | DA7212_Output | ||
| ) | 
| handle | DA7212 handle pointer. | 
| DA7212_Output | Output device of DA7212. | 
| status_t DA7212_SetChannelVolume | ( | da7212_handle_t * | handle, | 
| uint32_t | channel, | ||
| uint32_t | volume | ||
| ) | 
| handle | DA7212 handle pointer. | 
| channel | shoule be a value of _da7212_channel. | 
| volume | volume range 0 - 0x3F mapped to range -57dB - 6dB. | 
| status_t DA7212_SetChannelMute | ( | da7212_handle_t * | handle, | 
| uint32_t | channel, | ||
| bool | isMute | ||
| ) | 
| handle | DA7212 handle pointer. | 
| channel | shoule be a value of _da7212_channel. | 
| isMute | true is mute, false is unmute. | 
| status_t DA7212_SetProtocol | ( | da7212_handle_t * | handle, | 
| da7212_protocol_t | protocol | ||
| ) | 
| handle | DA7212 handle pointer. | 
| protocol | da7212_protocol_t. | 
| status_t DA7212_SetMasterModeBits | ( | da7212_handle_t * | handle, | 
| uint32_t | bitWidth | ||
| ) | 
| handle | DA7212 handle pointer. | 
| bitWidth | audio data bitwidth. | 
| status_t DA7212_WriteRegister | ( | da7212_handle_t * | handle, | 
| uint8_t | u8Register, | ||
| uint8_t | u8RegisterData | ||
| ) | 
| handle | DA7212 handle pointer. | 
| u8Register | DA7212 register address to be written. | 
| u8RegisterData | Data to be written into regsiter | 
| status_t DA7212_ReadRegister | ( | da7212_handle_t * | handle, | 
| uint8_t | u8Register, | ||
| uint8_t * | pu8RegisterData | ||
| ) | 
| handle | DA7212 handle pointer. | 
| u8Register | DA7212 register address to be read. | 
| pu8RegisterData | Pointer where the read out value to be stored. | 
| status_t DA7212_Deinit | ( | da7212_handle_t * | handle | ) | 
| handle | DA7212 handle pointer. |