Skip to content

samples: net: Remove PM from networking samples for Wi-Fi targets#28547

Merged
rlubos merged 10 commits into
nrfconnect:mainfrom
PavelVPV:remove_pm_from_networking_samples
May 19, 2026
Merged

samples: net: Remove PM from networking samples for Wi-Fi targets#28547
rlubos merged 10 commits into
nrfconnect:mainfrom
PavelVPV:remove_pm_from_networking_samples

Conversation

@PavelVPV
Copy link
Copy Markdown
Contributor

@PavelVPV PavelVPV commented May 5, 2026

This PR removes Partition Manager from the networking samples on the Wi‑Fi nRF5340, nRF54L15, nRF54LM20 targets, and moves the flash and RAM layout into Devicetree.

Tha code and RAM partitions layout is aligned with Partition Manager layouts.

nRF91 and Thingy91(x) builds are left on Partition Manager.

Jira: NCSDK-39198

@NordicBuilder NordicBuilder added doc-required PR must not be merged without tech writer approval. changelog labels May 5, 2026
@NordicBuilder
Copy link
Copy Markdown
Contributor

NordicBuilder commented May 5, 2026

CI Information

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

Inputs:

Sources:

sdk-nrf: PR head: ca01b417a4c0974a610811d7a2a558a07f2c5671

more details

sdk-nrf:

PR head: ca01b417a4c0974a610811d7a2a558a07f2c5671
merge base: e12234e3cc3199f6643a6b86bec6c17f9bc1a63d
target head (main): d3172ae0e09ddd8dd232e0e0fd74c34d71ac368a
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
List of changed files detected by CI (70)
doc
│  ├── nrf
│  │  ├── releases_and_maturity
│  │  │  ├── releases
│  │  │  │  │ release-notes-changelog.rst
samples
│  ├── net
│  │  ├── aws_iot
│  │  │  ├── Kconfig.sysbuild
│  │  │  ├── boards
│  │  │  │  ├── nrf54l15dk_nrf54l15_cpuapp.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20a_cpuapp.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20b_cpuapp.overlay
│  │  │  │  ├── nrf7002dk_nrf5340_cpuapp_ns.conf
│  │  │  │  │ nrf7002dk_nrf5340_cpuapp_ns.overlay
│  │  │  ├── sysbuild
│  │  │  │  ├── mcuboot
│  │  │  │  │  ├── boards
│  │  │  │  │  │  ├── nrf7002dk_nrf5340_cpuapp.conf
│  │  │  │  │  │  │ nrf7002dk_nrf5340_cpuapp.overlay
│  │  ├── azure_iot_hub
│  │  │  ├── Kconfig.sysbuild
│  │  │  ├── boards
│  │  │  │  ├── nrf54lm20dk_nrf54lm20a_cpuapp_ns.conf
│  │  │  │  ├── nrf54lm20dk_nrf54lm20a_cpuapp_ns.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20b_cpuapp_ns.conf
│  │  │  │  ├── nrf54lm20dk_nrf54lm20b_cpuapp_ns.overlay
│  │  │  │  ├── nrf7002dk_nrf5340_cpuapp_ns.conf
│  │  │  │  │ nrf7002dk_nrf5340_cpuapp_ns.overlay
│  │  │  ├── sysbuild
│  │  │  │  ├── mcuboot
│  │  │  │  │  ├── boards
│  │  │  │  │  │  ├── nrf54lm20dk_nrf54lm20a_cpuapp.conf
│  │  │  │  │  │  ├── nrf54lm20dk_nrf54lm20a_cpuapp.overlay
│  │  │  │  │  │  ├── nrf54lm20dk_nrf54lm20b_cpuapp.conf
│  │  │  │  │  │  ├── nrf54lm20dk_nrf54lm20b_cpuapp.overlay
│  │  │  │  │  │  ├── nrf7002dk_nrf5340_cpuapp.conf
│  │  │  │  │  │  │ nrf7002dk_nrf5340_cpuapp.overlay
│  │  ├── coap_client
│  │  │  ├── Kconfig.sysbuild
│  │  │  ├── boards
│  │  │  │  ├── nrf5340dk_nrf5340_cpuapp_ns.conf
│  │  │  │  ├── nrf5340dk_nrf5340_cpuapp_ns.overlay
│  │  │  │  ├── nrf54l15dk_nrf54l15_cpuapp.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20a_cpuapp.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20b_cpuapp.overlay
│  │  │  │  ├── nrf7002dk_nrf5340_cpuapp_ns.conf
│  │  │  │  │ nrf7002dk_nrf5340_cpuapp_ns.overlay
│  │  ├── download
│  │  │  ├── Kconfig.sysbuild
│  │  │  ├── boards
│  │  │  │  ├── nrf5340dk_nrf5340_cpuapp_ns.conf
│  │  │  │  ├── nrf5340dk_nrf5340_cpuapp_ns.overlay
│  │  │  │  ├── nrf54l15dk_nrf54l15_cpuapp.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20a_cpuapp.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20b_cpuapp.overlay
│  │  │  │  ├── nrf7002dk_nrf5340_cpuapp_ns.conf
│  │  │  │  │ nrf7002dk_nrf5340_cpuapp_ns.overlay
│  │  ├── http_server
│  │  │  ├── Kconfig.sysbuild
│  │  │  ├── boards
│  │  │  │  ├── nrf5340dk_nrf5340_cpuapp_ns.conf
│  │  │  │  ├── nrf5340dk_nrf5340_cpuapp_ns.overlay
│  │  │  │  ├── nrf54l15dk_nrf54l15_cpuapp.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20a_cpuapp.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20b_cpuapp.overlay
│  │  │  │  ├── nrf7002dk_nrf5340_cpuapp_ns.conf
│  │  │  │  │ nrf7002dk_nrf5340_cpuapp_ns.overlay
│  │  ├── https_client
│  │  │  ├── Kconfig.sysbuild
│  │  │  ├── boards
│  │  │  │  ├── nrf5340dk_nrf5340_cpuapp_ns.conf
│  │  │  │  ├── nrf5340dk_nrf5340_cpuapp_ns.overlay
│  │  │  │  ├── nrf54l15dk_nrf54l15_cpuapp.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20a_cpuapp.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20b_cpuapp.overlay
│  │  │  │  ├── nrf7002dk_nrf5340_cpuapp_ns.conf
│  │  │  │  │ nrf7002dk_nrf5340_cpuapp_ns.overlay
│  │  ├── mqtt
│  │  │  ├── Kconfig.sysbuild
│  │  │  ├── boards
│  │  │  │  ├── nrf5340dk_nrf5340_cpuapp_ns.conf
│  │  │  │  ├── nrf5340dk_nrf5340_cpuapp_ns.overlay
│  │  │  │  ├── nrf54l15dk_nrf54l15_cpuapp.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20a_cpuapp.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20b_cpuapp.overlay
│  │  │  │  ├── nrf7002dk_nrf5340_cpuapp_ns.conf
│  │  │  │  │ nrf7002dk_nrf5340_cpuapp_ns.overlay
│  │  ├── udp
│  │  │  ├── Kconfig.sysbuild
│  │  │  ├── boards
│  │  │  │  ├── nrf5340dk_nrf5340_cpuapp_ns.conf
│  │  │  │  ├── nrf5340dk_nrf5340_cpuapp_ns.overlay
│  │  │  │  ├── nrf54l15dk_nrf54l15_cpuapp.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20a_cpuapp.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20b_cpuapp.overlay
│  │  │  │  ├── nrf7002dk_nrf5340_cpuapp_ns.conf
│  │  │  │  │ nrf7002dk_nrf5340_cpuapp_ns.overlay

