4 #include "partition_define.h"
6 //mt6516_partition.h has defination
7 //mt6516_download.h define again, both is 20
9 #define MAX_PARTITION_NAME_LEN 64
10 #ifdef CONFIG_MTK_EMMC_SUPPORT
14 char name
[MAX_PARTITION_NAME_LEN
]; /* partition name */
15 unsigned long long size
; /* partition size */
16 unsigned long long part_id
; /* partition region */
17 unsigned long long offset
; /* partition start */
18 unsigned long long mask_flags
; /* partition flags */
24 char name
[MAX_PARTITION_NAME_LEN
]; /* partition name */
25 unsigned long size
; /* partition size */
26 unsigned long offset
; /* partition start */
27 unsigned long mask_flags
; /* partition flags */
32 #define REGION_LOW_PAGE 0x004C4F57
33 #define REGION_FULL_PAGE 0x46554C4C
36 char name
[MAX_PARTITION_NAME_LEN
]; /* partition name */
37 unsigned long long size
; /* partition size */
38 unsigned long long part_id
; /* partition region *///will be used as download type on L branch
. xiaolei
39 unsigned long long offset
; /* partition start */
40 unsigned long long mask_flags
; /* partition flags */
47 #define DM_ERR_NO_VALID_TABLE 9
48 #define DM_ERR_NO_SPACE_FOUND 10
49 #define ERR_NO_EXIST 1
54 //#define PT_LOCATION 4090 // (4096-80)
55 //#define MPT_LOCATION 4091 // (4096-81)
56 #define PT_SIG 0x50547633 //"PTv3"
57 #define MPT_SIG 0x4D505433 //"MPT3"
59 //#define is_valid_mpt(buf) ((*(unsigned int *)(buf))==MPT_SIG)
60 //#define is_valid_pt(buf) ((*(unsigned int *)(buf))==PT_SIG)
61 #define is_valid_pt(buf) (!memcmp(buf, "3vTP", 4))
62 #define is_valid_mpt(buf) (!memcmp(buf, "3TPM", 4))
66 typedef struct _DM_PARTITION_INFO
68 char part_name
[MAX_PARTITION_NAME_LEN
]; /* the name of partition */
69 unsigned long long start_addr
; /* the start address of partition */
70 unsigned long long part_len
; /* the length of partition */
71 unsigned char part_visibility
; /* part_visibility is 0: this partition is hidden and CANNOT download */
72 /* part_visibility is 1: this partition is visible and can download */
73 unsigned char dl_selected
; /* dl_selected is 0: this partition is NOT selected to download */
74 /* dl_selected is 1: this partition is selected to download */
79 unsigned int part_num
; /* The actual number of partitions */
80 DM_PARTITION_INFO part_info
[PART_MAX_COUNT
];
81 } DM_PARTITION_INFO_PACKET
;
85 int tool_or_sd_update
:8;
86 int mirror_pt_dl
:4; //mirror download OK
87 int mirror_pt_has_space
:4;