|
18 | 18 | #define IRONSIDE_UPDATE_ERROR_NOT_PERMITTED (1)
|
19 | 19 | /** Failed to write the update metadata to SICR. */
|
20 | 20 | #define IRONSIDE_UPDATE_ERROR_SICR_WRITE_FAILED (2)
|
| 21 | +/** Update candidate is placed outside of valid range */ |
| 22 | +#define IRONSIDE_UPDATE_ERROR_INVALID_ADDRESS (3) |
21 | 23 |
|
22 | 24 | /**
|
23 | 25 | * @}
|
24 | 26 | */
|
25 | 27 |
|
| 28 | +/** Size of the update blob */ |
| 29 | +#ifdef CONFIG_SOC_SERIES_NRF54HX |
| 30 | +#define IRONSIDE_UPDATE_BLOB_SIZE (160 * 1024) |
| 31 | +#elif CONFIG_SOC_SERIES_NRF92X |
| 32 | +#define IRONSIDE_UPDATE_BLOB_SIZE (160 * 1024) |
| 33 | +#else |
| 34 | +#error "Missing update blob size" |
| 35 | +#endif |
| 36 | + |
| 37 | +/** Min address used for storing the update candidate */ |
| 38 | +#define IRONSIDE_UPDATE_MIN_ADDRESS (0x0e100000) |
| 39 | +/** Max address used for storing the update candidate */ |
| 40 | +#define IRONSIDE_UPDATE_MAX_ADDRESS (0x0e200000 - IRONSIDE_UPDATE_BLOB_SIZE) |
| 41 | + |
26 | 42 | /** Length of the update manifest in bytes */
|
27 | 43 | #define IRONSIDE_UPDATE_MANIFEST_LENGTH (256)
|
28 | 44 | /** Length of the update public key in bytes. */
|
@@ -62,6 +78,8 @@ struct ironside_update_blob {
|
62 | 78 | * @param update Pointer to update blob
|
63 | 79 | *
|
64 | 80 | * @retval 0 on a successful request (although the update itself may still fail).
|
| 81 | + * @retval -IRONSIDE_UPDATE_ERROR_INVALID_ADDRESS if the address of the update is outside of the |
| 82 | + * accepted range. |
65 | 83 | * @retval -IRONSIDE_UPDATE_ERROR_NOT_PERMITTED if missing access to the update candidate.
|
66 | 84 | * @retval -IRONSIDE_UPDATE_ERROR_SICR_WRITE_FAILED if writing update parameters to SICR failed.
|
67 | 85 | * @retval Positive error status if reported by IronSide call (see error codes in @ref call.h).
|
|
0 commit comments