Skip to content

Commit 1fac1b9

Browse files
hakonfamkartben
authored andcommitted
boards: nordic: add 'iron' board variant
This is needed for next generation Secure Domain firmware. Signed-off-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
1 parent 785e365 commit 1fac1b9

File tree

11 files changed

+131
-3
lines changed

11 files changed

+131
-3
lines changed

boards/nordic/nrf54h20dk/Kconfig.nrf54h20dk

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
# SPDX-License-Identifier: Apache-2.0
33

44
config BOARD_NRF54H20DK
5-
select SOC_NRF54H20_CPUAPP if BOARD_NRF54H20DK_NRF54H20_CPUAPP
5+
select SOC_NRF54H20_CPUAPP if (BOARD_NRF54H20DK_NRF54H20_CPUAPP || \
6+
BOARD_NRF54H20DK_NRF54H20_CPUAPP_IRON)
67
select SOC_NRF54H20_CPURAD if BOARD_NRF54H20DK_NRF54H20_CPURAD
78
select SOC_NRF54H20_CPUPPR if (BOARD_NRF54H20DK_NRF54H20_CPUPPR || \
89
BOARD_NRF54H20DK_NRF54H20_CPUPPR_XIP)
910
select SOC_NRF54H20_CPUFLPR if (BOARD_NRF54H20DK_NRF54H20_CPUFLPR || \
1011
BOARD_NRF54H20DK_NRF54H20_CPUFLPR_XIP)
12+
select SOC_NRF54H20_IRON if BOARD_NRF54H20DK_NRF54H20_CPUAPP_IRON

boards/nordic/nrf54h20dk/board.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ board:
99
cpucluster: cpuppr
1010
- name: xip
1111
cpucluster: cpuflpr
12+
- name: iron
13+
cpucluster: cpuapp
1214
revision:
1315
format: major.minor.patch
1416
default: "0.9.0"
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include "nrf54h20dk_nrf54h20_cpuapp.dts"
8+
9+
/delete-node/&cpurad_rx_partitions;
10+
/delete-node/&cpuapp_rx_partitions;
11+
/delete-node/&cpusec_cpuapp_ipc;
12+
13+
/* This is not yet an exhaustive memory map, and contain only a minimum required to boot
14+
* the application core.
15+
*/
16+
17+
&mram1x {
18+
cpuapp_rx_partitions: cpuapp-rx-partitions {
19+
compatible = "nordic,owned-partitions", "fixed-partitions";
20+
nordic,access = <NRF_OWNER_ID_APPLICATION NRF_PERM_RXS>;
21+
#address-cells = <1>;
22+
#size-cells = <1>;
23+
24+
cpuapp_slot0_partition: partition@2c000 {
25+
reg = <0x2c000 DT_SIZE_K(480)>;
26+
};
27+
28+
cpuppr_code_partition: partition@a4000 {
29+
reg = <0xa4000 DT_SIZE_K(64)>;
30+
};
31+
32+
cpuflpr_code_partition: partition@b4000 {
33+
reg = <0xb4000 DT_SIZE_K(48)>;
34+
};
35+
};
36+
};
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Copyright (c) 2025 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
identifier: nrf54h20dk/nrf54h20/cpuapp/iron
5+
name: nRF54H20-DK-nRF54H20-Application (IRONside compatible) (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: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Copyright (c) 2025 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
# Enable UART driver
5+
CONFIG_SERIAL=y
6+
7+
# Enable console
8+
CONFIG_CONSOLE=y
9+
CONFIG_UART_CONSOLE=y
10+
11+
CONFIG_USE_DT_CODE_PARTITION=y
12+
13+
# Enable MPU
14+
CONFIG_ARM_MPU=y
15+
16+
# Enable hardware stack protection
17+
CONFIG_HW_STACK_PROTECTION=y
18+
19+
# MPU-based null-pointer dereferencing detection cannot be applied
20+
# as the (0x0 - 0x400) region is unmapped for this target.
21+
CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y
22+
23+
# Enable cache
24+
CONFIG_CACHE_MANAGEMENT=y
25+
CONFIG_EXTERNAL_CACHE=y
26+
27+
# Enable GPIO
28+
CONFIG_GPIO=y
29+
30+
# UICR generation is not supported, and when reintroduced will not use nrf-regtool.
31+
CONFIG_NRF_REGTOOL_GENERATE_UICR=n
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/*
2+
* Copyright 2025 Nordic Semiconductor ASA
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
&wdt010 {
7+
status = "okay";
8+
};

scripts/west_commands/runners/nrf_common.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -361,8 +361,11 @@ def program_hex(self):
361361
)
362362

363363
if self.erase:
364-
self.exec_op('erase', core='Application', kind='all')
365-
self.exec_op('erase', core='Network', kind='all')
364+
if self.build_conf.get('CONFIG_SOC_NRF54H20_IRON'):
365+
self.exec_op('erase', kind='all')
366+
else:
367+
self.exec_op('erase', core='Application', kind='all')
368+
self.exec_op('erase', core='Network', kind='all')
366369

367370
# Manage SUIT artifacts.
368371
# This logic should be executed only once per build.

soc/nordic/nrf54h/Kconfig.soc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,10 @@ config SOC_NRF54H20_CPUFLPR
3333
help
3434
nRF54H20 CPUFLPR
3535

36+
config SOC_NRF54H20_IRON
37+
bool
38+
help
39+
Indicates that local domain firmware is compatible with Nordic IRONside SE.
40+
3641
config SOC
3742
default "nrf54h20" if SOC_NRF54H20
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
#include "nrf54h20dk_nrf54h20_common.dtsi"
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Disable dcache
2+
CONFIG_DCACHE=n
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/*
2+
* Copyright 2025 Nordic Semiconductor ASA
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
&wdt010 {
7+
status = "okay";
8+
};

0 commit comments

Comments
 (0)