1 /* Note: this is legacy partition definition, and will be removed with flash hal apis in future.*/
2 
3 #include <stddef.h>
4 #include "aos/hal/flash.h"
5 
6 /* Logic partition on flash devices */
7 const hal_logic_partition_t hal_partitions[] =
8 {
9 	[HAL_PARTITION_BOOTLOADER] =
10 	{
11         .partition_owner            = HAL_FLASH_EMBEDDED,
12         .partition_description      = "boot1",
13         .partition_start_addr       = 0x0,
14         .partition_length           = 0x10000, //64k bytes
15         .partition_options          = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
16 	},
17 	[HAL_PARTITION_PARAMETER_3] =
18 	{
19         .partition_owner            = HAL_FLASH_EMBEDDED,
20         .partition_description      = "boot_info",
21         .partition_start_addr       = 0x10000, //boot information need protect
22         .partition_length           = 0x2000,  //8k bytes
23         .partition_options          = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
24 	},
25 	[HAL_PARTITION_BOOT1] =
26 	{
27         .partition_owner            = HAL_FLASH_EMBEDDED,
28         .partition_description      = "boot2A",
29         .partition_start_addr       = 0x12000,
30         .partition_length           = 0x18000, //64k bytes
31         .partition_options          = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
32 	},
33 	[HAL_PARTITION_APPLICATION] =
34 	{
35         .partition_owner          = HAL_FLASH_EMBEDDED,
36         .partition_description    = "RTOSA",
37         .partition_start_addr     = 0x2A000,
38         .partition_length         = 0x578000, //5.5M bytes
39         .partition_options        = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
40 	},
41 	[HAL_PARTITION_BOOT1_REDUND] =
42 	{
43         .partition_owner            = HAL_FLASH_EMBEDDED,
44         .partition_description      = "boot2B",
45         .partition_start_addr       = 0x5A2000,
46         .partition_length           = 0x18000, //64k bytes
47         .partition_options          = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
48 	},
49 	[HAL_PARTITION_OTA_TEMP] =
50 	{
51         .partition_owner          = HAL_FLASH_EMBEDDED,
52         .partition_description    = "RTOSB",
53         .partition_start_addr     = 0x5BA000,
54         .partition_length         = 0x578000, //5.5M bytes
55         .partition_options        = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
56 	},
57 	[HAL_PARTITION_LITTLEFS] =
58 	{
59         .partition_owner          = HAL_FLASH_EMBEDDED,
60         .partition_description    = "littleFS", //for little fs module
61         .partition_start_addr     = 0xB32000,
62         .partition_length         = 0x4AE000,
63         .partition_options        = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
64 	},
65 	[HAL_PARTITION_PARAMETER_4] =
66 	{
67 		.partition_owner          = HAL_FLASH_EMBEDDED,
68 		.partition_description    = "boot1_sec",
69 		.partition_start_addr     = 0xFE0000,
70 		.partition_length         = 0x10000, //64k bytes
71 		.partition_options        = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
72 	},
73 	[HAL_PARTITION_PARAMETER_1] =
74 	{
75 		.partition_owner          = HAL_FLASH_EMBEDDED,
76 		.partition_description    = "boot2_info",
77 		.partition_start_addr     = 0xFF0000,
78 		.partition_length         = 0x1000, //4k bytes
79 		.partition_options        = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
80 	},
81 	[HAL_PARTITION_PARAMETER_2] =
82 	{
83 		.partition_owner          = HAL_FLASH_EMBEDDED,
84 		.partition_description    = "KV", //for KV module
85 		.partition_start_addr     = 0xFF1000,
86 		.partition_length         = 0xD000, //K bytes
87 		.partition_options        = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
88 	},
89 	[HAL_PARTITION_ENV] =
90 	{
91 		.partition_owner            = HAL_FLASH_EMBEDDED,
92 		.partition_description      = "factory",
93 		.partition_start_addr       = 0xFFE000,
94 		.partition_length           = 0x2000,
95 		.partition_options          = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
96 	},
97 	[HAL_PARTITION_ENV_REDUND] =
98 	{
99 		.partition_owner            = HAL_FLASH_EMBEDDED,
100 		.partition_description      = "factory_backup",
101 		.partition_start_addr       = 0xFFE000,
102 		.partition_length           = 0x2000,
103 		.partition_options          = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
104 	},
105 };
106 
107 /*  Declare a constant to indicate the defined partitions amount */
108 const size_t hal_partitions_amount = (sizeof(hal_partitions)/sizeof(hal_logic_partition_t));
109