1 /*
2  * Copyright (c) 2006-2021, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2018-12-5      SummerGift   first version
9  */
10 
11 #ifndef _FAL_CFG_H_
12 #define _FAL_CFG_H_
13 
14 #include <rtthread.h>
15 #include <board.h>
16 
17 #define FLASH_SIZE_GRANULARITY_32K   (4 * 32 * 1024)
18 #define FLASH_SIZE_GRANULARITY_128K  (128 * 1024)
19 #define FLASH_SIZE_GRANULARITY_256K  (3 * 256 * 1024)
20 
21 #define STM32_FLASH_START_ADRESS_32K  STM32_FLASH_START_ADRESS
22 #define STM32_FLASH_START_ADRESS_128K (STM32_FLASH_START_ADRESS_32K + FLASH_SIZE_GRANULARITY_32K)
23 #define STM32_FLASH_START_ADRESS_256K (STM32_FLASH_START_ADRESS_128K + FLASH_SIZE_GRANULARITY_128K)
24 
25 extern const struct fal_flash_dev stm32_onchip_flash_32k;
26 extern const struct fal_flash_dev stm32_onchip_flash_128k;
27 extern const struct fal_flash_dev stm32_onchip_flash_256k;
28 
29 /* flash device table */
30 #define FAL_FLASH_DEV_TABLE                                          \
31 {                                                                    \
32     &stm32_onchip_flash_32k,                                         \
33     &stm32_onchip_flash_128k,                                        \
34     &stm32_onchip_flash_256k,                                        \
35 }
36 /* ====================== Partition Configuration ========================== */
37 #ifdef FAL_PART_HAS_TABLE_CFG
38 
39 /* partition table */
40 #define FAL_PART_TABLE                                                                                                     \
41 {                                                                                                                          \
42     {FAL_PART_MAGIC_WROD, "bootloader", "onchip_flash_32k",  0 , FLASH_SIZE_GRANULARITY_32K , 0}, \
43     {FAL_PART_MAGIC_WROD, "param",      "onchip_flash_128k", 0 , FLASH_SIZE_GRANULARITY_128K, 0}, \
44     {FAL_PART_MAGIC_WROD, "app",        "onchip_flash_256k", 0 , FLASH_SIZE_GRANULARITY_256K, 0}, \
45 }
46 
47 #endif /* FAL_PART_HAS_TABLE_CFG */
48 #endif /* _FAL_CFG_H_ */
49