#include "coex.h"
#include "debug.h"
#include "mac.h"
#include "phy.h"
#include "reg.h"
#include "rtw8852b_common.h"
#include "util.h"
static const struct rtw89_reg3_def rtw8852bx_pmac_ht20_mcs7_tbl[] = …;
static const struct rtw89_reg3_def rtw8852bx_btc_preagc_en_defs[] = …;
static DECLARE_PHY_REG3_TBL(rtw8852bx_btc_preagc_en_defs);
static const struct rtw89_reg3_def rtw8852bx_btc_preagc_dis_defs[] = …;
static DECLARE_PHY_REG3_TBL(rtw8852bx_btc_preagc_dis_defs);
static void rtw8852be_efuse_parsing(struct rtw89_efuse *efuse,
struct rtw8852bx_efuse *map)
{ … }
static void rtw8852bx_efuse_parsing_tssi(struct rtw89_dev *rtwdev,
struct rtw8852bx_efuse *map)
{ … }
static bool _decode_efuse_gain(u8 data, s8 *high, s8 *low)
{ … }
static void rtw8852bx_efuse_parsing_gain_offset(struct rtw89_dev *rtwdev,
struct rtw8852bx_efuse *map)
{ … }
static int __rtw8852bx_read_efuse(struct rtw89_dev *rtwdev, u8 *log_map,
enum rtw89_efuse_block block)
{ … }
static void rtw8852bx_phycap_parsing_power_cal(struct rtw89_dev *rtwdev, u8 *phycap_map)
{ … }
static void rtw8852bx_phycap_parsing_tssi(struct rtw89_dev *rtwdev, u8 *phycap_map)
{ … }
static void rtw8852bx_phycap_parsing_thermal_trim(struct rtw89_dev *rtwdev,
u8 *phycap_map)
{ … }
static void rtw8852bx_thermal_trim(struct rtw89_dev *rtwdev)
{ … }
static void rtw8852bx_phycap_parsing_pa_bias_trim(struct rtw89_dev *rtwdev,
u8 *phycap_map)
{ … }
static void rtw8852bx_pa_bias_trim(struct rtw89_dev *rtwdev)
{ … }
static void rtw8852bx_phycap_parsing_gain_comp(struct rtw89_dev *rtwdev, u8 *phycap_map)
{ … }
static int __rtw8852bx_read_phycap(struct rtw89_dev *rtwdev, u8 *phycap_map)
{ … }
static void __rtw8852bx_power_trim(struct rtw89_dev *rtwdev)
{ … }
static void __rtw8852bx_set_channel_mac(struct rtw89_dev *rtwdev,
const struct rtw89_chan *chan,
u8 mac_idx)
{ … }
static const u32 rtw8852bx_sco_barker_threshold[14] = …;
static const u32 rtw8852bx_sco_cck_threshold[14] = …;
static void rtw8852bx_ctrl_sco_cck(struct rtw89_dev *rtwdev, u8 primary_ch)
{ … }
static u8 rtw8852bx_sco_mapping(u8 central_ch)
{ … }
struct rtw8852bx_bb_gain { … };
static const struct rtw8852bx_bb_gain bb_gain_lna[LNA_GAIN_NUM] = …;
static const struct rtw8852bx_bb_gain bb_gain_tia[TIA_GAIN_NUM] = …;
static void rtw8852bx_set_gain_error(struct rtw89_dev *rtwdev,
enum rtw89_subband subband,
enum rtw89_rf_path path)
{ … }
static void rtw8852bt_ext_loss_avg_update(struct rtw89_dev *rtwdev,
s8 ext_loss_a, s8 ext_loss_b)
{ … }
static void rtw8852bx_set_gain_offset(struct rtw89_dev *rtwdev,
enum rtw89_subband subband,
enum rtw89_phy_idx phy_idx)
{ … }
static
void rtw8852bx_set_rxsc_rpl_comp(struct rtw89_dev *rtwdev, enum rtw89_subband subband)
{ … }
static void rtw8852bx_ctrl_ch(struct rtw89_dev *rtwdev,
const struct rtw89_chan *chan,
enum rtw89_phy_idx phy_idx)
{ … }
static void rtw8852b_bw_setting(struct rtw89_dev *rtwdev, u8 bw, u8 path)
{ … }
static
void rtw8852bt_adc_cfg(struct rtw89_dev *rtwdev, u8 bw, u8 path)
{ … }
static void rtw8852bx_ctrl_bw(struct rtw89_dev *rtwdev, u8 pri_ch, u8 bw,
enum rtw89_phy_idx phy_idx)
{ … }
static void rtw8852bx_ctrl_cck_en(struct rtw89_dev *rtwdev, bool cck_en)
{ … }
static void rtw8852bx_5m_mask(struct rtw89_dev *rtwdev, const struct rtw89_chan *chan,
enum rtw89_phy_idx phy_idx)
{ … }
static void __rtw8852bx_bb_reset_all(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx)
{ … }
static void rtw8852bx_bb_macid_ctrl_init(struct rtw89_dev *rtwdev,
enum rtw89_phy_idx phy_idx)
{ … }
static void __rtw8852bx_bb_sethw(struct rtw89_dev *rtwdev)
{ … }
static void rtw8852bx_bb_set_pop(struct rtw89_dev *rtwdev)
{ … }
static u32 rtw8852bt_spur_freq(struct rtw89_dev *rtwdev,
const struct rtw89_chan *chan)
{ … }
#define CARRIER_SPACING_312_5 …
#define CARRIER_SPACING_78_125 …
#define MAX_TONE_NUM …
static void rtw8852bt_set_csi_tone_idx(struct rtw89_dev *rtwdev,
const struct rtw89_chan *chan,
enum rtw89_phy_idx phy_idx)
{ … }
static
void __rtw8852bx_set_channel_bb(struct rtw89_dev *rtwdev, const struct rtw89_chan *chan,
enum rtw89_phy_idx phy_idx)
{ … }
static u32 rtw8852bx_bb_cal_txpwr_ref(struct rtw89_dev *rtwdev,
enum rtw89_phy_idx phy_idx, s16 ref)
{ … }
static void rtw8852bx_set_txpwr_ref(struct rtw89_dev *rtwdev,
enum rtw89_phy_idx phy_idx)
{ … }
static void rtw8852bx_bb_set_tx_shape_dfir(struct rtw89_dev *rtwdev,
const struct rtw89_chan *chan,
u8 tx_shape_idx,
enum rtw89_phy_idx phy_idx)
{ … }
static void rtw8852bx_set_tx_shape(struct rtw89_dev *rtwdev,
const struct rtw89_chan *chan,
enum rtw89_phy_idx phy_idx)
{ … }
static void __rtw8852bx_set_txpwr(struct rtw89_dev *rtwdev,
const struct rtw89_chan *chan,
enum rtw89_phy_idx phy_idx)
{ … }
static void __rtw8852bx_set_txpwr_ctrl(struct rtw89_dev *rtwdev,
enum rtw89_phy_idx phy_idx)
{ … }
static
void __rtw8852bx_set_txpwr_ul_tb_offset(struct rtw89_dev *rtwdev,
s8 pw_ofst, enum rtw89_mac_idx mac_idx)
{ … }
static int
__rtw8852bx_init_txpwr_unit(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx)
{ … }
static
void __rtw8852bx_bb_set_plcp_tx(struct rtw89_dev *rtwdev)
{ … }
static void rtw8852bx_stop_pmac_tx(struct rtw89_dev *rtwdev,
struct rtw8852bx_bb_pmac_info *tx_info,
enum rtw89_phy_idx idx)
{ … }
static void rtw8852bx_start_pmac_tx(struct rtw89_dev *rtwdev,
struct rtw8852bx_bb_pmac_info *tx_info,
enum rtw89_phy_idx idx)
{ … }
static
void rtw8852bx_bb_set_pmac_tx(struct rtw89_dev *rtwdev,
struct rtw8852bx_bb_pmac_info *tx_info,
enum rtw89_phy_idx idx, const struct rtw89_chan *chan)
{ … }
static
void __rtw8852bx_bb_set_pmac_pkt_tx(struct rtw89_dev *rtwdev, u8 enable,
u16 tx_cnt, u16 period, u16 tx_time,
enum rtw89_phy_idx idx, const struct rtw89_chan *chan)
{ … }
static
void __rtw8852bx_bb_set_power(struct rtw89_dev *rtwdev, s16 pwr_dbm,
enum rtw89_phy_idx idx)
{ … }
static
void __rtw8852bx_bb_cfg_tx_path(struct rtw89_dev *rtwdev, u8 tx_path)
{ … }
static
void __rtw8852bx_bb_tx_mode_switch(struct rtw89_dev *rtwdev,
enum rtw89_phy_idx idx, u8 mode)
{ … }
static
void __rtw8852bx_bb_backup_tssi(struct rtw89_dev *rtwdev, enum rtw89_phy_idx idx,
struct rtw8852bx_bb_tssi_bak *bak)
{ … }
static
void __rtw8852bx_bb_restore_tssi(struct rtw89_dev *rtwdev, enum rtw89_phy_idx idx,
const struct rtw8852bx_bb_tssi_bak *bak)
{ … }
static void __rtw8852bx_ctrl_nbtg_bt_tx(struct rtw89_dev *rtwdev, bool en,
enum rtw89_phy_idx phy_idx)
{ … }
static void __rtw8852bx_ctrl_btg_bt_rx(struct rtw89_dev *rtwdev, bool en,
enum rtw89_phy_idx phy_idx)
{ … }
static
void __rtw8852bx_bb_ctrl_rx_path(struct rtw89_dev *rtwdev,
enum rtw89_rf_path_bit rx_path,
const struct rtw89_chan *chan)
{ … }
static void rtw8852bx_bb_ctrl_rf_mode_rx_path(struct rtw89_dev *rtwdev,
enum rtw89_rf_path_bit rx_path)
{ … }
static void __rtw8852bx_bb_cfg_txrx_path(struct rtw89_dev *rtwdev)
{ … }
static u8 __rtw8852bx_get_thermal(struct rtw89_dev *rtwdev, enum rtw89_rf_path rf_path)
{ … }
static
void rtw8852bx_set_trx_mask(struct rtw89_dev *rtwdev, u8 path, u8 group, u32 val)
{ … }
static void __rtw8852bx_btc_init_cfg(struct rtw89_dev *rtwdev)
{ … }
static
void __rtw8852bx_btc_set_wl_pri(struct rtw89_dev *rtwdev, u8 map, bool state)
{ … }
static
s8 __rtw8852bx_btc_get_bt_rssi(struct rtw89_dev *rtwdev, s8 val)
{ … }
static
void __rtw8852bx_btc_update_bt_cnt(struct rtw89_dev *rtwdev)
{ … }
static void __rtw8852bx_btc_wl_s1_standby(struct rtw89_dev *rtwdev, bool state)
{ … }
static void rtw8852bx_btc_set_wl_lna2(struct rtw89_dev *rtwdev, u8 level)
{ … }
static void __rtw8852bx_btc_set_wl_rx_gain(struct rtw89_dev *rtwdev, u32 level)
{ … }
static void rtw8852bx_fill_freq_with_ppdu(struct rtw89_dev *rtwdev,
struct rtw89_rx_phy_ppdu *phy_ppdu,
struct ieee80211_rx_status *status)
{ … }
static void __rtw8852bx_query_ppdu(struct rtw89_dev *rtwdev,
struct rtw89_rx_phy_ppdu *phy_ppdu,
struct ieee80211_rx_status *status)
{ … }
static void __rtw8852bx_convert_rpl_to_rssi(struct rtw89_dev *rtwdev,
struct rtw89_rx_phy_ppdu *phy_ppdu)
{ … }
static int __rtw8852bx_mac_enable_bb_rf(struct rtw89_dev *rtwdev)
{ … }
static int __rtw8852bx_mac_disable_bb_rf(struct rtw89_dev *rtwdev)
{ … }
const struct rtw8852bx_info rtw8852bx_info = …;
EXPORT_SYMBOL(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;