Skip to content

Conversation

@chapongatien
Copy link
Contributor

@chapongatien chapongatien commented Dec 4, 2025

Summary

Cherry-picking NXP MCU Matter platform fixes to v1.5-branch

Related issues

Testing

No test. Testing was already performed when initial PRs were created

Cherry-pick list

[NXP] Allow extra customization of default lock app (project-chip#41843)
cherry-pick from 515eed118c
[NXP][platform][common] Avoid using static state variables in OTA firmware processor (project-chip#41944)
cherry-pick from 7a6eddd379
[NXP][doc][mcxw7x] Update MCXW7x platforms documentation (project-chip#41910)
cherry-pick from 4915fb0953
[NXP] Fix DnssdImplBr handling of SRP cache resolve (project-chip#41848)
cherry-pick from 053c954186
[nxp][cmake][platform][mcxw7x] Increase LIT ICD idle mode duration to one hour (project-chip#41993)
cherry-pick from aa80cc7ca2
[NXP] Fix read last-networking-status and read last-network-id issue for ethernet and wifi (project-chip#42031)
cherry-pick from b335217df4
[NXP][wifi-otbr] fix TC-CGEN-2.2 issue due to multiple mdns advertising updates in short time (project-chip#42032)
cherry-pick from d345d51cc1
[NXP] Fix TC-CGEN-2.4 and TC-CGEN-2.2 issue due to unnecessary wifi connection during revert config (project-chip#42064)
cherry-pick from d975aafe3c
[NXP] Deprecating GN build support for NXP MCUs, retaining only minimal application support for the MCXW72 and RW61X platforms (project-chip#41060)
cherry-pick from 74647d1518
[NXP] Fix BootReason for successful OTA (project-chip#41957)
cherry-pick from 9bf202b320
[NXP] allow user to connect devices to open network (project-chip#42138)
cherry-pick from 318d81e088
[NXP][example_common] Adding a dedicated KCONFIG option to register a simple test event trigger delegate (project-chip#42133)
cherry-pick from 67d831e4fb
psa: fix buffer overflow (project-chip#42015)
cherry-pick from fe7d07a904
[Zephyr][platform][config] Update the existing Zephyr platform adaptation layer to make it reusable across multiple Zephyr-based platforms (project-chip#42198)
cherry-pick from 8dd3e202bd

@chapongatien chapongatien requested review from a team and s07641069 as code owners December 4, 2025 15:28
@CLAassistant
Copy link

CLAassistant commented Dec 4, 2025

CLA assistant check
All committers have signed the CLA.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request integrates a number of changes for the NXP MCU platform, including bug fixes, documentation updates, and a significant refactoring to remove the GN build system for many examples in favor of CMake. Key changes include correcting memory leaks, improving the robustness of multi-part AEAD operations, fixing network status change notifications, and enhancing the wifi connect shell command. The changes are generally of high quality and improve the stability and usability of the NXP platform. I have a few minor suggestions for improving documentation clarity and code comments.

@github-actions
Copy link

github-actions bot commented Dec 4, 2025

PR #42289: Size comparison from c8840de to b054788

Full report (43 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section c8840de b054788 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1106382 1106382 0 0.0
RAM 178930 178930 0 0.0
bl702 lighting-app bl702+eth FLASH 661456 661456 0 0.0
RAM 135025 135025 0 0.0
bl702+wifi FLASH 837050 837050 0 0.0
RAM 124445 124445 0 0.0
bl706+mfd+rpc+littlefs FLASH 1070652 1070652 0 0.0
RAM 117317 117317 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 900154 900154 0 0.0
RAM 105612 105612 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 983398 983398 0 0.0
RAM 109796 109796 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 770840 770840 0 0.0
RAM 103360 103360 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 782692 782692 0 0.0
RAM 108536 108536 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 728624 728624 0 0.0
RAM 97420 97420 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 713100 713100 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 554946 554946 0 0.0
RAM 205776 205776 0 0.0
lock CC3235SF_LAUNCHXL FLASH 587826 587826 0 0.0
RAM 205880 205880 0 0.0
efr32 lock-app BRD4187C FLASH 963592 963584 -8 -0.0
RAM 123572 123572 0 0.0
BRD4338a FLASH 757848 757824 -24 -0.0
RAM 254196 254196 0 0.0
window-app BRD4187C FLASH 1058916 1058908 -8 -0.0
RAM 119800 119800 0 0.0
esp32 all-clusters-app c3devkit DRAM 102572 102572 0 0.0
FLASH 1836884 1836890 6 0.0
IRAM 93540 93540 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 933476 933620 144 0.0
RAM 161377 161377 0 0.0
nrf54l15dk_nrf54l15_cpuapp FLASH 941076 941076 0 0.0
RAM 161386 161386 0 0.0
light-switch-app nrf52840dk_nrf52840 FLASH 813224 813368 144 0.0
RAM 126115 126115 0 0.0
lighting-app nrf52840dk_nrf52840+rpc FLASH 870160 870304 144 0.0
RAM 140720 140720 0 0.0
nrf52840dongle_nrf52840 FLASH 800696 800840 144 0.0
RAM 148199 148199 0 0.0
nrf54l15dk_nrf54l15_cpuapp FLASH 846612 846612 0 0.0
RAM 141601 141601 0 0.0
lock-app nrf52840dk_nrf52840 FLASH 801056 801200 144 0.0
RAM 126029 126029 0 0.0
nrf54l15dk_nrf54l15_cpuapp FLASH 808524 808524 0 0.0
RAM 128082 128082 0 0.0
shell nrf52840dk_nrf52840 FLASH 557492 557636 144 0.0
RAM 112494 112494 0 0.0
nxp contact mcxw71+release FLASH 692568 692568 0 0.0
RAM 61552 61552 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1678116 1678116 0 0.0
RAM 213956 213956 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1594500 1594500 0 0.0
RAM 211156 211156 0 0.0
light cy8ckit_062s2_43012 FLASH 1460740 1460740 0 0.0
RAM 197776 197776 0 0.0
lock cy8ckit_062s2_43012 FLASH 1493428 1493428 0 0.0
RAM 225496 225496 0 0.0
qpg lighting-app qpg6200+debug FLASH 837784 837784 0 0.0
RAM 127768 127768 0 0.0
lock-app qpg6200+debug FLASH 774676 774676 0 0.0
RAM 118736 118736 0 0.0
realtek light-switch-app rtl8777g FLASH 707048 707048 0 0.0
RAM 106972 106972 0 0.0
lighting-app rtl8777g FLASH 757928 757928 0 0.0
RAM 127296 127296 0 0.0
stm32 light STM32WB5MM-DK FLASH 470252 470252 0 0.0
RAM 141352 141352 0 0.0
telink bridge-app tl7218x FLASH 710658 710654 -4 -0.0
RAM 90600 90600 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 797134 797130 -4 -0.0
RAM 41024 41024 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 788336 788332 -4 -0.0
RAM 93700 93700 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 715412 715410 -2 -0.0
RAM 51896 51896 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 748708 748706 -2 -0.0
RAM 70936 70936 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 725562 725550 -12 -0.0
RAM 34628 34628 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602722 602718 -4 -0.0
RAM 108928 108672 -256 -0.2
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 820972 820968 -4 -0.0
RAM 92096 92096 0 0.0

marius-preda and others added 11 commits December 4, 2025 20:41
Allow selecting extra gatt db header without depending on other config options.
Allow deriving the base  lock app AppTask and DeviceCallbacks classes.

Signed-off-by: Marius Preda <[email protected]>
…mware processor (project-chip#41944)

Using function local static state variables such as "ulCrtAddr" and
"ulEraseLen" in the OTAFirmwareProcessor::ProcessInternal method causes
issues when OTA transfers are interrupted and then resumed because the
function local variables cannot be accessed (and reset) by other class
methods (such as OTAFirmwareProcessor::Clear or
OTAFirmwareProcessor::AbortAction).

The use of function local state variables was dropped and the SDK
wireless framework OTA support layer is now in charge of managing block
addresses and erases.


Reviewed-by: Dina Benamar <[email protected]>

Signed-off-by: Marian Chereji <[email protected]>
…p#41910)

* [nxp][doc][examples][mcxw71] Restructure platform documentation

Signed-off-by: Marian Chereji <[email protected]>

* [nxp][doc][examples][mcxw72] Restructure platform documentation

Signed-off-by: Marian Chereji <[email protected]>

* [nxp][cmake][platform][mcxw7x] Remove unused ICD build options

Removed the build options

  o CONFIG_CHIP_ICD_IDLE_MODE_INTERVAL_MS
  o CONFIG_CHIP_ICD_ACTIVE_MODE_INTERVAL_MS

which don't seem to be used anywhere. They were most likely leftovers
after replacement with

  o CHIP_ICD_IDLE_MODE_DURATION
  o CHIP_ICD_ACTIVE_MODE_DURATION

Signed-off-by: Marian Chereji <[email protected]>

---------

Signed-off-by: Marian Chereji <[email protected]>
* [NXP] Fix DnssdImplBr handling of SRP cache resolve

This commit fixes the case where a service query is resolved directly from
the SRP cache on a Border Router. In this case there is no need to add the
context to the list and start the OT mMDNS client.

Signed-off-by: Marius Preda <[email protected]>

* Restyled by clang-format

* [NXP] Added comment to HandleResolveCleanup

Signed-off-by: Marius Preda <[email protected]>

* Restyled by whitespace

---------

Signed-off-by: Marius Preda <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
… one hour (project-chip#41993)

For Long Idle Time ICDs the idle mode duration may be several hours
or even longer.


Reviewed-by: Marian Chereji <[email protected]>

Signed-off-by: Andrei Menzopol <[email protected]>
Co-authored-by: Andrei Menzopol <[email protected]>
…for ethernet and wifi (project-chip#42031)

* [NXP][wifi] Fix read last-networking-status and read last-network-id issue

Signed-off-by: Martin Girardot <[email protected]>

* [NXP][ethernet] Fix read last-networking-status and read last-network-id issue

Signed-off-by: Martin Girardot <[email protected]>

* [NXP] fix PR comment

Signed-off-by: Martin Girardot <[email protected]>

* Restyled by whitespace

* Restyled by clang-format

---------

Signed-off-by: Martin Girardot <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
…al application support for the MCXW72 and RW61X platforms (project-chip#41060)

* [NXP] Deprecating GN build support for NXP MCUs, retaining only minimal application support for the MCXW72 and RW61X platforms

Signed-off-by: Gatien Chapon <[email protected]>

* Restyling + fix readme bad references

Signed-off-by: Gatien Chapon <[email protected]>

* Removing cmake option for nxp build from all_targets_linux_x64.txt

Signed-off-by: Gatien Chapon <[email protected]>

* Updating documentation to remove cmake arg when build NXP freeRTOS example using build_example.py script

Signed-off-by: Gatien Chapon <[email protected]>

---------

Signed-off-by: Gatien Chapon <[email protected]>
* [nxp][platform][common] Add App nvm keys to NXPConfig

 * Add App keys to be used for custom application nvm values set at runtime.
 * Add App OTA done key.
 * Update ValidConfigKey to account for new keys.

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][platform][mcxw71] Add App nvm keys to K32W1Config

 * Add App keys to be used for custom application nvm values set at runtime.
 * Add App OTA done key.
 * Update ValidConfigKey to account for new keys.

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][platform][mcxw7x] Update DetermineBootReason for successful OTA

 * Add read/write ota done nvm key in order to set kSoftwareUpdateCompleted
   boot reason.

Signed-off-by: Andrei Menzopol <[email protected]>

* Restyled by clang-format

* [nxp][platform][mcxw71] Resolve conversations

 * Added more specific messages
 * Don't return error when read doesn't find key
 * Return error when failing to write

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][platform][mcxw71] Minimize usage of err in ConfigurationManagerImpl

Signed-off-by: Andrei Menzopol <[email protected]>

* Restyled by clang-format

---------

Signed-off-by: Andrei Menzopol <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
* [NXP] allow user to connect devices to open network

Signed-off-by: Martin Girardot <[email protected]>

* Restyled by whitespace

* Restyled by clang-format

* [NXP] Fix PR comment

Signed-off-by: Martin Girardot <[email protected]>

---------

Signed-off-by: Martin Girardot <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
OliverFan1 and others added 3 commits December 4, 2025 20:44
… simple test event trigger delegate (project-chip#42133)

* [NXP][example_common] Adding a dedicated KCONFIG option to register a simple test event trigger delegate

Signed-off-by: Oliver Fan <[email protected]>

* Update examples/platform/nxp/common/app_task/source/AppTaskBase.cpp

Co-authored-by: Gatien Chapon <[email protected]>

---------

Signed-off-by: Oliver Fan <[email protected]>
Co-authored-by: Gatien Chapon <[email protected]>
…tion layer to make it reusable across multiple Zephyr-based platforms (project-chip#42198)

* [Zephyr][platform] Update the generic Zephyr platform adaptation layer to be reusable by other zephyr platforms

* Adding wifi to the BUILD.gn file to support building matter-over-wifi
* Adding support of wifi in the ConnectivityManagerImpl
* Adding DeviceInstanceInfoProviderImpl
* Adding CHIP macro config mapping with Kconfig to ease platform overrides

Signed-off-by: Dina Benamar <[email protected]>

* [Zephyr][platform][config] Adding Kconfig definitions to the generic config/zephyr/Kconfig

* Kconfig added to the generic layer, to allow platforms to reuse the src/platform/Zephyr and override the CHIP configs easily per platform
* CONFIG_CHIP_LOG_SIZE_OPTIMIZATION moved from the platform layer definition to the generic zephyr Kconfig, to allow its use in src/platform/Zephyr, and reduce duplicatio
* note that the default can still be overridden per platform

Signed-off-by: Dina Benamar <[email protected]>

* [Zephyr][platform][config] Adding Kconfig to configure the chip task priority, stack sze and event queue size

+ Adding Kconfig for MRP local retry intervals (active & idle)

Signed-off-by: Dina Benamar <[email protected]>

* Update src/platform/Zephyr/DeviceInstanceInfoProviderImpl.h line ending to support restyle patch

Signed-off-by: Dina Benamar <[email protected]>

* Restyled by whitespace

* Restyled by clang-format

---------

Signed-off-by: Dina Benamar <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
@andy31415 andy31415 merged commit cf84d03 into project-chip:v1.5-branch Dec 9, 2025
76 of 77 checks passed
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.

10 participants