Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 1 | # |
| 2 | # Copyright (c) 2021 Project CHIP Authors |
| 3 | # |
| 4 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | # you may not use this file except in compliance with the License. |
| 6 | # You may obtain a copy of the License at |
| 7 | # |
| 8 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | # |
| 10 | # Unless required by applicable law or agreed to in writing, software |
| 11 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | # See the License for the specific language governing permissions and |
| 14 | # limitations under the License. |
| 15 | # |
| 16 | |
| 17 | menuconfig CHIP |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 18 | bool "Matter protocol stack" |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 19 | default n |
Axel Le Bourhis | 28676c8 | 2024-01-25 17:17:34 +0100 | [diff] [blame] | 20 | select CPP |
| 21 | imply REQUIRES_FULL_LIBCPP |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 22 | imply REQUIRES_FULL_LIBC |
Damian Królik | bfe87de | 2023-01-09 19:04:19 +0100 | [diff] [blame] | 23 | imply NEWLIB_LIBC_NANO |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 24 | imply CBPRINTF_LIBC_SUBSTS |
Axel Le Bourhis | a578c14 | 2024-09-17 18:56:00 +0200 | [diff] [blame] | 25 | imply POSIX_API if !ARCH_POSIX && !CHIP_NRF_PLATFORM |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 26 | imply EVENTFD if !ARCH_POSIX |
| 27 | imply REBOOT |
| 28 | imply ENTROPY_GENERATOR |
| 29 | imply NET_UDP |
| 30 | imply NET_IPV6 |
| 31 | imply NET_CONFIG_NEED_IPV6 |
| 32 | imply NET_SOCKETS |
Axel Le Bourhis | a578c14 | 2024-09-17 18:56:00 +0200 | [diff] [blame] | 33 | imply NET_SOCKETS_POSIX_NAMES if !ARCH_POSIX && CHIP_NRF_PLATFORM |
Kamil Kasperczyk | dcca243 | 2022-04-05 12:46:55 +0200 | [diff] [blame] | 34 | imply NETWORKING |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 35 | imply HWINFO |
| 36 | imply FLASH |
| 37 | imply FLASH_MAP |
| 38 | imply NVS |
| 39 | imply SETTINGS |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 40 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 41 | Enables Matter libraries required for the Matter protocol stack to work. |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 42 | |
| 43 | if CHIP |
| 44 | |
QuentinCaldeira-eaton | 3cb0ae9 | 2024-07-22 10:51:15 +0200 | [diff] [blame] | 45 | config CHIP_APP_LOG_LEVEL |
| 46 | int "Logging level in application" |
| 47 | default LOG_DEFAULT_LEVEL |
| 48 | depends on LOG |
| 49 | help |
| 50 | Sets the logging level in the Matter application. Use this configuration |
| 51 | option only within the application. To set the logging level for the |
| 52 | Matter stack, use the MATTER_LOG_LEVEL configuration option. |
| 53 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 54 | # Device and firmware identifers |
| 55 | |
Damian Królik | 93bc7f7 | 2022-01-18 14:25:38 +0100 | [diff] [blame] | 56 | config CHIP_DEVICE_VENDOR_ID |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 57 | int "Device Vendor ID" |
C Freeman | 482e6fd | 2022-02-09 15:50:07 -0500 | [diff] [blame] | 58 | default 65521 # 0xFFF1 |
Damian Królik | 93bc7f7 | 2022-01-18 14:25:38 +0100 | [diff] [blame] | 59 | range 0 65535 |
| 60 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 61 | Provides the 16-bit numeric identifier of the device manufacturer, |
| 62 | assigned by Connectivity Standards Alliance. The identifier is exposed as |
| 63 | an attribute of the Basic Informationcluster, and included in the header |
| 64 | of the generated Matter Over-the-air (OTA) update image. |
Damian Królik | 93bc7f7 | 2022-01-18 14:25:38 +0100 | [diff] [blame] | 65 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 66 | config CHIP_DEVICE_VENDOR_NAME |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 67 | string "Device vendor name" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 68 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 69 | Provides a human-readable name of the device manufacturer. The name is |
| 70 | exposed as an attribute of the Basic Information cluster. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 71 | |
Damian Królik | 93bc7f7 | 2022-01-18 14:25:38 +0100 | [diff] [blame] | 72 | config CHIP_DEVICE_PRODUCT_ID |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 73 | int "Product ID" |
C Freeman | 482e6fd | 2022-02-09 15:50:07 -0500 | [diff] [blame] | 74 | default 32768 # 0x8000 |
Damian Królik | 93bc7f7 | 2022-01-18 14:25:38 +0100 | [diff] [blame] | 75 | range 0 65535 |
| 76 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 77 | Provides the 16-bit numeric identifier of the product, assigned by the |
| 78 | device manufacturer. The identifier is exposed as an attribute of the |
| 79 | Basic Information cluster, and included in the header of the generated |
| 80 | Matter over-the-air (OTA) update image. |
Damian Królik | 93bc7f7 | 2022-01-18 14:25:38 +0100 | [diff] [blame] | 81 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 82 | config CHIP_DEVICE_PRODUCT_NAME |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 83 | string "Product name" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 84 | default "not-specified" |
| 85 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 86 | Provides a human-readable product name, such as the model number, assigned |
| 87 | by the device manufacturer. The name is exposed as an attribute of the |
| 88 | Basic Information cluster. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 89 | |
| 90 | config CHIP_DEVICE_HARDWARE_VERSION |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 91 | int "Hardware version" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 92 | default 0 |
| 93 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 94 | Provides the 16-bit hardware version number, assigned by the device |
| 95 | manufacturer. The number is exposed as an attribute of the Basic |
| 96 | Information cluster. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 97 | |
| 98 | config CHIP_DEVICE_HARDWARE_VERSION_STRING |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 99 | string "Hardware version string" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 100 | default "prerelease" |
| 101 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 102 | Provides a human-readable representation of the hardware version number. |
| 103 | This must be an ASCII string of a length between 1 and 64 characters. The |
| 104 | hardware version string is exposed as an attribute of the Basic |
| 105 | Information cluster. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 106 | |
Łukasz Duda | bdd33bd | 2024-05-06 14:35:46 +0200 | [diff] [blame] | 107 | if "$(APPVERSION)"="" |
Damian Królik | 93bc7f7 | 2022-01-18 14:25:38 +0100 | [diff] [blame] | 108 | config CHIP_DEVICE_SOFTWARE_VERSION |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 109 | int "Software version" |
Damian Królik | 93bc7f7 | 2022-01-18 14:25:38 +0100 | [diff] [blame] | 110 | default 0 |
| 111 | range 0 4294967295 |
| 112 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 113 | Provides the 32-bit software version number. The number is exposed as an |
| 114 | attribute of the Basic Information cluster, and included in the header of |
| 115 | the generated Matter Over-the-air (OTA) update image. The exact numbering |
| 116 | scheme is up to the device manufacturer. However, when using the Matter |
| 117 | OTA mechanism, only updates to higher versions than the current one are |
| 118 | accepted. |
Damian Królik | 93bc7f7 | 2022-01-18 14:25:38 +0100 | [diff] [blame] | 119 | |
| 120 | config CHIP_DEVICE_SOFTWARE_VERSION_STRING |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 121 | string "Software version string" |
Damian Królik | 93bc7f7 | 2022-01-18 14:25:38 +0100 | [diff] [blame] | 122 | default "prerelease" |
| 123 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 124 | Provides a human-readable representation of the software version number. |
| 125 | This must be an ASCII string of a length between 1 and 64 characters. The |
| 126 | software version string is exposed as an attribute of the Basic |
| 127 | Information cluster, and included in the header of the generated Matter |
| 128 | over-the-air (OTA) update image. |
Łukasz Duda | bdd33bd | 2024-05-06 14:35:46 +0200 | [diff] [blame] | 129 | endif |
Damian Królik | 93bc7f7 | 2022-01-18 14:25:38 +0100 | [diff] [blame] | 130 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 131 | config CHIP_DEVICE_MANUFACTURING_DATE |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 132 | string "Manufacturing date (ISO 8601 format)" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 133 | default "2022-01-01" |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 134 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 135 | Provides the device manufacturing date in the ISO 8601 format: YYYY-MM-DD. |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 136 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 137 | config CHIP_DEVICE_SERIAL_NUMBER |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 138 | string "Device serial number" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 139 | default "11223344556677889900" |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 140 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 141 | Provides a human-readable representation of the device serial number that |
| 142 | uniquely identifies the device. This must be an ASCII string of no more |
| 143 | than 32 characters. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 144 | |
| 145 | config CHIP_DEVICE_ROTATING_DEVICE_UID |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 146 | string "Rotating device ID unique ID (HEX format)" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 147 | default "91a9c12a7c80700a31ddcfa7fce63e44" |
| 148 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 149 | Provides a unique identifier of the device. This ID is used to derive the |
| 150 | rotating device identifier, which allows commissioners to discover the |
| 151 | device in a privacy-preserving way. The identifier must be a string of at |
| 152 | least 16 bytes encoded in HEX. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 153 | |
| 154 | config CHIP_DEVICE_TYPE |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 155 | int "Primary device type" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 156 | default 65535 |
| 157 | range 0 65535 |
| 158 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 159 | Provides the primary device type implemented by the node. This must be one |
| 160 | of the device type identifiers defined in the Matter Device Library |
| 161 | specification. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 162 | |
| 163 | config CHIP_DEVICE_DISCRIMINATOR |
| 164 | hex "Device pairing discriminator" |
| 165 | default 0xF00 |
| 166 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 167 | Provides a 12-bit identifier that is used to discover the device during |
| 168 | the commissioning. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 169 | |
| 170 | config CHIP_DEVICE_SPAKE2_PASSCODE |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 171 | int "SPAKE2+ passcode" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 172 | default 20202021 |
| 173 | range 1 99999998 |
| 174 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 175 | Provides a pairing passcode. This is a 27-bit unsigned integer that serves |
| 176 | as a proof of possession during the commissioning. The passcode must be |
| 177 | a value between 1 and 99999998, excluding the following invalid passcodes: |
| 178 | 00000000, 11111111, 22222222, 33333333, 44444444, 55555555, |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 179 | 66666666, 77777777, 88888888, 99999999, 12345678, 87654321. |
| 180 | |
| 181 | config CHIP_DEVICE_SPAKE2_IT |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 182 | int "SPAKE2+ iteration count" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 183 | default 1000 |
| 184 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 185 | Provides the SPAKE2+ iteration count, which is one of the input parameters |
| 186 | for the PBKDF operation, used to generate the SPAKE2+ verifier. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 187 | |
| 188 | config CHIP_DEVICE_SPAKE2_SALT |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 189 | string "SPAKE2+ salt (base64 format)" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 190 | default "U1BBS0UyUCBLZXkgU2FsdA==" |
| 191 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 192 | Provides the SPAKE2+ salt, which is one of the input parameters for the |
| 193 | PBKDF operation, used to generate the SPAKE2+ verifier. The salt must be |
| 194 | of a length between 16 and 32 bytes and it should be randomly generated |
| 195 | for each SPAKE2+ passcode. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 196 | |
| 197 | config CHIP_DEVICE_SPAKE2_TEST_VERIFIER |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 198 | string "SPAKE2+ verifier for testing purposes (base64 format)" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 199 | default "uWFwqugDNGiEck/po7KHwwMwwqZgN10XuyBajPGuyzUEV/iree4lOrao5GuwnlQ65CJzbeUB49s31EH+NEkg0JVI5MGCQGMMT/SRPFNRODm3wH/MBiehuFc6FJ/NH6Rmzw==" |
| 200 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 201 | Provides the SPAKE2+ verifier that was generated using the configured |
| 202 | SPAKE2+ passcode, iteration count and salt. This configuration option can |
| 203 | be used for development or testing purposes. The default value was |
| 204 | generated using the following command: |
| 205 | ./scripts/tools/spake2p/spake2p.py gen-verifier -i 1000 -s U1BBS0UyUCBLZXkgU2FsdA== -p 20202021 |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 206 | |
| 207 | config CHIP_DEVICE_ENABLE_KEY |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 208 | string "Enable Key for triggering test actions (HEX format)" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 209 | default "00112233445566778899AABBCCDDEEFF" |
| 210 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 211 | Provides the Enable Key, which is a 16-byte value encoded in HEX that |
| 212 | must be provided in the TestEventTrigger command to trigger a requested |
| 213 | test action. This value is used during certification tests, and should not |
| 214 | be present on devices in production environment. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 215 | |
Arkadiusz Bałys | 5f1a60b | 2023-05-16 07:15:22 +0200 | [diff] [blame] | 216 | config CHIP_DEVICE_PRODUCT_FINISH |
| 217 | string "Description of the product's external case finish method" |
| 218 | default "other" |
| 219 | help |
| 220 | provides a description of the product's external case finish method. |
| 221 | Possible values: |
| 222 | other; matte; satin; polished; rugged; fabric |
| 223 | |
| 224 | config CHIP_DEVICE_PRODUCT_COLOR |
| 225 | string "Description of the product's primary color" |
| 226 | help |
| 227 | provides a description of the product's primary color. |
| 228 | Possible values: |
| 229 | black; navy; green; teal; maroon; purple; olive; gray; blue; lime; |
| 230 | aqua; red; fuchsia; yellow; white; nickel; chrome; brass; cooper; |
| 231 | silver; gold. |
| 232 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 233 | # Matter optional features and parameters |
| 234 | |
| 235 | config CHIP_ENABLE_PAIRING_AUTOSTART |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 236 | bool "Open commissioning window on boot" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 237 | default n |
| 238 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 239 | Opens the commissioning window automatically at application boot time if |
| 240 | the node is not yet commissioned. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 241 | |
| 242 | config CHIP_OTA_REQUESTOR |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 243 | bool "OTA Software Update Requestor" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 244 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 245 | Enables over-the-air (OTA) Requestor role that allows the node to perform |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 246 | Device Firmware Upgrade by quering and downloading a new firmware image |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 247 | from a peer OTA Provider node. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 248 | |
| 249 | config CHIP_ROTATING_DEVICE_ID |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 250 | bool "Generate rotating device ID" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 251 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 252 | Enables the rotating device identifier that provides a non-trackable |
| 253 | identifier. The identifier is unique per device and rotates at pre-defined |
| 254 | moments. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 255 | |
| 256 | config CHIP_COMMISSIONABLE_DEVICE_TYPE |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 257 | bool "Include device type subtype in commissionable node discovery record" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 258 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 259 | Includes the device type subtype in the commissionable node discovery |
| 260 | record. This allows a commissioner to find the node when looking for |
| 261 | a specific device type. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 262 | |
| 263 | config CHIP_EXTENDED_DISCOVERY |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 264 | bool "Extended discovery" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 265 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 266 | Enables advertising of the commissionable node service even if the node |
| 267 | does not have the commissioning window open. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 268 | |
| 269 | config CHIP_OPERATIONAL_TIME_SAVE_INTERVAL |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 270 | int "Total operational time save interval (hours unit)" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 271 | default 10 |
| 272 | range 1 4294967295 |
| 273 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 274 | Provides an interval in hours with which the node operational time is |
| 275 | saved to the flash memory. The provided value is a trade-off between |
| 276 | performing frequent saves to know the precise operational time (in case of |
| 277 | device reboot) and maximizing the flash memory lifetime. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 278 | |
| 279 | config CHIP_CRYPTO_PSA |
| 280 | bool "Use PSA crypto API for cryptographic operations" |
| 281 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 282 | Enables the implementation of the Matter cryptographic operations that is |
| 283 | based on the PSA crypto API (instead of the default implementation, which |
| 284 | is based on the legacy mbedTLS APIs). |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 285 | |
Damian Królik | 5a845c6 | 2023-02-02 10:51:40 +0100 | [diff] [blame] | 286 | config CHIP_PERSISTENT_SUBSCRIPTIONS |
| 287 | bool "Persistent subscriptions" |
| 288 | help |
| 289 | Persists Matter subscriptions on the publisher node. This feature allows |
| 290 | a Matter node to faster get back to the previous operation after it went |
| 291 | offline, for example, due to a power outage. That is, the node can use the |
| 292 | persisted subscription information to quickly re-establish the previous |
| 293 | subscriptions instead of waiting for the subscriber node to realize that |
| 294 | the publisher is alive again. |
| 295 | |
Damian Królik | 2049ef5 | 2023-08-29 18:21:07 +0200 | [diff] [blame] | 296 | config CHIP_STATISTICS |
| 297 | bool "Resource usage statistics" |
| 298 | help |
| 299 | Enables tracking the current and the top usage of critical resources used |
| 300 | by the Matter stack, such as packet buffers, timers or exchange contexts. |
| 301 | |
Kamil Kasperczyk | 2f0c691 | 2021-06-25 00:33:52 +0200 | [diff] [blame] | 302 | config CHIP_LIB_SHELL |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 303 | bool "Matter shell commands" |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 304 | default n |
Kamil Kasperczyk | 2f0c691 | 2021-06-25 00:33:52 +0200 | [diff] [blame] | 305 | imply SHELL |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 306 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 307 | Enables linking the application with the library that contains Matter |
| 308 | shell commands. |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 309 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 310 | config CHIP_PROJECT_CONFIG |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 311 | string "Project configuration file for Matter" |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 312 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 313 | Provides a path to the project configuration file for Matter. The path can |
| 314 | be either absolute or relative to the application directory. If specified, |
| 315 | Matter's generic configuration files will include the project |
| 316 | configuration file that can be used to override any of Matter's default or |
| 317 | platform-specific settings. |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 318 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 319 | # Thread network features |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 320 | |
| 321 | config CHIP_ENABLE_DNSSD_SRP |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 322 | bool "OpenThread Service Registration Protocol" |
Kamil Kasperczyk | 5a23ad5 | 2024-04-26 15:52:29 +0200 | [diff] [blame] | 323 | default y |
| 324 | depends on NET_L2_OPENTHREAD |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 325 | imply OPENTHREAD_ECDSA |
| 326 | imply OPENTHREAD_SRP_CLIENT |
| 327 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 328 | Enables using the OpenThread SRP client for the Matter service |
| 329 | advertising. |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 330 | |
Kamil Kasperczyk | 13888a6 | 2021-07-13 11:15:30 +0200 | [diff] [blame] | 331 | config CHIP_ENABLE_DNS_CLIENT |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 332 | bool "OpenThread DNS client" |
Kamil Kasperczyk | 5a23ad5 | 2024-04-26 15:52:29 +0200 | [diff] [blame] | 333 | default y |
| 334 | depends on NET_L2_OPENTHREAD |
Kamil Kasperczyk | 13888a6 | 2021-07-13 11:15:30 +0200 | [diff] [blame] | 335 | imply OPENTHREAD_DNS_CLIENT |
| 336 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 337 | Enables using the OpenThread DNS client for the Matter service discovery. |
Kamil Kasperczyk | 13888a6 | 2021-07-13 11:15:30 +0200 | [diff] [blame] | 338 | |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 339 | config CHIP_ENABLE_ICD_SUPPORT |
| 340 | bool "Matter Intermittently Connected Devices support" |
Kamil Kasperczyk | d591d1f | 2021-11-04 15:01:46 +0100 | [diff] [blame] | 341 | default n |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 342 | imply OPENTHREAD_MTD_SED if NET_L2_OPENTHREAD |
Kamil Kasperczyk | d591d1f | 2021-11-04 15:01:46 +0100 | [diff] [blame] | 343 | help |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 344 | Enables the Intermittently Connected Device (ICD) support in Matter. |
Kamil Kasperczyk | d591d1f | 2021-11-04 15:01:46 +0100 | [diff] [blame] | 345 | |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 346 | if CHIP_ENABLE_ICD_SUPPORT |
Damian Królik | e8daffa | 2022-06-16 02:25:50 +0200 | [diff] [blame] | 347 | |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 348 | config CHIP_ICD_SLOW_POLL_INTERVAL |
| 349 | int "Intermittently Connected Device slow polling interval (ms)" |
Kamil Kasperczyk | 91ba8b6 | 2024-02-14 10:28:02 +0100 | [diff] [blame] | 350 | default 30000 if CHIP_ICD_LIT_SUPPORT |
Damian Królik | e8daffa | 2022-06-16 02:25:50 +0200 | [diff] [blame] | 351 | default 1000 |
| 352 | help |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 353 | Provides the Intermittently Connected Device slow polling interval in milliseconds while the |
| 354 | device is in the idle mode. It determines the fastest frequency at which the device will be able |
| 355 | to receive the messages in the idle mode. |
Damian Królik | e8daffa | 2022-06-16 02:25:50 +0200 | [diff] [blame] | 356 | |
Kamil Kasperczyk | c552dda | 2024-09-03 08:41:22 +0200 | [diff] [blame] | 357 | config CHIP_ICD_SIT_SLOW_POLL_LIMIT |
| 358 | int "Intermittently Connected Device slow polling interval limit for device in SIT mode (ms)" |
| 359 | default 15000 |
| 360 | range 0 15000 |
| 361 | help |
| 362 | Provides the limit for Intermittently Connected Device slow polling interval in milliseconds while the |
| 363 | device is in the SIT mode. By spec, this value cannot exceed 15 s (spec 9.16.1.5). This value can be |
| 364 | used for the LIT device, to limit the slow poll interval used while temporarily working in the SIT mode. |
| 365 | |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 366 | config CHIP_ICD_FAST_POLLING_INTERVAL |
| 367 | int "Intermittently Connected Device fast polling interval (ms)" |
Damian Królik | e8daffa | 2022-06-16 02:25:50 +0200 | [diff] [blame] | 368 | default 200 |
| 369 | help |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 370 | Provides the Intermittently Connected Device fast polling interval in milliseconds while the |
| 371 | device is in the active mode. It determines the fastest frequency at which the device will be able |
| 372 | to receive the messages in the active mode. The CHIP_ICD_FAST_POLLING_INTERVAL shall be smaller than |
Kamil Kasperczyk | 91ba8b6 | 2024-02-14 10:28:02 +0100 | [diff] [blame] | 373 | CHIP_ICD_ACTIVE_MODE_DURATION. |
Damian Królik | e8daffa | 2022-06-16 02:25:50 +0200 | [diff] [blame] | 374 | |
Kamil Kasperczyk | 91ba8b6 | 2024-02-14 10:28:02 +0100 | [diff] [blame] | 375 | config CHIP_ICD_IDLE_MODE_DURATION |
| 376 | int "Intermittently Connected Device idle mode duration (s)" |
| 377 | default 300 if CHIP_ICD_LIT_SUPPORT |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 378 | default 120 |
| 379 | help |
Kamil Kasperczyk | 91ba8b6 | 2024-02-14 10:28:02 +0100 | [diff] [blame] | 380 | Provides the Intermittently Connected Device idle mode duration in seconds. |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 381 | It determines the maximum amount of time the device can stay in the idle mode, which means the |
| 382 | device may be unreachable and not able to receive messages. |
| 383 | |
Kamil Kasperczyk | 91ba8b6 | 2024-02-14 10:28:02 +0100 | [diff] [blame] | 384 | config CHIP_ICD_ACTIVE_MODE_DURATION |
| 385 | int "Intermittently Connected Device active mode duration (ms)" |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 386 | default 300 |
| 387 | help |
Kamil Kasperczyk | 91ba8b6 | 2024-02-14 10:28:02 +0100 | [diff] [blame] | 388 | Provides the Intermittently Connected Device active mode duration in milliseconds. |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 389 | It determines the minimum amount of time the device shall stay in the active mode. |
| 390 | |
| 391 | config CHIP_ICD_ACTIVE_MODE_THRESHOLD |
| 392 | int "Intermittently Connected Device active mode threshold (ms)" |
Kamil Kasperczyk | 91ba8b6 | 2024-02-14 10:28:02 +0100 | [diff] [blame] | 393 | default 5000 if CHIP_ICD_LIT_SUPPORT |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 394 | default 300 |
| 395 | help |
| 396 | Provides the Intermittently Connected Device active mode threshold in milliseconds. |
| 397 | It determines the minimum amount of time the device shall stay in the active mode after the network activity. |
Kamil Kasperczyk | 91ba8b6 | 2024-02-14 10:28:02 +0100 | [diff] [blame] | 398 | For LIT devices it cannot be set to a value smaller than 5000 ms. |
| 399 | |
| 400 | config CHIP_ICD_LIT_SUPPORT |
Kamil Kasperczyk | 4e15283 | 2024-09-18 08:30:33 +0200 | [diff] [blame] | 401 | bool "Intermittently Connected Device Long Idle Time support" |
Kamil Kasperczyk | 91ba8b6 | 2024-02-14 10:28:02 +0100 | [diff] [blame] | 402 | imply CHIP_ICD_CHECK_IN_SUPPORT |
| 403 | imply CHIP_ICD_UAT_SUPPORT |
| 404 | help |
| 405 | Enables the Intermittently Connected Device Long Idle Time support in Matter. |
| 406 | It also implies the ICD Check-In and UAT features support that are mandatory for LIT device. |
| 407 | |
| 408 | config CHIP_ICD_CHECK_IN_SUPPORT |
Kamil Kasperczyk | 4e15283 | 2024-09-18 08:30:33 +0200 | [diff] [blame] | 409 | bool "Intermittently Connected Device Check-In protocol support" |
Kamil Kasperczyk | 91ba8b6 | 2024-02-14 10:28:02 +0100 | [diff] [blame] | 410 | help |
| 411 | Enables the Check-In protocol support in Matter. It allows an ICD device to notify the registered |
| 412 | ICD clients that it is available for communication. |
| 413 | |
| 414 | config CHIP_ICD_UAT_SUPPORT |
Kamil Kasperczyk | 4e15283 | 2024-09-18 08:30:33 +0200 | [diff] [blame] | 415 | bool "Intermittently Connected Device User Active Mode Trigger support" |
Kamil Kasperczyk | 91ba8b6 | 2024-02-14 10:28:02 +0100 | [diff] [blame] | 416 | help |
| 417 | Enables the User Active Mode Trigger (UAT) support in Matter. It allows the User to use application specific |
| 418 | means (e.g. button press) to trigger an ICD device to enter the active mode and become responsive. |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 419 | |
Kamil Kasperczyk | 4e15283 | 2024-09-18 08:30:33 +0200 | [diff] [blame] | 420 | config CHIP_ICD_DSLS_SUPPORT |
| 421 | bool "Intermittenttly Connected Device Dynamic SIT LIT support" |
| 422 | depends on CHIP_ICD_LIT_SUPPORT |
| 423 | help |
| 424 | Enables the Dynamic SIT LIT support in Matter. It allows the application to dynamically switch between |
| 425 | SIT and LIT modes, as long as the requirements for these modes are met (e.g. device has at least one active ICD client). |
| 426 | |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 427 | config CHIP_ICD_CLIENTS_PER_FABRIC |
| 428 | int "Intermittently Connected Device number of clients per fabric" |
| 429 | default 2 |
Kamil Kasperczyk | 91ba8b6 | 2024-02-14 10:28:02 +0100 | [diff] [blame] | 430 | depends on CHIP_ICD_CHECK_IN_SUPPORT |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 431 | help |
| 432 | Provides the Intermittently Connected Device number of clients per fabric. It determines the maximum number |
| 433 | of clients per fabric that can be registered to receive notification from a device if their subscription is lost. |
| 434 | |
| 435 | endif # CHIP_ENABLE_ICD_SUPPORT |
Damian Królik | e8daffa | 2022-06-16 02:25:50 +0200 | [diff] [blame] | 436 | |
Kamil Kasperczyk | 10bb2fd | 2022-04-28 03:21:18 +0200 | [diff] [blame] | 437 | config CHIP_THREAD_SSED |
Arkadiusz Bałys | e6a1e8e | 2022-11-25 15:50:18 +0100 | [diff] [blame] | 438 | bool "Enable Thread Synchronized Sleepy End Device support" |
Kamil Kasperczyk | 97fb666 | 2023-09-13 12:33:41 +0200 | [diff] [blame] | 439 | depends on OPENTHREAD_CSL_RECEIVER && CHIP_ENABLE_ICD_SUPPORT |
Arkadiusz Bałys | e6a1e8e | 2022-11-25 15:50:18 +0100 | [diff] [blame] | 440 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 441 | Enables the Thread Synchronized Sleepy End Device support in Matter. |
Kamil Kasperczyk | 10bb2fd | 2022-04-28 03:21:18 +0200 | [diff] [blame] | 442 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 443 | config CHIP_OPENTHREAD_CONFIG |
| 444 | string "Custom OpenThread configuration file" |
Kamil Kasperczyk | 5a23ad5 | 2024-04-26 15:52:29 +0200 | [diff] [blame] | 445 | depends on NET_L2_OPENTHREAD |
Damian Królik | 79fe72a | 2021-11-23 10:26:03 +0100 | [diff] [blame] | 446 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 447 | Provides a path to an OpenThread configuration file. The path can be |
| 448 | either absolute or relative to the application directory. When this option |
| 449 | is specified, it replaces the OpenThread configuration file supplied by |
| 450 | Zephyr. |
Damian Królik | 79fe72a | 2021-11-23 10:26:03 +0100 | [diff] [blame] | 451 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 452 | # Platform additions and configuration |
Kamil Kasperczyk | 6bb25d5 | 2022-01-12 23:07:33 +0100 | [diff] [blame] | 453 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 454 | config CHIP_CERTIFICATION_DECLARATION_STORAGE |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 455 | bool "Certification Declaration settings storage" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 456 | depends on CHIP_FACTORY_DATA |
Kamil Kasperczyk | 914ba3e | 2022-01-20 10:02:33 +0100 | [diff] [blame] | 457 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 458 | Enables storing of the Certification Declaration in Zephyr settings |
| 459 | instead of using the hardcoded value from firmware. This option also adds |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 460 | support for including new Certification Declaration into a firmware |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 461 | update image package that is sent as part of the OTA software update. |
Kamil Kasperczyk | 914ba3e | 2022-01-20 10:02:33 +0100 | [diff] [blame] | 462 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 463 | if CHIP_CERTIFICATION_DECLARATION_STORAGE |
Kamil Kasperczyk | 914ba3e | 2022-01-20 10:02:33 +0100 | [diff] [blame] | 464 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 465 | config CHIP_CERTIFiCATION_DECLARATION_OTA_IMAGE_ID |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 466 | int "Certification declaration OTA image ID" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 467 | default 205 #0xcd |
Kamil Kasperczyk | 1798b15 | 2021-12-22 08:57:20 +0100 | [diff] [blame] | 468 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 469 | Provides the image ID of the Certification Declaration image for sending |
| 470 | it as part of the OTA software update. |
Kamil Kasperczyk | 1798b15 | 2021-12-22 08:57:20 +0100 | [diff] [blame] | 471 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 472 | endif |
Damian Królik | 9bd5049 | 2022-10-26 19:25:16 +0200 | [diff] [blame] | 473 | |
Damian Królik | 6d60997 | 2022-11-04 08:42:18 +0100 | [diff] [blame] | 474 | config CHIP_FACTORY_RESET_ERASE_NVS |
| 475 | bool "Erase NVS flash pages on factory reset" |
| 476 | depends on SETTINGS_NVS |
| 477 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 478 | Erases flash pages occupied by non-volatile storage when a factory reset |
| 479 | is requested, instead of removing Matter-related settings only. Enabling |
| 480 | this option provides a more robust factory reset mechanism and allows to |
| 481 | regain the original storage performance if any firmware issue has brought |
| 482 | it to an unexpected state. For this reason, set this option if the entire |
| 483 | configuration is supposed to be cleared on a factory reset, including |
| 484 | device-specific entries. |
Damian Królik | 6d60997 | 2022-11-04 08:42:18 +0100 | [diff] [blame] | 485 | |
Damian Królik | f86c68c | 2022-04-04 12:56:01 +0200 | [diff] [blame] | 486 | config CHIP_MALLOC_SYS_HEAP |
| 487 | bool "Memory allocator based on Zephyr sys_heap" |
| 488 | imply SYS_HEAP_RUNTIME_STATS |
| 489 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 490 | Enables memory allocation functions that imitate the default malloc, |
Damian Królik | f86c68c | 2022-04-04 12:56:01 +0200 | [diff] [blame] | 491 | calloc, realloc and free, based on sys_heap from Zephyr RTOS. |
| 492 | |
| 493 | if CHIP_MALLOC_SYS_HEAP |
| 494 | |
| 495 | config CHIP_MALLOC_SYS_HEAP_OVERRIDE |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 496 | bool "Override default allocator with memory allocator based on Zephyr sys_heap" |
Damian Królik | f86c68c | 2022-04-04 12:56:01 +0200 | [diff] [blame] | 497 | default y |
| 498 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 499 | Replaces the default memory allocation functions (such as malloc, calloc, |
| 500 | realloc, free, and their reentrant versions) with their counterparts based |
Damian Królik | f86c68c | 2022-04-04 12:56:01 +0200 | [diff] [blame] | 501 | on sys_heap from Zephyr RTOS. |
| 502 | |
| 503 | config CHIP_MALLOC_SYS_HEAP_SIZE |
| 504 | int "Heap size used by memory allocator based on Zephyr sys_heap" |
Kamil Kasperczyk | 5dc7463 | 2023-03-07 18:02:45 +0100 | [diff] [blame] | 505 | default 12288 # 12kB |
Damian Królik | f86c68c | 2022-04-04 12:56:01 +0200 | [diff] [blame] | 506 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 507 | Provides a value that controls how much of the device RAM is reserved for |
| 508 | the heap used by the memory allocation functions based on sys_heap from |
| 509 | Zephyr RTOS. |
Damian Królik | f86c68c | 2022-04-04 12:56:01 +0200 | [diff] [blame] | 510 | |
Kamil Kasperczyk | 6146382 | 2023-11-03 14:56:15 +0100 | [diff] [blame] | 511 | config CHIP_MALLOC_SYS_HEAP_WATERMARKS_SUPPORT |
| 512 | bool "Enable support for heap watermarks based on Zephyr sys_heap" |
| 513 | help |
| 514 | Enables support for getting current heap high watermark and resetting |
| 515 | watermarks. |
| 516 | |
Damian Królik | f86c68c | 2022-04-04 12:56:01 +0200 | [diff] [blame] | 517 | endif |
| 518 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 519 | module = MATTER |
| 520 | module-str = Matter |
| 521 | source "${ZEPHYR_BASE}/subsys/logging/Kconfig.template.log_config" |
| 522 | |
| 523 | # Build system options |
| 524 | |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 525 | config APP_LINK_WITH_CHIP |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 526 | bool "Link application with Matter libraries" |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 527 | default y |
| 528 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 529 | Adds Matter directories to the 'app' target include paths and links the |
| 530 | 'app' target with Matter libraries. |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 531 | |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 532 | config CHIP_PW_RPC |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 533 | bool "Pigweed RPC library" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 534 | default n |
| 535 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 536 | Links the application with the libraries containing Pigweed RPC |
| 537 | functionalities. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 538 | |
| 539 | config CHIP_BUILD_TESTS |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 540 | bool "Build Matter unit tests" |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 541 | default n |
| 542 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 543 | Enables building Matter unit tests. |
Damian Królik | 63803aa | 2022-12-23 09:50:48 +0100 | [diff] [blame] | 544 | |
Damian Królik | 93bc7f7 | 2022-01-18 14:25:38 +0100 | [diff] [blame] | 545 | config CHIP_OTA_IMAGE_BUILD |
| 546 | bool "Generate OTA image" |
| 547 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 548 | Enables building Matter over-the-air (OTA) update image. |
Damian Królik | 4668421 | 2022-02-27 11:40:14 +0100 | [diff] [blame] | 549 | |
| 550 | if CHIP_OTA_IMAGE_BUILD |
| 551 | |
| 552 | config CHIP_OTA_IMAGE_FILE_NAME |
| 553 | string "OTA image file name" |
| 554 | default "matter.ota" |
| 555 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 556 | Provides the file name of the generated Matter OTA image. |
Damian Królik | 93bc7f7 | 2022-01-18 14:25:38 +0100 | [diff] [blame] | 557 | |
| 558 | config CHIP_OTA_IMAGE_EXTRA_ARGS |
| 559 | string "OTA image creator extra arguments" |
Damian Królik | 93bc7f7 | 2022-01-18 14:25:38 +0100 | [diff] [blame] | 560 | help |
Damian Królik | 774d06c | 2023-01-19 16:03:14 +0100 | [diff] [blame] | 561 | Provides optional arguments to the ota_image_tool.py script, used for |
| 562 | building Matter OTA image. |
Damian Królik | 4668421 | 2022-02-27 11:40:14 +0100 | [diff] [blame] | 563 | |
Damian Królik | 4668421 | 2022-02-27 11:40:14 +0100 | [diff] [blame] | 564 | endif |
Damian Królik | 93bc7f7 | 2022-01-18 14:25:38 +0100 | [diff] [blame] | 565 | |
Kamil Kasperczyk | 0b0d116 | 2024-04-17 08:09:30 +0200 | [diff] [blame] | 566 | config CHIP_BLE_EXT_ADVERTISING |
| 567 | bool "Bluetooth LE extended advertising" |
| 568 | help |
| 569 | Enable Bluetooth LE extended advertising, which allows the device to advertise |
| 570 | Matter service over Bluetooth LE for a period of time longer than 15 minutes. |
| 571 | If this config is true, |
| 572 | CHIP_DEVICE_CONFIG_DISCOVERY_TIMEOUT_SECS define can be set up to 172800 seconds (48h). |
| 573 | |
| 574 | config CHIP_BLE_ADVERTISING_DURATION |
| 575 | int "Bluetooth LE advertising duration in minutes" |
| 576 | range 15 2880 if CHIP_BLE_EXT_ADVERTISING |
| 577 | range 0 15 |
| 578 | default 15 |
| 579 | help |
| 580 | Specify how long the device will advertise Matter service over Bluetooth LE in minutes. |
| 581 | If CHIP_BLE_EXT_ADVERTISING is set to false, the maximum duration time is 15 minutes, |
| 582 | else the maximum duration time can be extended to 2880 minutes (48h). |
| 583 | |
Andrei Litvin | bba766b | 2024-09-13 15:24:56 -0400 | [diff] [blame] | 584 | config USE_CHIP_DATA_MODEL_INTERFACE |
| 585 | bool "Use a DataModel::Provider interface for data access" |
| 586 | help |
| 587 | This enables a level of indiraction in the CHIP interaction model engine in |
| 588 | accessing underlying data and executing operations such as |
| 589 | wildcard-expansion, read, write and invoke. |
| 590 | |
Alexandr Kolosov | fc7146c | 2021-06-09 20:57:36 +0300 | [diff] [blame] | 591 | endif |