blob: ff51f17b19bad76ab4981ddf2512350c32e441c0 [file]
#
# Copyright (c) 2023-2024 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"
if CHIP
config CHIP_TELINK_PLATFORM
bool
default y
help
States that the configuration uses Matter Telink platform,
what can be used to conditionally deviate from Zephyr generic configuration
for Telink platform related purposes.
# See config/zephyr/Kconfig for full definition
config CHIP_DEVICE_VENDOR_NAME
default "Telink Semiconductor"
# See config/common/cmake/Kconfig for full definition
config CHIP_NFC_ONBOARDING_PAYLOAD
default n
imply I2C
imply ST25DVXXKC
imply NFC
# See config/zephyr/Kconfig for full definition
config CHIP_OTA_REQUESTOR
bool
select BOOTLOADER_MCUBOOT
config BOOTLOADER_MCUBOOT
bool
select IMG_MANAGER
select STREAM_FLASH
select STREAM_FLASH_ERASE
select TELINK_W91_N22_MATTER_OTA_LAYOUT if BOARD_TLSR9118BDK40D || BOARD_TLSR9118BDK40D_V1
# See config/zephyr/Kconfig for full definition
config CHIP_OTA_IMAGE_BUILD
bool
default y if CHIP_OTA_REQUESTOR
config SIGNED_OTA_IMAGE_FILE_NAME
string "Zephyr signed image file name"
default "zephyr.signed.lzma.signed.bin" if COMPRESS_LZMA
default "zephyr.signed.bin"
depends on BOOTLOADER_MCUBOOT
help
Provides the file name of the generated Zephyr signed image.
config TELINK_OTA_BUTTON_TEST
bool "Enable image update initiation via button press"
default n
depends on CHIP_OTA_REQUESTOR
help
Merge the signed binary with the same version as the main into slot-1 of merged.hex.
Pressing the button initiates a forced image update.
config CHIP_DFU_OVER_BT_SMP
bool "Enable DFU over Bluetooth LE SMP feature set"
select BOOTLOADER_MCUBOOT
select MCUMGR
select MCUMGR_TRANSPORT_BT
select ZCBOR
select MCUMGR_GRP_IMG
select MCUMGR_GRP_OS
select MCUMGR_GRP_ZBASIC
select MCUMGR_GRP_ZBASIC_STORAGE_ERASE
select MCUMGR_TRANSPORT_BT_REASSEMBLY
select MCUMGR_MGMT_NOTIFICATION_HOOKS
select MCUMGR_GRP_IMG_UPLOAD_CHECK_HOOK
select MCUMGR_GRP_IMG_STATUS_HOOKS
help
Enables Device Firmware Upgrade over Bluetooth LE with SMP and configures
the set of options related to that feature.
config CHIP_DFU_OVER_BT_SMP_BUILD
bool "Enable DFU over BT SMP image building"
depends on CHIP_DFU_OVER_BT_SMP
default n
config TELINK_OTA_PARTITION_ADDR
hex "image-1 partition address"
default $(dt_node_reg_addr_hex,$(dt_nodelabel_path,slot1_partition),0)
depends on TELINK_OTA_BUTTON_TEST
config CHIP_ROTATING_DEVICE_ID
bool "Generate rotating device ID"
default n
help
Enables the rotating device identifier that provides a non-trackable
identifier. The identifier is unique per device and rotates at pre-defined
moments.
config CHIP_FACTORY_DATA
bool "Enable Factory Data support"
select ZCBOR
help
Enables support for reading factory data from flash memory partition.
It requires factory_data partition to exist.
config CHIP_FACTORY_DATA_CUSTOM_BACKEND
bool "Enable Factory Data custom backend"
depends on !CHIP_FACTORY_DATA
help
Enables user custom factory data implementation. It cannot be used
with the CHIP_FACTORY_DATA that enabled default Telink factory data
implementation.
config CHIP_FACTORY_DATA_BUILD
bool "Enable Factory Data build"
default n
help
Enables generation of factory data during the building.
It requires factory_data partition to exist.
As a result a new output file factory_data.bin will be created.
config CHIP_FACTORY_DATA_VERSION
int
default 1
help
The Factory data version contains a current version of a factory data
parameter set that the user cannot change.
After moving to the next version of the factory data set, change the default value.
This config is used to validate the version of a factory data set on a device-side
with the version of factory data saved in the Flash memory.
if CHIP_FACTORY_DATA_BUILD
# Factory data definitions
config CHIP_FACTORY_DATA_MERGE_WITH_FIRMWARE
bool "Enable merging generated factory data with the build target .bin file"
default y
help
Enables merging generated factory data with the build target zephyr.bin file.
As a result, output file merged.bin will consist of all partitions including
factory data.
config TELINK_FACTORY_DATA_PARTITION_ADDR
hex "factory-data partition address"
default $(dt_node_reg_addr_hex,$(dt_nodelabel_path,factory_partition),0)
depends on CHIP_FACTORY_DATA_MERGE_WITH_FIRMWARE
# Use default certificates without generating or providing them
config CHIP_FACTORY_DATA_USE_DEFAULT_CERTS
bool "Use default certificates located in Matter repository"
default y
help
Pre-generated certificates can be used for development purpose.
This config includes default pre-generated certificates
which are located in credentials/development/attestation/ directory
instead of generating new ones.
If this config is set to `n` new certificates will be generated.
# Configs for SPAKE2 generation
config CHIP_FACTORY_DATA_GENERATE_SPAKE2_VERIFIER
bool "Enable spake2 verifier generation"
help
Enables generation of spake2 verifier according to
given iteration counter, salt and passcode.
To generate Spake2 verifier a spake2p executable must be available
from system variables environment.
config CHIP_DEVICE_GENERATE_ROTATING_DEVICE_UID
bool "Enable generation of a new Rotating device id unique id"
default y
help
Enables generation of a new Rotating device id unique id.
endif #CHIP_FACTORY_DATA_BUILD
# See config/zephyr/Kconfig for full definition
config CHIP_FACTORY_RESET_ERASE_SETTINGS
bool
default n
endif
config CHIP_BUTTON_MANAGER_IRQ_MODE
bool "Use GPIO in an IRQ mode instead of polling the GPIO"
default y if BOARD_TLSR9118BDK40D
default PM
help
Use GPIO in an IRQ mode to avoid button polling loop and extend the battery lifetime by waking up by GPIO event.
GPIO events are working only with GPIO IRQ. This option changes button matrix configuration.
config CHIP_ENABLE_APPLICATION_STATUS_LED
bool "Enable application status LED"
default !(PM)
help
Enable application status LED.
config CHIP_ENABLE_PM_DURING_BLE
bool "Enable PM during BLE operation"
default n if SOC_RISCV_TELINK_W91
default PM
help
Enable PM during BLE operation.
config SHELL_BACKEND_SERIAL_RX_RING_BUFFER_SIZE
default 255 if SHELL_BACKEND_SERIAL
config CHIP_ENABLE_POWER_ON_FACTORY_RESET
bool "Enable power on factory reset sequence"
default n
help
Enable power on factory reset sequence. If device power triggered off during
first 5 seconds after power on and this sequence repeated 5 times - factory
reset will be involved.
config CHIP_TASK_STACK_SIZE
int
default 6328 if PM && !SOC_RISCV_TELINK_W91
default 8448
config CHIP_USE_MARS_SENSOR
bool "Use Mars board sensor"
depends on SOC_RISCV_TELINK_B9X && (BOARD_TLSR9518ADK80D || BOARD_TLSR9518ADK80D_RETENTION)
default n
config CHIP_PERSISTENT_SUBSCRIPTIONS
default n if BOARD_TL3218X_RETENTION
default y
# selecting experimental for this feature since there is an issue with multiple controllers.
select EXPERIMENTAL
config CHIP_MAX_FABRICS
int "Maximum number of Matter fabrics"
default 3 if BOARD_TL3218X_RETENTION
default 5
help
The maximum number of Matter fabrics that device can be joined to.
if CHIP_PERSISTENT_SUBSCRIPTIONS
config CHIP_MAX_ACTIVE_CASE_CLIENTS
int "Maximum number of outgoing CASE sessions"
default CHIP_MAX_FABRICS
help
The maximum number of outgoing CASE sessions that can be simultaneously handled by the end device.
config CHIP_MAX_ACTIVE_DEVICES
int "Maximum number of simultaneous connections over CASE"
default CHIP_MAX_FABRICS
help
The maximum number of devices to which the Server implementers will be able to
concurrently connect over CASE and interact with.
config CHIP_SUBSCRIPTION_RESUMPTION_MIN_RETRY_INTERVAL
int "Minimum subscription resumption interval in seconds"
default 20
depends on CHIP_PERSISTENT_SUBSCRIPTIONS
help
The minimum interval in seconds before resuming a subscription that timed out.
config CHIP_SUBSCRIPTION_RESUMPTION_RETRY_MULTIPLIER
int "The multiplier for subscription resumption retry in seconds"
default 40
depends on CHIP_PERSISTENT_SUBSCRIPTIONS
help
The multiplier per subscription resumption retry attempt that is multiplied by the index of Fibonacci sequence
and added to CHIP_SUBSCRIPTION_RESUMPTION_MIN_RETRY_INTERVAL to obtain final wait time for next retry.
endif
config TFLM_FEATURE
bool "Enable the TFLM micro speech feature"
default n