mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-30 08:02:30 +00:00
wifi: rtw89: 8851b: rfk: add DPK
DPK is short for digital pre-distortion calibration. It can adjusts digital waveform according to PA linear characteristics dynamically to enhance TX EVM. Do this calibration when we are going to run on AP channel. To prevent power offset out of boundary, it monitors thermal and set proper boundary to register. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20230513054425.9689-3-pkshih@realtek.com
This commit is contained in:
parent
fe8a168266
commit
0194a95cbe
3 changed files with 1064 additions and 0 deletions
|
@ -3325,6 +3325,10 @@
|
|||
#define B_AX_TXAGC_BT_EN BIT(1)
|
||||
#define B_AX_TXAGC_BT_MASK GENMASK(11, 3)
|
||||
|
||||
#define R_AX_PWR_SWING_OTHER_CTRL0 0xD230
|
||||
#define R_AX_PWR_SWING_OTHER_CTRL0_C1 0xF230
|
||||
#define B_AX_CFIR_BY_RATE_OFF_MASK GENMASK(17, 0)
|
||||
|
||||
#define R_AX_PWR_UL_CTRL0 0xD240
|
||||
#define R_AX_PWR_UL_CTRL2 0xD248
|
||||
#define B_AX_PWR_UL_CFO_MASK GENMASK(2, 0)
|
||||
|
@ -3755,6 +3759,7 @@
|
|||
#define RR_RXA_DPK GENMASK(9, 8)
|
||||
#define RR_RXA_LNA 0x8b
|
||||
#define RR_RXA2 0x8c
|
||||
#define RR_RAA2_SATT GENMASK(15, 13)
|
||||
#define RR_RAA2_SWATT GENMASK(15, 9)
|
||||
#define RR_RXA2_C1 GENMASK(12, 10)
|
||||
#define RR_RXA2_C2 GENMASK(9, 3)
|
||||
|
@ -4074,6 +4079,7 @@
|
|||
#define R_TXAGC_BB 0x1C60
|
||||
#define B_TXAGC_BB_OFT GENMASK(31, 16)
|
||||
#define B_TXAGC_BB GENMASK(31, 24)
|
||||
#define B_TXAGC_RF GENMASK(5, 0)
|
||||
#define R_S0_ADDCK 0x1E00
|
||||
#define B_S0_ADDCK_I GENMASK(9, 0)
|
||||
#define B_S0_ADDCK_Q GENMASK(19, 10)
|
||||
|
@ -4647,6 +4653,7 @@
|
|||
#define R_MDPK_SYNC 0x8070
|
||||
#define B_MDPK_SYNC_SEL BIT(31)
|
||||
#define B_MDPK_SYNC_MAN GENMASK(31, 28)
|
||||
#define B_MDPK_SYNC_DMAN GENMASK(30, 28)
|
||||
#define R_MDPK_RX_DCK 0x8074
|
||||
#define B_MDPK_RX_DCK_EN BIT(31)
|
||||
#define R_KIP_MOD 0x8078
|
||||
|
@ -4655,6 +4662,7 @@
|
|||
#define R_KIP_SYSCFG 0x8088
|
||||
#define R_KIP_CLK 0x808C
|
||||
#define R_DPK_IDL 0x809C
|
||||
#define B_DPK_IDL_SEL GENMASK(10, 9)
|
||||
#define B_DPK_IDL BIT(8)
|
||||
#define R_LDL_NORM 0x80A0
|
||||
#define B_LDL_NORM_MA BIT(16)
|
||||
|
@ -4673,6 +4681,10 @@
|
|||
#define B_KIP_RPT1_SEL GENMASK(21, 16)
|
||||
#define B_KIP_RPT1_SEL_V1 GENMASK(19, 16)
|
||||
#define R_SRAM_IQRX 0x80D8
|
||||
#define R_IDL_MPA 0x80DC
|
||||
#define B_IDL_DN BIT(31)
|
||||
#define B_IDL_MD530 BIT(1)
|
||||
#define B_IDL_MD500 BIT(0)
|
||||
#define R_GAPK 0x80E0
|
||||
#define B_GAPK_ADR BIT(0)
|
||||
#define R_SRAM_IQRX2 0x80E8
|
||||
|
@ -4760,6 +4772,7 @@
|
|||
#define B_DPK_GL_A0 GENMASK(31, 28)
|
||||
#define B_DPK_GL_A1 GENMASK(17, 0)
|
||||
#define R_RPT_PER 0x81FC
|
||||
#define B_RPT_PER_KSET GENMASK(31, 29)
|
||||
#define B_RPT_PER_TSSI GENMASK(28, 16)
|
||||
#define B_RPT_PER_OF GENMASK(15, 8)
|
||||
#define B_RPT_PER_TH GENMASK(5, 0)
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -12,6 +12,9 @@ void rtw8851b_rck(struct rtw89_dev *rtwdev);
|
|||
void rtw8851b_dack(struct rtw89_dev *rtwdev);
|
||||
void rtw8851b_iqk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx);
|
||||
void rtw8851b_rx_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx);
|
||||
void rtw8851b_dpk_init(struct rtw89_dev *rtwdev);
|
||||
void rtw8851b_dpk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy);
|
||||
void rtw8851b_dpk_track(struct rtw89_dev *rtwdev);
|
||||
void rtw8851b_set_channel_rf(struct rtw89_dev *rtwdev,
|
||||
const struct rtw89_chan *chan,
|
||||
enum rtw89_phy_idx phy_idx);
|
||||
|
|
Loading…
Reference in a new issue