linux/drivers/net/wireless/realtek/rtw88/rtw8723d.c

// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/* Copyright(c) 2018-2019  Realtek Corporation
 */

#include <linux/module.h>
#include "main.h"
#include "coex.h"
#include "fw.h"
#include "tx.h"
#include "rx.h"
#include "phy.h"
#include "rtw8723x.h"
#include "rtw8723d.h"
#include "rtw8723d_table.h"
#include "mac.h"
#include "reg.h"
#include "debug.h"

#define WLAN_SLOT_TIME
#define WLAN_RL_VAL
#define WLAN_BAR_VAL
#define BIT_MASK_TBTT_HOLD
#define BIT_SHIFT_TBTT_HOLD
#define BIT_MASK_TBTT_SETUP
#define BIT_SHIFT_TBTT_SETUP
#define BIT_MASK_TBTT_MASK
#define TBTT_TIME(s, h)
#define WLAN_TBTT_TIME_NORMAL
#define WLAN_TBTT_TIME_STOP_BCN
#define WLAN_PIFS_VAL
#define WLAN_AGG_BRK_TIME
#define WLAN_NAV_PROT_LEN
#define WLAN_SPEC_SIFS
#define WLAN_RX_PKT_LIMIT
#define WLAN_MAX_AGG_NR
#define WLAN_AMPDU_MAX_TIME
#define WLAN_ANT_SEL
#define WLAN_LTR_IDLE_LAT
#define WLAN_LTR_ACT_LAT
#define WLAN_LTR_CTRL1
#define WLAN_LTR_CTRL2

static const u32 rtw8723d_ofdm_swing_table[] =;

static const u32 rtw8723d_cck_swing_table[] =;

#define RTW_OFDM_SWING_TABLE_SIZE
#define RTW_CCK_SWING_TABLE_SIZE

static void rtw8723d_pwrtrack_init(struct rtw_dev *rtwdev)
{}

static void rtw8723d_phy_set_param(struct rtw_dev *rtwdev)
{}

static void query_phy_status_page0(struct rtw_dev *rtwdev, u8 *phy_status,
				   struct rtw_rx_pkt_stat *pkt_stat)
{}

static void query_phy_status_page1(struct rtw_dev *rtwdev, u8 *phy_status,
				   struct rtw_rx_pkt_stat *pkt_stat)
{}

static void query_phy_status(struct rtw_dev *rtwdev, u8 *phy_status,
			     struct rtw_rx_pkt_stat *pkt_stat)
{}

static void rtw8723d_query_rx_desc(struct rtw_dev *rtwdev, u8 *rx_desc,
				   struct rtw_rx_pkt_stat *pkt_stat,
				   struct ieee80211_rx_status *rx_status)
{}

static bool rtw8723d_check_spur_ov_thres(struct rtw_dev *rtwdev,
					 u8 channel, u32 thres)
{}

static void rtw8723d_cfg_notch(struct rtw_dev *rtwdev, u8 channel, bool notch)
{}

static void rtw8723d_spur_cal(struct rtw_dev *rtwdev, u8 channel)
{}

static void rtw8723d_set_channel_rf(struct rtw_dev *rtwdev, u8 channel, u8 bw)
{}

static const struct rtw_backup_info cck_dfir_cfg[][CCK_DFIR_NR] =;

static void rtw8723d_set_channel_bb(struct rtw_dev *rtwdev, u8 channel, u8 bw,
				    u8 primary_ch_idx)
{}

static void rtw8723d_set_channel(struct rtw_dev *rtwdev, u8 channel, u8 bw,
				 u8 primary_chan_idx)
{}

static void rtw8723d_shutdown(struct rtw_dev *rtwdev)
{}

struct rtw_8723d_iqk_cfg {};

static const struct rtw_8723d_iqk_cfg iqk_tx_cfg[PATH_NR] =;

static u8 rtw8723d_iqk_check_tx_failed(struct rtw_dev *rtwdev,
				       const struct rtw_8723d_iqk_cfg *iqk_cfg)
{}

static u8 rtw8723d_iqk_check_rx_failed(struct rtw_dev *rtwdev,
				       const struct rtw_8723d_iqk_cfg *iqk_cfg)
{}

#define IQK_LTE_WRITE_VAL_8723D

static void rtw8723d_iqk_one_shot(struct rtw_dev *rtwdev, bool tx,
				  const struct rtw_8723d_iqk_cfg *iqk_cfg)
{}

static void rtw8723d_iqk_txrx_path_post(struct rtw_dev *rtwdev,
					const struct rtw_8723d_iqk_cfg *iqk_cfg,
					const struct rtw8723x_iqk_backup_regs *backup)
{}

static u8 rtw8723d_iqk_tx_path(struct rtw_dev *rtwdev,
			       const struct rtw_8723d_iqk_cfg *iqk_cfg,
			       const struct rtw8723x_iqk_backup_regs *backup)
{}

static u8 rtw8723d_iqk_rx_path(struct rtw_dev *rtwdev,
			       const struct rtw_8723d_iqk_cfg *iqk_cfg,
			       const struct rtw8723x_iqk_backup_regs *backup)
{}

static
void rtw8723d_iqk_fill_s1_matrix(struct rtw_dev *rtwdev, const s32 result[])
{}

static
void rtw8723d_iqk_fill_s0_matrix(struct rtw_dev *rtwdev, const s32 result[])
{}

static void rtw8723d_iqk_config_mac(struct rtw_dev *rtwdev)
{}

