| /* |
| * |
| * 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 |