From ea6e6c66a1b07e00dfe634b4b171c1c40bf291b7 Mon Sep 17 00:00:00 2001 From: Michal Kozikowski Date: Tue, 8 Apr 2025 14:16:26 +0200 Subject: [PATCH] boards: nordic: nrf54h20dk iron board MCUBoot support Provide proper adaptions as bootloader ROM offset, flash load offset and dts definitions for the nRF54H20 iron board to make it ready for the MCUBoot bootloader. Signed-off-by: Michal Kozikowski --- boards/nordic/nrf54h20dk/Kconfig.defconfig | 10 +++++++++ .../nrf54h20dk_nrf54h20_cpuapp_iron.dts | 22 +++++++++++++++++-- .../nrf54h20dk_nrf54h20_cpuapp_iron_defconfig | 2 -- soc/nordic/nrf54h/Kconfig | 3 +++ 4 files changed, 33 insertions(+), 4 deletions(-) diff --git a/boards/nordic/nrf54h20dk/Kconfig.defconfig b/boards/nordic/nrf54h20dk/Kconfig.defconfig index 268722f5fe5..60c9345eb04 100644 --- a/boards/nordic/nrf54h20dk/Kconfig.defconfig +++ b/boards/nordic/nrf54h20dk/Kconfig.defconfig @@ -17,3 +17,13 @@ config MAX_THREAD_BYTES default 3 if USERSPACE endif # BOARD_NRF54H20DK_NRF54H20_CPURAD + +if BOARD_NRF54H20DK_NRF54H20_CPUAPP_IRON + +config ROM_START_OFFSET + default 0x800 if BOOTLOADER_MCUBOOT + +config FLASH_LOAD_OFFSET + default 0x2c000 if !USE_DT_CODE_PARTITION + +endif # BOARD_NRF54H20DK_NRF54H20_CPUAPP_IRON diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_iron.dts b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_iron.dts index bbc03608412..79fea7a01c5 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_iron.dts +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_iron.dts @@ -14,6 +14,13 @@ * the application core. */ +/ { + chosen { + zephyr,code-partition = &slot0_partition; + zephyr,uart-mcumgr = &uart136; + }; +}; + &mram1x { cpuapp_rx_partitions: cpuapp-rx-partitions { compatible = "nordic,owned-partitions", "fixed-partitions"; @@ -21,8 +28,19 @@ #address-cells = <1>; #size-cells = <1>; - cpuapp_slot0_partition: partition@2c000 { - reg = <0x2c000 DT_SIZE_K(480)>; + boot_partition: partition@2c000 { + label = "mcuboot"; + reg = <0x2c000 DT_SIZE_K(64)>; + }; + + slot0_partition: partition@3c000 { + label = "image-0"; + reg = <0x3c000 DT_SIZE_K(200)>; + }; + + slot1_partition: partition@6E000 { + label = "image-1"; + reg = <0x6E000 DT_SIZE_K(200)>; }; cpuppr_code_partition: partition@a4000 { diff --git a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_iron_defconfig b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_iron_defconfig index 4667d1cbc3a..01f3bec3932 100644 --- a/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_iron_defconfig +++ b/boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_iron_defconfig @@ -8,8 +8,6 @@ CONFIG_SERIAL=y CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y -CONFIG_USE_DT_CODE_PARTITION=y - # Enable MPU CONFIG_ARM_MPU=y diff --git a/soc/nordic/nrf54h/Kconfig b/soc/nordic/nrf54h/Kconfig index e02c465d571..0373e00d07b 100644 --- a/soc/nordic/nrf54h/Kconfig +++ b/soc/nordic/nrf54h/Kconfig @@ -76,3 +76,6 @@ config SOC_NRF54H20_CPUFLPR rsource "bicr/Kconfig" rsource "gpd/Kconfig" + +config SOC_NRF54H20_IRON + select EXPERIMENTAL if MCUBOOT