From 977e06a5cdff4d6cda0a14b2768c95088bf55a24 Mon Sep 17 00:00:00 2001 From: Arkadiusz Balys Date: Tue, 13 Jun 2023 08:42:26 +0200 Subject: [PATCH 1/3] manifest: Update Matter revision to pull fixes for NCS 2.4.1 The newest version of sdk-connectedhomeip contains fixes that are needed for NCS 2.4.1 release - Updated the MCUBoot image version in preparation to NCS 2.4.1. Signed-off-by: Arkadiusz Balys --- .../configuration/thingy53_nrf5340_cpuapp/prj.conf | 2 +- .../configuration/thingy53_nrf5340_cpuapp/prj_release.conf | 2 +- doc/nrf/releases/release-notes-changelog.rst | 4 ---- west.yml | 2 +- 4 files changed, 3 insertions(+), 7 deletions(-) diff --git a/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj.conf b/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj.conf index 21002c5ed5c..762c78bb515 100644 --- a/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj.conf +++ b/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj.conf @@ -64,7 +64,7 @@ CONFIG_CHIP_LIB_SHELL=y CONFIG_AVERAGE_CURRENT_CONSUMPTION=10000 # Bootloader and MCUmgr (OTA DFU) Configuration -CONFIG_MCUBOOT_IMAGE_VERSION="2.4.0+0" +CONFIG_MCUBOOT_IMAGE_VERSION="2.4.1+0" # Enable DFU over Bluetooth LE SMP CONFIG_CHIP_DFU_OVER_BT_SMP=y diff --git a/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj_release.conf b/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj_release.conf index f130b285101..57ac98b0f14 100644 --- a/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj_release.conf +++ b/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/prj_release.conf @@ -58,7 +58,7 @@ CONFIG_AVERAGE_CURRENT_CONSUMPTION=10000 CONFIG_BOARD_SERIAL_BACKEND_CDC_ACM=n # Bootloader and MCUmgr (OTA DFU) Configuration -CONFIG_MCUBOOT_IMAGE_VERSION="2.4.0+0" +CONFIG_MCUBOOT_IMAGE_VERSION="2.4.1+0" # Enable DFU over Bluetooth LE SMP CONFIG_CHIP_DFU_OVER_BT_SMP=y diff --git a/doc/nrf/releases/release-notes-changelog.rst b/doc/nrf/releases/release-notes-changelog.rst index 1340024828d..be804b21283 100644 --- a/doc/nrf/releases/release-notes-changelog.rst +++ b/doc/nrf/releases/release-notes-changelog.rst @@ -95,10 +95,6 @@ See `Matter samples`_ for the list of changes for the Matter samples. Matter fork +++++++++++ -The Matter fork in the |NCS| (``sdk-connectedhomeip``) contains all commits from the upstream Matter repository up to, and including, the ``v1.1.0.1`` tag. - -The following list summarizes the most important changes inherited from the upstream Matter: - |no_changes_yet_note| Thread diff --git a/west.yml b/west.yml index bd2c1a9aa9d..b0d909b3b16 100644 --- a/west.yml +++ b/west.yml @@ -139,7 +139,7 @@ manifest: - name: matter repo-path: sdk-connectedhomeip path: modules/lib/matter - revision: v2.4.0 + revision: d6ddd68181561119a1487ab11ac9ced061a45724 submodules: - name: nlio path: third_party/nlio/repo From 2290084b0d9862a5c53f0f1e8f7627161a3a06dc Mon Sep 17 00:00:00 2001 From: Arkadiusz Balys Date: Wed, 14 Jun 2023 12:29:19 +0200 Subject: [PATCH 2/3] samples: matter: Fixed spec incompatibilies for two clusters * Changed feature map from 2 to 0 for software diag cluster * Changed cluster revision from 1 to 2 for basic info cluster Signed-off-by: Arkadiusz Balys --- samples/matter/lock/src/lock.matter | 4 ++-- samples/matter/lock/src/lock.zap | 6 +++--- samples/matter/lock/src/zap-generated/endpoint_config.h | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/samples/matter/lock/src/lock.matter b/samples/matter/lock/src/lock.matter index e063c3ecb16..686524241ac 100644 --- a/samples/matter/lock/src/lock.matter +++ b/samples/matter/lock/src/lock.matter @@ -1711,7 +1711,7 @@ endpoint 0 { callback attribute acceptedCommandList; callback attribute attributeList; ram attribute featureMap default = 0; - ram attribute clusterRevision default = 1; + ram attribute clusterRevision default = 2; } server cluster OtaSoftwareUpdateRequestor { @@ -1778,7 +1778,7 @@ endpoint 0 { callback attribute generatedCommandList; callback attribute acceptedCommandList; callback attribute attributeList; - ram attribute featureMap default = 1; + callback attribute featureMap default = 0; ram attribute clusterRevision default = 1; } diff --git a/samples/matter/lock/src/lock.zap b/samples/matter/lock/src/lock.zap index 1db56572a5c..62b3adf60de 100644 --- a/samples/matter/lock/src/lock.zap +++ b/samples/matter/lock/src/lock.zap @@ -1534,7 +1534,7 @@ "storageOption": "RAM", "singleton": 1, "bounded": 0, - "defaultValue": "1", + "defaultValue": "2", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -3287,10 +3287,10 @@ "side": "server", "type": "bitmap32", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/samples/matter/lock/src/zap-generated/endpoint_config.h b/samples/matter/lock/src/zap-generated/endpoint_config.h index d19f23ca873..45c3dee3297 100644 --- a/samples/matter/lock/src/zap-generated/endpoint_config.h +++ b/samples/matter/lock/src/zap-generated/endpoint_config.h @@ -142,7 +142,7 @@ { ZAP_EMPTY_DEFAULT(), 0x00000013, 0, ZAP_TYPE(STRUCT), \ ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CapabilityMinima */ \ { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ - { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), \ + { ZAP_SIMPLE_DEFAULT(2), 0x0000FFFD, 2, ZAP_TYPE(INT16U), \ ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */ \ @@ -215,7 +215,7 @@ ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CurrentHeapFree */ \ { ZAP_EMPTY_DEFAULT(), 0x00000002, 8, ZAP_TYPE(INT64U), \ ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CurrentHeapUsed */ \ - { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ + { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \ From 219a85ab56a5cfdae6d741b210460f3c633e7e49 Mon Sep 17 00:00:00 2001 From: Arkadiusz Balys Date: Wed, 28 Jun 2023 09:35:25 +0200 Subject: [PATCH 3/3] matter: samples: Restore IPC thread priority in Matter samples We noticed that IPC priority on nRF5340 is not set by default. We need to set it in DTS to be sure that the IPC thread does not collide with other threads. Signed-off-by: Arkadiusz Balys --- .../configuration/thingy53_nrf5340_cpuapp/app.overlay | 7 +++++++ .../light_bulb/boards/nrf5340dk_nrf5340_cpuapp.overlay | 7 +++++++ .../light_bulb/boards/nrf7002dk_nrf5340_cpuapp.overlay | 7 +++++++ .../light_switch/boards/nrf5340dk_nrf5340_cpuapp.overlay | 7 +++++++ .../light_switch/boards/nrf7002dk_nrf5340_cpuapp.overlay | 7 +++++++ .../matter/lock/boards/nrf5340dk_nrf5340_cpuapp.overlay | 7 +++++++ .../matter/lock/boards/nrf7002dk_nrf5340_cpuapp.overlay | 7 +++++++ .../template/boards/nrf5340dk_nrf5340_cpuapp.overlay | 7 +++++++ .../template/boards/nrf7002dk_nrf5340_cpuapp.overlay | 7 +++++++ .../boards/nrf5340dk_nrf5340_cpuapp.overlay | 7 +++++++ 10 files changed, 70 insertions(+) diff --git a/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/app.overlay b/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/app.overlay index 5d9bbae3eb8..dd55bc75161 100644 --- a/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/app.overlay +++ b/applications/matter_weather_station/configuration/thingy53_nrf5340_cpuapp/app.overlay @@ -4,6 +4,8 @@ * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ +#include + / { zephyr,user { battery-charge-gpios = <&gpio1 0 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; @@ -24,6 +26,11 @@ }; }; +/* Set IPC thread priority to the highest value to not collide with other threads. */ +&ipc0 { + zephyr,priority = <0 PRIO_COOP>; +}; + &i2c1 { bme688@76 { compatible = "bosch,bme680"; diff --git a/samples/matter/light_bulb/boards/nrf5340dk_nrf5340_cpuapp.overlay b/samples/matter/light_bulb/boards/nrf5340dk_nrf5340_cpuapp.overlay index ac99bed4307..77d60d7e72e 100644 --- a/samples/matter/light_bulb/boards/nrf5340dk_nrf5340_cpuapp.overlay +++ b/samples/matter/light_bulb/boards/nrf5340dk_nrf5340_cpuapp.overlay @@ -4,6 +4,8 @@ * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ +#include + / { chosen { nordic,pm-ext-flash = &mx25r64; @@ -26,6 +28,11 @@ }; }; +/* Set IPC thread priority to the highest value to not collide with other threads. */ +&ipc0 { + zephyr,priority = <0 PRIO_COOP>; +}; + &pwm0 { pinctrl-0 = <&pwm0_default_alt>; pinctrl-1 = <&pwm0_sleep_alt>; diff --git a/samples/matter/light_bulb/boards/nrf7002dk_nrf5340_cpuapp.overlay b/samples/matter/light_bulb/boards/nrf7002dk_nrf5340_cpuapp.overlay index db953f062fa..b8b77dc32e0 100644 --- a/samples/matter/light_bulb/boards/nrf7002dk_nrf5340_cpuapp.overlay +++ b/samples/matter/light_bulb/boards/nrf7002dk_nrf5340_cpuapp.overlay @@ -4,6 +4,8 @@ * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ +#include + / { chosen { nordic,pm-ext-flash = &mx25r64; @@ -26,6 +28,11 @@ }; }; +/* Set IPC thread priority to the highest value to not collide with other threads. */ +&ipc0 { + zephyr,priority = <0 PRIO_COOP>; +}; + &pwm0 { pinctrl-0 = <&pwm0_default_alt>; pinctrl-1 = <&pwm0_sleep_alt>; diff --git a/samples/matter/light_switch/boards/nrf5340dk_nrf5340_cpuapp.overlay b/samples/matter/light_switch/boards/nrf5340dk_nrf5340_cpuapp.overlay index 38c54b95952..b2f9923aa7e 100644 --- a/samples/matter/light_switch/boards/nrf5340dk_nrf5340_cpuapp.overlay +++ b/samples/matter/light_switch/boards/nrf5340dk_nrf5340_cpuapp.overlay @@ -4,12 +4,19 @@ * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ +#include + / { chosen { nordic,pm-ext-flash = &mx25r64; }; }; +/* Set IPC thread priority to the highest value to not collide with other threads. */ +&ipc0 { + zephyr,priority = <0 PRIO_COOP>; +}; + /* Disable unused peripherals to reduce power consumption */ &adc { status = "disabled"; diff --git a/samples/matter/light_switch/boards/nrf7002dk_nrf5340_cpuapp.overlay b/samples/matter/light_switch/boards/nrf7002dk_nrf5340_cpuapp.overlay index 9fdd3786bd4..41eb23d8437 100644 --- a/samples/matter/light_switch/boards/nrf7002dk_nrf5340_cpuapp.overlay +++ b/samples/matter/light_switch/boards/nrf7002dk_nrf5340_cpuapp.overlay @@ -4,8 +4,15 @@ * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ +#include + / { chosen { nordic,pm-ext-flash = &mx25r64; }; }; + +/* Set IPC thread priority to the highest value to not collide with other threads. */ +&ipc0 { + zephyr,priority = <0 PRIO_COOP>; +}; diff --git a/samples/matter/lock/boards/nrf5340dk_nrf5340_cpuapp.overlay b/samples/matter/lock/boards/nrf5340dk_nrf5340_cpuapp.overlay index 38c54b95952..b2f9923aa7e 100644 --- a/samples/matter/lock/boards/nrf5340dk_nrf5340_cpuapp.overlay +++ b/samples/matter/lock/boards/nrf5340dk_nrf5340_cpuapp.overlay @@ -4,12 +4,19 @@ * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ +#include + / { chosen { nordic,pm-ext-flash = &mx25r64; }; }; +/* Set IPC thread priority to the highest value to not collide with other threads. */ +&ipc0 { + zephyr,priority = <0 PRIO_COOP>; +}; + /* Disable unused peripherals to reduce power consumption */ &adc { status = "disabled"; diff --git a/samples/matter/lock/boards/nrf7002dk_nrf5340_cpuapp.overlay b/samples/matter/lock/boards/nrf7002dk_nrf5340_cpuapp.overlay index 9fdd3786bd4..41eb23d8437 100644 --- a/samples/matter/lock/boards/nrf7002dk_nrf5340_cpuapp.overlay +++ b/samples/matter/lock/boards/nrf7002dk_nrf5340_cpuapp.overlay @@ -4,8 +4,15 @@ * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ +#include + / { chosen { nordic,pm-ext-flash = &mx25r64; }; }; + +/* Set IPC thread priority to the highest value to not collide with other threads. */ +&ipc0 { + zephyr,priority = <0 PRIO_COOP>; +}; diff --git a/samples/matter/template/boards/nrf5340dk_nrf5340_cpuapp.overlay b/samples/matter/template/boards/nrf5340dk_nrf5340_cpuapp.overlay index 38c54b95952..b2f9923aa7e 100644 --- a/samples/matter/template/boards/nrf5340dk_nrf5340_cpuapp.overlay +++ b/samples/matter/template/boards/nrf5340dk_nrf5340_cpuapp.overlay @@ -4,12 +4,19 @@ * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ +#include + / { chosen { nordic,pm-ext-flash = &mx25r64; }; }; +/* Set IPC thread priority to the highest value to not collide with other threads. */ +&ipc0 { + zephyr,priority = <0 PRIO_COOP>; +}; + /* Disable unused peripherals to reduce power consumption */ &adc { status = "disabled"; diff --git a/samples/matter/template/boards/nrf7002dk_nrf5340_cpuapp.overlay b/samples/matter/template/boards/nrf7002dk_nrf5340_cpuapp.overlay index 9fdd3786bd4..41eb23d8437 100644 --- a/samples/matter/template/boards/nrf7002dk_nrf5340_cpuapp.overlay +++ b/samples/matter/template/boards/nrf7002dk_nrf5340_cpuapp.overlay @@ -4,8 +4,15 @@ * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ +#include + / { chosen { nordic,pm-ext-flash = &mx25r64; }; }; + +/* Set IPC thread priority to the highest value to not collide with other threads. */ +&ipc0 { + zephyr,priority = <0 PRIO_COOP>; +}; diff --git a/samples/matter/window_covering/boards/nrf5340dk_nrf5340_cpuapp.overlay b/samples/matter/window_covering/boards/nrf5340dk_nrf5340_cpuapp.overlay index b4fff1356e0..765764531f5 100644 --- a/samples/matter/window_covering/boards/nrf5340dk_nrf5340_cpuapp.overlay +++ b/samples/matter/window_covering/boards/nrf5340dk_nrf5340_cpuapp.overlay @@ -4,6 +4,8 @@ * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ +#include + / { chosen { nordic,pm-ext-flash = &mx25r64; @@ -29,6 +31,11 @@ }; }; +/* Set IPC thread priority to the highest value to not collide with other threads. */ +&ipc0 { + zephyr,priority = <0 PRIO_COOP>; +}; + /* Disable unused peripherals to reduce power consumption */ &adc { status = "disabled";