LibDriver WM8978
Loading...
Searching...
No Matches
driver_wm8978.c File Reference

driver wm8978 source file More...

#include "driver_wm8978.h"
Include dependency graph for driver_wm8978.c:

Go to the source code of this file.

Macros

#define CHIP_NAME   "Cirrus Logic WM8978"
 chip information definition
#define MANUFACTURER_NAME   "Cirrus Logic"
#define SUPPLY_VOLTAGE_MIN   2.5f
#define SUPPLY_VOLTAGE_MAX   5.5f
#define MAX_CURRENT   18.0f
#define TEMPERATURE_MIN   -40.0f
#define TEMPERATURE_MAX   100.0f
#define DRIVER_VERSION   1000
#define WM8978_ADDRESS   (0x1A << 1)
 chip address definition
#define WM8978_REG_SOFTWARE_RESET   0x00
 chip register definition
#define WM8978_REG_POWER_MANAGE_1   0x01
#define WM8978_REG_POWER_MANAGE_2   0x02
#define WM8978_REG_POWER_MANAGE_3   0x03
#define WM8978_REG_AUDIO_INTERFACE   0x04
#define WM8978_REG_COMPANDING_CTRL   0x05
#define WM8978_REG_CLOCK_GEN_CTRL   0x06
#define WM8978_REG_ADDITIONAL_CTRL   0x07
#define WM8978_REG_GPIO   0x08
#define WM8978_REG_JACK_DETECT_CONTROL   0x09
#define WM8978_REG_DAC_CONTROL   0x0A
#define WM8978_REG_LEFT_DAC_DIGITAL_VOL   0x0B
#define WM8978_REG_RIGHT_DAC_DIGITAL_VOL   0x0C
#define WM8978_REG_JACK_DETECT_CONTROL2   0x0D
#define WM8978_REG_ADC_CONTROL   0x0E
#define WM8978_REG_LEFT_ADC_DIGITAL_VOL   0x0F
#define WM8978_REG_RIGHT_ADC_DIGITAL_VOL   0x10
#define WM8978_REG_EQ1   0x12
#define WM8978_REG_EQ2   0x13
#define WM8978_REG_EQ3   0x14
#define WM8978_REG_EQ4   0x15
#define WM8978_REG_EQ5   0x16
#define WM8978_REG_DAC_LIMITER_1   0x18
#define WM8978_REG_DAC_LIMITER_2   0x19
#define WM8978_REG_NOTCH_FILTER_1   0x1B
#define WM8978_REG_NOTCH_FILTER_2   0x1C
#define WM8978_REG_NOTCH_FILTER_3   0x1D
#define WM8978_REG_NOTCH_FILTER_4   0x1E
#define WM8978_REG_ALC_CONTROL_1   0x20
#define WM8978_REG_ALC_CONTROL_2   0x21
#define WM8978_REG_ALC_CONTROL_3   0x22
#define WM8978_REG_NOISE_GATE   0x23
#define WM8978_REG_PLL_N   0x24
#define WM8978_REG_PLL_K1   0x25
#define WM8978_REG_PLL_K2   0x26
#define WM8978_REG_PLL_K3   0x27
#define WM8978_REG_3D_CONTROL   0x29
#define WM8978_REG_BEEP_CONTROL   0x2B
#define WM8978_REG_INPUT_CTRL   0x2C
#define WM8978_REG_LEFT_INP_PGA_CTRL   0x2D
#define WM8978_REG_RIGHT_INP_PGA_CTRL   0x2E
#define WM8978_REG_LEFT_ADC_BOOST_CTRL   0x2F
#define WM8978_REG_RIGHT_ADC_BOOST_CTRL   0x30
#define WM8978_REG_OUTPUT_CTRL   0x31
#define WM8978_REG_LEFT_MIXER_CTRL   0x32
#define WM8978_REG_RIGHT_MIXER_CTRL   0x33
#define WM8978_REG_LOUT1_CTRL   0x34
#define WM8978_REG_ROUT1_CTRL   0x35
#define WM8978_REG_LOUT2_CTRL   0x36
#define WM8978_REG_ROUT2_CTRL   0x37
#define WM8978_REG_OUT3_MIXER_CTRL   0x38
#define WM8978_REG_OUT4_MIXER_CTRL   0x39

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

