#ifndef __RTW8723X_H__
#define __RTW8723X_H__
#include "main.h"
#include "debug.h"
#include "phy.h"
#include "reg.h"
enum rtw8723x_path { … };
enum rtw8723x_iqk_round { … };
enum rtw8723x_iqk_result { … };
struct rtw8723xe_efuse { … };
struct rtw8723xu_efuse { … };
struct rtw8723xs_efuse { … };
struct rtw8723x_efuse { … };
#define RTW8723X_IQK_ADDA_REG_NUM …
#define RTW8723X_IQK_MAC8_REG_NUM …
#define RTW8723X_IQK_MAC32_REG_NUM …
#define RTW8723X_IQK_BB_REG_NUM …
struct rtw8723x_iqk_backup_regs { … };
struct rtw8723x_common { … };
extern const struct rtw8723x_common rtw8723x_common;
#define PATH_IQK_RETRY …
#define MAX_TOLERANCE …
#define IQK_TX_X_ERR …
#define IQK_TX_Y_ERR …
#define IQK_RX_X_ERR …
#define IQK_RX_Y_ERR …
#define IQK_RX_X_UPPER …
#define IQK_RX_X_LOWER …
#define IQK_RX_Y_LMT …
#define IQK_TX_OK …
#define IQK_RX_OK …
#define WLAN_TXQ_RPT_EN …
#define SPUR_THRES …
#define DIS_3WIRE …
#define EN_3WIRE …
#define START_PSD …
#define FREQ_CH5 …
#define FREQ_CH6 …
#define FREQ_CH7 …
#define FREQ_CH8 …
#define FREQ_CH13 …
#define FREQ_CH14 …
#define RFCFGCH_CHANNEL_MASK …
#define RFCFGCH_BW_MASK …
#define RFCFGCH_BW_20M …
#define RFCFGCH_BW_40M …
#define BIT_MASK_RFMOD …
#define BIT_LCK …
#define REG_GPIO_INTM …
#define REG_BTG_SEL …
#define BIT_MASK_BTG_WL …
#define REG_LTECOEX_PATH_CONTROL …
#define REG_LTECOEX_CTRL …
#define REG_LTECOEX_WRITE_DATA …
#define REG_LTECOEX_READ_DATA …
#define REG_PSDFN …
#define REG_BB_PWR_SAV1_11N …
#define REG_ANA_PARAM1 …
#define REG_ANALOG_P4 …
#define REG_PSDRPT …
#define REG_FPGA1_RFMOD …
#define REG_BB_SEL_BTG …
#define REG_BBRX_DFIR …
#define BIT_MASK_RXBB_DFIR …
#define BIT_RXBB_DFIR_EN …
#define REG_CCK0_SYS …
#define BIT_CCK_SIDE_BAND …
#define REG_CCK_ANT_SEL_11N …
#define REG_PWRTH …
#define REG_CCK_FA_RST_11N …
#define BIT_MASK_CCK_CNT_KEEP …
#define BIT_MASK_CCK_CNT_EN …
#define BIT_MASK_CCK_CNT_KPEN …
#define BIT_MASK_CCK_FA_KEEP …
#define BIT_MASK_CCK_FA_EN …
#define BIT_MASK_CCK_FA_KPEN …
#define REG_CCK_FA_LSB_11N …
#define REG_CCK_FA_MSB_11N …
#define REG_CCK_CCA_CNT_11N …
#define BIT_MASK_CCK_FA_MSB …
#define BIT_MASK_CCK_FA_LSB …
#define REG_PWRTH2 …
#define REG_CSRATIO …
#define REG_OFDM_FA_HOLDC_11N …
#define BIT_MASK_OFDM_FA_KEEP …
#define REG_BB_RX_PATH_11N …
#define REG_TRMUX_11N …
#define REG_OFDM_FA_RSTC_11N …
#define BIT_MASK_OFDM_FA_RST …
#define REG_A_RXIQI …
#define BIT_MASK_RXIQ_S1_X …
#define BIT_MASK_RXIQ_S1_Y1 …
#define BIT_SET_RXIQ_S1_Y1(y) …
#define REG_OFDM0_RXDSP …
#define BIT_MASK_RXDSP …
#define BIT_EN_RXDSP …
#define REG_OFDM_0_ECCA_THRESHOLD …
#define BIT_MASK_OFDM0_EXT_A …
#define BIT_MASK_OFDM0_EXT_C …
#define BIT_MASK_OFDM0_EXTS …
#define BIT_SET_OFDM0_EXTS(a, c, d) …
#define BIT_MASK_OFDM0_EXTS_B …
#define BIT_SET_OFDM0_EXTS_B(a, c, d) …
#define REG_OFDM0_XAAGC1 …
#define REG_OFDM0_XBAGC1 …
#define REG_AGCRSSI …
#define REG_OFDM_0_XA_TX_IQ_IMBALANCE …
#define REG_OFDM_0_XB_TX_IQ_IMBALANCE …
#define BIT_MASK_TXIQ_ELM_A …
#define BIT_SET_TXIQ_ELM_ACD(a, c, d) …
#define BIT_MASK_TXIQ_ELM_C …
#define BIT_SET_TXIQ_ELM_C2(c) …
#define BIT_MASK_TXIQ_ELM_D …
#define REG_TXIQK_MATRIXA_LSB2_11N …
#define BIT_SET_TXIQ_ELM_C1(c) …
#define REG_RXIQK_MATRIX_LSB_11N …
#define BIT_MASK_RXIQ_S1_Y2 …
#define BIT_SET_RXIQ_S1_Y2(y) …
#define REG_TXIQ_AB_S0 …
#define BIT_MASK_TXIQ_A_S0 …
#define BIT_MASK_TXIQ_A_EXT_S0 …
#define BIT_MASK_TXIQ_B_S0 …
#define REG_TXIQ_CD_S0 …
#define BIT_MASK_TXIQ_C_S0 …
#define BIT_MASK_TXIQ_C_EXT_S0 …
#define BIT_MASK_TXIQ_D_S0 …
#define BIT_MASK_TXIQ_D_EXT_S0 …
#define REG_RXIQ_AB_S0 …
#define BIT_MASK_RXIQ_X_S0 …
#define BIT_MASK_RXIQ_Y_S0 …
#define REG_OFDM_FA_TYPE1_11N …
#define BIT_MASK_OFDM_FF_CNT …
#define BIT_MASK_OFDM_SF_CNT …
#define REG_OFDM_FA_RSTD_11N …
#define BIT_MASK_OFDM_FA_RST1 …
#define BIT_MASK_OFDM_FA_KEEP1 …
#define REG_CTX …
#define BIT_MASK_CTX_TYPE …
#define REG_OFDM1_CFOTRK …
#define BIT_EN_CFOTRK …
#define REG_OFDM1_CSI1 …
#define REG_OFDM1_CSI2 …
#define REG_OFDM1_CSI3 …
#define REG_OFDM1_CSI4 …
#define REG_OFDM_FA_TYPE2_11N …
#define BIT_MASK_OFDM_CCA_CNT …
#define BIT_MASK_OFDM_PF_CNT …
#define REG_OFDM_FA_TYPE3_11N …
#define BIT_MASK_OFDM_RI_CNT …
#define BIT_MASK_OFDM_CRC_CNT …
#define REG_OFDM_FA_TYPE4_11N …
#define BIT_MASK_OFDM_MNS_CNT …
#define REG_FPGA0_IQK_11N …
#define BIT_MASK_IQK_MOD …
#define EN_IQK …
#define RST_IQK …
#define REG_TXIQK_TONE_A_11N …
#define REG_RXIQK_TONE_A_11N …
#define REG_TXIQK_PI_A_11N …
#define REG_RXIQK_PI_A_11N …
#define REG_TXIQK_11N …
#define BIT_SET_TXIQK_11N(x, y) …
#define REG_RXIQK_11N …
#define REG_IQK_AGC_PTS_11N …
#define REG_IQK_AGC_RSP_11N …
#define REG_TX_IQK_TONE_B …
#define REG_RX_IQK_TONE_B …
#define REG_TXIQK_PI_B …
#define REG_RXIQK_PI_B …
#define REG_IQK_RES_TX …
#define BIT_MASK_RES_TX …
#define REG_IQK_RES_TY …
#define BIT_MASK_RES_TY …
#define REG_IQK_RES_RX …
#define BIT_MASK_RES_RX …
#define REG_IQK_RES_RY …
#define BIT_IQK_TX_FAIL …
#define BIT_IQK_RX_FAIL …
#define BIT_IQK_DONE …
#define BIT_MASK_RES_RY …
#define REG_PAGE_F_RST_11N …
#define BIT_MASK_F_RST_ALL …
#define REG_IGI_C_11N …
#define REG_IGI_D_11N …
#define REG_HT_CRC32_CNT_11N …
#define BIT_MASK_HT_CRC_OK …
#define BIT_MASK_HT_CRC_ERR …
#define REG_OFDM_CRC32_CNT_11N …
#define BIT_MASK_OFDM_LCRC_OK …
#define BIT_MASK_OFDM_LCRC_ERR …
#define REG_HT_CRC32_CNT_11N_AGG …
#define OFDM_SWING_A(swing) …
#define OFDM_SWING_B(swing) …
#define OFDM_SWING_C(swing) …
#define OFDM_SWING_D(swing) …
static inline s32 iqkxy_to_s32(s32 val)
{ … }
static inline s32 iqk_mult(s32 x, s32 y, s32 *ext)
{ … }
static inline
void rtw8723x_debug_txpwr_limit(struct rtw_dev *rtwdev,
struct rtw_txpwr_idx *table,
int tx_path_count)
{ … }
static inline void rtw8723x_lck(struct rtw_dev *rtwdev)
{ … }
static inline int rtw8723x_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
{ … }
static inline int rtw8723x_mac_init(struct rtw_dev *rtwdev)
{ … }
static inline void rtw8723x_cfg_ldo25(struct rtw_dev *rtwdev, bool enable)
{ … }
static inline void rtw8723x_set_tx_power_index(struct rtw_dev *rtwdev)
{ … }
static inline void rtw8723x_efuse_grant(struct rtw_dev *rtwdev, bool on)
{ … }
static inline void rtw8723x_false_alarm_statistics(struct rtw_dev *rtwdev)
{ … }
static inline
void rtw8723x_iqk_backup_regs(struct rtw_dev *rtwdev,
struct rtw8723x_iqk_backup_regs *backup)
{ … }
static inline
void rtw8723x_iqk_restore_regs(struct rtw_dev *rtwdev,
const struct rtw8723x_iqk_backup_regs *backup)
{ … }
static inline
bool rtw8723x_iqk_similarity_cmp(struct rtw_dev *rtwdev, s32 result[][IQK_NR],
u8 c1, u8 c2)
{ … }
static inline u8 rtw8723x_pwrtrack_get_limit_ofdm(struct rtw_dev *rtwdev)
{ … }
static inline
void rtw8723x_pwrtrack_set_xtal(struct rtw_dev *rtwdev, u8 therm_path,
u8 delta)
{ … }
static inline void rtw8723x_coex_cfg_init(struct rtw_dev *rtwdev)
{ … }
static inline
void rtw8723x_fill_txdesc_checksum(struct rtw_dev *rtwdev,
struct rtw_tx_pkt_info *pkt_info,
u8 *txdesc)
{ … }
static inline void
rtw8723x_iqk_backup_path_ctrl(struct rtw_dev *rtwdev,
struct rtw8723x_iqk_backup_regs *backup)
{ … }
static inline void rtw8723x_iqk_config_path_ctrl(struct rtw_dev *rtwdev)
{ … }
static inline void
rtw8723x_iqk_restore_path_ctrl(struct rtw_dev *rtwdev,
const struct rtw8723x_iqk_backup_regs *backup)
{ … }
static inline void
rtw8723x_iqk_backup_lte_path_gnt(struct rtw_dev *rtwdev,
struct rtw8723x_iqk_backup_regs *backup)
{ … }
static inline void
rtw8723x_iqk_config_lte_path_gnt(struct rtw_dev *rtwdev,
u32 write_data)
{ … }
static inline void
rtw8723x_iqk_restore_lte_path_gnt(struct rtw_dev *rtwdev,
const struct rtw8723x_iqk_backup_regs *bak)
{ … }
static inline void rtw8723x_iqk_path_adda_on(struct rtw_dev *rtwdev, u32 value)
{ … }
#endif