diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_iron.dts b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_iron.dts index dbd20dafc85..d455e200b0b 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_iron.dts +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_iron.dts @@ -22,6 +22,8 @@ status = "okay"; }; +ironside_se_boot_report: &cpuapp_ironside_se_boot_report {}; + boot_partition: &cpuapp_boot_partition { label = "mcuboot"; }; diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad_iron.dts b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad_iron.dts index d9f2ec40f6f..669143a79da 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad_iron.dts +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad_iron.dts @@ -15,7 +15,6 @@ }; }; - &cpusec_cpurad_ipc { mbox-names = "tx", "rx"; status = "okay"; diff --git a/drivers/firmware/nrf_ironside/CMakeLists.txt b/drivers/firmware/nrf_ironside/CMakeLists.txt index d21a132d67d..bc2adf842ed 100644 --- a/drivers/firmware/nrf_ironside/CMakeLists.txt +++ b/drivers/firmware/nrf_ironside/CMakeLists.txt @@ -5,5 +5,6 @@ zephyr_library() zephyr_library_sources_ifdef(CONFIG_NRF_IRONSIDE_CALL call.c) +zephyr_library_sources_ifdef(CONFIG_NRF_IRONSIDE_BOOT_REPORT boot_report.c) zephyr_library_sources_ifdef(CONFIG_NRF_IRONSIDE_CPUCONF_SERVICE cpuconf.c) zephyr_library_sources_ifdef(CONFIG_NRF_IRONSIDE_UPDATE_SERVICE update.c) diff --git a/drivers/firmware/nrf_ironside/Kconfig b/drivers/firmware/nrf_ironside/Kconfig index 97e3604bf72..e009df4df05 100644 --- a/drivers/firmware/nrf_ironside/Kconfig +++ b/drivers/firmware/nrf_ironside/Kconfig @@ -43,4 +43,11 @@ config NRF_IRONSIDE_UPDATE_SERVICE help Service used to update the IRONside SE firmware. +config NRF_IRONSIDE_BOOT_REPORT + bool "IRONside boot report" + depends on $(dt_nodelabel_exists,ironside_se_boot_report) + select NRF_IRONSIDE + help + Support for parsing the Boot Report populated by Nordic IRONside firmware. + endmenu diff --git a/drivers/firmware/nrf_ironside/boot_report.c b/drivers/firmware/nrf_ironside/boot_report.c new file mode 100644 index 00000000000..ee3e5ff3042 --- /dev/null +++ b/drivers/firmware/nrf_ironside/boot_report.c @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2025 Nordic Semiconductor ASA + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include +#include + +#define IRONSIDE_SE_BOOT_REPORT_ADDR DT_REG_ADDR(DT_NODELABEL(ironside_se_boot_report)) + +int ironside_boot_report_get(const struct ironside_boot_report **report) +{ + const struct ironside_boot_report *tmp_report = (void *)IRONSIDE_SE_BOOT_REPORT_ADDR; + + if (tmp_report->magic != IRONSIDE_BOOT_REPORT_MAGIC) { + return -EINVAL; + } + + *report = tmp_report; + + return 0; +} diff --git a/drivers/firmware/nrf_ironside/cpuconf.c b/drivers/firmware/nrf_ironside/cpuconf.c index 93627eaca37..a8377ae0f93 100644 --- a/drivers/firmware/nrf_ironside/cpuconf.c +++ b/drivers/firmware/nrf_ironside/cpuconf.c @@ -12,19 +12,38 @@ #include #include -int ironside_cpuconf(NRF_PROCESSORID_Type cpu, void *vector_table, bool cpu_wait, uint8_t *msg, - size_t msg_size) +#define CPU_PARAMS_CPU_OFFSET (0) +#define CPU_PARAMS_CPU_MASK (0xF) +#define CPU_PARAMS_WAIT_BIT BIT(4) + +int ironside_cpuconf(NRF_PROCESSORID_Type cpu, const void *vector_table, bool cpu_wait, + const uint8_t *msg, size_t msg_size) { int err; - struct ironside_call_buf *const buf = ironside_call_alloc(); + struct ironside_call_buf *buf; + uint8_t *buf_msg; + + if (msg_size > IRONSIDE_CPUCONF_SERVICE_MSG_MAX_SIZE) { + return -IRONSIDE_CPUCONF_ERROR_MESSAGE_TOO_LARGE; + } + + buf = ironside_call_alloc(); buf->id = IRONSIDE_CALL_ID_CPUCONF_V0; - buf->args[IRONSIDE_CPUCONF_SERVICE_CPU_IDX] = cpu; + buf->args[IRONSIDE_CPUCONF_SERVICE_CPU_PARAMS_IDX] = + (((uint32_t)cpu << CPU_PARAMS_CPU_OFFSET) & CPU_PARAMS_CPU_MASK) | + (cpu_wait ? CPU_PARAMS_WAIT_BIT : 0); + buf->args[IRONSIDE_CPUCONF_SERVICE_VECTOR_TABLE_IDX] = (uint32_t)vector_table; - buf->args[IRONSIDE_CPUCONF_SERVICE_CPU_WAIT_IDX] = cpu_wait; - buf->args[IRONSIDE_CPUCONF_SERVICE_MSG_IDX] = (uint32_t)msg; - buf->args[IRONSIDE_CPUCONF_SERVICE_MSG_SIZE_IDX] = msg_size; + + buf_msg = (uint8_t *)&buf->args[IRONSIDE_CPUCONF_SERVICE_MSG_0]; + if (msg_size > 0) { + memcpy(buf_msg, msg, msg_size); + } + if (msg_size < IRONSIDE_CPUCONF_SERVICE_MSG_MAX_SIZE) { + memset(&buf_msg[msg_size], 0, IRONSIDE_CPUCONF_SERVICE_MSG_MAX_SIZE - msg_size); + } ironside_call_dispatch(buf); diff --git a/include/zephyr/drivers/firmware/nrf_ironside/boot_report.h b/include/zephyr/drivers/firmware/nrf_ironside/boot_report.h new file mode 100644 index 00000000000..8a209b8788d --- /dev/null +++ b/include/zephyr/drivers/firmware/nrf_ironside/boot_report.h @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2025 Nordic Semiconductor ASA + * SPDX-License-Identifier: Apache-2.0 + */ + +#ifndef ZEPHYR_INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_NRF_IRONSIDE_BOOT_REPORT_H_ +#define ZEPHYR_INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_NRF_IRONSIDE_BOOT_REPORT_H_ + +#include +#include + +/** Constant used to check if an Nordic IRONside SE boot report has been written. */ +#define IRONSIDE_BOOT_REPORT_MAGIC (0x4d69546fUL) +/** Length of the local domain context buffer in bytes. */ +#define IRONSIDE_BOOT_REPORT_LOCAL_DOMAIN_CONTEXT_SIZE (16UL) +/** Length of the random data buffer in bytes. */ +#define IRONSIDE_BOOT_REPORT_RANDOM_DATA_SIZE (32UL) + +/** @brief IRONside version structure. */ +struct ironside_version { + /** Wrapping sequence number ranging from 1-126, incremented for each release. */ + uint8_t seqnum; + /** Path version. */ + uint8_t patch; + /** Minor version. */ + uint8_t minor; + /** Major version. */ + uint8_t major; + /** Human readable extraversion string. */ + char extraversion[12]; +}; + +/** @brief UICR error description contained in the boot report. */ +struct ironside_boot_report_uicr_error { + /** The type of error. A value of 0 indicates no error */ + uint32_t error_type; + /** Error descriptions specific to each type of UICR error */ + union { + /** RFU */ + struct { + uint32_t rfu[4]; + } rfu; + } description; +}; + +/** @brief IRONside boot report. */ +struct ironside_boot_report { + /** Magic value used to identify valid boot report */ + uint32_t magic; + /** Firmware version of IRONside SE. */ + struct ironside_version ironside_se_version; + /** Firmware version of IRONside SE recovery firmware. */ + struct ironside_version ironside_se_recovery_version; + /** Copy of SICR.UROT.UPDATE.STATUS.*/ + uint32_t ironside_update_status; + /** See @ref ironside_boot_report_uicr_error */ + struct ironside_boot_report_uicr_error uicr_error_description; + /** Data passed from booting local domain to local domain being booted */ + uint8_t local_domain_context[IRONSIDE_BOOT_REPORT_LOCAL_DOMAIN_CONTEXT_SIZE]; + /** CSPRNG data */ + uint8_t random_data[IRONSIDE_BOOT_REPORT_RANDOM_DATA_SIZE]; + /** Reserved for Future Use */ + uint32_t rfu[64]; +}; + +/** + * @brief Get a pointer to the IRONside boot report. + * + * @param[out] report Will be set to point to the IRONside boot report. + * + * @retval 0 if successful. + * @retval -EFAULT if the magic field in the report is incorrect. + * @retval -EINVAL if @p report is NULL. + */ +int ironside_boot_report_get(const struct ironside_boot_report **report); + +#endif /* ZEPHYR_INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_NRF_IRONSIDE_BOOT_REPORT_H_ */ diff --git a/include/zephyr/drivers/firmware/nrf_ironside/cpuconf.h b/include/zephyr/drivers/firmware/nrf_ironside/cpuconf.h index c0b19e1d3f4..e6f2150b6e2 100644 --- a/include/zephyr/drivers/firmware/nrf_ironside/cpuconf.h +++ b/include/zephyr/drivers/firmware/nrf_ironside/cpuconf.h @@ -6,17 +6,21 @@ #ifndef ZEPHYR_INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_NRF_IRONSIDE_CPUCONF_H_ #define ZEPHYR_INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_NRF_IRONSIDE_CPUCONF_H_ +#include +#include #include - #include +#include /** * @name CPUCONF service error codes. * @{ */ -#define IRONSIDE_CPUCONF_ERROR_WRONG_CPU 0x5eb2 -#define IRONSIDE_CPUCONF_ERROR_MEM_ACCESS_NOT_PERMITTED 0x5eb1 +/** An invalid or unsupported processor ID was specified. */ +#define IRONSIDE_CPUCONF_ERROR_WRONG_CPU (1) +/** The boot message is too large to fit in the buffer. */ +#define IRONSIDE_CPUCONF_ERROR_MESSAGE_TOO_LARGE (2) /** * @} @@ -25,15 +29,19 @@ #define IRONSIDE_CALL_ID_CPUCONF_V0 2 enum { - IRONSIDE_CPUCONF_SERVICE_CPU_IDX, + IRONSIDE_CPUCONF_SERVICE_CPU_PARAMS_IDX, IRONSIDE_CPUCONF_SERVICE_VECTOR_TABLE_IDX, - IRONSIDE_CPUCONF_SERVICE_CPU_WAIT_IDX, - IRONSIDE_CPUCONF_SERVICE_MSG_IDX, - IRONSIDE_CPUCONF_SERVICE_MSG_SIZE_IDX, + IRONSIDE_CPUCONF_SERVICE_MSG_0, + IRONSIDE_CPUCONF_SERVICE_MSG_1, + IRONSIDE_CPUCONF_SERVICE_MSG_2, + IRONSIDE_CPUCONF_SERVICE_MSG_3, /* The last enum value is reserved for the number of arguments */ IRONSIDE_CPUCONF_NUM_ARGS }; +/* Maximum size of the CPUCONF message parameter. */ +#define IRONSIDE_CPUCONF_SERVICE_MSG_MAX_SIZE (4 * sizeof(uint32_t)) + /* IDX 0 is re-used by the error return code and the 'cpu' parameter. */ #define IRONSIDE_CPUCONF_SERVICE_RETCODE_IDX 0 @@ -51,13 +59,16 @@ BUILD_ASSERT(IRONSIDE_CPUCONF_NUM_ARGS <= NRF_IRONSIDE_CALL_NUM_ARGS); * @note cpu_wait is only intended to be enabled for debug purposes * and it is only supported that a debugger resumes the CPU. * + * @note the call always sends IRONSIDE_CPUCONF_SERVICE_MSG_MAX_SIZE message bytes. + * If the given msg_size is less than that, the remaining bytes are set to zero. + * * @retval 0 on success or if the CPU has already booted. * @retval Positive non-0 error status if reported by IRONside call. * @retval -IRONSIDE_CPUCONF_ERROR_WRONG_CPU if cpu is unrecognized - * @retval -IRONSIDE_CPUCONF_ERROR_MEM_ACCESS_NOT_PERMITTED - * if the CPU does not have read access configured for the vector_table address + * @retval -IRONSIDE_CPUCONF_ERROR_MESSAGE_TOO_LARGE if msg_size is greater than + * IRONSIDE_CPUCONF_SERVICE_MSG_MAX_SIZE. */ -int ironside_cpuconf(NRF_PROCESSORID_Type cpu, void *vector_table, bool cpu_wait, uint8_t *msg, - size_t msg_size); +int ironside_cpuconf(NRF_PROCESSORID_Type cpu, const void *vector_table, bool cpu_wait, + const uint8_t *msg, size_t msg_size); #endif /* ZEPHYR_INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_NRF_IRONSIDE_CPUCONF_H_ */ diff --git a/samples/boards/nordic/nrf_ironside/update/prj.conf b/samples/boards/nordic/nrf_ironside/update/prj.conf index 8682307eca6..1d6a2ac823d 100644 --- a/samples/boards/nordic/nrf_ironside/update/prj.conf +++ b/samples/boards/nordic/nrf_ironside/update/prj.conf @@ -1,3 +1,4 @@ CONFIG_LOG=y CONFIG_NRF_IRONSIDE_UPDATE_SERVICE=y +CONFIG_NRF_IRONSIDE_BOOT_REPORT=y diff --git a/samples/boards/nordic/nrf_ironside/update/src/main.c b/samples/boards/nordic/nrf_ironside/update/src/main.c index 09513497de9..a06603ca9b2 100644 --- a/samples/boards/nordic/nrf_ironside/update/src/main.c +++ b/samples/boards/nordic/nrf_ironside/update/src/main.c @@ -4,6 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ +#include #include #include @@ -13,6 +14,18 @@ int main(void) { int err; const struct ironside_update_blob *update = (void *)CONFIG_UPDATE_BLOB_ADDRESS; + const struct ironside_boot_report *report; + + err = ironside_boot_report_get(&report); + LOG_INF("ironside_boot_report_get err: %d", err); + LOG_INF("version: %d.%d.%d-%s+%d", report->ironside_se_version.major, + report->ironside_se_version.minor, report->ironside_se_version.patch, + report->ironside_se_version.extraversion, report->ironside_se_version.seqnum); + LOG_INF("recovery version: %d.%d.%d-%s+%d", report->ironside_se_version.major, + report->ironside_se_version.minor, report->ironside_se_version.patch, + report->ironside_se_version.extraversion, report->ironside_se_version.seqnum); + LOG_INF("update status: 0x%x", report->ironside_update_status); + LOG_HEXDUMP_INF((void *)report->random_data, sizeof(report->random_data), "random data"); err = ironside_update(update); LOG_INF("IRONside update retval: 0x%x", err); diff --git a/soc/nordic/nrf54h/CMakeLists.txt b/soc/nordic/nrf54h/CMakeLists.txt index c5f1aa93af4..23c1cab1e77 100644 --- a/soc/nordic/nrf54h/CMakeLists.txt +++ b/soc/nordic/nrf54h/CMakeLists.txt @@ -18,4 +18,3 @@ zephyr_linker_sources(SECTIONS SORT_KEY zzz_place_align_at_end align.ld) add_subdirectory(bicr) add_subdirectory(gpd) -add_subdirectory(ironside/se) diff --git a/soc/nordic/nrf54h/Kconfig b/soc/nordic/nrf54h/Kconfig index 8e3a72373fc..c0e619cd1e2 100644 --- a/soc/nordic/nrf54h/Kconfig +++ b/soc/nordic/nrf54h/Kconfig @@ -86,9 +86,8 @@ config SOC_NRF54H20_CPUPPR config SOC_NRF54H20_CPUFLPR select RISCV_CORE_NORDIC_VPR -config SOC_NRF54H20_IRON - select EXPERIMENTAL if MCUBOOT - rsource "bicr/Kconfig" rsource "gpd/Kconfig" -rsource "ironside/se/Kconfig" + +config SOC_NRF54H20_IRON + select EXPERIMENTAL if MCUBOOT diff --git a/soc/nordic/nrf54h/ironside/se/CMakeLists.txt b/soc/nordic/nrf54h/ironside/se/CMakeLists.txt deleted file mode 100644 index 5254d6e37b3..00000000000 --- a/soc/nordic/nrf54h/ironside/se/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright (c) 2025 Nordic Semiconductor -# SPDX-License-Identifier: Apache-2.0 - -zephyr_library_sources_ifdef(CONFIG_SOC_NRF54H20_IRONSIDE_SE_BOOT_REPORT ironside_se_boot_report.c) -zephyr_include_directories(include) diff --git a/soc/nordic/nrf54h/ironside/se/Kconfig b/soc/nordic/nrf54h/ironside/se/Kconfig deleted file mode 100644 index 1e43127b555..00000000000 --- a/soc/nordic/nrf54h/ironside/se/Kconfig +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2025 Nordic Semiconductor -# SPDX-License-Identifier: Apache-2.0 - -config SOC_NRF54H20_IRONSIDE_SE_BOOT_REPORT - bool "Nordic IRONside SE boot report" - default y if SOC_NRF54H20_CPUAPP - depends on SOC_NRF54H20_IRON - help - This option enables parsing of the Boot Report populated by Nordic IRONside SE. - -config SOC_NRF54H20_IRONSIDE_SE_BOOT_REPORT_MAGIC - hex - default 0x4d69546f - help - Constant used to check if an Nordic IRONside SE boot report has been written. diff --git a/soc/nordic/nrf54h/ironside/se/include/nrf/ironside_se_boot_report.h b/soc/nordic/nrf54h/ironside/se/include/nrf/ironside_se_boot_report.h deleted file mode 100644 index 0843edd67e1..00000000000 --- a/soc/nordic/nrf54h/ironside/se/include/nrf/ironside_se_boot_report.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2025 Nordic Semiconductor ASA - * SPDX-License-Identifier: Apache-2.0 - */ - -#ifndef ZEPHYR_SOC_NORDIC_NRF54H_IRONSIDE_SE_BOOT_REPORT_INCLUDE_NRF_IRONSIDE_SE_BOOT_REPORT_H_ -#define ZEPHYR_SOC_NORDIC_NRF54H_IRONSIDE_SE_BOOT_REPORT_INCLUDE_NRF_IRONSIDE_SE_BOOT_REPORT_H_ - -#include -#include - -#define IRONSIDE_SE_BOOT_REPORT_LOCAL_DOMAIN_CONTEXT_SIZE (16UL) /* Size in bytes */ -#define IRONSIDE_SE_BOOT_REPORT_RANDOM_DATA_SIZE (32UL) /* Size in bytes */ - -/** @brief UICR error description contained in the boot report. */ -struct ironside_se_boot_report_uicr_error { - /** The type of error. A value of 0 indicates no error */ - uint32_t error_type; - /** Error descriptions specific to each type of UICR error */ - union { - /** RFU */ - struct { - uint32_t rfu[4]; - } rfu; - } description; -}; - -/** @brief IRONside boot report. */ -struct ironside_se_boot_report { - /** Magic value used to identify valid boot report */ - uint32_t magic; - /** Firmware version of IRONside SE. 8bit MAJOR.MINOR.PATCH.SEQNUM */ - uint32_t ironside_se_version_int; - /** Human readable extraversion of IRONside SE */ - char ironside_se_extraversion[12]; - /** Firmware version of IRONside SE recovery firmware. 8bit MAJOR.MINOR.PATCH.SEQNUM */ - uint32_t ironside_se_recovery_version_int; - /** Human readable extraversion of IRONside SE recovery firmware */ - char ironside_se_recovery_extraversion[12]; - /** Copy of SICR.UROT.UPDATE.STATUS.*/ - uint32_t ironside_update_status; - /** See @ref ironside_se_boot_report_uicr_error */ - struct ironside_se_boot_report_uicr_error uicr_error_description; - /** Data passed from booting local domain to local domain being booted */ - uint8_t local_domain_context[IRONSIDE_SE_BOOT_REPORT_LOCAL_DOMAIN_CONTEXT_SIZE]; - /** CSPRNG data */ - uint8_t random_data[IRONSIDE_SE_BOOT_REPORT_RANDOM_DATA_SIZE]; - /** Reserved for Future Use */ - uint32_t rfu[64]; -}; - -/** - * @brief Get a pointer to the IRONside boot report. - * - * @param[out] report Will be set to point to the IRONside boot report. - * - * @return non-negative value if success, negative value otherwise. - * @retval -EFAULT if the magic field in the report is incorrect. - * @retval -EINVAL if @ref report is NULL. - */ -int ironside_se_boot_report_get(const struct ironside_se_boot_report **report); - -#endif /* ZEPHYR_SOC_NORDIC_NRF54H_IRONSIDE_SE_BOOT_REPORT_INCLUDE_NRF_IRONSIDE_SE_BOOT_REPORT_H_ */ diff --git a/soc/nordic/nrf54h/ironside/se/ironside_se_boot_report.c b/soc/nordic/nrf54h/ironside/se/ironside_se_boot_report.c deleted file mode 100644 index d3f3c777c72..00000000000 --- a/soc/nordic/nrf54h/ironside/se/ironside_se_boot_report.c +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2025 Nordic Semiconductor ASA - * SPDX-License-Identifier: Apache-2.0 - */ - -#include -#include -#include - -#define IRONSIDE_SE_BOOT_REPORT_ADDR DT_REG_ADDR(DT_NODELABEL(cpuapp_ironside_se_boot_report)) -#define IRONSIDE_SE_BOOT_REPORT_MAGIC CONFIG_SOC_NRF54H20_IRONSIDE_SE_BOOT_REPORT_MAGIC - -int ironside_se_boot_report_get(const struct ironside_se_boot_report **report) -{ - const struct ironside_se_boot_report *tmp_report = - (const struct ironside_se_boot_report *)IRONSIDE_SE_BOOT_REPORT_ADDR; - - if (tmp_report->magic != IRONSIDE_SE_BOOT_REPORT_MAGIC) { - return -EINVAL; - } - - *report = tmp_report; - - return 0; -} diff --git a/tests/boards/nrf/ironside_se_boot_report/CMakeLists.txt b/tests/boards/nrf/ironside_se_boot_report/CMakeLists.txt deleted file mode 100644 index 26e471228fa..00000000000 --- a/tests/boards/nrf/ironside_se_boot_report/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2025 Nordic Semiconductor -# SPDX-License-Identifier: Apache-2.0 - -cmake_minimum_required(VERSION 3.20.0) -find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) -project(ironside_se_boot_report) - -FILE(GLOB app_sources src/*.c) -target_sources(app PRIVATE ${app_sources}) diff --git a/tests/boards/nrf/ironside_se_boot_report/prj.conf b/tests/boards/nrf/ironside_se_boot_report/prj.conf deleted file mode 100644 index b7db25411d0..00000000000 --- a/tests/boards/nrf/ironside_se_boot_report/prj.conf +++ /dev/null @@ -1 +0,0 @@ -# Empty diff --git a/tests/boards/nrf/ironside_se_boot_report/src/main.c b/tests/boards/nrf/ironside_se_boot_report/src/main.c deleted file mode 100644 index 2bcd4437bd1..00000000000 --- a/tests/boards/nrf/ironside_se_boot_report/src/main.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2025 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#include -#include - -int main(void) -{ - int err; - const struct ironside_se_boot_report *report; - - err = ironside_se_boot_report_get(&report); - printf("err: %d\n", err); - printf("version: 0x%x\n", report->ironside_se_version_int); - printf("extraversion: %s\n", report->ironside_se_extraversion); - - return 0; -} diff --git a/tests/boards/nrf/ironside_se_boot_report/testcase.yaml b/tests/boards/nrf/ironside_se_boot_report/testcase.yaml deleted file mode 100644 index cb6e2290e29..00000000000 --- a/tests/boards/nrf/ironside_se_boot_report/testcase.yaml +++ /dev/null @@ -1,19 +0,0 @@ -common: - tags: - - drivers - - hwinfo - harness: console - -tests: - soc.nordic.ironside_se_boot_report: - harness_config: - type: multi_line - ordered: true - regex: - - "err: 0" - - "version: 0x([0-9a-fA-F]+)" - - "extraversion: ([0-9a-fA-F]+)" - platform_allow: - - nrf54h20dk/nrf54h20/cpuapp/iron - integration_platforms: - - nrf54h20dk/nrf54h20/cpuapp/iron