KT24-1110_65E-HA-651B/include_lib/system/syscfg_id.h
2024-11-10 18:44:17 +08:00

225 lines
9.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef __JL_CFG_DEC_H__
#define __JL_CFG_DEC_H__
#include "typedef.h"
struct btif_item {
u16 id;
u16 data_len;
};
struct syscfg_operataions {
int (*init)(void);
int (*check_id)(u16 item_id);
int (*read)(u16 item_id, u8 *buf, u16 len);
int (*write)(u16 item_id, u8 *buf, u16 len);
int (*dma_write)(u16 item_id, u8 *buf, u16 len);
int (*read_string)(u16 item_id, u8 *buf, u16 len, u8 ver);
u8 *(*ptr_read)(u16 item_id, u16 *len);
};
#define REGISTER_SYSCFG_OPS(cfg, pri) \
const struct syscfg_operataions cfg SEC_USED(.syscfg.pri.ops)
//=================================================================================//
// 系统配置项(VM, BTIF, cfg_bin)读写接口 //
//接口说明: //
// 1.输入参数 //
// 1)item_id: 配置项ID号, 由本文件统一分配; //
// 2)buf: 用于存储read/write数据内容; //
// 3)len: buf的长度(byte), buf长度必须大于等于read/write数据长度; //
// 2.返回参数: //
// 1)执行正确: 返回值等于实际上所读到的数据长度(大于0); //
// 2)执行错误: 返回值小于等于0, 小于0表示相关错误码; //
// 3.读写接口使用注意事项: //
// 1)不能在中断里调用写(write)接口; //
// 2)调用本读写接口时应该习惯性判断返回值来检查read/write动作是否执行正确; //
//=================================================================================//
int syscfg_read(u16 item_id, void *buf, u16 len);
int syscfg_read_btmac_blemac_from_bin(u16 item_id, void *buf, u16 len);
int syscfg_write(u16 item_id, void *buf, u16 len);
//该接口默认会以dma的方式写vm区域, 请注意buf地址需要按照4byte对齐
int syscfg_dma_write(u16 item_id, void *buf, u16 len);
//读取同一个配置项存在多份数据中的某一份数据, ver读取表示第几份数据, ver从 0 开始;
//典型应用: 读取配置项CFG_BT_NAME中多个蓝牙名中的某一个蓝牙名;
int syscfg_read_string(u16 item_id, void *buf, u16 len, u8 ver);
//读取配置项, 返回: ptr: 配置项地址指针(可以用cpu直接访问); len为配置项长度
//注: 只支持cfg_tools.bin文件中的配置项读取
u8 *syscfg_ptr_read(u16 item_id, u16 *len);
//==================================================================================================//
// 配置项ID分配说明 //
// 1.配置项ID号根据存储区域进行分配; //
// 2.存储区域有3个: 1)VM区域; 2)sys_cfg.bin; 3)BTIF区域 //
// 3.配置项ID号分配如下: //
// 0)[0]: 配置项ID号0为配置项工具保留ID号; //
// 1)[ 1 ~ 49]: 共49项, 预留给用户自定义, 只存于VM区域; //
// 2)[ 50 ~ 99]: 共50项, sdk相关配置项, 只存于VM区域; //
// 3)[100 ~ 127]: 共28项, sdk相关配置项, 可以存于VM区域, sys_cfg.bin(作为默认值) 和 BTIF区域; //
// 4)[512 ~ 700]: 共188项, sdk相关配置项, 只存于sys_cfg.bin; //
//==================================================================================================//
//=================================================================================//
// 用户自定义配置项[1 ~ 49] //
//=================================================================================//
#define CFG_USER_DEFINE_BEGIN 1
#define CFG_USER_DEFINE_END 49
//=================================================================================//
// 只存VM配置项[50 ~ 99] //
//=================================================================================//
#define CFG_STORE_VM_ONLY_BEGIN 50
#define AT_CHAR_DEV_NAME 51
#define CFG_STORE_VM_ONLY_END 99
//=================================================================================//
// 可以存于VM, sys_cfg.bin(默认值)和BTIF区域的配置项[100 ~ 127] //
// (VM支持扩展到511) //
//=================================================================================//
#define CFG_STORE_VM_BIN_BTIF_BEGIN 100
#define CFG_STORE_VM_BIN_BTIF_END (VM_ITEM_MAX_NUM - 1) //在app_cfg文件中配置128/256
//==================================================================================================//
//ID号分配方案:
// 1) 与APP CASE 相关的ID (0 ~ 50);
// 3) lib库保留ID(蓝牙, trim 值) (范围: 61 ~ 127); //67项
// 4) 与app_case 扩展ID号需要更大的ram资源(128 ~ 511);
//==================================================================================================//
//=================================================================================//
// SDK库保留配置项[61 ~ 127] //
//=================================================================================//
#define CFG_REMOTE_DB_INFO 61
#define CFG_REMOTE_DB_00 62
#define CFG_REMOTE_DB_01 63
#define CFG_REMOTE_DB_02 64
#define CFG_REMOTE_DB_03 65
#define CFG_REMOTE_DB_04 66
#define CFG_REMOTE_DB_05 67
#define CFG_REMOTE_DB_06 68
#define CFG_REMOTE_DB_07 69
#define CFG_REMOTE_DB_08 70
#define CFG_REMOTE_DB_09 71
#define CFG_REMOTE_DB_10 72
#define CFG_REMOTE_DB_11 73
#define CFG_REMOTE_DB_12 74
#define CFG_REMOTE_DB_13 75
#define CFG_REMOTE_DB_14 76
#define CFG_REMOTE_DB_15 77
#define CFG_REMOTE_DB_16 78
#define CFG_REMOTE_DB_17 79
#define CFG_REMOTE_DB_18 80
#define CFG_REMOTE_DB_19 81
#define CFG_DAC_TEST_VOLT 82
#define CFG_BLE_MODE_INFO 83
#define CFG_TWS_PAIR_AA 84
#define CFG_TWS_CONNECT_AA 85
#define CFG_MUSIC_VOL 86
#define CFG_CHARGESTORE_TWS_CHANNEL 87
#define CFG_DAC_DTB 88
#define CFG_MC_BIAS 89
#define CFG_POR_FLAG 90
#define CFG_MIC_LDO_VSEL 91
#define CFG_DAC_TRIM_INFO 92
#define CFG_BT_TRIM_INFO 93
#define CFG_ANC_INFO 94
#define CFG_TWS_LOCAL_ADDR 95
#define CFG_TWS_REMOTE_ADDR 96
#define CFG_TWS_COMMON_ADDR 97
#define CFG_TWS_CHANNEL 98
#define VM_PMU_VOLTAGE 99
#define CFG_SYS_VOL 100
//=========== btif & cfg_tool.bin & vm ============//
#define CFG_BT_NAME 101
#define CFG_BT_MAC_ADDR 102
#define CFG_BLE_NAME 103
#define CFG_BLE_MAC_ADDR 104
#define VM_BLE_LOCAL_INFO 109
#define CFG_BT_FRE_OFFSET 110
#define VM_GMA_ALI_PARA 111
#define VM_DMA_RAND 112
#define VM_GMA_MAC 113
#define VM_TME_AUTH_COOKIE 114
#define VM_UPDATE_FLAG 115
#define VM_RTC_TRIM 116
#define VM_BLE_REMOTE_DB_INFO 117
#define VM_BLE_REMOTE_DB_00 118
#define VM_BLE_REMOTE_DB_01 119
#define VM_BLE_REMOTE_DB_02 120
#define VM_BLE_REMOTE_DB_03 121
#define VM_BLE_REMOTE_DB_04 122
#define VM_BLE_REMOTE_DB_05 123
#define VM_BLE_REMOTE_DB_06 124
#define VM_BLE_REMOTE_DB_07 125
#define VM_BLE_REMOTE_DB_08 126
#define VM_BLE_REMOTE_DB_09 127
#define CFG_ONLINE_EQ_DRC_DATA_ID 254//在线调试保存参数的id
#define CFG_ONLINE_SAVE_ID 255//在线保存文件大小的id
//=================================================================================//
// 只存于sys_cfg.bin的配置项[512 ~ 700] //
//=================================================================================//
#define CFG_STORE_BIN_ONLY_BEGIN 512
//硬件类配置项[513 ~ 600]
#define CFG_UART_ID 513
#define CFG_HWI2C_ID 514
#define CFG_SWI2C_ID 515
#define CFG_HWSPI_ID 516
#define CFG_SWSPI_ID 517
#define CFG_SD_ID 518
#define CFG_USB_ID 519
#define CFG_LCD_ID 520
#define CFG_TOUCH_ID 521
#define CFG_IOKEY_ID 522
#define CFG_ADKEY_ID 523
#define CFG_AUDIO_ID 524
#define CFG_VIDEO_ID 525
#define CFG_WIFI_ID 526
#define CFG_NIC_ID 527
#define CFG_LED_ID 528
#define CFG_POWER_MANG_ID 529
#define CFG_IRFLT_ID 530
#define CFG_PLCNT_ID 531
#define CFG_PWMLED_ID 532
#define CFG_RDEC_ID 533
#define CFG_CHARGE_STORE_ID 534
#define CFG_CHARGE_ID 535
#define CFG_LOWPOWER_V_ID 536
#define CFG_MIC_TYPE_ID 537
#define CFG_COMBINE_SYS_VOL_ID 538
#define CFG_COMBINE_CALL_VOL_ID 539
#define CFG_LP_TOUCH_KEY_ID 540
//蓝牙类配置项[601 ~ 650]
#define CFG_BT_RF_POWER_ID 601
#define CFG_TWS_PAIR_CODE_ID 602
#define CFG_AUTO_OFF_TIME_ID 603
#define CFG_AEC_ID 604
#define CFG_UI_TONE_STATUS_ID 605
#define CFG_KEY_MSG_ID 606
#define CFG_LRC_ID 607
#define CFG_DMS_ID 609
#define CFG_ANC_ID 610
#define CFG_BLE_RF_POWER_ID 615
//其它类配置项[651 ~ 700]
#define CFG_STORE_BIN_ONLY_END 700
#endif