Skip to content

Commit c9c5307

Browse files
committed
dump
Signed-off-by: Håkon Amundsen <[email protected]>
1 parent df506fd commit c9c5307

File tree

8 files changed

+73
-54
lines changed

8 files changed

+73
-54
lines changed

soc/nordic/nrf54h/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ zephyr_linker_sources(SECTIONS SORT_KEY zzz_place_align_at_end align.ld)
1818

1919
add_subdirectory(bicr)
2020
add_subdirectory(gpd)
21-
add_subdirectory(ironside_boot_report)
21+
add_subdirectory(ironside_se)

soc/nordic/nrf54h/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,4 @@ config SOC_NRF54H20_CPUFLPR
7474

7575
rsource "bicr/Kconfig"
7676
rsource "gpd/Kconfig"
77-
rsource "ironside_boot_report/Kconfig"
77+
rsource "ironside_se/Kconfig"

soc/nordic/nrf54h/ironside_boot_report/Kconfig

Lines changed: 0 additions & 16 deletions
This file was deleted.

soc/nordic/nrf54h/ironside_boot_report/ironside_boot_report.c

Lines changed: 0 additions & 25 deletions
This file was deleted.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Copyright (c) 2025 Nordic Semiconductor
22
# SPDX-License-Identifier: Apache-2.0
33

4-
zephyr_library_sources_ifdef(CONFIG_SOC_NRF54H20_IRONSIDE_BOOT_REPORT ironside_boot_report.c)
4+
zephyr_library_sources_ifdef(CONFIG_SOC_NRF54H20_IRONSIDE_SE_BOOT_REPORT ironside_se_boot_report.c)
55
zephyr_include_directories(include)
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Copyright (c) 2025 Nordic Semiconductor
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config SOC_NRF54H20_IRONSIDE_SE_BOOT_REPORT
5+
bool "Nordic IRONside SE boot report"
6+
default y if SOC_NRF54H20_CPUAPP
7+
depends on SOC_NRF54H20_IRON
8+
help
9+
This option enables parsing of the Boot Report populated by Nordic IRONside SE.
10+
11+
if SOC_NRF54H20_IRONSIDE_SE_BOOT_REPORT
12+
13+
config SOC_NRF54H20_IRONSIDE_SE_BOOT_REPORT_MAGIC
14+
hex
15+
default 0xe176928d
16+
help
17+
Constant used to check if an Nordic IRONside SE boot report has been written.
18+
19+
config SOC_NRF54H20_IRONSIDE_SE_BOOT_REPORT_LOCAL_DOMAIN_CONTEXT_SIZE
20+
int
21+
default 32
22+
help
23+
Size of the local domain context in bytes
24+
25+
config SOC_NRF54H20_IRONSIDE_SE_BOOT_REPORT_RANDOM_DATA_SIZE
26+
int
27+
default 32
28+
help
29+
Size of the random data in bytes
30+
31+
endif

soc/nordic/nrf54h/ironside_boot_report/include/nrf/ironside_boot_report.h renamed to soc/nordic/nrf54h/ironside_se/include/nrf/ironside_se_boot_report.h

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,19 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
#ifndef ZEPHYR_SOC_NORDIC_NRF54H_IRONSIDE_BOOT_REPORT_INCLUDE_NRF_IRONSIDE_BOOT_REPORT_H_
7-
#define ZEPHYR_SOC_NORDIC_NRF54H_IRONSIDE_BOOT_REPORT_INCLUDE_NRF_IRONSIDE_BOOT_REPORT_H_
6+
#ifndef ZEPHYR_SOC_NORDIC_NRF54H_IRONSIDE_SE_BOOT_REPORT_INCLUDE_NRF_IRONSIDE_SE_BOOT_REPORT_H_
7+
#define ZEPHYR_SOC_NORDIC_NRF54H_IRONSIDE_SE_BOOT_REPORT_INCLUDE_NRF_IRONSIDE_SE_BOOT_REPORT_H_
88

99
#include <stdint.h>
1010
#include <stddef.h>
1111

