/* * * 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. */ #ifndef RSI_CONFIG_H #define RSI_CONFIG_H #include "ble_config.h" #include "sl_wifi_device.h" //! Enable feature #define RSI_ENABLE 1 //! Disable feature #define RSI_DISABLE 0 static const sl_wifi_device_configuration_t config = { .boot_option = LOAD_NWP_FW, .mac_address = NULL, .band = SL_SI91X_WIFI_BAND_2_4GHZ, .region_code = US, .boot_config = { .oper_mode = SL_SI91X_CLIENT_MODE, .coex_mode = SL_SI91X_WLAN_BLE_MODE, .feature_bit_map = #ifdef SLI_SI91X_MCU_INTERFACE (SL_SI91X_FEAT_SECURITY_OPEN | SL_SI91X_FEAT_WPS_DISABLE), #else (SL_SI91X_FEAT_SECURITY_OPEN | SL_SI91X_FEAT_AGGREGATION), #endif .tcp_ip_feature_bit_map = (SL_SI91X_TCP_IP_FEAT_DHCPV4_CLIENT | SL_SI91X_TCP_IP_FEAT_DNS_CLIENT | SL_SI91X_TCP_IP_FEAT_SSL | SL_SI91X_TCP_IP_FEAT_BYPASS #ifdef ipv6_FEATURE_REQUIRED | SL_SI91X_TCP_IP_FEAT_DHCPV6_CLIENT | SL_SI91X_TCP_IP_FEAT_IPV6 #endif | SL_SI91X_TCP_IP_FEAT_ICMP | SL_SI91X_TCP_IP_FEAT_EXTENSION_VALID), .custom_feature_bit_map = (SL_SI91X_CUSTOM_FEAT_EXTENTION_VALID | RSI_CUSTOM_FEATURE_BIT_MAP), .ext_custom_feature_bit_map = ( #ifdef SLI_SI917 (RSI_EXT_CUSTOM_FEATURE_BIT_MAP) #else // defaults #ifdef SLI_SI91X_MCU_INTERFACE (SL_SI91X_EXT_FEAT_256K_MODE | RSI_EXT_CUSTOM_FEATURE_BIT_MAP) #else (SL_SI91X_EXT_FEAT_384K_MODE | RSI_EXT_CUSTOM_FEATURE_BIT_MAP) #endif #endif | (SL_SI91X_EXT_FEAT_BT_CUSTOM_FEAT_ENABLE) #if (defined A2DP_POWER_SAVE_ENABLE) | SL_SI91X_EXT_FEAT_XTAL_CLK_ENABLE(2) #endif ), .bt_feature_bit_map = (RSI_BT_FEATURE_BITMAP #if (RSI_BT_GATT_ON_CLASSIC) | SL_SI91X_BT_ATT_OVER_CLASSIC_ACL /* to support att over classic acl link */ #endif ), #ifdef RSI_PROCESS_MAX_RX_DATA .ext_tcp_ip_feature_bit_map = (RSI_EXT_TCPIP_FEATURE_BITMAP | SL_SI91X_CONFIG_FEAT_EXTENTION_VALID | SL_SI91X_EXT_TCP_MAX_RECV_LENGTH), #else .ext_tcp_ip_feature_bit_map = (RSI_EXT_TCPIP_FEATURE_BITMAP | SL_SI91X_CONFIG_FEAT_EXTENTION_VALID), #endif //! ENABLE_BLE_PROTOCOL in bt_feature_bit_map .ble_feature_bit_map = ((SL_SI91X_BLE_MAX_NBR_PERIPHERALS(RSI_BLE_MAX_NBR_PERIPHERALS) | SL_SI91X_BLE_MAX_NBR_CENTRALS(RSI_BLE_MAX_NBR_CENTRALS) | SL_SI91X_BLE_MAX_NBR_ATT_SERV(RSI_BLE_MAX_NBR_ATT_SERV) | SL_SI91X_BLE_MAX_NBR_ATT_REC(RSI_BLE_MAX_NBR_ATT_REC)) | SL_SI91X_FEAT_BLE_CUSTOM_FEAT_EXTENTION_VALID | SL_SI91X_BLE_PWR_INX(RSI_BLE_PWR_INX) | SL_SI91X_BLE_PWR_SAVE_OPTIONS(RSI_BLE_PWR_SAVE_OPTIONS) | SL_SI91X_916_BLE_COMPATIBLE_FEAT_ENABLE #if RSI_BLE_GATT_ASYNC_ENABLE | SL_SI91X_BLE_GATT_ASYNC_ENABLE #endif ), .ble_ext_feature_bit_map = ((SL_SI91X_BLE_NUM_CONN_EVENTS(RSI_BLE_NUM_CONN_EVENTS) | SL_SI91X_BLE_NUM_REC_BYTES(RSI_BLE_NUM_REC_BYTES)) #if RSI_BLE_INDICATE_CONFIRMATION_FROM_HOST | SL_SI91X_BLE_INDICATE_CONFIRMATION_FROM_HOST // indication response from app #endif #if RSI_BLE_MTU_EXCHANGE_FROM_HOST | SL_SI91X_BLE_MTU_EXCHANGE_FROM_HOST // MTU Exchange request initiation from app #endif #if RSI_BLE_SET_SCAN_RESP_DATA_FROM_HOST | (SL_SI91X_BLE_SET_SCAN_RESP_DATA_FROM_HOST) // Set SCAN Resp Data from app #endif #if RSI_BLE_DISABLE_CODED_PHY_FROM_HOST | (SL_SI91X_BLE_DISABLE_CODED_PHY_FROM_HOST) // Disable Coded PHY from app #endif #if BLE_SIMPLE_GATT | SL_SI91X_BLE_GATT_INIT #endif ), .config_feature_bit_map = (SL_SI91X_FEAT_SLEEP_GPIO_SEL_BITMAP | RSI_CONFIG_FEATURE_BITMAP) } }; #endif