1*2b379eb4SPing-Ke Shih // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 2*2b379eb4SPing-Ke Shih /* Copyright(c) 2019-2020 Realtek Corporation 3*2b379eb4SPing-Ke Shih */ 4*2b379eb4SPing-Ke Shih 5*2b379eb4SPing-Ke Shih #include "rtw8852b_rfk_table.h" 6*2b379eb4SPing-Ke Shih 7*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_afe_init_defs[] = { 8*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xC0D4, 0xffffffff, 0x4486888c), 9*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xC0D8, 0xffffffff, 0xc6ba10e0), 10*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc0dc, 0xffffffff, 0x30c52868), 11*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc0e0, 0xffffffff, 0x05008128), 12*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc0e4, 0xffffffff, 0x0000272b), 13*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xC1D4, 0xffffffff, 0x4486888c), 14*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xC1D8, 0xffffffff, 0xc6ba10e0), 15*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc1dc, 0xffffffff, 0x30c52868), 16*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc1e0, 0xffffffff, 0x05008128), 17*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc1e4, 0xffffffff, 0x0000272b), 18*2b379eb4SPing-Ke Shih }; 19*2b379eb4SPing-Ke Shih 20*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_afe_init_defs); 21*2b379eb4SPing-Ke Shih 22*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_check_addc_defs_a[] = { 23*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20f4, BIT(24), 0x0), 24*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20f8, 0x80000000, 0x1), 25*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20f0, 0xff0000, 0x1), 26*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20f0, 0xf00, 0x2), 27*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20f0, 0xf, 0x0), 28*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20f0, 0xc0, 0x2), 29*2b379eb4SPing-Ke Shih }; 30*2b379eb4SPing-Ke Shih 31*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_check_addc_defs_a); 32*2b379eb4SPing-Ke Shih 33*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_check_addc_defs_b[] = { 34*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20f4, BIT(24), 0x0), 35*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20f8, 0x80000000, 0x1), 36*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20f0, 0xff0000, 0x1), 37*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20f0, 0xf00, 0x2), 38*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20f0, 0xf, 0x0), 39*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20f0, 0xc0, 0x3), 40*2b379eb4SPing-Ke Shih }; 41*2b379eb4SPing-Ke Shih 42*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_check_addc_defs_b); 43*2b379eb4SPing-Ke Shih 44*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_check_dadc_en_defs_a[] = { 45*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x032C, BIT(30), 0x0), 46*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x030C, 0x0f000000, 0xf), 47*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x030C, 0x0f000000, 0x3), 48*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x032C, BIT(16), 0x0), 49*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12dc, BIT(0), 0x1), 50*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12e8, BIT(2), 0x1), 51*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x8f, BIT(13), 0x1), 52*2b379eb4SPing-Ke Shih }; 53*2b379eb4SPing-Ke Shih 54*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_check_dadc_en_defs_a); 55*2b379eb4SPing-Ke Shih 56*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_check_dadc_en_defs_b[] = { 57*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x032C, BIT(30), 0x0), 58*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x030C, 0x0f000000, 0xf), 59*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x030C, 0x0f000000, 0x3), 60*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x032C, BIT(16), 0x0), 61*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32dc, BIT(0), 0x1), 62*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32e8, BIT(2), 0x1), 63*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_B, 0x8f, BIT(13), 0x1), 64*2b379eb4SPing-Ke Shih }; 65*2b379eb4SPing-Ke Shih 66*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_check_dadc_en_defs_b); 67*2b379eb4SPing-Ke Shih 68*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_check_dadc_dis_defs_a[] = { 69*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12dc, BIT(0), 0x0), 70*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12e8, BIT(2), 0x0), 71*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x8f, BIT(13), 0x0), 72*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x032C, BIT(16), 0x1), 73*2b379eb4SPing-Ke Shih }; 74*2b379eb4SPing-Ke Shih 75*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_check_dadc_dis_defs_a); 76*2b379eb4SPing-Ke Shih 77*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_check_dadc_dis_defs_b[] = { 78*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32dc, BIT(0), 0x0), 79*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32e8, BIT(2), 0x0), 80*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_B, 0x8f, BIT(13), 0x0), 81*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x032C, BIT(16), 0x1), 82*2b379eb4SPing-Ke Shih }; 83*2b379eb4SPing-Ke Shih 84*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_check_dadc_dis_defs_b); 85*2b379eb4SPing-Ke Shih 86*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_dack_s0_1_defs[] = { 87*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12A0, BIT(15), 0x1), 88*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12A0, 0x00007000, 0x3), 89*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12B8, BIT(30), 0x1), 90*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x030C, BIT(28), 0x1), 91*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x032C, 0x80000000, 0x0), 92*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xC0D8, BIT(16), 0x1), 93*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc0dc, 0x0c000000, 0x3), 94*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xC004, BIT(30), 0x0), 95*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc024, BIT(30), 0x0), 96*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xC004, 0x3ff00000, 0x30), 97*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xC004, 0xc0000000, 0x0), 98*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xC004, BIT(17), 0x1), 99*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc024, BIT(17), 0x1), 100*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc00c, BIT(2), 0x0), 101*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc02c, BIT(2), 0x0), 102*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xC004, BIT(0), 0x1), 103*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc024, BIT(0), 0x1), 104*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_DELAY(1), 105*2b379eb4SPing-Ke Shih }; 106*2b379eb4SPing-Ke Shih 107*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_dack_s0_1_defs); 108*2b379eb4SPing-Ke Shih 109*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_dack_s0_2_defs[] = { 110*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc0dc, 0x0c000000, 0x0), 111*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc00c, BIT(2), 0x1), 112*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc02c, BIT(2), 0x1), 113*2b379eb4SPing-Ke Shih }; 114*2b379eb4SPing-Ke Shih 115*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_dack_s0_2_defs); 116*2b379eb4SPing-Ke Shih 117*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_dack_s0_3_defs[] = { 118*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xC004, BIT(0), 0x0), 119*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc024, BIT(0), 0x0), 120*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xC0D8, BIT(16), 0x0), 121*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12A0, BIT(15), 0x0), 122*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12A0, 0x00007000, 0x7), 123*2b379eb4SPing-Ke Shih }; 124*2b379eb4SPing-Ke Shih 125*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_dack_s0_3_defs); 126*2b379eb4SPing-Ke Shih 127*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_dack_s1_1_defs[] = { 128*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32a0, BIT(15), 0x1), 129*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32a0, 0x7000, 0x3), 130*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32B8, BIT(30), 0x1), 131*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x030C, BIT(28), 0x1), 132*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x032C, 0x80000000, 0x0), 133*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xC1D8, BIT(16), 0x1), 134*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc1dc, 0x0c000000, 0x3), 135*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc104, BIT(30), 0x0), 136*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc124, BIT(30), 0x0), 137*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc104, 0x3ff00000, 0x30), 138*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc104, 0xc0000000, 0x0), 139*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc104, BIT(17), 0x1), 140*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc124, BIT(17), 0x1), 141*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc10c, BIT(2), 0x0), 142*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc12c, BIT(2), 0x0), 143*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc104, BIT(0), 0x1), 144*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc124, BIT(0), 0x1), 145*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_DELAY(1), 146*2b379eb4SPing-Ke Shih }; 147*2b379eb4SPing-Ke Shih 148*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_dack_s1_1_defs); 149*2b379eb4SPing-Ke Shih 150*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_dack_s1_2_defs[] = { 151*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc1dc, 0x0c000000, 0x0), 152*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc10c, BIT(2), 0x1), 153*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc12c, BIT(2), 0x1), 154*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_DELAY(1), 155*2b379eb4SPing-Ke Shih }; 156*2b379eb4SPing-Ke Shih 157*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_dack_s1_2_defs); 158*2b379eb4SPing-Ke Shih 159*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_dack_s1_3_defs[] = { 160*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc104, BIT(0), 0x0), 161*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xc124, BIT(0), 0x0), 162*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0xC1D8, BIT(16), 0x0), 163*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32a0, BIT(15), 0x0), 164*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32a0, 0x7000, 0x7), 165*2b379eb4SPing-Ke Shih }; 166*2b379eb4SPing-Ke Shih 167*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_dack_s1_3_defs); 168*2b379eb4SPing-Ke Shih 169*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_dpk_afe_defs[] = { 170*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0xffff0000, 0x0303), 171*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12b8, BIT(30), 0x1), 172*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32b8, BIT(30), 0x1), 173*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x13), 174*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0041), 175*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12b8, BIT(28), 0x1), 176*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58c8, BIT(24), 0x1), 177*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78c8, BIT(24), 0x1), 178*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5864, 0xc0000000, 0x3), 179*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7864, 0xc0000000, 0x3), 180*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x2008, 0x01FFFFFF, 0x1ffffff), 181*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0c1c, BIT(2), 0x1), 182*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0700, BIT(27), 0x1), 183*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0c70, 0x000003FF, 0x3ff), 184*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0c60, 0x00000003, 0x3), 185*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0c6c, BIT(0), 0x1), 186*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58ac, BIT(27), 0x1), 187*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78ac, BIT(27), 0x1), 188*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0c3c, BIT(9), 0x1), 189*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x2344, BIT(31), 0x1), 190*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x4490, BIT(31), 0x1), 191*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x000ff000, 0xbf), 192*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32a0, 0x000f0000, 0xb), 193*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0700, 0x07000000, 0x5), 194*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0xffff0000, 0x3333), 195*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x580c, BIT(15), 0x1), 196*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5800, 0x0000ffff, 0x0000), 197*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x780c, BIT(15), 0x1), 198*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7800, 0x0000ffff, 0x0000), 199*2b379eb4SPing-Ke Shih }; 200*2b379eb4SPing-Ke Shih 201*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_dpk_afe_defs); 202*2b379eb4SPing-Ke Shih 203*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_dpk_afe_restore_defs[] = { 204*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0xffff0000, 0x0303), 205*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12b8, BIT(30), 0x0), 206*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32b8, BIT(30), 0x0), 207*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5864, 0xc0000000, 0x0), 208*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7864, 0xc0000000, 0x0), 209*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x2008, 0x01FFFFFF, 0x0), 210*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0c1c, BIT(2), 0x0), 211*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0700, BIT(27), 0x0), 212*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0c70, 0x000003FF, 0x63), 213*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x000FF000, 0x00), 214*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32a0, 0x000FF000, 0x00), 215*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0700, 0x07000000, 0x0), 216*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5864, BIT(29), 0x0), 217*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7864, BIT(29), 0x0), 218*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0xffff0000, 0x0000), 219*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58c8, BIT(24), 0x0), 220*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78c8, BIT(24), 0x0), 221*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0c3c, BIT(9), 0x0), 222*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x580c, BIT(15), 0x0), 223*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58e4, 0x18000000, 0x1), 224*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58e4, 0x18000000, 0x2), 225*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x780c, BIT(15), 0x0), 226*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78e4, 0x18000000, 0x1), 227*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78e4, 0x18000000, 0x2), 228*2b379eb4SPing-Ke Shih }; 229*2b379eb4SPing-Ke Shih 230*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_dpk_afe_restore_defs); 231*2b379eb4SPing-Ke Shih 232*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_dpk_kip_defs[] = { 233*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x8008, 0xffffffff, 0x00000000), 234*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x8088, 0xffffffff, 0x80000000), 235*2b379eb4SPing-Ke Shih }; 236*2b379eb4SPing-Ke Shih 237*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_dpk_kip_defs); 238*2b379eb4SPing-Ke Shih 239*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_sys_defs[] = { 240*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12a8, 0x0000000f, 0x5), 241*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32a8, 0x0000000f, 0x5), 242*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12bc, 0x000ffff0, 0x5555), 243*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32bc, 0x000ffff0, 0x5555), 244*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0300, 0xff000000, 0x16), 245*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0304, 0x000000ff, 0x19), 246*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0314, 0xffff0000, 0x2041), 247*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0318, 0xffffffff, 0x2041), 248*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0318, 0xffffffff, 0x20012041), 249*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0020, 0x00006000, 0x3), 250*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0024, 0x00006000, 0x3), 251*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0704, 0xffff0000, 0x601e), 252*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x2704, 0xffff0000, 0x601e), 253*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0700, 0xf0000000, 0x4), 254*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x2700, 0xf0000000, 0x4), 255*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0650, 0x3c000000, 0x0), 256*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x2650, 0x3c000000, 0x0), 257*2b379eb4SPing-Ke Shih }; 258*2b379eb4SPing-Ke Shih 259*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_sys_defs); 260*2b379eb4SPing-Ke Shih 261*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_sys_a_defs_2g[] = { 262*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x120c, 0x000000ff, 0x33), 263*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12c0, 0x0ff00000, 0x33), 264*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58f8, 0x40000000, 0x1), 265*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0304, 0x0000ff00, 0x1e), 266*2b379eb4SPing-Ke Shih }; 267*2b379eb4SPing-Ke Shih 268*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_sys_a_defs_2g); 269*2b379eb4SPing-Ke Shih 270*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_sys_a_defs_5g[] = { 271*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x120c, 0x000000ff, 0x44), 272*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x12c0, 0x0ff00000, 0x44), 273*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58f8, 0x40000000, 0x0), 274*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0304, 0x0000ff00, 0x1d), 275*2b379eb4SPing-Ke Shih }; 276*2b379eb4SPing-Ke Shih 277*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_sys_a_defs_5g); 278*2b379eb4SPing-Ke Shih 279*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_sys_b_defs_2g[] = { 280*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32c0, 0x0ff00000, 0x33), 281*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x320c, 0x000000ff, 0x33), 282*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78f8, 0x40000000, 0x1), 283*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0304, 0x0000ff00, 0x1e), 284*2b379eb4SPing-Ke Shih }; 285*2b379eb4SPing-Ke Shih 286*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_sys_b_defs_2g); 287*2b379eb4SPing-Ke Shih 288*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_sys_b_defs_5g[] = { 289*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x32c0, 0x0ff00000, 0x44), 290*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x320c, 0x000000ff, 0x44), 291*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78f8, 0x40000000, 0x0), 292*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x0304, 0x0000ff00, 0x1d), 293*2b379eb4SPing-Ke Shih }; 294*2b379eb4SPing-Ke Shih 295*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_sys_b_defs_5g); 296*2b379eb4SPing-Ke Shih 297*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_init_txpwr_defs_a[] = { 298*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x566c, 0x00001000, 0x0), 299*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5800, 0xffffffff, 0x003f807f), 300*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x580c, 0x0000007f, 0x40), 301*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x580c, 0x0fffff00, 0x00040), 302*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5810, 0xffffffff, 0x59010000), 303*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x01ffffff, 0x002d000), 304*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0xf8000000, 0x00), 305*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5818, 0xffffffff, 0x002c1800), 306*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x581c, 0x3fffffff, 0x1dc80280), 307*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5820, 0xffffffff, 0x00002080), 308*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x580c, 0x10000000, 0x1), 309*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x580c, 0x40000000, 0x1), 310*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5834, 0x3fffffff, 0x000115f2), 311*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5838, 0x7fffffff, 0x0000121), 312*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5854, 0x3fffffff, 0x000115f2), 313*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5858, 0x7fffffff, 0x0000121), 314*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5860, 0x80000000, 0x0), 315*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5864, 0x07ffffff, 0x00801ff), 316*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5898, 0xffffffff, 0x00000000), 317*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x589c, 0xffffffff, 0x00000000), 318*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58a4, 0x000000ff, 0x16), 319*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58b0, 0xffffffff, 0x00000000), 320*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58b4, 0x7fffffff, 0x0a002000), 321*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58b8, 0x7fffffff, 0x00007628), 322*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58bc, 0x07ffffff, 0x7a7807f), 323*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58c0, 0xfffe0000, 0x003f), 324*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58c4, 0xffffffff, 0x0003ffff), 325*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58c8, 0x00ffffff, 0x000000), 326*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58c8, 0xf0000000, 0x0), 327*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58cc, 0xffffffff, 0x00000000), 328*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58d0, 0x07ffffff, 0x2008101), 329*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58d4, 0x000000ff, 0x00), 330*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58d4, 0x0003fe00, 0x0ff), 331*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58d4, 0x07fc0000, 0x100), 332*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58d8, 0xffffffff, 0x8008016c), 333*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58dc, 0x0001ffff, 0x0807f), 334*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58dc, 0xfff00000, 0x800), 335*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58f0, 0x0003ffff, 0x001ff), 336*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58f4, 0x000fffff, 0x000), 337*2b379eb4SPing-Ke Shih }; 338*2b379eb4SPing-Ke Shih 339*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_init_txpwr_defs_a); 340*2b379eb4SPing-Ke Shih 341*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_init_txpwr_defs_b[] = { 342*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x566c, 0x00001000, 0x0), 343*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7800, 0xffffffff, 0x003f807f), 344*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x780c, 0x0000007f, 0x40), 345*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x780c, 0x0fffff00, 0x00040), 346*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7810, 0xffffffff, 0x59010000), 347*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7814, 0x01ffffff, 0x002d000), 348*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7814, 0xf8000000, 0x00), 349*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7818, 0xffffffff, 0x002c1800), 350*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x781c, 0x3fffffff, 0x1dc80280), 351*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7820, 0xffffffff, 0x00002080), 352*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x780c, 0x10000000, 0x1), 353*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x780c, 0x40000000, 0x1), 354*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7834, 0x3fffffff, 0x000115f2), 355*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7838, 0x7fffffff, 0x0000121), 356*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7854, 0x3fffffff, 0x000115f2), 357*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7858, 0x7fffffff, 0x0000121), 358*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7860, 0x80000000, 0x0), 359*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7864, 0x07ffffff, 0x00801ff), 360*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7898, 0xffffffff, 0x00000000), 361*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x789c, 0xffffffff, 0x00000000), 362*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78a4, 0x000000ff, 0x16), 363*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78b0, 0xffffffff, 0x00000000), 364*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78b4, 0x7fffffff, 0x0a002000), 365*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78b8, 0x7fffffff, 0x00007628), 366*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78bc, 0x07ffffff, 0x7a7807f), 367*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78c0, 0xfffe0000, 0x003f), 368*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78c4, 0xffffffff, 0x0003ffff), 369*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78c8, 0x00ffffff, 0x000000), 370*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78c8, 0xf0000000, 0x0), 371*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78cc, 0xffffffff, 0x00000000), 372*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78d0, 0x07ffffff, 0x2008101), 373*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78d4, 0x000000ff, 0x00), 374*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78d4, 0x0003fe00, 0x0ff), 375*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78d4, 0x07fc0000, 0x100), 376*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78d8, 0xffffffff, 0x8008016c), 377*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78dc, 0x0001ffff, 0x0807f), 378*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78dc, 0xfff00000, 0x800), 379*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78f0, 0x0003ffff, 0x001ff), 380*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78f4, 0x000fffff, 0x000), 381*2b379eb4SPing-Ke Shih }; 382*2b379eb4SPing-Ke Shih 383*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_init_txpwr_defs_b); 384*2b379eb4SPing-Ke Shih 385*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_init_txpwr_he_tb_defs_a[] = { 386*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58a0, 0xffffffff, 0x000000fe), 387*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58e4, 0x0000007f, 0x1f), 388*2b379eb4SPing-Ke Shih }; 389*2b379eb4SPing-Ke Shih 390*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_init_txpwr_he_tb_defs_a); 391*2b379eb4SPing-Ke Shih 392*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_init_txpwr_he_tb_defs_b[] = { 393*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78a0, 0xffffffff, 0x000000fe), 394*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78e4, 0x0000007f, 0x1f), 395*2b379eb4SPing-Ke Shih }; 396*2b379eb4SPing-Ke Shih 397*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_init_txpwr_he_tb_defs_b); 398*2b379eb4SPing-Ke Shih 399*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_dck_defs_a[] = { 400*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x580c, 0x0fff0000, 0x000), 401*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x003ff000, 0x0ef), 402*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x18000000, 0x0), 403*2b379eb4SPing-Ke Shih }; 404*2b379eb4SPing-Ke Shih 405*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_dck_defs_a); 406*2b379eb4SPing-Ke Shih 407*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_dck_defs_b[] = { 408*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x780c, 0x0fff0000, 0x000), 409*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7814, 0x003ff000, 0x0ef), 410*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7814, 0x18000000, 0x0), 411*2b379eb4SPing-Ke Shih }; 412*2b379eb4SPing-Ke Shih 413*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_dck_defs_b); 414*2b379eb4SPing-Ke Shih 415*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_dac_gain_defs_a[] = { 416*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58b0, 0x00000400, 0x1), 417*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58b0, 0x00000fff, 0x000), 418*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x58b0, 0x00000800, 0x1), 419*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a00, 0xffffffff, 0x00000000), 420*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a04, 0xffffffff, 0x00000000), 421*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a08, 0xffffffff, 0x00000000), 422*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a0c, 0xffffffff, 0x00000000), 423*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a10, 0xffffffff, 0x00000000), 424*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a14, 0xffffffff, 0x00000000), 425*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a18, 0xffffffff, 0x00000000), 426*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a1c, 0xffffffff, 0x00000000), 427*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a20, 0xffffffff, 0x00000000), 428*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a24, 0xffffffff, 0x00000000), 429*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a28, 0xffffffff, 0x00000000), 430*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a2c, 0xffffffff, 0x00000000), 431*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a30, 0xffffffff, 0x00000000), 432*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a34, 0xffffffff, 0x00000000), 433*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a38, 0xffffffff, 0x00000000), 434*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a3c, 0xffffffff, 0x00000000), 435*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a40, 0xffffffff, 0x00000000), 436*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a44, 0xffffffff, 0x00000000), 437*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a48, 0xffffffff, 0x00000000), 438*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a4c, 0xffffffff, 0x00000000), 439*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a50, 0xffffffff, 0x00000000), 440*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a54, 0xffffffff, 0x00000000), 441*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a58, 0xffffffff, 0x00000000), 442*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a5c, 0xffffffff, 0x00000000), 443*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a60, 0xffffffff, 0x00000000), 444*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a64, 0xffffffff, 0x00000000), 445*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a68, 0xffffffff, 0x00000000), 446*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a6c, 0xffffffff, 0x00000000), 447*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a70, 0xffffffff, 0x00000000), 448*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a74, 0xffffffff, 0x00000000), 449*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a78, 0xffffffff, 0x00000000), 450*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a7c, 0xffffffff, 0x00000000), 451*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a80, 0xffffffff, 0x00000000), 452*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a84, 0xffffffff, 0x00000000), 453*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a88, 0xffffffff, 0x00000000), 454*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a8c, 0xffffffff, 0x00000000), 455*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a90, 0xffffffff, 0x00000000), 456*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a94, 0xffffffff, 0x00000000), 457*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a98, 0xffffffff, 0x00000000), 458*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5a9c, 0xffffffff, 0x00000000), 459*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5aa0, 0xffffffff, 0x00000000), 460*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5aa4, 0xffffffff, 0x00000000), 461*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5aa8, 0xffffffff, 0x00000000), 462*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5aac, 0xffffffff, 0x00000000), 463*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5ab0, 0xffffffff, 0x00000000), 464*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5ab4, 0xffffffff, 0x00000000), 465*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5ab8, 0xffffffff, 0x00000000), 466*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5abc, 0xffffffff, 0x00000000), 467*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5ac0, 0xffffffff, 0x00000000), 468*2b379eb4SPing-Ke Shih }; 469*2b379eb4SPing-Ke Shih 470*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_dac_gain_defs_a); 471*2b379eb4SPing-Ke Shih 472*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_dac_gain_defs_b[] = { 473*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78b0, 0x00000fff, 0x000), 474*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x78b0, 0x00000800, 0x1), 475*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a00, 0xffffffff, 0x00000000), 476*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a04, 0xffffffff, 0x00000000), 477*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a08, 0xffffffff, 0x00000000), 478*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a0c, 0xffffffff, 0x00000000), 479*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a10, 0xffffffff, 0x00000000), 480*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a14, 0xffffffff, 0x00000000), 481*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a18, 0xffffffff, 0x00000000), 482*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a1c, 0xffffffff, 0x00000000), 483*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a20, 0xffffffff, 0x00000000), 484*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a24, 0xffffffff, 0x00000000), 485*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a28, 0xffffffff, 0x00000000), 486*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a2c, 0xffffffff, 0x00000000), 487*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a30, 0xffffffff, 0x00000000), 488*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a34, 0xffffffff, 0x00000000), 489*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a38, 0xffffffff, 0x00000000), 490*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a3c, 0xffffffff, 0x00000000), 491*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a40, 0xffffffff, 0x00000000), 492*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a44, 0xffffffff, 0x00000000), 493*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a48, 0xffffffff, 0x00000000), 494*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a4c, 0xffffffff, 0x00000000), 495*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a50, 0xffffffff, 0x00000000), 496*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a54, 0xffffffff, 0x00000000), 497*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a58, 0xffffffff, 0x00000000), 498*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a5c, 0xffffffff, 0x00000000), 499*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a60, 0xffffffff, 0x00000000), 500*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a64, 0xffffffff, 0x00000000), 501*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a68, 0xffffffff, 0x00000000), 502*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a6c, 0xffffffff, 0x00000000), 503*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a70, 0xffffffff, 0x00000000), 504*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a74, 0xffffffff, 0x00000000), 505*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a78, 0xffffffff, 0x00000000), 506*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a7c, 0xffffffff, 0x00000000), 507*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a80, 0xffffffff, 0x00000000), 508*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a84, 0xffffffff, 0x00000000), 509*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a88, 0xffffffff, 0x00000000), 510*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a8c, 0xffffffff, 0x00000000), 511*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a90, 0xffffffff, 0x00000000), 512*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a94, 0xffffffff, 0x00000000), 513*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a98, 0xffffffff, 0x00000000), 514*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7a9c, 0xffffffff, 0x00000000), 515*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7aa0, 0xffffffff, 0x00000000), 516*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7aa4, 0xffffffff, 0x00000000), 517*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7aa8, 0xffffffff, 0x00000000), 518*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7aac, 0xffffffff, 0x00000000), 519*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7ab0, 0xffffffff, 0x00000000), 520*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7ab4, 0xffffffff, 0x00000000), 521*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7ab8, 0xffffffff, 0x00000000), 522*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7abc, 0xffffffff, 0x00000000), 523*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7ac0, 0xffffffff, 0x00000000), 524*2b379eb4SPing-Ke Shih }; 525*2b379eb4SPing-Ke Shih 526*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_dac_gain_defs_b); 527*2b379eb4SPing-Ke Shih 528*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_slope_a_defs_2g[] = { 529*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5608, 0x07ffffff, 0x0801008), 530*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x560c, 0x07ffffff, 0x0201020), 531*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5610, 0x07ffffff, 0x0201008), 532*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5614, 0x07ffffff, 0x0804008), 533*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5618, 0x07ffffff, 0x0201008), 534*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x561c, 0x000001ff, 0x008), 535*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x561c, 0xffff0000, 0x0808), 536*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5620, 0xffffffff, 0x08081e28), 537*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5624, 0xffffffff, 0x08080808), 538*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5628, 0xffffffff, 0x08081e28), 539*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x562c, 0x0000ffff, 0x0808), 540*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x581c, 0x00100000, 0x1), 541*2b379eb4SPing-Ke Shih }; 542*2b379eb4SPing-Ke Shih 543*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_slope_a_defs_2g); 544*2b379eb4SPing-Ke Shih 545*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_slope_a_defs_5g[] = { 546*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5608, 0x07ffffff, 0x0201008), 547*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x560c, 0x07ffffff, 0x0201020), 548*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5610, 0x07ffffff, 0x0201008), 549*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5614, 0x07ffffff, 0x0201008), 550*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5618, 0x07ffffff, 0x0201008), 551*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x561c, 0x000001ff, 0x008), 552*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x561c, 0xffff0000, 0x0808), 553*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5620, 0xffffffff, 0x08081e08), 554*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5624, 0xffffffff, 0x08080808), 555*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5628, 0xffffffff, 0x08080808), 556*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x562c, 0x0000ffff, 0x0808), 557*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x581c, 0x00100000, 0x1), 558*2b379eb4SPing-Ke Shih }; 559*2b379eb4SPing-Ke Shih 560*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_slope_a_defs_5g); 561*2b379eb4SPing-Ke Shih 562*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_slope_b_defs_2g[] = { 563*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7608, 0x07ffffff, 0x0801008), 564*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x760c, 0x07ffffff, 0x0201020), 565*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7610, 0x07ffffff, 0x0201008), 566*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7614, 0x07ffffff, 0x0804008), 567*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7618, 0x07ffffff, 0x0201008), 568*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x761c, 0x000001ff, 0x008), 569*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x761c, 0xffff0000, 0x0808), 570*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7620, 0xffffffff, 0x08081e28), 571*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7624, 0xffffffff, 0x08080808), 572*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7628, 0xffffffff, 0x08081e28), 573*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x762c, 0x0000ffff, 0x0808), 574*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x781c, 0x00100000, 0x1), 575*2b379eb4SPing-Ke Shih }; 576*2b379eb4SPing-Ke Shih 577*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_slope_b_defs_2g); 578*2b379eb4SPing-Ke Shih 579*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_slope_b_defs_5g[] = { 580*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7608, 0x07ffffff, 0x0201008), 581*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x760c, 0x07ffffff, 0x0201020), 582*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7610, 0x07ffffff, 0x0201008), 583*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7614, 0x07ffffff, 0x0201008), 584*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7618, 0x07ffffff, 0x0201008), 585*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x761c, 0x000001ff, 0x008), 586*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x761c, 0xffff0000, 0x0808), 587*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7620, 0xffffffff, 0x08081e08), 588*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7624, 0xffffffff, 0x08080808), 589*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7628, 0xffffffff, 0x08080808), 590*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x762c, 0x0000ffff, 0x0808), 591*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x781c, 0x00100000, 0x1), 592*2b379eb4SPing-Ke Shih }; 593*2b379eb4SPing-Ke Shih 594*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_slope_b_defs_5g); 595*2b379eb4SPing-Ke Shih 596*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_a_2g_all_defs[] = { 597*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5604, 0x80000000, 0x1), 598*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5600, 0x3fffffff, 0x3f2d2721), 599*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5604, 0x003fffff, 0x010101), 600*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5630, 0x3fffffff, 0x01ef27af), 601*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5634, 0x3fffffff, 0x00000075), 602*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5638, 0x000fffff, 0x00000), 603*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x563c, 0x3fffffff, 0x017f13ae), 604*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5640, 0x3fffffff, 0x0000006e), 605*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5644, 0x000fffff, 0x00000), 606*2b379eb4SPing-Ke Shih }; 607*2b379eb4SPing-Ke Shih 608*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_a_2g_all_defs); 609*2b379eb4SPing-Ke Shih 610*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_a_2g_part_defs[] = { 611*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5630, 0x3fffffff, 0x01ef27af), 612*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5634, 0x3fffffff, 0x00000075), 613*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x563c, 0x3fffffff, 0x017f13ae), 614*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5640, 0x3fffffff, 0x0000006e), 615*2b379eb4SPing-Ke Shih }; 616*2b379eb4SPing-Ke Shih 617*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_a_2g_part_defs); 618*2b379eb4SPing-Ke Shih 619*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_a_5g1_all_defs[] = { 620*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5604, 0x80000000, 0x1), 621*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5600, 0x3fffffff, 0x3f2d2721), 622*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5604, 0x003fffff, 0x010101), 623*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5630, 0x3fffffff, 0x016037e7), 624*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5634, 0x3fffffff, 0x0000006f), 625*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5638, 0x000fffff, 0x00000), 626*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x563c, 0x3fffffff, 0x00000000), 627*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5640, 0x3fffffff, 0x00000000), 628*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5644, 0x000fffff, 0x00000), 629*2b379eb4SPing-Ke Shih }; 630*2b379eb4SPing-Ke Shih 631*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_a_5g1_all_defs); 632*2b379eb4SPing-Ke Shih 633*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_a_5g1_part_defs[] = { 634*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5630, 0x3fffffff, 0x016037e7), 635*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5634, 0x3fffffff, 0x0000006f), 636*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x563c, 0x3fffffff, 0x00000000), 637*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5640, 0x3fffffff, 0x00000000), 638*2b379eb4SPing-Ke Shih }; 639*2b379eb4SPing-Ke Shih 640*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_a_5g1_part_defs); 641*2b379eb4SPing-Ke Shih 642*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_a_5g2_all_defs[] = { 643*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5604, 0x80000000, 0x1), 644*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5600, 0x3fffffff, 0x3f2d2721), 645*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5604, 0x003fffff, 0x010101), 646*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5630, 0x3fffffff, 0x01f053f1), 647*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5634, 0x3fffffff, 0x00000070), 648*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5638, 0x000fffff, 0x00000), 649*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x563c, 0x3fffffff, 0x00000000), 650*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5640, 0x3fffffff, 0x00000000), 651*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5644, 0x000fffff, 0x00000), 652*2b379eb4SPing-Ke Shih }; 653*2b379eb4SPing-Ke Shih 654*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_a_5g2_all_defs); 655*2b379eb4SPing-Ke Shih 656*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_a_5g2_part_defs[] = { 657*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5630, 0x3fffffff, 0x01f053f1), 658*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5634, 0x3fffffff, 0x00000070), 659*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x563c, 0x3fffffff, 0x00000000), 660*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5640, 0x3fffffff, 0x00000000), 661*2b379eb4SPing-Ke Shih }; 662*2b379eb4SPing-Ke Shih 663*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_a_5g2_part_defs); 664*2b379eb4SPing-Ke Shih 665*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_a_5g3_all_defs[] = { 666*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5604, 0x80000000, 0x1), 667*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5600, 0x3fffffff, 0x3f2d2721), 668*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5604, 0x003fffff, 0x010101), 669*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5630, 0x3fffffff, 0x01c047ee), 670*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5634, 0x3fffffff, 0x00000070), 671*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5638, 0x000fffff, 0x00000), 672*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x563c, 0x3fffffff, 0x00000000), 673*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5640, 0x3fffffff, 0x00000000), 674*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5644, 0x000fffff, 0x00000), 675*2b379eb4SPing-Ke Shih }; 676*2b379eb4SPing-Ke Shih 677*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_a_5g3_all_defs); 678*2b379eb4SPing-Ke Shih 679*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_a_5g3_part_defs[] = { 680*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5630, 0x3fffffff, 0x01c047ee), 681*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5634, 0x3fffffff, 0x00000070), 682*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x563c, 0x3fffffff, 0x00000000), 683*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5640, 0x3fffffff, 0x00000000), 684*2b379eb4SPing-Ke Shih }; 685*2b379eb4SPing-Ke Shih 686*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_a_5g3_part_defs); 687*2b379eb4SPing-Ke Shih 688*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_b_2g_all_defs[] = { 689*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7604, 0x80000000, 0x1), 690*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7600, 0x3fffffff, 0x3f2d2721), 691*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7604, 0x003fffff, 0x010101), 692*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7630, 0x3fffffff, 0x01ff2bb5), 693*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7634, 0x3fffffff, 0x00000078), 694*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7638, 0x000fffff, 0x00000), 695*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x763c, 0x3fffffff, 0x018f2bb0), 696*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7640, 0x3fffffff, 0x00000072), 697*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7644, 0x000fffff, 0x00000), 698*2b379eb4SPing-Ke Shih }; 699*2b379eb4SPing-Ke Shih 700*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_b_2g_all_defs); 701*2b379eb4SPing-Ke Shih 702*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_b_2g_part_defs[] = { 703*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7630, 0x3fffffff, 0x01ff2bb5), 704*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7634, 0x3fffffff, 0x00000078), 705*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x763c, 0x3fffffff, 0x018f2bb0), 706*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7640, 0x3fffffff, 0x00000072), 707*2b379eb4SPing-Ke Shih }; 708*2b379eb4SPing-Ke Shih 709*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_b_2g_part_defs); 710*2b379eb4SPing-Ke Shih 711*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_b_5g1_all_defs[] = { 712*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7604, 0x80000000, 0x1), 713*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7600, 0x3fffffff, 0x3f2d2721), 714*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7604, 0x003fffff, 0x010101), 715*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7630, 0x3fffffff, 0x009003da), 716*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7634, 0x3fffffff, 0x00000069), 717*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7638, 0x000fffff, 0x00000), 718*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x763c, 0x3fffffff, 0x00000000), 719*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7640, 0x3fffffff, 0x00000000), 720*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7644, 0x000fffff, 0x00000), 721*2b379eb4SPing-Ke Shih }; 722*2b379eb4SPing-Ke Shih 723*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_b_5g1_all_defs); 724*2b379eb4SPing-Ke Shih 725*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_b_5g1_part_defs[] = { 726*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7630, 0x3fffffff, 0x009003da), 727*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7634, 0x3fffffff, 0x00000069), 728*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x763c, 0x3fffffff, 0x00000000), 729*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7640, 0x3fffffff, 0x00000000), 730*2b379eb4SPing-Ke Shih }; 731*2b379eb4SPing-Ke Shih 732*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_b_5g1_part_defs); 733*2b379eb4SPing-Ke Shih 734*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_b_5g2_all_defs[] = { 735*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7604, 0x80000000, 0x1), 736*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7600, 0x3fffffff, 0x3f2d2721), 737*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7604, 0x003fffff, 0x010101), 738*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7630, 0x3fffffff, 0x013027e6), 739*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7634, 0x3fffffff, 0x00000069), 740*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7638, 0x000fffff, 0x00000), 741*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x763c, 0x3fffffff, 0x00000000), 742*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7640, 0x3fffffff, 0x00000000), 743*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7644, 0x000fffff, 0x00000), 744*2b379eb4SPing-Ke Shih }; 745*2b379eb4SPing-Ke Shih 746*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_b_5g2_all_defs); 747*2b379eb4SPing-Ke Shih 748*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_b_5g2_part_defs[] = { 749*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7630, 0x3fffffff, 0x013027e6), 750*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7634, 0x3fffffff, 0x00000069), 751*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x763c, 0x3fffffff, 0x00000000), 752*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7640, 0x3fffffff, 0x00000000), 753*2b379eb4SPing-Ke Shih }; 754*2b379eb4SPing-Ke Shih 755*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_b_5g2_part_defs); 756*2b379eb4SPing-Ke Shih 757*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_b_5g3_all_defs[] = { 758*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7604, 0x80000000, 0x1), 759*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7600, 0x3fffffff, 0x3f2d2721), 760*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7604, 0x003fffff, 0x010101), 761*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7630, 0x3fffffff, 0x009003da), 762*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7634, 0x3fffffff, 0x00000069), 763*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7638, 0x000fffff, 0x00000), 764*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x763c, 0x3fffffff, 0x00000000), 765*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7640, 0x3fffffff, 0x00000000), 766*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7644, 0x000fffff, 0x00000), 767*2b379eb4SPing-Ke Shih }; 768*2b379eb4SPing-Ke Shih 769*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_b_5g3_all_defs); 770*2b379eb4SPing-Ke Shih 771*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_align_b_5g3_part_defs[] = { 772*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7630, 0x3fffffff, 0x009003da), 773*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7634, 0x3fffffff, 0x00000069), 774*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x763c, 0x3fffffff, 0x00000000), 775*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7640, 0x3fffffff, 0x00000000), 776*2b379eb4SPing-Ke Shih }; 777*2b379eb4SPing-Ke Shih 778*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_align_b_5g3_part_defs); 779*2b379eb4SPing-Ke Shih 780*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_slope_defs_a[] = { 781*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x00000800, 0x1), 782*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x581c, 0x20000000, 0x1), 783*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x20000000, 0x1), 784*2b379eb4SPing-Ke Shih }; 785*2b379eb4SPing-Ke Shih 786*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_slope_defs_a); 787*2b379eb4SPing-Ke Shih 788*2b379eb4SPing-Ke Shih static const struct rtw89_reg5_def rtw8852b_tssi_slope_defs_b[] = { 789*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7814, 0x00000800, 0x1), 790*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x781c, 0x20000000, 0x1), 791*2b379eb4SPing-Ke Shih RTW89_DECL_RFK_WM(0x7814, 0x20000000, 0x1), 792*2b379eb4SPing-Ke Shih }; 793*2b379eb4SPing-Ke Shih 794*2b379eb4SPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8852b_tssi_slope_defs_b); 795