blob: d28d77d6cffd32183d5b5156121d8592aaf90a07 [file] [log] [blame]
#
# 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.
#
# The purpose of this file is to define new default values of settings used when building Matter samples.
# This file only changes defaults and thus all symbols here must be promptless
# and safeguarded so that they only are applied when building Matter.
if CHIP
config CHIP_PROJECT_CONFIG
string "Project configuration file for Matter"
default "include/CHIPProjectConfig.h"
config LOG
default y
if LOG
choice LOG_MODE
default LOG_MODE_MINIMAL
endchoice
choice MATTER_LOG_LEVEL_CHOICE
default MATTER_LOG_LEVEL_DBG
endchoice
config CHIP_APP_LOG_LEVEL
default 4 # debug
config LOG_DEFAULT_LEVEL
default 1 # error
config CHIP_LOG_SIZE_OPTIMIZATION
default y
endif
config SHELL
default y if CHIP_LIB_SHELL
config PTHREAD_IPC
bool
default n
config POSIX_MAX_FDS
int
default 16
# Application stack size
config MAIN_STACK_SIZE
default 3240 if PM
default 4096
config INIT_STACKS
default y
config IDLE_STACK_SIZE
default 512 if PM
config ISR_STACK_SIZE
default 502 if PM
config SYSTEM_WORKQUEUE_STACK_SIZE
default 616 if PM
config HEAP_MEM_POOL_SIZE
default 256
config COMMON_LIBC_MALLOC_ARENA_SIZE
default 12288
config NET_IPV6_MLD
default n if PM
default y
config NET_IF_MCAST_IPV6_ADDR_COUNT
default 8 if PM
default 15
# Network buffers
config NET_PKT_RX_COUNT
default 4 if PM
default 8
config NET_PKT_TX_COUNT
default 4 if PM
default 8
config NET_BUF_RX_COUNT
default 16 if PM
default 32
config NET_BUF_TX_COUNT
default 16 if PM
default 32
config GPIO
default y
# Bluetooth Low Energy configs
config BT
default y
if BT
config BT_PERIPHERAL
default y
config BT_GATT_DYNAMIC_DB
default y
config BT_DEVICE_NAME_DYNAMIC
default y
config BT_DEVICE_NAME_MAX
default 15
config BT_MAX_CONN
default 1
config BT_L2CAP_TX_MTU
default 247
config BT_BUF_ACL_RX_SIZE
default 251
config BT_BUF_ACL_TX_SIZE
default 251
config BT_RX_STACK_SIZE
default 1352 if BT_B9X
default 2048 if BT_W91
config BT_HCI_TX_STACK_SIZE
default 640 if BT_B9X
default 2048 if BT_W91
config BT_DEVICE_NAME_GATT_WRITABLE
bool
default n
config B9X_BLE_CTRL_THREAD_STACK_SIZE
default 576
config B9X_BLE_CTRL_MASTER_MAX_NUM
default 0
config B9X_BLE_CTRL_SLAVE_MAX_NUM
default 1
config B9X_BLE_CTRL_RF_POWER
default 3 if PM
default 9
choice B9X_BLE_CTRL_MAC_TYPE
default B9X_BLE_CTRL_MAC_TYPE_RANDOM_STATIC
endchoice
endif
# Board retention config
if BOARD_TLSR9528A_RETENTION || BOARD_TLSR9258A_RETENTION || BOARD_TLSR9518ADK80D_RETENTION
config SOC_SERIES_RISCV_TELINK_B9X_NON_RETENTION_RAM_CODE
default y if PM
config TELINK_B9X_MATTER_RETENTION_LAYOUT
default y if PM
config PWM
default n
endif
# Board non-retention config
if BOARD_TLSR9118BDK40D || BOARD_TLSR9118BDK40D_V1 || \
BOARD_TLSR9528A || BOARD_TLSR9258A || BOARD_TLSR9518ADK80D
config PWM
default y
endif
# Config dynamic interrupts to have posibility to switch between BLE/Thread radio drivers
config DYNAMIC_INTERRUPTS
default y
config CHIP_OTA_REQUESTOR
default y
config MCUBOOT_SIGNATURE_KEY_FILE
default "bootloader/mcuboot/root-ec-p256.pem" if BOARD_TLSR9118BDK40D
depends on BOOTLOADER_MCUBOOT
# In current config/zephyr/Kconfig
# next deprecated values are selected
# warning: Deprecated symbol CPLUSPLUS is enabled.
# warning: Deprecated symbol LIB_CPLUSPLUS is enabled.
# new one are:
# CONFIG_CPP
# CONFIG_LIBCPP_IMPLEMENTATION
# See https://docs.zephyrproject.org/latest/releases/release-notes-3.3.html
# Since not only Telink is using Zephyr just suppress warnings
config WARN_DEPRECATED
default n
# Reboot system when fault happened
config TELINK_SOC_REBOOT_ON_FAULT
default y
config NVS_LOOKUP_CACHE
default y
config NVS_LOOKUP_CACHE_SIZE
default 2048 if !PM
# Set multiplicator of Name Value Storage (NVS) as 1 to reach NVS sector size 4KB
# nvs_sector_size = flash_page_size * mult = 4KB * 1 = 4KB
config SETTINGS_NVS_SECTOR_SIZE_MULT
default 1
# Enable OpenThread
config NET_L2_OPENTHREAD
default y if !WIFI
if NET_L2_OPENTHREAD
config CHIP_OPENTHREAD_CONFIG
string "Custom OpenThread configuration file"
default "../../platform/telink/project_include/OpenThreadConfig.h"
choice CHIP_THREAD_DEVICE_ROLE
prompt "Thread network device role"
default CHIP_THREAD_DEVICE_ROLE_ROUTER
config CHIP_THREAD_DEVICE_ROLE_ROUTER
depends on !PM
bool "thread device router"
config CHIP_THREAD_DEVICE_ROLE_END_DEVICE
depends on !PM
bool "thread end device"
config CHIP_THREAD_DEVICE_ROLE_SLEEPY_END_DEVICE
bool "thread sleepy end device"
endchoice
choice OPENTHREAD_DEVICE_TYPE
default OPENTHREAD_FTD if CHIP_THREAD_DEVICE_ROLE_ROUTER
default OPENTHREAD_MTD if CHIP_THREAD_DEVICE_ROLE_END_DEVICE || CHIP_THREAD_DEVICE_ROLE_SLEEPY_END_DEVICE
endchoice
config CHIP_ENABLE_ICD_SUPPORT
default y if CHIP_THREAD_DEVICE_ROLE_SLEEPY_END_DEVICE
config OPENTHREAD_THREAD_STACK_SIZE
default 2178 if PM
config OPENTHREAD_RADIO_WORKQUEUE_STACK_SIZE
default 361 if PM
default 608
config OPENTHREAD_SLAAC
default y
config OPENTHREAD_MANUAL_START
default y
config OPENTHREAD_DEFAULT_TX_POWER
default 3 if PM
default 9
config OPENTHREAD_IP6_MAX_EXT_MCAST_ADDRS
default 2 if PM
default 8
endif # NET_L2_OPENTHREAD
config NET_TX_STACK_SIZE
default 554 if PM
config NET_RX_STACK_SIZE
default 554 if PM
# Disable certain parts of Zephyr IPv6 stack
config NET_IPV6_NBR_CACHE
bool
default n
config NET_MAX_CONN
default 1 if !WIFI
config NET_MAX_CONTEXTS
default 1 if !WIFI
config NET_CONFIG_INIT_TIMEOUT
default 0
config CHIP_WIFI
bool "Enable Telink Wi-Fi support"
default y if BOARD_TLSR9118BDK40D || BOARD_TLSR9118BDK40D_V1
select WIFI_W91
select WIFI
select NET_STATISTICS
select NET_IPV6_ND # enable Neighbor Discovery to handle Router Advertisements
select NET_IPV6_NBR_CACHE
select NET_STATISTICS_USER_API
if CHIP_WIFI
config DEFAULT_WIFI_SSID
string "Default WiFi SSID"
depends on CHIP_WIFI
default ""
help
The SSID of network to connect to if no WiFi station configuration exists in NV storage
at the time the device boots.
This option is for testing only and should be disabled in production releases
config DEFAULT_WIFI_PASSWORD
string "Default WiFi Password"
depends on CHIP_WIFI
default ""
help
The password for the default WiFi network.
This option is for testing only and should be disabled in production releases.
config CHIP_WIFI_CONNECTION_RECOVERY_MINIMUM_INTERVAL
int "Define the minimum connection recovery time interval in milliseconds"
depends on CHIP_WIFI
default 500
help
Specifies the minimum connection recovery interval (in milliseconds).
config CHIP_WIFI_CONNECTION_RECOVERY_MAXIMUM_INTERVAL
int "Define the maximum connection recovery time interval in milliseconds"
depends on CHIP_WIFI
default 3600000 # 1 hour
help
Specifies the maximum connection recovery interval (in milliseconds).
config CHIP_WIFI_CONNECTION_RECOVERY_MAX_RETRIES_NUMBER
int "Define the maximum amount of connection recovery occurrences"
depends on CHIP_WIFI
default 0
help
Specifies the maximum number of connection recovery attempts.
If set to 0, no limitation is applied and attempts
to recover the connection are performed indefinitely.
config CHIP_WIFI_CONNECTION_RECOVERY_JITTER
int "Define the connection recovery jitter in milliseconds"
depends on CHIP_WIFI
default 2000
help
Specifies the maximum connection recovery jitter interval (in milliseconds).
Once the wait time reaches the current maximum value (defined by CHIP_WIFI_CONNECTION_RECOVERY_MAXIMUM_INTERVAL),
a random jitter interval is added to it to avoid periodicity. The random jitter is selected
within range [-JITTER; +JITTER].
endif # CHIP_WIFI
config CHIP_ENABLE_PAIRING_AUTOSTART
bool "Open commissioning window on boot"
default y
help
Opens the commissioning window automatically at application boot time if
the node is not yet commissioned.
# Configure MBEDTLS lib
config MBEDTLS
default y
config MBEDTLS_USER_CONFIG_ENABLE
default y
config MBEDTLS_USER_CONFIG_FILE
default "telink-mbedtls-config.h"
config MBEDTLS_CIPHER_CCM_ENABLED
default y
config MBEDTLS_PK_WRITE_C
default y
config MBEDTLS_ECP_C
default y
config MBEDTLS_ECP_DP_SECP256R1_ENABLED
default y
config MBEDTLS_ECDH_C
default y
config MBEDTLS_ECDSA_C
default y
# getopt version
config GETOPT_LONG
default y
# Disable not used shell modules
config SHELL_WILDCARD
default n
config SHELL_VT100_COLORS
default n
config SHELL_STATS
default n
config KERNEL_SHELL
default n
config SENSOR_SHELL
default n
config DEVICE_SHELL
default n
config DATE_SHELL
default n
config DEVMEM_SHELL
default n
config MCUBOOT_SHELL
default n
config FLASH_SHELL
default n
config HWINFO_SHELL
default n
config PWM_SHELL
default n
config OPENTHREAD_SHELL
default n
config CHIP_TASK_STACK_SIZE
default 4864 if PM
endif