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>
This commit is contained in:
Håkon Amundsen 2025-03-19 15:11:32 +01:00 committed by Benjamin Cabé
commit 1fac1b917f
11 changed files with 131 additions and 3 deletions

View file

@ -2,9 +2,11 @@
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
config BOARD_NRF54H20DK config BOARD_NRF54H20DK
select SOC_NRF54H20_CPUAPP if BOARD_NRF54H20DK_NRF54H20_CPUAPP select SOC_NRF54H20_CPUAPP if (BOARD_NRF54H20DK_NRF54H20_CPUAPP || \
BOARD_NRF54H20DK_NRF54H20_CPUAPP_IRON)
select SOC_NRF54H20_CPURAD if BOARD_NRF54H20DK_NRF54H20_CPURAD select SOC_NRF54H20_CPURAD if BOARD_NRF54H20DK_NRF54H20_CPURAD
select SOC_NRF54H20_CPUPPR if (BOARD_NRF54H20DK_NRF54H20_CPUPPR || \ select SOC_NRF54H20_CPUPPR if (BOARD_NRF54H20DK_NRF54H20_CPUPPR || \
BOARD_NRF54H20DK_NRF54H20_CPUPPR_XIP) BOARD_NRF54H20DK_NRF54H20_CPUPPR_XIP)
select SOC_NRF54H20_CPUFLPR if (BOARD_NRF54H20DK_NRF54H20_CPUFLPR || \ select SOC_NRF54H20_CPUFLPR if (BOARD_NRF54H20DK_NRF54H20_CPUFLPR || \
BOARD_NRF54H20DK_NRF54H20_CPUFLPR_XIP) BOARD_NRF54H20DK_NRF54H20_CPUFLPR_XIP)
select SOC_NRF54H20_IRON if BOARD_NRF54H20DK_NRF54H20_CPUAPP_IRON

View file

@ -9,6 +9,8 @@ board:
cpucluster: cpuppr cpucluster: cpuppr
- name: xip - name: xip
cpucluster: cpuflpr cpucluster: cpuflpr
- name: iron
cpucluster: cpuapp
revision: revision:
format: major.minor.patch format: major.minor.patch
default: "0.9.0" default: "0.9.0"

View file

@ -0,0 +1,36 @@
/*
* Copyright (c) 2025 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "nrf54h20dk_nrf54h20_cpuapp.dts"
/delete-node/&cpurad_rx_partitions;
/delete-node/&cpuapp_rx_partitions;
/delete-node/&cpusec_cpuapp_ipc;
/* This is not yet an exhaustive memory map, and contain only a minimum required to boot
* the application core.
*/
&mram1x {
cpuapp_rx_partitions: cpuapp-rx-partitions {
compatible = "nordic,owned-partitions", "fixed-partitions";
nordic,access = <NRF_OWNER_ID_APPLICATION NRF_PERM_RXS>;
#address-cells = <1>;
#size-cells = <1>;
cpuapp_slot0_partition: partition@2c000 {
reg = <0x2c000 DT_SIZE_K(480)>;
};
cpuppr_code_partition: partition@a4000 {
reg = <0xa4000 DT_SIZE_K(64)>;
};
cpuflpr_code_partition: partition@b4000 {
reg = <0xb4000 DT_SIZE_K(48)>;
};
};
};

View file

@ -0,0 +1,25 @@
# Copyright (c) 2025 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
identifier: nrf54h20dk/nrf54h20/cpuapp/iron
name: nRF54H20-DK-nRF54H20-Application (IRONside compatible) (revision 0.9.0)
type: mcu
arch: arm
toolchain:
- gnuarmemb
- xtools
- zephyr
sysbuild: true
ram: 256
flash: 480
supported:
- adc
- can
- counter
- gpio
- i2c
- pwm
- retained_mem
- spi
- watchdog
- usbd

View file

@ -0,0 +1,31 @@
# Copyright (c) 2025 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
# Enable UART driver
CONFIG_SERIAL=y
# Enable console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
CONFIG_USE_DT_CODE_PARTITION=y
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# MPU-based null-pointer dereferencing detection cannot be applied
# as the (0x0 - 0x400) region is unmapped for this target.
CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y
# Enable cache
CONFIG_CACHE_MANAGEMENT=y
CONFIG_EXTERNAL_CACHE=y
# Enable GPIO
CONFIG_GPIO=y
# UICR generation is not supported, and when reintroduced will not use nrf-regtool.
CONFIG_NRF_REGTOOL_GENERATE_UICR=n

View file

@ -0,0 +1,8 @@
/*
* Copyright 2025 Nordic Semiconductor ASA
* SPDX-License-Identifier: Apache-2.0
*/
&wdt010 {
status = "okay";
};

View file

@ -361,6 +361,9 @@ class NrfBinaryRunner(ZephyrBinaryRunner):
) )
if self.erase: if self.erase:
if self.build_conf.get('CONFIG_SOC_NRF54H20_IRON'):
self.exec_op('erase', kind='all')
else:
self.exec_op('erase', core='Application', kind='all') self.exec_op('erase', core='Application', kind='all')
self.exec_op('erase', core='Network', kind='all') self.exec_op('erase', core='Network', kind='all')

View file

@ -33,5 +33,10 @@ config SOC_NRF54H20_CPUFLPR
help help
nRF54H20 CPUFLPR nRF54H20 CPUFLPR
config SOC_NRF54H20_IRON
bool
help
Indicates that local domain firmware is compatible with Nordic IRONside SE.
config SOC config SOC
default "nrf54h20" if SOC_NRF54H20 default "nrf54h20" if SOC_NRF54H20

View file

@ -0,0 +1,6 @@
/*
* Copyright (c) 2025 Nordic Semiconductor
* SPDX-License-Identifier: Apache-2.0
*/
#include "nrf54h20dk_nrf54h20_common.dtsi"

View file

@ -0,0 +1,2 @@
# Disable dcache
CONFIG_DCACHE=n

View file

@ -0,0 +1,8 @@
/*
* Copyright 2025 Nordic Semiconductor ASA
* SPDX-License-Identifier: Apache-2.0
*/
&wdt010 {
status = "okay";
};