diff --git a/CODEOWNERS b/CODEOWNERS index 1c73238209a3..3b6b480343dc 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -815,6 +815,7 @@ /subsys/partition_manager/ @nordicjm @tejlmand /subsys/pcd/ @nrfconnect/ncs-pluto /subsys/sdfw_services/ @nrfconnect/ncs-aurora +/subsys/settings/ @nrfconnect/ncs-pluto @rghaddab /subsys/sdfw_services/services/extmem/ @nrfconnect/ncs-charon /subsys/sdfw_services/services/suit_service/ @nrfconnect/ncs-charon /subsys/shell/ @nordic-krch diff --git a/doc/nrf/app_dev/device_guides/nrf54l/zms.rst b/doc/nrf/app_dev/device_guides/nrf54l/zms.rst index 2c7ecda38967..8535343917a8 100644 --- a/doc/nrf/app_dev/device_guides/nrf54l/zms.rst +++ b/doc/nrf/app_dev/device_guides/nrf54l/zms.rst @@ -40,8 +40,6 @@ Additionally, you can optimize the application performance using caching mechani #. Set the lookup cache size in :kconfig:option:`CONFIG_ZMS_LOOKUP_CACHE_SIZE` depending on your application needs. #. Ensure the lookup cache is configured to support the Setting subsystem by enabling the :kconfig:option:`CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS` Kconfig option. - #. To further enhance the performance, enable the :kconfig:option:`CONFIG_SETTINGS_ZMS_NAME_CACHE` Kconfig option, and configure its size with :kconfig:option:`CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE` according to your application needs. - Optimizing ZMS in your application ********************************** diff --git a/doc/nrf/releases_and_maturity/migration/migration_guide_3.0.rst b/doc/nrf/releases_and_maturity/migration/migration_guide_3.0.rst index 12e5fd4660e3..1419d0b6a740 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_guide_3.0.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_guide_3.0.rst @@ -212,6 +212,28 @@ Libraries This section describes the changes related to libraries. +ZMS Settings backend +-------------------- + +.. toggle:: + + The new ZMS backend for Settings is not backward compatible with the old version. + + To keep using the legacy backend, enable the :kconfig:option:`CONFIG_SETTINGS_ZMS_LEGACY` Kconfig option. + + To migrate from the legacy backend to the new backend remove :kconfig:option:`CONFIG_SETTINGS_ZMS_NAME_CACHE` + and :kconfig:option:`CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE` from your conf files. + + For the new backend you can now enable some performance optimizations using the following Kconfig options: + + * :kconfig:option:`CONFIG_SETTINGS_ZMS_LL_CACHE`: Used for caching the linked list nodes related to Settings Key/Value entries. + * :kconfig:option:`CONFIG_SETTINGS_ZMS_LL_CACHE_SIZE`: The size of the linked list cache (each entry occupies 8B of RAM). + * :kconfig:option:`CONFIG_SETTINGS_ZMS_NO_LL_DELETE`: Disables deleting the linked list nodes when deleting a Settings Key. + Use this option only when the application is always using the same Settings Keys. + When the application uses random Keys, enabling this option could lead to incrementing the linked list nodes without corresponding Keys and cause excessive delays to loading of the Keys. + Use this option only to accelerate the delete operation for a fixed set of Settings elements. + * :kconfig:option:`CONFIG_SETTINGS_ZMS_LOAD_SUBTREE_PATH`: Loads first the subtree path passed in the argument, then continue to load all the Keys in the same subtree if the handler returns a zero value. + Download client --------------- diff --git a/include/flash_map_pm.h b/include/flash_map_pm.h index baa5cfdb7476..f5bfb9d863d4 100644 --- a/include/flash_map_pm.h +++ b/include/flash_map_pm.h @@ -30,7 +30,7 @@ #define image_scratch mcuboot_scratch #if (CONFIG_SETTINGS_FCB || CONFIG_SETTINGS_NVS || defined(PM_SETTINGS_STORAGE_ID) ||\ - CONFIG_SETTINGS_ZMS) + CONFIG_SETTINGS_ZMS || CONFIG_SETTINGS_ZMS_LEGACY) #define storage settings_storage #define storage_partition settings_storage #elif CONFIG_FILE_SYSTEM_LITTLEFS diff --git a/samples/bluetooth/mesh/ble_peripheral_lbs_coex/boards/nrf54l15dk_nrf54l05_cpuapp.conf b/samples/bluetooth/mesh/ble_peripheral_lbs_coex/boards/nrf54l15dk_nrf54l05_cpuapp.conf index 13b39eeabfb5..9dde65e4bdff 100644 --- a/samples/bluetooth/mesh/ble_peripheral_lbs_coex/boards/nrf54l15dk_nrf54l05_cpuapp.conf +++ b/samples/bluetooth/mesh/ble_peripheral_lbs_coex/boards/nrf54l15dk_nrf54l05_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/ble_peripheral_lbs_coex/boards/nrf54l15dk_nrf54l10_cpuapp.conf b/samples/bluetooth/mesh/ble_peripheral_lbs_coex/boards/nrf54l15dk_nrf54l10_cpuapp.conf index 55120e85651f..8f1a3c0d931d 100644 --- a/samples/bluetooth/mesh/ble_peripheral_lbs_coex/boards/nrf54l15dk_nrf54l10_cpuapp.conf +++ b/samples/bluetooth/mesh/ble_peripheral_lbs_coex/boards/nrf54l15dk_nrf54l10_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/ble_peripheral_lbs_coex/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/bluetooth/mesh/ble_peripheral_lbs_coex/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 995706b02555..837313eaa9b5 100644 --- a/samples/bluetooth/mesh/ble_peripheral_lbs_coex/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/bluetooth/mesh/ble_peripheral_lbs_coex/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/chat/boards/nrf54l15dk_nrf54l05_cpuapp.conf b/samples/bluetooth/mesh/chat/boards/nrf54l15dk_nrf54l05_cpuapp.conf index 13b39eeabfb5..9dde65e4bdff 100644 --- a/samples/bluetooth/mesh/chat/boards/nrf54l15dk_nrf54l05_cpuapp.conf +++ b/samples/bluetooth/mesh/chat/boards/nrf54l15dk_nrf54l05_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/chat/boards/nrf54l15dk_nrf54l10_cpuapp.conf b/samples/bluetooth/mesh/chat/boards/nrf54l15dk_nrf54l10_cpuapp.conf index 55120e85651f..8f1a3c0d931d 100644 --- a/samples/bluetooth/mesh/chat/boards/nrf54l15dk_nrf54l10_cpuapp.conf +++ b/samples/bluetooth/mesh/chat/boards/nrf54l15dk_nrf54l10_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/chat/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/bluetooth/mesh/chat/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 995706b02555..837313eaa9b5 100644 --- a/samples/bluetooth/mesh/chat/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/bluetooth/mesh/chat/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/dfu/distributor/boards/nrf54l15dk_nrf54l10_cpuapp.conf b/samples/bluetooth/mesh/dfu/distributor/boards/nrf54l15dk_nrf54l10_cpuapp.conf index 324c4c19fc28..14d552c0a462 100644 --- a/samples/bluetooth/mesh/dfu/distributor/boards/nrf54l15dk_nrf54l10_cpuapp.conf +++ b/samples/bluetooth/mesh/dfu/distributor/boards/nrf54l15dk_nrf54l10_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/dfu/distributor/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/bluetooth/mesh/dfu/distributor/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 3ec3f10871bf..4fc19e7feaaf 100644 --- a/samples/bluetooth/mesh/dfu/distributor/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/bluetooth/mesh/dfu/distributor/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/dfu/target/boards/nrf54l15dk_nrf54l10_cpuapp.conf b/samples/bluetooth/mesh/dfu/target/boards/nrf54l15dk_nrf54l10_cpuapp.conf index 55120e85651f..8f1a3c0d931d 100644 --- a/samples/bluetooth/mesh/dfu/target/boards/nrf54l15dk_nrf54l10_cpuapp.conf +++ b/samples/bluetooth/mesh/dfu/target/boards/nrf54l15dk_nrf54l10_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/dfu/target/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/bluetooth/mesh/dfu/target/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 995706b02555..837313eaa9b5 100644 --- a/samples/bluetooth/mesh/dfu/target/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/bluetooth/mesh/dfu/target/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/light/boards/nrf54l15dk_nrf54l05_cpuapp.conf b/samples/bluetooth/mesh/light/boards/nrf54l15dk_nrf54l05_cpuapp.conf index b6b4e45f2f70..8332fe6fa90a 100644 --- a/samples/bluetooth/mesh/light/boards/nrf54l15dk_nrf54l05_cpuapp.conf +++ b/samples/bluetooth/mesh/light/boards/nrf54l15dk_nrf54l05_cpuapp.conf @@ -12,11 +12,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/light/boards/nrf54l15dk_nrf54l10_cpuapp.conf b/samples/bluetooth/mesh/light/boards/nrf54l15dk_nrf54l10_cpuapp.conf index 153a16959be6..0e806076f733 100644 --- a/samples/bluetooth/mesh/light/boards/nrf54l15dk_nrf54l10_cpuapp.conf +++ b/samples/bluetooth/mesh/light/boards/nrf54l15dk_nrf54l10_cpuapp.conf @@ -12,11 +12,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/light/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/bluetooth/mesh/light/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 6412354a7c26..698c5dd49ac5 100644 --- a/samples/bluetooth/mesh/light/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/bluetooth/mesh/light/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -12,11 +12,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/light_ctrl/boards/nrf54l15dk_nrf54l05_cpuapp.conf b/samples/bluetooth/mesh/light_ctrl/boards/nrf54l15dk_nrf54l05_cpuapp.conf index 13b39eeabfb5..9dde65e4bdff 100644 --- a/samples/bluetooth/mesh/light_ctrl/boards/nrf54l15dk_nrf54l05_cpuapp.conf +++ b/samples/bluetooth/mesh/light_ctrl/boards/nrf54l15dk_nrf54l05_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/light_ctrl/boards/nrf54l15dk_nrf54l10_cpuapp.conf b/samples/bluetooth/mesh/light_ctrl/boards/nrf54l15dk_nrf54l10_cpuapp.conf index 55120e85651f..8f1a3c0d931d 100644 --- a/samples/bluetooth/mesh/light_ctrl/boards/nrf54l15dk_nrf54l10_cpuapp.conf +++ b/samples/bluetooth/mesh/light_ctrl/boards/nrf54l15dk_nrf54l10_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/light_ctrl/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/bluetooth/mesh/light_ctrl/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 995706b02555..837313eaa9b5 100644 --- a/samples/bluetooth/mesh/light_ctrl/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/bluetooth/mesh/light_ctrl/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/light_dimmer/boards/nrf54l15dk_nrf54l05_cpuapp.conf b/samples/bluetooth/mesh/light_dimmer/boards/nrf54l15dk_nrf54l05_cpuapp.conf index 13b39eeabfb5..9dde65e4bdff 100644 --- a/samples/bluetooth/mesh/light_dimmer/boards/nrf54l15dk_nrf54l05_cpuapp.conf +++ b/samples/bluetooth/mesh/light_dimmer/boards/nrf54l15dk_nrf54l05_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/light_dimmer/boards/nrf54l15dk_nrf54l10_cpuapp.conf b/samples/bluetooth/mesh/light_dimmer/boards/nrf54l15dk_nrf54l10_cpuapp.conf index 55120e85651f..8f1a3c0d931d 100644 --- a/samples/bluetooth/mesh/light_dimmer/boards/nrf54l15dk_nrf54l10_cpuapp.conf +++ b/samples/bluetooth/mesh/light_dimmer/boards/nrf54l15dk_nrf54l10_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/light_dimmer/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/bluetooth/mesh/light_dimmer/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 995706b02555..837313eaa9b5 100644 --- a/samples/bluetooth/mesh/light_dimmer/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/bluetooth/mesh/light_dimmer/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/light_switch/boards/nrf54l15dk_nrf54l05_cpuapp.conf b/samples/bluetooth/mesh/light_switch/boards/nrf54l15dk_nrf54l05_cpuapp.conf index 13b39eeabfb5..9dde65e4bdff 100644 --- a/samples/bluetooth/mesh/light_switch/boards/nrf54l15dk_nrf54l05_cpuapp.conf +++ b/samples/bluetooth/mesh/light_switch/boards/nrf54l15dk_nrf54l05_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/light_switch/boards/nrf54l15dk_nrf54l10_cpuapp.conf b/samples/bluetooth/mesh/light_switch/boards/nrf54l15dk_nrf54l10_cpuapp.conf index 55120e85651f..8f1a3c0d931d 100644 --- a/samples/bluetooth/mesh/light_switch/boards/nrf54l15dk_nrf54l10_cpuapp.conf +++ b/samples/bluetooth/mesh/light_switch/boards/nrf54l15dk_nrf54l10_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/light_switch/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/bluetooth/mesh/light_switch/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 995706b02555..837313eaa9b5 100644 --- a/samples/bluetooth/mesh/light_switch/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/bluetooth/mesh/light_switch/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/sensor_client/boards/nrf54l15dk_nrf54l05_cpuapp.conf b/samples/bluetooth/mesh/sensor_client/boards/nrf54l15dk_nrf54l05_cpuapp.conf index 13b39eeabfb5..9dde65e4bdff 100644 --- a/samples/bluetooth/mesh/sensor_client/boards/nrf54l15dk_nrf54l05_cpuapp.conf +++ b/samples/bluetooth/mesh/sensor_client/boards/nrf54l15dk_nrf54l05_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/sensor_client/boards/nrf54l15dk_nrf54l10_cpuapp.conf b/samples/bluetooth/mesh/sensor_client/boards/nrf54l15dk_nrf54l10_cpuapp.conf index 55120e85651f..8f1a3c0d931d 100644 --- a/samples/bluetooth/mesh/sensor_client/boards/nrf54l15dk_nrf54l10_cpuapp.conf +++ b/samples/bluetooth/mesh/sensor_client/boards/nrf54l15dk_nrf54l10_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/sensor_client/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/bluetooth/mesh/sensor_client/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 995706b02555..837313eaa9b5 100644 --- a/samples/bluetooth/mesh/sensor_client/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/bluetooth/mesh/sensor_client/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/sensor_server/boards/nrf54l15dk_nrf54l05_cpuapp.conf b/samples/bluetooth/mesh/sensor_server/boards/nrf54l15dk_nrf54l05_cpuapp.conf index 13b39eeabfb5..9dde65e4bdff 100644 --- a/samples/bluetooth/mesh/sensor_server/boards/nrf54l15dk_nrf54l05_cpuapp.conf +++ b/samples/bluetooth/mesh/sensor_server/boards/nrf54l15dk_nrf54l05_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/sensor_server/boards/nrf54l15dk_nrf54l10_cpuapp.conf b/samples/bluetooth/mesh/sensor_server/boards/nrf54l15dk_nrf54l10_cpuapp.conf index 55120e85651f..8f1a3c0d931d 100644 --- a/samples/bluetooth/mesh/sensor_server/boards/nrf54l15dk_nrf54l10_cpuapp.conf +++ b/samples/bluetooth/mesh/sensor_server/boards/nrf54l15dk_nrf54l10_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/sensor_server/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/bluetooth/mesh/sensor_server/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 995706b02555..837313eaa9b5 100644 --- a/samples/bluetooth/mesh/sensor_server/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/bluetooth/mesh/sensor_server/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/silvair_enocean/boards/nrf54l15dk_nrf54l05_cpuapp.conf b/samples/bluetooth/mesh/silvair_enocean/boards/nrf54l15dk_nrf54l05_cpuapp.conf index 13b39eeabfb5..9dde65e4bdff 100644 --- a/samples/bluetooth/mesh/silvair_enocean/boards/nrf54l15dk_nrf54l05_cpuapp.conf +++ b/samples/bluetooth/mesh/silvair_enocean/boards/nrf54l15dk_nrf54l05_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/silvair_enocean/boards/nrf54l15dk_nrf54l10_cpuapp.conf b/samples/bluetooth/mesh/silvair_enocean/boards/nrf54l15dk_nrf54l10_cpuapp.conf index 55120e85651f..8f1a3c0d931d 100644 --- a/samples/bluetooth/mesh/silvair_enocean/boards/nrf54l15dk_nrf54l10_cpuapp.conf +++ b/samples/bluetooth/mesh/silvair_enocean/boards/nrf54l15dk_nrf54l10_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/bluetooth/mesh/silvair_enocean/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/bluetooth/mesh/silvair_enocean/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 995706b02555..837313eaa9b5 100644 --- a/samples/bluetooth/mesh/silvair_enocean/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/bluetooth/mesh/silvair_enocean/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -11,11 +11,10 @@ CONFIG_NVS=n CONFIG_NVS_LOOKUP_CACHE=n CONFIG_SETTINGS_NVS_NAME_CACHE=n CONFIG_ZMS=y +CONFIG_SETTINGS_ZMS_CUSTOM_SECTOR_COUNT=y CONFIG_SETTINGS_ZMS_SECTOR_COUNT=8 CONFIG_ZMS_LOOKUP_CACHE=y CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 -CONFIG_SETTINGS_ZMS_NAME_CACHE=y -CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE=512 CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_BT_RX_STACK_SIZE=5120 diff --git a/samples/common/mcumgr_bt_ota_dfu/Kconfig b/samples/common/mcumgr_bt_ota_dfu/Kconfig index a5fa0051f7c9..46af0c77f01c 100644 --- a/samples/common/mcumgr_bt_ota_dfu/Kconfig +++ b/samples/common/mcumgr_bt_ota_dfu/Kconfig @@ -68,7 +68,7 @@ config MCUMGR_GRP_OS_MCUMGR_PARAMS endif # MCUMGR_TRANSPORT_BT_REASSEMBLY -if (SETTINGS_FCB || SETTINGS_NVS || SETTINGS_ZMS) +if (SETTINGS_FCB || SETTINGS_NVS || SETTINGS_ZMS || SETTINGS_ZMS_LEGACY) config MCUMGR_GRP_ZBASIC default y @@ -76,7 +76,7 @@ config MCUMGR_GRP_ZBASIC config MCUMGR_GRP_ZBASIC_STORAGE_ERASE default y -endif # (SETTINGS_FCB || SETTINGS_NVS || SETTINGS_ZMS) +endif # (SETTINGS_FCB || SETTINGS_NVS || SETTINGS_ZMS || SETTINGS_ZMS_LEGACY) if NORDIC_QSPI_NOR diff --git a/samples/matter/common/src/persistent_storage/persistent_storage_shell.cpp b/samples/matter/common/src/persistent_storage/persistent_storage_shell.cpp index 54764cec3bb3..97b87d685c3c 100644 --- a/samples/matter/common/src/persistent_storage/persistent_storage_shell.cpp +++ b/samples/matter/common/src/persistent_storage/persistent_storage_shell.cpp @@ -8,7 +8,7 @@ #if defined(CONFIG_SETTINGS_NVS) #include -#elif defined(CONFIG_SETTINGS_ZMS) +#elif defined(CONFIG_SETTINGS_ZMS) || defined(CONFIG_SETTINGS_ZMS_LEGACY) #include #endif #include @@ -20,7 +20,7 @@ namespace { #if defined(CONFIG_SETTINGS_NVS) nvs_fs *sStorage = nullptr; -#elif defined(CONFIG_SETTINGS_ZMS) +#elif defined(CONFIG_SETTINGS_ZMS) || defined(CONFIG_SETTINGS_ZMS_LEGACY) zms_fs *sStorage = nullptr; #endif @@ -34,7 +34,7 @@ int CalculateFreeSpace() { #if defined(CONFIG_SETTINGS_NVS) return nvs_calc_free_space(sStorage); -#elif defined(CONFIG_SETTINGS_ZMS) +#elif defined(CONFIG_SETTINGS_ZMS) || defined(CONFIG_SETTINGS_ZMS_LEGACY) return zms_calc_free_space(sStorage); #endif } @@ -135,7 +135,7 @@ bool PersistentStorageShell::Init() #if defined(CONFIG_SETTINGS_NVS) sStorage = reinterpret_cast(storage); -#elif defined(CONFIG_SETTINGS_ZMS) +#elif defined(CONFIG_SETTINGS_ZMS) || defined(CONFIG_SETTINGS_ZMS_LEGACY) sStorage = reinterpret_cast(storage); #endif diff --git a/samples/matter/light_bulb/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/matter/light_bulb/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 56ffa14520e2..604f83474883 100644 --- a/samples/matter/light_bulb/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/matter/light_bulb/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -7,8 +7,10 @@ # Multirole is the only currently supported role by SoftDevice. CONFIG_BT_LL_SOFTDEVICE_MULTIROLE=y -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. diff --git a/samples/matter/light_bulb/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf b/samples/matter/light_bulb/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf index 48281dc5eea4..74a0c7ead1d2 100644 --- a/samples/matter/light_bulb/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf +++ b/samples/matter/light_bulb/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf @@ -13,8 +13,11 @@ CONFIG_CHIP_FACTORY_DATA_WRITE_PROTECT=n # TODO: KRKNWK-19382: Disable NFC commissioning due to an issue with definitions for ns build. CONFIG_CHIP_NFC_COMMISSIONING=n -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y + # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. CONFIG_NVS=n diff --git a/samples/matter/light_switch/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/matter/light_switch/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 95a4004aca0b..20d22fe1dafe 100644 --- a/samples/matter/light_switch/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/matter/light_switch/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -7,8 +7,11 @@ # Multirole is the only currently supported role by SoftDevice. CONFIG_BT_LL_SOFTDEVICE_MULTIROLE=y -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y + # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. CONFIG_NVS=n diff --git a/samples/matter/light_switch/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf b/samples/matter/light_switch/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf index 48281dc5eea4..74a0c7ead1d2 100644 --- a/samples/matter/light_switch/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf +++ b/samples/matter/light_switch/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf @@ -13,8 +13,11 @@ CONFIG_CHIP_FACTORY_DATA_WRITE_PROTECT=n # TODO: KRKNWK-19382: Disable NFC commissioning due to an issue with definitions for ns build. CONFIG_CHIP_NFC_COMMISSIONING=n -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y + # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. CONFIG_NVS=n diff --git a/samples/matter/lock/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/matter/lock/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 95a4004aca0b..20d22fe1dafe 100644 --- a/samples/matter/lock/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/matter/lock/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -7,8 +7,11 @@ # Multirole is the only currently supported role by SoftDevice. CONFIG_BT_LL_SOFTDEVICE_MULTIROLE=y -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y + # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. CONFIG_NVS=n diff --git a/samples/matter/lock/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf b/samples/matter/lock/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf index 48281dc5eea4..74a0c7ead1d2 100644 --- a/samples/matter/lock/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf +++ b/samples/matter/lock/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf @@ -13,8 +13,11 @@ CONFIG_CHIP_FACTORY_DATA_WRITE_PROTECT=n # TODO: KRKNWK-19382: Disable NFC commissioning due to an issue with definitions for ns build. CONFIG_CHIP_NFC_COMMISSIONING=n -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y + # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. CONFIG_NVS=n diff --git a/samples/matter/lock/src/access/access_storage.cpp b/samples/matter/lock/src/access/access_storage.cpp index c9fd2188f3b1..ccd64f32933d 100644 --- a/samples/matter/lock/src/access/access_storage.cpp +++ b/samples/matter/lock/src/access/access_storage.cpp @@ -13,7 +13,7 @@ #ifdef CONFIG_LOCK_PRINT_STORAGE_STATUS #ifdef CONFIG_SETTINGS_NVS #include -#elif CONFIG_SETTINGS_ZMS +#elif CONFIG_SETTINGS_ZMS || CONFIG_SETTINGS_ZMS_LEGACY #include #endif /* CONFIG_SETTINGS_NVS */ #include @@ -33,7 +33,7 @@ bool GetStorageFreeSpace(size_t &freeBytes) } #ifdef CONFIG_SETTINGS_NVS freeBytes = nvs_calc_free_space(static_cast(storage)); -#elif CONFIG_SETTINGS_ZMS +#elif CONFIG_SETTINGS_ZMS || CONFIG_SETTINGS_ZMS_LEGACY freeBytes = zms_calc_free_space(static_cast(storage)); #endif /* CONFIG_SETTINGS_NVS */ return true; diff --git a/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l10_cpuapp.conf b/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l10_cpuapp.conf index 6ab2e7d910a1..e4ffa8c5b5ad 100644 --- a/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l10_cpuapp.conf +++ b/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l10_cpuapp.conf @@ -10,6 +10,11 @@ CONFIG_BT_LL_SOFTDEVICE_MULTIROLE=y # Set the ZMS sector count to match the settings partition size that is 40 kB for this application. CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y + # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. CONFIG_NVS=n diff --git a/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 6ab2e7d910a1..e4ffa8c5b5ad 100644 --- a/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -10,6 +10,11 @@ CONFIG_BT_LL_SOFTDEVICE_MULTIROLE=y # Set the ZMS sector count to match the settings partition size that is 40 kB for this application. CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y + # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. CONFIG_NVS=n diff --git a/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf b/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf index 9c0edfaabda7..a243b643deb9 100644 --- a/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf +++ b/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf @@ -12,6 +12,12 @@ CONFIG_CHIP_FACTORY_DATA_WRITE_PROTECT=n # Set the ZMS sector count to match the settings partition size that is 40 kB for this application. CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 + +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y + # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. CONFIG_NVS=n diff --git a/samples/matter/smoke_co_alarm/boards/nrf54l15dk_nrf54l10_cpuapp.conf b/samples/matter/smoke_co_alarm/boards/nrf54l15dk_nrf54l10_cpuapp.conf index 95a4004aca0b..20d22fe1dafe 100644 --- a/samples/matter/smoke_co_alarm/boards/nrf54l15dk_nrf54l10_cpuapp.conf +++ b/samples/matter/smoke_co_alarm/boards/nrf54l15dk_nrf54l10_cpuapp.conf @@ -7,8 +7,11 @@ # Multirole is the only currently supported role by SoftDevice. CONFIG_BT_LL_SOFTDEVICE_MULTIROLE=y -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y + # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. CONFIG_NVS=n diff --git a/samples/matter/smoke_co_alarm/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/matter/smoke_co_alarm/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 95a4004aca0b..20d22fe1dafe 100644 --- a/samples/matter/smoke_co_alarm/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/matter/smoke_co_alarm/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -7,8 +7,11 @@ # Multirole is the only currently supported role by SoftDevice. CONFIG_BT_LL_SOFTDEVICE_MULTIROLE=y -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y + # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. CONFIG_NVS=n diff --git a/samples/matter/template/boards/nrf54l15dk_nrf54l10_cpuapp.conf b/samples/matter/template/boards/nrf54l15dk_nrf54l10_cpuapp.conf index 56ffa14520e2..604f83474883 100644 --- a/samples/matter/template/boards/nrf54l15dk_nrf54l10_cpuapp.conf +++ b/samples/matter/template/boards/nrf54l15dk_nrf54l10_cpuapp.conf @@ -7,8 +7,10 @@ # Multirole is the only currently supported role by SoftDevice. CONFIG_BT_LL_SOFTDEVICE_MULTIROLE=y -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. diff --git a/samples/matter/template/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/matter/template/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 56ffa14520e2..604f83474883 100644 --- a/samples/matter/template/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/matter/template/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -7,8 +7,10 @@ # Multirole is the only currently supported role by SoftDevice. CONFIG_BT_LL_SOFTDEVICE_MULTIROLE=y -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. diff --git a/samples/matter/template/boards/nrf54l15dk_nrf54l15_cpuapp_internal.conf b/samples/matter/template/boards/nrf54l15dk_nrf54l15_cpuapp_internal.conf index 8b6292dbc4f4..f8b91c547007 100644 --- a/samples/matter/template/boards/nrf54l15dk_nrf54l15_cpuapp_internal.conf +++ b/samples/matter/template/boards/nrf54l15dk_nrf54l15_cpuapp_internal.conf @@ -7,8 +7,11 @@ # Multirole is the only currently supported role by SoftDevice. CONFIG_BT_LL_SOFTDEVICE_MULTIROLE=y -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y + # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. CONFIG_NVS=n diff --git a/samples/matter/template/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf b/samples/matter/template/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf index 9fc3e5f5d76a..35b8814a7587 100644 --- a/samples/matter/template/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf +++ b/samples/matter/template/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf @@ -10,8 +10,11 @@ CONFIG_BT_LL_SOFTDEVICE_MULTIROLE=y # TODO: Workaround to be removed once Zephyr's CONFIG_FPROTECT is supported on nRF54L_ns CONFIG_CHIP_FACTORY_DATA_WRITE_PROTECT=n -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y + # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. CONFIG_NVS=n diff --git a/samples/matter/thermostat/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/matter/thermostat/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 56ffa14520e2..604f83474883 100644 --- a/samples/matter/thermostat/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/matter/thermostat/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -7,8 +7,10 @@ # Multirole is the only currently supported role by SoftDevice. CONFIG_BT_LL_SOFTDEVICE_MULTIROLE=y -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. diff --git a/samples/matter/thermostat/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf b/samples/matter/thermostat/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf index 48281dc5eea4..74a0c7ead1d2 100644 --- a/samples/matter/thermostat/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf +++ b/samples/matter/thermostat/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf @@ -13,8 +13,11 @@ CONFIG_CHIP_FACTORY_DATA_WRITE_PROTECT=n # TODO: KRKNWK-19382: Disable NFC commissioning due to an issue with definitions for ns build. CONFIG_CHIP_NFC_COMMISSIONING=n -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y + # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. CONFIG_NVS=n diff --git a/samples/matter/window_covering/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/matter/window_covering/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 95a4004aca0b..20d22fe1dafe 100644 --- a/samples/matter/window_covering/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/matter/window_covering/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -7,8 +7,11 @@ # Multirole is the only currently supported role by SoftDevice. CONFIG_BT_LL_SOFTDEVICE_MULTIROLE=y -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y + # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. CONFIG_NVS=n diff --git a/samples/matter/window_covering/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf b/samples/matter/window_covering/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf index 48281dc5eea4..74a0c7ead1d2 100644 --- a/samples/matter/window_covering/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf +++ b/samples/matter/window_covering/boards/nrf54l15dk_nrf54l15_cpuapp_ns.conf @@ -13,8 +13,11 @@ CONFIG_CHIP_FACTORY_DATA_WRITE_PROTECT=n # TODO: KRKNWK-19382: Disable NFC commissioning due to an issue with definitions for ns build. CONFIG_CHIP_NFC_COMMISSIONING=n -# Set the ZMS sector count to match the settings partition size that is 40 kB for this application. -CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10 +# ZMS cache optimization +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y + # Workaround required as Zephyr L2 implies usage of NVS backend for settings. # It should be removed once the proper fix will be applied in Zephyr. CONFIG_NVS=n diff --git a/samples/openthread/cli/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/openthread/cli/boards/nrf54l15dk_nrf54l15_cpuapp.conf index f6cb57237eea..1cb0cb351735 100644 --- a/samples/openthread/cli/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/openthread/cli/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -17,3 +17,7 @@ CONFIG_SHELL_STACK_SIZE=5120 CONFIG_NVS=n CONFIG_ZMS=y CONFIG_SETTINGS_ZMS=y + +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y diff --git a/samples/openthread/coprocessor/boards/nrf54l15dk_nrf54l15_cpuapp.conf b/samples/openthread/coprocessor/boards/nrf54l15dk_nrf54l15_cpuapp.conf index 853052ea2878..32bf0d7071ac 100644 --- a/samples/openthread/coprocessor/boards/nrf54l15dk_nrf54l15_cpuapp.conf +++ b/samples/openthread/coprocessor/boards/nrf54l15dk_nrf54l15_cpuapp.conf @@ -11,3 +11,7 @@ CONFIG_SPI_NOR=n CONFIG_NVS=n CONFIG_ZMS=y CONFIG_SETTINGS_ZMS=y + +CONFIG_ZMS_LOOKUP_CACHE=y +CONFIG_ZMS_LOOKUP_CACHE_SIZE=512 +CONFIG_ZMS_LOOKUP_CACHE_FOR_SETTINGS=y diff --git a/scripts/ci/license_allow_list.yaml b/scripts/ci/license_allow_list.yaml index a72ba867114b..d83596ca4aeb 100644 --- a/scripts/ci/license_allow_list.yaml +++ b/scripts/ci/license_allow_list.yaml @@ -48,6 +48,7 @@ Apache-2.0: | ^nrf/modules/openthread/ ^nrf/samples/net/http_server/src/main.c ^nrf/tests/subsys/suit/common/tls_config/user-tls-conf.h + ^nrf/subsys/settings/ curl: "^nrf/ext/" MIT: "^nrf/ext/" BSD-3-CLAUSE: | diff --git a/subsys/CMakeLists.txt b/subsys/CMakeLists.txt index da32914e2486..519f210483d6 100644 --- a/subsys/CMakeLists.txt +++ b/subsys/CMakeLists.txt @@ -68,3 +68,4 @@ add_subdirectory_ifdef(CONFIG_MGMT_SUITFU mgmt/suitfu) add_subdirectory_ifdef(CONFIG_DULT dult) add_subdirectory_ifdef(CONFIG_NRF_COMPRESS nrf_compress) add_subdirectory(mgmt/mcumgr) +add_subdirectory_ifdef(CONFIG_SETTINGS settings) diff --git a/subsys/Kconfig b/subsys/Kconfig index 01bee0aa12f3..50bc6300cf9b 100644 --- a/subsys/Kconfig +++ b/subsys/Kconfig @@ -43,4 +43,5 @@ rsource "suit/Kconfig" rsource "dult/Kconfig" rsource "nrf_compress/Kconfig" rsource "mcuboot_ids/Kconfig" +rsource "settings/Kconfig" endmenu diff --git a/subsys/partition_manager/CMakeLists.txt b/subsys/partition_manager/CMakeLists.txt index 29c6ebb0c747..0c1a328d6010 100644 --- a/subsys/partition_manager/CMakeLists.txt +++ b/subsys/partition_manager/CMakeLists.txt @@ -53,7 +53,7 @@ if (CONFIG_BOARD_HAS_NRF5_BOOTLOADER) ncs_add_partition_manager_config(pm.yml.nrf5_mbr) endif() -if (CONFIG_SETTINGS_FCB OR CONFIG_SETTINGS_NVS OR CONFIG_SETTINGS_ZMS) +if (CONFIG_SETTINGS_FCB OR CONFIG_SETTINGS_NVS OR CONFIG_SETTINGS_ZMS OR CONFIG_SETTINGS_ZMS_LEGACY) ncs_add_partition_manager_config(pm.yml.settings) endif() @@ -65,7 +65,7 @@ if (CONFIG_NVS AND NOT CONFIG_SETTINGS_NVS) ncs_add_partition_manager_config(pm.yml.nvs) endif() -if (CONFIG_ZMS AND NOT CONFIG_SETTINGS_ZMS) +if (CONFIG_ZMS AND NOT (CONFIG_SETTINGS_ZMS OR CONFIG_SETTINGS_ZMS_LEGACY)) ncs_add_partition_manager_config(pm.yml.zms) endif() diff --git a/subsys/partition_manager/Kconfig b/subsys/partition_manager/Kconfig index 2e8398275ad3..66aa148df5f4 100644 --- a/subsys/partition_manager/Kconfig +++ b/subsys/partition_manager/Kconfig @@ -72,7 +72,7 @@ rsource "Kconfig.template.partition_region" endif -if SETTINGS_FCB || SETTINGS_NVS || SETTINGS_ZMS +if SETTINGS_FCB || SETTINGS_NVS || SETTINGS_ZMS || SETTINGS_ZMS_LEGACY partition=SETTINGS_STORAGE partition-size=0x2000 rsource "Kconfig.template.partition_config" @@ -94,7 +94,7 @@ rsource "Kconfig.template.partition_config" rsource "Kconfig.template.partition_region" endif -if ZMS && !SETTINGS_ZMS +if ZMS && !(SETTINGS_ZMS || SETTINGS_ZMS_LEGACY) partition=ZMS_STORAGE partition-size=0x6000 rsource "Kconfig.template.partition_config" diff --git a/subsys/settings/CMakeLists.txt b/subsys/settings/CMakeLists.txt new file mode 100644 index 000000000000..a18f3f9e4e27 --- /dev/null +++ b/subsys/settings/CMakeLists.txt @@ -0,0 +1,10 @@ +# +# Copyright (c) 2025 Nordic Semiconductor +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +add_subdirectory(src) +zephyr_include_directories( + include + ) diff --git a/subsys/settings/Kconfig b/subsys/settings/Kconfig new file mode 100644 index 000000000000..593d62c8f3d3 --- /dev/null +++ b/subsys/settings/Kconfig @@ -0,0 +1,48 @@ +# +# Copyright (c) 2025 Nordic Semiconductor +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +choice SETTINGS_BACKEND + +config SETTINGS_ZMS_LEGACY + bool "Settings ZMS legacy backend [DEPRECATED]" + depends on ZMS + select DEPRECATED + help + Use the legacy backend of ZMS for Settings + +endchoice + +if SETTINGS_ZMS_LEGACY + +config SETTINGS_ZMS_NAME_CACHE + bool "ZMS name lookup cache" + select SYS_HASH_FUNC32 + help + Enable ZMS name lookup cache, used to reduce the Settings name + lookup time. + +config SETTINGS_ZMS_NAME_CACHE_SIZE + int "ZMS name lookup cache size" + default 128 + range 1 $(UINT32_MAX) + depends on SETTINGS_ZMS_NAME_CACHE + help + Number of entries in Settings ZMS name cache. + +config SETTINGS_ZMS_SECTOR_SIZE_MULT + int "Sector size of the ZMS settings area" + default 1 + help + The sector size to use for the ZMS settings area as a multiple of + FLASH_ERASE_BLOCK_SIZE. + +config SETTINGS_ZMS_SECTOR_COUNT + int "Sector count of the ZMS settings area" + default 8 + help + Number of sectors used for the ZMS settings area + +endif # SETTINGS_ZMS_LEGACY diff --git a/subsys/settings/include/settings/settings_zms_legacy.h b/subsys/settings/include/settings/settings_zms_legacy.h new file mode 100644 index 000000000000..ff6525e6744a --- /dev/null +++ b/subsys/settings/include/settings/settings_zms_legacy.h @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2024 BayLibre SAS + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#ifndef __SETTINGS_ZMS_LEGACY_H_ +#define __SETTINGS_ZMS_LEGACY_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* In the ZMS backend, each setting is stored in two ZMS entries: + * 1. setting's name + * 2. setting's value + * + * The ZMS entry ID for the setting's value is determined implicitly based on + * the ID of the ZMS entry for the setting's name, once that is found. The + * difference between name and value ID is constant and equal to + * ZMS_NAME_ID_OFFSET. + * + * Setting's name entries start from ZMS_NAMECNT_ID + 1. + * The entry with ID == ZMS_NAMECNT_ID is used to store the largest name ID in use. + * + * Deleted records will not be found, only the last record will be read. + */ +#define ZMS_NAMECNT_ID 0x80000000 +#define ZMS_NAME_ID_OFFSET 0x40000000 + +#define SETTINGS_FULL_NAME_LEN SETTINGS_MAX_NAME_LEN + SETTINGS_EXTRA_LEN + 1 + +struct settings_zms { + struct settings_store cf_store; + struct zms_fs cf_zms; + uint32_t last_name_id; + const struct device *flash_dev; +#if CONFIG_SETTINGS_ZMS_NAME_CACHE + struct { + uint32_t name_hash; + uint32_t name_id; + } cache[CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE]; + + uint32_t cache_next; + uint32_t cache_total; + bool loaded; +#endif +}; + +/* register zms to be a source of settings */ +int settings_zms_src(struct settings_zms *cf); + +/* register zms to be the destination of settings */ +int settings_zms_dst(struct settings_zms *cf); + +/* Initialize a zms backend. */ +int settings_zms_backend_init(struct settings_zms *cf); + +#ifdef __cplusplus +} +#endif + +#endif /* __SETTINGS_ZMS_LEGACY_H_ */ diff --git a/subsys/settings/src/CMakeLists.txt b/subsys/settings/src/CMakeLists.txt new file mode 100644 index 000000000000..7221fdf8369f --- /dev/null +++ b/subsys/settings/src/CMakeLists.txt @@ -0,0 +1,7 @@ +# +# Copyright (c) 2025 Nordic Semiconductor +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +zephyr_sources_ifdef(CONFIG_SETTINGS_ZMS_LEGACY settings_zms_legacy.c) diff --git a/subsys/settings/src/settings_zms_legacy.c b/subsys/settings/src/settings_zms_legacy.c new file mode 100644 index 000000000000..ccfa99b36f6f --- /dev/null +++ b/subsys/settings/src/settings_zms_legacy.c @@ -0,0 +1,435 @@ +/* + * Copyright (c) 2024 BayLibre SAS + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#undef _POSIX_C_SOURCE +#define _POSIX_C_SOURCE 200809L /* for strnlen() */ + +#include +#include + +#include "settings/settings_zms_legacy.h" + +#include +#include +#include +#include +LOG_MODULE_DECLARE(settings, CONFIG_SETTINGS_LOG_LEVEL); + +#if DT_HAS_CHOSEN(zephyr_settings_partition) +#define SETTINGS_PARTITION DT_FIXED_PARTITION_ID(DT_CHOSEN(zephyr_settings_partition)) +#else +#define SETTINGS_PARTITION FIXED_PARTITION_ID(storage_partition) +#endif + +struct settings_zms_read_fn_arg { + struct zms_fs *fs; + uint32_t id; +}; + +static int settings_zms_load(struct settings_store *cs, const struct settings_load_arg *arg); +static int settings_zms_save(struct settings_store *cs, const char *name, const char *value, + size_t val_len); +static void *settings_zms_storage_get(struct settings_store *cs); + +static struct settings_store_itf settings_zms_itf = {.csi_load = settings_zms_load, + .csi_save = settings_zms_save, + .csi_storage_get = settings_zms_storage_get}; + +static ssize_t settings_zms_read_fn(void *back_end, void *data, size_t len) +{ + struct settings_zms_read_fn_arg *rd_fn_arg; + + rd_fn_arg = (struct settings_zms_read_fn_arg *)back_end; + + return zms_read(rd_fn_arg->fs, rd_fn_arg->id, data, len); +} + +int settings_zms_src(struct settings_zms *cf) +{ + cf->cf_store.cs_itf = &settings_zms_itf; + settings_src_register(&cf->cf_store); + + return 0; +} + +int settings_zms_dst(struct settings_zms *cf) +{ + cf->cf_store.cs_itf = &settings_zms_itf; + settings_dst_register(&cf->cf_store); + + return 0; +} + +#if CONFIG_SETTINGS_ZMS_NAME_CACHE +#define SETTINGS_ZMS_CACHE_OVFL(cf) ((cf)->cache_total > ARRAY_SIZE((cf)->cache)) + +static void settings_zms_cache_add(struct settings_zms *cf, const char *name, uint32_t name_id) +{ + uint32_t name_hash = sys_hash32(name, strnlen(name, SETTINGS_FULL_NAME_LEN)); + + cf->cache[cf->cache_next].name_hash = name_hash; + cf->cache[cf->cache_next++].name_id = name_id; + + cf->cache_next %= CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE; +} + +static uint32_t settings_zms_cache_match(struct settings_zms *cf, const char *name, char *rdname, + size_t len) +{ + uint32_t name_hash = sys_hash32(name, strnlen(name, SETTINGS_FULL_NAME_LEN)); + int rc; + + for (int i = 0; i < CONFIG_SETTINGS_ZMS_NAME_CACHE_SIZE; i++) { + if (cf->cache[i].name_hash != name_hash) { + continue; + } + + if (cf->cache[i].name_id <= ZMS_NAMECNT_ID) { + continue; + } + + rc = zms_read(&cf->cf_zms, cf->cache[i].name_id, rdname, len); + if (rc < 0) { + continue; + } + + rdname[rc] = '\0'; + + if (strcmp(name, rdname)) { + continue; + } + + return cf->cache[i].name_id; + } + + return ZMS_NAMECNT_ID; +} +#endif /* CONFIG_SETTINGS_ZMS_NAME_CACHE */ + +static int settings_zms_load(struct settings_store *cs, const struct settings_load_arg *arg) +{ + int ret = 0; + struct settings_zms *cf = CONTAINER_OF(cs, struct settings_zms, cf_store); + struct settings_zms_read_fn_arg read_fn_arg; + char name[SETTINGS_FULL_NAME_LEN]; + ssize_t rc1, rc2; + uint32_t name_id = ZMS_NAMECNT_ID; + +#if CONFIG_SETTINGS_ZMS_NAME_CACHE + uint32_t cached = 0; + + cf->loaded = false; +#endif + + name_id = cf->last_name_id + 1; + + while (1) { + + name_id--; + if (name_id == ZMS_NAMECNT_ID) { +#if CONFIG_SETTINGS_ZMS_NAME_CACHE + cf->loaded = true; + cf->cache_total = cached; +#endif + break; + } + + /* In the ZMS backend, each setting item is stored in two ZMS + * entries one for the setting's name and one with the + * setting's value. + */ + rc1 = zms_read(&cf->cf_zms, name_id, &name, sizeof(name)); + /* get the length of data and verify that it exists */ + rc2 = zms_get_data_length(&cf->cf_zms, name_id + ZMS_NAME_ID_OFFSET); + + if ((rc1 <= 0) && (rc2 <= 0)) { + /* Settings largest ID in use is invalid due to + * reset, power failure or partition overflow. + * Decrement it and check the next ID in subsequent + * iteration. + */ + if (name_id == cf->last_name_id) { + cf->last_name_id--; + zms_write(&cf->cf_zms, ZMS_NAMECNT_ID, &cf->last_name_id, + sizeof(uint32_t)); + } + + continue; + } + + if ((rc1 <= 0) || (rc2 <= 0)) { + /* Settings item is not stored correctly in the ZMS. + * ZMS entry for its name or value is either missing + * or deleted. Clean dirty entries to make space for + * future settings item. + */ + zms_delete(&cf->cf_zms, name_id); + zms_delete(&cf->cf_zms, name_id + ZMS_NAME_ID_OFFSET); + + if (name_id == cf->last_name_id) { + cf->last_name_id--; + zms_write(&cf->cf_zms, ZMS_NAMECNT_ID, &cf->last_name_id, + sizeof(uint32_t)); + } + + continue; + } + + /* Found a name, this might not include a trailing \0 */ + name[rc1] = '\0'; + read_fn_arg.fs = &cf->cf_zms; + read_fn_arg.id = name_id + ZMS_NAME_ID_OFFSET; + +#if CONFIG_SETTINGS_ZMS_NAME_CACHE + settings_zms_cache_add(cf, name, name_id); + cached++; +#endif + + ret = settings_call_set_handler(name, rc2, settings_zms_read_fn, &read_fn_arg, + (void *)arg); + if (ret) { + break; + } + } + return ret; +} + +static int settings_zms_save(struct settings_store *cs, const char *name, const char *value, + size_t val_len) +{ + struct settings_zms *cf = CONTAINER_OF(cs, struct settings_zms, cf_store); + char rdname[SETTINGS_FULL_NAME_LEN]; + uint32_t name_id, write_name_id; + bool delete, write_name; + int rc = 0; + + if (!name) { + return -EINVAL; + } + + /* Find out if we are doing a delete */ + delete = ((value == NULL) || (val_len == 0)); + +#if CONFIG_SETTINGS_ZMS_NAME_CACHE + bool name_in_cache = false; + + name_id = settings_zms_cache_match(cf, name, rdname, sizeof(rdname)); + if (name_id != ZMS_NAMECNT_ID) { + write_name_id = name_id; + write_name = false; + name_in_cache = true; + goto found; + } +#endif + + /* No entry with "name" is in cache, let's find if it exists in the storage */ + name_id = cf->last_name_id + 1; + write_name_id = cf->last_name_id + 1; + write_name = true; + +#if CONFIG_SETTINGS_ZMS_NAME_CACHE + /* We can skip reading ZMS if we know that the cache wasn't overflowed. */ + if (cf->loaded && !SETTINGS_ZMS_CACHE_OVFL(cf)) { + goto found; + } +#endif + + /* Let's find if we already have an ID within storage */ + while (1) { + name_id--; + if (name_id == ZMS_NAMECNT_ID) { + break; + } + + rc = zms_read(&cf->cf_zms, name_id, &rdname, sizeof(rdname)); + + if (rc < 0) { + /* Error or entry not found */ + if (rc == -ENOENT) { + /* This is a free ID let's keep it */ + write_name_id = name_id; + } + continue; + } + + rdname[rc] = '\0'; + + if (strcmp(name, rdname)) { + /* ID exists but the name is different, that's not the ID + * we are looking for. + */ + continue; + } + + /* At this step we found the ID that corresponds to name */ + if (!delete) { + write_name_id = name_id; + write_name = false; + } + + goto found; + } + +found: + if (delete) { + if (name_id == ZMS_NAMECNT_ID) { + return 0; + } + + rc = zms_delete(&cf->cf_zms, name_id); + if (rc >= 0) { + rc = zms_delete(&cf->cf_zms, name_id + ZMS_NAME_ID_OFFSET); + } + + if (rc < 0) { + return rc; + } + + if (name_id == cf->last_name_id) { + cf->last_name_id--; + rc = zms_write(&cf->cf_zms, ZMS_NAMECNT_ID, &cf->last_name_id, + sizeof(uint32_t)); + if (rc < 0) { + /* Error: can't to store + * the largest name ID in use. + */ + return rc; + } + } + + return 0; + } + + /* No free IDs left. */ + if (write_name_id == ZMS_NAMECNT_ID + ZMS_NAME_ID_OFFSET - 1) { + return -ENOMEM; + } + + /* update the last_name_id and write to flash if required*/ + if (write_name_id > cf->last_name_id) { + cf->last_name_id = write_name_id; + rc = zms_write(&cf->cf_zms, ZMS_NAMECNT_ID, &cf->last_name_id, sizeof(uint32_t)); + if (rc < 0) { + return rc; + } + } + + /* write the value */ + rc = zms_write(&cf->cf_zms, write_name_id + ZMS_NAME_ID_OFFSET, value, val_len); + if (rc < 0) { + return rc; + } + + /* write the name if required */ + if (write_name) { + rc = zms_write(&cf->cf_zms, write_name_id, name, + strnlen(name, SETTINGS_FULL_NAME_LEN)); + if (rc < 0) { + return rc; + } + } + +#if CONFIG_SETTINGS_ZMS_NAME_CACHE + if (!name_in_cache) { + settings_zms_cache_add(cf, name, write_name_id); + if (cf->loaded && !SETTINGS_ZMS_CACHE_OVFL(cf)) { + cf->cache_total++; + } + } +#endif + + return 0; +} + +/* Initialize the zms backend. */ +int settings_zms_backend_init(struct settings_zms *cf) +{ + int rc; + uint32_t last_name_id; + + cf->cf_zms.flash_device = cf->flash_dev; + if (cf->cf_zms.flash_device == NULL) { + return -ENODEV; + } + + rc = zms_mount(&cf->cf_zms); + if (rc) { + return rc; + } + + rc = zms_read(&cf->cf_zms, ZMS_NAMECNT_ID, &last_name_id, sizeof(last_name_id)); + if (rc < 0) { + cf->last_name_id = ZMS_NAMECNT_ID; + } else { + cf->last_name_id = last_name_id; + } + + LOG_DBG("Initialized"); + return 0; +} + +int settings_backend_init(void) +{ + static struct settings_zms default_settings_zms; + int rc; + uint32_t cnt = 0; + size_t zms_sector_size, zms_size = 0; + const struct flash_area *fa; + struct flash_sector hw_flash_sector; + uint32_t sector_cnt = 1; + + rc = flash_area_open(SETTINGS_PARTITION, &fa); + if (rc) { + return rc; + } + + rc = flash_area_get_sectors(SETTINGS_PARTITION, §or_cnt, &hw_flash_sector); + if (rc != 0 && rc != -ENOMEM) { + return rc; + } + + zms_sector_size = CONFIG_SETTINGS_ZMS_SECTOR_SIZE_MULT * hw_flash_sector.fs_size; + + if (zms_sector_size > UINT32_MAX) { + return -EDOM; + } + + while (cnt < CONFIG_SETTINGS_ZMS_SECTOR_COUNT) { + zms_size += zms_sector_size; + if (zms_size > fa->fa_size) { + break; + } + cnt++; + } + + /* define the zms file system using the page_info */ + default_settings_zms.cf_zms.sector_size = zms_sector_size; + default_settings_zms.cf_zms.sector_count = cnt; + default_settings_zms.cf_zms.offset = fa->fa_off; + default_settings_zms.flash_dev = fa->fa_dev; + + rc = settings_zms_backend_init(&default_settings_zms); + if (rc) { + return rc; + } + + rc = settings_zms_src(&default_settings_zms); + + if (rc) { + return rc; + } + + rc = settings_zms_dst(&default_settings_zms); + + return rc; +} + +static void *settings_zms_storage_get(struct settings_store *cs) +{ + struct settings_zms *cf = CONTAINER_OF(cs, struct settings_zms, cf_store); + + return &cf->cf_zms; +} diff --git a/subsys/trusted_storage/Kconfig b/subsys/trusted_storage/Kconfig index 5be64c5435c4..56a475a28924 100644 --- a/subsys/trusted_storage/Kconfig +++ b/subsys/trusted_storage/Kconfig @@ -157,7 +157,7 @@ choice TRUSTED_STORAGE_STORAGE_BACKEND config TRUSTED_STORAGE_STORAGE_BACKEND_SETTINGS bool "Settings storage backend" - depends on SETTINGS_ZMS || (SETTINGS_NVS && !SOC_NRF54L15) + depends on SETTINGS_ZMS || SETTINGS_ZMS_LEGACY || (SETTINGS_NVS && !SOC_NRF54L15) help Use the Settings subsystem to store the assets diff --git a/west.yml b/west.yml index 375312190c78..28670c2c36b5 100644 --- a/west.yml +++ b/west.yml @@ -65,7 +65,7 @@ manifest: # https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/modules.html - name: zephyr repo-path: sdk-zephyr - revision: 4575fc863ae46dc0f65593cb741660ddab1ba344 + revision: 224429ba5dfbe5fc8d11c32d2a48273b36e87315 import: # In addition to the zephyr repository itself, NCS also # imports the contents of zephyr/west.yml at the above @@ -156,7 +156,7 @@ manifest: - name: matter repo-path: sdk-connectedhomeip path: modules/lib/matter - revision: v3.0.0-rc1 + revision: d2fe385b0f4c8ac6206400c20f0f16c5844c55d8 west-commands: scripts/west/west-commands.yml submodules: - name: nlio @@ -196,7 +196,7 @@ manifest: compare-by-default: false - name: find-my repo-path: sdk-find-my - revision: v3.0.0-rc1 + revision: e6aed64bbb1bf114efadb08daa3f72da1d9149c6 groups: - find-my - name: azure-sdk-for-c