Skip to content

nrf54ls05a mcuboot/DFU support - #30579

Open
nvlsianpu wants to merge 10 commits into
nrfconnect:mainfrom
nvlsianpu:ncsdk-40118-experiments
Open

nrf54ls05a mcuboot/DFU support#30579
nvlsianpu wants to merge 10 commits into
nrfconnect:mainfrom
nvlsianpu:ncsdk-40118-experiments

Conversation

@nvlsianpu

Copy link
Copy Markdown
Contributor

No description provided.

@nvlsianpu
nvlsianpu requested review from a team as code owners August 6, 2026 15:22
Copilot AI lite review requested due to automatic review settings August 6, 2026 15:22
@nvlsianpu
nvlsianpu requested review from a team as code owners August 6, 2026 15:22
@NordicBuilder

NordicBuilder commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
mcuboot nrfconnect/sdk-mcuboot@2516f19 nrfconnect/sdk-mcuboot#724 nrfconnect/sdk-mcuboot#724/files

DNM label due to: 1 project with PR revision

Note: This message is automatically posted and updated by the Manifest GitHub Action.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds nRF54LS05A (nrf54ls05dk/nrf54ls05a/cpuapp) MCUboot/DFU enablement by extending existing nRF54L bootloader sample/test coverage and SoC-specific secure-boot defaults to include the LS05A variant.

Changes:

  • Switches the west manifest’s MCUboot revision to a PR ref for LS05A-related MCUboot work.
  • Extends multiple bootloader and DFU sample/test matrices to include nrf54ls05dk/nrf54ls05a/cpuapp.
  • Introduces LS05A-specific board overlays/Kconfig defaults/partition layouts used by sysbuild MCUboot and DFU samples.

Reviewed changes

