hc
2024-08-16 62c46c9150c4afde7e5b25436263fddf79d66f0b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright(c) 2009-2014  Realtek Corporation.*/
 
#ifndef __PHY_COMMON__
#define __PHY_COMMON__
 
#define RT_CANNOT_IO(hw)            false
 
enum swchnlcmd_id {
   CMDID_END,
   CMDID_SET_TXPOWEROWER_LEVEL,
   CMDID_BBREGWRITE10,
   CMDID_WRITEPORT_ULONG,
   CMDID_WRITEPORT_USHORT,
   CMDID_WRITEPORT_UCHAR,
   CMDID_RF_WRITEREG,
};
 
struct swchnlcmd {
   enum swchnlcmd_id cmdid;
   u32 para1;
   u32 para2;
   u32 msdelay;
};
 
u32 rtl8723_phy_query_bb_reg(struct ieee80211_hw *hw,
                u32 regaddr, u32 bitmask);
void rtl8723_phy_set_bb_reg(struct ieee80211_hw *hw, u32 regaddr,
                 u32 bitmask, u32 data);
u32 rtl8723_phy_calculate_bit_shift(u32 bitmask);
u32 rtl8723_phy_rf_serial_read(struct ieee80211_hw *hw,
                  enum radio_path rfpath, u32 offset);
void rtl8723_phy_rf_serial_write(struct ieee80211_hw *hw,
                enum radio_path rfpath,
                u32 offset, u32 data);
long rtl8723_phy_txpwr_idx_to_dbm(struct ieee80211_hw *hw,
                 enum wireless_mode wirelessmode,
                 u8 txpwridx);
void rtl8723_phy_init_bb_rf_reg_def(struct ieee80211_hw *hw);
bool rtl8723_phy_set_sw_chnl_cmdarray(struct swchnlcmd *cmdtable,
                     u32 cmdtableidx,
                     u32 cmdtablesz,
                     enum swchnlcmd_id cmdid,
                     u32 para1, u32 para2,
                     u32 msdelay);
void rtl8723_phy_path_a_fill_iqk_matrix(struct ieee80211_hw *hw,
                   bool iqk_ok,
                   long result[][8],
                   u8 final_candidate,
                   bool btxonly);
void rtl8723_save_adda_registers(struct ieee80211_hw *hw, u32 *addareg,
                u32 *addabackup, u32 registernum);
void rtl8723_phy_save_mac_registers(struct ieee80211_hw *hw,
                   u32 *macreg, u32 *macbackup);
void rtl8723_phy_reload_adda_registers(struct ieee80211_hw *hw,
                      u32 *addareg, u32 *addabackup,
                      u32 regiesternum);
void rtl8723_phy_reload_mac_registers(struct ieee80211_hw *hw,
                     u32 *macreg, u32 *macbackup);
void rtl8723_phy_path_adda_on(struct ieee80211_hw *hw, u32 *addareg,
                 bool is_patha_on, bool is2t);
void rtl8723_phy_mac_setting_calibration(struct ieee80211_hw *hw,
                    u32 *macreg, u32 *macbackup);
void rtl8723_phy_path_a_standby(struct ieee80211_hw *hw);
void rtl8723_phy_pi_mode_switch(struct ieee80211_hw *hw, bool pi_mode);
 
#endif