Skip to content

Commit 6cffb3f

Browse files
committed
boards: nrf54h20_iron: Allow radio updates
Add necessary changes to provide a simple, updateable radio image. Ref: NCSDK-33316 Signed-off-by: Tomasz Chyrowicz <[email protected]>
1 parent 49ab492 commit 6cffb3f

File tree

4 files changed

+51
-1
lines changed

4 files changed

+51
-1
lines changed

sysbuild/Kconfig.mcuboot

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ config MCUBOOT_APPLICATION_IMAGE_NUMBER
6868
config MCUBOOT_NETWORK_CORE_IMAGE_NUMBER
6969
int
7070
default 1 if NETCORE_APP_UPDATE && !MCUBOOT_MODE_SINGLE_APP
71+
default 1 if BOOTLOADER_MCUBOOT && !NETCORE_NONE
7172
default -1
7273

7374
config MCUBOOT_WIFI_PATCHES_IMAGE_NUMBER

sysbuild/Kconfig.netcore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ config SUPPORT_NETCORE
1818
config NETCORE_REMOTE_BOARD_TARGET_CPUCLUSTER
1919
string
2020
default "cpunet" if SOC_NRF5340_CPUAPP
21-
default "cpurad" if SOC_NRF54H20_CPUAPP
21+
default "cpurad" if SOC_NRF54H20_CPUAPP && !SOC_NRF54H20_IRON
22+
default "cpurad/iron" if SOC_NRF54H20_IRON
2223

2324
config NETCORE_REMOTE_DOMAIN
2425
string
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Copyright (c) 2025 Nordic Semiconductor
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
# This sysbuild CMake file sets the sysbuild controlled settings as properties
6+
# on all images.
7+
8+
set_config_bool(${image} CONFIG_BOOTLOADER_MCUBOOT "${SB_CONFIG_BOOTLOADER_MCUBOOT}")
9+
set_config_string(${image} CONFIG_MCUBOOT_SIGNATURE_KEY_FILE
10+
"${SB_CONFIG_BOOT_SIGNATURE_KEY_FILE}"
11+
)
12+
set_config_string(${image} CONFIG_MCUBOOT_ENCRYPTION_KEY_FILE
13+
"${SB_CONFIG_BOOT_ENCRYPTION_KEY_FILE}"
14+
)
15+
16+
if(SB_CONFIG_BOOTLOADER_MCUBOOT)
17+
if("${SB_CONFIG_SIGNATURE_TYPE}" STREQUAL "NONE")
18+
set_config_bool(${image} CONFIG_MCUBOOT_GENERATE_UNSIGNED_IMAGE y)
19+
else()
20+
set_config_bool(${image} CONFIG_MCUBOOT_GENERATE_UNSIGNED_IMAGE n)
21+
endif()
22+
23+
if(SB_CONFIG_MCUBOOT_MODE_SINGLE_APP)
24+
set_config_bool(${image} CONFIG_MCUBOOT_BOOTLOADER_MODE_SINGLE_APP y)
25+
elseif(SB_CONFIG_MCUBOOT_MODE_SWAP_WITHOUT_SCRATCH)
26+
set_config_bool(${image} CONFIG_MCUBOOT_BOOTLOADER_MODE_SWAP_WITHOUT_SCRATCH y)
27+
elseif(SB_CONFIG_MCUBOOT_MODE_SWAP_SCRATCH)
28+
set_config_bool(${image} CONFIG_MCUBOOT_BOOTLOADER_MODE_SWAP_SCRATCH y)
29+
elseif(SB_CONFIG_MCUBOOT_MODE_OVERWRITE_ONLY)
30+
set_config_bool(${image} CONFIG_MCUBOOT_BOOTLOADER_MODE_OVERWRITE_ONLY y)
31+
elseif(SB_CONFIG_MCUBOOT_MODE_DIRECT_XIP)
32+
set_config_bool(${image} CONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP y)
33+
elseif(SB_CONFIG_MCUBOOT_MODE_DIRECT_XIP_WITH_REVERT)
34+
set_config_bool(${image} CONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP_WITH_REVERT y)
35+
elseif(SB_CONFIG_MCUBOOT_MODE_RAM_LOAD)
36+
# RAM load mode requires XIP be disabled and flash size be set to 0
37+
set_config_bool(${image} CONFIG_MCUBOOT_BOOTLOADER_MODE_RAM_LOAD y)
38+
set_config_bool(${image} CONFIG_XIP n)
39+
set_config_int(${image} CONFIG_FLASH_SIZE 0)
40+
elseif(SB_CONFIG_MCUBOOT_MODE_FIRMWARE_UPDATER)
41+
set_config_bool(${image} CONFIG_MCUBOOT_BOOTLOADER_MODE_FIRMWARE_UPDATER y)
42+
endif()
43+
endif()

sysbuild/netcore.cmake

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ if(SB_CONFIG_SUPPORT_NETCORE AND NOT SB_CONFIG_NETCORE_NONE AND DEFINED SB_CONFI
2121
BOARD ${board_target_netcore}
2222
BOARD_REVISION ${BOARD_REVISION}
2323
)
24+
if(SB_CONFIG_BOOTLOADER_MCUBOOT)
25+
set_target_properties(${SB_CONFIG_NETCORE_IMAGE_NAME} PROPERTIES
26+
IMAGE_CONF_SCRIPT ${ZEPHYR_NRF_MODULE_DIR}/sysbuild/image_configurations/updateable_image_default.cmake
27+
)
28+
endif()
2429

2530
if(NOT "${SB_CONFIG_NETCORE_IMAGE_DOMAIN}" IN_LIST PM_DOMAINS)
2631
list(APPEND PM_DOMAINS ${SB_CONFIG_NETCORE_IMAGE_DOMAIN})

0 commit comments

Comments
 (0)