3 * Copyright (c) 2020 Project CHIP Authors
4 * Copyright (c) 2019 Google LLC.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
21 * Platform-specific configuration overrides for CHIP on
22 * Silcon Labs EFR32 platforms.
29 // ==================== General Platform Adaptations ====================
31 #define CHIP_CONFIG_ERROR_TYPE int32_t
32 #define CHIP_CONFIG_NO_ERROR 0
33 #define CHIP_CONFIG_ERROR_MIN 4000000
34 #define CHIP_CONFIG_ERROR_MAX 4000999
36 #define ASN1_CONFIG_ERROR_TYPE int32_t
37 #define ASN1_CONFIG_NO_ERROR 0
38 #define ASN1_CONFIG_ERROR_MIN 5000000
39 #define ASN1_CONFIG_ERROR_MAX 5000999
41 #define ChipDie() abort()
43 #define CHIP_CONFIG_PERSISTED_STORAGE_KEY_TYPE uint8_t
44 #define CHIP_CONFIG_PERSISTED_STORAGE_ENC_MSG_CNTR_ID 1
45 #define CHIP_CONFIG_PERSISTED_STORAGE_MAX_KEY_LENGTH 2
47 #define CHIP_CONFIG_LIFETIIME_PERSISTED_COUNTER_KEY 0x01
49 #define CHIP_CONFIG_TIME_ENABLE_CLIENT 1
50 #define CHIP_CONFIG_TIME_ENABLE_SERVER 0
52 // ==================== Security Adaptations ====================
54 #define CHIP_CONFIG_USE_OPENSSL_ECC 0
55 #define CHIP_CONFIG_USE_MICRO_ECC 0
57 #define CHIP_CONFIG_HASH_IMPLEMENTATION_OPENSSL 0
58 #define CHIP_CONFIG_HASH_IMPLEMENTATION_MINCRYPT 1
59 #define CHIP_CONFIG_HASH_IMPLEMENTATION_MBEDTLS 0
60 #define CHIP_CONFIG_HASH_IMPLEMENTATION_PLATFORM 0
62 // FIXME: EFR32 set to MBED-TLS (But this is third-party repo in CHIP, not SDK)
64 #define CHIP_CONFIG_AES_IMPLEMENTATION_OPENSSL 0
65 #define CHIP_CONFIG_AES_IMPLEMENTATION_AESNI 0
66 #define CHIP_CONFIG_AES_IMPLEMENTATION_MBEDTLS 1
67 #define CHIP_CONFIG_AES_IMPLEMENTATION_PLATFORM 0
69 // FIXME: EFR32 currently set to CHIP (Does this use Entropy.cpp ?)
71 #define CHIP_CONFIG_RNG_IMPLEMENTATION_OPENSSL 0
72 #define CHIP_CONFIG_RNG_IMPLEMENTATION_CHIPDRBG 1
73 #define CHIP_CONFIG_RNG_IMPLEMENTATION_PLATFORM 0
75 #define CHIP_CONFIG_ENABLE_PASE_INITIATOR 0
76 #define CHIP_CONFIG_ENABLE_PASE_RESPONDER 1
77 #define CHIP_CONFIG_ENABLE_CASE_INITIATOR 1
79 #define CHIP_CONFIG_SUPPORT_PASE_CONFIG0 0
80 #define CHIP_CONFIG_SUPPORT_PASE_CONFIG1 0
81 #define CHIP_CONFIG_SUPPORT_PASE_CONFIG2 0
82 #define CHIP_CONFIG_SUPPORT_PASE_CONFIG3 0
83 #define CHIP_CONFIG_SUPPORT_PASE_CONFIG4 1
85 #define CHIP_CONFIG_ENABLE_KEY_EXPORT_INITIATOR 0
87 #define CHIP_CONFIG_ENABLE_PROVISIONING_BUNDLE_SUPPORT 0
89 // ==================== General Configuration Overrides ====================
91 #ifndef CHIP_CONFIG_MAX_PEER_NODES
92 #define CHIP_CONFIG_MAX_PEER_NODES 16
93 #endif // CHIP_CONFIG_MAX_PEER_NODES
95 #ifndef CHIP_CONFIG_MAX_UNSOLICITED_MESSAGE_HANDLERS
96 #define CHIP_CONFIG_MAX_UNSOLICITED_MESSAGE_HANDLERS 16
97 #endif // CHIP_CONFIG_MAX_UNSOLICITED_MESSAGE_HANDLERS
99 #ifndef CHIP_CONFIG_MAX_EXCHANGE_CONTEXTS
100 #define CHIP_CONFIG_MAX_EXCHANGE_CONTEXTS 8
101 #endif // CHIP_CONFIG_MAX_EXCHANGE_CONTEXTS
103 #ifndef CHIP_CONFIG_RMP_TIMER_DEFAULT_PERIOD_SHIFT
104 #define CHIP_CONFIG_RMP_TIMER_DEFAULT_PERIOD_SHIFT 6
105 #endif // CHIP_CONFIG_RMP_TIMER_DEFAULT_PERIOD_SHIFT
107 #ifndef CHIP_LOG_FILTERING
108 #define CHIP_LOG_FILTERING 0
109 #endif // CHIP_LOG_FILTERING
111 #ifndef CHIP_CONFIG_MAX_INTERFACES
112 #define CHIP_CONFIG_MAX_INTERFACES 4
113 #endif // CHIP_CONFIG_MAX_INTERFACES
115 #ifndef CHIP_CONFIG_MAX_LOCAL_ADDR_UDP_ENDPOINTS
116 #define CHIP_CONFIG_MAX_LOCAL_ADDR_UDP_ENDPOINTS 4
117 #endif // CHIP_CONFIG_MAX_LOCAL_ADDR_UDP_ENDPOINTS
119 // ==================== Security Configuration Overrides ====================
121 #ifndef CHIP_CONFIG_MAX_APPLICATION_GROUPS
122 #define CHIP_CONFIG_MAX_APPLICATION_GROUPS 4
123 #endif // CHIP_CONFIG_MAX_APPLICATION_GROUPS
125 #ifndef CHIP_CONFIG_DEBUG_CERT_VALIDATION
126 #define CHIP_CONFIG_DEBUG_CERT_VALIDATION 0
127 #endif // CHIP_CONFIG_DEBUG_CERT_VALIDATION
129 #ifndef CHIP_CONFIG_ENABLE_CASE_RESPONDER
130 #define CHIP_CONFIG_ENABLE_CASE_RESPONDER 1
131 #endif // CHIP_CONFIG_ENABLE_CASE_RESPONDER
133 // ==================== FreeRTOS Configuration Overrides ====================
134 #ifndef CHIP_CONFIG_FREERTOS_USE_STATIC_TASK
135 #define CHIP_CONFIG_FREERTOS_USE_STATIC_TASK 1
138 #ifndef CHIP_CONFIG_FREERTOS_USE_STATIC_QUEUE
139 #define CHIP_CONFIG_FREERTOS_USE_STATIC_QUEUE 1