Copilot reviewed 37 out of 37 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
west.yml Updates MCUboot module revision used by the workspace manifest.
tests/subsys/bootloader/upgrade/ref_smp_svr/testcase.yaml Adds LS05A to ref_smp_svr upgrade test platforms.
tests/subsys/bootloader/upgrade/ref_smp_svr/sysbuild/mcuboot/boards/nrf54ls05dk_nrf54ls05a_cpuapp.conf Adds LS05A MCUboot sysbuild config for the upgrade test.
tests/subsys/bootloader/upgrade/ref_smp_svr/pm_static_nrf54ls05dk_nrf54ls05a_cpuapp.yml Adds LS05A static Partition Manager layout for the upgrade test.
tests/subsys/bootloader/backward_compatibility/v3.2/smp_svr_mini_boot/Kconfig.sysbuild Extends SoC conditionals to include LS05A.
tests/subsys/bootloader/backward_compatibility/v3.2/single_slot/Kconfig.sysbuild Extends SoC conditionals to include LS05A.
tests/subsys/bootloader/b0_lock_rwx/testcase.yaml Adds LS05A to b0_lock_rwx test platforms.
tests/subsys/bootloader/b0_lock_rwx/sysbuild/mcuboot/boards/nrf54ls05dk_nrf54ls05a_cpuapp_mcuboot.overlay Adds LS05A sysbuild overlay to set MCUboot code partition for the test.
tests/subsys/bootloader/b0_lock_rwx/Kconfig Adjusts LS05-specific immutable region default to cover LS05A.
tests/subsys/bootloader/b0_lock_rwx/boards/nrf54ls05dk_nrf54ls05a_cpuapp_mcuboot.overlay Adds LS05A partitioning overlay for the b0_lock_rwx test.
sysbuild/Kconfig.secureboot Extends secure boot lock support to LS05A CPUAPP.
sysbuild/CMakeLists.txt Extends Cracen hash-driver disable condition to LS05A.
subsys/bootloader/Kconfig Extends self-RWX disable support to LS05A CPUAPP.
samples/dfu/smp_svr/sysbuild/mcuboot/boards/nrf54ls05dk_nrf54ls05a_cpuapp.overlay Adds LS05A sysbuild MCUboot overlay for smp_svr.
samples/dfu/smp_svr/sysbuild/mcuboot/boards/nrf54ls05dk_nrf54ls05a_cpuapp.conf Adds LS05A sysbuild MCUboot Kconfig fragment for smp_svr.
samples/dfu/smp_svr/sysbuild/mcuboot/boards/nrf54ls05dk_nrf54ls05a_cpuapp_larger_mcuboot.overlay Adds LS05A “larger MCUboot” sysbuild overlay for smp_svr.
samples/dfu/smp_svr/sample.yaml Adds LS05A to smp_svr sample test matrix.
samples/dfu/smp_svr/boards/nrf54ls05dk_nrf54ls05a_cpuapp.overlay Adds LS05A partition overlay for smp_svr sample.
samples/dfu/smp_svr/boards/nrf54ls05dk_nrf54ls05a_cpuapp.conf Adds LS05A board config fragment for smp_svr sample.
samples/dfu/smp_svr/boards/nrf54ls05dk_nrf54ls05a_cpuapp_larger_mcuboot.overlay Adds LS05A “larger MCUboot” partition overlay for smp_svr sample.
samples/dfu/smp_svr_mini_boot/sysbuild/mcuboot/boards/nrf54ls05dk_nrf54ls05a_cpuapp.overlay Adds LS05A sysbuild MCUboot overlay for smp_svr_mini_boot.
samples/dfu/smp_svr_mini_boot/sysbuild/mcuboot/boards/nrf54ls05dk_nrf54ls05a_cpuapp.conf Adds LS05A sysbuild MCUboot config for smp_svr_mini_boot.
samples/dfu/smp_svr_mini_boot/sample.yaml Adds LS05A-specific test entries for smp_svr_mini_boot.
samples/dfu/smp_svr_mini_boot/Kconfig.sysbuild Extends SoC conditionals to include LS05A.
samples/dfu/smp_svr_mini_boot/boards/nrf54ls05dk_nrf54ls05a_cpuapp.overlay Adds LS05A partition overlay for smp_svr_mini_boot.
samples/dfu/smp_svr_mini_boot/boards/nrf54ls05dk_nrf54ls05a_cpuapp.conf Adds LS05A board config fragment (UART mcumgr/console) for smp_svr_mini_boot.
samples/dfu/single_slot/sysbuild/mcuboot/boards/nrf54ls05dk_nrf54ls05a_cpuapp.overlay Adds LS05A sysbuild MCUboot overlay for single_slot.
samples/dfu/single_slot/sysbuild/mcuboot/boards/nrf54ls05dk_nrf54ls05a_cpuapp.conf Adds LS05A sysbuild MCUboot config for single_slot.
samples/dfu/single_slot/sysbuild/ble_mcumgr/boards/nrf54ls05dk_nrf54ls05a_cpuapp.overlay Adds LS05A sysbuild overlay for ble_mcumgr in single_slot.
samples/dfu/single_slot/sample.yaml Adds LS05A to single_slot sample test matrix.
samples/dfu/single_slot/Kconfig.sysbuild Extends SoC conditionals to include LS05A.
samples/dfu/single_slot/boards/nrf54ls05dk_nrf54ls05a_cpuapp.overlay Adds LS05A partition overlay for single_slot sample.
samples/dfu/compressed_update/sysbuild/mcuboot/boards/nrf54ls05dk_nrf54ls05a_cpuapp.overlay Adds LS05A sysbuild MCUboot overlay for compressed_update.
samples/dfu/compressed_update/sysbuild/mcuboot/boards/nrf54ls05dk_nrf54ls05a_cpuapp.conf Adds LS05A sysbuild MCUboot config for compressed_update.
samples/dfu/compressed_update/sample.yaml Adds LS05A to compressed_update sample test matrix.
samples/dfu/compressed_update/boards/nrf54ls05dk_nrf54ls05a_cpuapp.overlay Adds LS05A partition overlay for compressed_update sample.
boards/nordic/nrf54ls05dk/nrf54ls05dk_nrf54ls05a_cpuapp.dts Adds MCUboot button/LED aliases for LS05A CPUAPP board DTS.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread west.yml
Comment on lines 130 to 133
- name: mcuboot
repo-path: sdk-mcuboot
revision: ca8eaae84174c8ffc31cba7c077158edffd4073c
revision: pull/724/head
path: bootloader/mcuboot
# CONFIG_SERIAL=n
# CONFIG_CONSOLE=n
# CONFIG_UART_CONSOLE=n
# NOTE: ... and these lines shout not be commented
region: flash_primary
size: 0x36800
span: *id002
empty:
@NordicBuilder

