blob: 5303d8b2b9940b06eb11e12dab1ba05f6c1066cd [file] [log] [blame]
#
# Copyright (c) 2022 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 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 LOG_DEFAULT_LEVEL
default 2
config CHIP_LOG_SIZE_OPTIMIZATION
default y
endif
config PRINTK_SYNC
default y
config ASSERT
default y
config HW_STACK_PROTECTION
default y
config FPU
default y
config SHELL
default y
config PTHREAD_IPC
bool
default n
# Generic networking options
config NET_SOCKETS_POSIX_NAMES
default n
# Application stack size
config MAIN_STACK_SIZE
default 8192
config INIT_STACKS
default y
config NET_IPV6_MLD
default y
config NET_IF_MCAST_IPV6_ADDR_COUNT
default 14
# Network buffers
config NET_PKT_RX_COUNT
default 16
config NET_PKT_TX_COUNT
default 16
config NET_BUF_RX_COUNT
default 80
config NET_BUF_TX_COUNT
default 80
# Bluetooth Low Energy configs
config BT
default y
config BT_PERIPHERAL
default y
config BT_PERIPHERAL_PREF_MIN_INT
default 36
config BT_PERIPHERAL_PREF_MAX_INT
default 36
# Increase BT timeout to 5 s to improve connection reliability and avoid fast drop outs.
config BT_PERIPHERAL_PREF_TIMEOUT
default 500
config BT_GAP_AUTO_UPDATE_CONN_PARAMS
default y
# Decrease connection parameters update time, as some Matter controllers request
# enabling IP networking faster than BT connection parameters are updated, what may result
# in commissioning instabilities.
config BT_CONN_PARAM_UPDATE_TIMEOUT
default 1000
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 2 # a workaround for non-unreferenced BLE connection object
# when restaring the BLE advertising in disconnect callback
# TODO: analyze and revert to 1 if proper fix exists
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 1200
config BT_CTLR_ECDH
bool
default n
config BT_CTLR_LE_ENC
bool
default n
config BT_DEVICE_NAME_GATT_WRITABLE
bool
default n
# Enable NFC support
config CHIP_NFC_COMMISSIONING
default y
config CHIP_OTA_REQUESTOR
default y
# All boards besides nRF7002DK use QSPI NOR external flash
if BOARD_NRF5340DK_NRF5340_CPUAPP || BOARD_NRF52840DK_NRF52840
config CHIP_QSPI_NOR
default y
endif # BOARD_NRF5340DK_NRF5340_CPUAPP || BOARD_NRF52840DK_NRF52840
# nRF7002DK uses SPI NOR external flash
if BOARD_NRF7002DK_NRF5340_CPUAPP
config CHIP_SPI_NOR
default y
endif # BOARD_NRF7002DK_NRF5340_CPUAPP
# Enable extended discovery
config CHIP_EXTENDED_DISCOVERY
default y
config NVS_LOOKUP_CACHE
default y
config NVS_LOOKUP_CACHE_SIZE
default 512
# Enable OpenThread
config NET_L2_OPENTHREAD
default y if !WIFI_NRF700X
if NET_L2_OPENTHREAD
# Disable certain parts of Zephyr IPv6 stack
config NET_IPV6_NBR_CACHE
bool
default n
# Increase the default RX stack size
config IEEE802154_NRF5_RX_STACK_SIZE
default 1024
endif
if CHIP_WIFI
config NRF_WIFI_LOW_POWER
default n
config MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
default n
config SYSTEM_WORKQUEUE_STACK_SIZE
default 2048
# align these numbers to match the OpenThread config
config NET_IF_UNICAST_IPV6_ADDR_COUNT
default 6
config NET_IF_MCAST_IPV6_ADDR_COUNT
default 8
config NET_SOCKETS_POSIX_NAMES
default n
config MBEDTLS_SSL_OUT_CONTENT_LEN
default 900
# options managed by IP4/IP6 simultaneous support
# aligned here to match OpenThread config
config NET_MAX_ROUTERS
default 1
config NET_MAX_CONN
default 4
config SHELL_STACK_SIZE
default 2616
config HEAP_MEM_POOL_SIZE
default 200000
endif
# Enable mbedTLS from nrf_security library
choice OPENTHREAD_SECURITY
default OPENTHREAD_NRF_SECURITY_CHOICE
endchoice
config PSA_CRYPTO_DRIVER_CC3XX
default n
config OBERON_BACKEND
default y
config MBEDTLS_ENABLE_HEAP
default y
config MBEDTLS_HEAP_SIZE
default 15360
config MBEDTLS_TLS_LIBRARY
default y
config NRF_SECURITY_ADVANCED
default y
config MBEDTLS_AES_C
default y
config MBEDTLS_ECP_C
default y
config MBEDTLS_ECP_DP_SECP256R1_ENABLED
default y
config MBEDTLS_CTR_DRBG_C
default y
config MBEDTLS_CIPHER_MODE_CTR
default y
config MBEDTLS_ECJPAKE_C
default y
config MBEDTLS_SHA256_C
default y
config MBEDTLS_PK_C
default y
config MBEDTLS_PK_WRITE_C
default y
config MBEDTLS_X509_CREATE_C
default y if !CHIP_CRYPTO_PSA
config MBEDTLS_X509_CSR_WRITE_C
default y if !CHIP_CRYPTO_PSA
# Disable unneeded crypto operations
config MBEDTLS_SHA384_C
default n
config MBEDTLS_SHA512_C
default n
config MBEDTLS_CIPHER_MODE_XTS
default n
config MBEDTLS_CHACHA20_C
default n
config MBEDTLS_POLY1305_C
default n
config MBEDTLS_CHACHAPOLY_C
default n
config MBEDTLS_GCM_C
default n
config MBEDTLS_RSA_C
default n
config PSA_WANT_KEY_TYPE_CHACHA20
default n
config PSA_WANT_ALG_GCM
default n
config PSA_WANT_ALG_CHACHA20_POLY1305
default n
config PSA_WANT_ALG_SHA_1
default n
config PSA_WANT_ALG_SHA_224
default n
config PSA_WANT_ALG_SHA_384
default n
config PSA_WANT_ALG_SHA_512
default n
config PSA_WANT_ALG_RIPEMD160
default n
config PSA_WANT_ALG_MD5
default n
config PSA_WANT_ALG_CFB
default n
config PSA_WANT_ALG_OFB
default n
# Disable not used shell modules
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 CLOCK_CONTROL_NRF_SHELL
default n
config FLASH_SHELL
default n
# SoC series related configuration
if SOC_SERIES_NRF52X
# Increase maximum data length of PDU supported in the Controller
config BT_CTLR_DATA_LENGTH_MAX
default 251
endif # SOC_SERIES_NRF52X
if SOC_SERIES_NRF53X
config UPDATEABLE_IMAGE_NUMBER
default 2
# Generate random numbers using Xoroshiro algorithm instead of direct calls
# to the cryptocell library to workaround firmware hangs.
choice RNG_GENERATOR_CHOICE
default XOROSHIRO_RANDOM_GENERATOR
endchoice
endif # SOC_SERIES_NRF53X
endif