Commit 9bb762b3 authored by Fiona Klute's avatar Fiona Klute Committed by Kalle Valo

wifi: rtw88: Add definitions for 8703b chip

default_cck_index is used in power track, the rx_cck_agc_report_type
for RX PHY status. GET_RX_DESC_BW is an RX descriptor field not used
by the other chip drivers.
Acked-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Tested-by: default avatarPavel Machek <pavel@ucw.cz>
Signed-off-by: default avatarFiona Klute <fiona.klute@gmx.de>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240311103735.615541-4-fiona.klute@gmx.de
parent da2abdcd
...@@ -187,6 +187,7 @@ enum rtw_chip_type { ...@@ -187,6 +187,7 @@ enum rtw_chip_type {
RTW_CHIP_TYPE_8822C, RTW_CHIP_TYPE_8822C,
RTW_CHIP_TYPE_8723D, RTW_CHIP_TYPE_8723D,
RTW_CHIP_TYPE_8821C, RTW_CHIP_TYPE_8821C,
RTW_CHIP_TYPE_8703B,
}; };
enum rtw_tx_queue_type { enum rtw_tx_queue_type {
...@@ -1700,11 +1701,13 @@ struct rtw_dm_info { ...@@ -1700,11 +1701,13 @@ struct rtw_dm_info {
s8 delta_power_index[RTW_RF_PATH_MAX]; s8 delta_power_index[RTW_RF_PATH_MAX];
s8 delta_power_index_last[RTW_RF_PATH_MAX]; s8 delta_power_index_last[RTW_RF_PATH_MAX];
u8 default_ofdm_index; u8 default_ofdm_index;
u8 default_cck_index;
bool pwr_trk_triggered; bool pwr_trk_triggered;
bool pwr_trk_init_trigger; bool pwr_trk_init_trigger;
struct ewma_thermal avg_thermal[RTW_RF_PATH_MAX]; struct ewma_thermal avg_thermal[RTW_RF_PATH_MAX];
s8 txagc_remnant_cck; s8 txagc_remnant_cck;
s8 txagc_remnant_ofdm; s8 txagc_remnant_ofdm;
u8 rx_cck_agc_report_type;
/* backup dack results for each path and I/Q */ /* backup dack results for each path and I/Q */
u32 dack_adck[RTW_RF_PATH_MAX]; u32 dack_adck[RTW_RF_PATH_MAX];
......
...@@ -165,6 +165,8 @@ extern const struct rtw8723x_common rtw8723x_common; ...@@ -165,6 +165,8 @@ extern const struct rtw8723x_common rtw8723x_common;
#define MAX_TOLERANCE 5 #define MAX_TOLERANCE 5
#define IQK_TX_X_ERR 0x142 #define IQK_TX_X_ERR 0x142
#define IQK_TX_Y_ERR 0x42 #define IQK_TX_Y_ERR 0x42
#define IQK_RX_X_ERR 0x132
#define IQK_RX_Y_ERR 0x36
#define IQK_RX_X_UPPER 0x11a #define IQK_RX_X_UPPER 0x11a
#define IQK_RX_X_LOWER 0xe6 #define IQK_RX_X_LOWER 0xe6
#define IQK_RX_Y_LMT 0x1a #define IQK_RX_Y_LMT 0x1a
...@@ -177,6 +179,10 @@ extern const struct rtw8723x_common rtw8723x_common; ...@@ -177,6 +179,10 @@ extern const struct rtw8723x_common rtw8723x_common;
#define DIS_3WIRE 0xccf000c0 #define DIS_3WIRE 0xccf000c0
#define EN_3WIRE 0xccc000c0 #define EN_3WIRE 0xccc000c0
#define START_PSD 0x400000 #define START_PSD 0x400000
#define FREQ_CH5 0xfccd
#define FREQ_CH6 0xfc4d
#define FREQ_CH7 0xffcd
#define FREQ_CH8 0xff4d
#define FREQ_CH13 0xfccd #define FREQ_CH13 0xfccd
#define FREQ_CH14 0xff9a #define FREQ_CH14 0xff9a
#define RFCFGCH_CHANNEL_MASK GENMASK(7, 0) #define RFCFGCH_CHANNEL_MASK GENMASK(7, 0)
...@@ -239,10 +245,13 @@ extern const struct rtw8723x_common rtw8723x_common; ...@@ -239,10 +245,13 @@ extern const struct rtw8723x_common rtw8723x_common;
#define BIT_MASK_OFDM0_EXT_C BIT(29) #define BIT_MASK_OFDM0_EXT_C BIT(29)
#define BIT_MASK_OFDM0_EXTS (BIT(31) | BIT(29) | BIT(28)) #define BIT_MASK_OFDM0_EXTS (BIT(31) | BIT(29) | BIT(28))
#define BIT_SET_OFDM0_EXTS(a, c, d) (((a) << 31) | ((c) << 29) | ((d) << 28)) #define BIT_SET_OFDM0_EXTS(a, c, d) (((a) << 31) | ((c) << 29) | ((d) << 28))
#define BIT_MASK_OFDM0_EXTS_B (BIT(27) | BIT(25) | BIT(24))
#define BIT_SET_OFDM0_EXTS_B(a, c, d) (((a) << 27) | ((c) << 25) | ((d) << 24))
#define REG_OFDM0_XAAGC1 0x0c50 #define REG_OFDM0_XAAGC1 0x0c50
#define REG_OFDM0_XBAGC1 0x0c58 #define REG_OFDM0_XBAGC1 0x0c58
#define REG_AGCRSSI 0x0c78 #define REG_AGCRSSI 0x0c78
#define REG_OFDM_0_XA_TX_IQ_IMBALANCE 0x0c80 #define REG_OFDM_0_XA_TX_IQ_IMBALANCE 0x0c80
#define REG_OFDM_0_XB_TX_IQ_IMBALANCE 0x0c88
#define BIT_MASK_TXIQ_ELM_A 0x03ff #define BIT_MASK_TXIQ_ELM_A 0x03ff
#define BIT_SET_TXIQ_ELM_ACD(a, c, d) (((d) << 22) | (((c) & 0x3F) << 16) | \ #define BIT_SET_TXIQ_ELM_ACD(a, c, d) (((d) << 22) | (((c) & 0x3F) << 16) | \
((a) & 0x03ff)) ((a) & 0x03ff))
...@@ -303,6 +312,8 @@ extern const struct rtw8723x_common rtw8723x_common; ...@@ -303,6 +312,8 @@ extern const struct rtw8723x_common rtw8723x_common;
#define REG_IQK_AGC_RSP_11N 0x0e4c #define REG_IQK_AGC_RSP_11N 0x0e4c
#define REG_TX_IQK_TONE_B 0x0e50 #define REG_TX_IQK_TONE_B 0x0e50
#define REG_RX_IQK_TONE_B 0x0e54 #define REG_RX_IQK_TONE_B 0x0e54
#define REG_TXIQK_PI_B 0x0e58
#define REG_RXIQK_PI_B 0x0e5c
#define REG_IQK_RES_TX 0x0e94 #define REG_IQK_RES_TX 0x0e94
#define BIT_MASK_RES_TX GENMASK(25, 16) #define BIT_MASK_RES_TX GENMASK(25, 16)
#define REG_IQK_RES_TY 0x0e9c #define REG_IQK_RES_TY 0x0e9c
......
...@@ -40,6 +40,8 @@ enum rtw_rx_desc_enc { ...@@ -40,6 +40,8 @@ enum rtw_rx_desc_enc {
le32_get_bits(*((__le32 *)(rxdesc) + 0x02), GENMASK(30, 29)) le32_get_bits(*((__le32 *)(rxdesc) + 0x02), GENMASK(30, 29))
#define GET_RX_DESC_TSFL(rxdesc) \ #define GET_RX_DESC_TSFL(rxdesc) \
le32_get_bits(*((__le32 *)(rxdesc) + 0x05), GENMASK(31, 0)) le32_get_bits(*((__le32 *)(rxdesc) + 0x05), GENMASK(31, 0))
#define GET_RX_DESC_BW(rxdesc) \
(le32_get_bits(*((__le32 *)(rxdesc) + 0x04), GENMASK(31, 24)))
void rtw_rx_stats(struct rtw_dev *rtwdev, struct ieee80211_vif *vif, void rtw_rx_stats(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
struct sk_buff *skb); struct sk_buff *skb);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment