Skip to content

Commit 9001d21

Browse files
committed
boards: Added nrf54h20dk/nrf54h20/cpuapp/iron/b0/mcuboot variant
Added as an extension to the nrf54h20dk board. Signed-off-by: Artur Hadasz <[email protected]>
1 parent ab3d000 commit 9001d21

10 files changed

+274
-0
lines changed

CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
/boards/nordic/nrf54l*/ @nrfconnect/ncs-co-boards @kl-cruz
5353
/boards/nordic/nrf52* @nrfconnect/ncs-co-boards @nrfconnect/ncs-si-bluebagel
5454
/boards/nordic/thingy91* @nrfconnect/ncs-co-boards @nrfconnect/ncs-cia
55+
/boards/nordic/nrf54h20dk/ @nrfconnect/ncs-charon
5556
/boards/shields/coverage_support/ @nrfconnect/ncs-low-level-test
5657
/boards/shields/nrf2220ek/ @nrfconnect/ncs-radio-sw
5758
/boards/shields/nrf2240ek/ @nrfconnect/ncs-radio-sw
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Copyright (c) 2025 Nordic Semiconductor
2+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
3+
4+
if BOARD_NRF54H20DK_NRF54H20_CPUAPP_IRON_B0_MCUBOOT
5+
6+
config ROM_START_OFFSET
7+
default 0x800 if BOOTLOADER_MCUBOOT || (MCUBOOT && SECURE_BOOT)
8+
9+
endif # BOARD_NRF54H20DK_NRF54H20_CPUAPP_IRON_B0_MCUBOOT
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Copyright (c) 2025 Nordic Semiconductor
2+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
3+
4+
config BOARD_NRF54H20DK
5+
select SOC_NRF54H20_CPUAPP if (BOARD_NRF54H20DK_NRF54H20_CPUAPP_IRON_B0_MCUBOOT)
6+
select SOC_NRF54H20_IRON if (BOARD_NRF54H20DK_NRF54H20_CPUAPP_IRON_B0_MCUBOOT)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Copyright (c) 2025 Nordic Semiconductor
2+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
3+
4+
config SECURE_BOOT_APPCORE
5+
default y if BOARD_NRF54H20DK_NRF54H20_CPUAPP_IRON_B0_MCUBOOT
6+
7+
choice BOOTLOADER
8+
default BOOTLOADER_MCUBOOT if BOARD_NRF54H20DK_NRF54H20_CPUAPP_IRON_B0_MCUBOOT
9+
10+
endchoice
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#
2+
# Copyright (c) 2025 Nordic Semiconductor
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
include(${ZEPHYR_BASE}/boards/common/nrfutil.board.cmake)
8+
9+
if(CONFIG_BOARD_NRF54H20DK_NRF54H20_CPUAPP_IRON_B0_MCUBOOT)
10+
if(CONFIG_SOC_NRF54H20_CPUAPP)
11+
set(JLINKSCRIPTFILE ${CMAKE_CURRENT_LIST_DIR}/support/nrf54h20_cpuapp.JLinkScript)
12+
else()
13+
set(JLINKSCRIPTFILE ${CMAKE_CURRENT_LIST_DIR}/support/nrf54h20_cpurad.JLinkScript)
14+
endif()
15+
16+
board_runner_args(jlink "--device=CORTEX-M33" "--speed=4000" "--tool-opt=-jlinkscriptfile ${JLINKSCRIPTFILE}")
17+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
18+
endif()

