Linux Audio

Check our new training course

Loading...
 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