Initial import of NFC GNSS SDK project
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
#ifndef __PTABLE_H__
|
||||
#define __PTABLE_H__
|
||||
|
||||
//#define AVOID_PTABLE //independence from ptable for psrm or T32 load build
|
||||
|
||||
#define CP_BASE_ADDR (0x80040000)
|
||||
#define PTABLE_ALIGN (1<<12) //4K
|
||||
#define ADDRESS_ALIGN(addr) (((addr)+(PTABLE_ALIGN)-1) & ~((PTABLE_ALIGN)-1))
|
||||
|
||||
#define MAX_PTABLE_ENTRY_NAME 32
|
||||
#define MAX_PTABLE_ENTRY_TYPE 16
|
||||
#define MAX_PTABLE_PARTS 32
|
||||
#define PTABLE_MAGIC 0x41505442
|
||||
#define QSPI_FLASH_BASE 0x80000000
|
||||
#define SPI_FLASH_BASE 0x90000000
|
||||
|
||||
|
||||
#define PTABLE_TYPE_RAW "raw"
|
||||
#define PTABLE_TYPE_UBI "ubi"
|
||||
#define PTABLE_TYPE_PART "part"
|
||||
#define PTABLE_TYPE_FLASH "flash"
|
||||
#define PTABLE_TYPE_GROUP "group"
|
||||
|
||||
#define PTABLE_FLASH_EXTERNAL "external"
|
||||
#define PTABLE_FLASH_INTERNAL "internal"
|
||||
|
||||
typedef enum ptable_flash_type {
|
||||
pt_flash_external,
|
||||
pt_flash_internal,
|
||||
}_ptflash;
|
||||
|
||||
/*
|
||||
* @name: partition name, e.g. bootloader, radio
|
||||
* @type: partition type, e.g. ubi or raw
|
||||
* @start: partition start address within flash
|
||||
* @size: partition size in bytes
|
||||
* @vstart: partition image load address at runtime
|
||||
* @vsize: partition image real size in bytes
|
||||
* @depth: partition nested depth
|
||||
*/
|
||||
typedef struct ptentry {
|
||||
char name[MAX_PTABLE_ENTRY_NAME];
|
||||
char type[MAX_PTABLE_ENTRY_TYPE];
|
||||
unsigned start;
|
||||
unsigned size;
|
||||
unsigned vstart;
|
||||
unsigned vsize;
|
||||
unsigned depth;
|
||||
}_ptentry;
|
||||
|
||||
/*
|
||||
* @magic: ptable magic id
|
||||
* @count: partition numbers
|
||||
* @parts: info for each partition entry
|
||||
*/
|
||||
typedef struct ptable {
|
||||
unsigned magic;
|
||||
unsigned count;
|
||||
struct ptentry parts[MAX_PTABLE_PARTS];
|
||||
} _ptable;
|
||||
|
||||
/* tools to populate and query the partition table */
|
||||
_ptentry *ptable_find_entry(const char *name);
|
||||
#ifdef QUECTEL_PROJECT_CUST
|
||||
unsigned int quec_start_find_vstart(unsigned int start);
|
||||
#endif
|
||||
_ptflash ptable_get_flash_type(const char *name);
|
||||
void ptable_init(void);
|
||||
void ptable_dump(void);
|
||||
|
||||
#endif /* __PTABLE_H__ */
|
||||
Reference in New Issue
Block a user