WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
plat_firmware.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2021-2023. All rights reserved.
3 * Description: host platform firmware header file
4 * Create: 2021-06-08
5 */
6
7#ifndef __PLAT_FIRMWARE_H__
8#define __PLAT_FIRMWARE_H__
9
10#include "oal_plat_type.h"
11#include "oal_net.h"
12#if defined(_PRE_OS_VERSION) && defined(_PRE_OS_VERSION_LINUX) && (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION)
13#include "plat_exception_rst.h"
14#endif
15
16/* memory */
17#define OS_KZALLOC_GFP(size) kzalloc(size, (GFP_KERNEL | __GFP_NOWARN))
18
19#define READ_MEG_TIMEOUT (2000) /* 200ms */
20#define READ_MEG_JUMP_TIMEOUT (15000) /* 15s */
21
22#define FILE_CMD_WAIT_TIME_MIN (5000) /* 5000us */
23#define FILE_CMD_WAIT_TIME_MAX (5100) /* 5100us */
24
25#define SEND_BUF_LEN (520)
26#define RECV_BUF_LEN (512)
27#define VERSION_LEN (64)
28
29#define READ_CFG_BUF_LEN (2048)
30
31#define HOST_DEV_TIMEOUT (3)
32#define INT32_STR_LEN (32)
33
34#define CMD_JUMP_EXEC_RESULT_SUCC (0)
35#define CMD_JUMP_EXEC_RESULT_FAIL (1)
36
37/* 以下是发往device命令的关键字 */
38#define VER_CMD_KEYWORD "VERSION"
39#define JUMP_CMD_KEYWORD "JUMP"
40#define FILES_CMD_KEYWORD "FILES"
41#define SETPM_CMD_KEYWORD "SETPM"
42#define SETBUCK_CMD_KEYWORD "SETBUCK"
43#define SETSYSLDO_CMD_KEYWORD "SETSYSLDO"
44#define SETNFCRETLDO_CMD_KEYWORD "SETNFCRETLDO"
45#define SETPD_CMD_KEYWORD "SETPD"
46#define SETNFCCRG_CMD_KEYWORD "SETNFCCRG"
47#define SETABB_CMD_KEYWORD "SETABB"
48#define SETTCXODIV_CMD_KEYWORD "SETTCXODIV"
49#define RMEM_CMD_KEYWORD "READM"
50#define WMEM_CMD_KEYWORD "WRITEM"
51#define QUIT_CMD_KEYWORD "QUIT"
52
53/* 以下是device对命令执行成功返回的关键字,host收到一下关键字则命令执行成功 */
54#define MSG_FROM_DEV_WRITEM_OK "WRITEM OK"
55#define MSG_FROM_DEV_READM_OK ""
56#define MSG_FROM_DEV_FILES_OK "FILES OK"
57#define MSG_FROM_DEV_READY_OK "READY"
58#define MSG_FROM_DEV_JUMP_OK "JUMP OK"
59#define MSG_FROM_DEV_SET_OK "SET OK"
60#define MSG_FROM_DEV_QUIT_OK ""
61
62
63#define COMPART_KEYWORD ' '
64#define CMD_LINE_SIGN ';'
65
66#define CFG_INFO_RESERVE_LEN (8)
67
68#define FILE_COUNT_PER_SEND (1)
69#define MIN_FIRMWARE_FILE_TX_BUF_LEN (4096)
70#define MAX_FIRMWARE_FILE_TX_BUF_LEN (512 * 1024)
71#define MAX_FIRMWARE_FILE_RX_BUF_LEN (128 * 1024) // 512
72#define MAX_PACKAGE_SIZE_INI 8
73
74
75#define WCPU_ROM_START 0x00008000
76#define WCPU_ROM_END 0x00090000
77#define WCPU_ITCM_START 0x00090000
78#define WCPU_ITCM_END 0x000CFFFF
79#define WCPU_DTCM_START 0x20000000
80#define WCPU_DTCM_END 0x20047FFF
81#define WCPU_PKT_START 0x60000000
82#define WCPU_PKT_END 0x6007FFFF
83
85 ERROR_TYPE_CMD = 0, /* 错误的命令 */
86 FILE_TYPE_CMD, /* 下载文件的命令 */
87 NUM_TYPE_CMD, /* 下载配置参数的命令 */
88 QUIT_TYPE_CMD, /* 退出命令 */
90
91#define FIRMWARE_BOARD_INFO_NAME_LEN 10
92#define FIRMWARE_BOARD_INFO_PARA_LEN 50
93
94#define FIRMWARE_DOWNLOAD_BT_ROM_OFFSET 1
95#define FIRMWARE_DOWNLOAD_BT_RAM_OFFSET 2
96
97#define FIRMWARE_REG_BOARD_INFO_SET_UU "2,0x50000204,0x693C"
98#define FIRMWARE_REG_BOARD_INFO_SET_UT "2,0x50000204,0x533C"
99#define FIRMWARE_REG_BOARD_INFO_SET_ST "2,0x50000204,0x5353"
100#define FIRMWARE_REG_BOARD_INFO_SET_SS "2,0x50000204,0x3C53"
101#define FIRMWARE_REG_BOARD_INFO_SET_ET "2,0x50000204,0x5370"
102#define FIRMWARE_REG_BOARD_INFO_SET_EU "2,0x50000204,0x7070"
103
104typedef struct file os_kernel_file_stru;
105
107extern osal_s32 wifi_device_mem_dump(struct wifi_dump_mem_info *mem_dump_info, osal_u32 count);
115#endif /* end of plat_firmware.h */
osal_s32 test_sdio_newaddr_write(osal_u32 addr, osal_u32 cnt, osal_u32 data, osal_u32 reg_addr)
firmware_cfg_cmd_enum
Definition plat_firmware.h:84
@ QUIT_TYPE_CMD
Definition plat_firmware.h:88
@ FILE_TYPE_CMD
Definition plat_firmware.h:86
@ NUM_TYPE_CMD
Definition plat_firmware.h:87
@ ERROR_TYPE_CMD
Definition plat_firmware.h:85
osal_s32 read_device_reg16(osal_u32 address, osal_s16 *value)
osal_s32 test_sdio_new_read(osal_s32 reg_addr)
osal_s32 firmware_download_etc(void)
osal_s32 test_sdio_new_write(osal_s32 reg_addr, osal_s32 val)
osal_s32 write_device_reg16(osal_u32 address, osal_s16 value)
osal_s32 test_sdio_new_opt(osal_u32 cnt)
osal_s32 wifi_device_mem_dump(struct wifi_dump_mem_info *mem_dump_info, osal_u32 count)
struct file os_kernel_file_stru
Definition plat_firmware.h:104
osal_s32 test_sdio_newaddr_read(osal_u32 addr, osal_u32 cnt, osal_u32 reg_addr)
int osal_s32
Definition osal_types.h:19
short osal_s16
Definition osal_types.h:18
unsigned int osal_u32
Definition osal_types.h:13
Definition plat_exception_rst.h:158
Definition hal_uart_v151_regs_def.h:38