David Brown | 5153bd6 | 2017-01-06 11:16:53 -0700 | [diff] [blame] | 1 | /* Manual version of auto-generated version. */ |
| 2 | |
| 3 | #ifndef __SYSFLASH_H__ |
| 4 | #define __SYSFLASH_H__ |
| 5 | |
Andrzej Puzdrowski | 419a475 | 2019-01-23 16:31:19 +0100 | [diff] [blame] | 6 | #include <generated_dts_board.h> |
David Vincze | b75c12a | 2019-03-22 14:58:33 +0100 | [diff] [blame] | 7 | #include <mcuboot_config/mcuboot_config.h> |
Andrzej Puzdrowski | 419a475 | 2019-01-23 16:31:19 +0100 | [diff] [blame] | 8 | |
David Vincze | b75c12a | 2019-03-22 14:58:33 +0100 | [diff] [blame] | 9 | extern uint8_t current_image; |
| 10 | |
| 11 | #if (MCUBOOT_IMAGE_NUMBER == 1) |
David Vincze | 2d736ad | 2019-02-18 11:50:22 +0100 | [diff] [blame] | 12 | #define FLASH_AREA_IMAGE_PRIMARY DT_FLASH_AREA_IMAGE_0_ID |
| 13 | #define FLASH_AREA_IMAGE_SECONDARY DT_FLASH_AREA_IMAGE_1_ID |
David Vincze | b75c12a | 2019-03-22 14:58:33 +0100 | [diff] [blame] | 14 | #elif (MCUBOOT_IMAGE_NUMBER == 2) |
| 15 | /* MCUBoot currently supports only up to 2 updateable firmware images. |
| 16 | * If the number of the current image is greater than MCUBOOT_IMAGE_NUMBER - 1 |
| 17 | * then a dummy value will be assigned to the flash area macros. |
| 18 | */ |
| 19 | #define FLASH_AREA_IMAGE_PRIMARY ((current_image == 0) ? \ |
| 20 | DT_FLASH_AREA_IMAGE_0_ID : \ |
| 21 | (current_image == 1) ? \ |
| 22 | DT_FLASH_AREA_IMAGE_2_ID : \ |
| 23 | 255 ) |
| 24 | #define FLASH_AREA_IMAGE_SECONDARY ((current_image == 0) ? \ |
| 25 | DT_FLASH_AREA_IMAGE_1_ID : \ |
| 26 | (current_image == 1) ? \ |
| 27 | DT_FLASH_AREA_IMAGE_3_ID : \ |
| 28 | 255 ) |
| 29 | #else |
| 30 | #error "Image slot and flash area mapping is not defined" |
| 31 | #endif |
| 32 | |
David Vincze | 2d736ad | 2019-02-18 11:50:22 +0100 | [diff] [blame] | 33 | #define FLASH_AREA_IMAGE_SCRATCH DT_FLASH_AREA_IMAGE_SCRATCH_ID |
David Brown | 5153bd6 | 2017-01-06 11:16:53 -0700 | [diff] [blame] | 34 | |
| 35 | #endif /* __SYSFLASH_H__ */ |