1 // SPDX-License-Identifier: GPL-2.0-only
3 // aw883_data_type.h -- The data type of the AW88395 chip
5 // Copyright (c) 2022-2023 AWINIC Technology CO., LTD
7 // Author: Bruce zhao <zhaolei@awinic.com>
10 #ifndef __AW88395_DATA_TYPE_H__
11 #define __AW88395_DATA_TYPE_H__
13 #define PROJECT_NAME_MAX (24)
14 #define CUSTOMER_NAME_MAX (16)
15 #define CFG_VERSION_MAX (4)
16 #define DEV_NAME_MAX (16)
17 #define PROFILE_STR_MAX (32)
19 #define ACF_FILE_ID (0xa15f908)
21 enum aw_cfg_hdr_version {
22 AW88395_CFG_HDR_VER = 0x00000001,
23 AW88395_CFG_HDR_VER_V1 = 0x01000000,
26 enum aw_cfg_dde_type {
27 AW88395_DEV_NONE_TYPE_ID = 0xFFFFFFFF,
28 AW88395_DEV_TYPE_ID = 0x00000000,
29 AW88395_SKT_TYPE_ID = 0x00000001,
30 AW88395_DEV_DEFAULT_TYPE_ID = 0x00000002,
39 ACF_SEC_TYPE_HDR_DSP_CFG,
40 ACF_SEC_TYPE_HDR_DSP_FW,
41 ACF_SEC_TYPE_MULTIPLE_BIN,
42 ACF_SEC_TYPE_SKT_PROJECT,
43 ACF_SEC_TYPE_DSP_PROJECT,
48 enum profile_data_type {
49 AW88395_DATA_TYPE_REG = 0,
50 AW88395_DATA_TYPE_DSP_CFG,
51 AW88395_DATA_TYPE_DSP_FW,
52 AW88395_DATA_TYPE_MAX,
56 AW88395_PROFILE_MUSIC = 0,
57 AW88395_PROFILE_VOICE,
59 AW88395_PROFILE_RINGTONE,
60 AW88395_PROFILE_RINGTONE_HS,
61 AW88395_PROFILE_LOWPOWER,
62 AW88395_PROFILE_BYPASS,
65 AW88395_PROFILE_NOTIFICATION,
66 AW88395_PROFILE_RECEIVER,
70 enum aw_profile_status {
71 AW88395_PROFILE_WAIT = 0,
77 char project[PROJECT_NAME_MAX];
78 char custom[CUSTOMER_NAME_MAX];
79 char version[CFG_VERSION_MAX];
90 char dev_name[DEV_NAME_MAX];
102 struct aw_cfg_dde_v1 {
104 char dev_name[DEV_NAME_MAX];
113 char dev_profile_str[PROFILE_STR_MAX];
118 struct aw_sec_data_desc {
123 struct aw_prof_desc {
128 struct aw_sec_data_desc sec_desc[AW88395_DATA_TYPE_MAX];
131 struct aw_all_prof_info {
132 struct aw_prof_desc prof_desc[AW88395_PROFILE_MAX];
135 struct aw_prof_info {
138 char **prof_name_list;
139 struct aw_prof_desc *prof_desc;