nt9856x/BSP/u-boot/board/novatek/common/include/nvt_tk_fwupdate.h
2023-03-28 15:07:53 +08:00

42 lines
1.2 KiB
C

#ifndef __NVT_TK_FWUPDATE_H__
#define __NVT_TK_FWUPDATE_H__
#define NVTFW_UNIT_IN_BYTES (512)
#define NVTFW_BOOT_FLAG_SIGN "BTFG"
#define NVTFW_UPDATE_FLAG_SIGN "UPFG"
#define NVTFW_PPCACHE_SIGN "PPCH"
#define NVTFW_IMAGE_NAME_LEN 16
#define NVTFW_IMAGE_PATH_LEN 32
#define NUM_OF_PPCACHE_ENTRY 20
#define NVTFW_PPTBL_SIZE (NVTFW_UNIT_IN_BYTES * 3)
typedef struct _boot_flag {
unsigned char sign[4];//BTFG
unsigned int kernel_idx;
unsigned int fs_idx;
unsigned int ppcache_idx;
unsigned char reserved[NVTFW_UNIT_IN_BYTES - 16];
} boot_flag;
typedef struct _update_flag {
unsigned char sign[4];//UPFG
unsigned char reserved[NVTFW_UNIT_IN_BYTES - 4];
}update_flag;
typedef struct _pp_cache_entry {
unsigned char name[NVTFW_IMAGE_NAME_LEN];
unsigned char path[NVTFW_IMAGE_PATH_LEN];//always fix to first path, dynamic calculat by index
unsigned int offset;
unsigned int valid;
unsigned int index;
} pp_cache_entry;
typedef struct _pp_cache_tbl {
unsigned char sign[4];//PPCH
unsigned int crc32;
pp_cache_entry entrys[NUM_OF_PPCACHE_ENTRY];
unsigned char reserved[NVTFW_PPTBL_SIZE - 4 - 4 - sizeof(pp_cache_entry)*NUM_OF_PPCACHE_ENTRY];
} pp_cache_tbl;
#endif /*__NVT_TK_FWUPDATE_H__ */