linux/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c

// SPDX-License-Identifier: ISC
/*
 * Copyright (c) 2010 Broadcom Corporation
 */

#define pr_fmt(fmt)

#include <linux/kernel.h>
#include <linux/delay.h>
#include <linux/cordic.h>

#include <brcm_hw_ids.h>
#include <aiutils.h>
#include <chipcommon.h>
#include <pmu.h>
#include <d11.h>
#include <phy_shim.h>
#include "phy_int.h"
#include "phy_hal.h"
#include "phy_radio.h"
#include "phyreg_n.h"
#include "phytbl_n.h"
#include "soc.h"

#define READ_RADIO_REG2(pi, radio_type, jspace, core, reg_name)

#define WRITE_RADIO_REG2(pi, radio_type, jspace, core, reg_name, value)

#define WRITE_RADIO_SYN(pi, radio_type, reg_name, value)

#define READ_RADIO_REG3(pi, radio_type, jspace, core, reg_name)

#define WRITE_RADIO_REG3(pi, radio_type, jspace, core, reg_name, value)

#define READ_RADIO_REG4(pi, radio_type, jspace, core, reg_name)

#define WRITE_RADIO_REG4(pi, radio_type, jspace, core, reg_name, value)

#define NPHY_ACI_MAX_UNDETECT_WINDOW_SZ
#define NPHY_ACI_CHANNEL_DELTA
#define NPHY_ACI_CHANNEL_SKIP
#define NPHY_ACI_40MHZ_CHANNEL_DELTA
#define NPHY_ACI_40MHZ_CHANNEL_SKIP
#define NPHY_ACI_40MHZ_CHANNEL_DELTA_GE_REV3
#define NPHY_ACI_40MHZ_CHANNEL_SKIP_GE_REV3
#define NPHY_ACI_CHANNEL_DELTA_GE_REV3
#define NPHY_ACI_CHANNEL_SKIP_GE_REV3

#define NPHY_NOISE_NOASSOC_GLITCH_TH_UP

#define NPHY_NOISE_NOASSOC_GLITCH_TH_DN

#define NPHY_NOISE_ASSOC_GLITCH_TH_UP

#define NPHY_NOISE_ASSOC_GLITCH_TH_DN

#define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_UP

#define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_DN

#define NPHY_NOISE_NOASSOC_ENTER_TH

#define NPHY_NOISE_ASSOC_ENTER_TH

#define NPHY_NOISE_ASSOC_RX_GLITCH_BADPLCP_ENTER_TH

#define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX
#define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX_REV_7

#define NPHY_NOISE_NOASSOC_CRSIDX_INCR

#define NPHY_NOISE_ASSOC_CRSIDX_INCR

#define NPHY_IS_SROM_REINTERPRET

#define NPHY_RSSICAL_MAXREAD

#define NPHY_RSSICAL_NPOLL
#define NPHY_RSSICAL_MAXD
#define NPHY_MIN_RXIQ_PWR

#define NPHY_RSSICAL_W1_TARGET
#define NPHY_RSSICAL_W2_TARGET
#define NPHY_RSSICAL_NB_TARGET

#define NPHY_RSSICAL_W1_TARGET_REV3
#define NPHY_RSSICAL_W2_TARGET_REV3

#define NPHY_CALSANITY_RSSI_NB_MAX_POS
#define NPHY_CALSANITY_RSSI_NB_MAX_NEG
#define NPHY_CALSANITY_RSSI_W1_MAX_POS
#define NPHY_CALSANITY_RSSI_W1_MAX_NEG
#define NPHY_CALSANITY_RSSI_W2_MAX_POS
#define NPHY_CALSANITY_RSSI_W2_MAX_NEG
#define NPHY_RSSI_SXT(x)
#define NPHY_RSSI_NB_VIOL(x)
#define NPHY_RSSI_W1_VIOL(x)
#define NPHY_RSSI_W2_VIOL(x)

#define NPHY_IQCAL_NUMGAINS
#define NPHY_N_GCTL

#define NPHY_PAPD_EPS_TBL_SIZE
#define NPHY_PAPD_SCL_TBL_SIZE
#define NPHY_NUM_DIG_FILT_COEFFS

#define NPHY_PAPD_COMP_OFF
#define NPHY_PAPD_COMP_ON

