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 9 enum 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 19 struct swchnlcmd { 20 enum swchnlcmd_id cmdid; 21 u32 para1; 22 u32 para2; 23 u32 msdelay; 24 }; 25 26 u32 rtl8723_phy_query_bb_reg(struct ieee80211_hw *hw, 27 u32 regaddr, u32 bitmask); 28 void rtl8723_phy_set_bb_reg(struct ieee80211_hw *hw, u32 regaddr, 29 u32 bitmask, u32 data); 30 u32 rtl8723_phy_calculate_bit_shift(u32 bitmask); 31 u32 rtl8723_phy_rf_serial_read(struct ieee80211_hw *hw, 32 enum radio_path rfpath, u32 offset); 33 void rtl8723_phy_rf_serial_write(struct ieee80211_hw *hw, 34 enum radio_path rfpath, 35 u32 offset, u32 data); 36 long rtl8723_phy_txpwr_idx_to_dbm(struct ieee80211_hw *hw, 37 enum wireless_mode wirelessmode, 38 u8 txpwridx); 39 void rtl8723_phy_init_bb_rf_reg_def(struct ieee80211_hw *hw); 40 bool rtl8723_phy_set_sw_chnl_cmdarray(struct swchnlcmd *cmdtable, 41 u32 cmdtableidx, 42 u32 cmdtablesz, 43 enum swchnlcmd_id cmdid, 44 u32 para1, u32 para2, 45 u32 msdelay); 46 void rtl8723_phy_path_a_fill_iqk_matrix(struct ieee80211_hw *hw, 47 bool iqk_ok, 48 long result[][8], 49 u8 final_candidate, 50 bool btxonly); 51 void rtl8723_save_adda_registers(struct ieee80211_hw *hw, u32 *addareg, 52 u32 *addabackup, u32 registernum); 53 void rtl8723_phy_save_mac_registers(struct ieee80211_hw *hw, 54 u32 *macreg, u32 *macbackup); 55 void rtl8723_phy_reload_adda_registers(struct ieee80211_hw *hw, 56 u32 *addareg, u32 *addabackup, 57 u32 regiesternum); 58 void rtl8723_phy_reload_mac_registers(struct ieee80211_hw *hw, 59 u32 *macreg, u32 *macbackup); 60 void rtl8723_phy_path_adda_on(struct ieee80211_hw *hw, u32 *addareg, 61 bool is_patha_on, bool is2t); 62 void rtl8723_phy_mac_setting_calibration(struct ieee80211_hw *hw, 63 u32 *macreg, u32 *macbackup); 64 void rtl8723_phy_path_a_standby(struct ieee80211_hw *hw); 65 void rtl8723_phy_pi_mode_switch(struct ieee80211_hw *hw, bool pi_mode); 66 67 #endif 68