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 | |
Ulf Magnusson | e96b687 | 2020-01-13 12:06:44 +0100 | [diff] [blame^] | 6 | #include <devicetree.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 | #if (MCUBOOT_IMAGE_NUMBER == 1) |
Fabio Utzig | b0f0473 | 2019-07-31 09:49:19 -0300 | [diff] [blame] | 10 | /* |
| 11 | * NOTE: the definition below returns the same values for true/false on |
| 12 | * purpose, to avoid having to mark x as non-used by all callers when |
| 13 | * running in single image mode. |
| 14 | */ |
| 15 | #define FLASH_AREA_IMAGE_PRIMARY(x) (((x) == 0) ? \ |
| 16 | DT_FLASH_AREA_IMAGE_0_ID : \ |
| 17 | DT_FLASH_AREA_IMAGE_0_ID) |
| 18 | #define FLASH_AREA_IMAGE_SECONDARY(x) (((x) == 0) ? \ |
| 19 | DT_FLASH_AREA_IMAGE_1_ID : \ |
| 20 | DT_FLASH_AREA_IMAGE_1_ID) |
David Vincze | b75c12a | 2019-03-22 14:58:33 +0100 | [diff] [blame] | 21 | #elif (MCUBOOT_IMAGE_NUMBER == 2) |
| 22 | /* MCUBoot currently supports only up to 2 updateable firmware images. |
| 23 | * If the number of the current image is greater than MCUBOOT_IMAGE_NUMBER - 1 |
| 24 | * then a dummy value will be assigned to the flash area macros. |
| 25 | */ |
Fabio Utzig | b0f0473 | 2019-07-31 09:49:19 -0300 | [diff] [blame] | 26 | #define FLASH_AREA_IMAGE_PRIMARY(x) (((x) == 0) ? \ |
David Vincze | b75c12a | 2019-03-22 14:58:33 +0100 | [diff] [blame] | 27 | DT_FLASH_AREA_IMAGE_0_ID : \ |
Fabio Utzig | b0f0473 | 2019-07-31 09:49:19 -0300 | [diff] [blame] | 28 | ((x) == 1) ? \ |
David Vincze | b75c12a | 2019-03-22 14:58:33 +0100 | [diff] [blame] | 29 | DT_FLASH_AREA_IMAGE_2_ID : \ |
Fabio Utzig | b0f0473 | 2019-07-31 09:49:19 -0300 | [diff] [blame] | 30 | 255) |
| 31 | #define FLASH_AREA_IMAGE_SECONDARY(x) (((x) == 0) ? \ |
David Vincze | b75c12a | 2019-03-22 14:58:33 +0100 | [diff] [blame] | 32 | DT_FLASH_AREA_IMAGE_1_ID : \ |
Fabio Utzig | b0f0473 | 2019-07-31 09:49:19 -0300 | [diff] [blame] | 33 | ((x) == 1) ? \ |
David Vincze | b75c12a | 2019-03-22 14:58:33 +0100 | [diff] [blame] | 34 | DT_FLASH_AREA_IMAGE_3_ID : \ |
Fabio Utzig | b0f0473 | 2019-07-31 09:49:19 -0300 | [diff] [blame] | 35 | 255) |
David Vincze | b75c12a | 2019-03-22 14:58:33 +0100 | [diff] [blame] | 36 | #else |
| 37 | #error "Image slot and flash area mapping is not defined" |
| 38 | #endif |
| 39 | |
Fabio Utzig | c58842e | 2019-11-28 10:30:01 -0300 | [diff] [blame] | 40 | #if !defined(CONFIG_BOOT_SWAP_USING_MOVE) |
David Vincze | 2d736ad | 2019-02-18 11:50:22 +0100 | [diff] [blame] | 41 | #define FLASH_AREA_IMAGE_SCRATCH DT_FLASH_AREA_IMAGE_SCRATCH_ID |
Fabio Utzig | c58842e | 2019-11-28 10:30:01 -0300 | [diff] [blame] | 42 | #endif |
David Brown | 5153bd6 | 2017-01-06 11:16:53 -0700 | [diff] [blame] | 43 | |
| 44 | #endif /* __SYSFLASH_H__ */ |