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

source code of linux/drivers/net/wireless/realtek/rtlwifi/rtl8723com/phy_common.h