xref: /OK3568_Linux_fs/external/rkwifibt/drivers/rtl8822cs/hal/phydm/halrf/rtl8822c/halrf_iqk_8822c.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /******************************************************************************
2  *
3  * Copyright(c) 2007 - 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  * The full GNU General Public License is included in this distribution in the
15  * file called LICENSE.
16  *
17  * Contact Information:
18  * wlanfae <wlanfae@realtek.com>
19  * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
20  * Hsinchu 300, Taiwan.
21  *
22  * Larry Finger <Larry.Finger@lwfinger.net>
23  *
24  *****************************************************************************/
25 
26 #ifndef __HALRF_IQK_8822C_H__
27 #define __HALRF_IQK_8822C_H__
28 
29 #if (RTL8822C_SUPPORT == 1)
30 /*--------------------------Define Parameters-------------------------------*/
31 #define MAC_REG_NUM_8822C 3
32 #define BB_REG_NUM_8822C 21
33 #define RF_REG_NUM_8822C 3
34 #define IQK_DELAY_8822C 2
35 #define IQK_STEP_8822C 7
36 #define RXK_STEP_8822C 6
37 #define IQK_CMD_8822C 0x8
38 
39 #define TXIQK 0
40 #define RXIQK 1
41 #define SS_8822C 2
42 
43 #define IQK_INFO_RSVD_LEN_8822C	568
44 /*---------------------------End Define Parameters-------------------------------*/
45 #if !(DM_ODM_SUPPORT_TYPE & ODM_AP)
46 void do_iqk_8822c(
47 	void *dm_void,
48 	u8 delta_thermal_index,
49 	u8 thermal_value,
50 	u8 threshold);
51 #else
52 void do_iqk_8822c(
53 	void *dm_void,
54 	u8 delta_thermal_index,
55 	u8 thermal_value,
56 	u8 threshold);
57 #endif
58 
59 void phy_iq_calibrate_8822c(
60 	void *dm_void,
61 	boolean clear,
62 	boolean segment_iqk);
63 
64 void iqk_get_cfir_8822c(void *dm_void, u8 idx, u8 path, boolean debug);
65 
66 void iqk_set_cfir_8822c(void *dm_void, u8 idx, u8 path, boolean debug);
67 
68 void iqk_reload_iqk_8822c(void *dm_void, boolean reset);
69 
70 void phy_get_iqk_cfir_8822c(void *dm_void, u8 idx, u8 path, boolean debug);
71 
72 void phy_iqk_dbg_cfir_backup_8822c(void *dm_void);
73 
74 void phy_iqk_dbg_cfir_backup_update_8822c(void *dm_void);
75 
76 void phy_iqk_dbg_cfir_reload_8822c(void *dm_void);
77 
78 void phy_iqk_dbg_cfir_write_8822c(void *dm_void, u8 type, u32 path, u32 idx, u32 i, u32 data);
79 
80 void phy_iqk_dbg_cfir_backup_show_8822c(void *dm_void);
81 
82 void iqk_info_rsvd_page_8822c(void *dm_void, u8 *buf, u32 *buf_size);
83 
84 void iqk_power_save_8822c(void *dm_void, boolean is_power_save);
85 
86 
87 #else /* (RTL8822C_SUPPORT == 0)*/
88 
89 #define phy_iq_calibrate_8822c(_pdm_void, clear, segment_iqk)
90 
91 #endif /* RTL8822C_SUPPORT */
92 
93 #endif /*__HALRF_IQK_8822C_H__*/
94