NordicBuilder commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

CI Information

To view the history of this post, click the 'edited' button above
Build number: 7

Inputs:

Sources:

sdk-nrf: PR head: 8be082e34990779d8a46192b14ff3ab220bfcaac
mcuboot: PR head: f095f23f7d65eabb245c5146125fa4437fe38d40

more details

sdk-nrf:

PR head: 8be082e34990779d8a46192b14ff3ab220bfcaac
merge base: 9a67d4cefeb7789d9e30d7e142a820a80bb06b4b
target head (main): 2d99340478a0b2e6332a742f7c73133f0e6af536
Diff

mcuboot:

PR head: f095f23f7d65eabb245c5146125fa4437fe38d40
merge base: 2516f19e1b88e5787338029aa1d37c35b729f7ae
target head (main): 97ed202eb2b2969be6f18189f0871014c4a6d135
Diff

Github labels

Enabled Name Description
ci-disabled Disable the ci execution
ci-all-test Run all of ci, no test spec filtering will be done
ci-force-downstream Force execution of downstream even if twister fails
ci-run-twister Force run twister
ci-run-zephyr-twister Force run zephyr twister
ci-run-draft Run CI on draft pull requests
List of changed files detected by CI (54)
boards
│  ├── nordic
│  │  ├── nrf54ls05dk
│  │  │  │ nrf54ls05dk_nrf54ls05a_cpuapp.dts
bootloader
│  ├── mcuboot
│  │  ├── boot
│  │  │  ├── zephyr
│  │  │  │  ├── CMakeLists.txt
│  │  │  │  ├── Kconfig
│  │  │  │  ├── keys.c
│  │  │  │  ├── main.c
│  │  │  │  │ sample.yaml
│  │  ├── docs
│  │  │  ├── imgtool.md
│  │  │  ├── readme-zephyr.md
│  │  │  │ signed_images.md
│  │  ├── root-ed25519-2-pub.pem
│  │  ├── scripts
│  │  │  ├── imgtool
│  │  │  │  ├── keys
│  │  │  │  │  │ general.py
│  │  │  │  │ main.py
│  │  │  ├── tests
│  │  │  │  ├── test_commands.py
│  │  │  │  │ test_keys.py
samples
│  ├── dfu
│  │  ├── compressed_update
│  │  │  ├── boards
│  │  │  │  │ nrf54ls05dk_nrf54ls05a_cpuapp.overlay
│  │  │  ├── sample.yaml
│  │  │  ├── sysbuild
│  │  │  │  ├── mcuboot
│  │  │  │  │  ├── boards
│  │  │  │  │  │  ├── nrf54ls05dk_nrf54ls05a_cpuapp.conf
│  │  │  │  │  │  │ nrf54ls05dk_nrf54ls05a_cpuapp.overlay
│  │  ├── mcuboot_with_encryption
│  │  │  ├── boards
│  │  │  │  ├── nrf54ls05dk_nrf54ls05a_cpuapp.conf
│  │  │  │  │ nrf54ls05dk_nrf54ls05a_cpuapp.overlay
│  │  │  ├── sample.yaml
│  │  │  ├── sysbuild
│  │  │  │  ├── mcuboot
│  │  │  │  │  ├── boards
│  │  │  │  │  │  ├── nrf54ls05dk_nrf54ls05a_cpuapp.conf
│  │  │  │  │  │  │ nrf54ls05dk_nrf54ls05a_cpuapp.overlay
│  │  ├── single_slot
│  │  │  ├── Kconfig.sysbuild
│  │  │  ├── boards
│  │  │  │  │ nrf54ls05dk_nrf54ls05a_cpuapp.overlay
│  │  │  ├── sample.yaml
│  │  │  ├── sysbuild
│  │  │  │  ├── ble_mcumgr
│  │  │  │  │  ├── boards
│  │  │  │  │  │  │ nrf54ls05dk_nrf54ls05a_cpuapp.overlay
│  │  │  │  ├── mcuboot
│  │  │  │  │  ├── boards
│  │  │  │  │  │  ├── nrf54ls05dk_nrf54ls05a_cpuapp.conf
│  │  │  │  │  │  │ nrf54ls05dk_nrf54ls05a_cpuapp.overlay
│  │  ├── smp_svr
│  │  │  ├── boards
│  │  │  │  ├── nrf54ls05dk_nrf54ls05a_cpuapp.conf
│  │  │  │  ├── nrf54ls05dk_nrf54ls05a_cpuapp.overlay
│  │  │  │  │ nrf54ls05dk_nrf54ls05a_cpuapp_larger_mcuboot.overlay
│  │  │  ├── sample.yaml
│  │  │  ├── sysbuild
│  │  │  │  ├── mcuboot
│  │  │  │  │  ├── boards
│  │  │  │  │  │  ├── nrf54ls05dk_nrf54ls05a_cpuapp.conf
│  │  │  │  │  │  ├── nrf54ls05dk_nrf54ls05a_cpuapp.overlay
│  │  │  │  │  │  │ nrf54ls05dk_nrf54ls05a_cpuapp_larger_mcuboot.overlay
│  │  ├── smp_svr_mini_boot
│  │  │  ├── Kconfig.sysbuild
│  │  │  ├── boards
│  │  │  │  ├── nrf54ls05dk_nrf54ls05a_cpuapp.conf
│  │  │  │  │ nrf54ls05dk_nrf54ls05a_cpuapp.overlay
│  │  │  ├── sample.yaml
│  │  │  ├── sysbuild
│  │  │  │  ├── mcuboot
│  │  │  │  │  ├── boards
│  │  │  │  │  │  ├── nrf54ls05dk_nrf54ls05a_cpuapp.conf
│  │  │  │  │  │  │ nrf54ls05dk_nrf54ls05a_cpuapp.overlay
subsys
│  ├── bootloader
│  │  │ Kconfig
sysbuild
│  ├── CMakeLists.txt
│  ├── Kconfig.mcuboot
│  │ Kconfig.secureboot
tests
│  ├── subsys
│  │  ├── bootloader
│  │  │  ├── b0_lock_rwx
│  │  │  │  ├── Kconfig
│  │  │  │  ├── boards
│  │  │  │  │  │ nrf54ls05dk_nrf54ls05a_cpuapp_mcuboot.overlay
│  │  │  │  ├── sysbuild
│  │  │  │  │  ├── mcuboot
│  │  │  │  │  │  ├── boards
│  │  │  │  │  │  │  │ nrf54ls05dk_nrf54ls05a_cpuapp_mcuboot.overlay
│  │  │  │  │ testcase.yaml
│  │  │  ├── upgrade
│  │  │  │  ├── ref_smp_svr
│  │  │  │  │  ├── pm_static_nrf54ls05dk_nrf54ls05a_cpuapp.yml
│  │  │  │  │  ├── sysbuild
│  │  │  │  │  │  ├── mcuboot
│  │  │  │  │  │  │  ├── boards
│  │  │  │  │  │  │  │  │ nrf54ls05dk_nrf54ls05a_cpuapp.conf
│  │  │  │  │  │ testcase.yaml
west.yml

