The wm8904 driver provide codec control interface.
|
enum | _wm8904_status {
kStatus_WM8904_Success = 0x0,
kStatus_WM8904_Fail = 0x1
} |
| WM8904 status return codes. More...
|
|
enum | _wm8904_lrc_polarity {
kWM8904_LRCPolarityNormal = 0U,
kWM8904_LRCPolarityInverted = 1U << 4U
} |
| WM8904 lrc polarity. More...
|
|
enum | wm8904_module_t {
kWM8904_ModuleADC = 0,
kWM8904_ModuleDAC = 1,
kWM8904_ModulePGA = 2,
kWM8904_ModuleHeadphone = 3,
kWM8904_ModuleLineout = 4
} |
| wm8904 module value More...
|
|
enum | _wm8904_play_channel |
| wm8904 play channel
|
|
enum | wm8904_timeslot_t {
kWM8904_TimeSlot0 = 0U,
kWM8904_TimeSlot1 = 1U
} |
| WM8904 time slot. More...
|
|
enum | wm8904_protocol_t {
kWM8904_ProtocolI2S = 0x2,
kWM8904_ProtocolLeftJustified = 0x1,
kWM8904_ProtocolRightJustified = 0x0,
kWM8904_ProtocolPCMA = 0x3,
kWM8904_ProtocolPCMB = 0x3 | (1 << 4)
} |
| The audio data transfer protocol. More...
|
|
enum | wm8904_fs_ratio_t {
kWM8904_FsRatio64X = 0x0,
kWM8904_FsRatio128X = 0x1,
kWM8904_FsRatio192X = 0x2,
kWM8904_FsRatio256X = 0x3,
kWM8904_FsRatio384X = 0x4,
kWM8904_FsRatio512X = 0x5,
kWM8904_FsRatio768X = 0x6,
kWM8904_FsRatio1024X = 0x7,
kWM8904_FsRatio1408X = 0x8,
kWM8904_FsRatio1536X = 0x9
} |
| The SYSCLK / fs ratio. More...
|
|
enum | wm8904_sample_rate_t {
kWM8904_SampleRate8kHz = 0x0,
kWM8904_SampleRate12kHz = 0x1,
kWM8904_SampleRate16kHz = 0x2,
kWM8904_SampleRate24kHz = 0x3,
kWM8904_SampleRate32kHz = 0x4,
kWM8904_SampleRate48kHz = 0x5
} |
| Sample rate. More...
|
|
enum | wm8904_bit_width_t {
kWM8904_BitWidth16 = 0x0,
kWM8904_BitWidth20 = 0x1,
kWM8904_BitWidth24 = 0x2,
kWM8904_BitWidth32 = 0x3
} |
| Bit width. More...
|
|
enum | _wm8904_record_source {
kWM8904_RecordSourceDifferentialLine = 1U,
kWM8904_RecordSourceLineInput = 2U,
kWM8904_RecordSourceDifferentialMic = 4U,
kWM8904_RecordSourceDigitalMic = 8U
} |
| wm8904 record source More...
|
|
enum | _wm8904_record_channel {
kWM8904_RecordChannelLeft1 = 1U,
kWM8904_RecordChannelLeft2 = 2U,
kWM8904_RecordChannelLeft3 = 4U,
kWM8904_RecordChannelRight1 = 1U,
kWM8904_RecordChannelRight2 = 2U,
kWM8904_RecordChannelRight3 = 4U,
kWM8904_RecordChannelDifferentialPositive1 = 1U,
kWM8904_RecordChannelDifferentialPositive2 = 2U,
kWM8904_RecordChannelDifferentialPositive3 = 4U,
kWM8904_RecordChannelDifferentialNegative1 = 8U,
kWM8904_RecordChannelDifferentialNegative2 = 16U,
kWM8904_RecordChannelDifferentialNegative3 = 32U
} |
| wm8904 record channel More...
|
|
enum | _wm8904_play_source {
kWM8904_PlaySourcePGA = 1U,
kWM8904_PlaySourceDAC = 4U
} |
| wm8904 play source More...
|
|
enum | wm8904_sys_clk_source_t {
kWM8904_SysClkSourceMCLK = 0U,
kWM8904_SysClkSourceFLL = 1U << 14
} |
| wm8904 system clock source More...
|
|
enum | wm8904_fll_clk_source_t { kWM8904_FLLClkSourceMCLK = 0U
} |
| wm8904 fll clock source More...
|
|
|
status_t | WM8904_WriteRegister (wm8904_handle_t *handle, uint8_t reg, uint16_t value) |
| WM8904 write register. More...
|
|
status_t | WM8904_ReadRegister (wm8904_handle_t *handle, uint8_t reg, uint16_t *value) |
| WM8904 write register. More...
|
|
status_t | WM8904_ModifyRegister (wm8904_handle_t *handle, uint8_t reg, uint16_t mask, uint16_t value) |
| WM8904 modify register. More...
|
|
status_t | WM8904_Init (wm8904_handle_t *handle, wm8904_config_t *wm8904_config) |
| Initializes WM8904. More...
|
|
status_t | WM8904_Deinit (wm8904_handle_t *handle) |
| Deinitializes the WM8904 codec. More...
|
|
void | WM8904_GetDefaultConfig (wm8904_config_t *config) |
| Fills the configuration structure with default values. More...
|
|
status_t | WM8904_SetMasterSlave (wm8904_handle_t *handle, bool master) |
| Sets WM8904 as master or slave. More...
|
|
status_t | WM8904_SeMasterClock (wm8904_handle_t *handle, uint32_t sysclk, uint32_t sampleRate, uint32_t bitWidth) |
| Sets WM8904 master clock configuration. More...
|
|
status_t | WM8904_SetFLLConfig (wm8904_handle_t *handle, wm8904_fll_config_t *config) |
| WM8904 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...
|
|
status_t | WM8904_SetProtocol (wm8904_handle_t *handle, wm8904_protocol_t protocol) |
| Sets the audio data transfer protocol. More...
|
|
status_t | WM8904_SetAudioFormat (wm8904_handle_t *handle, uint32_t sysclk, uint32_t sampleRate, uint32_t bitWidth) |
| Sets the audio data format. More...
|
|
status_t | WM8904_CheckAudioFormat (wm8904_handle_t *handle, wm8904_audio_format_t *format, uint32_t mclkFreq) |
| check and update the audio data format. More...
|
|
status_t | WM8904_SetVolume (wm8904_handle_t *handle, uint16_t volumeLeft, uint16_t volumeRight) |
| Sets the module output volume. More...
|
|
status_t | WM8904_SetMute (wm8904_handle_t *handle, bool muteLeft, bool muteRight) |
| Sets the headphone output mute. More...
|
|
status_t | WM8904_SelectLRCPolarity (wm8904_handle_t *handle, uint32_t polarity) |
| Select LRC polarity. More...
|
|
status_t | WM8904_EnableDACTDMMode (wm8904_handle_t *handle, wm8904_timeslot_t timeSlot) |
| Enable WM8904 DAC time slot. More...
|
|
status_t | WM8904_EnableADCTDMMode (wm8904_handle_t *handle, wm8904_timeslot_t timeSlot) |
| Enable WM8904 ADC time slot. More...
|
|
status_t | WM8904_SetModulePower (wm8904_handle_t *handle, wm8904_module_t module, bool isEnabled) |
| brief SET the module output power. More...
|
|
status_t | WM8904_SetChannelVolume (wm8904_handle_t *handle, uint32_t channel, uint32_t volume) |
| Sets the channel output volume. More...
|
|
status_t | WM8904_SetRecord (wm8904_handle_t *handle, uint32_t recordSource) |
| SET the WM8904 record source. More...
|
|
status_t | WM8904_SetRecordChannel (wm8904_handle_t *handle, uint32_t leftRecordChannel, uint32_t rightRecordChannel) |
| SET the WM8904 record source. More...
|
|
status_t | WM8904_SetPlay (wm8904_handle_t *handle, uint32_t playSource) |
| SET the WM8904 play source. More...
|
|
status_t | WM8904_SetChannelMute (wm8904_handle_t *handle, uint32_t channel, bool isMute) |
| Sets the channel mute. More...
|
|