blob: 2fd4f45de4b60ceb558ad2e1e112ca78fccfe1c2 [file] [log] [blame]
#
# 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