xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rtl8822bs/hal/btc/halbtc8822b1ant.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /******************************************************************************
2  *
3  * Copyright(c) 2016 - 2017 Realtek Corporation.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of version 2 of the GNU General Public License as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  *****************************************************************************/
15 
16 #if (BT_SUPPORT == 1 && COEX_SUPPORT == 1)
17 
18 #if (RTL8822B_SUPPORT == 1)
19 
20 /* *******************************************
21  * The following is for 8822B 1ANT BT Co-exist definition
22  * ********************************************/
23 #define BT_INFO_8822B_1ANT_B_FTP	BIT(7)
24 #define BT_INFO_8822B_1ANT_B_A2DP	BIT(6)
25 #define BT_INFO_8822B_1ANT_B_HID	BIT(5)
26 #define BT_INFO_8822B_1ANT_B_SCO_BUSY	BIT(4)
27 #define BT_INFO_8822B_1ANT_B_ACL_BUSY	BIT(3)
28 #define BT_INFO_8822B_1ANT_B_INQ_PAGE	BIT(2)
29 #define BT_INFO_8822B_1ANT_B_SCO_ESCO	BIT(1)
30 #define BT_INFO_8822B_1ANT_B_CONNECTION	BIT(0)
31 
32 #define BTC_RSSI_COEX_THRESH_TOL_8822B_1ANT	2
33 
34 #define BT_8822B_1ANT_WIFI_NOISY_THRESH	150 /* max: 255 */
35 #define BT_8822B_1ANT_DEFAULT_ISOLATION	15 /*  unit: dB */
36 
37 enum bt_8822b_1ant_signal_state {
38 	BT_8822B_1ANT_GNT_SET_TO_LOW	= 0x0,
39 	BT_8822B_1ANT_GNT_SET_TO_HIGH	= 0x1,
40 	BT_8822B_1ANT_GNT_SET_BY_HW	= 0x2,
41 	BT_8822B_1ANT_GNT_SET_MAX
42 };
43 
44 enum bt_8822b_1ant_path_ctrl_owner {
45 	BT_8822B_1ANT_PCO_BTSIDE	= 0x0,
46 	BT_8822B_1ANT_PCO_WLSIDE	= 0x1,
47 	BT_8822B_1ANT_PCO_MAX
48 };
49 
50 enum bt_8822b_1ant_gnt_ctrl_type {
51 	BT_8822B_1ANT_GNT_CTRL_BY_PTA	= 0x0,
52 	BT_8822B_1ANT_GNT_CTRL_BY_SW	= 0x1,
53 	BT_8822B_1ANT_GNT_CTRL_MAX
54 };
55 
56 enum bt_8822b_1ant_gnt_ctrl_block {
57 	BT_8822B_1ANT_GNT_BLOCK_RFC_BB	= 0x0,
58 	BT_8822B_1ANT_GNT_BLOCK_RFC	= 0x1,
59 	BT_8822B_1ANT_GNT_BLOCK_BB	= 0x2,
60 	BT_8822B_1ANT_GNT_BLOCK_MAX
61 };
62 
63 enum bt_8822b_1ant_lte_coex_table_type {
64 	BT_8822B_1ANT_CTT_WL_VS_LTE	= 0x0,
65 	BT_8822B_1ANT_CTT_BT_VS_LTE	= 0x1,
66 	BT_8822B_1ANT_CTT_MAX
67 };
68 
69 enum bt_8822b_1ant_lte_break_table_type {
70 	BT_8822B_1ANT_LBTT_WL_BREAK_LTE	= 0x0,
71 	BT_8822B_1ANT_LBTT_BT_BREAK_LTE	= 0x1,
72 	BT_8822B_1ANT_LBTT_LTE_BREAK_WL	= 0x2,
73 	BT_8822B_1ANT_LBTT_LTE_BREAK_BT	= 0x3,
74 	BT_8822B_1ANT_LBTT_MAX
75 };
76 
77 enum bt_info_src_8822b_1ant {
78 	BT_8822B_1ANT_INFO_SRC_WIFI_FW	= 0x0,
79 	BT_8822B_1ANT_INFO_SRC_BT_RSP	= 0x1,
80 	BT_8822B_1ANT_INFO_SRC_BT_ACT	= 0x2,
81 	BT_8822B_1ANT_INFO_SRC_BT_IQK	= 0x3,
82 	BT_8822B_1ANT_INFO_SRC_BT_SCBD	= 0x4,
83 	BT_8822B_1ANT_INFO_SRC_MAX
84 };
85 
86 enum bt_8822b_1ant_bt_status {
87 	BT_8822B_1ANT_BSTATUS_NCON_IDLE		= 0x0,
88 	BT_8822B_1ANT_BSTATUS_CON_IDLE		= 0x1,
89 	BT_8822B_1ANT_BSTATUS_INQ_PAGE		= 0x2,
90 	BT_8822B_1ANT_BSTATUS_ACL_BUSY		= 0x3,
91 	BT_8822B_1ANT_BSTATUS_SCO_BUSY		= 0x4,
92 	BT_8822B_1ANT_BSTATUS_ACL_SCO_BUSY	= 0x5,
93 	BT_8822B_1ANT_BSTATUS_MAX
94 };
95 
96 enum bt_8822b_1ant_wifi_status {
97 	BT_8822B_1ANT_WSTATUS_NCON_IDLE		= 0x0,
98 	BT_8822B_1ANT_WSTATUS_NCON_SCAN		= 0x1,
99 	BT_8822B_1ANT_WSTATUS_CON_SCAN		= 0x2,
100 	BT_8822B_1ANT_WSTATUS_CON_SPECPKT	= 0x3,
101 	BT_8822B_1ANT_WSTATUS_CON_IDLE		= 0x4,
102 	BT_8822B_1ANT_WSTATUS_CON_BUSY		= 0x5,
103 	BT_8822B_1ANT_WSTATUS_MAX
104 };
105 
106 enum bt_8822b_1ant_coex_algo {
107 	BT_8822B_1ANT_COEX_UNDEFINED		= 0x0,
108 	BT_8822B_1ANT_COEX_SCO			= 0x1,
109 	BT_8822B_1ANT_COEX_HID			= 0x2,
110 	BT_8822B_1ANT_COEX_A2DP			= 0x3,
111 	BT_8822B_1ANT_COEX_A2DP_PANHS		= 0x4,
112 	BT_8822B_1ANT_COEX_PAN			= 0x5,
113 	BT_8822B_1ANT_COEX_PANHS		= 0x6,
114 	BT_8822B_1ANT_COEX_PAN_A2DP		= 0x7,
115 	BT_8822B_1ANT_COEX_PAN_HID		= 0x8,
116 	BT_8822B_1ANT_COEX_HID_A2DP_PAN		= 0x9,
117 	BT_8822B_1ANT_COEX_HID_A2DP		= 0xa,
118 	BT_8822B_1ANT_COEX_NOPROFILEBUSY	= 0xb,
119 	BT_8822B_1ANT_COEX_A2DPSINK		= 0xc,
120 	BT_8822B_1ANT_COEX_MAX
121 };
122 
123 enum bt_8822b_1ant_ext_ant_switch_type {
124 	BT_8822B_1ANT_SWITCH_USE_SPDT	= 0x0,
125 	BT_8822B_1ANT_SWITCH_USE_SP3T	= 0x1,
126 	BT_8822B_1ANT_SWITCH_MAX
127 };
128 
129 enum bt_8822b_1ant_ext_ant_switch_ctrl_type {
130 	BT_8822B_1ANT_CTRL_BY_BBSW	= 0x0,
131 	BT_8822B_1ANT_CTRL_BY_PTA	= 0x1,
132 	BT_8822B_1ANT_CTRL_BY_ANTDIV	= 0x2,
133 	BT_8822B_1ANT_CTRL_BY_MAC	= 0x3,
134 	BT_8822B_1ANT_CTRL_BY_BT	= 0x4,
135 	BT_8822B_1ANT_CTRL_BY_FW	= 0x5,
136 	BT_8822B_1ANT_CTRL_MAX
137 };
138 
139 enum bt_8822b_1ant_ext_ant_switch_pos_type {
140 	BT_8822B_1ANT_TO_BT		= 0x0,
141 	BT_8822B_1ANT_TO_WLG		= 0x1,
142 	BT_8822B_1ANT_TO_WLA		= 0x2,
143 	BT_8822B_1ANT_TO_NOCARE		= 0x3,
144 	BT_8822B_1ANT_TO_S0WLG_S1BT	= 0x4,
145 	BT_8822B_1ANT_TO_MAX
146 };
147 
148 enum bt_8822b_1ant_phase {
149 	BT_8822B_1ANT_PHASE_INIT		= 0x0,
150 	BT_8822B_1ANT_PHASE_WONLY		= 0x1,
151 	BT_8822B_1ANT_PHASE_WOFF		= 0x2,
152 	BT_8822B_1ANT_PHASE_2G			= 0x3,
153 	BT_8822B_1ANT_PHASE_5G			= 0x4,
154 	BT_8822B_1ANT_PHASE_BTMP		= 0x5,
155 	BT_8822B_1ANT_PHASE_POWERON		= 0x6,
156 	BT_8822B_1ANT_PHASE_2G_WL		= 0x7,
157 	BT_8822B_1ANT_PHASE_2G_BT		= 0x8,
158 	BT_8822B_1ANT_PHASE_MCC			= 0x9,
159 	BT_8822B_1ANT_PHASE_2G_WLBT		= 0xa, /* GNT_BT/GNT_BT PTA */
160 	BT_8822B_1ANT_PHASE_2G_FREERUN		= 0xb, /* GNT_BT/GNT_BT SW Hi*/
161 	BT_8822B_1ANT_PHASE_MAX
162 };
163 
164 /*ADD SCOREBOARD TO FIX BT LPS 32K ISSUE WHILE WL BUSY*/
165 enum bt_8822b_1ant_scoreboard {
166 	BT_8822B_1ANT_SCBD_ACTIVE		= BIT(0),
167 	BT_8822B_1ANT_SCBD_ONOFF		= BIT(1),
168 	BT_8822B_1ANT_SCBD_SCAN			= BIT(2),
169 	BT_8822B_1ANT_SCBD_UNDERTEST		= BIT(3),
170 	BT_8822B_1ANT_SCBD_RXGAIN		= BIT(4),
171 	BT_8822B_1ANT_SCBD_WLBUSY		= BIT(6),
172 	BT_8822B_1ANT_SCBD_EXTFEM		= BIT(8),
173 	BT_8822B_1ANT_SCBD_TDMA			= BIT(9),
174 	BT_8822B_1ANT_SCBD_CQDDR		= BIT(10),
175 	BT_8822B_1ANT_SCBD_ALL			= 0xffff
176 };
177 
178 enum bt_8822b_1ant_RUNREASON {
179 	BT_8822B_1ANT_RSN_2GSCANSTART	= 0x0,
180 	BT_8822B_1ANT_RSN_5GSCANSTART	= 0x1,
181 	BT_8822B_1ANT_RSN_SCANFINISH	= 0x2,
182 	BT_8822B_1ANT_RSN_2GSWITCHBAND	= 0x3,
183 	BT_8822B_1ANT_RSN_5GSWITCHBAND	= 0x4,
184 	BT_8822B_1ANT_RSN_2GCONSTART	= 0x5,
185 	BT_8822B_1ANT_RSN_5GCONSTART	= 0x6,
186 	BT_8822B_1ANT_RSN_2GCONFINISH	= 0x7,
187 	BT_8822B_1ANT_RSN_5GCONFINISH	= 0x8,
188 	BT_8822B_1ANT_RSN_2GMEDIA	= 0x9,
189 	BT_8822B_1ANT_RSN_5GMEDIA	= 0xa,
190 	BT_8822B_1ANT_RSN_MEDIADISCON	= 0xb,
191 	BT_8822B_1ANT_RSN_2GSPECIALPKT	= 0xc,
192 	BT_8822B_1ANT_RSN_5GSPECIALPKT	= 0xd,
193 	BT_8822B_1ANT_RSN_BTINFO	= 0xe,
194 	BT_8822B_1ANT_RSN_PERIODICAL	= 0xf,
195 	BT_8822B_1ANT_RSN_PNP		= 0x10,
196 	BT_8822B_1ANT_RSN_LPS		= 0x11,
197 	BT_8822B_1ANT_RSN_MAX
198 };
199 
200 enum bt_8822b_1ant_WL_LINK_MODE {
201 	BT_8822B_1ANT_WLINK_2G1PORT	= 0x0,
202 	BT_8822B_1ANT_WLINK_2GMPORT	= 0x1,
203 	BT_8822B_1ANT_WLINK_25GMPORT	= 0x2,
204 	BT_8822B_1ANT_WLINK_5G		= 0x3,
205 	BT_8822B_1ANT_WLINK_2GGO	= 0x4,
206 	BT_8822B_1ANT_WLINK_2GGC	= 0x5,
207 	BT_8822B_1ANT_WLINK_BTMR	= 0x6,
208 	BT_8822B_1ANT_WLINK_MAX
209 };
210 
211 struct coex_dm_8822b_1ant {
212 	/* hw setting */
213 	u32	cur_ant_pos_type;
214 	/* fw mechanism */
215 	boolean cur_ignore_wlan_act;
216 
217 	u8	cur_ps_tdma;
218 	u8	ps_tdma_para[5];
219 	boolean auto_tdma_adjust;
220 	boolean cur_ps_tdma_on;
221 
222 	boolean cur_bt_auto_report;
223 	u8	cur_lps;
224 	u8	cur_rpwm;
225 
226 	u8	cur_bt_pwr_lvl;
227 	u8	cur_wl_pwr_lvl;
228 
229 	/* sw mechanism */
230 
231 	boolean cur_low_penalty_ra;
232 
233 	u32	cur_val0x6c0;
234 	u32	cur_val0x6c4;
235 	u32	cur_val0x6c8;
236 	u8	cur_val0x6cc;
237 
238 	/* algorithm related */
239 	u8	cur_algorithm;
240 	u8	bt_status;
241 	u8	wifi_chnl_info[3];
242 
243 	u32	arp_cnt;
244 
245 	u32	cur_switch_status;
246 
247 	boolean cur_agc_table_en;
248 	u32	setting_tdma;
249 };
250 
251 struct coex_sta_8822b_1ant {
252 	boolean bt_disabled;
253 	boolean bt_link_exist;
254 	boolean sco_exist;
255 	boolean a2dp_exist;
256 	boolean hid_exist;
257 	boolean pan_exist;
258 	boolean msft_mr_exist;
259 	boolean bt_a2dp_active;
260 	u8	num_of_profile;
261 
262 	boolean under_lps;
263 	boolean under_ips;
264 	u32	specific_pkt_period_cnt;
265 	u32	high_priority_tx;
266 	u32	high_priority_rx;
267 	u32	low_priority_tx;
268 	u32	low_priority_rx;
269 	boolean is_hi_pri_rx_overhead;
270 	s8	bt_rssi;
271 	u8	pre_bt_rssi_state;
272 	u8	pre_wifi_rssi_state[4];
273 	u8	bt_info_c2h[BT_8822B_1ANT_INFO_SRC_MAX][BTC_BTINFO_LENGTH_MAX];
274 	u32	bt_info_c2h_cnt[BT_8822B_1ANT_INFO_SRC_MAX];
275 	boolean bt_whck_test;
276 	boolean c2h_bt_inquiry_page;
277 	boolean c2h_bt_remote_name_req;
278 	boolean c2h_bt_page; /* Add for win8.1 page out issue */
279 	boolean	wifi_high_pri_task1;
280 	boolean	wifi_high_pri_task2;
281 
282 	u8	bt_info_lb2;
283 	u8	bt_info_lb3;
284 	u8	bt_info_hb0;
285 	u8	bt_info_hb1;
286 	u8	bt_info_hb2;
287 	u8	bt_info_hb3;
288 
289 	u32	pop_event_cnt;
290 	u8	scan_ap_num;
291 	u8	bt_retry_cnt;
292 
293 	u32	crc_ok_cck;
294 	u32	crc_ok_11g;
295 	u32	crc_ok_11n;
296 	u32	crc_ok_11n_vht;
297 
298 	u32	crc_err_cck;
299 	u32	crc_err_11g;
300 	u32	crc_err_11n;
301 	u32	crc_err_11n_vht;
302 
303 	boolean cck_lock;
304 	boolean cck_lock_ever;
305 	boolean cck_lock_warn;
306 
307 	u8	coex_table_type;
308 
309 	boolean force_lps_ctrl;
310 
311 	boolean concurrent_rx_mode_on;
312 
313 	u16	score_board;
314 	u8	isolation_btween_wb; /* 0~ 50 */
315 
316 	u8	a2dp_bit_pool;
317 	u8	kt_ver;
318 	boolean acl_busy;
319 	boolean bt_create_connection;
320 
321 	u32	bt_coex_supported_feature;
322 	u32	bt_coex_supported_version;
323 
324 	u8	bt_ble_scan_type;
325 	u32	bt_ble_scan_para[3];
326 
327 	boolean run_time_state;
328 	boolean freeze_coexrun_by_btinfo;
329 
330 	boolean is_A2DP_3M;
331 	boolean voice_over_HOGP;
332 	boolean bt_418_hid_exist;
333 	u8	forbidden_slot;
334 	u8	hid_busy_num;
335 	u8	hid_pair_cnt;
336 
337 	u32	cnt_remote_name_req;
338 	u32	cnt_setup_link;
339 	u32	cnt_reinit;
340 	u32	cnt_ign_wlan_act;
341 	u32	cnt_page;
342 	u32	cnt_role_switch;
343 	u32	cnt_wl_fw_notify;
344 
345 	u16	bt_reg_vendor_ac;
346 	u16	bt_reg_vendor_ae;
347 
348 	boolean is_setup_link;
349 	u8	wl_noisy_level;
350 	u32	gnt_error_cnt;
351 	u8	bt_afh_map[10];
352 	u8	bt_relink_downcount;
353 	boolean is_tdma_btautoslot;
354 
355 	u8	switch_band_notify_to;
356 
357 	boolean is_bt_multi_link;
358 	boolean is_bt_a2dp_sink;
359 
360 	boolean is_set_ps_state_fail;
361 	u8	cnt_set_ps_state_fail;
362 
363 	u8	wl_fw_dbg_info[10];
364 	u8	wl_rx_rate;
365 	u8	wl_tx_rate;
366 	u8	wl_rts_rx_rate;
367 	u8	wl_center_channel;
368 	u8	wl_tx_macid;
369 	u8	wl_tx_retry_ratio;
370 
371 	boolean is_2g_freerun;
372 
373 	u16	score_board_WB;
374 	boolean is_hid_rcu;
375 	u8	bt_a2dp_vendor_id;
376 	u32	bt_a2dp_device_name;
377 	u32	bt_a2dp_flush_time;
378 	boolean is_ble_scan_en;
379 
380 	boolean is_bt_opp_exist;
381 	boolean gl_wifi_busy;
382 
383 	boolean is_mimo_ps;
384 	u8	connect_ap_period_cnt;
385 	boolean is_bt_reenable;
386 	u8	cnt_bt_reenable;
387 	boolean is_wifi_linkscan_process;
388 	u8	wl_coex_mode;
389 
390 	u8	wl_pnp_wakeup_downcnt;
391 	u32	coex_run_cnt;
392 	boolean is_no_wl_5ms_extend;
393 
394 	u16	wl_0x42a_backup;
395 	u32	wl_0x430_backup;
396 	u32	wl_0x434_backup;
397 	u8	wl_0x455_backup;
398 
399 	boolean wl_tx_limit_en;
400 	boolean wl_ampdu_limit_en;
401 	boolean	wl_rxagg_limit_en;
402 	u8	wl_rxagg_size;
403 	u8	coex_run_reason;
404 
405 	u8	tdma_timer_base;
406 	boolean wl_slot_toggle;
407 	boolean wl_slot_toggle_change; /* if toggle to no-toggle */
408 };
409 
410 struct rfe_type_8822b_1ant {
411 	u8	rfe_module_type;
412 	boolean ext_switch_exist;
413 	u8	ext_switch_type;
414 	/*  iF 0: ANTSW(rfe_sel9)=0, ANTSWB(rfe_sel8)=1 =>  Ant to BT/5G */
415 	u8	ext_switch_polarity;
416 };
417 
418 struct wifi_link_info_8822b_1ant {
419 	u8	num_of_active_port;
420 	u32	port_connect_status;
421 	boolean is_all_under_5g;
422 	boolean is_mcc_25g;
423 	boolean is_p2p_connected;
424 	boolean is_connected;
425 };
426 
427 /* *******************************************
428  * The following is interface which will notify coex module.
429  * ********************************************/
430 void ex_halbtc8822b1ant_power_on_setting(struct btc_coexist *btc);
431 void ex_halbtc8822b1ant_pre_load_firmware(struct btc_coexist *btc);
432 void ex_halbtc8822b1ant_init_hw_config(struct btc_coexist *btc,
433 				       boolean wifi_only);
434 void ex_halbtc8822b1ant_init_coex_dm(struct btc_coexist *btc);
435 void ex_halbtc8822b1ant_ips_notify(struct btc_coexist *btc, u8 type);
436 void ex_halbtc8822b1ant_lps_notify(struct btc_coexist *btc, u8 type);
437 void ex_halbtc8822b1ant_scan_notify(struct btc_coexist *btc, u8 type);
438 void ex_halbtc8822b1ant_scan_notify_without_bt(struct btc_coexist *btc,
439 					       u8 type);
440 void ex_halbtc8822b1ant_switchband_notify(struct btc_coexist *btc,
441 					  u8 type);
442 void ex_halbtc8822b1ant_switchband_notify_without_bt(struct btc_coexist *btc,
443 						     u8 type);
444 void ex_halbtc8822b1ant_connect_notify(struct btc_coexist *btc, u8 type);
445 void ex_halbtc8822b1ant_media_status_notify(struct btc_coexist *btc,
446 					    u8 type);
447 void ex_halbtc8822b1ant_specific_packet_notify(struct btc_coexist *btc,
448 					       u8 type);
449 void ex_halbtc8822b1ant_bt_info_notify(struct btc_coexist *btc,
450 				       u8 *tmp_buf, u8 length);
451 void ex_halbtc8822b1ant_wl_fwdbginfo_notify(struct btc_coexist *btc,
452 					    u8 *tmp_buf, u8 length);
453 void ex_halbtc8822b1ant_rx_rate_change_notify(struct btc_coexist *btc,
454 					      BOOLEAN is_data_frame,
455 					      u8 btc_rate_id);
456 void ex_halbtc8822b1ant_tx_rate_change_notify(struct btc_coexist *btc,
457 					      u8 tx_rate,
458 					      u8 tx_retry_ratio, u8 macid);
459 void ex_halbtc8822b1ant_rf_status_notify(struct btc_coexist *btc, u8 type);
460 void ex_halbtc8822b1ant_halt_notify(struct btc_coexist *btc);
461 void ex_halbtc8822b1ant_pnp_notify(struct btc_coexist *btc, u8 pnp_state);
462 void ex_halbtc8822b1ant_score_board_status_notify(struct btc_coexist *btc,
463 						  u8 *tmp_buf, u8 length);
464 void ex_halbtc8822b1ant_coex_dm_reset(struct btc_coexist *btc);
465 void ex_halbtc8822b1ant_periodical(struct btc_coexist *btc);
466 void ex_halbtc8822b1ant_display_simple_coex_info(struct btc_coexist *btc);
467 void ex_halbtc8822b1ant_display_coex_info(struct btc_coexist *btc);
468 void ex_halbtc8822b1ant_dbg_control(struct btc_coexist *btc, u8 op_code,
469 				    u8 op_len, u8 *pdata);
470 
471 #else
472 #define ex_halbtc8822b1ant_power_on_setting(btc)
473 #define ex_halbtc8822b1ant_pre_load_firmware(btc)
474 #define ex_halbtc8822b1ant_init_hw_config(btc, wifi_only)
475 #define ex_halbtc8822b1ant_init_coex_dm(btc)
476 #define ex_halbtc8822b1ant_ips_notify(btc, type)
477 #define ex_halbtc8822b1ant_lps_notify(btc, type)
478 #define ex_halbtc8822b1ant_scan_notify(btc, type)
479 #define ex_halbtc8822b1ant_scan_notify_without_bt(btc, type)
480 #define ex_halbtc8822b1ant_switchband_notify(btc, type)
481 #define ex_halbtc8822b1ant_switchband_notify_without_bt(btc, type)
482 #define ex_halbtc8822b1ant_connect_notify(btc, type)
483 #define ex_halbtc8822b1ant_media_status_notify(btc, type)
484 #define ex_halbtc8822b1ant_specific_packet_notify(btc, type)
485 #define ex_halbtc8822b1ant_bt_info_notify(btc, tmp_buf, length)
486 #define ex_halbtc8822b1ant_wl_fwdbginfo_notify(btc, tmp_buf, length)
487 #define ex_halbtc8822b1ant_rx_rate_change_notify(btc, is_data_frame,     \
488 						 btc_rate_id)
489 #define ex_halbtc8822b1ant_tx_rate_change_notify(btcoexist, tx_rate,     \
490 						tx_retry_ratio, macid)
491 #define ex_halbtc8822b1ant_rf_status_notify(btc, type)
492 #define ex_halbtc8822b1ant_halt_notify(btc)
493 #define ex_halbtc8822b1ant_pnp_notify(btc, pnp_state)
494 #define ex_halbtc8822b1ant_score_board_status_notify(btc, tmp_buf, length)
495 #define ex_halbtc8822b1ant_coex_dm_reset(btc)
496 #define ex_halbtc8822b1ant_periodical(btc)
497 #define ex_halbtc8822b1ant_display_coex_info(btc)
498 #define ex_halbtc8822b1ant_dbg_control(btc, op_code, op_len, pdata)
499 #endif
500 #else
501 
502 void
503 ex_halbtc8822b1ant_init_hw_config_without_bt(struct btc_coexist *btc);
504 void ex_halbtc8822b1ant_switch_band_without_bt(struct btc_coexist *btc,
505 					       boolean wifi_only_5g);
506 
507 #endif
508