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

307 lines
17 KiB
C

#ifndef __FLASHPARTITION_H__
#define __FLASHPARTITION_H__
/*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
FlashPartition.h
GENERAL DESCRIPTION
This file is for FLash layout.
EXTERNALIZED FUNCTIONS
INITIALIZATION AND SEQUENCING REQUIREMENTS
Copyright (c) 2013 by Marvell, Incorporated. All Rights Reserved.
*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
*===========================================================================
EDIT HISTORY FOR MODULE
This section contains comments describing changes made to the module.
Notice that changes are listed in reverse chronological order.
when who what, where, why
-------- ------ ----------------------------------------------------------
03/18/2013 zhoujin Created module
===========================================================================*/
/*===========================================================================
LOCAL MACRP DEFINITIONS FOR MODULE
===========================================================================*/
/* The nand sector size */
#define NAND_SECTOR_SIZE 512
/* The nand sector shit bit */
#define FLASH_SECTOR_BITSHIFT 9
/* The unused flash address */
#define UNUSED 0xFFFFFFFF
/*===========================================================================
TYPE DEFINITIONS FOR MODULE
===========================================================================*/
#if 0
/*Flash Zone IDs*/
typedef enum
{
FLASHZONE_LUN_0 = 0,
FLASHZONE_LUN_1 = 1,
FLASHZONE_LUN_2 = 2,
FLASHZONE_LUN_MAX = 0x7FFFFFFF
} FLASH_ZoneID;
#endif
/* Flash block cache type. */
typedef struct FlashBlkCacheType
{
unsigned int blocknum;
unsigned int dirty;
unsigned char *BlockBuf;
} FlashBlkCacheType;
/* Flash partition struct. */
typedef struct FlashLayoutConfInfo {
unsigned int OBMStartAddress;
unsigned int OBMEndAddress;
unsigned int CPStartAddress;
unsigned int CPEndAddress;
unsigned int MSAStartAddress;
unsigned int MSAEndAddress;
unsigned int MRDStartAddress;
unsigned int WEBStartAddress;
unsigned int WEBEndAddress;
unsigned int WIFIFirmAddress;
unsigned int WIFICalFirmAddress;
unsigned int PORRFStartAddress;
unsigned int PORRFEndAddress;
unsigned int SbliStartAddress;
unsigned int MoggStartAddress;
unsigned int ParaStartAddress;
unsigned int APNListStartAddress;
unsigned int FSysMapTabAddress;
unsigned int FATStartAddress;
unsigned int FATEndAddress;
unsigned int PSMStartAddress;
unsigned int PSMEndAddress;
unsigned int BackupPSMStartAddress;
unsigned int BackupPSMEndAddress;
unsigned int FlashFsysAddress;
unsigned int MSC0StartAddress;
unsigned int MSC0EndAddress;
unsigned int MSC1StartAddress;
unsigned int MSC1EndAddress;
unsigned int MSC2StartAddress;
unsigned int MSC2EndAddress;
unsigned int FBFStartAddress;
unsigned int FBFEndAddress;
} FlashLayoutConfInfo;
/* block properties */
typedef struct FlashBlockProperties
{
unsigned int SectorMaxCount;
unsigned int FlashBlockSize;
unsigned int MapTabStartBlock;
unsigned int FatSysStartBlock;
unsigned int FatSysEndBlock;
unsigned int FatSysResvBlock;
unsigned int BlockCacheCount;
FlashBlkCacheType * BlockCacheArray;
} FlashBlockProperties;
/*===========================================================================
EXTERN DECLARATIONS FOR MODULE
===========================================================================*/
/*===========================================================================
EXTERN FUNCTION DECLARATIONS
===========================================================================*/
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* GetFlashLayoutConfig */
/* */
/* DESCRIPTION */
/* */
/* The function get the configuration of flash layout. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
FlashLayoutConfInfo *GetFlashLayoutConfig(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* GetFlashBlockProperties */
/* */
/* DESCRIPTION */
/* */
/* The function get the block properties. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
FlashBlockProperties *GetFlashBlockProperties(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* FlashLayoutConfigure */
/* */
/* DESCRIPTION */
/* */
/* The function initialize flash layout configuration. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
void FlashLayoutConfigure(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* FlashInitBlockProperties */
/* */
/* DESCRIPTION */
/* */
/* The function initialize flash block properties. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
void FlashInitBlockProperties(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* CheckIf32MNOR */
/* */
/* DESCRIPTION */
/* */
/* If Manfactur ID = 0xXX19, this is 32M Nor Flash. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
BOOL CheckIf32MNOR(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* DumpFileToSDEnable */
/* */
/* DESCRIPTION */
/* */
/* This function check whether dump bin to sd card is enbale or not.*/
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
BOOL DumpFileToSDEnable(void);
#endif /*__FLASHPARTITION_H__*/