/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */
/*
 * Copyright (c) 2021 MediaTek Inc.
 */

#define SOUND_MODE_MAX			10	/* 0~9 */
#define VOLUME_INTERVAL_MAX		101	/* 0~100 */
#define VOLUME_INTERVAL_NAME_LEN	8
#define VOLUME_MAX			100

struct cus_param {
	u8 format_type;
	u8 *init_table;
	/* sound mode table */
	u8 *sound_mode[SOUND_MODE_MAX][VOLUME_INTERVAL_MAX];
	/* number of vol intervals */
	u8 volume_config;
	/* each interval name */
	u8 vol_interval_name[VOLUME_INTERVAL_MAX][VOLUME_INTERVAL_NAME_LEN];
	/* each range in different interval */
	u16 vol_interval_range[VOLUME_INTERVAL_MAX];
};

int cus_common_parser(const struct firmware *fw, struct cus_param *param);
int cus_parser(const struct firmware *fw, struct cus_param *param);
