blob: f2e57500347bb32f56025db36f19610c7bfdc155 [file]
#
# Copyright (c) 2024-2025 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 SOC_FAMILY_NXP_RW
if CHIP
rsource "Kconfig.features"
# See config/common/cmake/Kconfig for full definition
config CHIP_DEVICE_VENDOR_NAME
default "NXP Semiconductors"
config CHIP_ZEPHYR_USE_POSIX_DEFAULT_SOURCE
default n
config CHIP_OPERATIONAL_TIME_SAVE_INTERVAL
default 1
config CHIP_ENABLE_WIFI_STATION
default y if CHIP_WIFI
config CHIP_SYSTEM_THREAD_LOCAL_STORAGE
default n
config CHIP_SYSTEM_USE_ZEPHYR_SOCKET_EXTENSIONS
default n
config CHIP_TASK_PRIORITY
default 5
config MAX_EVENT_QUEUE_SIZE
default 64
config CHIP_MRP_LOCAL_ACTIVE_RETRY_INTERVAL
default 800 if NET_L2_OPENTHREAD
default 2000
config CHIP_MRP_LOCAL_IDLE_RETRY_INTERVAL
default 800 if NET_L2_OPENTHREAD
default 2000
config CHIP_INET_ENABLE_TCP_ENDPOINT
default n
config CHIP_ENABLE_READ_CLIENT
default y
config CHIP_BUILD_NL_FAULT_INJECTION
default n if CHIP_BUILD_TESTS
if CHIP_FACTORY_DATA
config CHIP_DEVICE_VENDOR_ID
default 4151 # 0x1037
config CHIP_DEVICE_MANUFACTURING_DATE
default "2023-01-01"
config CHIP_DEVICE_PRODUCT_ID
default 41510 if SOC_SERIES_RW6XX
endif # CHIP_FACTORY_DATA
config CHIP_MALLOC_SYS_HEAP
default y if !ARCH_POSIX
# See config/zephyr/Kconfig for full definition
config CHIP_FACTORY_RESET_ERASE_SETTINGS
bool
default y
config CHIP_OTA_REQUESTOR
bool
select BOOTLOADER_MCUBOOT
config BOOTLOADER_MCUBOOT
bool
select IMG_MANAGER
select STREAM_FLASH
select STREAM_FLASH_ERASE
config NET_L2_OPENTHREAD
default n
config LOG
default y
if LOG
choice LOG_MODE
default LOG_MODE_MINIMAL if !NET_L2_OPENTHREAD
default LOG_MODE_DEFERRED
endchoice
if LOG_MODE_DEFERRED
config LOG_BACKEND_UART
default y
config SHELL_LOG_BACKEND
default n
endif # LOG_MODE_DEFERRED
config LOG_BUFFER_SIZE
default 6144 if NET_L2_OPENTHREAD
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 PRINTK_SYNC
default y
config ASSERT
default y
config ASSERT_NO_COND_INFO
default y
config ASSERT_NO_MSG_INFO
default y
config HW_STACK_PROTECTION
default y
config FPU
default y
config SHELL
default y
config PTHREAD_IPC
bool
default n
config POSIX_MAX_FDS
int
default 8
# Application stack size
config MAIN_STACK_SIZE
default 6144 if NET_L2_OPENTHREAD
default 3072
config INIT_STACKS
default y
config NET_MGMT_EVENT_STACK_SIZE
default 1024
config NET_MGMT_EVENT_QUEUE_SIZE
default 20
config NET_IPV6_MLD
default y
config NET_IF_MCAST_IPV6_ADDR_COUNT
default 14
config NET_IF_MAX_IPV4_COUNT
default 2
config NET_IF_MAX_IPV6_COUNT
default 2
config NET_TC_TX_COUNT
default 1
config NET_TC_RX_COUNT
default 1
config NET_TC_THREAD_PRIO_CUSTOM
default y
choice NET_TC_THREAD_TYPE
default NET_TC_THREAD_PREEMPTIVE
endchoice
config NET_TCP_WORKER_PRIO
default -16
config NET_TC_TX_THREAD_BASE_PRIO
default 3
config NET_TC_RX_THREAD_BASE_PRIO
default 3
config NET_TC_TX_SKIP_FOR_HIGH_PRIO
default y
config NET_CONTEXT_PRIORITY
default y
# Network buffers
config NET_PKT_RX_COUNT
default 14
config NET_PKT_TX_COUNT
default 14
config NET_BUF_RX_COUNT
default 36
config NET_BUF_TX_COUNT
default 36
config NET_BUF_DATA_SIZE
default 256
if NET_L2_OPENTHREAD
config HDLC_RCP_IF
default y if SOC_FAMILY_NXP_RW
config OPENTHREAD_THREAD_STACK_SIZE
default 6144
# Use the platform-provided heap
config OPENTHREAD_EXTERNAL_HEAP
default y
# Enable ping sender feature
config OPENTHREAD_PING_SENDER
default y
# Enable SLAAC feature for IPv6 address auto-configuration
config OPENTHREAD_SLAAC
default y
# Increase number of message buffers in the buffer pool
config OPENTHREAD_NUM_MESSAGE_BUFFERS
default 256
# Enable IPv6 fragmentation support
config OPENTHREAD_IP6_FRAGM
default y
if OPENTHREAD_DEBUG
choice OPENTHREAD_LOG_LEVEL_CHOICE
default OPENTHREAD_LOG_LEVEL_DEBG
endchoice
endif # OPENTHREAD_DEBUG
# Zephyr auto-starts OpenThread by default (creates a default network,
# and attaches as a Leader). This causes Matter commissioning to start
# from an already-attached state, triggering a costly re-attach
# (~28s delay). Enabling manual start forces OT to begin in a detached
# state and lets Matter control bring-up, reducing OT join time to ~3s.
config OPENTHREAD_MANUAL_START
default y
choice OPENTHREAD_STACK_VERSION
default OPENTHREAD_THREAD_VERSION_1_4
endchoice
config OPENTHREAD_PARENT_SEARCH
default y
if OPENTHREAD_PARENT_SEARCH
config OPENTHREAD_PARENT_SEARCH_RSS_THRESHOLD
default -45
endif # OPENTHREAD_PARENT_SEARCH
config OPENTHREAD_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH
default y
config CHIP_USE_OT_ENDPOINT
default y
endif # NET_L2_OPENTHREAD
# Bluetooth Low Energy configs
config BT
default y
config BT_PERIPHERAL
default y
config BT_CENTRAL
default n
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 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 2560 if NET_L2_OPENTHREAD
default 2048 if NO_OPTIMIZATIONS && DEBUG
default 1700
config BT_LONG_WQ_STACK_SIZE
default 2560
config BT_DEVICE_NAME_GATT_WRITABLE
bool
default n
config HCI_NXP_ENABLE_AUTO_SLEEP
default n
config CHIP_OTA_REQUESTOR
default n
if CHIP_OTA_REQUESTOR
config CHIP_OTA_REQUESTOR_BUFFER_SIZE
default 256
endif # CHIP_OTA_REQUESTOR
config CHIP_DEVICE_SOFTWARE_VERSION
default 1
# Enable extended discovery
config CHIP_EXTENDED_DISCOVERY
default y
config NVS_LOOKUP_CACHE
default y
config NVS_LOOKUP_CACHE_SIZE
default 1024
if CHIP_WIFI
choice NXP_WIFI_PART
default NXP_RW610 if SOC_SERIES_RW6XX
endchoice
# Disable unnecessary features to save code size
# Saves 365kB of flash
config NXP_WIFI_SOFTAP_SUPPORT
default n
# Saves 61kB of flash
config NXP_WIFI_CSI
default n
# Saves 45kB of flash
config WIFI_NM_WPA_SUPPLICANT_ADVANCED_FEATURES
default n
config NXP_WIFI_MON_TASK_STACK_SIZE
default 1024
config NXP_WIFI_WLCMGR_TASK_STACK_SIZE
default 2048
config NXP_WIFI_TX_TASK_STACK_SIZE
default 1024
config NXP_WIFI_SCAN_TASK_STACK_SIZE
default 1024
config ZVFS_OPEN_MAX
default 30
choice SCHED_ALGORITHM
default SCHED_MULTIQ
endchoice
config WIFI_NM_MAX_MANAGED_INTERFACES
default 2
config WIFI_NM_WPA_SUPPLICANT_WQ_PRIO
default 3
config WIFI_NM_WPA_SUPPLICANT_PRIO
default 3
choice WIFI_NM_WPA_SUPPLICANT_LOG_LEVEL_CHOICE
default WIFI_NM_WPA_SUPPLICANT_LOG_LEVEL_INF
endchoice
choice WIFI_NM_WPA_SUPPLICANT_CRYPTO_BACKEND
default WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT
endchoice
config WIFI_NM_WPA_SUPPLICANT_THREAD_STACK_SIZE
default 6144
config WIFI_NM_WPA_SUPPLICANT_WQ_STACK_SIZE
default 5120
config WIFI_NM_WPA_SUPPLICANT_INF_MON
default n
config NET_TCP_WORKQ_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_POLL_MAX
default 14
config NET_IPV4_FRAGMENT_MAX_COUNT
default 3
config NET_IPV4_FRAGMENT_MAX_PKT
default 7
config NET_IPV4_FRAGMENT_TIMEOUT
default 3
config NET_IPV6_FRAGMENT_MAX_COUNT
default 3
config NET_IPV6_FRAGMENT_MAX_PKT
default 8
config NET_IPV6_FRAGMENT_TIMEOUT
default 3
# options managed by IP4/IP6 simultaneous support
# aligned here to match OpenThread config
config NET_MAX_ROUTERS
default 1
config NET_MAX_CONN
default 10
config ETH_DRIVER
default n
endif
config SHELL_STACK_SIZE
default 2048 if OPENTHREAD_LOG_LEVEL_DEBG
default 1536
config LOG_PROCESS_THREAD_STACK_SIZE
default 1536
config HEAP_MEM_POOL_SIZE
default 122880
config CHIP_MALLOC_SYS_HEAP_SIZE
default 28672 # 28 kB
config SYSTEM_WORKQUEUE_STACK_SIZE
default 3072 if NET_L2_OPENTHREAD
default 2048 if CHIP_WIFI
choice LIBC_IMPLEMENTATION
default NEWLIB_LIBC
endchoice
if CHIP_ETHERNET
config NET_SOCKETS_POLL_MAX
default 7
endif
# Configure MBEDTLS lib
config MBEDTLS
default y
config MBEDTLS_PSA_KEY_SLOT_COUNT
default 64
config MBEDTLS_USER_CONFIG_ENABLE
default n
config MBEDTLS_ENTROPY_C
default y
config MBEDTLS_ENTROPY_POLL_ZEPHYR
default y
config MBEDTLS_SSL_MAX_CONTENT_LEN
default 8192
config MBEDTLS_ENABLE_HEAP
default y
config MBEDTLS_HEAP_SIZE
default 15360
config MBEDTLS_CIPHER_AES_ENABLED
default y
config MBEDTLS_CIPHER_CCM_ENABLED
default y
config MBEDTLS_CTR_DRBG_C
default y
config MBEDTLS_CIPHER_MODE_CBC_ENABLED
default y
config MBEDTLS_ECP_C
default y
config MBEDTLS_ECP_DP_SECP256R1_ENABLED
default y
config MBEDTLS_HKDF_C
default y
choice CHIP_CRYPTO
default CHIP_CRYPTO_PSA
endchoice
config WIFI_NM_WPA_SUPPLICANT_CRYPTO_MBEDTLS_PSA
default y if WIFI_NM_WPA_SUPPLICANT && CHIP_CRYPTO_PSA
config ENTROPY_GENERATOR
default y if MCUX_ELS_PKC
if SHELL
config SHELL_MINIMAL
default y
config SHELL_HELP
default y
config KERNEL_SHELL
default y
config REBOOT
default y
# Disable not used shell modules
config DEVICE_SHELL
default n
config SHELL_WILDCARD
default n
config SHELL_VT100_COLORS
default n
config SHELL_STATS
default n
config SENSOR_SHELL
default n
config DATE_SHELL
default n
config DEVMEM_SHELL
default n
config MCUBOOT_SHELL
default n
config FLASH_SHELL
default n
endif # SHELL
choice POSIX_AEP_CHOICE
prompt "POSIX Subprofile"
default POSIX_AEP_CHOICE_NONE
endchoice
endif # CHIP
endif # SOC_FAMILY_NXP_RW