boards/nordic/nrf54h20dk/board.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
board:
2+
extend: nrf54h20dk
3+
variants:
4+
- name: b0/mcuboot
5+
qualifier: nrf54h20/cpuapp/iron
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
8+
/* This file is to be merged with the original memory_map.dtsi in the future.
9+
* The following nodes will be replaced:
10+
*/
11+
/delete-node/ &cpuapp_cpusec_ipc_shm;
12+
/delete-node/ &cpuapp_cpusys_ipc_shm;
13+
/delete-node/ &cpurad_cpusec_ipc_shm;
14+
/delete-node/ &cpurad_cpusys_ipc_shm;
15+
/delete-node/ &cpusec_cpuapp_ipc_shm;
16+
/delete-node/ &cpusec_cpurad_ipc_shm;
17+
/delete-node/ &cpusys_cpuapp_ipc_shm;
18+
/delete-node/ &cpusys_cpurad_ipc_shm;
19+
/delete-node/ &cpuapp_rw_partitions;
20+
/delete-node/ &cpuapp_rx_partitions;
21+
/delete-node/ &cpurad_rx_partitions;
22+
23+
/ {
24+
reserved-memory {
25+
cpuapp_cpusys_ipc_shm: memory@2f88f600 {
26+
reg = <0x2f88f600 0x80>;
27+
};
28+
29+
cpusys_cpuapp_ipc_shm: memory@2f88f680 {
30+
reg = <0x2f88f680 0x80>;
31+
};
32+
33+
cpurad_cpusys_ipc_shm: memory@2f88f700 {
34+
reg = <0x2f88f700 0x80>;
35+
};
36+
37+
cpusys_cpurad_ipc_shm: memory@2f88f780 {
38+
reg = <0x2f88f780 0x80>;
39+
};
40+
41+
cpusec_cpurad_ipc_shm: memory@2f88f800 {
42+
reg = <0x2f88f800 0x80>;
43+
};
44+
45+
cpurad_ironside_se_event_report: memory@2f88f880 {
46+
reg = <0x2f88f880 0x100>;
47+
};
48+
49+
cpurad_ironside_se_boot_report: memory@2f88f980 {
50+
reg = <0x2f88f980 0x200>;
51+
};
52+
53+
cpusec_cpuapp_ipc_shm: memory@2f88fb80 {
54+
reg = <0x2f88fb80 0x80>;
55+
};
56+
57+
cpuapp_ironside_se_event_report: memory@2f88fc00 {
58+
reg = <0x2f88fc00 0x100>;
59+
};
60+
61+
cpuapp_ironside_se_boot_report: memory@2f88fd00 {
62+
reg = <0x2f88fd00 0x200>;
63+
};
64+
};
65+
};
66+
67+
&mram1x {
68+
partitions {
69+
compatible = "fixed-partitions";
70+
#address-cells = <1>;
71+
#size-cells = <1>;
72+
73+
cpuapp_b0_partition: partition@2c000 {
74+
reg = <0x2c000 DT_SIZE_K(62)>;
75+
};
76+
77+
cpuapp_provision_partition: partition@3b800 {
78+
reg = <0x3b800 DT_SIZE_K(2)>;
79+
};
80+
81+
cpuapp_s0_partition: partition@3c000 {
82+
reg = <0x3c000 DT_SIZE_K(64)>;
83+
};
84+
85+
cpuapp_s1_partition: partition@4c000 {
86+
reg = <0x4c000 DT_SIZE_K(64)>;
87+
};
88+
89+
cpuapp_slot0_partition: partition@5c000 {
90+
reg = <0x5c000 DT_SIZE_K(336)>;
91+
};
92+
93+
cpurad_slot0_partition: partition@b0000 {
94+
reg = <0xb0000 DT_SIZE_K(272)>;
95+
};
96+
97+
cpuppr_code_partition: partition@f4000 {
98+
reg = <0xf4000 DT_SIZE_K(64)>;
99+
};
100+
101+
cpuflpr_code_partition: partition@104000 {
102+
reg = <0x104000 DT_SIZE_K(48)>;
103+
};
104+
105+
cpuapp_slot1_partition: partition@110000 {
106+
reg = <0x110000 DT_SIZE_K(336)>;
107+
};
108+
109+
cpurad_slot1_partition: partition@164000 {
110+
reg = <0x164000 DT_SIZE_K(272)>;
111+
};
112+
113+
storage_partition: partition@1a8000 {
114+
reg = <0x1a8000 DT_SIZE_K(40)>;
115+
};
116+
};
117+
};
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
#include "../../../../zephyr/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp.dts"
8+
#include "../../../../zephyr/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-ipc_conf_iron.dtsi"
9+
#include "nrf54h20dk_nrf54h20-memory_map_iron_b0_mcuboot.dtsi"
10+
11+
/delete-node/ &cpusec_cpurad_ipc;
12+
13+
/ {
14+
chosen {
15+
zephyr,code-partition = &slot0_partition;
16+
zephyr,uart-mcumgr = &uart136;
17+
};
18+
};
19+
20+
&cpusec_bellboard {
21+
status = "okay";
22+
};
23+
24+
&cpusec_cpuapp_ipc {
25+
mbox-names = "tx", "rx";
26+
status = "okay";
27+
};
28+
29+
b0_partition: &cpuapp_b0_partition {
30+
label = "b0";
31+
};
32+
33+
provision_partition: &cpuapp_provision_partition {
34+
label = "provision";
35+
};
36+
37+
s0_partition: &cpuapp_s0_partition {
38+
};
39+
40+
s1_partition: &cpuapp_s1_partition {
41+
label = "s1-image";
42+
};
43+
44+
slot0_partition: &cpuapp_slot0_partition {
45+
label = "image-0";
46+
};
47+
48+
slot1_partition: &cpuapp_slot1_partition {
49+
label = "image-1";
50+
};
51+
52+
boot_partition: &s0_partition {
53+
label = "mcuboot";
54+
};
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Copyright (c) 2025 Nordic Semiconductor
2+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
3+
4+
identifier: nrf54h20dk/nrf54h20/cpuapp/iron/b0/mcuboot
5+
name: nRF54H20-DK-nRF54H20-Application (IRONside compatible) with MCUBOOT and NSIB (revision 0.9.0)
6+
type: mcu
7+
arch: arm
8+
toolchain:
9+
- gnuarmemb
10+
- xtools
11+
- zephyr
12+
sysbuild: true
13+
ram: 256
14+
flash: 480
15+
supported:
16+
- adc
17+
- can
18+
- counter
19+
- gpio
20+
- i2c
21+
- pwm
22+
- retained_mem
23+
- spi
24+
- watchdog
25+
- usbd
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Copyright (c) 2025 Nordic Semiconductor
2+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
3+
4+
# Enable UART driver
5+
CONFIG_SERIAL=y
6+
7+
# Enable console
8+
CONFIG_CONSOLE=y
9+
CONFIG_UART_CONSOLE=y
10+
11+
# Enable MPU
12+
CONFIG_ARM_MPU=y
13+
14+
# Enable hardware stack protection
15+
CONFIG_HW_STACK_PROTECTION=y
16+
17+
# MPU-based null-pointer dereferencing detection cannot be applied
18+
# as the (0x0 - 0x400) region is unmapped for this target.
19+
CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y
20+
21+
# Enable cache
22+
CONFIG_CACHE_MANAGEMENT=y
23+
CONFIG_EXTERNAL_CACHE=y
24+
25+
# Enable GPIO
26+
CONFIG_GPIO=y
27+
28+
# UICR generation is not supported, and when reintroduced will not use nrf-regtool.
29+
CONFIG_NRF_REGTOOL_GENERATE_UICR=n

0 commit comments

Comments
 (0)