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 21002c5ed5c4..762c78bb515c 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 f130b285101f..57ac98b0f14d 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 1340024828df..be804b212838 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 bd2c1a9aa9db..b0d909b3b165 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 e063c3ecb162..686524241ac4 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 1db56572a5cc..62b3adf60de5 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 d19f23ca873d..45c3dee3297f 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 5d9bbae3eb8c..dd55bc75161d 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 ac99bed43077..77d60d7e72ee 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 db953f062fa8..b8b77dc32e04 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 38c54b959524..b2f9923aa7e7 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 9fdd3786bd43..41eb23d8437b 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 38c54b959524..b2f9923aa7e7 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 9fdd3786bd43..41eb23d8437b 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 38c54b959524..b2f9923aa7e7 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 9fdd3786bd43..41eb23d8437b 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 b4fff1356e01..765764531f5e 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";