Outputs:

Toolchain

Version: f0aa129f09
Build docker image: docker-dtr.nordicsemi.no/sw-production/ncs-build:f0aa129f09_5ea73affbf

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

  • ◻️ Toolchain - Skipped: existing toolchain is used
  • ✅ Build twister
    • sdk-nrf test count: 107
  • ✅ Integration tests
    • ✅ test-fw-nrfconnect-nrf-iot_samples
    • ✅ test-fw-nrfconnect-nrf-iot_thingy91
Disabled integration tests
    • test-fw-nrfconnect-nrf_lrcs_mosh
    • test-fw-nrfconnect-nrf_lrcs_positioning
    • desktop52_verification
    • test_ble_nrf_config
    • test-fw-nrfconnect-apps
    • test-fw-nrfconnect-apps_nrfdesktop
    • test-fw-nrfconnect-ble_mesh
    • test-fw-nrfconnect-ble_samples
    • test-fw-nrfconnect-chip
    • test-fw-nrfconnect-fem
    • test-fw-nrfconnect-nfc
    • test-fw-nrfconnect-nrf-iot_libmodem-nrf
    • test-fw-nrfconnect-nrf-iot_lwm2m
    • test-fw-nrfconnect-nrf-iot_zephyr_lwm2m
    • test-fw-nrfconnect-nrf_crypto
    • test-fw-nrfconnect-ps-main
    • test-fw-nrfconnect-rpc
    • test-fw-nrfconnect-rs
    • test-fw-nrfconnect-tfm
    • test-fw-nrfconnect-thread-main
    • test-low-level
    • test-sdk-audio
    • test-sdk-dfu
    • test-sdk-find-my
    • test-sdk-mcuboot
    • test-sdk-wifi
    • test-secdom-samples-public

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

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 5, 2026

