Skip to content

Commit 7ec82ad

Browse files
ayla-nordicsemikartben
authored andcommitted
boards: nordic: add 'iron' board variant to application
- Add support of next generation secure firmware to nrf92 application core. Signed-off-by: Aymen LAOUINI <aymen.laouini@nordicsemi.no>
1 parent dab414f commit 7ec82ad

8 files changed

+219
-3
lines changed

boards/nordic/nrf9280pdk/Kconfig.defconfig

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,13 @@ config ASSERT
1919
default n if ZTEST
2020

2121
endif # BOARD_NRF9280PDK_NRF9280_CPUPPR
22+
23+
if BOARD_NRF9280PDK_NRF9280_CPUAPP_IRON
24+
25+
config ROM_START_OFFSET
26+
default 0x800 if BOOTLOADER_MCUBOOT
27+
28+
config FLASH_LOAD_OFFSET
29+
default $(dt_nodelabel_reg_addr_hex,cpuapp_boot_partition) if !USE_DT_CODE_PARTITION
30+
31+
endif # BOARD_NRF9280PDK_NRF9280_CPUAPP_IRON

boards/nordic/nrf9280pdk/Kconfig.nrf9280pdk

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

44
config BOARD_NRF9280PDK
5-
select SOC_NRF9280_CPUAPP if BOARD_NRF9280PDK_NRF9280_CPUAPP
5+
select SOC_NRF9280_CPUAPP if (BOARD_NRF9280PDK_NRF9280_CPUAPP || \
6+
BOARD_NRF9280PDK_NRF9280_CPUAPP_IRON)
67
select SOC_NRF9280_CPURAD if BOARD_NRF9280PDK_NRF9280_CPURAD
7-
select SOC_NRF9280_CPUPPR if BOARD_NRF9280PDK_NRF9280_CPUPPR || \
8-
BOARD_NRF9280PDK_NRF9280_CPUPPR_XIP
8+
select SOC_NRF9280_CPUPPR if (BOARD_NRF9280PDK_NRF9280_CPUPPR || \
9+
BOARD_NRF9280PDK_NRF9280_CPUPPR_XIP)
10+
select SOC_NRF9280_IRON if BOARD_NRF9280PDK_NRF9280_CPUAPP_IRON

boards/nordic/nrf9280pdk/board.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,5 @@ board:
77
variants:
88
- name: xip
99
cpucluster: cpuppr
10+
- name: iron
11+
cpucluster: cpuapp
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/* This file is to be merged with the original ipc_conf.dtsi in the future. */
8+
9+
/ {
10+
ipc {
11+
/delete-node/ ipc-1-2;
12+
/delete-node/ ipc-1-3;
13+
14+
cpusec_cpuapp_ipc: ipc-1-2 {
15+
compatible = "nordic,ironside-call";
16+
memory-region = <&cpusec_cpuapp_ipc_shm>;
17+
mboxes = <&cpusec_bellboard 12>,
18+
<&cpuapp_bellboard 0>;
19+
status = "disabled";
20+
};
21+
22+
cpusec_cpurad_ipc: ipc-1-3 {
23+
compatible = "nordic,ironside-call";
24+
memory-region = <&cpusec_cpurad_ipc_shm>;
25+
mboxes = <&cpusec_bellboard 18>,
26+
<&cpurad_bellboard 0>;
27+
status = "disabled";
28+
};
29+
};
30+
};
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/* This file is to be merged with the original memory_map.dtsi in the future.
8+
* The following nodes will be replaced:
9+
*/
10+
/delete-node/ &cpuapp_cpusys_ipc_shm;
11+
/delete-node/ &cpusec_cpuapp_ipc_shm;
12+
/delete-node/ &cpusys_cpuapp_ipc_shm;
13+
/delete-node/ &cpuapp_rw_partitions;
14+
/delete-node/ &cpuapp_rx_partitions;
15+
/delete-node/ &cpurad_rx_partitions;
16+
17+
/ {
18+
reserved-memory {
19+
cpuapp_cpusys_ipc_shm: memory@2f88f600 {
20+
reg = <0x2f88f600 0x80>;
21+
};
22+
23+
cpusys_cpuapp_ipc_shm: memory@2f88f680 {
24+
reg = <0x2f88f680 0x80>;
25+
};
26+
27+
cpusec_cpuapp_ipc_shm: memory@2f88fb80 {
28+
reg = <0x2f88fb80 0x80>;
29+
};
30+
31+
cpuapp_ironside_se_event_report: memory@2f88fc00 {
32+
reg = <0x2f88fc00 0x100>;
33+
};
34+
35+
cpuapp_ironside_se_boot_report: memory@2f88fd00 {
36+
reg = <0x2f88fd00 0x200>;
37+
};
38+
};
39+
};
40+
41+
&mram1x {
42+
partitions {
43+
compatible = "fixed-partitions";
44+
#address-cells = <1>;
45+
#size-cells = <1>;
46+
47+
cpuapp_boot_partition: partition@312000 {
48+
reg = <0x312000 DT_SIZE_K(64)>;
49+
};
50+
51+
cpuapp_slot0_partition: partition@322000 {
52+
reg = <0x322000 DT_SIZE_K(336)>;
53+
};
54+
55+
cpuapp_slot1_partition: partition@376000 {
56+
reg = <0x376000 DT_SIZE_K(440)>;
57+
};
58+
59+
cpuppr_code_partition: partition@3E4000 {
60+
reg = <0x3E4000 DT_SIZE_K(64)>;
61+
};
62+
63+
cpuflpr_code_partition: partition@3F4000 {
64+
reg = <0x3F4000 DT_SIZE_K(48)>;
65+
};
66+
67+
cpurad_slot0_partition: partition@400000 {
68+
reg = <0x400000 DT_SIZE_K(336)>;
69+
};
70+
71+
cpurad_slot1_partition: partition@454000 {
72+
reg = <0x454000 DT_SIZE_K(336)>;
73+
};
74+
75+
storage_partition: partition@600000 {
76+
reg = <0x600000 DT_SIZE_K(40)>;
77+
};
78+
};
79+
};
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include "nrf9280pdk_nrf9280_cpuapp.dts"
8+
#include "nrf9280pdk_nrf9280-ipc_conf_iron.dtsi"
9+
#include "nrf9280pdk_nrf9280-memory_map_iron.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+
ironside_se_boot_report: &cpuapp_ironside_se_boot_report {};
30+
31+
boot_partition: &cpuapp_boot_partition {
32+
label = "mcuboot";
33+
};
34+
35+
slot0_partition: &cpuapp_slot0_partition {
36+
label = "image-0";
37+
};
38+
39+
slot1_partition: &cpuapp_slot1_partition {
40+
label = "image-1";
41+
};
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Copyright (c) 2025 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
identifier: nrf9280pdk/nrf9280/cpuapp/iron
5+
name: nRF9280-DK-nRF9280-Application
6+
type: mcu
7+
arch: arm
8+
toolchain:
9+
- gnuarmemb
10+
- xtools
11+
- zephyr
12+
sysbuild: true
13+
ram: 512
14+
flash: 1024
15+
supported:
16+
- adc
17+
- counter
18+
- gpio
19+
- i2c
20+
- pwm
21+
- spi
22+
- watchdog
23+
- 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 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+
# 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)