Outputs:

Toolchain

Version: e214c2a47c
Build docker image: docker-dtr.nordicsemi.no/sw-production/ncs-build:e214c2a47c_a140d687bb

Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped; ⚠️ Quarantine

  • ◻️ Toolchain - Skipped: existing toolchain is used
  • ✅ Build twister
  • ❌ Integration tests
    • ✅ test-sdk-audio
    • ✅ desktop52_verification
    • ❌ test-fw-nrfconnect-apps_nrfdesktop
    • ✅ test-fw-nrfconnect-apps
    • ✅ test_ble_nrf_config
    • ❌ test-fw-nrfconnect-ble_mesh
    • ✅ test-fw-nrfconnect-ble_samples
    • ✅ test-fw-nrfconnect-nfc
    • ❌ test-fw-nrfconnect-rpc
    • ❌ test-fw-nrfconnect-rs
    • ✅ test-fw-nrfconnect-fem
    • ❌ test-fw-nrfconnect-thread-main
    • ❌ test-sdk-find-my
    • ✅ test-fw-nrfconnect-nrf_lrcs_mosh
    • ✅ test-fw-nrfconnect-nrf_lrcs_positioning
    • ❌ test-sdk-wifi
    • ✅ test-sdk-wifi-net
    • ❌ test-low-level
    • ❌ test-sdk-mcuboot
    • ❌ test-sdk-dfu
    • ⚠️ test-fw-nrfconnect-nrf-iot_cloud
    • ⚠️ test-fw-nrfconnect-tfm

