Files
banban/ql-kernel/threadx/common/include/ReliableData.h

107 lines
3.1 KiB
C

/*------------------------------------------------------------
(C) Copyright [2006-2008] Marvell International Ltd.
All Rights Reserved
------------------------------------------------------------*/
#ifndef REL_DATA_H
#define REL_DATA_H
#include "xscale_types.h"
#include "global_types.h"
#if defined (NVM_INCLUDE)
//COM side is with FDI5 conventions.
#include <FDI_EXT.h>
#include <FDI_FILE.h>
#include <FDI_TYPE.h>
#endif
/*Relaible data types*/
#define EMPTY_TYPE 0x00000000
#define RD_FORMAT_VER 0x00001019 //update this when updating the RDB image - padding support to be align to UNTI32.
#define RD_FORAMT_LGCY 0x00001017
#define VALID_BUF_STMP 0xCAFECAFE
#define IMEI_TYPE 0xCAFE0010 //add type ID according to the types in RDB image
#define MEP_TYPE 0xCAFE0015
#define NVM_TYPE 0xCAFE0020
#define SERIAL_NUM_TYPE 0xCAFE0025 /* used only in OBM , no need to parse it in COM side */
#define GEN_DATA_TYPE 0xCAFE0030 /* generic type for data transfer from OBM to COM, fileName is data identify */
//#define RESERVED_TYPE 0xCAFE0035
#define MRD_BTID_TYPE 0xCAFE0035
#define MRD_WIFIMAC_TYPE 0xCAFE0040
#define END_BUF_STMP 0xDADADADA
#define VALID_CS_OK 0xFACEFACE
#if defined(NVM_OVER_RAM)
#define RD_FILE_INFO RAM_FILE_INFO
#define RD_TCHAR RAM_TCHAR
#define RD_FILE_ID RAM_FILE_ID
#define RD_FILE_NAME_SIZE RAM_FILE_NAME_SIZE
#elif defined (NVM_INCLUDE)
#define RD_FILE_INFO FILE_INFO
#define RD_TCHAR FDI_TCHAR
#define RD_FILE_ID FILE_ID
#if (defined(LTEONLY_THIN) || defined(LTEGSM_THIN))
#define RD_FILE_NAME_SIZE 128
#else
#define RD_FILE_NAME_SIZE FILE_NAME_SIZE
#endif
#else
#define RD_TCHAR unsigned char
#define RD_FILE_NAME_SIZE 128
#endif
#define RD_SUCCESS TRUE
#define RD_FAIL FALSE
#define RD_PRE_PHASE2 FALSE
#define RD_PHASE2 TRUE
#define CRANE_SPI_BASE_ADD (0x90000000)
#define CRANE_QSPI_A1_BASE_ADD (0x80000000)
#define CRANE_QSPI_A2_BASE_ADD (0x81000000)
#define QSPI_FLASH_A1 0 //external/internal qspi A1
#define SPI_FLASH_INTERNAL 1 //internal spi
#define QSPI_FLASH_A2 2 //external qspi A2
/* IMS Cfg file name */
#define IMS_CFG_FILE "Settings_preferences.xml"
//struct size should be aligned to UINT32
typedef struct tag_buffer_flash_header
{
UINT32 validBufferStamp;
UINT32 bufCheckSum;
UINT32 version;
UINT32 reserve1;
UINT32 reserve2;
} RD_BUFFER_HEADER;
//struct size should be aligned to UINT32
typedef struct tag_buffer_info_flash
{
UINT32 entryType;
UINT32 fileAndPadSize;
RD_TCHAR file_name[RD_FILE_NAME_SIZE];
UINT32 *pEntryData;
} RD_ENTRY;
void ReliableDataPhase1 ( void );
void ReliableDataPhase2 ( void );
BOOL ReliableDataUnPack (BOOL);
BOOL APReliableDataGenFilter (void);
BOOL APReliableDataUnPack ( BOOL IsPhase2 );
char *getSerialNumber(void);
/*NEW FOR compilation */
typedef enum
{
RD_PHASE_0,
RD_PHASE_1,
RD_PHASE_2
} RD_PHASE;
#endif /* REL_DATA_H */