You can find the documentation preview for this PR here.

Preview links for modified nRF Connect SDK documents:

https://ncsbmdoc.z6.web.core.windows.net/ncs/PR-28547/nrf/releases_and_maturity/releases/release-notes-changelog.html

Comment thread samples/net/aws_iot/boards/nrf7002dk_nrf5340_cpuapp_ns.overlay
@PavelVPV PavelVPV force-pushed the remove_pm_from_networking_samples branch 8 times, most recently from 7b27054 to 49decd8 Compare May 11, 2026 14:26
@PavelVPV PavelVPV force-pushed the remove_pm_from_networking_samples branch 3 times, most recently from e60a6a7 to d786015 Compare May 13, 2026 12:46
@PavelVPV PavelVPV marked this pull request as ready for review May 13, 2026 12:49
@PavelVPV PavelVPV requested review from a team as code owners May 13, 2026 12:49
@PavelVPV
Copy link
Copy Markdown
Contributor Author

All samples start (including nRF54LM after nrfconnect/sdk-zephyr#4042): net_wifi_hw.log. Wi-Fi transport failures are because I don't have this variant on my desk, though if it is starts, then partitions layout is correct.

@PavelVPV PavelVPV requested a review from nordicjm May 13, 2026 12:51
Networking samples
------------------

* :ref:`mqtt_sample` sample:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Maybe something like:

  • Removed Partition Manager for all Wi-Fi targets from the following samples:

    • :ref:mqtt_sample
    • ...

And at the end of the list: Flash and SRAM partitions are supplied using the device tree overlays.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done

@PavelVPV PavelVPV force-pushed the remove_pm_from_networking_samples branch 2 times, most recently from c4b4cab to 17d2865 Compare May 13, 2026 13:11
@PavelVPV PavelVPV requested a review from peknis May 13, 2026 13:11
Copy link
Copy Markdown
Contributor

@nordicjm nordicjm left a comment

Choose a reason for hiding this comment

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

apply comments throughout whole PR (they have been pointed out once only)

Comment on lines +59 to +67
# CONFIG_SRAM_BASE_ADDRESS / CONFIG_SRAM_SIZE override the Zephyr defaults so the
# NS application linker map matches this sample's board *.overlay (chosen zephyr,sram
# resolves to &sram0_ns_app). TF-M occupies the low 48 KiB (0xc000) of cpuapp SRAM; the NS
# image therefore starts at 0x20000000 + 0xc000 == 0x2000c000. CONFIG_SRAM_SIZE is in kB
# (see arch/Kconfig): 400 = 0x64000 bytes, the reg size of sram0_ns_app in the overlay.
# The NS window (&sram0_ns) spans 0x74000; the top 0x10000 (64 KiB) is sram0_shared for
# application/network-core IPC (nrf5340_shared_sram_partition.dtsi), so 0x64000 + 0x10000 == 0x74000.
CONFIG_SRAM_BASE_ADDRESS=0x2000c000
CONFIG_SRAM_SIZE=400
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

these Kconfigs should absolutely not be used, change the dts node

Comment on lines +14 to +16
#address-cells = <1>;
#size-cells = <1>;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
#address-cells = <1>;
#size-cells = <1>;

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

If I understand your comment correctly, this is added by pm_to_dts.py script. This should be fixed this in the script first:

write_and_print(f, f'{indent}\t#address-cells = <1>;\n')
write_and_print(f, f'{indent}\t#size-cells = <1>;\n\n')

Same for #28547 (comment)

Comment on lines +20 to +26
reg = <0x0 DT_SIZE_K(1524)>;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
reg = <0x0 DT_SIZE_K(1524)>;

Copy link
Copy Markdown
Contributor Author

@PavelVPV PavelVPV May 18, 2026

Choose a reason for hiding this comment

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

This is needed because FLPR memory is dropped.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

what flpr memory?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

why are you deleting nodes that do not exist? I suggest you configure hello world for nrf54l15dk/nrf54l15/cpuapp and look at the generated zephyr.dts file to compare against

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I'm not deleting them, they were before my PR, please look at main branch:

&rram_controller {
/delete-node/ cpuflpr_sram;
/delete-node/ cpuflpr_rram;
};
/* Adjust the cpuapp_sram to include the freed up cpuflpr_sram */
&cpuapp_sram {
reg = <0x20000000 DT_SIZE_K(256)>;
ranges = <0x0 0x20000000 0x20040000>;
};
/* Adjust the cpuapp_rram to include the freed up cpuflpr_rram */
&cpuapp_rram {
reg = <0x0 DT_SIZE_K(1524)>;
};

Since this change was here before, I will not address this comment in this PR.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

this should have been removed as part of the upmerge, so it was wrong then, why was it not addressed at the time and why has it still not been addressed now? Deleting a node that does not exist is invalid, @kylebonnici

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Removed just to move this forward

Comment thread doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst Outdated
@PavelVPV PavelVPV force-pushed the remove_pm_from_networking_samples branch 4 times, most recently from 67c4ffc to 424f81e Compare May 18, 2026 09:09
@PavelVPV PavelVPV requested review from divipillai and nordicjm May 18, 2026 09:12

partitions {
compatible = "fixed-partitions";
ranges;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
ranges;


partitions {
compatible = "fixed-partitions";
ranges;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
ranges;


partitions {
compatible = "fixed-partitions";
ranges;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
ranges;

fix in whole PR, fixed-partitions does not use ranges, mapped partitions do

PavelVPV and others added 10 commits May 19, 2026 09:18
Set PARTITION_MANAGER default to n in Kconfig.sysbuild. Add board
overlays with mapped partitions and SRAM sizing for nrf5340dk/nrf7002
NS, nRF54L15, nRF54LM20 A/B (cpuapp), and nrf7002dk NS so builds match
the former PM layout without generated partitions.yml. Remove
CONFIG_PM_PARTITION_SIZE_TFM* from NS board .conf files and set
CONFIG_SRAM_BASE_ADDRESS / CONFIG_SRAM_SIZE from the overlay. Document
in the NCS release changelog.

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Default PARTITION_MANAGER off in sysbuild; nrf5340dk + nrf7002 NS
overlays, nRF54L15 and nRF54LM20 A/B cpuapp overlays, nrf7002dk NS
overlay and .conf cleanup (drop PM TF-M size Kconfigs, SRAM from DTS).
Changelog entry.

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Disable sysbuild PM by default; add static partition and SRAM overlays
for nrf5340dk/nrf7002 NS, nRF54L15, nRF54LM20 A/B, and nrf7002dk NS;
align NS .conf with overlay-based TF-M SRAM. Changelog entry.

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Kconfig.sysbuild PM default n; board overlays for nrf5340dk/nrf7002 NS,
nRF54L15, nRF54LM20 A/B, nrf7002dk NS; remove redundant CONFIG_PM_* TF-M
partition lines from NS .conf and set SRAM layout from DTS. Changelog
entry.

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Kconfig.sysbuild PM default n; static flash/SRAM overlays for
nrf5340dk/nrf7002 NS, nRF54L15, nRF54LM20 A/B, nrf7002dk NS; NS .conf
aligned with overlays.  Changelog entry.

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Kconfig.sysbuild PM default n; overlays for nrf5340dk/nrf7002 NS,
nRF54L15, nRF54LM20 A/B, nrf7002dk NS; drop PM TF-M size Kconfigs from
NS .conf in favour of DTS. Changelog entry.

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Kconfig.sysbuild PM default n; nrf7002dk NS overlay and .conf for
DTS-based TF-M partitions and SRAM; nRF54L15 and nRF54LM20 A/B cpuapp
overlays; adjust sysbuild MCUboot image Kconfig and add nrf7002dk
MCUboot overlay for the PM-disabled flash map. Changelog entry.

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Kconfig.sysbuild PM default n. nrf7002dk NS overlay and .conf for static
partitions and SRAM; nrf54lm20dk A/B NS overlays (image-1 on external
flash, image-0 on RRAM) and drop redundant NS .conf lines; nrf7002dk and
nrf54lm20dk MCUboot board snippets for external flash / partition
alignment. Changelog entry.

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Add a note about Partition Manager removal in networking samples for
Wi-Fi targets.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
This commit removes the unnecessary FLPR core memory removal from
nRF54L15DK overlays since FLPR core is not included.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
@PavelVPV PavelVPV force-pushed the remove_pm_from_networking_samples branch from 36f5d9e to ca01b41 Compare May 19, 2026 07:18
@PavelVPV PavelVPV requested a review from nordicjm May 19, 2026 07:19
@PavelVPV
Copy link
Copy Markdown
Contributor Author

@nrfconnect/ncs-cia please have a look

@rlubos rlubos merged commit c63ff01 into nrfconnect:main May 19, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog doc-required PR must not be merged without tech writer approval.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants