diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/app_common.dtsi b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/app_common.dtsi index e743fe116dfc..f6e901453ed9 100644 --- a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/app_common.dtsi +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/app_common.dtsi @@ -1,9 +1,11 @@ /* - * Copyright (c) 2024 Nordic Semiconductor ASA + * Copyright (c) 2024-2025 Nordic Semiconductor ASA * * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ +#include "memory_map.dtsi" + / { /* Redefine leds to fit CAF requirements. */ /delete-node/ leds; @@ -51,25 +53,25 @@ label = "Green LED 3"; }; }; - - aliases { - nrfdesktop-dvfs-clock = &cpuapp_hsfll; - }; }; -&cpusec_cpuapp_ipc { - status = "okay"; +/* Define the necessary aliases for the MCUboot slots that will be used by the DFU transports. + * Due to the build system limitation, the allowed size of the application image (configured by + * the code partition DTS node) is incorrectly increased by the size allocated for the radio image. + */ +slot0_partition: &cpuapp_slot0_partition { + label = "image-0"; }; -&cpusec_bellboard { - status = "okay"; +slot1_partition: &cpuapp_slot1_partition { + label = "image-1"; }; -/* Shrink ppr partition as ppr core is not used and extend app core code partition. */ -&cpuppr_code_partition { - reg = < 0xf8000 DT_SIZE_K(32) >; +/* Remove the undefined property value from the disabled VPR cores to prevent build errors. */ +&cpuflpr_vpr { + /delete-property/ source-memory; }; -&cpuapp_slot0_partition { - reg = < 0xa6000 DT_SIZE_K(328) >; +&cpuppr_vpr { + /delete-property/ source-memory; }; diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/app.overlay b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/app.overlay new file mode 100644 index 000000000000..6219102df240 --- /dev/null +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/app.overlay @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2025 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +#include "../../memory_map.dtsi" + +/* The nRF54H20 DK defines memory map using DTS. + * Assign the bootloader partition to the MCUboot image. + */ +/ { + chosen { + zephyr,code-partition = &cpuapp_boot_partition; + }; +}; + +/* Define the necessary aliases for the DTS partition nodes that contain the application and + * radio images. + */ +slot0_partition: &cpuapp_slot0_partition { + label = "image-0"; +}; + +slot1_partition: &cpuapp_slot1_partition { + label = "image-1"; +}; + +/* Remove the undefined property value from the disabled VPR cores to prevent build errors. */ +&cpuflpr_vpr { + /delete-property/ source-memory; +}; + +&cpuppr_vpr { + /delete-property/ source-memory; +}; diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/mcuboot_private.pem b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/mcuboot_private.pem new file mode 100644 index 000000000000..32ca7259d2c2 --- /dev/null +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/mcuboot_private.pem @@ -0,0 +1,3 @@ +-----BEGIN PRIVATE KEY----- +MC4CAQAwBQYDK2VwBCIEIFe3odXpEgmHpGsRmLZkC9FS+DMxKO5yi6BmKTctX05/ +-----END PRIVATE KEY----- diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/prj.conf b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/prj.conf new file mode 100644 index 000000000000..3c1e6c678484 --- /dev/null +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/prj.conf @@ -0,0 +1,51 @@ +# +# Copyright (c) 2025 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# +CONFIG_SIZE_OPTIMIZATIONS=y + +CONFIG_HW_STACK_PROTECTION=y +CONFIG_MAIN_STACK_SIZE=10240 +CONFIG_BOOT_BOOTSTRAP=n + +CONFIG_BOOT_VERSION_CMP_USE_BUILD_NUMBER=y + +CONFIG_FLASH=y +# CONFIG_FPROTECT is not supported yet on the nRF54H20 SoC + +# Configure Zephyr system power management +# The Zephyr system power management is used by the MCUboot bootloader to detect wake-up from +# S2RAM and redirect execution to the resume routine of the application image +CONFIG_PM=y +CONFIG_PM_S2RAM=y +CONFIG_PM_S2RAM_CUSTOM_MARKING=y + +# Enable HW cryptography in the MCUboot bootloader and its dependencies +# The PSA operations are handled by the SDFW Service Framework (SDFW) +# that is enabled with the CONFIG_PSA_SSF_CRYPTO_CLIENT Kconfig option. +CONFIG_NRF_SECURITY=y +CONFIG_MULTITHREADING=y +CONFIG_PSA_SSF_CRYPTO_CLIENT=y + +# Reduce memory consumption +CONFIG_BOOT_BANNER=n +CONFIG_NCS_BOOT_BANNER=n +CONFIG_CLOCK_CONTROL=n +CONFIG_SPI_NOR=n +CONFIG_GPIO=n +CONFIG_SERIAL=n +CONFIG_CONSOLE=n +CONFIG_UART_CONSOLE=n +CONFIG_PRINTK=n +CONFIG_USE_SEGGER_RTT=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y + +# Activate Link Time Optimization (LTO) +CONFIG_LTO=y +CONFIG_ISR_TABLES_LOCAL_DECLARATION=y + +# Improve debugging experience by disabling reset on fatal error +CONFIG_RESET_ON_FATAL_ERROR=n diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/prj_dongle.conf b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/prj_dongle.conf new file mode 100644 index 000000000000..3c1e6c678484 --- /dev/null +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/prj_dongle.conf @@ -0,0 +1,51 @@ +# +# Copyright (c) 2025 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# +CONFIG_SIZE_OPTIMIZATIONS=y + +CONFIG_HW_STACK_PROTECTION=y +CONFIG_MAIN_STACK_SIZE=10240 +CONFIG_BOOT_BOOTSTRAP=n + +CONFIG_BOOT_VERSION_CMP_USE_BUILD_NUMBER=y + +CONFIG_FLASH=y +# CONFIG_FPROTECT is not supported yet on the nRF54H20 SoC + +# Configure Zephyr system power management +# The Zephyr system power management is used by the MCUboot bootloader to detect wake-up from +# S2RAM and redirect execution to the resume routine of the application image +CONFIG_PM=y +CONFIG_PM_S2RAM=y +CONFIG_PM_S2RAM_CUSTOM_MARKING=y + +# Enable HW cryptography in the MCUboot bootloader and its dependencies +# The PSA operations are handled by the SDFW Service Framework (SDFW) +# that is enabled with the CONFIG_PSA_SSF_CRYPTO_CLIENT Kconfig option. +CONFIG_NRF_SECURITY=y +CONFIG_MULTITHREADING=y +CONFIG_PSA_SSF_CRYPTO_CLIENT=y + +# Reduce memory consumption +CONFIG_BOOT_BANNER=n +CONFIG_NCS_BOOT_BANNER=n +CONFIG_CLOCK_CONTROL=n +CONFIG_SPI_NOR=n +CONFIG_GPIO=n +CONFIG_SERIAL=n +CONFIG_CONSOLE=n +CONFIG_UART_CONSOLE=n +CONFIG_PRINTK=n +CONFIG_USE_SEGGER_RTT=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y + +# Activate Link Time Optimization (LTO) +CONFIG_LTO=y +CONFIG_ISR_TABLES_LOCAL_DECLARATION=y + +# Improve debugging experience by disabling reset on fatal error +CONFIG_RESET_ON_FATAL_ERROR=n diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/prj_release.conf b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/prj_release.conf new file mode 100644 index 000000000000..e4c7fbb76e43 --- /dev/null +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/prj_release.conf @@ -0,0 +1,50 @@ +# +# Copyright (c) 2025 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# +CONFIG_SIZE_OPTIMIZATIONS=y + +CONFIG_HW_STACK_PROTECTION=y +CONFIG_MAIN_STACK_SIZE=10240 +CONFIG_BOOT_BOOTSTRAP=n + +CONFIG_BOOT_VERSION_CMP_USE_BUILD_NUMBER=y + +CONFIG_FLASH=y +# CONFIG_FPROTECT is not supported yet on the nRF54H20 SoC + +CONFIG_RESET_ON_FATAL_ERROR=y + +# Configure Zephyr system power management +# The Zephyr system power management is used by the MCUboot bootloader to detect wake-up from +# S2RAM and redirect execution to the resume routine of the application image +CONFIG_PM=y +CONFIG_PM_S2RAM=y +CONFIG_PM_S2RAM_CUSTOM_MARKING=y + +# Enable HW cryptography in the MCUboot bootloader and its dependencies +# The PSA operations are handled by the SDFW Service Framework (SDFW) +# that is enabled with the CONFIG_PSA_SSF_CRYPTO_CLIENT Kconfig option. +CONFIG_NRF_SECURITY=y +CONFIG_MULTITHREADING=y +CONFIG_PSA_SSF_CRYPTO_CLIENT=y + +# Reduce memory consumption +CONFIG_BOOT_BANNER=n +CONFIG_NCS_BOOT_BANNER=n +CONFIG_CLOCK_CONTROL=n +CONFIG_SPI_NOR=n +CONFIG_GPIO=n +CONFIG_SERIAL=n +CONFIG_CONSOLE=n +CONFIG_UART_CONSOLE=n +CONFIG_PRINTK=n +CONFIG_USE_SEGGER_RTT=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y + +# Activate Link Time Optimization (LTO) +CONFIG_LTO=y +CONFIG_ISR_TABLES_LOCAL_DECLARATION=y diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/prj_release_dongle.conf b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/prj_release_dongle.conf new file mode 100644 index 000000000000..e4c7fbb76e43 --- /dev/null +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/images/mcuboot/prj_release_dongle.conf @@ -0,0 +1,50 @@ +# +# Copyright (c) 2025 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# +CONFIG_SIZE_OPTIMIZATIONS=y + +CONFIG_HW_STACK_PROTECTION=y +CONFIG_MAIN_STACK_SIZE=10240 +CONFIG_BOOT_BOOTSTRAP=n + +CONFIG_BOOT_VERSION_CMP_USE_BUILD_NUMBER=y + +CONFIG_FLASH=y +# CONFIG_FPROTECT is not supported yet on the nRF54H20 SoC + +CONFIG_RESET_ON_FATAL_ERROR=y + +# Configure Zephyr system power management +# The Zephyr system power management is used by the MCUboot bootloader to detect wake-up from +# S2RAM and redirect execution to the resume routine of the application image +CONFIG_PM=y +CONFIG_PM_S2RAM=y +CONFIG_PM_S2RAM_CUSTOM_MARKING=y + +# Enable HW cryptography in the MCUboot bootloader and its dependencies +# The PSA operations are handled by the SDFW Service Framework (SDFW) +# that is enabled with the CONFIG_PSA_SSF_CRYPTO_CLIENT Kconfig option. +CONFIG_NRF_SECURITY=y +CONFIG_MULTITHREADING=y +CONFIG_PSA_SSF_CRYPTO_CLIENT=y + +# Reduce memory consumption +CONFIG_BOOT_BANNER=n +CONFIG_NCS_BOOT_BANNER=n +CONFIG_CLOCK_CONTROL=n +CONFIG_SPI_NOR=n +CONFIG_GPIO=n +CONFIG_SERIAL=n +CONFIG_CONSOLE=n +CONFIG_UART_CONSOLE=n +CONFIG_PRINTK=n +CONFIG_USE_SEGGER_RTT=n + +# Use minimal C library instead of the Picolib +CONFIG_MINIMAL_LIBC=y + +# Activate Link Time Optimization (LTO) +CONFIG_LTO=y +CONFIG_ISR_TABLES_LOCAL_DECLARATION=y diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/memory_map.dtsi b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/memory_map.dtsi new file mode 100644 index 000000000000..e3c28a73fe7f --- /dev/null +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/memory_map.dtsi @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2025 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +&mram1x { + /delete-node/ partitions; + + /* Redefine the "partitions" DTS node. */ + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + /* Partitions belonging to the MRAM_10 memory block. + * The start of the MRAM_10 memory is reserved for internal IronSide SE firmware. + */ + + cpuapp_boot_partition: partition@30000 { + reg = <0x30000 DT_SIZE_K(24)>; + }; + + /* Due to the build system limitation, the allowed size of the application image + * (configured by the code partition DTS node) is incorrectly increased by the size + * allocated for the radio image. + */ + cpuapp_slot0_partition: partition@36000 { + reg = <0x36000 DT_SIZE_K(808)>; + }; + + cpurad_slot0_partition: partition@c9000 { + reg = <0xc9000 DT_SIZE_K(220)>; + }; + + /* Partitions belonging to the MRAM_11 memory block. */ + + /* Due to the build system limitation, the allowed size of the application image + * (configured by the code partition DTS node) is incorrectly increased by the size + * allocated for the radio image. + */ + cpuapp_slot1_partition: partition@100000 { + reg = <0x100000 DT_SIZE_K(808)>; + }; + + cpurad_slot1_partition: partition@193000 { + reg = <0x193000 DT_SIZE_K(220)>; + }; + + storage_partition: partition@1ca000 { + reg = <0x1ca000 DT_SIZE_K(40)>; + }; + + periphconf_partition: partition@1d4000 { + reg = <0x1d4000 DT_SIZE_K(8)>; + }; + + /* The end of the MRAM_11 memory is left unallocated. */ + }; +}; diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj.conf b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj.conf index a3f98e6da17a..e02311b50e2b 100644 --- a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj.conf +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj.conf @@ -1,5 +1,5 @@ # -# Copyright (c) 2024 Nordic Semiconductor ASA +# Copyright (c) 2024-2025 Nordic Semiconductor ASA # # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # @@ -41,9 +41,6 @@ CONFIG_DESKTOP_USB_STACK_NEXT=y CONFIG_DESKTOP_BLE_ADV_CTRL_ENABLE=y CONFIG_DESKTOP_BLE_ADV_CTRL_SUSPEND_ON_USB=y -CONFIG_DESKTOP_DFU_MCUMGR_ENABLE=y -CONFIG_CAF_INIT_LOG_BLE_SMP_TRANSFER_EVENTS=n - # The LLPM must be explicitly enabled, as the Bluetooth Controller # is not part of the main application. CONFIG_CAF_BLE_USE_LLPM=y @@ -59,7 +56,11 @@ CONFIG_DESKTOP_BLE_LOW_LATENCY_LOCK=y CONFIG_DESKTOP_CONFIG_CHANNEL_ENABLE=y CONFIG_DESKTOP_CONFIG_CHANNEL_OUT_REPORT=y -CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_ENABLE=y + +# Temporarily disable unsupported features. +CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_ENABLE=n +CONFIG_DESKTOP_DFU_MCUMGR_ENABLE=n +CONFIG_DESKTOP_DVFS=n ################################################################################ # Zephyr Configuration @@ -101,28 +102,6 @@ CONFIG_UDC_DWC2_DMA=n CONFIG_BT_MAX_PAIRED=2 CONFIG_BT_ID_MAX=3 - -# Enable MCUmgr Bluetooth transport -CONFIG_MCUMGR_TRANSPORT_BT=y -CONFIG_MCUMGR_TRANSPORT_BT_PERM_RW_ENCRYPT=y - -# Allow for large Bluetooth data packets. -CONFIG_BT_L2CAP_TX_MTU=498 -CONFIG_BT_BUF_ACL_RX_SIZE=502 -CONFIG_BT_BUF_ACL_TX_SIZE=251 - -# Enable the MCUmgr Packet Reassembly feature over Bluetooth and its configuration dependencies. -# MCUmgr buffer size is optimized to fit one SMP packet divided into five Bluetooth Write Commands, -# transmitted with the maximum possible MTU value: 498 bytes. -CONFIG_MCUMGR_TRANSPORT_BT_REASSEMBLY=y -CONFIG_MCUMGR_TRANSPORT_NETBUF_SIZE=2475 -CONFIG_MCUMGR_TRANSPORT_WORKQUEUE_STACK_SIZE=4096 - -# Allow a DFU host to retrieve information about the number and size of MCUmgr buffers. -# The nRF Connect Device Manager uses this information to speed up the DFU. -CONFIG_MCUMGR_GRP_OS=y -CONFIG_MCUMGR_GRP_OS_MCUMGR_PARAMS=y - # Configure Zephyr system power management CONFIG_PM=y CONFIG_PM_S2RAM=y @@ -150,6 +129,3 @@ CONFIG_LOG_PROCESS_THREAD_STACK_SIZE=1024 ################################################################################ # DFU configuration - -CONFIG_SUIT=y -CONFIG_SUIT_DFU_CANDIDATE_PROCESSING_MINIMAL=y diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj_dongle.conf b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj_dongle.conf index 247be2c3e685..50c1f977da10 100644 --- a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj_dongle.conf +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj_dongle.conf @@ -41,7 +41,10 @@ CONFIG_DESKTOP_BLE_NEW_PEER_SCAN_ON_BOOT=y CONFIG_DESKTOP_BLE_PEER_ERASE=y CONFIG_DESKTOP_CONFIG_CHANNEL_ENABLE=y -CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_ENABLE=y + +# Temporarily disable unsupported features. +CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_ENABLE=n +CONFIG_DESKTOP_DVFS=n ################################################################################ # Zephyr Configuration @@ -107,9 +110,3 @@ CONFIG_LOG_MODE_DEFERRED=y CONFIG_LOG_PRINTK=y CONFIG_LOG_BUFFER_SIZE=4096 CONFIG_LOG_PROCESS_THREAD_STACK_SIZE=1024 - -################################################################################ -# DFU configuration - -CONFIG_SUIT=y -CONFIG_SUIT_DFU_CANDIDATE_PROCESSING_MINIMAL=y diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj_release.conf b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj_release.conf index 7509e9b5d800..65e5b935609f 100644 --- a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj_release.conf +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj_release.conf @@ -1,5 +1,5 @@ # -# Copyright (c) 2024 Nordic Semiconductor ASA +# Copyright (c) 2024-2025 Nordic Semiconductor ASA # # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # @@ -36,8 +36,6 @@ CONFIG_DESKTOP_USB_STACK_NEXT=y CONFIG_DESKTOP_BLE_ADV_CTRL_ENABLE=y CONFIG_DESKTOP_BLE_ADV_CTRL_SUSPEND_ON_USB=y -CONFIG_DESKTOP_DFU_MCUMGR_ENABLE=y - # The LLPM must be explicitly enabled, as the Bluetooth Controller # is not part of the main application. CONFIG_CAF_BLE_USE_LLPM=y @@ -54,7 +52,11 @@ CONFIG_DESKTOP_FAILSAFE_ENABLE=y CONFIG_DESKTOP_CONFIG_CHANNEL_ENABLE=y CONFIG_DESKTOP_CONFIG_CHANNEL_OUT_REPORT=y -CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_ENABLE=y + +# Temporarily disable unsupported features. +CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_ENABLE=n +CONFIG_DESKTOP_DFU_MCUMGR_ENABLE=n +CONFIG_DESKTOP_DVFS=n ################################################################################ # Zephyr Configuration @@ -95,28 +97,6 @@ CONFIG_UDC_DWC2_DMA=n CONFIG_BT_MAX_PAIRED=2 CONFIG_BT_ID_MAX=3 - -# Enable MCUmgr Bluetooth transport -CONFIG_MCUMGR_TRANSPORT_BT=y -CONFIG_MCUMGR_TRANSPORT_BT_PERM_RW_ENCRYPT=y - -# Allow for large Bluetooth data packets. -CONFIG_BT_L2CAP_TX_MTU=498 -CONFIG_BT_BUF_ACL_RX_SIZE=502 -CONFIG_BT_BUF_ACL_TX_SIZE=251 - -# Enable the MCUmgr Packet Reassembly feature over Bluetooth and its configuration dependencies. -# MCUmgr buffer size is optimized to fit one SMP packet divided into five Bluetooth Write Commands, -# transmitted with the maximum possible MTU value: 498 bytes. -CONFIG_MCUMGR_TRANSPORT_BT_REASSEMBLY=y -CONFIG_MCUMGR_TRANSPORT_NETBUF_SIZE=2475 -CONFIG_MCUMGR_TRANSPORT_WORKQUEUE_STACK_SIZE=4096 - -# Allow a DFU host to retrieve information about the number and size of MCUmgr buffers. -# The nRF Connect Device Manager uses this information to speed up the DFU. -CONFIG_MCUMGR_GRP_OS=y -CONFIG_MCUMGR_GRP_OS_MCUMGR_PARAMS=y - # Configure Zephyr system power management CONFIG_PM=y CONFIG_PM_S2RAM=y @@ -128,9 +108,3 @@ CONFIG_PM_S2RAM_CUSTOM_MARKING=y CONFIG_SERIAL=n CONFIG_CONSOLE=n CONFIG_UART_CONSOLE=n - -################################################################################ -# DFU configuration - -CONFIG_SUIT=y -CONFIG_SUIT_DFU_CANDIDATE_PROCESSING_MINIMAL=y diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj_release_dongle.conf b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj_release_dongle.conf index 0f4842230b78..319d696dc152 100644 --- a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj_release_dongle.conf +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/prj_release_dongle.conf @@ -40,7 +40,10 @@ CONFIG_DESKTOP_WATCHDOG_ENABLE=y CONFIG_DESKTOP_FAILSAFE_ENABLE=y CONFIG_DESKTOP_CONFIG_CHANNEL_ENABLE=y -CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_ENABLE=y + +# Temporarily disable unsupported features. +CONFIG_DESKTOP_CONFIG_CHANNEL_DFU_ENABLE=n +CONFIG_DESKTOP_DVFS=n ################################################################################ # Zephyr Configuration @@ -93,9 +96,3 @@ CONFIG_PM_S2RAM_CUSTOM_MARKING=y CONFIG_SERIAL=n CONFIG_CONSOLE=n CONFIG_UART_CONSOLE=n - -################################################################################ -# DFU configuration - -CONFIG_SUIT=y -CONFIG_SUIT_DFU_CANDIDATE_PROCESSING_MINIMAL=y diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild.conf b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild.conf index 12435fe84989..6589a6f64b9f 100644 --- a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild.conf +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild.conf @@ -1,5 +1,5 @@ # -# Copyright (c) 2024 Nordic Semiconductor ASA +# Copyright (c) 2024-2025 Nordic Semiconductor ASA # # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # @@ -7,3 +7,9 @@ SB_CONFIG_NETCORE_IPC_RADIO=y SB_CONFIG_NETCORE_IPC_RADIO_BT_HCI_IPC=y + +SB_CONFIG_BOOTLOADER_MCUBOOT=y +SB_CONFIG_MCUBOOT_MODE_DIRECT_XIP=y +SB_CONFIG_BOOT_SIGNATURE_TYPE_ED25519=y +SB_CONFIG_BOOT_SIGNATURE_TYPE_PURE=y +SB_CONFIG_BOOT_SIGNATURE_KEY_FILE="\${APPLICATION_CONFIG_DIR}/images/mcuboot/mcuboot_private.pem" diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild_dongle.conf b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild_dongle.conf index 5b2aa85cfb10..23078b05661d 100644 --- a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild_dongle.conf +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild_dongle.conf @@ -7,3 +7,9 @@ SB_CONFIG_NETCORE_IPC_RADIO=y SB_CONFIG_NETCORE_IPC_RADIO_BT_HCI_IPC=y + +SB_CONFIG_BOOTLOADER_MCUBOOT=y +SB_CONFIG_MCUBOOT_MODE_DIRECT_XIP=y +SB_CONFIG_BOOT_SIGNATURE_TYPE_ED25519=y +SB_CONFIG_BOOT_SIGNATURE_TYPE_PURE=y +SB_CONFIG_BOOT_SIGNATURE_KEY_FILE="\${APPLICATION_CONFIG_DIR}/images/mcuboot/mcuboot_private.pem" diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild_release.conf b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild_release.conf index 12435fe84989..6589a6f64b9f 100644 --- a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild_release.conf +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild_release.conf @@ -1,5 +1,5 @@ # -# Copyright (c) 2024 Nordic Semiconductor ASA +# Copyright (c) 2024-2025 Nordic Semiconductor ASA # # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # @@ -7,3 +7,9 @@ SB_CONFIG_NETCORE_IPC_RADIO=y SB_CONFIG_NETCORE_IPC_RADIO_BT_HCI_IPC=y + +SB_CONFIG_BOOTLOADER_MCUBOOT=y +SB_CONFIG_MCUBOOT_MODE_DIRECT_XIP=y +SB_CONFIG_BOOT_SIGNATURE_TYPE_ED25519=y +SB_CONFIG_BOOT_SIGNATURE_TYPE_PURE=y +SB_CONFIG_BOOT_SIGNATURE_KEY_FILE="\${APPLICATION_CONFIG_DIR}/images/mcuboot/mcuboot_private.pem" diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild_release_dongle.conf b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild_release_dongle.conf index 5b2aa85cfb10..23078b05661d 100644 --- a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild_release_dongle.conf +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpuapp/sysbuild_release_dongle.conf @@ -7,3 +7,9 @@ SB_CONFIG_NETCORE_IPC_RADIO=y SB_CONFIG_NETCORE_IPC_RADIO_BT_HCI_IPC=y + +SB_CONFIG_BOOTLOADER_MCUBOOT=y +SB_CONFIG_MCUBOOT_MODE_DIRECT_XIP=y +SB_CONFIG_BOOT_SIGNATURE_TYPE_ED25519=y +SB_CONFIG_BOOT_SIGNATURE_TYPE_PURE=y +SB_CONFIG_BOOT_SIGNATURE_KEY_FILE="\${APPLICATION_CONFIG_DIR}/images/mcuboot/mcuboot_private.pem" diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpurad/images/ipc_radio/app.overlay b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpurad/images/ipc_radio/app.overlay new file mode 100644 index 000000000000..f4bd46fa995a --- /dev/null +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpurad/images/ipc_radio/app.overlay @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2025 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +#include "../../../nrf54h20dk_nrf54h20_cpuapp/memory_map.dtsi" + +slot0_partition: &cpurad_slot0_partition { + label = "image-0"; +}; + +slot1_partition: &cpurad_slot1_partition { + label = "image-1"; +}; diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpurad/images/ipc_radio/prj.conf b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpurad/images/ipc_radio/prj.conf index f79db4ee9d4a..5bf2e1c9b5d8 100644 --- a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpurad/images/ipc_radio/prj.conf +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpurad/images/ipc_radio/prj.conf @@ -1,5 +1,5 @@ # -# Copyright (c) 2024 Nordic Semiconductor +# Copyright (c) 2024-2025 Nordic Semiconductor # # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # @@ -34,11 +34,6 @@ CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL=y CONFIG_BT_CTLR_FILTER_ACCEPT_LIST=y CONFIG_BT_CTLR_PRIVACY=y -# Allow for large Bluetooth data packets. -CONFIG_BT_BUF_ACL_RX_SIZE=502 -CONFIG_BT_BUF_ACL_TX_SIZE=251 -CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 - # Disable reset on fatal error for better debugging experience. CONFIG_RESET_ON_FATAL_ERROR=n diff --git a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpurad/images/ipc_radio/prj_release.conf b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpurad/images/ipc_radio/prj_release.conf index ce0f28e45220..2403c50a9b67 100644 --- a/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpurad/images/ipc_radio/prj_release.conf +++ b/applications/nrf_desktop/configuration/nrf54h20dk_nrf54h20_cpurad/images/ipc_radio/prj_release.conf @@ -1,5 +1,5 @@ # -# Copyright (c) 2024 Nordic Semiconductor +# Copyright (c) 2024-2025 Nordic Semiconductor # # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # @@ -34,11 +34,6 @@ CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL=y CONFIG_BT_CTLR_FILTER_ACCEPT_LIST=y CONFIG_BT_CTLR_PRIVACY=y -# Allow for large Bluetooth data packets. -CONFIG_BT_BUF_ACL_RX_SIZE=502 -CONFIG_BT_BUF_ACL_TX_SIZE=251 -CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 - # Improve firmware reliability. CONFIG_RESET_ON_FATAL_ERROR=y diff --git a/scripts/quarantine.yaml b/scripts/quarantine.yaml index a8ef6a55f3e4..42ef5cd1142e 100644 --- a/scripts/quarantine.yaml +++ b/scripts/quarantine.yaml @@ -70,12 +70,6 @@ - nrf54h20dk@0.9.0/nrf54h20/cpuapp comment: "Needs alignment to work with IronSide SE" -- scenarios: - - applications.nrf_desktop.* - platforms: - - nrf54h20dk@0.9.0/nrf54h20/cpuapp - comment: "Needs alignment to work with MCUBoot" - - scenarios: - drivers.counter.basic_api platforms: