1 /****************************************************************************** 2 * Copyright (c) 2022 Telink Semiconductor (Shanghai) Co., Ltd. ("TELINK") 3 * All rights reserved. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 *****************************************************************************/ 18 #pragma once 19 20 ////////////////////////////////////////////////////////////////////////////// 21 /** 22 * @brief Definition for Device info 23 */ 24 #include "drivers.h" 25 #include "tl_common.h" 26 27 #define BQB_TEST_EN 0 28 // BQB Test 29 #if BQB_TEST_EN 30 #define BQB_TEST_PHY_EN 1 31 #define BQB_TEST_CONN_UPD_EN 1 32 #define BQB_TEST_CHN_MAP_EN 1 33 #else 34 #define BQB_TEST_PHY_EN 0 35 #define BQB_TEST_CONN_UPD_EN 0 36 #define BQB_TEST_CHN_MAP_EN 0 37 #endif 38 39 /////////////////// Feature //////////////////////////// 40 #ifndef LL_MULTI_SLAVE_MAC_ENABLE 41 #define LL_MULTI_SLAVE_MAC_ENABLE 0 42 #endif 43 44 ////////////////////////////////////////////////////////////////////// 45 // note both the following two macro XXX_PRIVATE_XXX and XXX_NORMAL_XXX 46 // CAN NOT be set 1 at the same time.One is private,another is standard. 47 #ifndef LL_FEATURE_PRIVATE_BIS_SYNC_RECEIVER 48 #define LL_FEATURE_PRIVATE_BIS_SYNC_RECEIVER 0 49 #endif 50 51 #ifndef LL_FEATURE_NORMAL_BIS_SYNC_RECEIVER 52 #define LL_FEATURE_NORMAL_BIS_SYNC_RECEIVER 1 53 #endif 54 ////////////////////////////////////////////////////////////////////// 55 56 #if (MCU_CORE_TYPE == MCU_CORE_825x) 57 #define FIX_HW_CRC24_EN 1 58 #define HW_ECDH_EN 0 59 #elif (MCU_CORE_TYPE == MCU_CORE_827x) 60 #define FIX_HW_CRC24_EN 0 61 #define HW_ECDH_EN 1 62 #elif (MCU_CORE_TYPE == MCU_CORE_9518) 63 #define FIX_HW_CRC24_EN 0 64 #define HW_ECDH_EN 1 65 #else 66 #error "unsupported mcu type !" 67 #endif 68 69 // conn param update/map update 70 #ifndef BLS_PROC_MASTER_UPDATE_REQ_IN_IRQ_ENABLE 71 #define BLS_PROC_MASTER_UPDATE_REQ_IN_IRQ_ENABLE 0 72 #endif 73 74 #ifndef LE_AUTHENTICATED_PAYLOAD_TIMEOUT_SUPPORT_EN 75 #define LE_AUTHENTICATED_PAYLOAD_TIMEOUT_SUPPORT_EN 0 76 #endif 77 78 // Link layer feature enable flag default setting 79 #ifndef LL_FEATURE_SUPPORT_LE_DATA_LENGTH_EXTENSION 80 #define LL_FEATURE_SUPPORT_LE_DATA_LENGTH_EXTENSION 1 81 #endif 82 83 #ifndef LL_FEATURE_SUPPORT_LL_PRIVACY 84 #define LL_FEATURE_SUPPORT_LL_PRIVACY 0 // legAdv and slave role conn support now 85 #endif 86 87 #ifndef LL_FEATURE_SUPPORT_LE_2M_PHY 88 #define LL_FEATURE_SUPPORT_LE_2M_PHY 1 89 #endif 90 91 #ifndef LL_FEATURE_SUPPORT_LE_CODED_PHY 92 #define LL_FEATURE_SUPPORT_LE_CODED_PHY 1 93 #endif 94 95 #ifndef LL_FEATURE_SUPPORT_LE_AOA_AOD 96 #define LL_FEATURE_SUPPORT_LE_AOA_AOD 0 97 #endif 98 99 #ifndef LL_FEATURE_SUPPORT_LE_EXTENDED_ADVERTISING 100 #define LL_FEATURE_SUPPORT_LE_EXTENDED_ADVERTISING 1 101 #endif 102 103 #ifndef LL_FEATURE_SUPPORT_LE_EXTENDED_SCANNING 104 #define LL_FEATURE_SUPPORT_LE_EXTENDED_SCANNING 1 105 #endif 106 107 #ifndef LL_FEATURE_SUPPORT_LE_EXTENDED_INITIATE 108 #define LL_FEATURE_SUPPORT_LE_EXTENDED_INITIATE 1 109 #endif 110 111 #ifndef LL_FEATURE_SUPPORT_LE_PERIODIC_ADVERTISING 112 #define LL_FEATURE_SUPPORT_LE_PERIODIC_ADVERTISING 1 113 #endif 114 115 #ifndef LL_FEATURE_SUPPORT_LE_PERIODIC_ADVERTISING_SYNC 116 #define LL_FEATURE_SUPPORT_LE_PERIODIC_ADVERTISING_SYNC 1 117 #endif 118 119 #ifndef LL_FEATURE_SUPPORT_CHANNEL_SELECTION_ALGORITHM2 120 #define LL_FEATURE_SUPPORT_CHANNEL_SELECTION_ALGORITHM2 1 121 #endif 122 123 // core_5.2 feature begin 124 #ifndef LL_FEATURE_SUPPORT_CONNECTED_ISOCHRONOUS_STREAM_MASTER 125 #define LL_FEATURE_SUPPORT_CONNECTED_ISOCHRONOUS_STREAM_MASTER 1 126 #endif 127 128 #ifndef LL_FEATURE_SUPPORT_CONNECTED_ISOCHRONOUS_STREAM_SLAVE 129 #define LL_FEATURE_SUPPORT_CONNECTED_ISOCHRONOUS_STREAM_SLAVE 1 130 #endif 131 132 #ifndef LL_FEATURE_SUPPORT_ISOCHRONOUS_BROADCASTER 133 #define LL_FEATURE_SUPPORT_ISOCHRONOUS_BROADCASTER 1 134 #endif 135 136 #ifndef LL_FEATURE_SUPPORT_SYNCHRONIZED_RECEIVER 137 #define LL_FEATURE_SUPPORT_SYNCHRONIZED_RECEIVER 1 138 #endif 139 140 #ifndef LL_FEATURE_SUPPORT_ISOCHRONOUS_CHANNELS 141 #define LL_FEATURE_SUPPORT_ISOCHRONOUS_CHANNELS 1 142 #endif 143 144 #ifndef LL_FEATURE_SUPPORT_ISOCHRONOUS_TEST_MODE 145 #define LL_FEATURE_SUPPORT_ISOCHRONOUS_TEST_MODE 1 146 #endif 147 // core_5.2 feature end 148 149 #ifndef BQB_LOWER_TESTER_ENABLE 150 #define BQB_LOWER_TESTER_ENABLE 0 151 #endif 152 153 #ifndef HCI_NEW_FIFO_FEATURE_ENABLE 154 #define HCI_NEW_FIFO_FEATURE_ENABLE 1 155 #endif 156 157 #ifndef HCI_SEND_NUM_OF_CMP_AFT_ACK 158 #define HCI_SEND_NUM_OF_CMP_AFT_ACK 0 159 #endif 160 161 #ifndef L2CAP_DATA_2_HCI_DATA_BUFFER_ENABLE 162 #define L2CAP_DATA_2_HCI_DATA_BUFFER_ENABLE 0 // just for debug 163 #endif 164 165 #ifndef L2CAP_CREDIT_BASED_FLOW_CONTROL_MODE_EN 166 #define L2CAP_CREDIT_BASED_FLOW_CONTROL_MODE_EN 0 167 #endif 168 169 #ifndef UPPER_TESTER_DBG_EN 170 #define UPPER_TESTER_DBG_EN 1 171 #endif 172 173 #ifndef UPPER_TESTER_HCI_LOG_EN 174 #define UPPER_TESTER_HCI_LOG_EN 1 175 #endif 176