12+
#define IRONSIDE_SE_BOOT_REPORT_LOCAL_DOMAIN_CONTEXT_SIZE \
13+
CONFIG_SOC_NRF54H20_IRONSIDE_SE_BOOT_REPORT_LOCAL_DOMAIN_CONTEXT_SIZE
14+
#define IRONSIDE_SE_BOOT_REPORT_RANDOM_DATA_SIZE \
15+
CONFIG_SOC_NRF54H20_IRONSIDE_SE_BOOT_REPORT_RANDOM_DATA_SIZE
1216

1317
/** @brief UICR error description contained in the boot report. */
14-
struct ironside_boot_report_uicr_error {
18+
struct ironside_se_boot_report_uicr_error {
1519
/** The type of error. A value of 0 indicates no error */
1620
uint32_t error_type;
1721
/** Error descrpitions specific to each type of UICR error */
@@ -44,7 +48,7 @@ struct ironside_boot_report_uicr_error {
4448
};
4549

4650
/** @brief IRONside boot report. */
47-
struct ironside_boot_report {
51+
struct ironside_se_boot_report {
4852
/** Magic value used to identify valid boot report */
4953
uint32_t magic;
5054
/** Firmware version of IRONside SE. 8bit MAJOR.MINOR.PATCH.TWEAK */
@@ -57,12 +61,12 @@ struct ironside_boot_report {
5761
char ironside_recovery_extraversion[12];
5862
/** Copy of SICR.UROT.UPDATE.STATUS.*/
5963
uint32_t ironside_update_status;
60-
/** See @ref ironside_boot_report_uicr_error */
61-
struct ironside_boot_report_uicr_error uicr_error_description;
64+
/** See @ref ironside_se_boot_report_uicr_error */
65+
struct ironside_se_boot_report_uicr_error uicr_error_description;
6266
/** Data passed from booting local domain to local domain being booted */
63-
uint8_t local_domain_context[32];
67+
uint8_t local_domain_context[IRONSIDE_SE_BOOT_REPORT_LOCAL_DOMAIN_CONTEXT_SIZE];
6468
/** CSPRNG data */
65-
uint8_t random_data[32];
69+
uint8_t random_data[IRONSIDE_SE_BOOT_REPORT_RANDOM_DATA_SIZE];
6670
/** Reserved for Future Use */
6771
uint32_t rfu[64];
6872
};
@@ -76,6 +80,6 @@ struct ironside_boot_report {
7680
* @retval -EFAULT if the magic field in the report is incorrect.
7781
* @retval -EINVAL if @ref report is NULL.
7882
*/
79-
int ironside_boot_report_get(const struct ironside_boot_report **report);
83+
int ironside_se_boot_report_get(const struct ironside_se_boot_report **report);
8084

81-
#endif /* ZEPHYR_SOC_NORDIC_NRF54H_IRONSIDE_BOOT_REPORT_INCLUDE_NRF_IRONSIDE_BOOT_REPORT_H_ */
85+
#endif /* ZEPHYR_SOC_NORDIC_NRF54H_IRONSIDE_SE_BOOT_REPORT_INCLUDE_NRF_IRONSIDE_SE_BOOT_REPORT_H_ */
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
#include <errno.h>
7+
#include <zephyr/devicetree.h>
8+
#include <nrf/ironside_se_boot_report.h>
9+
10+
#define IRONSIDE_SE_BOOT_REPORT_ADDR DT_REG_ADDR(DT_NODELABEL(cpuapp_ironside_se_boot_report))
11+
#define IRONSIDE_SE_BOOT_REPORT_MAGIC CONFIG_SOC_NRF54H_IRONSIDE_SE_BOOT_REPORT_MAGIC
12+
13+
int ironside_se_boot_report_get(const struct ironside_se_boot_report **report)
14+
{
15+
const struct ironside_se_boot_report *tmp_report =
16+
(const struct ironside_se_boot_report *)IRONSIDE_SE_BOOT_REPORT_ADDR;
17+
18+
if (tmp_report->magic != IRONSIDE_SE_BOOT_REPORT_MAGIC) {
19+
return -EINVAL;
20+
}
21+
22+
*report = tmp_report;
23+
24+
return 0;
25+
}

0 commit comments

Comments
 (0)