57 lines
1.9 KiB
C
57 lines
1.9 KiB
C
#ifndef _AUDIO_COMMON_H_
|
|
#define _AUDIO_COMMON_H_
|
|
|
|
#include "generic/typedef.h"
|
|
#include "system/includes.h"
|
|
|
|
/************************************
|
|
dac时钟
|
|
************************************/
|
|
#define AUDIO_COMMON_CLK_DIG_SINGLE (0)
|
|
#define AUDIO_COMMON_CLK_DIF_XOSC (1)
|
|
|
|
#define AUDIO_COMMON_VCM_CAP_LEVEL1 (0) // VCM-cap, 要求VDDIO >= 2.7V
|
|
#define AUDIO_COMMON_VCM_CAP_LEVEL2 (1) // VCM-cap, 要求VDDIO >= 2.9V
|
|
#define AUDIO_COMMON_VCM_CAP_LEVEL3 (2) // VCM-cap, 要求VDDIO >= 3.1V
|
|
#define AUDIO_COMMON_VCM_CAP_LEVEL4 (3) // VCM-cap, 要求VDDIO >= 3.3V
|
|
#define AUDIO_COMMON_VCM_CAP_LEVEL5 (4) // VCM-cap, 要求VDDIO >= 3.5V
|
|
#define AUDIO_COMMON_DACLDO_CAPLESS_LEVEL1 (5) // VCM-capless, 要求VDDIO >= 2.7v
|
|
#define AUDIO_COMMON_DACLDO_CAPLESS_LEVEL2 (6) // VCM-capless, 要求VDDIO >= 2.9v
|
|
#define AUDIO_COMMON_DACLDO_CAPLESS_LEVEL3 (7) // VCM-capless, 要求VDDIO >= 3.1v
|
|
#define AUDIO_COMMON_DACLDO_CAPLESS_LEVEL4 (8) // VCM-capless, 要求VDDIO >= 3.3v
|
|
|
|
typedef struct {
|
|
u8 clock_mode;
|
|
u8 power_level;
|
|
u8 pmu_vbg_value;
|
|
u8 aud_vbg_value;
|
|
u8 vcm_cap_en;
|
|
} audio_common_param_t;
|
|
|
|
typedef struct {
|
|
u8 pmu_vbg_value;
|
|
u8 aud_vbg_value;
|
|
} audio_vbg_trim_t;
|
|
|
|
void audio_delay(int time_ms);
|
|
void audio_common_init(audio_common_param_t *param);
|
|
audio_common_param_t *audio_common_get_param(void);
|
|
|
|
void audio_common_audio_init(void *adc_data, void *dac_data);
|
|
void *audio_common_get_dac_data(void);
|
|
void *audio_common_get_adc_data(void);
|
|
|
|
void audio_common_clock_open(u8 clk_mode);
|
|
void audio_common_clock_close(void);
|
|
void audio_common_power_open(audio_common_param_t *param);
|
|
void audio_common_power_close(void);
|
|
|
|
int audio_adc_digital_status_add_check(int add);
|
|
int audio_adc_analog_status_add_check(u8 ch_index, int add);
|
|
int audio_dac_digital_status_add_check(int add);
|
|
int audio_dac_analog_status_add_check(int add);
|
|
|
|
int audio_common_power_trim(audio_vbg_trim_t *vbg_trim, u8 vcm_level);
|
|
#endif // _AUDIO_COMMON_H_
|
|
|