#
#    Copyright (c) 2020 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.
#

# Application stack size
CONFIG_MAIN_STACK_SIZE=8704

# Logging configuration
CONFIG_LOG=y
CONFIG_LOG_MODE_IMMEDIATE=y

# Zephyr networking configuration
CONFIG_NET_SOCKETS_POSIX_NAMES=n
CONFIG_NET_IPV4=y
CONFIG_ETH_NATIVE_POSIX=y
CONFIG_NET_PKT_RX_COUNT=16
CONFIG_NET_PKT_TX_COUNT=16
CONFIG_NET_BUF_RX_COUNT=80
CONFIG_NET_BUF_TX_COUNT=80
CONFIG_NET_CONTEXT_NET_PKT_POOL=y
CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=6
CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT=8

# Configure settings
CONFIG_FLASH_SIMULATOR=y

# mbedTLS configuration
CONFIG_MBEDTLS=y
CONFIG_MBEDTLS_ENABLE_HEAP=y
CONFIG_MBEDTLS_HEAP_SIZE=65536
CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=768
CONFIG_MBEDTLS_USER_CONFIG_ENABLE=y
CONFIG_MBEDTLS_USER_CONFIG_FILE="app_mbedtls_config.h"
CONFIG_MBEDTLS_ZEPHYR_ENTROPY=y
CONFIG_MBEDTLS_ENTROPY_ENABLED=y
CONFIG_MBEDTLS_CTR_DRBG_ENABLED=y
CONFIG_MBEDTLS_CIPHER_CCM_ENABLED=y
CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y
CONFIG_MBEDTLS_ECDH_C=y
CONFIG_MBEDTLS_ECDSA_C=y
CONFIG_MBEDTLS_ECP_C=y
CONFIG_MBEDTLS_PK_WRITE_C=y
CONFIG_MBEDTLS_PKCS5_C=y
CONFIG_MBEDTLS_PSA_CRYPTO_C=y
CONFIG_MBEDTLS_MEMORY_DEBUG=y
CONFIG_MBEDTLS_DEBUG=y

# Enable entropy
CONFIG_ENTROPY_GENERATOR=y

# Disable OpenThread
CONFIG_NET_L2_OPENTHREAD=n

# Additional configs for debbugging experience.
CONFIG_THREAD_NAME=y
CONFIG_INIT_STACKS=y
CONFIG_REBOOT=n

# Build as C++17
CONFIG_STD_CPP17=y

# CHIP configuration
CONFIG_CHIP=y
CONFIG_CHIP_CRYPTO_PSA=y
CONFIG_CHIP_BUILD_TESTS=y
CONFIG_CHIP_ICD_LIT_SUPPORT=y
CONFIG_CHIP_ENABLE_ICD_SUPPORT=y
CONFIG_CHIP_ENABLE_READ_CLIENT=y
CONFIG_CHIP_DEVICE_VENDOR_ID=65521
CONFIG_CHIP_DEVICE_PRODUCT_ID=32768
CONFIG_CHIP_PROJECT_CONFIG="main/include/CHIPProjectConfig.h"
