linux/sound/soc/codecs/aw88395/aw88395_lib.c

// SPDX-License-Identifier: GPL-2.0-only
//
// aw88395_lib.c  -- ACF bin parsing and check library file for aw88395
//
// Copyright (c) 2022-2023 AWINIC Technology CO., LTD
//
// Author: Bruce zhao <[email protected]>
//

#include <linux/cleanup.h>
#include <linux/crc8.h>
#include <linux/i2c.h>
#include "aw88395_lib.h"
#include "aw88395_device.h"

#define AW88395_CRC8_POLYNOMIAL
DECLARE_CRC8_TABLE(aw_crc8_table);

static char *profile_name[AW88395_PROFILE_MAX] =;

static int aw_parse_bin_header(struct aw_device *aw_dev, struct aw_bin *bin);

static int aw_check_sum(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num)
{}

static int aw_check_data_version(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num)
{}

static int aw_check_register_num(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num)
{}

static int aw_check_dsp_reg_num(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num)
{}

static int aw_check_soc_app_num(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num)
{}

static void aw_get_single_bin_header(struct aw_bin *bin)
{}

static int aw_parse_one_of_multi_bins(struct aw_device *aw_dev, unsigned int bin_num,
					int bin_serial_num, struct aw_bin *bin)
{}

static int aw_get_multi_bin_header(struct aw_device *aw_dev, struct aw_bin *bin)
{}

static int aw_parse_bin_header(struct aw_device *aw_dev, struct aw_bin *bin)
{}

static int aw_check_bin_header_version(struct aw_device *aw_dev, struct aw_bin *bin)
{}

static int aw_parsing_bin_file(struct aw_device *aw_dev, struct aw_bin *bin)
{}

static int aw_dev_parse_raw_reg(unsigned char *data, unsigned int data_len,
		struct aw_prof_desc *prof_desc)
{}

static int aw_dev_parse_raw_dsp_cfg(unsigned char *data, unsigned int data_len,
		struct aw_prof_desc *prof_desc)
{}

static int aw_dev_parse_raw_dsp_fw(unsigned char *data,	unsigned int data_len,
		struct aw_prof_desc *prof_desc)
{}

static int aw_dev_prof_parse_multi_bin(struct aw_device *aw_dev, unsigned char *data,
				unsigned int data_len, struct aw_prof_desc *prof_desc)
{}

static int aw_dev_parse_reg_bin_with_hdr(struct aw_device *aw_dev,
			uint8_t *data, uint32_t data_len, struct aw_prof_desc *prof_desc)
{}

static int aw_dev_parse_data_by_sec_type(struct aw_device *aw_dev, struct aw_cfg_hdr *cfg_hdr,
			struct aw_cfg_dde *cfg_dde, struct aw_prof_desc *scene_prof_desc)
{}

static int aw_dev_parse_dev_type(struct aw_device *aw_dev,
		struct aw_cfg_hdr *prof_hdr, struct aw_all_prof_info *all_prof_info)
{}

static int aw_dev_parse_dev_default_type(struct aw_device *aw_dev,
		struct aw_cfg_hdr *prof_hdr, struct aw_all_prof_info *all_prof_info)
{}

static int aw_dev_cfg_get_reg_valid_prof(struct aw_device *aw_dev,
				struct aw_all_prof_info *all_prof_info)
{}

static int aw_dev_cfg_get_multiple_valid_prof(struct aw_device *aw_dev,
				struct aw_all_prof_info *all_prof_info)
{}

static int aw_dev_load_cfg_by_hdr(struct aw_device *aw_dev,
		struct aw_cfg_hdr *prof_hdr)
{}

static int aw_dev_create_prof_name_list_v1(struct aw_device *aw_dev)
{}

static int aw_get_dde_type_info(struct aw_device *aw_dev, struct aw_container *aw_cfg)
{}

static int aw_get_dev_scene_count_v1(struct aw_device *aw_dev, struct aw_container *aw_cfg,
						unsigned int *scene_num)
{}

static int aw_get_default_scene_count_v1(struct aw_device *aw_dev,
						struct aw_container *aw_cfg,
						unsigned int *scene_num)
{}

static int aw_dev_parse_scene_count_v1(struct aw_device *aw_dev,
							struct aw_container *aw_cfg,
							unsigned int *count)
{}

static int aw_dev_parse_data_by_sec_type_v1(struct aw_device *aw_dev,
							struct aw_cfg_hdr *prof_hdr,
							struct aw_cfg_dde_v1 *cfg_dde,
							int *cur_scene_id)
{}

static int aw_dev_parse_dev_type_v1(struct aw_device *aw_dev,
		struct aw_cfg_hdr *prof_hdr)
{}

static int aw_dev_parse_default_type_v1(struct aw_device *aw_dev,
		struct aw_cfg_hdr *prof_hdr)
{}

static int aw_dev_parse_by_hdr_v1(struct aw_device *aw_dev,
		struct aw_cfg_hdr *cfg_hdr)
{}

static int aw_dev_load_cfg_by_hdr_v1(struct aw_device *aw_dev,
						struct aw_container *aw_cfg)
{}

int aw88395_dev_cfg_load(struct aw_device *aw_dev, struct aw_container *aw_cfg)
{}
EXPORT_SYMBOL_GPL();

static int aw_dev_check_cfg_by_hdr(struct aw_device *aw_dev, struct aw_container *aw_cfg)
{}

static int aw_dev_check_acf_by_hdr_v1(struct aw_device *aw_dev, struct aw_container *aw_cfg)
{}

int aw88395_dev_load_acf_check(struct aw_device *aw_dev, struct aw_container *aw_cfg)
{}
EXPORT_SYMBOL_GPL();

MODULE_DESCRIPTION();
MODULE_LICENSE();