net: wireless: rockchip: add rtl8822be pcie wifi driver
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8822be / hal / halmac / halmac_88xx / halmac_api_88xx.h
1 #ifndef _HALMAC_API_88XX_H_
2 #define _HALMAC_API_88XX_H_
3
4 #include "../halmac_2_platform.h"
5 #include "../halmac_type.h"
6
7 VOID
8 halmac_init_state_machine_88xx(
9         IN PHALMAC_ADAPTER pHalmac_adapter
10 );
11
12 VOID
13 halmac_init_adapter_para_88xx(
14         IN PHALMAC_ADAPTER pHalmac_adapter
15 );
16
17 HALMAC_RET_STATUS
18 halmac_mount_api_88xx(
19         IN PHALMAC_ADAPTER pHalmac_adapter
20 );
21
22 HALMAC_RET_STATUS
23 halmac_download_firmware_88xx(
24         IN PHALMAC_ADAPTER pHalmac_adapter,
25         IN u8 *pHamacl_fw,
26         IN u32 halmac_fw_size
27 );
28
29 HALMAC_RET_STATUS
30 halmac_get_fw_version_88xx(
31         IN PHALMAC_ADAPTER pHalmac_adapter,
32         OUT PHALMAC_FW_VERSION pFw_version
33 );
34
35 HALMAC_RET_STATUS
36 halmac_cfg_mac_addr_88xx(
37         IN PHALMAC_ADAPTER pHalmac_adapter,
38         IN u8 halmac_port,
39         IN PHALMAC_WLAN_ADDR pHal_address
40 );
41
42 HALMAC_RET_STATUS
43 halmac_cfg_bssid_88xx(
44         IN PHALMAC_ADAPTER pHalmac_adapter,
45         IN u8 halmac_port,
46         IN PHALMAC_WLAN_ADDR pHal_address
47 );
48
49 HALMAC_RET_STATUS
50 halmac_cfg_multicast_addr_88xx(
51         IN PHALMAC_ADAPTER pHalmac_adapter,
52         IN PHALMAC_WLAN_ADDR pHal_address
53 );
54
55 HALMAC_RET_STATUS
56 halmac_pre_init_system_cfg_88xx(
57         IN PHALMAC_ADAPTER pHalmac_adapter
58 );
59
60 HALMAC_RET_STATUS
61 halmac_init_system_cfg_88xx(
62         IN PHALMAC_ADAPTER pHalmac_adapter
63 );
64
65 HALMAC_RET_STATUS
66 halmac_cfg_rx_aggregation_88xx(
67         IN PHALMAC_ADAPTER pHalmac_adapter,
68         IN HALMAC_RXAGG_CFG halmac_rxagg_cfg
69 );
70
71 HALMAC_RET_STATUS
72 halmac_init_protocol_cfg_88xx(
73         IN PHALMAC_ADAPTER pHalmac_adapter
74 );
75
76 HALMAC_RET_STATUS
77 halmac_init_edca_cfg_88xx(
78         IN PHALMAC_ADAPTER pHalmac_adapter
79 );
80
81 HALMAC_RET_STATUS
82 halmac_cfg_operation_mode_88xx(
83         IN PHALMAC_ADAPTER pHalmac_adapter,
84         IN HALMAC_WIRELESS_MODE wireless_mode
85 );
86
87 HALMAC_RET_STATUS
88 halmac_cfg_ch_bw_88xx(
89         IN PHALMAC_ADAPTER pHalmac_adapter,
90         IN u8 channel,
91         IN HALMAC_PRI_CH_IDX pri_ch_idx,
92         IN HALMAC_BW bw
93 );
94
95 HALMAC_RET_STATUS
96 halmac_cfg_ch_88xx(
97         IN PHALMAC_ADAPTER pHalmac_adapter,
98         IN u8 channel
99 );
100
101 HALMAC_RET_STATUS
102 halmac_cfg_pri_ch_idx_88xx(
103         IN PHALMAC_ADAPTER pHalmac_adapter,
104         IN HALMAC_PRI_CH_IDX pri_ch_idx
105 );
106
107 HALMAC_RET_STATUS
108 halmac_cfg_bw_88xx(
109         IN PHALMAC_ADAPTER pHalmac_adapter,
110         IN HALMAC_BW bw
111 );
112
113 HALMAC_RET_STATUS
114 halmac_init_wmac_cfg_88xx(
115         IN PHALMAC_ADAPTER pHalmac_adapter
116 );
117
118 HALMAC_RET_STATUS
119 halmac_init_mac_cfg_88xx(
120         IN PHALMAC_ADAPTER pHalmac_adapter,
121         IN HALMAC_TRX_MODE mode
122 );
123
124 HALMAC_RET_STATUS
125 halmac_clear_security_cam_88xx(
126         IN PHALMAC_ADAPTER pHalmac_adapter
127 );
128
129 HALMAC_RET_STATUS
130 halmac_dump_efuse_map_88xx(
131         IN PHALMAC_ADAPTER pHalmac_adapter,
132         IN HALMAC_EFUSE_READ_CFG cfg
133 );
134
135 HALMAC_RET_STATUS
136 halmac_dump_efuse_map_bt_88xx(
137         IN PHALMAC_ADAPTER pHalmac_adapter,
138         IN HALMAC_EFUSE_BANK halmac_efuse_bank,
139         IN u32 bt_efuse_map_size,
140         OUT u8 *pBT_efuse_map
141 );
142
143 HALMAC_RET_STATUS
144 halmac_write_efuse_bt_88xx(
145         IN PHALMAC_ADAPTER pHalmac_adapter,
146         IN u32 halmac_offset,
147         IN u8 halmac_value,
148         IN HALMAC_EFUSE_BANK halmac_efuse_bank
149 );
150
151 HALMAC_RET_STATUS
152 halmac_pg_efuse_by_map_88xx(
153         IN PHALMAC_ADAPTER pHalmac_adapter,
154         IN PHALMAC_PG_EFUSE_INFO pPg_efuse_info,
155         IN HALMAC_EFUSE_READ_CFG cfg
156 );
157
158 HALMAC_RET_STATUS
159 halmac_get_efuse_size_88xx(
160         IN PHALMAC_ADAPTER pHalmac_adapter,
161         OUT u32 *halmac_size
162 );
163
164 HALMAC_RET_STATUS
165 halmac_get_efuse_available_size_88xx(
166         IN PHALMAC_ADAPTER pHalmac_adapter,
167         OUT u32 *halmac_size
168 );
169
170 HALMAC_RET_STATUS
171 halmac_get_c2h_info_88xx(
172         IN PHALMAC_ADAPTER pHalmac_adapter,
173         IN u8 *halmac_buf,
174         IN u32 halmac_size
175 );
176
177 HALMAC_RET_STATUS
178 halmac_get_logical_efuse_size_88xx(
179         IN PHALMAC_ADAPTER pHalmac_adapter,
180         OUT u32 *halmac_size
181 );
182
183 HALMAC_RET_STATUS
184 halmac_dump_logical_efuse_map_88xx(
185         IN PHALMAC_ADAPTER pHalmac_adapter,
186         IN HALMAC_EFUSE_READ_CFG cfg
187 );
188
189 HALMAC_RET_STATUS
190 halmac_write_logical_efuse_88xx(
191         IN PHALMAC_ADAPTER pHalmac_adapter,
192         IN u32 halmac_offset,
193         IN u8 halmac_value
194 );
195
196 HALMAC_RET_STATUS
197 halmac_read_logical_efuse_88xx(
198         IN PHALMAC_ADAPTER pHalmac_adapter,
199         IN u32 halmac_offset,
200         OUT u8 *pValue
201 );
202
203 HALMAC_RET_STATUS
204 halmac_cfg_fwlps_option_88xx(
205         IN PHALMAC_ADAPTER pHalmac_adapter,
206         IN PHALMAC_FWLPS_OPTION pLps_option
207 );
208
209 HALMAC_RET_STATUS
210 halmac_cfg_fwips_option_88xx(
211         IN PHALMAC_ADAPTER pHalmac_adapter,
212         IN PHALMAC_FWIPS_OPTION pIps_option
213 );
214
215 HALMAC_RET_STATUS
216 halmac_enter_wowlan_88xx(
217         IN PHALMAC_ADAPTER pHalmac_adapter,
218         IN PHALMAC_WOWLAN_OPTION pWowlan_option
219 );
220
221 HALMAC_RET_STATUS
222 halmac_leave_wowlan_88xx(
223         IN PHALMAC_ADAPTER pHalmac_adapter
224 );
225
226 HALMAC_RET_STATUS
227 halmac_enter_ps_88xx(
228         IN PHALMAC_ADAPTER pHalmac_adapter,
229         IN HALMAC_PS_STATE ps_state
230 );
231
232 HALMAC_RET_STATUS
233 halmac_leave_ps_88xx(
234         IN PHALMAC_ADAPTER pHalmac_adapter
235 );
236
237 HALMAC_RET_STATUS
238 halmac_h2c_lb_88xx(
239         IN PHALMAC_ADAPTER pHalmac_adapter
240 );
241
242 HALMAC_RET_STATUS
243 halmac_debug_88xx(
244         IN PHALMAC_ADAPTER pHalmac_adapter
245 );
246
247 HALMAC_RET_STATUS
248 halmac_cfg_parameter_88xx(
249         IN PHALMAC_ADAPTER pHalmac_adapter,
250         IN PHALMAC_PHY_PARAMETER_INFO para_info,
251         IN u8 full_fifo
252 );
253
254 HALMAC_RET_STATUS
255 halmac_update_packet_88xx(
256         IN PHALMAC_ADAPTER pHalmac_adapter,
257         IN HALMAC_PACKET_ID pkt_id,
258         IN u8 *pkt,
259         IN u32 pkt_size
260 );
261
262 HALMAC_RET_STATUS
263 halmac_bcn_ie_filter_88xx(
264         IN PHALMAC_ADAPTER pHalmac_adapter,
265         IN PHALMAC_BCN_IE_INFO pBcn_ie_info
266 );
267
268 HALMAC_RET_STATUS
269 halmac_send_original_h2c_88xx(
270         IN PHALMAC_ADAPTER pHalmac_adapter,
271         IN u8 *original_h2c,
272         IN u16 *seq,
273         IN u8 ack
274 );
275
276 HALMAC_RET_STATUS
277 halmac_update_datapack_88xx(
278         IN PHALMAC_ADAPTER pHalmac_adapter,
279         IN HALMAC_DATA_TYPE halmac_data_type,
280         IN PHALMAC_PHY_PARAMETER_INFO para_info
281 );
282
283 HALMAC_RET_STATUS
284 halmac_run_datapack_88xx(
285         IN PHALMAC_ADAPTER pHalmac_adapter,
286         IN HALMAC_DATA_TYPE halmac_data_type
287 );
288
289 HALMAC_RET_STATUS
290 halmac_cfg_drv_info_88xx(
291         IN PHALMAC_ADAPTER pHalmac_adapter,
292         IN HALMAC_DRV_INFO halmac_drv_info
293 );
294
295 HALMAC_RET_STATUS
296 halmac_send_bt_coex_88xx(
297         IN PHALMAC_ADAPTER pHalmac_adapter,
298         IN u8 *pBt_buf,
299         IN u32 bt_size,
300         IN u8 ack
301 );
302
303 HALMAC_RET_STATUS
304 halmac_verify_platform_api_88xx(
305         IN PHALMAC_ADAPTER pHalmac_adapter
306 );
307
308 HALMAC_RET_STATUS
309 halmac_timer_2s_88xx(
310         IN PHALMAC_ADAPTER pHalmac_adapter
311 );
312
313 HALMAC_RET_STATUS
314 halmac_fill_txdesc_check_sum_88xx(
315         IN PHALMAC_ADAPTER pHalmac_adapter,
316         IN u8 *cur_desc
317 );
318
319 HALMAC_RET_STATUS
320 halmac_dump_fifo_88xx(
321         IN PHALMAC_ADAPTER pHalmac_adapter,
322         IN HAL_FIFO_SEL halmac_fifo_sel,
323         OUT u8 *pFifo_map,
324         IN u32 halmac_fifo_dump_size
325 );
326
327 u32
328 halmac_get_fifo_size_88xx(
329         IN PHALMAC_ADAPTER pHalmac_adapter,
330         IN HAL_FIFO_SEL halmac_fifo_sel
331 );
332
333 HALMAC_RET_STATUS
334 halmac_cfg_txbf_88xx(
335         IN PHALMAC_ADAPTER pHalmac_adapter,
336         IN u8 userid,
337         IN HALMAC_BW bw,
338         IN u8 txbf_en
339 );
340
341 HALMAC_RET_STATUS
342 halmac_cfg_mumimo_88xx(
343         IN PHALMAC_ADAPTER pHalmac_adapter,
344         IN PHALMAC_CFG_MUMIMO_PARA pCfgmu
345 );
346
347 HALMAC_RET_STATUS
348 halmac_cfg_sounding_88xx(
349         IN PHALMAC_ADAPTER pHalmac_adapter,
350         IN HALMAC_SND_ROLE role,
351         IN HALMAC_DATA_RATE datarate
352 );
353
354 HALMAC_RET_STATUS
355 halmac_del_sounding_88xx(
356         IN PHALMAC_ADAPTER pHalmac_adapter,
357         IN HALMAC_SND_ROLE role
358 );
359
360 HALMAC_RET_STATUS
361 halmac_su_bfee_entry_init_88xx(
362         IN PHALMAC_ADAPTER pHalmac_adapter,
363         IN u8 userid,
364         IN u16 paid
365 );
366
367 HALMAC_RET_STATUS
368 halmac_su_bfer_entry_init_88xx(
369         IN PHALMAC_ADAPTER pHalmac_adapter,
370         IN PHALMAC_SU_BFER_INIT_PARA pSu_bfer_init
371 );
372
373 HALMAC_RET_STATUS
374 halmac_mu_bfee_entry_init_88xx(
375         IN PHALMAC_ADAPTER pHalmac_adapter,
376         IN PHALMAC_MU_BFEE_INIT_PARA pMu_bfee_init
377 );
378
379 HALMAC_RET_STATUS
380 halmac_mu_bfer_entry_init_88xx(
381         IN PHALMAC_ADAPTER pHalmac_adapter,
382         IN PHALMAC_MU_BFER_INIT_PARA pMu_bfer_init
383 );
384
385 HALMAC_RET_STATUS
386 halmac_su_bfee_entry_del_88xx(
387         IN PHALMAC_ADAPTER pHalmac_adapter,
388         IN u8 userid
389 );
390
391 HALMAC_RET_STATUS
392 halmac_su_bfer_entry_del_88xx(
393         IN PHALMAC_ADAPTER pHalmac_adapter,
394         IN u8 userid
395 );
396
397 HALMAC_RET_STATUS
398 halmac_mu_bfee_entry_del_88xx(
399         IN PHALMAC_ADAPTER pHalmac_adapter,
400         IN u8 userid
401 );
402
403 HALMAC_RET_STATUS
404 halmac_mu_bfer_entry_del_88xx(
405         IN PHALMAC_ADAPTER pHalmac_adapter
406 );
407
408 HALMAC_RET_STATUS
409 halmac_add_ch_info_88xx(
410         IN PHALMAC_ADAPTER pHalmac_adapter,
411         IN PHALMAC_CH_INFO pCh_info
412 );
413
414 HALMAC_RET_STATUS
415 halmac_add_extra_ch_info_88xx(
416         IN PHALMAC_ADAPTER pHalmac_adapter,
417         IN PHALMAC_CH_EXTRA_INFO pCh_extra_info
418 );
419
420 HALMAC_RET_STATUS
421 halmac_ctrl_ch_switch_88xx(
422         IN PHALMAC_ADAPTER pHalmac_adapter,
423         IN PHALMAC_CH_SWITCH_OPTION pCs_option
424 );
425
426 HALMAC_RET_STATUS
427 halmac_clear_ch_info_88xx(
428         IN PHALMAC_ADAPTER pHalmac_adapter
429 );
430
431 HALMAC_RET_STATUS
432 halmac_send_general_info_88xx(
433         IN PHALMAC_ADAPTER pHalmac_adapter,
434         IN PHALMAC_GENERAL_INFO pGeneral_info
435 );
436
437 HALMAC_RET_STATUS
438 halmac_start_iqk_88xx(
439         IN PHALMAC_ADAPTER pHalmac_adapter,
440         IN u8 clear
441 );
442
443 HALMAC_RET_STATUS
444 halmac_ctrl_pwr_tracking_88xx(
445         IN PHALMAC_ADAPTER pHalmac_adapter,
446         IN PHALMAC_PWR_TRACKING_OPTION pPwr_tracking_opt
447 );
448
449 HALMAC_RET_STATUS
450 halmac_query_status_88xx(
451         IN PHALMAC_ADAPTER pHalmac_adapter,
452         IN HALMAC_FEATURE_ID feature_id,
453         OUT HALMAC_CMD_PROCESS_STATUS *pProcess_status,
454         INOUT u8 *data,
455         INOUT u32 *size
456 );
457
458 HALMAC_RET_STATUS
459 halmac_reset_feature_88xx(
460         IN PHALMAC_ADAPTER pHalmac_adapter,
461         IN HALMAC_FEATURE_ID feature_id
462 );
463
464 HALMAC_RET_STATUS
465 halmac_check_fw_status_88xx(
466         IN PHALMAC_ADAPTER pHalmac_adapter,
467         OUT u8 *fw_status
468 );
469
470 HALMAC_RET_STATUS
471 halmac_dump_fw_dmem_88xx(
472         IN PHALMAC_ADAPTER pHalmac_adapter,
473         INOUT u8 *dmem,
474         INOUT u32 *size
475 );
476
477 HALMAC_RET_STATUS
478 halmac_cfg_max_dl_size_88xx(
479         IN PHALMAC_ADAPTER pHalmac_adapter,
480         IN u32 size
481 );
482
483
484 HALMAC_RET_STATUS
485 halmac_psd_88xx(
486         IN PHALMAC_ADAPTER pHalmac_adapter,
487         IN u16 start_psd,
488         IN u16 end_psd
489 );
490
491 HALMAC_RET_STATUS
492 halmac_cfg_la_mode_88xx(
493         IN PHALMAC_ADAPTER pHalmac_adapter,
494         IN HALMAC_LA_MODE la_mode
495 );
496
497 HALMAC_RET_STATUS
498 halmac_get_hw_value_88xx(
499         IN PHALMAC_ADAPTER pHalmac_adapter,
500         IN HALMAC_HW_ID hw_id,
501         OUT VOID *pvalue
502 );
503
504 HALMAC_RET_STATUS
505 halmac_set_hw_value_88xx(
506         IN PHALMAC_ADAPTER pHalmac_adapter,
507         IN HALMAC_HW_ID hw_id,
508         IN VOID *pvalue
509 );
510
511 HALMAC_RET_STATUS
512 halmac_cfg_drv_rsvd_pg_num_88xx(
513         IN PHALMAC_ADAPTER pHalmac_adapter,
514         IN HALMAC_DRV_RSVD_PG_NUM pg_num
515 );
516
517 HALMAC_RET_STATUS
518 halmac_get_chip_version_88xx(
519         IN PHALMAC_ADAPTER pHalmac_adapter,
520         IN PHALMAC_VER pVersion
521 );
522
523 HALMAC_RET_STATUS
524 halmac_chk_txdesc_88xx(
525         IN PHALMAC_ADAPTER pHalmac_adapter,
526         IN u8 *pHalmac_buf,
527         IN u32 halmac_size
528 );
529
530
531 #endif/* _HALMAC_API_H_ */