See Quick start guide for the SAM WM8731 module.
The module provides useful API of WM8731 audio codec through a TWI interface.
This driver depends on the following module:
Modules | |
Related Project(s) | |
In this section you can find all the projects related to the WM8731 Audio Codec. | |
Quick Start Guide(s) | |
In this section you can find a list of all Quick Start guides related to the WM8731 Audio Codec. | |
#define TWI_WM8731 0 /* TWI instance (TWI0) */ |
Checking board configuration of the WM8731.
Referenced by init_twi_wm8731(), and wm8731_write_register().
#define WM8731_REG_ACTIVE_CONTROL (0x09u) |
Referenced by wm8731_set_active().
#define WM8731_REG_ACTIVE_CONTROL_ACTIVE (0x1u << 0) |
Referenced by wm8731_set_active().
#define WM8731_REG_ANALOGUE_AUDIO_PATH_CONTROL (0x04u) |
#define WM8731_REG_ANALOGUE_AUDIO_PATH_CONTROL_BYPASS (0x1u << 3) |
Referenced by wm8731_set_bypass_enable().
#define WM8731_REG_ANALOGUE_AUDIO_PATH_CONTROL_DACSEL (0x1u << 4) |
Referenced by wm8731_dac_select().
#define WM8731_REG_ANALOGUE_AUDIO_PATH_CONTROL_INSEL_MIC (0x1u << 2) |
Referenced by wm8731_adc_input_select().
#define WM8731_REG_ANALOGUE_AUDIO_PATH_CONTROL_MICBOOST (0x1u << 0) |
Referenced by wm8731_set_mic_boost().
#define WM8731_REG_ANALOGUE_AUDIO_PATH_CONTROL_MUTEMIC (0x1u << 1) |
Referenced by wm8731_set_mic_mute().
#define WM8731_REG_ANALOGUE_AUDIO_PATH_CONTROL_SIDETONE (0x1u << 5) |
#define WM8731_REG_ANALOGUE_AUDIO_PATH_CONTROL_SIDETONE_ATTENUATION | ( | value | ) | ((WM8731_REG_ANALOGUE_AUDIO_PATH_CONTROL_SIDETONE_ATTENUATION_MSK & ((value) << WM8731_REG_ANALOGUE_AUDIO_PATH_CONTROL_SIDETONE_ATTENUATION_POS))) |
#define WM8731_REG_ANALOGUE_AUDIO_PATH_CONTROL_SIDETONE_ATTENUATION_MSK (0x3u << WM8731_REG_ANALOGUE_AUDIO_PATH_CONTROL_SIDETONE_ATTENUATION_POS) |
#define WM8731_REG_ANALOGUE_AUDIO_PATH_CONTROL_SIDETONE_ATTENUATION_POS 6 |
#define WM8731_REG_DIGITAL_AUDIO_INTERFACE_FORMAT (0x07u) |
#define WM8731_REG_DIGITAL_AUDIO_INTERFACE_FORMAT_BCLKINV (0x1u << 7) |
#define WM8731_REG_DIGITAL_AUDIO_INTERFACE_FORMAT_DSP (0x3u << 0) |
Referenced by wm8731_set_digital_audio_interface_format().
#define WM8731_REG_DIGITAL_AUDIO_INTERFACE_FORMAT_I2S (0x2u << 0) |
Referenced by init_dac().
#define WM8731_REG_DIGITAL_AUDIO_INTERFACE_FORMAT_IWL_16_BIT (0x0u << 2) |
Referenced by init_dac().
#define WM8731_REG_DIGITAL_AUDIO_INTERFACE_FORMAT_IWL_20_BIT (0x1u << 2) |
#define WM8731_REG_DIGITAL_AUDIO_INTERFACE_FORMAT_IWL_24_BIT (0x2u << 2) |
#define WM8731_REG_DIGITAL_AUDIO_INTERFACE_FORMAT_IWL_32_BIT (0x3u << 2) |
Referenced by wm8731_set_digital_audio_data_bit_length().
#define WM8731_REG_DIGITAL_AUDIO_INTERFACE_FORMAT_LRP (0x1u << 4) |
Referenced by wm8731_set_dac_phase().
#define WM8731_REG_DIGITAL_AUDIO_INTERFACE_FORMAT_LRSWAP (0x1u << 5) |
#define WM8731_REG_DIGITAL_AUDIO_INTERFACE_FORMAT_MS (0x1u << 6) |
Referenced by wm8731_set_master_or_slave_mode().
#define WM8731_REG_DIGITAL_AUDIO_INTERFACE_FORMAT_MSB_LEFT_JUSTIFIED (0x1u << 0) |
#define WM8731_REG_DIGITAL_AUDIO_INTERFACE_FORMAT_MSB_RIGHT_JUSTIFIED (0x0u << 0) |
#define WM8731_REG_DIGITAL_AUDIO_PATH_CONTROL (0x05u) |
Referenced by wm8731_enable_adc_high_pass_filter(), wm8731_set_dac_soft_mute(), and wm8731_set_deemphasis().
#define WM8731_REG_DIGITAL_AUDIO_PATH_CONTROL_ADCHPD (0x1u << 0) |
Referenced by wm8731_enable_adc_high_pass_filter().
#define WM8731_REG_DIGITAL_AUDIO_PATH_CONTROL_DACMU (0x1u << 3) |
Referenced by wm8731_set_dac_soft_mute().
#define WM8731_REG_DIGITAL_AUDIO_PATH_CONTROL_DEEMP_32K (0x1u << 1) |
#define WM8731_REG_DIGITAL_AUDIO_PATH_CONTROL_DEEMP_44_1K (0x2u << 1) |
#define WM8731_REG_DIGITAL_AUDIO_PATH_CONTROL_DEEMP_48K (0x3u << 1) |
Referenced by wm8731_set_deemphasis().
#define WM8731_REG_DIGITAL_AUDIO_PATH_CONTROL_DEEMP_DISABLE (0x0u << 1) |
#define WM8731_REG_DIGITAL_AUDIO_PATH_CONTROL_HPOR (0x1u << 4) |
#define WM8731_REG_LEFT_HEADPHONE_OUT (0x02u) |
Referenced by wm8731_left_headphone_volume_set().
#define WM8731_REG_LEFT_HEADPHONE_OUT_LHPVOL | ( | value | ) | ((WM8731_REG_LEFT_HEADPHONE_OUT_LHPVOL_MSK & ((value) << WM8731_REG_LEFT_HEADPHONE_OUT_LHPVOL_POS))) |
Referenced by wm8731_left_headphone_volume_set().
#define WM8731_REG_LEFT_HEADPHONE_OUT_LHPVOL_MSK (0x7fu << WM8731_REG_LEFT_HEADPHONE_OUT_LHPVOL_POS) |
Referenced by wm8731_left_headphone_volume_set().
#define WM8731_REG_LEFT_HEADPHONE_OUT_LHPVOL_POS 0 |
#define WM8731_REG_LEFT_HEADPHONE_OUT_LRHPBOTH (0x1u << 8) |
#define WM8731_REG_LEFT_HEADPHONE_OUT_LZCEN (0x1u << 7) |
#define WM8731_REG_LEFT_LINE_IN (0x00u) |
Referenced by wm8731_left_line_in_volume_set(), and wm8731_set_left_line_in_mute().
#define WM8731_REG_LEFT_LINE_IN_LINMUTE (0x1u << 7) |
Referenced by wm8731_set_left_line_in_mute().
#define WM8731_REG_LEFT_LINE_IN_LINVOL | ( | value | ) | ((WM8731_REG_LEFT_LINE_IN_LINVOL_MSK & ((value) << WM8731_REG_LEFT_LINE_IN_LINVOL_POS))) |
Referenced by wm8731_left_line_in_volume_set().
#define WM8731_REG_LEFT_LINE_IN_LINVOL_MSK (0x1fu << WM8731_REG_LEFT_LINE_IN_LINVOL_POS) |
Referenced by wm8731_left_line_in_volume_set().
#define WM8731_REG_LEFT_LINE_IN_LINVOL_POS 0 |
#define WM8731_REG_LEFT_LINE_IN_LRINBOTH (0x1u << 8) |
#define WM8731_REG_POWER_DOWN_CONTROL (0x06u) |
Referenced by wm8731_power_mode_adc_line_in(), wm8731_power_mode_adc_mic(), wm8731_power_mode_all_active(), wm8731_power_mode_dac(), wm8731_power_mode_standby(), wm8731_set_power_down_adc(), wm8731_set_power_down_clkout(), wm8731_set_power_down_dac(), wm8731_set_power_down_line_in(), wm8731_set_power_down_mic(), wm8731_set_power_down_osc(), wm8731_set_power_down_output(), and wm8731_set_power_off().
#define WM8731_REG_POWER_DOWN_CONTROL_ADCPD (0x1u << 2) |
Referenced by wm8731_set_power_down_adc().
#define WM8731_REG_POWER_DOWN_CONTROL_CLKOUTPD (0x1u << 6) |
Referenced by wm8731_set_power_down_clkout().
#define WM8731_REG_POWER_DOWN_CONTROL_DACPD (0x1u << 3) |
Referenced by wm8731_set_power_down_dac().
#define WM8731_REG_POWER_DOWN_CONTROL_LINEINPD (0x1u << 0) |
Referenced by wm8731_set_power_down_line_in().
#define WM8731_REG_POWER_DOWN_CONTROL_MICPD (0x1u << 1) |
Referenced by wm8731_set_power_down_mic().
#define WM8731_REG_POWER_DOWN_CONTROL_OSCPD (0x1u << 5) |
Referenced by wm8731_set_power_down_osc().
#define WM8731_REG_POWER_DOWN_CONTROL_OUTPD (0x1u << 4) |
Referenced by wm8731_set_power_down_output().
#define WM8731_REG_POWER_DOWN_CONTROL_POWEROFF (0x1u << 7) |
Referenced by wm8731_set_power_off().
#define WM8731_REG_RESET (0x0Fu) |
Referenced by wm8731_reset().
#define WM8731_REG_RESET_VALUE | ( | value | ) | ((WM8731_REG_RESET_VALUE_MSK & ((value) << WM8731_REG_RESET_VALUE_POS))) |
Referenced by wm8731_reset().
#define WM8731_REG_RESET_VALUE_MSK (0x1ffu << WM8731_REG_RESET_VALUE_POS) |
#define WM8731_REG_RESET_VALUE_POS 0 |
#define WM8731_REG_RIGHT_HEADPHONE_OUT (0x03u) |
Referenced by wm8731_right_headphone_volume_set().
#define WM8731_REG_RIGHT_HEADPHONE_OUT_RHPVOL | ( | value | ) | ((WM8731_REG_RIGHT_HEADPHONE_OUT_RHPVOL_MSK & ((value) << WM8731_REG_RIGHT_HEADPHONE_OUT_RHPVOL_POS))) |
Referenced by wm8731_right_headphone_volume_set().
#define WM8731_REG_RIGHT_HEADPHONE_OUT_RHPVOL_MSK (0x7fu << WM8731_REG_RIGHT_HEADPHONE_OUT_RHPVOL_POS) |
Referenced by wm8731_right_headphone_volume_set().
#define WM8731_REG_RIGHT_HEADPHONE_OUT_RHPVOL_POS 0 |
#define WM8731_REG_RIGHT_HEADPHONE_OUT_RLHPBOTH (0x1u << 8) |
#define WM8731_REG_RIGHT_HEADPHONE_OUT_RZCEN (0x1u << 7) |
#define WM8731_REG_RIGHT_LINE_IN (0x01u) |
Referenced by wm8731_right_line_in_volume_set(), and wm8731_set_right_line_in_mute().
#define WM8731_REG_RIGHT_LINE_IN_RINMUTE (0x1u << 7) |
Referenced by wm8731_set_right_line_in_mute().
#define WM8731_REG_RIGHT_LINE_IN_RINVOL | ( | value | ) | ((WM8731_REG_RIGHT_LINE_IN_RINVOL_MSK & ((value) << WM8731_REG_RIGHT_LINE_IN_RINVOL_POS))) |
Referenced by wm8731_right_line_in_volume_set().
#define WM8731_REG_RIGHT_LINE_IN_RINVOL_MSK (0x1fu << WM8731_REG_RIGHT_LINE_IN_RINVOL_POS) |
Referenced by wm8731_right_line_in_volume_set().
#define WM8731_REG_RIGHT_LINE_IN_RINVOL_POS 0 |
#define WM8731_REG_RIGHT_LINE_IN_RLINBOTH (0x1u << 8) |
#define WM8731_REG_SAMPLING_CONTROL (0x08u) |
#define WM8731_REG_SAMPLING_CONTROL_BOSR (0x1u << 1) |
Referenced by wm8731_set_sampling_control().
#define WM8731_REG_SAMPLING_CONTROL_CLKIDIV2 (0x1u << 6) |
Referenced by wm8731_set_core_clock_divider().
#define WM8731_REG_SAMPLING_CONTROL_CLKODIV2 (0x1u << 7) |
Referenced by wm8731_set_output_clock_divider().
#define WM8731_REG_SAMPLING_CONTROL_SR | ( | value | ) | ((WM8731_REG_SAMPLING_CONTROL_SR_MSK & ((value) << WM8731_REG_SAMPLING_CONTROL_SR_POS))) |
Referenced by wm8731_set_sampling_control().
#define WM8731_REG_SAMPLING_CONTROL_SR_MSK (0xf << WM8731_REG_SAMPLING_CONTROL_SR_POS) |
Referenced by wm8731_set_sampling_control().
#define WM8731_REG_SAMPLING_CONTROL_SR_POS 2 |
#define WM8731_REG_SAMPLING_CONTROL_USB_MODE (0x1u << 0) |
Referenced by wm8731_set_sampling_control().
#define WM8731_SLAVE_ADDRESS 0 /* TWI codec address (0x1bu) */ |
Referenced by init_twi_wm8731(), and wm8731_write_register().
void wm8731_adc_input_select | ( | uint32_t | ul_flag | ) |
void wm8731_dac_select | ( | uint32_t | ul_flag | ) |
References WM8731_REG_ANALOGUE_AUDIO_PATH_CONTROL, WM8731_REG_ANALOGUE_AUDIO_PATH_CONTROL_DACSEL, and wm8731_write_register().
Referenced by init_dac().
void wm8731_enable_adc_high_pass_filter | ( | uint32_t | ul_flag | ) |
void wm8731_left_headphone_volume_set | ( | uint16_t | us_value | ) |
void wm8731_left_line_in_volume_set | ( | uint16_t | us_value | ) |
void wm8731_power_mode_adc_line_in | ( | void | ) |
References WM8731_REG_POWER_DOWN_CONTROL, and wm8731_write_register().
void wm8731_power_mode_adc_mic | ( | void | ) |
References WM8731_REG_POWER_DOWN_CONTROL, and wm8731_write_register().
void wm8731_power_mode_all_active | ( | void | ) |
References WM8731_REG_POWER_DOWN_CONTROL, and wm8731_write_register().
void wm8731_power_mode_dac | ( | void | ) |
References WM8731_REG_POWER_DOWN_CONTROL, and wm8731_write_register().
Referenced by init_dac().
void wm8731_power_mode_standby | ( | void | ) |
References WM8731_REG_POWER_DOWN_CONTROL, and wm8731_write_register().
void wm8731_reset | ( | void | ) |
References WM8731_REG_RESET, WM8731_REG_RESET_VALUE, and wm8731_write_register().
Referenced by init_dac().
void wm8731_right_headphone_volume_set | ( | uint16_t | us_value | ) |
void wm8731_right_line_in_volume_set | ( | uint16_t | us_value | ) |
void wm8731_set_active | ( | uint32_t | ul_flag | ) |
References WM8731_REG_ACTIVE_CONTROL, WM8731_REG_ACTIVE_CONTROL_ACTIVE, and wm8731_write_register().
Referenced by init_dac().
void wm8731_set_bypass_enable | ( | uint32_t | ul_flag | ) |
void wm8731_set_core_clock_divider | ( | uint32_t | ul_flag | ) |
void wm8731_set_dac_phase | ( | uint32_t | ul_value | ) |
void wm8731_set_dac_soft_mute | ( | uint32_t | ul_flag | ) |
References WM8731_REG_DIGITAL_AUDIO_PATH_CONTROL, WM8731_REG_DIGITAL_AUDIO_PATH_CONTROL_DACMU, and wm8731_write_register().
Referenced by init_dac().
void wm8731_set_deemphasis | ( | uint32_t | ul_value | ) |
void wm8731_set_digital_audio_data_bit_length | ( | uint32_t | ul_value | ) |
References WM8731_REG_DIGITAL_AUDIO_INTERFACE_FORMAT, WM8731_REG_DIGITAL_AUDIO_INTERFACE_FORMAT_IWL_32_BIT, and wm8731_write_register().
Referenced by init_dac().
void wm8731_set_digital_audio_interface_format | ( | uint32_t | ul_value | ) |
void wm8731_set_left_line_in_mute | ( | uint32_t | ul_flag | ) |
References WM8731_REG_LEFT_LINE_IN, WM8731_REG_LEFT_LINE_IN_LINMUTE, and wm8731_write_register().
void wm8731_set_master_or_slave_mode | ( | uint32_t | ul_flag | ) |
void wm8731_set_mic_boost | ( | uint32_t | ul_flag | ) |
void wm8731_set_mic_mute | ( | uint32_t | ul_flag | ) |
void wm8731_set_output_clock_divider | ( | uint32_t | ul_flag | ) |
void wm8731_set_power_down_adc | ( | uint32_t | ul_flag | ) |
void wm8731_set_power_down_clkout | ( | uint32_t | ul_flag | ) |
void wm8731_set_power_down_dac | ( | uint32_t | ul_flag | ) |
void wm8731_set_power_down_line_in | ( | uint32_t | ul_flag | ) |
void wm8731_set_power_down_mic | ( | uint32_t | ul_flag | ) |
void wm8731_set_power_down_osc | ( | uint32_t | ul_flag | ) |
void wm8731_set_power_down_output | ( | uint32_t | ul_flag | ) |
void wm8731_set_power_off | ( | uint32_t | ul_flag | ) |
void wm8731_set_right_line_in_mute | ( | uint32_t | ul_flag | ) |
References WM8731_REG_RIGHT_LINE_IN, WM8731_REG_RIGHT_LINE_IN_RINMUTE, and wm8731_write_register().
void wm8731_set_sampling_control | ( | uint32_t | ul_mode_flag, |
uint32_t | ul_bosr, | ||
uint32_t | ul_value | ||
) |