| # |
| # Copyright (c) 2021 Project CHIP Authors |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| |
| rsource "../../zephyr/Kconfig" |
| |
| config CHIP |
| imply NVS_LOOKUP_CACHE |
| imply NVS_LOOKUP_CACHE_FOR_SETTINGS |
| |
| if CHIP |
| |
| config CHIP_NRF_PLATFORM |
| bool |
| default y |
| help |
| States that the configuration uses Matter nRF platform, |
| what can be used to conditionally deviate from Zephyr generic configuration |
| for nRF platform related purposes. |
| |
| # See config/zephyr/Kconfig for full definition |
| config CHIP_DEVICE_VENDOR_NAME |
| default "Nordic Semiconductor ASA" |
| |
| config CHIP_NFC_COMMISSIONING |
| bool "Share onboarding payload in NFC tag" |
| default n |
| imply NFC_T2T_NRFXLIB |
| imply NFC_NDEF |
| imply NFC_NDEF_MSG |
| imply NFC_NDEF_RECORD |
| imply NFC_NDEF_URI_REC |
| imply NFC_NDEF_URI_MSG |
| help |
| Enables sharing the onboarding payload in the NFC tag. |
| |
| # See config/zephyr/Kconfig for full definition |
| config CHIP_OTA_REQUESTOR |
| bool |
| imply DFU_MULTI_IMAGE |
| imply DFU_TARGET |
| imply BOOTLOADER_MCUBOOT |
| imply IMG_MANAGER |
| imply STREAM_FLASH |
| imply STREAM_FLASH_ERASE |
| |
| config CHIP_OTA_REQUESTOR_BUFFER_SIZE |
| int "OTA Requestor image buffer size" |
| default 1024 |
| depends on CHIP_OTA_REQUESTOR |
| help |
| Configures the size of the buffer used by OTA Requestor when downloading |
| and writing a new firmware image to flash. |
| |
| config CHIP_OTA_REQUESTOR_REBOOT_ON_APPLY |
| bool "Auto-reboot when firmware update is applied" |
| default y |
| depends on CHIP_OTA_REQUESTOR |
| imply REBOOT |
| help |
| Reboots the device automatically after downloading a new firmware update |
| to swap the old and the new firmware images. The reboot happens only when |
| a user consents to apply the firmware update. |
| |
| # See config/zephyr/Kconfig for full definition |
| config CHIP_OTA_IMAGE_BUILD |
| bool |
| default y if CHIP_OTA_REQUESTOR |
| depends on SIGN_IMAGES |
| select DFU_MULTI_IMAGE_PACKAGE_BUILD |
| |
| config CHIP_EXAMPLE_DEVICE_INFO_PROVIDER |
| bool "Include default device information provider build" |
| default y |
| |
| config CHIP_DEBUG_SYMBOLS |
| bool "Generate debug symbols" |
| default y |
| help |
| Enables building the application with debug symbols. |
| |
| config CHIP_MALLOC_SYS_HEAP |
| default y if !ARCH_POSIX |
| |
| config CHIP_FACTORY_DATA |
| bool "Factory data provider" |
| select ZCBOR |
| help |
| Enables the default nRF Connect factory data provider implementation that |
| supports reading the factory data encoded in the CBOR format from the |
| flash memory partition. This option requires the factory_data partition in |
| Partition Manager configuration file (pm_static.yml). |
| |
| config CHIP_FACTORY_DATA_CUSTOM_BACKEND |
| bool "Custom factory data provider" |
| depends on !CHIP_FACTORY_DATA |
| help |
| Enables user's custom factory data provider implementation. This option |
| cannot be used with the CHIP_FACTORY_DATA, which enables the default nRF |
| Connect factory data provider implementation. |
| |
| config CHIP_FACTORY_DATA_BUILD |
| bool "Generate factory data contents" |
| help |
| Enables generation of the factory data contents during the building. This |
| option requires the factory_data partition in Partition Manager |
| configuration file (pm_static.yml). As a result, a new output file is |
| created (factory_data.hex). |
| |
| config CHIP_FACTORY_DATA_VERSION |
| int |
| default 1 |
| help |
| Provides the version of the generated factory data parameter set. This is |
| a hidden configuration option that the user cannot change. You can use |
| this value in the factory data provider implementation to verify that the |
| factory data saved in the flash memory has the expected version. |
| |
| config CHIP_FACTORY_DATA_ROTATING_DEVICE_UID_MAX_LEN |
| int "Maximum length of rotating device ID unique ID in bytes" |
| default 16 |
| depends on CHIP_FACTORY_DATA |
| help |
| Maximum acceptable length of rotating device ID unique ID in bytes. |
| |
| config CHIP_FACTORY_DATA_WRITE_PROTECT |
| bool "Enable Factory Data write protection" |
| select FPROTECT |
| depends on CHIP_FACTORY_DATA |
| default y |
| help |
| Enables the write protection of the Factory Data partition in the flash memory. |
| This is a recommended feature, but it requires the Settings partition size to be |
| a multiple of FPROTECT_BLOCK_SIZE and the Factory Data partition to be placed |
| right after the application partition in the address space (the Factory Data |
| partition offset must be equal to the last address of the application partition). |
| The second requirement is valid only when the FPROTECT_BLOCK_SIZE is bigger than |
| the flash memory page size. |
| |
| if CHIP_FACTORY_DATA_BUILD |
| |
| # Factory data definitions |
| config CHIP_FACTORY_DATA_MERGE_WITH_FIRMWARE |
| bool "Merge generated factory data with merged.hex output build file" |
| default y |
| help |
| Enables merging the generated factory data with the merged.hex output |
| build file. As a result, the merged.hex build output file, which is used |
| when flashing the firmware using the west tool, includes the factory data |
| as well. |
| |
| config CHIP_FACTORY_DATA_GENERATE_ONBOARDING_CODES |
| bool "Generate onboarding codes during the generation of a factory data set" |
| default y |
| help |
| Enables generation of onboarding codes (manual pairing code and QR code) |
| during the generation of a factory data set. You can provide the |
| onboarding codes a Matter controller to commission a device to a Matter |
| network. |
| |
| # Select source of the certificates |
| choice CHIP_FACTORY_DATA_CERT_SOURCE |
| prompt "Attestation certificate file source" |
| default CHIP_FACTORY_DATA_USE_DEFAULT_CERTS |
| |
| config CHIP_FACTORY_DATA_USE_DEFAULT_CERTS |
| bool "Use pre-generated development certificates" |
| help |
| Uses pre-generated certificate files from the |
| credentials/development/attestation/ directory that match the |
| configured Product ID. This can be used for development purpose. |
| |
| config CHIP_FACTORY_DATA_CERT_SOURCE_GENERATED |
| bool "Auto-generate certificates" |
| help |
| Generates new certificates instead of using pre-generated ones. The |
| certificates are generated on every build. |
| |
| config CHIP_FACTORY_DATA_CERT_SOURCE_USER |
| bool "Use user-provided certificate files" |
| help |
| Uses user-provided certificate files. The user needs to specify the |
| absolute paths to all necessary files. |
| |
| endchoice |
| |
| config CHIP_FACTORY_DATA_GENERATE_CD |
| bool "Generates Certification Declaration to the output build directory" |
| help |
| Generates the new Certification Declaration and stores it to the output build directory. |
| |
| if CHIP_FACTORY_DATA_CERT_SOURCE_USER |
| |
| config CHIP_FACTORY_DATA_USER_CERTS_DAC_CERT |
| string "Path to the DAC certificate (DER format)" |
| help |
| Provides the absolute path to the DAC certificate file in the DER format. |
| |
| config CHIP_FACTORY_DATA_USER_CERTS_DAC_KEY |
| string "Path to the DAC private key (DER format)" |
| help |
| Provides the absolute path to the DAC keypair file in the DER format. Both |
| public and private keys must be present (the private key will be extracted |
| automatically). |
| |
| config CHIP_FACTORY_DATA_USER_CERTS_PAI_CERT |
| string "Path to the PAI certificate (DER format)" |
| help |
| Provides the absolute path to the PAI certificate in the DER format. |
| |
| endif # CHIP_FACTORY_DATA_CERT_SOURCE_USER |
| |
| # Configs for SPAKE2+ generation |
| config CHIP_FACTORY_DATA_GENERATE_SPAKE2_VERIFIER |
| bool "Generate SPAKE2+ verifier" |
| default y |
| help |
| Enables the generation of the SPAKE2+ verifier for the configured SPAKE2+ |
| passcode, iteration count and salt. |
| |
| config CHIP_DEVICE_GENERATE_ROTATING_DEVICE_UID |
| bool "Generate Rotating device ID unique ID" |
| default y |
| help |
| Enables the generation of a random Rotating device ID unique ID. |
| |
| endif # CHIP_FACTORY_DATA_BUILD |
| |
| # See config/zephyr/Kconfig for full definition |
| config CHIP_FACTORY_RESET_ERASE_NVS |
| bool |
| default y |
| |
| config CHIP_LOG_SIZE_OPTIMIZATION |
| bool "Disable some detailed logs to decrease flash usage" |
| help |
| Disables some log levels for specific Matter log modules that provide |
| information that is too detailed to be used in most cases. You can find |
| full configuration enabled by this option in the |
| platform/nrfconnect/CHIPPlatformConfig.h file. |
| |
| config CHIP_IPV4 |
| bool "IPv4 support for Matter" |
| default n |
| depends on NET_IPV4 |
| help |
| If disabled, it allows to build nRF Connect SDK application |
| with IPv4 support independently of the Matter stack still |
| running over IPv6. |
| |
| config CHIP_OPENTHREAD_JOINER_ENABLED |
| bool "Specify whether the Thread Joiner functionality is used when it is enabled" |
| default n |
| depends on NET_L2_OPENTHREAD |
| depends on OPENTHREAD_JOINER |
| help |
| If disabled, it allows to optimize memory usage even if Thread Joiner |
| support is enabled. |
| |
| config CHIP_ENABLE_READ_CLIENT |
| bool "Enable Read Client in the Interaction Model" |
| help |
| Enable support for Read Client in the Interaction Model. |
| This config can be disabled for device types that do not require Read Client functionality. |
| Disabling this config can save flash and RAM space. |
| |
| config CHIP_MIGRATE_OPERATIONAL_KEYS_TO_ITS |
| bool "Operational keys migration feature" |
| depends on CHIP_CRYPTO_PSA |
| help |
| Enables migration of the operational keys stored in the persistent storage to the PSA ITS secure storage. |
| Enable this feature while updating the firmware of in-field devices that run Mbed TLS cryptography backend |
| to the firmware based on PSA Crypto API. |
| |
| config CHIP_FACTORY_RESET_ON_KEY_MIGRATION_FAILURE |
| bool "Perform factory reset if the operational key migration failed" |
| default y |
| depends on CHIP_MIGRATE_OPERATIONAL_KEYS_TO_ITS |
| help |
| Perform factory reset of the device if the operational key for Fabric has not been migrated |
| properly to PSA ITS storage. |
| |
| config CHIP_PERSISTENT_SUBSCRIPTIONS |
| default n |
| # selecting experimental for this feature since there is an issue with multiple controllers. |
| select EXPERIMENTAL |
| |
| config CHIP_ENABLE_BDX_LOG_TRANSFER |
| bool "Enable BDX transfer for diagnostic logs" |
| help |
| Enables the BDX protocol for diagnostics log transfer purposes. |
| |
| endif # CHIP |