![]() |
LibDriver WM8978
|
driver wm8978 source file More...
#include "driver_wm8978.h"Go to the source code of this file.
Functions | |
| uint8_t | wm8978_soft_reset (wm8978_handle_t *handle) |
| soft reset | |
| uint8_t | wm8978_set_dc_buffer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable dc buffer | |
| uint8_t | wm8978_set_out4_mixer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable out4 mixer | |
| uint8_t | wm8978_set_out3_mixer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable out3 mixer | |
| uint8_t | wm8978_set_pll (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable pll | |
| uint8_t | wm8978_set_microphone_bias (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable microphone bias | |
| uint8_t | wm8978_set_analogue_amplifier_bias (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable analogue amplifier bias | |
| uint8_t | wm8978_set_unused_input_output_tie_off_buffer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable unused input output tie off buffer | |
| uint8_t | wm8978_set_reference_impedance (wm8978_handle_t *handle, wm8978_impedance_t impedance) |
| set reference impedance | |
| uint8_t | wm8978_set_right_out1 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right out1 | |
| uint8_t | wm8978_set_left_out1 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left out1 | |
| uint8_t | wm8978_set_sleep (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable sleep | |
| uint8_t | wm8978_set_right_channel_input_boost (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right channel input boost | |
| uint8_t | wm8978_set_left_channel_input_boost (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left channel input boost | |
| uint8_t | wm8978_set_right_channel_input_pga (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right channel input pga | |
| uint8_t | wm8978_set_left_channel_input_pga (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left channel input pga | |
| uint8_t | wm8978_set_right_channel_adc (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right channel adc | |
| uint8_t | wm8978_set_left_channel_adc (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left channel adc | |
| uint8_t | wm8978_set_out4 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable out4 | |
| uint8_t | wm8978_set_out3 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable out3 | |
| uint8_t | wm8978_set_left_out2 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left out2 | |
| uint8_t | wm8978_set_right_out2 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right out2 | |
| uint8_t | wm8978_set_right_output_channel_mixer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right output channel mixer | |
| uint8_t | wm8978_set_left_output_channel_mixer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left output channel mixer | |
| uint8_t | wm8978_set_right_channel_dac (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right channel dac | |
| uint8_t | wm8978_set_left_channel_dac (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left channel dac | |
| uint8_t | wm8978_set_bclk_polarity (wm8978_handle_t *handle, wm8978_polarity_t polarity) |
| set bclk polarity | |
| uint8_t | wm8978_set_lrclk_polarity (wm8978_handle_t *handle, wm8978_polarity_t polarity) |
| set lrclk polarity | |
| uint8_t | wm8978_set_word_length (wm8978_handle_t *handle, wm8978_word_length_t word_length) |
| set word length | |
| uint8_t | wm8978_set_data_format (wm8978_handle_t *handle, wm8978_data_format_t format) |
| set data format | |
| uint8_t | wm8978_set_dac_appear (wm8978_handle_t *handle, wm8978_appear_t appear) |
| set dac appear | |
| uint8_t | wm8978_set_adc_appear (wm8978_handle_t *handle, wm8978_appear_t appear) |
| set adc appear | |
| uint8_t | wm8978_set_channel (wm8978_handle_t *handle, wm8978_channel_t channel) |
| set channel | |
| uint8_t | wm8978_set_companding_8bit_mode (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable companding 8bit mode | |
| uint8_t | wm8978_set_dac_companding (wm8978_handle_t *handle, wm8978_companding_t companding) |
| set dac companding | |
| uint8_t | wm8978_set_adc_companding (wm8978_handle_t *handle, wm8978_companding_t companding) |
| set adc companding | |
| uint8_t | wm8978_set_loopback (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable loopback | |
| uint8_t | wm8978_set_clksel (wm8978_handle_t *handle, wm8978_clksel_t clksel) |
| set clksel | |
| uint8_t | wm8978_set_mclk_div (wm8978_handle_t *handle, wm8978_mclk_div_t d) |
| set mclk div | |
| uint8_t | wm8978_set_bclk_div (wm8978_handle_t *handle, wm8978_bclk_div_t d) |
| set bclk div | |
| uint8_t | wm8978_set_clock_mode (wm8978_handle_t *handle, wm8978_clock_mode_t mode) |
| set clock mode | |
| uint8_t | wm8978_set_approximate_sample_rate (wm8978_handle_t *handle, wm8978_approximate_sample_t sample) |
| set approximate sample rate | |
| uint8_t | wm8978_set_slow_clock (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable slow clock | |
| uint8_t | wm8978_set_pll_div (wm8978_handle_t *handle, wm8978_pll_div_t d) |
| set pll div | |
| uint8_t | wm8978_set_gpio1_polarity (wm8978_handle_t *handle, wm8978_polarity_t polarity) |
| set gpio1 polarity | |
| uint8_t | wm8978_set_gpio1_select (wm8978_handle_t *handle, wm8978_gpio1_sel_t sel) |
| set gpio1 select | |
| uint8_t | wm8978_set_vmid_1 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable vmid 1 | |
| uint8_t | wm8978_set_vmid_0 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable vmid 0 | |
| uint8_t | wm8978_set_jack_detection (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable jack detection | |
| uint8_t | wm8978_set_jack_gpio (wm8978_handle_t *handle, wm8978_jack_sel_t sel) |
| set jack gpio | |
| uint8_t | wm8978_set_soft_mute (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable soft mute | |
| uint8_t | wm8978_set_dac_oversample_rate (wm8978_handle_t *handle, wm8978_dac_oversample_rate_t rate) |
| set dac oversample rate | |
| uint8_t | wm8978_set_amute (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable amute | |
| uint8_t | wm8978_set_right_dac_output_polarity (wm8978_handle_t *handle, wm8978_polarity_t polarity) |
| set right dac output polarity | |
| uint8_t | wm8978_set_left_dac_output_polarity (wm8978_handle_t *handle, wm8978_polarity_t polarity) |
| set left dac output polarity | |
| uint8_t | wm8978_set_dac_left_volume (wm8978_handle_t *handle, wm8978_bool_t enable, uint8_t volume) |
| set dac left volume | |
| uint8_t | wm8978_set_dac_right_volume (wm8978_handle_t *handle, wm8978_bool_t enable, uint8_t volume) |
| set dac right volume | |
| uint8_t | wm8978_set_jack_logic_1 (wm8978_handle_t *handle, wm8978_jack_t jack, wm8978_bool_t enable) |
| set jack logic 1 | |
| uint8_t | wm8978_set_jack_logic_0 (wm8978_handle_t *handle, wm8978_jack_t jack, wm8978_bool_t enable) |
| set jack logic 0 | |
| uint8_t | wm8978_set_high_pass_filter (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable high pass filter | |
| uint8_t | wm8978_set_mode (wm8978_handle_t *handle, wm8978_mode_t mode) |
| set chip mode | |
| uint8_t | wm8978_set_high_pass_filter_cut_off (wm8978_handle_t *handle, wm8978_high_pass_filter_cut_off_t cut) |
| set high pass filter cut off | |
| uint8_t | wm8978_set_adc_oversample_rate (wm8978_handle_t *handle, wm8978_adc_oversample_rate_t rate) |
| set adc oversample rate | |
| uint8_t | wm8978_set_adc_right_channel_polarity (wm8978_handle_t *handle, wm8978_polarity_t polarity) |
| set adc right channel polarity | |
| uint8_t | wm8978_set_adc_left_channel_polarity (wm8978_handle_t *handle, wm8978_polarity_t polarity) |
| set adc left channel polarity | |
| uint8_t | wm8978_set_adc_left_volume (wm8978_handle_t *handle, wm8978_bool_t enable, uint8_t volume) |
| set adc left volume | |
| uint8_t | wm8978_set_adc_right_volume (wm8978_handle_t *handle, wm8978_bool_t enable, uint8_t volume) |
| set adc right volume | |
| uint8_t | wm8978_volume_convert_to_register (wm8978_handle_t *handle, float db, uint8_t *reg) |
| convert the volume data to the register raw data | |
| uint8_t | wm8978_volume_convert_to_data (wm8978_handle_t *handle, uint8_t reg, float *db) |
| convert the volume register raw data to the real data | |
| uint8_t | wm8978_set_equaliser_apply (wm8978_handle_t *handle, wm8978_equaliser_t equaliser) |
| set equaliser apply | |
| uint8_t | wm8978_set_eq1_cut_off (wm8978_handle_t *handle, wm8978_eq1_band_cut_off_t cut_off) |
| set eq1 cut off | |
| uint8_t | wm8978_set_eq1_gain (wm8978_handle_t *handle, uint8_t gain) |
| set eq1 gain | |
| uint8_t | wm8978_set_eq2_bandwidth (wm8978_handle_t *handle, wm8978_eq_bandwidth_t width) |
| set eq2 bandwidth | |
| uint8_t | wm8978_set_eq2_centre_freq (wm8978_handle_t *handle, wm8978_eq2_band_centre_freq_t freq) |
| set eq2 centre freq | |
| uint8_t | wm8978_set_eq2_gain (wm8978_handle_t *handle, uint8_t gain) |
| set eq2 gain | |
| uint8_t | wm8978_set_eq3_bandwidth (wm8978_handle_t *handle, wm8978_eq_bandwidth_t width) |
| set eq3 bandwidth | |
| uint8_t | wm8978_set_eq3_centre_freq (wm8978_handle_t *handle, wm8978_eq3_band_centre_freq_t freq) |
| set eq3 centre freq | |
| uint8_t | wm8978_set_eq3_gain (wm8978_handle_t *handle, uint8_t gain) |
| set eq3 gain | |
| uint8_t | wm8978_set_eq4_bandwidth (wm8978_handle_t *handle, wm8978_eq_bandwidth_t width) |
| set eq4 bandwidth | |
| uint8_t | wm8978_set_eq4_centre_freq (wm8978_handle_t *handle, wm8978_eq4_band_centre_freq_t freq) |
| set eq4 centre freq | |
| uint8_t | wm8978_set_eq4_gain (wm8978_handle_t *handle, uint8_t gain) |
| set eq4 gain | |
| uint8_t | wm8978_set_eq5_cut_off (wm8978_handle_t *handle, wm8978_eq5_band_cut_off_t cut_off) |
| set eq5 cut off | |
| uint8_t | wm8978_set_eq5_gain (wm8978_handle_t *handle, uint8_t gain) |
| set eq5 gain | |
| uint8_t | wm8978_eq_gain_convert_to_register (wm8978_handle_t *handle, int8_t db, uint8_t *reg) |
| convert the eq gain to the register raw data | |
| uint8_t | wm8978_eq_gain_convert_to_data (wm8978_handle_t *handle, uint8_t reg, int8_t *db) |
| convert the eq gain register raw data to the real data | |
| uint8_t | wm8978_set_dac_digital_limiter (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable dac digital limiter | |
| uint8_t | wm8978_set_dac_limiter_decay (wm8978_handle_t *handle, wm8978_dac_limiter_decay_t decay) |
| set dac limiter decay | |
| uint8_t | wm8978_set_dac_limiter_attack (wm8978_handle_t *handle, wm8978_dac_limiter_attack_t attack) |
| set dac limiter attack | |
| uint8_t | wm8978_set_dac_limiter_level (wm8978_handle_t *handle, wm8978_dac_limiter_level_t level) |
| set dac limiter level | |
| uint8_t | wm8978_set_dac_limiter_volume_boost (wm8978_handle_t *handle, uint8_t db) |
| set dac limiter volume boost | |
| uint8_t | wm8978_set_notch_filter (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable notch filter | |
| uint8_t | wm8978_set_notch_filter_a0_coefficient_bit_13_7 (wm8978_handle_t *handle, wm8978_bool_t update_once, uint8_t coefficient) |
| set notch filter a0 coefficient bit13 - bit7 | |
| uint8_t | wm8978_set_notch_filter_a0_coefficient_bit_6_0 (wm8978_handle_t *handle, wm8978_bool_t update_once, uint8_t coefficient) |
| set notch filter a0 coefficient bit6 - bit0 | |
| uint8_t | wm8978_set_notch_filter_a1_coefficient_bit_13_7 (wm8978_handle_t *handle, wm8978_bool_t update_once, uint8_t coefficient) |
| set notch filter a1 coefficient bit13 - bit7 | |
| uint8_t | wm8978_set_notch_filter_a1_coefficient_bit_6_0 (wm8978_handle_t *handle, wm8978_bool_t update_once, uint8_t coefficient) |
| set notch filter a1 coefficient bit6 - bit0 | |
| uint8_t | wm8978_set_alc (wm8978_handle_t *handle, wm8978_alc_t alc) |
| set alc | |
| uint8_t | wm8978_set_alc_max_gain (wm8978_handle_t *handle, wm8978_max_gain_t gain) |
| set alc max gain | |
| uint8_t | wm8978_set_alc_min_gain (wm8978_handle_t *handle, wm8978_min_gain_t gain) |
| set alc min gain | |
| uint8_t | wm8978_set_alc_hold_time (wm8978_handle_t *handle, uint8_t t) |
| set alc hold time | |
| uint8_t | wm8978_alc_hold_time_convert_to_register (wm8978_handle_t *handle, float ms, uint8_t *reg) |
| convert the alc hold time to the register raw data | |
| uint8_t | wm8978_alc_hold_time_convert_to_data (wm8978_handle_t *handle, uint8_t reg, float *ms) |
| convert the alc hold time register raw data to the real data | |
| uint8_t | wm8978_set_alc_level (wm8978_handle_t *handle, wm8978_alc_level_t level) |
| set alc level | |
| uint8_t | wm8978_set_alc_mode (wm8978_handle_t *handle, wm8978_alc_mode_t mode) |
| set alc mode | |
| uint8_t | wm8978_set_alc_decay (wm8978_handle_t *handle, uint8_t decay) |
| set alc decay | |
| uint8_t | wm8978_set_alc_attack (wm8978_handle_t *handle, uint8_t attack) |
| set alc attack | |
| uint8_t | wm8978_set_alc_noise_gate (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable alc noise gate | |
| uint8_t | wm8978_set_alc_noise_gate_threshold (wm8978_handle_t *handle, uint8_t threshold) |
| set alc noise gate threshold | |
| uint8_t | wm8978_alc_noise_gate_threshold_convert_to_register (wm8978_handle_t *handle, int8_t db, uint8_t *reg) |
| convert the alc noise gate threshold to the register raw data | |
| uint8_t | wm8978_alc_noise_gate_threshold_convert_to_data (wm8978_handle_t *handle, uint8_t reg, int8_t *db) |
| convert the alc noise gate threshold register raw data to the real data | |
| uint8_t | wm8978_set_mclk_divide_by_2 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable mclk divide by 2 | |
| uint8_t | wm8978_set_plln (wm8978_handle_t *handle, uint8_t n) |
| set plln | |
| uint8_t | wm8978_set_pll_freq (wm8978_handle_t *handle, uint32_t freq) |
| set pll freq | |
| uint8_t | wm8978_set_depth_3d (wm8978_handle_t *handle, uint8_t depth) |
| set depth 3d | |
| uint8_t | wm8978_depth_3d_convert_to_register (wm8978_handle_t *handle, float percent, uint8_t *reg) |
| convert the depth 3d to the register raw data | |
| uint8_t | wm8978_depth_3d_convert_to_data (wm8978_handle_t *handle, uint8_t reg, float *percent) |
| convert the depth 3d register raw data to the real data | |
| uint8_t | wm8978_set_mute_input_to_inv_rout2_mixer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable mute input to inv rout2 mixer | |
| uint8_t | wm8978_set_inv_rout2_mixer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable inv rout2 mixer | |
| uint8_t | wm8978_set_beep_volume (wm8978_handle_t *handle, uint8_t vol) |
| set beep volume | |
| uint8_t | wm8978_beep_volume_convert_to_register (wm8978_handle_t *handle, int8_t db, uint8_t *reg) |
| convert the beep volume to the register raw data | |
| uint8_t | wm8978_beep_volume_convert_to_data (wm8978_handle_t *handle, uint8_t reg, int8_t *db) |
| convert the beep volume register raw data to the real data | |
| uint8_t | wm8978_set_beep (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable beep | |
| uint8_t | wm8978_set_microphone_bias_voltage (wm8978_handle_t *handle, wm8978_avdd_t avdd) |
| set microphone bias voltage | |
| uint8_t | wm8978_set_right_channel_input_pga_positive (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right channel input pga positive | |
| uint8_t | wm8978_set_right_channel_input_pga_negative (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right channel input pga negative | |
| uint8_t | wm8978_set_right_channel_input_pga_amplifier_positive (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right channel input pga amplifier positive | |
| uint8_t | wm8978_set_left_channel_input_pga_positive (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left channel input pga positive | |
| uint8_t | wm8978_set_left_channel_input_pga_negative (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left channel input pga negative | |
| uint8_t | wm8978_set_left_channel_input_pga_amplifier_positive (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left channel input pga amplifier positive | |
| uint8_t | wm8978_set_left_input_pga_update (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left input pga update | |
| uint8_t | wm8978_set_left_channel_input_pga_zero_cross (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left channel input pga zero cross | |
| uint8_t | wm8978_set_left_channel_input_pga_mute (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left channel input pga mute | |
| uint8_t | wm8978_set_left_channel_input_pga_volume (wm8978_handle_t *handle, uint8_t volume) |
| set left channel input pga volume | |
| uint8_t | wm8978_left_channel_input_pga_volume_convert_to_register (wm8978_handle_t *handle, float db, uint8_t *reg) |
| convert the left channel input pga volume to the register raw data | |
| uint8_t | wm8978_left_channel_input_pga_volume_convert_to_data (wm8978_handle_t *handle, uint8_t reg, float *db) |
| convert the left channel input pga volume register raw data to the real data | |
| uint8_t | wm8978_set_right_input_pga_update (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right input pga update | |
| uint8_t | wm8978_set_right_channel_input_pga_zero_cross (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right channel input pga zero cross | |
| uint8_t | wm8978_set_right_channel_input_pga_mute (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right channel input pga mute | |
| uint8_t | wm8978_set_right_channel_input_pga_volume (wm8978_handle_t *handle, uint8_t volume) |
| set right channel input pga volume | |
| uint8_t | wm8978_right_channel_input_pga_volume_convert_to_register (wm8978_handle_t *handle, float db, uint8_t *reg) |
| convert the right channel input pga volume to the register raw data | |
| uint8_t | wm8978_right_channel_input_pga_volume_convert_to_data (wm8978_handle_t *handle, uint8_t reg, float *db) |
| convert the right channel input pga volume register raw data to the real data | |
| uint8_t | wm8978_set_left_channel_input_pga_boost (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left channel input pga boost | |
| uint8_t | wm8978_set_left_channel_input_boost_stage (wm8978_handle_t *handle, uint8_t stage) |
| set left channel input boost stage | |
| uint8_t | wm8978_left_channel_input_boost_stage_convert_to_register (wm8978_handle_t *handle, int8_t db, uint8_t *reg) |
| convert the left channel input boost stage to the register raw data | |
| uint8_t | wm8978_left_channel_input_boost_stage_convert_to_data (wm8978_handle_t *handle, uint8_t reg, int8_t *db) |
| convert the left channel input boost stage register raw data to the real data | |
| uint8_t | wm8978_set_auxiliary_amplifier_left_channel_input_boost_stage (wm8978_handle_t *handle, uint8_t stage) |
| set auxiliary amplifier left channel input boost stage | |
| uint8_t | wm8978_auxiliary_amplifier_left_channel_input_boost_stage_convert_to_register (wm8978_handle_t *handle, int8_t db, uint8_t *reg) |
| convert the auxiliary amplifier left channel input boost stage to the register raw data | |
| uint8_t | wm8978_auxiliary_amplifier_left_channel_input_boost_stage_convert_to_data (wm8978_handle_t *handle, uint8_t reg, int8_t *db) |
| convert the auxiliary amplifier left channel input boost stage register raw data to the real data | |
| uint8_t | wm8978_set_right_channel_input_pga_boost (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right channel input pga boost | |
| uint8_t | wm8978_set_right_channel_input_boost_stage (wm8978_handle_t *handle, uint8_t stage) |
| set right channel input boost stage | |
| uint8_t | wm8978_right_channel_input_boost_stage_convert_to_register (wm8978_handle_t *handle, int8_t db, uint8_t *reg) |
| convert the right channel input boost stage to the register raw data | |
| uint8_t | wm8978_right_channel_input_boost_stage_convert_to_data (wm8978_handle_t *handle, uint8_t reg, int8_t *db) |
| convert the right channel input boost stage register raw data to the real data | |
| uint8_t | wm8978_set_auxiliary_amplifier_right_channel_input_boost_stage (wm8978_handle_t *handle, uint8_t stage) |
| set auxiliary amplifier right channel input boost stage | |
| uint8_t | wm8978_auxiliary_amplifier_right_channel_input_boost_stage_convert_to_register (wm8978_handle_t *handle, int8_t db, uint8_t *reg) |
| convert the auxiliary amplifier right channel input boost stage to the register raw data | |
| uint8_t | wm8978_auxiliary_amplifier_right_channel_input_boost_stage_convert_to_data (wm8978_handle_t *handle, uint8_t reg, int8_t *db) |
| convert the auxiliary amplifier right channel input boost stage register raw data to the real data | |
| uint8_t | wm8978_set_left_dac_output_to_right_output_mixer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left dac output to right output mixer | |
| uint8_t | wm8978_set_right_dac_output_to_left_output_mixer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right dac output to left output mixer | |
| uint8_t | wm8978_set_out4_boost (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable out4 boost | |
| uint8_t | wm8978_set_out3_boost (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable out3 boost | |
| uint8_t | wm8978_set_speaker_boost (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable speaker boost | |
| uint8_t | wm8978_set_thermal_shutdown (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable thermal shutdown | |
| uint8_t | wm8978_set_vref_to_analogue_output_resistance (wm8978_handle_t *handle, wm8978_vref_t vref) |
| set vref to analogue output resistance | |
| uint8_t | wm8978_set_aux_left_channel_input_to_left_mixer_volume (wm8978_handle_t *handle, uint8_t vol) |
| set aux left channel input to left mixer volume | |
| uint8_t | wm8978_aux_left_channel_input_to_left_mixer_volume_convert_to_register (wm8978_handle_t *handle, int8_t db, uint8_t *reg) |
| convert the aux left channel input to left mixer volume to the register raw data | |
| uint8_t | wm8978_aux_left_channel_input_to_left_mixer_volume_convert_to_data (wm8978_handle_t *handle, uint8_t reg, int8_t *db) |
| convert the aux left channel input to left mixer volume register raw data to the real data | |
| uint8_t | wm8978_set_left_auxiliary_input_to_left_channel_output_mixer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left auxiliary input to left channel output mixer | |
| uint8_t | wm8978_set_left_bypass_volume_control_to_output_channel_mixer (wm8978_handle_t *handle, uint8_t vol) |
| set left bypass volume control to output channel mixer | |
| uint8_t | wm8978_left_bypass_volume_control_to_output_channel_mixer_convert_to_register (wm8978_handle_t *handle, int8_t db, uint8_t *reg) |
| convert the left bypass volume control to output channel mixer to the register raw data | |
| uint8_t | wm8978_left_bypass_volume_control_to_output_channel_mixer_convert_to_data (wm8978_handle_t *handle, uint8_t reg, int8_t *db) |
| convert the left bypass volume control to output channel mixer register raw data to the real data | |
| uint8_t | wm8978_set_left_bypass_path_to_left_output_mixer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left bypass path to left output mixer | |
| uint8_t | wm8978_set_left_dac_output_to_left_output_mixer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left dac output to left output mixer | |
| uint8_t | wm8978_set_aux_right_channel_input_to_right_mixer_volume (wm8978_handle_t *handle, uint8_t vol) |
| set aux right channel input to right mixer volume | |
| uint8_t | wm8978_aux_right_channel_input_to_right_mixer_volume_convert_to_register (wm8978_handle_t *handle, int8_t db, uint8_t *reg) |
| convert the aux right channel input to right mixer volume to the register raw data | |
| uint8_t | wm8978_aux_right_channel_input_to_right_mixer_volume_convert_to_data (wm8978_handle_t *handle, uint8_t reg, int8_t *db) |
| convert the aux right channel input to right mixer volume raw data to the real data | |
| uint8_t | wm8978_set_right_auxiliary_input_to_right_channel_output_mixer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right auxiliary input to right channel output mixer | |
| uint8_t | wm8978_set_right_bypass_volume_control_to_output_channel_mixer (wm8978_handle_t *handle, uint8_t vol) |
| set right bypass volume control to output channel mixer | |
| uint8_t | wm8978_right_bypass_volume_control_to_output_channel_mixer_convert_to_register (wm8978_handle_t *handle, int8_t db, uint8_t *reg) |
| convert the right bypass volume control to output channel mixer to the register raw data | |
| uint8_t | wm8978_right_bypass_volume_control_to_output_channel_mixer_convert_to_data (wm8978_handle_t *handle, uint8_t reg, int8_t *db) |
| convert the right bypass volume control to output channel mixer raw data to the real data | |
| uint8_t | wm8978_set_right_bypass_path_to_right_output_mixer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right bypass path to right output mixer | |
| uint8_t | wm8978_set_right_dac_output_to_right_output_mixer (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right dac output to right output mixer | |
| uint8_t | wm8978_set_lout1_update (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable lout1 update | |
| uint8_t | wm8978_set_lout1_headphone_volume_zero_cross (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable lout1 headphone volume zero cross | |
| uint8_t | wm8978_set_lout1_left_headphone_output_mute (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable lout1 left headphone output mute | |
| uint8_t | wm8978_set_lout1_left_headphone_output_volume (wm8978_handle_t *handle, uint8_t vol) |
| set lout1 left headphone output volume | |
| uint8_t | wm8978_lout1_left_headphone_output_volume_convert_to_register (wm8978_handle_t *handle, int8_t db, uint8_t *reg) |
| convert the lout1 left headphone output volume to the register raw data | |
| uint8_t | wm8978_lout1_left_headphone_output_volume_convert_to_data (wm8978_handle_t *handle, uint8_t reg, int8_t *db) |
| convert the lout1 left headphone output volume raw data to the real data | |
| uint8_t | wm8978_set_rout1_update (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable rout1 update | |
| uint8_t | wm8978_set_rout1_headphone_volume_zero_cross (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable rout1 headphone volume zero cross | |
| uint8_t | wm8978_set_rout1_right_headphone_output_mute (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable rout1 right headphone output mute | |
| uint8_t | wm8978_set_rout1_right_headphone_output_volume (wm8978_handle_t *handle, uint8_t vol) |
| set rout1 right headphone output volume | |
| uint8_t | wm8978_rout1_right_headphone_output_volume_convert_to_register (wm8978_handle_t *handle, int8_t db, uint8_t *reg) |
| convert the rout1 right headphone output volume to the register raw data | |
| uint8_t | wm8978_rout1_right_headphone_output_volume_convert_to_data (wm8978_handle_t *handle, uint8_t reg, int8_t *db) |
| convert the rout1 right headphone output volume raw data to the real data | |
| uint8_t | wm8978_set_lout2_update (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable lout2 update | |
| uint8_t | wm8978_set_lout2_speaker_volume_zero_cross (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable lout2 speaker volume zero cross | |
| uint8_t | wm8978_set_lout2_left_speaker_output_mute (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable lout2 left speaker output mute | |
| uint8_t | wm8978_set_lout2_left_speaker_output_volume (wm8978_handle_t *handle, uint8_t vol) |
| set lout2 left speaker output volume | |
| uint8_t | wm8978_lout2_left_speaker_output_volume_convert_to_register (wm8978_handle_t *handle, int8_t db, uint8_t *reg) |
| convert the lout2 left speaker output volume to the register raw data | |
| uint8_t | wm8978_lout2_left_speaker_output_volume_convert_to_data (wm8978_handle_t *handle, uint8_t reg, int8_t *db) |
| convert the lout2 left speaker output volume raw data to the real data | |
| uint8_t | wm8978_set_rout2_update (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable rout2 update | |
| uint8_t | wm8978_set_rout2_speaker_volume_zero_cross (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable rout2 speaker volume zero cross | |
| uint8_t | wm8978_set_rout2_right_speaker_output_mute (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable rout2 right speaker output mute | |
| uint8_t | wm8978_set_rout2_right_speaker_output_volume (wm8978_handle_t *handle, uint8_t vol) |
| set rout2 right speaker output volume | |
| uint8_t | wm8978_rout2_right_speaker_output_volume_convert_to_register (wm8978_handle_t *handle, int8_t db, uint8_t *reg) |
| convert the rout2 right speaker output volume to the register raw data | |
| uint8_t | wm8978_rout2_right_speaker_output_volume_convert_to_data (wm8978_handle_t *handle, uint8_t reg, int8_t *db) |
| convert the rout2 right speaker output volume raw data to the real data | |
| uint8_t | wm8978_set_out3_mute (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable out3 mute | |
| uint8_t | wm8978_set_out4_mixer_output_to_out3 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable out4 mixer output to out3 | |
| uint8_t | wm8978_set_left_adc_input_to_out3 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left adc input to out3 | |
| uint8_t | wm8978_set_left_dac_mixer_to_out3 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left dac mixer to out3 | |
| uint8_t | wm8978_set_left_dac_output_to_out3 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left dac output to out3 | |
| uint8_t | wm8978_set_out4_mute (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable out4 mute | |
| uint8_t | wm8978_set_out4_attenuated_by_6db (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable out4 attenuated by 6db | |
| uint8_t | wm8978_set_left_dac_mixer_to_out4 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left dac mixer to out4 | |
| uint8_t | wm8978_set_left_dac_to_out4 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable left dac to out4 | |
| uint8_t | wm8978_set_right_adc_input_to_out4 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right adc input to out4 | |
| uint8_t | wm8978_set_right_dac_mixer_to_out4 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right dac mixer to out4 | |
| uint8_t | wm8978_set_right_dac_output_to_out4 (wm8978_handle_t *handle, wm8978_bool_t enable) |
| enable or disable right dac output to out4 | |
| uint8_t | wm8978_init (wm8978_handle_t *handle) |
| initialize the chip | |
| uint8_t | wm8978_deinit (wm8978_handle_t *handle) |
| close the chip | |
| uint8_t | wm8978_set_reg (wm8978_handle_t *handle, uint8_t reg, uint16_t value) |
| set the chip register | |
| uint8_t | wm8978_info (wm8978_info_t *info) |
| get chip's information | |
driver wm8978 source file
Copyright (c) 2015 - present LibDriver All rights reserved
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
| Date | Version | Author | Description |
|---|---|---|---|
| 2023/07/31 | 1.0 | Shifeng Li | first upload |
Definition in file driver_wm8978.c.
| #define CHIP_NAME "Cirrus Logic WM8978" |
| #define DRIVER_VERSION 1000 |
driver version
Definition at line 49 of file driver_wm8978.c.
| #define MANUFACTURER_NAME "Cirrus Logic" |
manufacturer name
Definition at line 43 of file driver_wm8978.c.
| #define MAX_CURRENT 18.0f |
chip max current
Definition at line 46 of file driver_wm8978.c.
| #define SUPPLY_VOLTAGE_MAX 5.5f |
chip max supply voltage
Definition at line 45 of file driver_wm8978.c.
| #define SUPPLY_VOLTAGE_MIN 2.5f |
chip min supply voltage
Definition at line 44 of file driver_wm8978.c.
| #define TEMPERATURE_MAX 100.0f |
chip max operating temperature
Definition at line 48 of file driver_wm8978.c.
| #define TEMPERATURE_MIN -40.0f |
chip min operating temperature
Definition at line 47 of file driver_wm8978.c.
| #define WM8978_ADDRESS (0x1A << 1) |
| #define WM8978_REG_3D_CONTROL 0x29 |
3d control register
Definition at line 95 of file driver_wm8978.c.
| #define WM8978_REG_ADC_CONTROL 0x0E |
adc control register
Definition at line 73 of file driver_wm8978.c.
| #define WM8978_REG_ADDITIONAL_CTRL 0x07 |
additional ctrl register
Definition at line 66 of file driver_wm8978.c.
| #define WM8978_REG_ALC_CONTROL_1 0x20 |
alc control 1 register
Definition at line 87 of file driver_wm8978.c.
| #define WM8978_REG_ALC_CONTROL_2 0x21 |
alc control 2 register
Definition at line 88 of file driver_wm8978.c.
| #define WM8978_REG_ALC_CONTROL_3 0x22 |
alc control 3 register
Definition at line 89 of file driver_wm8978.c.
| #define WM8978_REG_AUDIO_INTERFACE 0x04 |
audio interface register
Definition at line 63 of file driver_wm8978.c.
| #define WM8978_REG_BEEP_CONTROL 0x2B |
beep control register
Definition at line 96 of file driver_wm8978.c.
| #define WM8978_REG_CLOCK_GEN_CTRL 0x06 |
clock gen ctrl register
Definition at line 65 of file driver_wm8978.c.
| #define WM8978_REG_COMPANDING_CTRL 0x05 |
companding ctrl register
Definition at line 64 of file driver_wm8978.c.
| #define WM8978_REG_DAC_CONTROL 0x0A |
dac control register
Definition at line 69 of file driver_wm8978.c.
| #define WM8978_REG_DAC_LIMITER_1 0x18 |
dac limiter 1 register
Definition at line 81 of file driver_wm8978.c.
| #define WM8978_REG_DAC_LIMITER_2 0x19 |
dac limiter 2 register
Definition at line 82 of file driver_wm8978.c.
| #define WM8978_REG_EQ1 0x12 |
eq1 low shelf register
Definition at line 76 of file driver_wm8978.c.
| #define WM8978_REG_EQ2 0x13 |
eq2 peak1 register
Definition at line 77 of file driver_wm8978.c.
| #define WM8978_REG_EQ3 0x14 |
eq3 peak2 register
Definition at line 78 of file driver_wm8978.c.
| #define WM8978_REG_EQ4 0x15 |
eq4 peak3 register
Definition at line 79 of file driver_wm8978.c.
| #define WM8978_REG_EQ5 0x16 |
eq5 high shelf register
Definition at line 80 of file driver_wm8978.c.
| #define WM8978_REG_GPIO 0x08 |
gpio register
Definition at line 67 of file driver_wm8978.c.
| #define WM8978_REG_INPUT_CTRL 0x2C |
input ctrl register
Definition at line 97 of file driver_wm8978.c.
| #define WM8978_REG_JACK_DETECT_CONTROL 0x09 |
jack detect control register
Definition at line 68 of file driver_wm8978.c.
| #define WM8978_REG_JACK_DETECT_CONTROL2 0x0D |
jack detect control2 register
Definition at line 72 of file driver_wm8978.c.
| #define WM8978_REG_LEFT_ADC_BOOST_CTRL 0x2F |
left adc boost ctrl register
Definition at line 100 of file driver_wm8978.c.
| #define WM8978_REG_LEFT_ADC_DIGITAL_VOL 0x0F |
left adc digital vol register
Definition at line 74 of file driver_wm8978.c.
| #define WM8978_REG_LEFT_DAC_DIGITAL_VOL 0x0B |
left dac digital vol register
Definition at line 70 of file driver_wm8978.c.
| #define WM8978_REG_LEFT_INP_PGA_CTRL 0x2D |
left inp pga gain ctrl register
Definition at line 98 of file driver_wm8978.c.
| #define WM8978_REG_LEFT_MIXER_CTRL 0x32 |
left mixer ctrl register
Definition at line 103 of file driver_wm8978.c.
| #define WM8978_REG_LOUT1_CTRL 0x34 |
lout1 register
Definition at line 105 of file driver_wm8978.c.
| #define WM8978_REG_LOUT2_CTRL 0x36 |
lout2 register
Definition at line 107 of file driver_wm8978.c.
| #define WM8978_REG_NOISE_GATE 0x23 |
noise gate register
Definition at line 90 of file driver_wm8978.c.
| #define WM8978_REG_NOTCH_FILTER_1 0x1B |
notch filter 1 register
Definition at line 83 of file driver_wm8978.c.
| #define WM8978_REG_NOTCH_FILTER_2 0x1C |
notch filter 2 register
Definition at line 84 of file driver_wm8978.c.
| #define WM8978_REG_NOTCH_FILTER_3 0x1D |
notch filter 3 register
Definition at line 85 of file driver_wm8978.c.
| #define WM8978_REG_NOTCH_FILTER_4 0x1E |
notch filter 4 register
Definition at line 86 of file driver_wm8978.c.
| #define WM8978_REG_OUT3_MIXER_CTRL 0x38 |
out3 mixer register
Definition at line 109 of file driver_wm8978.c.
| #define WM8978_REG_OUT4_MIXER_CTRL 0x39 |
out4 mixer register
Definition at line 110 of file driver_wm8978.c.
| #define WM8978_REG_OUTPUT_CTRL 0x31 |
output ctrl register
Definition at line 102 of file driver_wm8978.c.
| #define WM8978_REG_PLL_K1 0x25 |
pll k1 register
Definition at line 92 of file driver_wm8978.c.
| #define WM8978_REG_PLL_K2 0x26 |
pll k2 register
Definition at line 93 of file driver_wm8978.c.
| #define WM8978_REG_PLL_K3 0x27 |
pll k3 register
Definition at line 94 of file driver_wm8978.c.
| #define WM8978_REG_PLL_N 0x24 |
pll n register
Definition at line 91 of file driver_wm8978.c.
| #define WM8978_REG_POWER_MANAGE_1 0x01 |
power manage 1 register
Definition at line 60 of file driver_wm8978.c.
| #define WM8978_REG_POWER_MANAGE_2 0x02 |
power manage 2 register
Definition at line 61 of file driver_wm8978.c.
| #define WM8978_REG_POWER_MANAGE_3 0x03 |
power manage 3 register
Definition at line 62 of file driver_wm8978.c.
| #define WM8978_REG_RIGHT_ADC_BOOST_CTRL 0x30 |
right adc boost ctrl register
Definition at line 101 of file driver_wm8978.c.
| #define WM8978_REG_RIGHT_ADC_DIGITAL_VOL 0x10 |
right adc digital vol register
Definition at line 75 of file driver_wm8978.c.
| #define WM8978_REG_RIGHT_DAC_DIGITAL_VOL 0x0C |
right dac digital vol register
Definition at line 71 of file driver_wm8978.c.
| #define WM8978_REG_RIGHT_INP_PGA_CTRL 0x2E |
right inp pga gain ctrl register
Definition at line 99 of file driver_wm8978.c.
| #define WM8978_REG_RIGHT_MIXER_CTRL 0x33 |
right mixer ctrl register
Definition at line 104 of file driver_wm8978.c.
| #define WM8978_REG_ROUT1_CTRL 0x35 |
rout1 register
Definition at line 106 of file driver_wm8978.c.
| #define WM8978_REG_ROUT2_CTRL 0x37 |
rout2 register
Definition at line 108 of file driver_wm8978.c.
| #define WM8978_REG_SOFTWARE_RESET 0x00 |