#define NPHY_SROM_TEMPSHIFT
#define NPHY_SROM_MAXTEMPOFFSET
#define NPHY_SROM_MINTEMPOFFSET

#define NPHY_CAL_MAXTEMPDELTA

#define NPHY_NOISEVAR_TBLLEN40
#define NPHY_NOISEVAR_TBLLEN20

#define NPHY_ANARXLPFBW_REDUCTIONFACT

#define NPHY_ADJUSTED_MINCRSPOWER

/* 5357 Chip specific ChipControl register bits */
#define CCTRL5357_EXTPA
#define CCTRL5357_ANT_MUX_2o3

#define NPHY_CAL_TSSISAMPS
#define NPHY_TEST_TONE_FREQ_40MHz
#define NPHY_TEST_TONE_FREQ_20MHz

#define MAX_205x_RCAL_WAITLOOPS

#define NPHY_RXCAL_TONEAMP
#define NPHY_RXCAL_TONEFREQ_40MHz
#define NPHY_RXCAL_TONEFREQ_20MHz

#define TXFILT_SHAPING_OFDM20
#define TXFILT_SHAPING_OFDM40
#define TXFILT_SHAPING_CCK
#define TXFILT_DEFAULT_OFDM20
#define TXFILT_DEFAULT_OFDM40

struct nphy_iqcal_params {};

struct nphy_txiqcal_ladder {};

struct nphy_ipa_txcalgains {};

struct nphy_papd_restore_state {};

struct nphy_ipa_txrxgain {};

#define NPHY_IPA_RXCAL_MAXGAININDEX

static const struct nphy_ipa_txrxgain nphy_ipa_rxcal_gaintbl_5GHz[] =;

static const struct nphy_ipa_txrxgain nphy_ipa_rxcal_gaintbl_2GHz[] =;

static const struct nphy_ipa_txrxgain nphy_ipa_rxcal_gaintbl_5GHz_rev7[] =;

static const struct nphy_ipa_txrxgain nphy_ipa_rxcal_gaintbl_2GHz_rev7[] =;

enum {};

#define wlc_phy_get_papd_nphy(pi)

static const u16 NPHY_IPA_REV4_txdigi_filtcoeffs[][NPHY_NUM_DIG_FILT_COEFFS] =;

struct chan_info_nphy_2055 {};

struct chan_info_nphy_radio205x {};

struct chan_info_nphy_radio2057 {};

struct chan_info_nphy_radio2057_rev5 {};

struct nphy_sfo_cfg {};

static const struct chan_info_nphy_2055 chan_info_nphy_2055[] =;

static const struct chan_info_nphy_radio205x chan_info_nphyrev3_2056[] =;

static const struct chan_info_nphy_radio205x chan_info_nphyrev4_2056_A1[] =;

static const struct chan_info_nphy_radio205x chan_info_nphyrev5_2056v5[] =;

static const struct chan_info_nphy_radio205x chan_info_nphyrev6_2056v6[] =;

static const struct chan_info_nphy_radio205x chan_info_nphyrev5n6_2056v7[] =;

static const struct chan_info_nphy_radio205x chan_info_nphyrev6_2056v8[] =;

static const struct chan_info_nphy_radio205x chan_info_nphyrev6_2056v11[] =;

static const struct chan_info_nphy_radio2057 chan_info_nphyrev7_2057_rev4[] =;