Note: This message is automatically posted and updated by the CI

@NordicBuilder

NordicBuilder commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Memory footprint analysis revealed the following potential issues

applications.hpf.gpio.icbmsg[nrf54l15dk/nrf54l15/cpuflpr]: High RAM usage: 13533[B] - link (cc: @nrfconnect/ncs-ll-ursus)
applications.hpf.gpio.icbmsg[nrf54l15dk/nrf54l15/cpuflpr]: High ROM usage: 10272[B] - link (cc: @nrfconnect/ncs-ll-ursus)
applications.hpf.gpio.mbox[nrf54l15dk/nrf54l15/cpuflpr]: High RAM usage: 7389[B] - link (cc: @nrfconnect/ncs-ll-ursus)
applications.hpf.gpio.mbox[nrf54l15dk/nrf54l15/cpuflpr]: High ROM usage: 4148[B] - link (cc: @nrfconnect/ncs-ll-ursus)
applications.hpf.gpio.icmsg[nrf54l15dk/nrf54l15/cpuflpr]: High RAM usage: 9549[B] - link (cc: @nrfconnect/ncs-ll-ursus)
applications.hpf.gpio.icmsg[nrf54l15dk/nrf54l15/cpuflpr]: High ROM usage: 6296[B] - link (cc: @nrfconnect/ncs-ll-ursus)
applications.nrf_desktop.zrelease[nrf5340dk/nrf5340/cpuapp]: ROM size increased by 2308[B] in comparison to the main[c58783f] branch. - link (cc: @nrfconnect/ncs-si-xcake)

Note: This message is automatically posted and updated by the CI (latest/sdk-nrf/PR-30579/7)

@nvlsianpu
nvlsianpu force-pushed the ncsdk-40118-experiments branch from b2bf178 to 49a2d06 Compare August 14, 2026 15:32
@github-actions

Copy link
Copy Markdown

You can find the documentation preview for this PR here.