Detailed Description

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.

Version
1.0.0
Author
Shifeng Li
Date
2023-07-31

history

Date Version Author Description
2023/07/31 1.0 Shifeng Li first upload

Definition in file driver_wm8978.c.

Macro Definition Documentation

◆ CHIP_NAME

#define CHIP_NAME   "Cirrus Logic WM8978"

chip information definition

chip name

Definition at line 42 of file driver_wm8978.c.

◆ DRIVER_VERSION

#define DRIVER_VERSION   1000

driver version

Definition at line 49 of file driver_wm8978.c.

◆ MANUFACTURER_NAME

#define MANUFACTURER_NAME   "Cirrus Logic"

manufacturer name

Definition at line 43 of file driver_wm8978.c.

◆ MAX_CURRENT

#define MAX_CURRENT   18.0f

chip max current

Definition at line 46 of file driver_wm8978.c.

◆ SUPPLY_VOLTAGE_MAX

#define SUPPLY_VOLTAGE_MAX   5.5f

chip max supply voltage

Definition at line 45 of file driver_wm8978.c.

◆ SUPPLY_VOLTAGE_MIN

#define SUPPLY_VOLTAGE_MIN   2.5f

chip min supply voltage

Definition at line 44 of file driver_wm8978.c.

◆ TEMPERATURE_MAX

#define TEMPERATURE_MAX   100.0f

chip max operating temperature

Definition at line 48 of file driver_wm8978.c.

◆ TEMPERATURE_MIN

#define TEMPERATURE_MIN   -40.0f

chip min operating temperature

Definition at line 47 of file driver_wm8978.c.

◆ WM8978_ADDRESS

#define WM8978_ADDRESS   (0x1A << 1)

chip address definition

chip iic address

Definition at line 54 of file driver_wm8978.c.

◆ WM8978_REG_3D_CONTROL

#define WM8978_REG_3D_CONTROL   0x29

3d control register

Definition at line 95 of file driver_wm8978.c.

◆ WM8978_REG_ADC_CONTROL

#define WM8978_REG_ADC_CONTROL   0x0E

adc control register

Definition at line 73 of file driver_wm8978.c.

◆ WM8978_REG_ADDITIONAL_CTRL

#define WM8978_REG_ADDITIONAL_CTRL   0x07

additional ctrl register

Definition at line 66 of file driver_wm8978.c.

◆ WM8978_REG_ALC_CONTROL_1

#define WM8978_REG_ALC_CONTROL_1   0x20

alc control 1 register

Definition at line 87 of file driver_wm8978.c.

◆ WM8978_REG_ALC_CONTROL_2

#define WM8978_REG_ALC_CONTROL_2   0x21

alc control 2 register

Definition at line 88 of file driver_wm8978.c.

◆ WM8978_REG_ALC_CONTROL_3

#define WM8978_REG_ALC_CONTROL_3   0x22

alc control 3 register

Definition at line 89 of file driver_wm8978.c.

◆ WM8978_REG_AUDIO_INTERFACE

#define WM8978_REG_AUDIO_INTERFACE   0x04

audio interface register

Definition at line 63 of file driver_wm8978.c.

◆ WM8978_REG_BEEP_CONTROL

#define WM8978_REG_BEEP_CONTROL   0x2B

beep control register

Definition at line 96 of file driver_wm8978.c.

◆ WM8978_REG_CLOCK_GEN_CTRL

#define WM8978_REG_CLOCK_GEN_CTRL   0x06

clock gen ctrl register

Definition at line 65 of file driver_wm8978.c.

◆ WM8978_REG_COMPANDING_CTRL

#define WM8978_REG_COMPANDING_CTRL   0x05

companding ctrl register

Definition at line 64 of file driver_wm8978.c.

◆ WM8978_REG_DAC_CONTROL

#define WM8978_REG_DAC_CONTROL   0x0A

dac control register

Definition at line 69 of file driver_wm8978.c.

