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