• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED.
2#
3# This program is free software; you can redistribute it and/or
4# modify it under the terms of the GNU General Public License
5# as published by the Free Software Foundation; either version 2
6# of the License, or (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11# GNU General Public License for more details.
12#
13# You should have received a copy of the GNU General Public License
14# along with this program; if not, write to the Free Software
15# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
16
17import("//drivers/hdf_core/adapter/khdf/liteos/hdf.gni")
18
19module_switch =
20    defined(LOSCFG_DRIVERS_HDF_WIFI) && defined(LOSCFG_DRIVERS_HI3881)
21module_name = "hi3881"
22
23HDM_WIFI_ROOT = "//drivers/hdf_core/framework/model/network/wifi"
24
25n = false
26y = true
27
28##################path of compile file :start###############
29#####wifi#####
30OAL_PATH = "oal"
31OAM_PATH = "oam"
32FRW_PATH = "frw"
33MAC_PATH = "mac/common"
34HMAC_PATH = "mac/hmac"
35HCC_PATH = "hcc"
36WAL_PATH = "wal"
37ADPATER_PATH = "hdfadapt"
38
39CFG_ANTI_INTERF = y
40CFG_CCA_OPT = y
41CFG_DBAC = y
42CFG_EDCA_OPT = y
43CFG_EDCA_OPT_AP = y
44CFG_SCHEDULE = y
45CFG_TRAFFIC_CTL = n
46CFG_TPC = y
47CFG_RF_1102CALI = y
48CFG_RF_110X_CALI_DPD = n
49CFG_NEW_IQ = y
50CFG_ALG_CFG = n
51CFG_HCC_TASK = y
52
53########################flash cut begin########################
54######## CFG_XXX_ROM can't be set to n ########
55CFG_P2P = y
56CFG_P2P_ROM = y
57CFG_WAPI = n
58CFG_WAPI_ROM = y
59CFG_WOW = y
60CFG_WOW_ROM = y
61CFG_REKEY_OFFLOAD = n
62CFG_REKEY_OFFLOAD_ROM = y
63CFG_PROMIS = y
64CFG_PROMIS_ROM = y
65CFG_MFG_TEST = y
66CFG_CE_MODE = y
67CFG_FCC_MODE = n
68CFG_MFG_FW = n
69
70########################flash cut end##########################
71CFG_BTCOEX_ROM = y
72CFG_ANY = n
73CFG_STA_PM = y
74CFG_MESH = n
75CFG_TCP_OPT = n
76CFG_TX_CLASSIFY_LAN_TO_WLAN = n
77CFG_UAPSD = y
78CFG_ARP_OFFLOAD = y
79CFG_DHCP_OFFLOAD = y
80CFG_LITEOS = y
81CFG_SIGMA = y
82CFG_HIPRIV = y
83LOSCFG_COMPILER_HI3861_FLASH = n
84LOSCFG_COMPILER_HI3861_ASIC = n
85
86hdf_driver(module_name) {
87  sources = [
88    "$OAL_PATH/exception_rst.c",
89    "$OAL_PATH/oal_cfg80211.c",
90    "$OAL_PATH/oal_chr.c",
91    "$OAL_PATH/oal_kernel_file.c",
92    "$OAL_PATH/oal_main.c",
93    "$OAL_PATH/oal_mem.c",
94    "$OAL_PATH/oal_net.c",
95    "$OAL_PATH/oal_sdio_host.c",
96    "$OAL_PATH/oal_shellcmd.c",
97    "$OAL_PATH/oal_util.c",
98    "$OAL_PATH/plat_board_common_sdio.c",
99    "$OAL_PATH/plat_firmware.c",
100    "$OAL_PATH/plat_pm.c",
101    "$OAL_PATH/plat_pm_wlan.c",
102    "$OAL_PATH/plat_sdio.c",
103  ]
104  if (CFG_LITEOS) {
105    sources += [
106      "$OAL_PATH/hi_event.c",
107      "$OAL_PATH/hi_task.c",
108      "$OAL_PATH/hi_time.c",
109      "$OAL_PATH/os_sys.c",
110    ]
111  }
112  sources += [
113    "$ADPATER_PATH/hdf_driver_register.c",
114    "$ADPATER_PATH/hdfinit_3881.c",
115    "$ADPATER_PATH/net_adpater.c",
116  ]
117  sources += [
118    "$OAM_PATH/oam_log.c",
119    "$OAM_PATH/oam_main.c",
120  ]
121  sources += [
122    "$FRW_PATH/frw_event.c",
123    "$FRW_PATH/frw_event_sched.c",
124    "$FRW_PATH/frw_main.c",
125    "$FRW_PATH/frw_task.c",
126    "$FRW_PATH/frw_timer.c",
127  ]
128  sources += [
129    "$HMAC_PATH/hmac_11i.c",
130    "$HMAC_PATH/hmac_blockack.c",
131    "$HMAC_PATH/hmac_chan_mgmt.c",
132    "$HMAC_PATH/hmac_config.c",
133    "$HMAC_PATH/hmac_crypto_tkip.c",
134    "$HMAC_PATH/hmac_device.c",
135    "$HMAC_PATH/hmac_encap_frame.c",
136    "$HMAC_PATH/hmac_encap_frame_ap.c",
137    "$HMAC_PATH/hmac_encap_frame_sta.c",
138    "$HMAC_PATH/hmac_event.c",
139    "$HMAC_PATH/hmac_frag.c",
140    "$HMAC_PATH/hmac_fsm.c",
141    "$HMAC_PATH/hmac_main.c",
142    "$HMAC_PATH/hmac_mgmt_ap.c",
143    "$HMAC_PATH/hmac_mgmt_bss_comm.c",
144    "$HMAC_PATH/hmac_mgmt_classifier.c",
145    "$HMAC_PATH/hmac_mgmt_sta.c",
146    "$HMAC_PATH/hmac_protection.c",
147    "$HMAC_PATH/hmac_rx_data.c",
148    "$HMAC_PATH/hmac_rx_filter.c",
149    "$HMAC_PATH/hmac_scan.c",
150    "$HMAC_PATH/hmac_sme_sta.c",
151    "$HMAC_PATH/hmac_tx_data.c",
152    "$HMAC_PATH/hmac_uapsd.c",
153    "$HMAC_PATH/hmac_user.c",
154    "$HMAC_PATH/hmac_vap.c",
155  ]
156  if (CFG_EDCA_OPT_AP) {
157    sources += [ "$HMAC_PATH/hmac_edca_opt.c" ]
158  }
159  if (CFG_P2P) {
160    sources += [ "$HMAC_PATH/hmac_p2p.c" ]
161  }
162  if (CFG_TCP_OPT) {
163    sources += [ "$HMAC_PATH/hmac_tcp_opt.c" ]
164  }
165  if (CFG_TX_CLASSIFY_LAN_TO_WLAN) {
166    sources += [ "$HMAC_PATH/hmac_traffic_classify.c" ]
167  }
168  if (CFG_WOW) {
169    sources += [ "$HMAC_PATH/hmac_wow.c" ]
170  }
171  if (CFG_ANY) {
172    sources += [ "$HMAC_PATH/hmac_any.c" ]
173  }
174  if (CFG_WAPI) {
175    sources += [
176      "$HMAC_PATH/hmac_wapi.c",
177      "$HMAC_PATH/hmac_wapi_sms4.c",
178      "$HMAC_PATH/hmac_wapi_wpi.c",
179    ]
180  }
181  sources += [
182    "$WAL_PATH/hi_wifi_driver_api.c",
183    "$WAL_PATH/wal_11d.c",
184    "$WAL_PATH/wal_cfg80211.c",
185    "$WAL_PATH/wal_customize.c",
186    "$WAL_PATH/wal_event.c",
187    "$WAL_PATH/wal_event_msg.c",
188    "$WAL_PATH/wal_hipriv.c",
189    "$WAL_PATH/wal_ioctl.c",
190    "$WAL_PATH/wal_linux_flowctl.c",
191    "$WAL_PATH/wal_mac80211.c",
192    "$WAL_PATH/wal_main.c",
193    "$WAL_PATH/wal_regdb.c",
194    "$WAL_PATH/wal_scan.c",
195  ]
196  if (CFG_LITEOS) {
197    sources += [ "$WAL_PATH/wal_cfg80211_apt.c" ]
198  }
199  sources += [
200    "$MAC_PATH/mac_data.c",
201    "$MAC_PATH/mac_device.c",
202    "$MAC_PATH/mac_frame.c",
203    "$MAC_PATH/mac_ie.c",
204    "$MAC_PATH/mac_mib.c",
205    "$MAC_PATH/mac_pm_driver.c",
206    "$MAC_PATH/mac_regdomain.c",
207    "$MAC_PATH/mac_resource.c",
208    "$MAC_PATH/mac_user.c",
209    "$MAC_PATH/mac_vap.c",
210  ]
211  sources += [
212    "$HCC_PATH/hcc_comm.c",
213    "$HCC_PATH/hcc_hmac.c",
214    "$HCC_PATH/hcc_host.c",
215    "$HCC_PATH/hcc_task.c",
216    "$HCC_PATH/hmac_hcc_adapt.c",
217  ]
218
219  include_dirs = [
220    "$HDM_WIFI_ROOT/include",
221    "$HDM_WIFI_ROOT/core",
222    "$HDM_WIFI_ROOT/core/components/softap",
223    "$HDM_WIFI_ROOT/core/components/sta",
224    "$HDM_WIFI_ROOT/core/components/eapol",
225    "$HDM_WIFI_ROOT/platform/include",
226    "$HDM_WIFI_ROOT/core/module",
227    "$HDM_WIFI_ROOT/platform/include/qos",
228    "linuxkpi/include",
229    "wal",
230    "oam",
231    "mac/hmac",
232    "mac/common",
233    "hcc",
234    "frw",
235    "oal",
236    "include",
237    "hdfadapt",
238  ]
239
240  defines = [
241    "_PRE_OS_VERSION_LINUX=1",
242    "_PRE_OS_VERSION_LITEOS=2",
243    "_PRE_FRW_FEATURE_PROCESS_ENTITY_THREAD=0",
244    "_PRE_FRW_FEATURE_PROCESS_ENTITY_TASKLET=1",
245    "_PRE_FRW_FEATURE_PROCESS_ENTITY_TYPE=_PRE_FRW_FEATURE_PROCESS_ENTITY_THREAD",
246    "_PRE_MULTI_CORE_MODE_SMP=1",
247    "_PRE_MULTI_CORE_MODE_OFFLOAD_HMAC=2",
248    "_PRE_MULTI_CORE_MODE_OFFLOAD_DMAC=3",
249    "_PRE_BIG_CPU_ENDIAN=0",
250    "_PRE_LITTLE_CPU_ENDIAN=1",
251    "_PRE_CPU_ENDIAN=_PRE_LITTLE_CPU_ENDIAN",
252    "_HI_BOARD_FPGA=1",
253    "_HI_BOARD_ASIC=2",
254    "_PRE_WLAN_FEATURE_PMF",
255    "_PRE_WLAN_FEATURE_AUTORATE",
256    "_PRE_WLAN_PERFORM_TPC",
257    "_PRE_DBAC_DYNAMIC_POLICY",
258    "_PRE_WLAN_FEATURE_AGGR_OPTIMIZE",
259    "_PRE_WLAN_FEATURE_ALG_CFG_ROM",
260    "_PRE_WLAN_FEATURE_FLOWCTRL",
261    "_PRE_WLAN_FEATURE_CLASSIFY",
262    "_PRE_WLAN_FEATURE_ALWAYS_TX",
263    "_PRE_WLAN_FEATURE_WPA",
264    "_PRE_WLAN_FEATURE_WPA2",
265    "_PRE_WLAN_FEATURE_AMPDU",
266    "_PRE_WLAN_FEATURE_DHCP_OFFLOAD_ROM",
267    "_PRE_WLAN_FEATURE_PKT_MEM_OPT",
268    "_PRE_WLAN_PM_FEATURE_FORCESLP_RESUME",
269    "__BITS_PER_OAL_LONG=32",
270    "_PRE_WLAN_FEATURE_11D",
271    "_PRE_WLAN_FEATURE_ANY_ROM",
272    "_PRE_WLAN_FEATURE_CSI",
273    "_PRE_WLAN_FEATURE_STA_UAPSD",
274    "_PRE_WLAN_FEATURE_MESH_ROM",
275    "_PRE_WLAN_FEATURE_BW_HIEX",
276    "_PRE_XTAL_FREQUENCY_COMPESATION_ENABLE",
277    "CONFIG_MMC",
278    "CONFIG_PRINTK",
279    "_PRE_FEATURE_NO_GPIO",
280    "_PRE_WLAN_FEATURE_HILINK",
281    "_PRE_WLAN_FEATURE_SMARTCONFIG_APP",
282    "_PRE_WLAN_FEATURE_TEMP_PROTECT",
283    "_PRE_WLAN_FEATURE_SINGLE_DEVICE",
284    "_PRE_FEATURE_SDIO=1",
285    "_PRE_FEATURE_USB=2",
286    "_PRE_FEATURE_CHANNEL_TYPE=_PRE_FEATURE_SDIO",
287    "CONFIG_HI110X_SDIO_STD_CARD_SUPPORT",
288  ]
289  if (CFG_LITEOS) {
290    defines += [ "_PRE_OS_VERSION = _PRE_OS_VERSION_LITEOS" ]
291  } else {
292    defines += [ "_PRE_OS_VERSION = _PRE_OS_VERSION_LINUX" ]
293  }
294  if (LOSCFG_COMPILER_HI3861_FLASH) {
295    defines += [ "_PRE_MULTI_CORE_MODE=_PRE_MULTI_CORE_MODE_SMP" ]
296  } else {
297    defines += [ "_PRE_MULTI_CORE_MODE=_PRE_MULTI_CORE_MODE_OFFLOAD_DMAC" ]
298  }
299  if (LOSCFG_COMPILER_HI3861_ASIC) {
300    defines += [ "_PRE_WLAN_CHIP_VERSION=_HI_BOARD_ASIC" ]
301  } else {
302    defines += [ "_PRE_WLAN_CHIP_VERSION=_HI_BOARD_FPGA" ]
303  }
304  if (defined(QUICK_START)) {
305    defines += [ "_PRE_WLAN_FEATURE_QUICK_START" ]
306  }
307  if (defined(NO_32K)) {
308    defines += [ "_PRE_WLAN_FEATURE_NO_32K" ]
309  }
310  if (defined(BOARD_FUNC)) {
311    defines += [ "_PRE_WLAN_FPGA_DIGITAL" ]
312  }
313  if (CFG_SCHEDULE) {
314    defines += [ "_PRE_WLAN_FEATURE_SCHEDULE" ]
315  }
316  if (CFG_TPC) {
317    defines += [ "_PRE_WLAN_FEATURE_TPC" ]
318  }
319  if (CFG_DBAC) {
320    defines += [ "_PRE_WLAN_FEATURE_DBAC" ]
321  }
322  if (CFG_CCA_OPT) {
323    defines += [ "_PRE_WLAN_FEATURE_CCA_OPT" ]
324  }
325  if (CFG_EDCA_OPT) {
326    defines += [ "_PRE_WLAN_FEATURE_EDCA_OPT" ]
327  }
328  if (CFG_EDCA_OPT_AP) {
329    defines += [ "_PRE_WLAN_FEATURE_EDCA_OPT_AP" ]
330  }
331  if (CFG_ANTI_INTERF) {
332    defines += [ "_PRE_WLAN_FEATURE_ANTI_INTERF" ]
333  }
334  if (CFG_TRAFFIC_CTL) {
335    defines += [ "_PRE_WLAN_FEATURE_TRAFFIC_CTL" ]
336  }
337  if (CFG_ALG_CFG) {
338    defines += [ "_PRE_WLAN_FEATURE_ALG_CFG" ]
339  }
340  if (defined(CFG_ALG_INTRF_MODE)) {
341    defines += [ "_PRE_WLAN_FEATURE_INTRF_MODE" ]
342  }
343  if (CFG_TX_CLASSIFY_LAN_TO_WLAN) {
344    defines += [ "_PRE_WLAN_FEATURE_TX_CLASSIFY_LAN_TO_WLAN" ]
345  }
346  if (CFG_ARP_OFFLOAD) {
347    defines += [ "_PRE_WLAN_FEATURE_ARP_OFFLOAD" ]
348  }
349  if (CFG_DHCP_OFFLOAD) {
350    defines += [ "_PRE_WLAN_FEATURE_DHCP_OFFLOAD" ]
351  }
352  if (CFG_NEW_IQ) {
353    defines += [ "_PRE_WLAN_NEW_IQ" ]
354  }
355  if (CFG_P2P) {
356    defines += [ "_PRE_WLAN_FEATURE_P2P" ]
357  }
358  if (CFG_P2P_ROM) {
359    defines += [ "_PRE_WLAN_FEATURE_P2P_ROM" ]
360  }
361  if (CFG_ANY) {
362    defines += [ "_PRE_WLAN_FEATURE_ANY" ]
363  }
364  if (CFG_STA_PM) {
365    defines += [ "_PRE_WLAN_FEATURE_STA_PM" ]
366  }
367  if (CFG_MESH) {
368    defines += [ "_PRE_WLAN_FEATURE_MESH" ]
369  }
370  if (defined(CFG_BTCOEX)) {
371    defines += [ "_PRE_WLAN_FEATURE_BTCOEX" ]
372  }
373  if (CFG_BTCOEX_ROM) {
374    defines += [ "_PRE_WLAN_FEATURE_BTCOEX_ROM" ]
375  }
376  if (CFG_RF_110X_CALI_DPD) {
377    defines += [ "_PRE_WLAN_RF_110X_CALI_DPD" ]
378  }
379  if (CFG_RF_1102CALI) {
380    defines += [ "_PRE_WLAN_RF_1102CALI" ]
381  }
382  if (CFG_UAPSD) {
383    defines += [ "_PRE_WLAN_FEATURE_UAPSD" ]
384  }
385  if (CFG_WAPI) {
386    defines += [ "_PRE_WLAN_FEATURE_WAPI" ]
387  }
388  if (CFG_WAPI_ROM) {
389    defines += [ "_PRE_WLAN_FEATURE_WAPI_ROM" ]
390  }
391  if (CFG_TCP_OPT) {
392    defines += [ "_PRE_WLAN_TCP_OPT" ]
393  }
394  if (CFG_REKEY_OFFLOAD) {
395    defines += [ "_PRE_WLAN_FEATURE_REKEY_OFFLOAD" ]
396  }
397  if (CFG_REKEY_OFFLOAD_ROM) {
398    defines += [ "_PRE_WLAN_FEATURE_REKEY_OFFLOAD_ROM" ]
399  }
400  if (CFG_WOW) {
401    defines += [ "_PRE_WLAN_FEATURE_WOW" ]
402  }
403  if (CFG_WOW_ROM) {
404    defines += [ "_PRE_WLAN_FEATURE_WOW_ROM" ]
405  }
406  if (CFG_PROMIS) {
407    defines += [ "_PRE_WLAN_FEATURE_PROMIS" ]
408  }
409  if (CFG_PROMIS_ROM) {
410    defines += [ "_PRE_WLAN_FEATURE_PROMIS_ROM" ]
411  }
412  if (CFG_SIGMA) {
413    defines += [ "_PRE_WLAN_FEATURE_SIGMA" ]
414  }
415  if (CFG_MFG_TEST) {
416    defines += [ "_PRE_WLAN_FEATURE_MFG_TEST" ]
417  }
418  if (CFG_MFG_FW) {
419    defines += [ "_PRE_WLAN_FEATURE_MFG_FW" ]
420  }
421  if (CFG_CE_MODE) {
422    defines += [ "_PRE_CE_INITIAL_PARAMS_MODE" ]
423  }
424  if (CFG_FCC_MODE) {
425    defines += [ "_PRE_FCC_INITIAL_PARAMS_MODE" ]
426  }
427  if (CFG_HIPRIV) {
428    defines += [ "_PRE_WLAN_FEATURE_HIPRIV" ]
429    if (CFG_LITEOS) {
430      defines += [ "AT_DEBUG_CMD_SUPPORT" ]
431    } else {
432      defines += [ "_PRE_CONFIG_CONN_HISI_SYSFS_SUPPORT" ]
433    }
434  }
435  if (CFG_HCC_TASK) {
436    defines += [ "_PRE_FEATURE_HCC_TASK" ]
437  }
438  if (defined(LOSCFG_PLATFORM_HI3516EV300)) {
439    defines += [ "HISI_WIFI_PLATFORM_HI3516EV300" ]
440  }
441}
442