◆ WM8978_REG_DAC_LIMITER_1

#define WM8978_REG_DAC_LIMITER_1   0x18

dac limiter 1 register

Definition at line 81 of file driver_wm8978.c.

◆ WM8978_REG_DAC_LIMITER_2

#define WM8978_REG_DAC_LIMITER_2   0x19

dac limiter 2 register

Definition at line 82 of file driver_wm8978.c.

◆ WM8978_REG_EQ1

#define WM8978_REG_EQ1   0x12

eq1 low shelf register

Definition at line 76 of file driver_wm8978.c.

◆ WM8978_REG_EQ2

#define WM8978_REG_EQ2   0x13

eq2 peak1 register

Definition at line 77 of file driver_wm8978.c.

◆ WM8978_REG_EQ3

#define WM8978_REG_EQ3   0x14

eq3 peak2 register

Definition at line 78 of file driver_wm8978.c.

◆ WM8978_REG_EQ4

#define WM8978_REG_EQ4   0x15

eq4 peak3 register

Definition at line 79 of file driver_wm8978.c.

◆ WM8978_REG_EQ5

#define WM8978_REG_EQ5   0x16

eq5 high shelf register

Definition at line 80 of file driver_wm8978.c.

◆ WM8978_REG_GPIO

#define WM8978_REG_GPIO   0x08

gpio register

Definition at line 67 of file driver_wm8978.c.

◆ WM8978_REG_INPUT_CTRL

#define WM8978_REG_INPUT_CTRL   0x2C

input ctrl register

Definition at line 97 of file driver_wm8978.c.

◆ WM8978_REG_JACK_DETECT_CONTROL

#define WM8978_REG_JACK_DETECT_CONTROL   0x09

jack detect control register

Definition at line 68 of file driver_wm8978.c.

◆ WM8978_REG_JACK_DETECT_CONTROL2

#define WM8978_REG_JACK_DETECT_CONTROL2   0x0D

jack detect control2 register

Definition at line 72 of file driver_wm8978.c.

◆ WM8978_REG_LEFT_ADC_BOOST_CTRL

#define WM8978_REG_LEFT_ADC_BOOST_CTRL   0x2F

left adc boost ctrl register

Definition at line 100 of file driver_wm8978.c.

◆ WM8978_REG_LEFT_ADC_DIGITAL_VOL

#define WM8978_REG_LEFT_ADC_DIGITAL_VOL   0x0F

left adc digital vol register

Definition at line 74 of file driver_wm8978.c.

◆ WM8978_REG_LEFT_DAC_DIGITAL_VOL

#define WM8978_REG_LEFT_DAC_DIGITAL_VOL   0x0B

left dac digital vol register

Definition at line 70 of file driver_wm8978.c.

◆ WM8978_REG_LEFT_INP_PGA_CTRL

#define WM8978_REG_LEFT_INP_PGA_CTRL   0x2D

left inp pga gain ctrl register

Definition at line 98 of file driver_wm8978.c.

◆ WM8978_REG_LEFT_MIXER_CTRL

#define WM8978_REG_LEFT_MIXER_CTRL   0x32

left mixer ctrl register

Definition at line 103 of file driver_wm8978.c.

◆ WM8978_REG_LOUT1_CTRL

#define WM8978_REG_LOUT1_CTRL   0x34

lout1 register

Definition at line 105 of file driver_wm8978.c.

◆ WM8978_REG_LOUT2_CTRL

#define WM8978_REG_LOUT2_CTRL   0x36

lout2 register

Definition at line 107 of file driver_wm8978.c.

◆ WM8978_REG_NOISE_GATE

#define WM8978_REG_NOISE_GATE   0x23

noise gate register

Definition at line 90 of file driver_wm8978.c.

◆ WM8978_REG_NOTCH_FILTER_1

#define WM8978_REG_NOTCH_FILTER_1   0x1B

notch filter 1 register

Definition at line 83 of file driver_wm8978.c.

◆ WM8978_REG_NOTCH_FILTER_2

#define WM8978_REG_NOTCH_FILTER_2   0x1C

notch filter 2 register