@nvlsianpu
nvlsianpu force-pushed the ncsdk-40118-experiments branch 3 times, most recently from 9c92f3f to 671b963 Compare August 17, 2026 12:16
@nvlsianpu nvlsianpu changed the title [WIP, DO NOT REVIEW] nrf54ls05a mcuboot/DFU support [WIP] nrf54ls05a mcuboot/DFU support Aug 20, 2026
@nvlsianpu
nvlsianpu force-pushed the ncsdk-40118-experiments branch from 671b963 to 3a02348 Compare August 20, 2026 12:33
adsz-nordic and others added 5 commits August 21, 2026 18:23
Extend CRACEN-hash disable matching existing LS05B handling.

Mark CONFIG_SB_DISABLE_SELF_RWX_SUPPORTED=y
and CONFIG_SECURE_BOOT_BOOTCONF_LOCK_WRITES_SUPPORTED=y
for the SoC, as these exact following LS05B.

Made EDCDSA_P256 default signature on nRF54LS05a/b

Ref: NCSDK-40118

Signed-off-by: Adam Szczygieł <adam.szczygiel@nordicsemi.no>
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Use common settings for LS05 variants A and B.instead

Ref: NCSDK-40118

Signed-off-by: Adam Szczygieł <adam.szczygiel@nordicsemi.no>
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Added declaration on mcuboot-button0 and mcuboot-led0
aliases for nrf54ls05dk/nrf54ls05a/cpuapp target.
This is required for usage relevant MCUboot's IO features.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
update sdk-mcuboot

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
single_slot:
Include nrf54ls05dk/nrf54ls05a/cpuapp in platform_allow and
integration_platforms for the default test case.
Add app, MCUboot, and ble_mcumgr overlays with Oberon signing for
the shared A/B flash map.

compressed_update:
Add partition overlays and MCUboot config with Oberon and nrf_compress
support, matching the LS05B layout.
Allow nrf54ls05dk/nrf54ls05a/cpuapp in the default Twister case.

smp_svr:
Add standard and larger_mcuboot partition overlays plus MCUboot
sysbuild board config for nrf54ls05dk/nrf54ls05a/cpuapp.

smp_svr_mini_boot:
Mirror LS05B partition layout and Oberon MCUboot config for the
64 KB SRAM variant on nrf54ls05dk/nrf54ls05a/cpuapp.
Add direct_xip and swap_move platform_allow entries for
nrf54ls05dk/nrf54ls05a/cpuapp.

Ref: NCSDK-40118

Signed-off-by: Adam Szczygieł <adam.szczygiel@nordicsemi.no>
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
adsz-nordic and others added 5 commits August 21, 2026 18:23
Extend serial, direct_xip, encryption, and signature platform_allow
entries. BT, KMU, NSIB, and nrf_compress cases are excluded.

Ref: NCSDK-40118

Signed-off-by: Adam Szczygieł <adam.szczygiel@nordicsemi.no>
Add MCUboot board conf, static partition map, and Twister entries
alongside existing LS05B cases.

Ref: NCSDK-40118

Signed-off-by: Adam Szczygieł <adam.szczygiel@nordicsemi.no>
Add mcuboot.rwx partition overlays and platform entries for
nrf54ls05dk/nrf54ls05a/cpuapp.

Ref: NCSDK-40118

Signed-off-by: Adam Szczygieł <adam.szczygiel@nordicsemi.no>
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Add board and MCUboot overlays, size-trimmed application config, and a
Twister build-only scenario for encrypted MCUboot on nRF54LS05A.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Point nRF54LS05A MCUboot at PSA ECDSA and add sysbuild defaults for
ECDSA P-256 without KMU on the LS05 SoC series.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
@nvlsianpu
nvlsianpu force-pushed the ncsdk-40118-experiments branch from 3a02348 to 8be082e Compare August 21, 2026 16:23
@nvlsianpu nvlsianpu changed the title [WIP] nrf54ls05a mcuboot/DFU support nrf54ls05a mcuboot/DFU support Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants