150 lines
3.9 KiB
C
150 lines
3.9 KiB
C
#ifndef __LOGO_TABLE_H__
|
|
#define __LOGO_TABLE_H__
|
|
#include "common.h"
|
|
|
|
/**********************CONFIG PARAMETER ****************************************
|
|
* CONFIG_ADD_LOGO_HEADER_TABLE_TEST_CASE: 1 --- add logo header table test case
|
|
* 0 --- remove logo header table test case
|
|
*******************************************************************************/
|
|
#define CONFIG_ADD_LOGO_HEADER_TABLE_TEST_CASE (0)
|
|
|
|
|
|
#define LOGO_VALID_MAGIC (0xBABE5F5F)
|
|
|
|
|
|
// - LOGO FUNCTION MAGIC
|
|
// - magic function definition:
|
|
// - aa_bb_cc_dd
|
|
// LOGO_FUNCTION_MAGIC_2 --- append dsp_adc.bin after updater.bin
|
|
#define LOGO_FUNCTION_MAGIC_2 ( 0x11111122 )
|
|
|
|
|
|
#define ENABLE_LOGO_DISPLAY_FLAG "[11]"
|
|
#define DISABLE_LOGO_DISPLAY_FLAG "[00]"
|
|
|
|
|
|
|
|
#define LOGO_INVALID_VALUE (0x4c4c554E) //NULL
|
|
|
|
#define LOGO_HEADER_TOTAL_SIZE (LOGO_IMAGE_HEADER_SIZE + LOGO_ENABLE_LOGO_AND_VIRATOR_FEEDBACK \
|
|
+ LOGO_VERSION_BLOCK_SIZE + LOADTABLELOGO_SYMBOL_SIZE)
|
|
|
|
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
#define LOGO_HEADER_OFFSET_START ( 0 )
|
|
|
|
|
|
//AREA_1: LOGO_LOAD_BLOCK
|
|
#define LOGO_IMAGE_HEADER_SIZE 16
|
|
typedef union{
|
|
struct _ImageHeader{
|
|
UINT32 ImageMagic;
|
|
UINT32 ImageLoadAddr;
|
|
UINT32 ImageStartAddr;
|
|
UINT32 Logo_HeaderTableSize;
|
|
}ImageHeaderBlock;
|
|
|
|
UINT8 filer[LOGO_IMAGE_HEADER_SIZE];
|
|
}LOGO_IMAGE_HEADER_BLOCK;
|
|
|
|
//AREA_2: LOGO_FEEDBACK_BLOCK
|
|
#define LOGO_ENABLE_LOGO_AND_VIRATOR_FEEDBACK 16
|
|
typedef union{
|
|
struct _feedback_block{
|
|
char Description[11];
|
|
char LogoDisplayLogoFlag[5];
|
|
}feedback_block;
|
|
UINT8 filer[LOGO_ENABLE_LOGO_AND_VIRATOR_FEEDBACK];
|
|
}LOGO_FEEDBACK_BLOCK;
|
|
|
|
//AREA_3: LOGO_VERSION_BLOCK
|
|
#define LOGO_VERSION_BLOCK_SIZE 128
|
|
typedef union{
|
|
struct _logo_version_block{
|
|
char version_date[16];
|
|
char oem_lcd_type[48];
|
|
char COMPRESSED_ALGORITHM_SUPPORT[32];
|
|
char build_info_string[32];
|
|
}logo_version_block;
|
|
|
|
UINT8 filer[LOGO_VERSION_BLOCK_SIZE];
|
|
}LOGO_VERSION_BLOCK;
|
|
|
|
|
|
//AREA_4: ext*.bin info
|
|
#define LOADTABLELOGO_SYMBOL_SIZE ( 256 )
|
|
|
|
typedef struct{
|
|
char name[12];
|
|
unsigned int value;
|
|
}logo_symbol_item;
|
|
|
|
typedef struct {
|
|
// updater function magic
|
|
logo_symbol_item logo_function_magic;
|
|
|
|
//combine ext.bin
|
|
logo_symbol_item ext_combine_bin_size; // ext_partition size wihtout crc append
|
|
|
|
//updater.bin
|
|
logo_symbol_item ext_logo_size;
|
|
|
|
//dsp_adc.bin
|
|
logo_symbol_item ext_dsp_adc_exec_addr;
|
|
logo_symbol_item ext_dsp_adc_size;
|
|
}loadtable_logo_symbol_info;
|
|
|
|
typedef union{
|
|
loadtable_logo_symbol_info logo_symbol_info;
|
|
|
|
unsigned char filer[LOADTABLELOGO_SYMBOL_SIZE]; /* max size*/
|
|
}LOADTABLE_AREA_LOGO_SYMBOL;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
LOGO_IMAGE_HEADER_BLOCK HeaderBlock;
|
|
LOGO_FEEDBACK_BLOCK FeedbackBlock;
|
|
LOGO_VERSION_BLOCK vb;
|
|
LOADTABLE_AREA_LOGO_SYMBOL symbol_info_union;
|
|
}LogoHeaderTableStruct;
|
|
|
|
|
|
|
|
typedef enum{
|
|
logo_no_function_magic = 0,
|
|
logo_reserved1_no_use,
|
|
logo_magic2_support_query_info_and_append_dsp_adc,
|
|
}LogoFunctionMagicType_Enum;
|
|
|
|
|
|
|
|
/****************************** external function declaration *******************************/
|
|
void logo_header_table_init(void);
|
|
LogoFunctionMagicType_Enum get_logo_function_magic_type(void);
|
|
BOOL IsLogoSupportQueryExtImgInfo(void);
|
|
BOOL IsLogoAppendDspAdc(void);
|
|
UINT32 logo_get_ext_combine_bin_size(void);
|
|
|
|
/**
|
|
* @Description: get logo flash addr,
|
|
* @Return Value: logo flash start address
|
|
*/
|
|
UINT32 get_logo_flash_start_addr(void);
|
|
UINT32 get_logo_flash_size(void);
|
|
|
|
|
|
UINT32 logo_get_ext_logo_size(void);
|
|
UINT32 logo_get_ext_dsp_adc_size(void);
|
|
UINT32 logo_get_ext_dsp_adc_flash_start_addr(void);
|
|
UINT32 logo_get_ext_dsp_adc_exec_addr(void);
|
|
|
|
#if (CONFIG_ADD_LOGO_HEADER_TABLE_TEST_CASE == 1)
|
|
void dump_logo_image_info(void);
|
|
void test_logo_header_table(void);
|
|
#endif
|
|
|
|
|
|
#endif
|
|
|