• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  * Description: Header file of WLAN product specification macro definition.
15  */
16 
17 #ifndef WLAN_SPEC_ROM_H
18 #define WLAN_SPEC_ROM_H
19 
20 /*****************************************************************************
21     其他头文件包含
22 *****************************************************************************/
23 #include "wlan_spec_hh503_rom.h"
24 #include "wlan_spec_type_rom.h"
25 #include "wlan_phy_common_rom.h"
26 
27 #ifdef __cplusplus
28 #if __cplusplus
29 extern "C" {
30 #endif
31 #endif
32 /*****************************************************************************
33   1.1.1 版本spec
34 *****************************************************************************/
35 #define WLAN_CHIP_VERSION_WF51V100H           0x11510101
36 
37 #define WLAN_CHIP_VERSION_WF51V100L           0x11510102
38 
39 /*****************************************************************************
40   1.1.2 多Core对应spec
41 *****************************************************************************/
42 /* WiFi对应系统CORE的数量 为1 */
43 #define WLAN_FRW_MAX_NUM_CORES          1
44 
45 /*****************************************************************************
46   2 WLAN 宏定义
47 *****************************************************************************/
48 /*****************************************************************************
49   2.1 WLAN芯片对应的spec
50 *****************************************************************************/
51 /* 每个board支持chip的最大个数,总数不会超过8个 */
52 #define WLAN_CHIP_MAX_NUM_PER_BOARD         1
53 
54 /* 每个chip支持hal device的最大个数,总数不会超过8个 */
55 #define WLAN_DEVICE_MAX_NUM_PER_CHIP            1
56 
57 #define WLAN_SERVICE_DEVICE_MAX_NUM_PER_CHIP    1 /* 每个chip支持业务device的最大个数 */
58 
59 /* wg. 以下两个宏含义一致 HMAC和DMAC需要归一 */
60 /* 整个BOARD支持的最大的业务device数目 */
61 #define WLAN_SERVICE_DEVICE_SUPPORT_MAX_NUM_SPEC \
62     (WLAN_CHIP_MAX_NUM_PER_BOARD * WLAN_SERVICE_DEVICE_MAX_NUM_PER_CHIP)
63 
64 #define WLAN_SERVICE_DEVICE_MAX_NUM             1   /* 业务device数量,单device与上面宏合并 */
65 
66 /* 业务AP规格 */
67 #define WLAN_SERVICE_AP_MAX_NUM_PER_DEVICE      2
68 /* 业务STA规格 */
69 #define WLAN_SERVICE_STA_MAX_NUM_PER_DEVICE     3
70 /* 业务ap sta共存时vap数目 */
71 #define WLAN_AP_STA_COEXIST_VAP_NUM             0
72 
73 /* 由于最大业务VAP个数需要按照设备同时创建的最大规格初始化,目前按照最大的规格设置即可 */
74 #define WLAN_CONFIG_VAP_MAX_NUM_PER_DEVICE      1   /* 配置VAP个数,一个业务device一个 */
75 /* 业务VAP数目(4个):STA 1个+P2P 1个+ SOFT AP 1个+1个预留扩展 */
76 #define WLAN_SERVICE_VAP_MAX_NUM_PER_DEVICE     3
77 
78 /* 每个device支持vap的最大个数=最大业务VAP数目+配置VAP数量 */
79 
80 /* 4个业务VAP + 1个配置vap */
81 #define WLAN_VAP_MAX_NUM_PER_DEVICE_LIMIT    \
82     (WLAN_CONFIG_VAP_MAX_NUM_PER_DEVICE + WLAN_SERVICE_VAP_MAX_NUM_PER_DEVICE)
83 
84 /* 整个BOARD支持的最大的VAP数目 */
85 #define WLAN_VAP_SUPPORT_MAX_NUM_LIMIT    \
86     (WLAN_SERVICE_DEVICE_SUPPORT_MAX_NUM_SPEC * WLAN_VAP_MAX_NUM_PER_DEVICE_LIMIT)
87 
88 #define WLAN_VAP_NUM_PER_BOARD    WLAN_VAP_SUPPORT_MAX_NUM_LIMIT
89 
90 /* 整个BOARD支持的最大业务VAP的数目 */
91 #define WLAN_SERVICE_VAP_SUPPORT_MAX_NUM_LIMIT    \
92 (WLAN_SERVICE_DEVICE_SUPPORT_MAX_NUM_SPEC * (WLAN_VAP_MAX_NUM_PER_DEVICE_LIMIT - WLAN_CONFIG_VAP_MAX_NUM_PER_DEVICE))
93 
94 /* 以下两个成员可以定制化: WLAN_ASSOC_USER_MAX_NUM对应g_us_assoc_max_user,WLAN_ACTIVE_USER_MAX_NUM对应g_us_active_max_user */
95 /* 关联用户的最大个数 */
96 #define WLAN_ASSOC_USER_MAX_NUM                   6
97 #define WLAN_VAP_USER_HASH_MAX_VALUE         (WLAN_ASSOC_USER_MAX_NUM * 2)       /* 2为扩展因子 */
98 #define WLAN_DTCM_RAM_ASSOC_USER_MAX_NUM          6 /* DTCM_RAM中定义的关联用户最大个数,为总用户规格16的一半 */
99 
100 /* 不可用的RA LUT IDX */
101 #define WLAN_INVALID_RA_LUT_IDX             WLAN_ACTIVE_USER_MAX_NUM
102 
103 /* 以下三个用户规格,表示软件支持最大规格; 与之对应的是MAC_RES_XXX(大于等于RES_XXX),为定制化得到,对应WLAN_ASSOC_USER_MAX_NUM为g_us_assoc_max_user */
104 /* 使用规则:这里三个用于oal oam hal初始化成员,或者数组下标,与之对应mac res的单播和组播,以及整board user个数会封装成函数供业务层代码调用 */
105 /* board最大关联用户数 = 1个CHIP支持的最大关联用户数 * board上面的CHIP数目 */
106 #define WLAN_ASOC_USER_MAX_NUM_LIMIT       (WLAN_ASSOC_USER_MAX_NUM * WLAN_CHIP_MAX_NUM_PER_BOARD)
107 
108 /* board组播用户数 */
109 #define WLAN_MULTI_USER_MAX_NUM_LIMIT      (WLAN_SERVICE_VAP_SUPPORT_MAX_NUM_LIMIT)
110 
111 /* board最大用户数 = 最大关联用户数 + 组播用户个数 */
112 #define WLAN_USER_MAX_USER_LIMIT           (WLAN_ASOC_USER_MAX_NUM_LIMIT + WLAN_MULTI_USER_MAX_NUM_LIMIT)
113 
114 /*****************************************************************************
115   2.2 WLAN协议对应的spec
116 *****************************************************************************/
117 /* 速率功率表各协议的档位数量 */
118 #define WLAN_POW_11B_RATE_NUM  4  /* 11b速率数目 */
119 #define WLAN_POW_LEGACY_RATE_NUM 8  /* 11a/g速率数目 */
120 #define WLAN_POW_NONLEGACY_20M_NUM  12 /* 11n_11ac_11ax_20M速率数目最大值 */
121 #define WLAN_POW_NONLEGACY_40M_NUM  13 /* 11n_11ac_11ax_40M速率数目最大值+mcs32 */
122 // 速率功率表的表长
123 #define WLAN_POW_RATE_POW_CODE_TABLE_2G_LEN (WLAN_POW_11B_RATE_NUM + WLAN_POW_LEGACY_RATE_NUM + \
124     WLAN_POW_NONLEGACY_20M_NUM + WLAN_POW_NONLEGACY_40M_NUM)
125 // 速率功率表的协议速率偏移
126 /* 11b 速率索引偏移 */
127 #define WLAN_POW_RATE_POW_CODE_11B_OFFSET 0
128 /* 11a/g 速率索引偏移 */
129 #define WLAN_POW_RATE_POW_CODE_LEGACY_OFFSET WLAN_POW_RATE_POW_CODE_11B_OFFSET
130 /* 11n_11ac_11ax_20M 速率索引偏移 */
131 #define WLAN_POW_RATE_POW_CODE_NONLEGACY_20M_OFFSET (WLAN_POW_11B_RATE_NUM + WLAN_POW_LEGACY_RATE_NUM)
132 /* 11n_11ac_11ax_40M 速率索引偏移 */
133 #define WLAN_POW_RATE_POW_CODE_NONLEGACY_40M_OFFSET \
134         (WLAN_POW_RATE_POW_CODE_NONLEGACY_20M_OFFSET + WLAN_POW_NONLEGACY_20M_NUM)
135 /* 11n_11ac_11ax_80M 速率索引偏移 */
136 #define WLAN_POW_RATE_POW_CODE_NONLEGACY_80M_OFFSET WLAN_POW_RATE_POW_CODE_INVALID_OFFSET
137 /* 11n_11ac_11ax_160M 速率索引偏移 */
138 #define WLAN_POW_RATE_POW_CODE_NONLEGACY_160M_OFFSET WLAN_POW_RATE_POW_CODE_INVALID_OFFSET
139 /*****************************************************************************
140   2.3 oam相关的spec
141 *****************************************************************************/
142 #define WLAN_OAM_FILE_PATH      "\\home\\oam.log"    /* LINUX和裸系统下,LOG文件默认的保存位置 */
143 
144 /*****************************************************************************
145   2.4 mem对应的spec
146 *****************************************************************************/
147 /*****************************************************************************
148   2.4.1 内存池规格
149 *****************************************************************************/
150 /* ws73 3個VAP,每個VAP提供472字節長度的存放地址 */
151 #define WLAN_TXBFEE_BUFF_SIZE_PER_VAP           472
152 #define WLAN_TXBFEE_BUFF_SIZE                   (WLAN_TXBFEE_BUFF_SIZE_PER_VAP * WLAN_SERVICE_VAP_MAX_NUM_PER_DEVICE)
153 #define WLAN_MEM_MAX_USERS_NUM              4             /* 共享同一块内存的最大用户数 */
154 /*****************************************************************************
155   2.4.2 共享描述符内存池配置信息
156 *****************************************************************************/
157 #define WLAN_MAX_NETBUF_SIZE        (WLAN_LARGE_NETBUF_SIZE + OAL_MAX_MAC_HDR_LEN)  /* 最大帧长:帧头+payload */
158 /* 整个device所有TID的最大MPDU数量限制
159     需要重新定义,以支持调度逻辑
160 */
161 #ifdef WIFI_TCM_OPTIMIZE
162 #define WLAN_TID_MPDU_NUM_LIMIT             72
163 #else
164 #define WLAN_TID_MPDU_NUM_LIMIT             36    /* app版本需要限制总动态内存使用 */
165 #endif
166 #define WLAN_SINGLE_TID_MPDU_NUM_LIMIT      12
167 
168 #ifdef WIFI_TCM_OPTIMIZE
169 #define MAX_MPDU_NUM_IN_PS_QUEUE    32
170 #define MAX_MPDU_NUM_IN_PS_QUEUE_TOTAL    32
171 #else
172 #define MAX_MPDU_NUM_IN_PS_QUEUE    4
173 #define MAX_MPDU_NUM_IN_PS_QUEUE_TOTAL    16     /* app版本需要限制总动态内存使用 */
174 #endif
175 
176 // WLAN_MEM_NETBUF_CNT1由_PRE_WLAN_FEATURE_11K特性解耦
177 #if defined(_PRE_OS_VERSION_LITEOS) && defined(_PRE_OS_VERSION) \
178     && (_PRE_OS_VERSION_LITEOS == _PRE_OS_VERSION)
179 #define WLAN_MEM_NETBUF_CNT1                16
180 #else
181 #define WLAN_MEM_NETBUF_CNT1                192     /* 接收数据帧是AMSDU,其中的每个MSDU对应一个克隆netbuf */
182 #endif
183 #define WLAN_MEM_SHARED_RX_DSCR_SIZE        68
184 #define WLAN_MEM_NETBUF_SIZE2               1600
185 #define WLAN_LARGE_NETBUF_SIZE_TMP          1200
186 #define WLAN_HMEM_EVENT_SIZE2               528       /* 注意: 事件内存长度包括4字节IPC头长度 */
187 #define WLAN_HMEM_LOCAL_SIZE2               144
188 
189 #define WLAN_WPS_IE_MAX_SIZE                (WLAN_HMEM_EVENT_SIZE2 - 128)
190 
191 /*****************************************************************************
192   2.4.10 RF通道数规格已放入WLAN_SPEC
193 *****************************************************************************/
194 #ifdef _PRE_WLAN_FEATURE_DAQ
195 #define WLAN_MEM_MAC_TEST_INFO_SIZE          (64 * 1024)
196 #endif
197 
198 
199 /*****************************************************************************
200   2.4.11 TCP ACK优化
201 *****************************************************************************/
202 /* tcp ack过滤功能不再默认打开,根据流量调整 */
203 #define DEFAULT_TX_TCP_ACK_OPT_ENABLE (OSAL_FALSE)
204 #define DEFAULT_RX_TCP_ACK_OPT_ENABLE (OSAL_FALSE)
205 #define DEFAULT_TX_TCP_ACK_THRESHOLD (1) /* 丢弃发送ack 的门限 */
206 #define DEFAULT_RX_TCP_ACK_THRESHOLD (1) /* 丢弃接收ack 的门限 */
207 /*****************************************************************************
208   2.5 frw相关的spec
209 *****************************************************************************/
210 
211 /******************************************************************************
212     事件队列配置信息表
213     注意: 每个队列所能容纳的最大事件个数必须是2的整数次幂
214 *******************************************************************************/
215 /* host event cfg table */
216 #define WLAN_ACTIVE_USER_MAX_NUM                  6    /* 活跃用户的最大个数 */
217 
218 /* 活跃用户索引位图长度 */
219 #define WLAN_ACTIVE_USER_IDX_BMAP_LEN      ((WLAN_ACTIVE_USER_MAX_NUM + 7)>> 3)
220 
221 /*****************************************************************************
222   2.8.2 STA AP规格
223 *****************************************************************************/
224 /* 通道数 */
225 #define WLAN_RF_CHANNEL_NUMS   1
226 /* RF PLL个数 */
227 #define WLAN_RF_PLL_NUMS   1
228 
229 #ifdef __cplusplus
230 #if __cplusplus
231 }
232 #endif
233 #endif
234 
235 #endif /* end of file */
236 
237