linux/drivers/net/wireless/realtek/rtlwifi/rtl8723com/phy_common.h
<<
>>
Prefs
   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_calculate_bit_shift(u32 bitmask);
  31u32 rtl8723_phy_rf_serial_read(struct ieee80211_hw *hw,
  32                               enum radio_path rfpath, u32 offset);
  33void rtl8723_phy_rf_serial_write(struct ieee80211_hw *hw,
  34                                 enum radio_path rfpath,
  35                                 u32 offset, u32 data);
  36long rtl8723_phy_txpwr_idx_to_dbm(struct ieee80211_hw *hw,
  37                                  enum wireless_mode wirelessmode,
  38                                  u8 txpwridx);
  39void rtl8723_phy_init_bb_rf_reg_def(struct ieee80211_hw *hw);
  40bool 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);
  46void 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);
  51void rtl8723_save_adda_registers(struct ieee80211_hw *hw, u32 *addareg,
  52                                 u32 *addabackup, u32 registernum);
  53void rtl8723_phy_save_mac_registers(struct ieee80211_hw *hw,
  54                                    u32 *macreg, u32 *macbackup);
  55void rtl8723_phy_reload_adda_registers(struct ieee80211_hw *hw,
  56                                       u32 *addareg, u32 *addabackup,
  57                                       u32 regiesternum);
  58void rtl8723_phy_reload_mac_registers(struct ieee80211_hw *hw,
  59                                      u32 *macreg, u32 *macbackup);
  60void rtl8723_phy_path_adda_on(struct ieee80211_hw *hw, u32 *addareg,
  61                              bool is_patha_on, bool is2t);
  62void rtl8723_phy_mac_setting_calibration(struct ieee80211_hw *hw,
  63                                         u32 *macreg, u32 *macbackup);
  64void rtl8723_phy_path_a_standby(struct ieee80211_hw *hw);
  65void rtl8723_phy_pi_mode_switch(struct ieee80211_hw *hw, bool pi_mode);
  66
  67#endif
  68