#include <linux/crc32.h>
#include <linux/i2c.h>
#include <linux/regmap.h>
#include "aw88395_device.h"
#include "aw88395_reg.h"
static int aw_dev_dsp_write_16bit(struct aw_device *aw_dev,
unsigned short dsp_addr, unsigned int dsp_data)
{ … }
static int aw_dev_dsp_write_32bit(struct aw_device *aw_dev,
unsigned short dsp_addr, unsigned int dsp_data)
{ … }
static int aw_dev_dsp_write(struct aw_device *aw_dev,
unsigned short dsp_addr, unsigned int dsp_data, unsigned char data_type)
{ … }
static int aw_dev_dsp_read_16bit(struct aw_device *aw_dev,
unsigned short dsp_addr, unsigned int *dsp_data)
{ … }
static int aw_dev_dsp_read_32bit(struct aw_device *aw_dev,
unsigned short dsp_addr, unsigned int *dsp_data)
{ … }
static int aw_dev_dsp_read(struct aw_device *aw_dev,
unsigned short dsp_addr, unsigned int *dsp_data, unsigned char data_type)
{ … }
static int aw_dev_read_chipid(struct aw_device *aw_dev, u16 *chip_id)
{ … }
static unsigned int reg_val_to_db(unsigned int value)
{ … }
static unsigned short db_to_reg_val(unsigned short value)
{ … }
static int aw_dev_dsp_fw_check(struct aw_device *aw_dev)
{ … }
static int aw_dev_set_volume(struct aw_device *aw_dev, unsigned int value)
{ … }
void aw88395_dev_set_volume(struct aw_device *aw_dev, unsigned short set_vol)
{ … }
EXPORT_SYMBOL_GPL(…);
static void aw_dev_fade_in(struct aw_device *aw_dev)
{ … }
static void aw_dev_fade_out(struct aw_device *aw_dev)
{ … }
static int aw_dev_modify_dsp_cfg(struct aw_device *aw_dev,
unsigned int addr, unsigned int dsp_data, unsigned char data_type)
{ … }
static int aw_dev_dsp_set_cali_re(struct aw_device *aw_dev)
{ … }
static void aw_dev_i2s_tx_enable(struct aw_device *aw_dev, bool flag)
{ … }
static int aw_dev_dsp_set_crc32(struct aw_device *aw_dev)
{ … }
static void aw_dev_dsp_check_crc_enable(struct aw_device *aw_dev, bool flag)
{ … }
static int aw_dev_dsp_check_st(struct aw_device *aw_dev)
{ … }
static void aw_dev_dsp_enable(struct aw_device *aw_dev, bool is_enable)
{ … }
static int aw_dev_dsp_check_crc32(struct aw_device *aw_dev)
{ … }
static void aw_dev_pwd(struct aw_device *aw_dev, bool pwd)
{ … }
static void aw_dev_amppd(struct aw_device *aw_dev, bool amppd)
{ … }
void aw88395_dev_mute(struct aw_device *aw_dev, bool is_mute)
{ … }
EXPORT_SYMBOL_GPL(…);
static int aw_dev_get_icalk(struct aw_device *aw_dev, int16_t *icalk)
{ … }
static int aw_dev_get_vcalk(struct aw_device *aw_dev, int16_t *vcalk)
{ … }
static int aw_dev_get_vcalk_dac(struct aw_device *aw_dev, int16_t *vcalk)
{ … }
static int aw_dev_vsense_select(struct aw_device *aw_dev, int *vsense_select)
{ … }
static int aw_dev_set_vcalb(struct aw_device *aw_dev)
{ … }
static int aw_dev_get_cali_f0_delay(struct aw_device *aw_dev)
{ … }
static void aw_dev_get_int_status(struct aw_device *aw_dev, unsigned short *int_status)
{ … }
static void aw_dev_clear_int_status(struct aw_device *aw_dev)
{ … }
static int aw_dev_get_iis_status(struct aw_device *aw_dev)
{ … }
static int aw_dev_check_mode1_pll(struct aw_device *aw_dev)
{ … }
static int aw_dev_check_mode2_pll(struct aw_device *aw_dev)
{ … }
static int aw_dev_check_syspll(struct aw_device *aw_dev)
{ … }
static int aw_dev_check_sysst(struct aw_device *aw_dev)
{ … }
static int aw_dev_check_sysint(struct aw_device *aw_dev)
{ … }
static void aw_dev_get_cur_mode_st(struct aw_device *aw_dev)
{ … }
static void aw_dev_get_dsp_config(struct aw_device *aw_dev, unsigned char *dsp_cfg)
{ … }
static void aw_dev_select_memclk(struct aw_device *aw_dev, unsigned char flag)
{ … }
static int aw_dev_get_dsp_status(struct aw_device *aw_dev)
{ … }
static int aw_dev_get_vmax(struct aw_device *aw_dev, unsigned int *vmax)
{ … }
static int aw_dev_update_reg_container(struct aw_device *aw_dev,
unsigned char *data, unsigned int len)
{ … }
static int aw_dev_reg_update(struct aw_device *aw_dev,
unsigned char *data, unsigned int len)
{ … }
static int aw_dev_get_ra(struct aw_cali_desc *cali_desc)
{ … }
static int aw_dev_dsp_update_container(struct aw_device *aw_dev,
unsigned char *data, unsigned int len, unsigned short base)
{ … }
static int aw_dev_dsp_update_fw(struct aw_device *aw_dev,
unsigned char *data, unsigned int len)
{ … }
static int aw_dev_copy_to_crc_dsp_cfg(struct aw_device *aw_dev,
unsigned char *data, unsigned int size)
{ … }
static int aw_dev_dsp_update_cfg(struct aw_device *aw_dev,
unsigned char *data, unsigned int len)
{ … }
static int aw_dev_check_sram(struct aw_device *aw_dev)
{ … }
int aw88395_dev_fw_update(struct aw_device *aw_dev, bool up_dsp_fw_en, bool force_up_en)
{ … }
EXPORT_SYMBOL_GPL(…);
static int aw_dev_dsp_check(struct aw_device *aw_dev)
{ … }
static void aw_dev_update_cali_re(struct aw_cali_desc *cali_desc)
{ … }
int aw88395_dev_start(struct aw_device *aw_dev)
{ … }
EXPORT_SYMBOL_GPL(…);
int aw88395_dev_stop(struct aw_device *aw_dev)
{ … }
EXPORT_SYMBOL_GPL(…);
int aw88395_dev_init(struct aw_device *aw_dev, struct aw_container *aw_cfg)
{ … }
EXPORT_SYMBOL_GPL(…);
static void aw88395_parse_channel_dt(struct aw_device *aw_dev)
{ … }
static int aw_dev_init(struct aw_device *aw_dev)
{ … }
int aw88395_dev_get_profile_count(struct aw_device *aw_dev)
{ … }
EXPORT_SYMBOL_GPL(…);
int aw88395_dev_get_profile_index(struct aw_device *aw_dev)
{ … }
EXPORT_SYMBOL_GPL(…);
int aw88395_dev_set_profile_index(struct aw_device *aw_dev, int index)
{ … }
EXPORT_SYMBOL_GPL(…);
int aw88395_dev_get_prof_name(struct aw_device *aw_dev, int index, char **prof_name)
{ … }
EXPORT_SYMBOL_GPL(…);
int aw88395_dev_get_prof_data(struct aw_device *aw_dev, int index,
struct aw_prof_desc **prof_desc)
{ … }
EXPORT_SYMBOL_GPL(…);
int aw88395_init(struct aw_device **aw_dev, struct i2c_client *i2c, struct regmap *regmap)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;