linux/drivers/net/wireless/mediatek/mt7601u/phy.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * (c) Copyright 2002-2010, Ralink Technology, Inc.
 * Copyright (C) 2014 Felix Fietkau <[email protected]>
 * Copyright (C) 2015 Jakub Kicinski <[email protected]>
 */

#include "mt7601u.h"
#include "mcu.h"
#include "eeprom.h"
#include "trace.h"
#include "initvals_phy.h"

#include <linux/etherdevice.h>

static void mt7601u_agc_reset(struct mt7601u_dev *dev);

static int
mt7601u_rf_wr(struct mt7601u_dev *dev, u8 bank, u8 offset, u8 value)
{}

static int
mt7601u_rf_rr(struct mt7601u_dev *dev, u8 bank, u8 offset)
{}

static int
mt7601u_rf_rmw(struct mt7601u_dev *dev, u8 bank, u8 offset, u8 mask, u8 val)
{}

static int
mt7601u_rf_set(struct mt7601u_dev *dev, u8 bank, u8 offset, u8 val)
{}

static int
mt7601u_rf_clear(struct mt7601u_dev *dev, u8 bank, u8 offset, u8 mask)
{}

static void mt7601u_bbp_wr(struct mt7601u_dev *dev, u8 offset, u8 val)
{}

static int mt7601u_bbp_rr(struct mt7601u_dev *dev, u8 offset)
{}

static int mt7601u_bbp_rmw(struct mt7601u_dev *dev, u8 offset, u8 mask, u8 val)
{}

static u8 mt7601u_bbp_rmc(struct mt7601u_dev *dev, u8 offset, u8 mask, u8 val)
{}

int mt7601u_wait_bbp_ready(struct mt7601u_dev *dev)
{}

u32 mt7601u_bbp_set_ctrlch(struct mt7601u_dev *dev, bool below)
{}

int mt7601u_phy_get_rssi(struct mt7601u_dev *dev,
			 struct mt7601u_rxwi *rxwi, u16 rate)
{}

static void mt7601u_vco_cal(struct mt7601u_dev *dev)
{}

static int mt7601u_set_bw_filter(struct mt7601u_dev *dev, bool cal)
{}

static int mt7601u_load_bbp_temp_table_bw(struct mt7601u_dev *dev)
{}

static int mt7601u_bbp_temp(struct mt7601u_dev *dev, int mode, const char *name)
{}

static void mt7601u_apply_ch14_fixup(struct mt7601u_dev *dev, int hw_chan)
{}

static int __mt7601u_phy_set_channel(struct mt7601u_dev *dev,
				     struct cfg80211_chan_def *chandef)
{}

int mt7601u_phy_set_channel(struct mt7601u_dev *dev,
			    struct cfg80211_chan_def *chandef)
{}

#define BBP_R47_FLAG
#define BBP_R47_F_TSSI
#define BBP_R47_F_PKT_T
#define BBP_R47_F_TX_RATE
#define BBP_R47_F_TEMP
/**
 * mt7601u_bbp_r47_get - read value through BBP R47/R49 pair
 * @dev:	pointer to adapter structure
 * @reg:	value of BBP R47 before the operation
 * @flag:	one of the BBP_R47_F_* flags
 *
 * Convenience helper for reading values through BBP R47/R49 pair.
 * Takes old value of BBP R47 as @reg, because callers usually have it
 * cached already.
 *
 * Return: value of BBP R49.
 */
static u8 mt7601u_bbp_r47_get(struct mt7601u_dev *dev, u8 reg, u8 flag)
{}

static s8 mt7601u_read_bootup_temp(struct mt7601u_dev *dev)
{}

static s8 mt7601u_read_temp(struct mt7601u_dev *dev)
{}

static void mt7601u_rxdc_cal(struct mt7601u_dev *dev)
{}

void mt7601u_phy_recalibrate_after_assoc(struct mt7601u_dev *dev)
{}

/* Note: function copied from vendor driver */
static s16 lin2dBd(u16 linear)
{}

static void
mt7601u_set_initial_tssi(struct mt7601u_dev *dev, s16 tssi_db, s16 tssi_hvga_db)
{}

static void mt7601u_tssi_dc_gain_cal(struct mt7601u_dev *dev)
{}

static int mt7601u_temp_comp(struct mt7601u_dev *dev, bool on)
{}

/* Note: this is used only with TSSI, we can just use trgt_pwr from eeprom. */
static int mt7601u_current_tx_power(struct mt7601u_dev *dev)
{}

static bool mt7601u_use_hvga(struct mt7601u_dev *dev)
{}

static s16
mt7601u_phy_rf_pa_mode_val(struct mt7601u_dev *dev, int phy_mode, int tx_rate)
{}

static struct mt7601u_tssi_params
mt7601u_tssi_params_get(struct mt7601u_dev *dev)
{}

static bool mt7601u_tssi_read_ready(struct mt7601u_dev *dev)
{}

static int mt7601u_tssi_cal(struct mt7601u_dev *dev)
{}

static u8 mt7601u_agc_default(struct mt7601u_dev *dev)
{}

static void mt7601u_agc_reset(struct mt7601u_dev *dev)
{}

void mt7601u_agc_save(struct mt7601u_dev *dev)
{}

void mt7601u_agc_restore(struct mt7601u_dev *dev)
{}

static void mt7601u_agc_tune(struct mt7601u_dev *dev)
{}

static void mt7601u_phy_calibrate(struct work_struct *work)
{}

static unsigned long
__mt7601u_phy_freq_cal(struct mt7601u_dev *dev, s8 last_offset, u8 phy_mode)
{}

static void mt7601u_phy_freq_cal(struct work_struct *work)
{}

void mt7601u_phy_con_cal_onoff(struct mt7601u_dev *dev,
			       struct ieee80211_bss_conf *info)
{}

static int mt7601u_init_cal(struct mt7601u_dev *dev)
{}

int mt7601u_bbp_set_bw(struct mt7601u_dev *dev, int bw)
{}

/**
 * mt7601u_set_rx_path - set rx path in BBP
 * @dev:	pointer to adapter structure
 * @path:	rx path to set values are 0-based
 */
void mt7601u_set_rx_path(struct mt7601u_dev *dev, u8 path)
{}

/**
 * mt7601u_set_tx_dac - set which tx DAC to use
 * @dev:	pointer to adapter structure
 * @dac:	DAC index, values are 0-based
 */
void mt7601u_set_tx_dac(struct mt7601u_dev *dev, u8 dac)
{}

int mt7601u_phy_init(struct mt7601u_dev *dev)
{}