17 #define WM8960_I2C_ADDR 0x1A
89 #if defined(__cplusplus)
uint32_t hpm_stat_t
Definition: hpm_common.h:126
hpm_stat_t wm8960_set_module(wm8960_control_t *control, wm8960_module_t module, bool enable)
Enable/disable expected module.
Definition: hpm_wm8960.c:109
wm8960_input
Definition: hpm_wm8960.h:56
@ wm8960_input_differential_mic_input2
Definition: hpm_wm8960.h:59
@ wm8960_input_differential_mic_input3
Definition: hpm_wm8960.h:60
@ wm8960_input_single_ended_mic
Definition: hpm_wm8960.h:58
@ wm8960_input_line_input2
Definition: hpm_wm8960.h:61
@ wm8960_input_line_input3
Definition: hpm_wm8960.h:62
@ wm8960_input_closed
Definition: hpm_wm8960.h:57
struct wm8960_config wm8960_config_t
wm8960_protocol
Definition: hpm_wm8960.h:47
@ wm8960_bus_pcmb
Definition: hpm_wm8960.h:52
@ wm8960_bus_i2s
Definition: hpm_wm8960.h:48
@ wm8960_bus_pcma
Definition: hpm_wm8960.h:51
@ wm8960_bus_right_justified
Definition: hpm_wm8960.h:50
@ wm8960_bus_left_justified
Definition: hpm_wm8960.h:49
hpm_stat_t wm8960_read_reg(uint8_t reg, uint16_t *val)
Read register from WM8960 using I2C.
Definition: hpm_wm8960.c:506
hpm_stat_t wm8960_init(wm8960_control_t *control, wm8960_config_t *config)
WM8960 initialize function.
Definition: hpm_wm8960.c:27
enum wm8960_play_source wm8960_play_source_t
hpm_stat_t wm8960_set_data_format(wm8960_control_t *control, uint32_t sysclk, uint32_t sample_rate, uint32_t bits)
Configure the data format of audio data.
Definition: hpm_wm8960.c:416
hpm_stat_t wm8960_set_left_input(wm8960_control_t *control, wm8960_input_t input)
Set left audio input source in WM8960.
Definition: hpm_wm8960.c:220
wm8960_module
Definition: hpm_wm8960.h:19
@ wm8960_module_headphone
Definition: hpm_wm8960.h:23
@ wm8960_module_vref
Definition: hpm_wm8960.h:22
@ wm8960_module_micbais
Definition: hpm_wm8960.h:24
@ wm8960_module_output_mixer
Definition: hpm_wm8960.h:28
@ wm8960_module_ana_in
Definition: hpm_wm8960.h:25
@ wm8960_module_adc
Definition: hpm_wm8960.h:20
@ wm8960_module_lineout
Definition: hpm_wm8960.h:26
@ wm8960_module_dac
Definition: hpm_wm8960.h:21
@ wm8960_module_speaker
Definition: hpm_wm8960.h:27
hpm_stat_t wm8960_config_input_to_output_mixer(wm8960_control_t *control, uint32_t play_source)
SET the WM8960 play source.
Definition: hpm_wm8960.c:463
hpm_stat_t wm8960_set_data_route(wm8960_control_t *control, wm8960_config_t *config)
Set audio data route in WM8960.
Definition: hpm_wm8960.c:169
enum wm8960_route wm8960_route_t
enum wm8960_protocol wm8960_protocol_t
wm8960_route
Definition: hpm_wm8960.h:39
@ wm8960_route_record
Definition: hpm_wm8960.h:43
@ wm8960_route_playback_and_record
Definition: hpm_wm8960.h:42
@ wm8960_route_bypass
Definition: hpm_wm8960.h:40
@ wm8960_route_playback
Definition: hpm_wm8960.h:41
struct wm8960_audio_format wm8960_audio_format_t
wm8960_play_source
Definition: hpm_wm8960.h:32
@ wm8960_play_source_input_mixer
Definition: hpm_wm8960.h:33
@ wm8960_play_source_input3
Definition: hpm_wm8960.h:34
@ wm8960_play_source_dac
Definition: hpm_wm8960.h:35
enum wm8960_input wm8960_input_t
hpm_stat_t wm8960_write_reg(wm8960_control_t *control, uint8_t reg, uint16_t val)
Write register to WM8960 using I2C.
Definition: hpm_wm8960.c:492
hpm_stat_t wm8960_deinit(wm8960_control_t *control)
Deinit the WM8960 codec.
Definition: hpm_wm8960.c:92
hpm_stat_t wm8960_set_volume(wm8960_control_t *control, wm8960_module_t module, uint32_t volume)
Set the volume of different modules in WM8960.
Definition: hpm_wm8960.c:334
hpm_stat_t wm8960_set_right_input(wm8960_control_t *control, wm8960_input_t input)
Set right audio input source in WM8960.
Definition: hpm_wm8960.c:277
hpm_stat_t wm8960_set_protocol(wm8960_control_t *control, wm8960_protocol_t protocol)
Set the audio transfer protocol.
Definition: hpm_wm8960.c:104
hpm_stat_t wm8960_modify_reg(wm8960_control_t *control, uint8_t reg, uint16_t mask, uint16_t val)
Modify some bits in the register using I2C.
Definition: hpm_wm8960.c:516
enum wm8960_module wm8960_module_t
Definition: hpm_i2c_regs.h:12
Definition: hpm_wm8960.h:73
wm8960_protocol_t bus
Definition: hpm_wm8960.h:75
wm8960_route_t route
Definition: hpm_wm8960.h:74
wm8960_play_source_t play_source
Definition: hpm_wm8960.h:79
wm8960_audio_format_t format
Definition: hpm_wm8960.h:80
wm8960_input_t left_input
Definition: hpm_wm8960.h:77
bool enable_speaker
Definition: hpm_wm8960.h:76
wm8960_input_t right_input
Definition: hpm_wm8960.h:78
Definition: hpm_wm8960.h:83
I2C_Type * ptr
Definition: hpm_wm8960.h:84
uint8_t slave_address
Definition: hpm_wm8960.h:85