xref: /OK3568_Linux_fs/external/rkwifibt/drivers/rtl8822cs/hal/halmac/halmac_api.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /******************************************************************************
2*4882a593Smuzhiyun  *
3*4882a593Smuzhiyun  * Copyright(c) 2016 - 2019 Realtek Corporation. All rights reserved.
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * This program is free software; you can redistribute it and/or modify it
6*4882a593Smuzhiyun  * under the terms of version 2 of the GNU General Public License as
7*4882a593Smuzhiyun  * published by the Free Software Foundation.
8*4882a593Smuzhiyun  *
9*4882a593Smuzhiyun  * This program is distributed in the hope that it will be useful, but WITHOUT
10*4882a593Smuzhiyun  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11*4882a593Smuzhiyun  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12*4882a593Smuzhiyun  * more details.
13*4882a593Smuzhiyun  *
14*4882a593Smuzhiyun  ******************************************************************************/
15*4882a593Smuzhiyun 
16*4882a593Smuzhiyun #ifndef _HALMAC_API_H_
17*4882a593Smuzhiyun #define _HALMAC_API_H_
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun #define HALMAC_SVN_VER  "55772M"
20*4882a593Smuzhiyun 
21*4882a593Smuzhiyun #define HALMAC_MAJOR_VER        1
22*4882a593Smuzhiyun #define HALMAC_PROTOTYPE_VER    6
23*4882a593Smuzhiyun #define HALMAC_MINOR_VER        6
24*4882a593Smuzhiyun #define HALMAC_PATCH_VER        26
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun #define HALMAC_88XX_SUPPORT	(HALMAC_8821C_SUPPORT || \
27*4882a593Smuzhiyun 				 HALMAC_8822B_SUPPORT || \
28*4882a593Smuzhiyun 				 HALMAC_8822C_SUPPORT || \
29*4882a593Smuzhiyun 				 HALMAC_8812F_SUPPORT)
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun #define HALMAC_88XX_V1_SUPPORT	HALMAC_8814B_SUPPORT
32*4882a593Smuzhiyun 
33*4882a593Smuzhiyun #include "halmac_2_platform.h"
34*4882a593Smuzhiyun #include "halmac_type.h"
35*4882a593Smuzhiyun #include "halmac_hw_cfg.h"
36*4882a593Smuzhiyun #include "halmac_usb_reg.h"
37*4882a593Smuzhiyun #include "halmac_sdio_reg.h"
38*4882a593Smuzhiyun #include "halmac_pcie_reg.h"
39*4882a593Smuzhiyun #include "halmac_bit2.h"
40*4882a593Smuzhiyun #include "halmac_reg2.h"
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun #if HALMAC_PLATFORM_TESTPROGRAM
43*4882a593Smuzhiyun #include "halmac_type_testprogram.h"
44*4882a593Smuzhiyun #endif
45*4882a593Smuzhiyun 
46*4882a593Smuzhiyun #ifndef HALMAC_USE_TYPEDEF
47*4882a593Smuzhiyun #define HALMAC_USE_TYPEDEF	1
48*4882a593Smuzhiyun #endif
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun #if HALMAC_USE_TYPEDEF
51*4882a593Smuzhiyun #include "halmac_typedef.h"
52*4882a593Smuzhiyun #endif
53*4882a593Smuzhiyun 
54*4882a593Smuzhiyun #if HALMAC_8822B_SUPPORT
55*4882a593Smuzhiyun #include "halmac_reg_8822b.h"
56*4882a593Smuzhiyun #include "halmac_bit_8822b.h"
57*4882a593Smuzhiyun #endif
58*4882a593Smuzhiyun 
59*4882a593Smuzhiyun #if HALMAC_8821C_SUPPORT
60*4882a593Smuzhiyun #include "halmac_reg_8821c.h"
61*4882a593Smuzhiyun #include "halmac_bit_8821c.h"
62*4882a593Smuzhiyun #endif
63*4882a593Smuzhiyun 
64*4882a593Smuzhiyun #if HALMAC_8814B_SUPPORT
65*4882a593Smuzhiyun #include "halmac_reg_8814b.h"
66*4882a593Smuzhiyun #include "halmac_bit_8814b.h"
67*4882a593Smuzhiyun #endif
68*4882a593Smuzhiyun 
69*4882a593Smuzhiyun #if HALMAC_8822C_SUPPORT
70*4882a593Smuzhiyun #include "halmac_reg_8822c.h"
71*4882a593Smuzhiyun #include "halmac_bit_8822c.h"
72*4882a593Smuzhiyun #endif
73*4882a593Smuzhiyun 
74*4882a593Smuzhiyun #if HALMAC_8812F_SUPPORT
75*4882a593Smuzhiyun #include "halmac_reg_8812f.h"
76*4882a593Smuzhiyun #include "halmac_bit_8812f.h"
77*4882a593Smuzhiyun #endif
78*4882a593Smuzhiyun 
79*4882a593Smuzhiyun #if (HALMAC_PLATFORM_WINDOWS || HALMAC_PLATFORM_LINUX)
80*4882a593Smuzhiyun #include "halmac_tx_desc_nic.h"
81*4882a593Smuzhiyun #include "halmac_tx_desc_buffer_nic.h"
82*4882a593Smuzhiyun #include "halmac_tx_desc_ie_nic.h"
83*4882a593Smuzhiyun #include "halmac_rx_desc_nic.h"
84*4882a593Smuzhiyun #include "halmac_tx_bd_nic.h"
85*4882a593Smuzhiyun #include "halmac_rx_bd_nic.h"
86*4882a593Smuzhiyun #include "halmac_fw_offload_c2h_nic.h"
87*4882a593Smuzhiyun #include "halmac_fw_offload_h2c_nic.h"
88*4882a593Smuzhiyun #include "halmac_h2c_extra_info_nic.h"
89*4882a593Smuzhiyun #include "halmac_original_c2h_nic.h"
90*4882a593Smuzhiyun #include "halmac_original_h2c_nic.h"
91*4882a593Smuzhiyun #endif
92*4882a593Smuzhiyun 
93*4882a593Smuzhiyun #if (HALMAC_PLATFORM_AP)
94*4882a593Smuzhiyun #include "halmac_rx_desc_ap.h"
95*4882a593Smuzhiyun #include "halmac_tx_desc_ap.h"
96*4882a593Smuzhiyun #include "halmac_tx_desc_buffer_ap.h"
97*4882a593Smuzhiyun #include "halmac_tx_desc_ie_ap.h"
98*4882a593Smuzhiyun #include "halmac_fw_offload_c2h_ap.h"
99*4882a593Smuzhiyun #include "halmac_fw_offload_h2c_ap.h"
100*4882a593Smuzhiyun #include "halmac_h2c_extra_info_ap.h"
101*4882a593Smuzhiyun #include "halmac_original_c2h_ap.h"
102*4882a593Smuzhiyun #include "halmac_original_h2c_ap.h"
103*4882a593Smuzhiyun #endif
104*4882a593Smuzhiyun 
105*4882a593Smuzhiyun #if HALMAC_DBG_MONITOR_IO
106*4882a593Smuzhiyun #include "halmac_dbg.h"
107*4882a593Smuzhiyun #endif
108*4882a593Smuzhiyun #include "halmac_tx_desc_chip.h"
109*4882a593Smuzhiyun #include "halmac_rx_desc_chip.h"
110*4882a593Smuzhiyun #include "halmac_tx_desc_buffer_chip.h"
111*4882a593Smuzhiyun #include "halmac_tx_desc_ie_chip.h"
112*4882a593Smuzhiyun 
113*4882a593Smuzhiyun enum halmac_ret_status
114*4882a593Smuzhiyun halmac_init_adapter(void *drv_adapter, struct halmac_platform_api *pltfm_api,
115*4882a593Smuzhiyun 		    enum halmac_interface intf,
116*4882a593Smuzhiyun 		    struct halmac_adapter **halmac_adapter,
117*4882a593Smuzhiyun 		    struct halmac_api **halmac_api);
118*4882a593Smuzhiyun 
119*4882a593Smuzhiyun enum halmac_ret_status
120*4882a593Smuzhiyun halmac_deinit_adapter(struct halmac_adapter *adapter);
121*4882a593Smuzhiyun 
122*4882a593Smuzhiyun enum halmac_ret_status
123*4882a593Smuzhiyun halmac_halt_api(struct halmac_adapter *adapter);
124*4882a593Smuzhiyun 
125*4882a593Smuzhiyun enum halmac_ret_status
126*4882a593Smuzhiyun halmac_get_version(struct halmac_ver *version);
127*4882a593Smuzhiyun 
128*4882a593Smuzhiyun #endif
129