static const struct chan_info_nphy_radio2057_rev5
chan_info_nphyrev8_2057_rev5[] =<TRUNCATED>static const struct chan_info_nphy_radio2057_rev5
chan_info_nphyrev9_2057_rev5v1[] =static const struct chan_info_nphy_radio2057 chan_info_nphyrev8_2057_rev7[] =static const struct chan_info_nphy_radio2057 chan_info_nphyrev8_2057_rev8[] =static struct radio_regs regs_2055[] =static struct radio_regs regs_SYN_2056[] =static struct radio_regs regs_TX_2056[] =static struct radio_regs regs_RX_2056[] =static struct radio_regs regs_SYN_2056_A1[] =static struct radio_regs regs_TX_2056_A1[] =static struct radio_regs regs_RX_2056_A1[] =static struct radio_regs regs_SYN_2056_rev5[] =static struct radio_regs regs_TX_2056_rev5[] =static struct radio_regs regs_RX_2056_rev5[] =static struct radio_regs regs_SYN_2056_rev6[] =static struct radio_regs regs_TX_2056_rev6[] =static struct radio_regs regs_RX_2056_rev6[] =static struct radio_regs regs_SYN_2056_rev7[] =static struct radio_regs regs_TX_2056_rev7[] =static struct radio_regs regs_RX_2056_rev7[] =static struct radio_regs regs_SYN_2056_rev8[] =static struct radio_regs regs_TX_2056_rev8[] =static struct radio_regs regs_RX_2056_rev8[] =static const struct radio_regs regs_SYN_2056_rev11[] =static const struct radio_regs regs_TX_2056_rev11[] =static const struct radio_regs regs_RX_2056_rev11[] =static struct radio_20xx_regs regs_2057_rev4[] =static struct radio_20xx_regs regs_2057_rev5[] =static struct radio_20xx_regs regs_2057_rev5v1[] =static struct radio_20xx_regs regs_2057_rev7[] =static struct radio_20xx_regs regs_2057_rev8[] =static s16 nphy_def_lnagains[] =static s32 nphy_lnagain_est0[] =static s32 nphy_lnagain_est1[] =static const u16 tbl_iqcal_gainparams_nphy[2][NPHY_IQCAL_NUMGAINS][8] =static const u32 nphy_tpc_txgain[] =static const u16 nphy_tpc_loscale[] =static u32 nphy_tpc_txgain_ipa[] =static u32 nphy_tpc_txgain_ipa_rev5[] =static u32 nphy_tpc_txgain_ipa_rev6[] =static u32 nphy_tpc_txgain_ipa_2g_2057rev3[] =static u32 nphy_tpc_txgain_ipa_2g_2057rev4n6[] =static u32 nphy_tpc_txgain_ipa_2g_2057rev5[] =static u32 nphy_tpc_txgain_ipa_2g_2057rev7[] =static u32 nphy_tpc_txgain_ipa_5g[] =static u32 nphy_tpc_txgain_ipa_5g_2057[] =static u32 nphy_tpc_txgain_ipa_5g_2057rev7[] =static s8 nphy_papd_pga_gain_delta_ipa_2g[] =static s8 nphy_papd_pga_gain_delta_ipa_5g[] =static s16 nphy_papd_padgain_dlt_2g_2057rev3n4[] =static s16 nphy_papd_padgain_dlt_2g_2057rev5[] =static s16 nphy_papd_padgain_dlt_2g_2057rev7[] =static s8 nphy_papd_pgagain_dlt_5g_2057[] =static s8 nphy_papd_pgagain_dlt_5g_2057rev7[] =static u8 pad_gain_codes_used_2057rev5[] =static u8 pad_gain_codes_used_2057rev7[] =static u8 pad_all_gain_codes_2057[] =static u8 pga_all_gain_codes_2057[] =static u32 nphy_papd_scaltbl[] =static u32 nphy_tpc_txgain_rev3[] =static u32 nphy_tpc_txgain_HiPwrEPA[] =static u32 nphy_tpc_txgain_epa_2057rev3[] =static u32 nphy_tpc_txgain_epa_2057rev5[] =static u32 nphy_tpc_5GHz_txgain_rev3[] =static u32 nphy_tpc_5GHz_txgain_rev4[] =static u32 nphy_tpc_5GHz_txgain_rev5[] =static u32 nphy_tpc_5GHz_txgain_HiPwrEPA[] =static u8 ant_sw_ctrl_tbl_rev8_2o3[] =static u8 ant_sw_ctrl_tbl_rev8[] =static u8 ant_sw_ctrl_tbl_rev8_2057v7_core0[] =static u8 ant_sw_ctrl_tbl_rev8_2057v7_core1[] =bool wlc_phy_bist_check_phy(struct brcms_phy_pub *pih)
{}static void wlc_phy_bphy_init_nphy(struct brcms_phy *pi)
{}void
wlc_phy_table_write_nphy(struct brcms_phy *pi, u32 id, u32 len, u32 offset,
			 u32 width, const void *data)
{}void
wlc_phy_table_read_nphy(struct brcms_phy *pi, u32 id, u32 len, u32 offset,
			u32 width, void *data)
{}static void
wlc_phy_static_table_download_nphy(struct brcms_phy *pi)
{}static void wlc_phy_tbl_init_nphy(struct brcms_phy *pi)
{}static void
wlc_phy_write_txmacreg_nphy(struct brcms_phy *pi, u16 holdoff, u16 delay)
{}void wlc_phy_nphy_tkip_rifs_war(struct brcms_phy *pi, u8 rifs)
{}static void wlc_phy_txpwrctrl_config_nphy(struct brcms_phy *pi)
{}static void wlc_phy_txpwr_srom_read_ppr_nphy(struct brcms_phy *pi)
{}static void wlc_phy_txpwr_srom_read_nphy(struct brcms_phy *pi)
{}void wlc_phy_attach_nphy(struct brcms_phy *pi)
{}static s32 get_rf_pwr_offset(struct brcms_phy *pi, s16 pga_gn, s16 pad_gn)
{}static void wlc_phy_update_mimoconfig_nphy(struct brcms_phy *pi, s32 preamble)
{}static void wlc_phy_ipa_set_tx_digi_filts_nphy(struct brcms_phy *pi)
{}static void wlc_phy_ipa_restore_tx_digi_filts_nphy(struct brcms_phy *pi)
{}static void
wlc_phy_set_rfseq_nphy(struct brcms_phy *pi, u8 cmd, const u8 *events,
		       const u8 *dlys, u8 len)
{}static u16 wlc_phy_read_lpf_bw_ctl_nphy(struct brcms_phy *pi, u16 offset)
{}static void
wlc_phy_rfctrl_override_nphy_rev7(struct brcms_phy *pi, u16 field, u16 value,
				  u8 core_mask, u8 off, u8 override_id)
{}static void wlc_phy_adjust_lnagaintbl_nphy(struct brcms_phy *pi)
{}static void
wlc_phy_war_force_trsw_to_R_cliplo_nphy(struct brcms_phy *pi, u8 core)
{}static void wlc_phy_war_txchain_upd_nphy(struct brcms_phy *pi, u8 txchain)
{}static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(struct brcms_phy *pi)
{}static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(struct brcms_phy *pi)
{}static void wlc_phy_workarounds_nphy_gainctrl(struct brcms_phy *pi)
{}static void wlc_phy_workarounds_nphy_rev7(struct brcms_phy *pi)
{}static void wlc_phy_workarounds_nphy_rev3(struct brcms_phy *pi)
{}static void wlc_phy_workarounds_nphy_rev1(struct brcms_phy *pi)
{}static void wlc_phy_workarounds_nphy(struct brcms_phy *pi)
{}static void wlc_phy_extpa_set_tx_digi_filts_nphy(struct brcms_phy *pi)
{}static void wlc_phy_clip_det_nphy(struct brcms_phy *pi, u8 write, u16 *vals)
{}static void wlc_phy_ipa_internal_tssi_setup_nphy(struct brcms_phy *pi)
{}static void
wlc_phy_rfctrl_override_nphy(struct brcms_phy *pi, u16 field, u16 value,
			     u8 core_mask, u8 off)
{}static void wlc_phy_txpwrctrl_idle_tssi_nphy(struct brcms_phy *pi)
{}static void wlc_phy_txpwr_limit_to_tbl_nphy(struct brcms_phy *pi)
{}static void wlc_phy_txpwrctrl_pwr_setup_nphy(struct brcms_phy *pi)
{}static u32 *wlc_phy_get_ipa_gaintbl_nphy(struct brcms_phy *pi)
{}static void wlc_phy_restore_rssical_nphy(struct brcms_phy *pi)
{}static void wlc_phy_internal_cal_txgain_nphy(struct brcms_phy *pi)
{}static void wlc_phy_precal_txgain_nphy(struct brcms_phy *pi)
{}static void
wlc_phy_rfctrlintc_override_nphy(struct brcms_phy *pi, u8 field, u16 value,
				 u8 core_code)
{}void
wlc_phy_cal_txgainctrl_nphy(struct brcms_phy *pi, s32 dBm_targetpower,
			    bool debug)
{}static void wlc_phy_savecal_nphy(struct brcms_phy *pi)
{}static void wlc_phy_tx_iq_war_nphy(struct brcms_phy *pi)
{}static void wlc_phy_restorecal_nphy(struct brcms_phy *pi)
{}static void wlc_phy_txpwrctrl_coeff_setup_nphy(struct brcms_phy *pi)
{}static void wlc_phy_txlpfbw_nphy(struct brcms_phy *pi)
{}static void
wlc_phy_adjust_rx_analpfbw_nphy(struct brcms_phy *pi, u16 reduction_factr)
{}static void
wlc_phy_adjust_min_noisevar_nphy(struct brcms_phy *pi, int ntones,
				 int *tone_id_buf, u32 *noise_var_buf)
{}static void wlc_phy_adjust_crsminpwr_nphy(struct brcms_phy *pi, u8 minpwr)
{}static void wlc_phy_spurwar_nphy(struct brcms_phy *pi)
{}void wlc_phy_init_nphy(struct brcms_phy *pi)
{}static void wlc_phy_resetcca_nphy(struct brcms_phy *pi)
{}void wlc_phy_pa_override_nphy(struct brcms_phy *pi, bool en)
{}void wlc_phy_stf_chain_upd_nphy(struct brcms_phy *pi)
{}void wlc_phy_rxcore_setstate_nphy(struct brcms_phy_pub *pih, u8 rxcore_bitmask)
{}u8 wlc_phy_rxcore_getstate_nphy(struct brcms_phy_pub *pih)
{}bool wlc_phy_n_txpower_ipa_ison(struct brcms_phy *pi)
{}void wlc_phy_cal_init_nphy(struct brcms_phy *pi)
{}static void wlc_phy_radio_preinit_205x(struct brcms_phy *pi)
{}static void wlc_phy_radio_init_2057(struct brcms_phy *pi)
{}static u16 wlc_phy_radio205x_rcal(struct brcms_phy *pi)
{}static u16 wlc_phy_radio2057_rccal(struct brcms_phy *pi)
{}static void wlc_phy_radio_postinit_2057(struct brcms_phy *pi)
{}static void wlc_phy_radio_init_2056(struct brcms_phy *pi)
{}static void wlc_phy_radio_postinit_2056(struct brcms_phy *pi)
{}static void wlc_phy_radio_preinit_2055(struct brcms_phy *pi)
{}static void wlc_phy_radio_init_2055(struct brcms_phy *pi)
{}static void wlc_phy_radio_postinit_2055(struct brcms_phy *pi)
{}void wlc_phy_switch_radio_nphy(struct brcms_phy *pi, bool on)
{}static bool
wlc_phy_chan2freq_nphy(struct brcms_phy *pi, uint channel, int *f,
		       const struct chan_info_nphy_radio2057 **t0,
		       const struct chan_info_nphy_radio205x **t1,
		       const struct chan_info_nphy_radio2057_rev5 **t2,
		       const struct chan_info_nphy_2055 **t3)
{}u8 wlc_phy_get_chan_freq_range_nphy(struct brcms_phy *pi, uint channel)
{}static void
wlc_phy_chanspec_radio2055_setup(struct brcms_phy *pi,
				 const struct chan_info_nphy_2055 *ci)
{}static void
wlc_phy_chanspec_radio2056_setup(struct brcms_phy *pi,
				 const struct chan_info_nphy_radio205x *ci)
{}void wlc_phy_radio205x_vcocal_nphy(struct brcms_phy *pi)
{}static void
wlc_phy_chanspec_radio2057_setup(
	struct brcms_phy *pi,
	const struct chan_info_nphy_radio2057 *ci,
	const struct chan_info_nphy_radio2057_rev5 *
	ci2)
{}static void
wlc_phy_chanspec_nphy_setup(struct brcms_phy *pi, u16 chanspec,
			    const struct nphy_sfo_cfg *ci)
{}void wlc_phy_chanspec_set_nphy(struct brcms_phy *pi, u16 chanspec)
{}void wlc_phy_antsel_init(struct brcms_phy_pub *ppi, bool lut_init)
{}u16 wlc_phy_classifier_nphy(struct brcms_phy *pi, u16 mask, u16 val)
{}void wlc_phy_force_rfseq_nphy(struct brcms_phy *pi, u8 cmd)
{}static void
wlc_phy_rfctrl_override_1tomany_nphy(struct brcms_phy *pi, u16 cmd, u16 value,
				     u8 core_mask, u8 off)
{}static void
wlc_phy_scale_offset_rssi_nphy(struct brcms_phy *pi, u16 scale, s8 offset,
			       u8 coresel, u8 rail, u8 rssi_type)
{}static void brcms_phy_wr_tx_mux(struct brcms_phy *pi, u8 core)
{}void wlc_phy_rssisel_nphy(struct brcms_phy *pi, u8 core_code, u8 rssi_type)
{}int
wlc_phy_poll_rssi_nphy(struct brcms_phy *pi, u8 rssi_type, s32 *rssi_buf,
		       u8 nsamps)
{}s16 wlc_phy_tempsense_nphy(struct brcms_phy *pi)
{}static void
wlc_phy_set_rssi_2055_vcm(struct brcms_phy *pi, u8 rssi_type, u8 *vcm_buf)
{}static void wlc_phy_rssi_cal_nphy_rev3(struct brcms_phy *pi)
{}static void wlc_phy_rssi_cal_nphy_rev2(struct brcms_phy *pi, u8 rssi_type)
{}void wlc_phy_rssi_cal_nphy(struct brcms_phy *pi)
{}int
wlc_phy_rssi_compute_nphy(struct brcms_phy *pi, struct d11rxhdr *rxh)
{}static void
wlc_phy_loadsampletable_nphy(struct brcms_phy *pi, struct cordic_iq *tone_buf,
			     u16 num_samps)
{}static u16
wlc_phy_gen_load_samples_nphy(struct brcms_phy *pi, u32 f_kHz, u16 max_val,
			      u8 dac_test_mode)
{}static void
wlc_phy_runsamples_nphy(struct brcms_phy *pi, u16 num_samps, u16 loops,
			u16 wait, u8 iqmode, u8 dac_test_mode,
			bool modify_bbmult)
{}int
wlc_phy_tx_tone_nphy(struct brcms_phy *pi, u32 f_kHz, u16 max_val,
		     u8 iqmode, u8 dac_test_mode, bool modify_bbmult)
{}void wlc_phy_stopplayback_nphy(struct brcms_phy *pi)
{}static u32 *brcms_phy_get_tx_pwrctrl_tbl(struct brcms_phy *pi)
{}struct nphy_txgains wlc_phy_get_tx_gain_nphy(struct brcms_phy *pi)
{}static void
wlc_phy_iqcal_gainparams_nphy(struct brcms_phy *pi, u16 core_no,
			      struct nphy_txgains target_gain,
			      struct nphy_iqcal_params *params)
{}static void wlc_phy_txcal_radio_setup_nphy(struct brcms_phy *pi)
{}static void wlc_phy_txcal_radio_cleanup_nphy(struct brcms_phy *pi)
{}static void wlc_phy_txcal_physetup_nphy(struct brcms_phy *pi)
{}static void wlc_phy_txcal_phycleanup_nphy(struct brcms_phy *pi)
{}void
wlc_phy_est_tonepwr_nphy(struct brcms_phy *pi, s32 *qdBm_pwrbuf, u8 num_samps)
{}static void wlc_phy_update_txcal_ladder_nphy(struct brcms_phy *pi, u16 core)
{}static u8 wlc_phy_txpwr_idx_cur_get_nphy(struct brcms_phy *pi, u8 core)
{}static void
wlc_phy_txpwr_idx_cur_set_nphy(struct brcms_phy *pi, u8 idx0, u8 idx1)
{}static u16 wlc_phy_ipa_get_bbmult_nphy(struct brcms_phy *pi)
{}static void wlc_phy_ipa_set_bbmult_nphy(struct brcms_phy *pi, u8 m0, u8 m1)
{}static void
wlc_phy_papd_cal_setup_nphy(struct brcms_phy *pi,
			    struct nphy_papd_restore_state *state, u8 core)
{}static void
wlc_phy_papd_cal_cleanup_nphy(struct brcms_phy *pi,
			      struct nphy_papd_restore_state *state)
{}static void
wlc_phy_a1_nphy(struct brcms_phy *pi, u8 core, u32 winsz, u32 start,
		u32 end)
{}static void
wlc_phy_a2_nphy(struct brcms_phy *pi, struct nphy_ipa_txcalgains *txgains,
		enum phy_cal_mode cal_mode, u8 core)
{}static u8 wlc_phy_a3_nphy(struct brcms_phy *pi, u8 start_gain, u8 core)
{}static void wlc_phy_a4(struct brcms_phy *pi, bool full_cal)
{}void wlc_phy_cal_perical_nphy_run(struct brcms_phy *pi, u8 caltype)
{}int
wlc_phy_cal_txiqlo_nphy(struct brcms_phy *pi, struct nphy_txgains target_gain,
			bool fullcal, bool mphase)
{}static void wlc_phy_reapply_txcal_coeffs_nphy(struct brcms_phy *pi)
{}void
wlc_phy_rx_iq_coeffs_nphy(struct brcms_phy *pi, u8 write,
			  struct nphy_iq_comp *pcomp)
{}void
wlc_phy_rx_iq_est_nphy(struct brcms_phy *pi, struct phy_iq_est *est,
		       u16 num_samps, u8 wait_time, u8 wait_for_crs)
{}#define CAL_RETRY_CNTstatic void wlc_phy_calc_rx_iq_comp_nphy(struct brcms_phy *pi, u8 core_mask)
{}static void wlc_phy_rxcal_radio_setup_nphy(struct brcms_phy *pi, u8 rx_core)
{}static void wlc_phy_rxcal_radio_cleanup_nphy(struct brcms_phy *pi, u8 rx_core)
{}static void wlc_phy_rxcal_physetup_nphy(struct brcms_phy *pi, u8 rx_core)
{}static void wlc_phy_rxcal_phycleanup_nphy(struct brcms_phy *pi, u8 rx_core)
{}static void
wlc_phy_rxcal_gainctrl_nphy_rev5(struct brcms_phy *pi, u8 rx_core,
				 u16 *rxgain, u8 cal_type)
{}static void
wlc_phy_rxcal_gainctrl_nphy(struct brcms_phy *pi, u8 rx_core, u16 *rxgain,
			    u8 cal_type)
{}static u8
wlc_phy_rc_sweep_nphy(struct brcms_phy *pi, u8 core_idx, u8 loopback_type)
{}#define WAIT_FOR_SCOPEstatic int wlc_phy_cal_rxiq_nphy_rev3(struct brcms_phy *pi,
				      struct nphy_txgains target_gain,
				      u8 cal_type, bool debug)
{}static int
wlc_phy_cal_rxiq_nphy_rev2(struct brcms_phy *pi,
			   struct nphy_txgains target_gain, bool debug)
{}int
wlc_phy_cal_rxiq_nphy(struct brcms_phy *pi, struct nphy_txgains target_gain,
		      u8 cal_type, bool debug)
{}void wlc_phy_txpwr_fixpower_nphy(struct brcms_phy *pi)
{}static void
wlc_phy_txpwr_nphy_srom_convert(u8 *srom_max, u16 *pwr_offset,
				u8 tmp_max_pwr, u8 rate_start,
				u8 rate_end)
{}static void
wlc_phy_txpwr_nphy_po_apply(u8 *srom_max, u8 pwr_offset,
			    u8 rate_start, u8 rate_end)
{}void
wlc_phy_ofdm_to_mcs_powers_nphy(u8 *power, u8 rate_mcs_start,
				u8 rate_mcs_end, u8 rate_ofdm_start)
{}void
wlc_phy_mcs_to_ofdm_powers_nphy(u8 *power, u8 rate_ofdm_start,
				u8 rate_ofdm_end, u8 rate_mcs_start)
{}void wlc_phy_txpwr_apply_nphy(struct brcms_phy *pi)
{}void wlc_phy_txpower_recalc_target_nphy(struct brcms_phy *pi)
{}static bool wlc_phy_txpwr_ison_nphy(struct brcms_phy *pi)
{}u16 wlc_phy_txpwr_idx_get_nphy(struct brcms_phy *pi)
{}void wlc_phy_txpwr_papd_cal_nphy(struct brcms_phy *pi)
{}void wlc_phy_txpwrctrl_enable_nphy(struct brcms_phy *pi, u8 ctrl_type)
{}void
wlc_phy_txpwr_index_nphy(struct brcms_phy *pi, u8 core_mask, s8 txpwrindex,
			 bool restore_cals)
{}void
wlc_phy_txpower_sromlimit_get_nphy(struct brcms_phy *pi, uint chan, u8 *max_pwr,
				   u8 txp_rate_idx)
{}void wlc_phy_stay_in_carriersearch_nphy(struct brcms_phy *pi, bool enable)
{}void wlc_nphy_deaf_mode(struct brcms_phy *pi, bool mode)
{}