static
void rtw8723d_iqk_rf_standby(struct rtw_dev *rtwdev, enum rtw_rf_path path)
{}

#define ADDA_ON_VAL_8723D

static
void rtw8723d_iqk_precfg_path(struct rtw_dev *rtwdev, enum rtw8723x_path path)
{}

static
void rtw8723d_iqk_one_round(struct rtw_dev *rtwdev, s32 result[][IQK_NR], u8 t,
			    const struct rtw8723x_iqk_backup_regs *backup)
{}

static void rtw8723d_phy_calibration(struct rtw_dev *rtwdev)
{}

static void rtw8723d_phy_cck_pd_set(struct rtw_dev *rtwdev, u8 new_lvl)
{}

/* for coex */
static void rtw8723d_coex_cfg_gnt_fix(struct rtw_dev *rtwdev)
{}

static void rtw8723d_coex_cfg_gnt_debug(struct rtw_dev *rtwdev)
{}

static void rtw8723d_coex_cfg_rfe_type(struct rtw_dev *rtwdev)
{}

static void rtw8723d_coex_cfg_wl_tx_power(struct rtw_dev *rtwdev, u8 wl_pwr)
{}

static void rtw8723d_coex_cfg_wl_rx_gain(struct rtw_dev *rtwdev, bool low_gain)
{}

static void rtw8723d_set_iqk_matrix_by_result(struct rtw_dev *rtwdev,
					      u32 ofdm_swing, u8 rf_path)
{}

static void rtw8723d_set_iqk_matrix(struct rtw_dev *rtwdev, s8 ofdm_index,
				    u8 rf_path)
{}

static void rtw8723d_pwrtrack_set_ofdm_pwr(struct rtw_dev *rtwdev, s8 swing_idx,
					   s8 txagc_idx)
{}

static void rtw8723d_pwrtrack_set_cck_pwr(struct rtw_dev *rtwdev, s8 swing_idx,
					  s8 txagc_idx)
{}

static void rtw8723d_pwrtrack_set(struct rtw_dev *rtwdev, u8 path)
{}

static void rtw8723d_phy_pwrtrack(struct rtw_dev *rtwdev)
{}

static void rtw8723d_pwr_track(struct rtw_dev *rtwdev)
{}

static struct rtw_chip_ops rtw8723d_ops =;

/* Shared-Antenna Coex Table */
static const struct coex_table_para table_sant_8723d[] =;

/* Non-Shared-Antenna Coex Table */
static const struct coex_table_para table_nsant_8723d[] =;

/* Shared-Antenna TDMA */
static const struct coex_tdma_para tdma_sant_8723d[] =;

/* Non-Shared-Antenna TDMA */
static const struct coex_tdma_para tdma_nsant_8723d[] =;

/* rssi in percentage % (dbm = % - 100) */
static const u8 wl_rssi_step_8723d[] =;
static const u8 bt_rssi_step_8723d[] =;
static const struct coex_5g_afh_map afh_5g_8723d[] =;

static const struct rtw_hw_reg btg_reg_8723d =;

/* wl_tx_dec_power, bt_tx_dec_power, wl_rx_gain, bt_rx_lna_constrain */
static const struct coex_rf_para rf_para_tx_8723d[] =;

static const struct coex_rf_para rf_para_rx_8723d[] =;

static const struct rtw_pwr_seq_cmd trans_carddis_to_cardemu_8723d[] =;

static const struct rtw_pwr_seq_cmd trans_cardemu_to_act_8723d[] =;

static const struct rtw_pwr_seq_cmd *card_enable_flow_8723d[] =;

static const struct rtw_pwr_seq_cmd trans_act_to_lps_8723d[] =;

static const struct rtw_pwr_seq_cmd trans_act_to_pre_carddis_8723d[] =;

static const struct rtw_pwr_seq_cmd trans_act_to_cardemu_8723d[] =;

static const struct rtw_pwr_seq_cmd trans_cardemu_to_carddis_8723d[] =;

static const struct rtw_pwr_seq_cmd trans_act_to_post_carddis_8723d[] =;

static const struct rtw_pwr_seq_cmd *card_disable_flow_8723d[] =;

static const struct rtw_page_table page_table_8723d[] =;

static const struct rtw_rqpn rqpn_table_8723d[] =;

static const struct rtw_intf_phy_para pcie_gen1_param_8723d[] =;

static const struct rtw_intf_phy_para_table phy_para_table_8723d =;

static const struct rtw_rfe_def rtw8723d_rfe_defs[] =;

static const u8 rtw8723d_pwrtrk_2gb_n[] =;

static const u8 rtw8723d_pwrtrk_2gb_p[] =;

static const u8 rtw8723d_pwrtrk_2ga_n[] =;

static const u8 rtw8723d_pwrtrk_2ga_p[] =;

static const u8 rtw8723d_pwrtrk_2g_cck_b_n[] =;

static const u8 rtw8723d_pwrtrk_2g_cck_b_p[] =;

static const u8 rtw8723d_pwrtrk_2g_cck_a_n[] =;

static const u8 rtw8723d_pwrtrk_2g_cck_a_p[] =;

static const s8 rtw8723d_pwrtrk_xtal_n[] =;

static const s8 rtw8723d_pwrtrk_xtal_p[] =;

static const struct rtw_pwr_track_tbl rtw8723d_rtw_pwr_track_tbl =;

static const struct rtw_reg_domain coex_info_hw_regs_8723d[] =;

const struct rtw_chip_info rtw8723d_hw_spec =;
EXPORT_SYMBOL();

MODULE_FIRMWARE();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();