Definition at line 84 of file driver_wm8978.c.

◆ WM8978_REG_NOTCH_FILTER_3

#define WM8978_REG_NOTCH_FILTER_3   0x1D

notch filter 3 register

Definition at line 85 of file driver_wm8978.c.

◆ WM8978_REG_NOTCH_FILTER_4

#define WM8978_REG_NOTCH_FILTER_4   0x1E

notch filter 4 register

Definition at line 86 of file driver_wm8978.c.

◆ WM8978_REG_OUT3_MIXER_CTRL

#define WM8978_REG_OUT3_MIXER_CTRL   0x38

out3 mixer register

Definition at line 109 of file driver_wm8978.c.

◆ WM8978_REG_OUT4_MIXER_CTRL

#define WM8978_REG_OUT4_MIXER_CTRL   0x39

out4 mixer register

Definition at line 110 of file driver_wm8978.c.

◆ WM8978_REG_OUTPUT_CTRL

#define WM8978_REG_OUTPUT_CTRL   0x31

output ctrl register

Definition at line 102 of file driver_wm8978.c.

◆ WM8978_REG_PLL_K1

#define WM8978_REG_PLL_K1   0x25

pll k1 register

Definition at line 92 of file driver_wm8978.c.

◆ WM8978_REG_PLL_K2

#define WM8978_REG_PLL_K2   0x26

pll k2 register

Definition at line 93 of file driver_wm8978.c.

◆ WM8978_REG_PLL_K3

#define WM8978_REG_PLL_K3   0x27

pll k3 register

Definition at line 94 of file driver_wm8978.c.

◆ WM8978_REG_PLL_N

#define WM8978_REG_PLL_N   0x24

pll n register

Definition at line 91 of file driver_wm8978.c.

◆ WM8978_REG_POWER_MANAGE_1

#define WM8978_REG_POWER_MANAGE_1   0x01

power manage 1 register

Definition at line 60 of file driver_wm8978.c.

◆ WM8978_REG_POWER_MANAGE_2

#define WM8978_REG_POWER_MANAGE_2   0x02

power manage 2 register

Definition at line 61 of file driver_wm8978.c.

◆ WM8978_REG_POWER_MANAGE_3

#define WM8978_REG_POWER_MANAGE_3   0x03

power manage 3 register

Definition at line 62 of file driver_wm8978.c.

◆ WM8978_REG_RIGHT_ADC_BOOST_CTRL

#define WM8978_REG_RIGHT_ADC_BOOST_CTRL   0x30

right adc boost ctrl register

Definition at line 101 of file driver_wm8978.c.

◆ WM8978_REG_RIGHT_ADC_DIGITAL_VOL

#define WM8978_REG_RIGHT_ADC_DIGITAL_VOL   0x10

right adc digital vol register

Definition at line 75 of file driver_wm8978.c.

◆ WM8978_REG_RIGHT_DAC_DIGITAL_VOL

#define WM8978_REG_RIGHT_DAC_DIGITAL_VOL   0x0C

right dac digital vol register

Definition at line 71 of file driver_wm8978.c.

◆ WM8978_REG_RIGHT_INP_PGA_CTRL

#define WM8978_REG_RIGHT_INP_PGA_CTRL   0x2E

right inp pga gain ctrl register

Definition at line 99 of file driver_wm8978.c.

◆ WM8978_REG_RIGHT_MIXER_CTRL

#define WM8978_REG_RIGHT_MIXER_CTRL   0x33

right mixer ctrl register

Definition at line 104 of file driver_wm8978.c.

◆ WM8978_REG_ROUT1_CTRL

#define WM8978_REG_ROUT1_CTRL   0x35

rout1 register

Definition at line 106 of file driver_wm8978.c.

◆ WM8978_REG_ROUT2_CTRL

#define WM8978_REG_ROUT2_CTRL   0x37

rout2 register

Definition at line 108 of file driver_wm8978.c.

◆ WM8978_REG_SOFTWARE_RESET

#define WM8978_REG_SOFTWARE_RESET   0x00

chip register definition

software reset register

Definition at line 59 of file driver_wm8978.c.