• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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