linux/drivers/net/wireless/broadcom/b43/phy_g.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef LINUX_B43_PHY_G_H_
#define LINUX_B43_PHY_G_H_

/* OFDM PHY registers are defined in the A-PHY header. */
#include "phy_a.h"

/* CCK (B) PHY Registers */
#define B43_PHY_VERSION_CCK
#define B43_PHY_CCKBBANDCFG
#define B43_PHY_PGACTL
#define B43_PHY_PGACTL_LPF
#define B43_PHY_PGACTL_LOWBANDW
#define B43_PHY_PGACTL_UNKNOWN
#define B43_PHY_FBCTL1
#define B43_PHY_ITSSI
#define B43_PHY_LO_LEAKAGE
#define B43_PHY_ENERGY
#define B43_PHY_SYNCCTL
#define B43_PHY_FBCTL2
#define B43_PHY_DACCTL
#define B43_PHY_RCCALOVER

/* Extended G-PHY Registers */
#define B43_PHY_CLASSCTL
#define B43_PHY_GTABCTL
#define B43_PHY_GTABOFF
#define B43_PHY_GTABNR
#define B43_PHY_GTABNR_SHIFT
#define B43_PHY_GTABDATA
#define B43_PHY_LO_MASK
#define B43_PHY_LO_CTL
#define B43_PHY_RFOVER
#define B43_PHY_RFOVERVAL
#define B43_PHY_RFOVERVAL_EXTLNA
#define B43_PHY_RFOVERVAL_LNA
#define B43_PHY_RFOVERVAL_LNA_SHIFT
#define B43_PHY_RFOVERVAL_PGA
#define B43_PHY_RFOVERVAL_PGA_SHIFT
#define B43_PHY_RFOVERVAL_UNK
#define B43_PHY_RFOVERVAL_TRSWRX
#define B43_PHY_RFOVERVAL_BW
#define B43_PHY_RFOVERVAL_BW_LPF
#define B43_PHY_RFOVERVAL_BW_LBW
#define B43_PHY_ANALOGOVER
#define B43_PHY_ANALOGOVERVAL


/*** G-PHY table numbers */
#define B43_GTAB(number, offset)
#define B43_GTAB_NRSSI
#define B43_GTAB_TRFEMW
#define B43_GTAB_ORIGTR

u16 b43_gtab_read(struct b43_wldev *dev, u16 table, u16 offset);
void b43_gtab_write(struct b43_wldev *dev, u16 table, u16 offset, u16 value);


/* Returns the boolean whether "TX Magnification" is enabled. */
#define has_tx_magnification(phy)
/* Card uses the loopback gain stuff */
#define has_loopback_gain(phy)

/* Radio Attenuation (RF Attenuation) */
struct b43_rfatt {};
struct b43_rfatt_list {};

/* Returns true, if the values are the same. */
static inline bool b43_compare_rfatt(const struct b43_rfatt *a,
				     const struct b43_rfatt *b)
{}

/* Baseband Attenuation */
struct b43_bbatt {};
struct b43_bbatt_list {};

/* Returns true, if the values are the same. */
static inline bool b43_compare_bbatt(const struct b43_bbatt *a,
				     const struct b43_bbatt *b)
{}

/* tx_control bits. */
#define B43_TXCTL_PA3DB
#define B43_TXCTL_PA2DB
#define B43_TXCTL_TXMIX

struct b43_txpower_lo_control;

struct b43_phy_g {};

void b43_gphy_set_baseband_attenuation(struct b43_wldev *dev,
				       u16 baseband_attenuation);
void b43_gphy_channel_switch(struct b43_wldev *dev,
			     unsigned int channel,
			     bool synthetic_pu_workaround);
u8 * b43_generate_dyn_tssi2dbm_tab(struct b43_wldev *dev,
				   s16 pab0, s16 pab1, s16 pab2);

struct b43_phy_operations;
extern const struct b43_phy_operations b43_phyops_g;

#endif /* LINUX_B43_PHY_G_H_ */