1*8c36cf0dSPing-Ke Shih // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 2*8c36cf0dSPing-Ke Shih /* Copyright(c) 2022-2023 Realtek Corporation 3*8c36cf0dSPing-Ke Shih */ 4*8c36cf0dSPing-Ke Shih 5*8c36cf0dSPing-Ke Shih #include "rtw8851b_rfk_table.h" 6*8c36cf0dSPing-Ke Shih 7*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_dadck_setup_defs[] = { 8*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc210, 0x003fc000, 0x80), 9*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc224, 0x003fc000, 0x80), 10*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0f8, 0x30000000, 0x3), 11*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12b8, BIT(30), 0x1), 12*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x030c, 0x1f000000, 0x1f), 13*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, 0xc0000000, 0x0), 14*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, BIT(22), 0x0), 15*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, BIT(22), 0x1), 16*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, BIT(16), 0x0), 17*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, BIT(20), 0x1), 18*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x030c, 0x0f000000, 0x3), 19*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0f4, BIT(2), 0x0), 20*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0f4, BIT(4), 0x0), 21*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0f4, BIT(11), 0x1), 22*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0f4, BIT(11), 0x0), 23*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_DELAY(1), 24*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0f4, 0x300, 0x1), 25*8c36cf0dSPing-Ke Shih }; 26*8c36cf0dSPing-Ke Shih 27*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_dadck_setup_defs); 28*8c36cf0dSPing-Ke Shih 29*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_dadck_post_defs[] = { 30*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, BIT(16), 0x1), 31*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, BIT(20), 0x0), 32*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x030c, 0x1f000000, 0xc), 33*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, 0xc0000000, 0x1), 34*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12b8, BIT(30), 0x0), 35*8c36cf0dSPing-Ke Shih }; 36*8c36cf0dSPing-Ke Shih 37*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_dadck_post_defs); 38*8c36cf0dSPing-Ke Shih 39*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_dack_s0_1_defs[] = { 40*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, BIT(15), 0x1), 41*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x7000, 0x3), 42*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12b8, BIT(30), 0x1), 43*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x030c, BIT(28), 0x1), 44*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, 0x80000000, 0x0), 45*8c36cf0dSPing-Ke Shih }; 46*8c36cf0dSPing-Ke Shih 47*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_dack_s0_1_defs); 48*8c36cf0dSPing-Ke Shih 49*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_dack_s0_2_defs[] = { 50*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc004, BIT(0), 0x0), 51*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, BIT(15), 0x0), 52*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x7000, 0x7), 53*8c36cf0dSPing-Ke Shih }; 54*8c36cf0dSPing-Ke Shih 55*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_dack_s0_2_defs); 56*8c36cf0dSPing-Ke Shih 57*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_dack_manual_off_defs[] = { 58*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0f8, 0x30000000, 0x0), 59*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc210, BIT(0), 0x0), 60*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc224, BIT(0), 0x0), 61*8c36cf0dSPing-Ke Shih }; 62*8c36cf0dSPing-Ke Shih 63*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_dack_manual_off_defs); 64*8c36cf0dSPing-Ke Shih 65*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_iqk_rxclk_80_defs[] = { 66*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0xffff0000, 0x0101), 67*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5670, 0x00002000, 0x1), 68*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x00080000, 0x1), 69*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x00070000, 0x2), 70*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5670, 0x60000000, 0x1), 71*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d4, 0x00000780, 0x8), 72*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d4, 0x00007800, 0x2), 73*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d4, 0x0c000000, 0x2), 74*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d8, 0x000001e0, 0x5), 75*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0c4, 0x003e0000, 0xf), 76*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0ec, 0x00006000, 0x0), 77*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12b8, 0x40000000, 0x1), 78*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x0f), 79*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x03), 80*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0001), 81*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0041), 82*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0xffff0000, 0x1101), 83*8c36cf0dSPing-Ke Shih }; 84*8c36cf0dSPing-Ke Shih 85*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_rxclk_80_defs); 86*8c36cf0dSPing-Ke Shih 87*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_iqk_rxclk_others_defs[] = { 88*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0xffff0000, 0x0101), 89*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5670, 0x00002000, 0x1), 90*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x00080000, 0x1), 91*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x00070000, 0x2), 92*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5670, 0x60000000, 0x0), 93*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d4, 0x00000780, 0x8), 94*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d4, 0x00007800, 0x2), 95*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d4, 0x0c000000, 0x2), 96*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d8, 0x000001e0, 0x5), 97*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0c4, 0x003e0000, 0xf), 98*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0ec, 0x00006000, 0x2), 99*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12b8, 0x40000000, 0x1), 100*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x0f), 101*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x03), 102*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0001), 103*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0041), 104*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0xffff0000, 0x1101), 105*8c36cf0dSPing-Ke Shih }; 106*8c36cf0dSPing-Ke Shih 107*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_rxclk_others_defs); 108*8c36cf0dSPing-Ke Shih 109*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_iqk_txk_2ghz_defs[] = { 110*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x51, 0x80000, 0x0), 111*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x51, 0x00800, 0x0), 112*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x52, 0x00800, 0x0), 113*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x55, 0x0001f, 0x4), 114*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0xef, 0x00004, 0x1), 115*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x00, 0xffff0, 0x403e), 116*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x11, 0x00003, 0x0), 117*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x11, 0x00070, 0x6), 118*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x11, 0x1f000, 0x10), 119*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_DELAY(1), 120*8c36cf0dSPing-Ke Shih }; 121*8c36cf0dSPing-Ke Shih 122*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_txk_2ghz_defs); 123*8c36cf0dSPing-Ke Shih 124*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_iqk_txk_5ghz_defs[] = { 125*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x60, 0x00007, 0x0), 126*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x55, 0x0001f, 0x4), 127*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0xef, 0x00004, 0x1), 128*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x00, 0xffff0, 0x403e), 129*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x11, 0x00003, 0x0), 130*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x11, 0x00070, 0x7), 131*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x11, 0x1f000, 0x7), 132*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_DELAY(1), 133*8c36cf0dSPing-Ke Shih }; 134*8c36cf0dSPing-Ke Shih 135*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_txk_5ghz_defs); 136*8c36cf0dSPing-Ke Shih 137*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_iqk_afebb_restore_defs[] = { 138*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12b8, 0x40000000, 0x0), 139*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0x00010000, 0x1), 140*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0x00100000, 0x0), 141*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0x01000000, 0x1), 142*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0x10000000, 0x0), 143*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5670, MASKDWORD, 0x00000000), 144*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x000ff000, 0x00), 145*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0x00010000, 0x0), 146*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0x01000000, 0x0), 147*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x10005, 0x00001, 0x1), 148*8c36cf0dSPing-Ke Shih }; 149*8c36cf0dSPing-Ke Shih 150*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_afebb_restore_defs); 151*8c36cf0dSPing-Ke Shih 152*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_iqk_macbb_defs[] = { 153*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WRF(RF_PATH_A, 0x10005, 0x00001, 0x0), 154*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0x00010000, 0x1), 155*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0x00100000, 0x0), 156*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0x01000000, 0x1), 157*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0x10000000, 0x0), 158*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5670, MASKDWORD, 0xf801fffd), 159*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5670, 0x00004000, 0x1), 160*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x00008000, 0x1), 161*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5670, 0x80000000, 0x1), 162*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x00007000, 0x7), 163*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5670, 0x00002000, 0x1), 164*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x00080000, 0x1), 165*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x00070000, 0x3), 166*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5670, 0x60000000, 0x2), 167*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d4, 0x00000780, 0x9), 168*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d4, 0x00007800, 0x1), 169*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d4, 0x0c000000, 0x0), 170*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d8, 0x000001e0, 0x3), 171*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0c4, 0x003e0000, 0xa), 172*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0ec, 0x00006000, 0x0), 173*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0e8, 0x00000040, 0x1), 174*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12b8, 0x40000000, 0x1), 175*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x1f), 176*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x13), 177*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0001), 178*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0041), 179*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0x00100000, 0x1), 180*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x20fc, 0x10000000, 0x1), 181*8c36cf0dSPing-Ke Shih }; 182*8c36cf0dSPing-Ke Shih 183*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_macbb_defs); 184*8c36cf0dSPing-Ke Shih 185*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_iqk_bb_afe_defs[] = { 186*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5670, 0x00004000, 0x1), 187*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x00008000, 0x1), 188*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5670, 0x80000000, 0x1), 189*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x00007000, 0x7), 190*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5670, 0x00002000, 0x1), 191*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x00080000, 0x1), 192*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12a0, 0x00070000, 0x3), 193*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5670, 0x60000000, 0x2), 194*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d4, 0x00000780, 0x9), 195*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d4, 0x00007800, 0x1), 196*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d4, 0x0c000000, 0x0), 197*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0d8, 0x000001e0, 0x3), 198*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0c4, 0x003e0000, 0xa), 199*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0ec, 0x00006000, 0x0), 200*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0xc0e8, 0x00000040, 0x1), 201*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12b8, 0x40000000, 0x1), 202*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x030c, MASKBYTE3, 0x1f), 203*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x030c, MASKBYTE3, 0x13), 204*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, MASKHWORD, 0x0001), 205*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, MASKHWORD, 0x0041), 206*8c36cf0dSPing-Ke Shih }; 207*8c36cf0dSPing-Ke Shih 208*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_bb_afe_defs); 209*8c36cf0dSPing-Ke Shih 210*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_tssi_sys_defs[] = { 211*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12bc, 0x000ffff0, 0xb5b5), 212*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x32bc, 0x000ffff0, 0xb5b5), 213*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x0300, 0xff000000, 0x16), 214*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x0304, 0x0000ffff, 0x1f19), 215*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x0308, 0xff000000, 0x1c), 216*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x0314, 0xffff0000, 0x2041), 217*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x0318, 0xffffffff, 0x20012041), 218*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x0324, 0xffff0000, 0x2001), 219*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x0020, 0x00006000, 0x3), 220*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x0024, 0x00006000, 0x3), 221*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x0704, 0xffff0000, 0x601e), 222*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x2704, 0xffff0000, 0x601e), 223*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x0700, 0xf0000000, 0x4), 224*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x2700, 0xf0000000, 0x4), 225*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x0650, 0x3c000000, 0x0), 226*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x2650, 0x3c000000, 0x0), 227*8c36cf0dSPing-Ke Shih }; 228*8c36cf0dSPing-Ke Shih 229*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_sys_defs); 230*8c36cf0dSPing-Ke Shih 231*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_tssi_sys_a_defs_2g[] = { 232*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x120c, 0x000000ff, 0x33), 233*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12c0, 0x0ff00000, 0x33), 234*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58f8, 0x40000000, 0x1), 235*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x20000000, 0x0), 236*8c36cf0dSPing-Ke Shih }; 237*8c36cf0dSPing-Ke Shih 238*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_sys_a_defs_2g); 239*8c36cf0dSPing-Ke Shih 240*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_tssi_sys_a_defs_5g[] = { 241*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x120c, 0x000000ff, 0x44), 242*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12c0, 0x0ff00000, 0x44), 243*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58f8, 0x40000000, 0x0), 244*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x20000000, 0x0), 245*8c36cf0dSPing-Ke Shih }; 246*8c36cf0dSPing-Ke Shih 247*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_sys_a_defs_5g); 248*8c36cf0dSPing-Ke Shih 249*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_tssi_init_txpwr_defs_a[] = { 250*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x566c, 0x00001000, 0x0), 251*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5800, 0xffffffff, 0x003f807f), 252*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x580c, 0x0000007f, 0x40), 253*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x580c, 0x0fffff00, 0x00040), 254*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5810, 0xffffffff, 0x59010000), 255*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x01ffffff, 0x026d000), 256*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0xf8000000, 0x00), 257*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5818, 0x00ffffff, 0x2c18e8), 258*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5818, 0x07000000, 0x0), 259*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5818, 0xf0000000, 0x0), 260*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x581c, 0x3fffffff, 0x3dc80280), 261*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5820, 0xffffffff, 0x00000080), 262*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58e8, 0x0000003f, 0x04), 263*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x580c, 0x10000000, 0x1), 264*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x580c, 0x40000000, 0x1), 265*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5834, 0x3fffffff, 0x000115f2), 266*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5838, 0x7fffffff, 0x0000121), 267*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5854, 0x3fffffff, 0x000115f2), 268*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5858, 0x7fffffff, 0x0000121), 269*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5860, 0x80000000, 0x0), 270*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5864, 0x07ffffff, 0x00801ff), 271*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5898, MASKDWORD, 0x00000000), 272*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x589c, MASKDWORD, 0x00000000), 273*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58a4, 0x000000ff, 0x16), 274*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58b0, MASKDWORD, 0x00000000), 275*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58b4, 0x7fffffff, 0x0a002000), 276*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58b8, 0x7fffffff, 0x00007628), 277*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58bc, 0x07ffffff, 0x7a7807f), 278*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58c0, 0xfffe0000, 0x003f), 279*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58c4, 0xffffffff, 0x0003ffff), 280*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58c8, 0x00ffffff, 0x000000), 281*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58c8, 0xf0000000, 0x0), 282*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58cc, MASKDWORD, 0x00000000), 283*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58d0, 0x07ffffff, 0x2008101), 284*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58d4, 0x000000ff, 0x00), 285*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58d4, 0x0003fe00, 0x0ff), 286*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58d4, 0x07fc0000, 0x100), 287*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58d8, 0xffffffff, 0x8008016c), 288*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58dc, 0x0001ffff, 0x0807f), 289*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58dc, 0xfff00000, 0x800), 290*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58f0, 0x0003ffff, 0x001ff), 291*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58f4, 0x000fffff, 0x00000), 292*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58f8, 0x000fffff, 0x00000), 293*8c36cf0dSPing-Ke Shih }; 294*8c36cf0dSPing-Ke Shih 295*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_init_txpwr_defs_a); 296*8c36cf0dSPing-Ke Shih 297*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_tssi_init_txpwr_he_tb_defs_a[] = { 298*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58a0, MASKDWORD, 0x000000fe), 299*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58e4, 0x0000007f, 0x1f), 300*8c36cf0dSPing-Ke Shih }; 301*8c36cf0dSPing-Ke Shih 302*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_init_txpwr_he_tb_defs_a); 303*8c36cf0dSPing-Ke Shih 304*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_tssi_dck_defs_a[] = { 305*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x580c, 0x0fff0000, 0x000), 306*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x00001000, 0x1), 307*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x00002000, 0x1), 308*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x00004000, 0x1), 309*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x00038000, 0x3), 310*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x003c0000, 0x5), 311*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x18000000, 0x0), 312*8c36cf0dSPing-Ke Shih }; 313*8c36cf0dSPing-Ke Shih 314*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_dck_defs_a); 315*8c36cf0dSPing-Ke Shih 316*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_tssi_dac_gain_defs_a[] = { 317*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58b0, 0x00000fff, 0x000), 318*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a00, MASKDWORD, 0x00000000), 319*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a04, MASKDWORD, 0x00000000), 320*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a08, MASKDWORD, 0x00000000), 321*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a0c, MASKDWORD, 0x00000000), 322*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a10, MASKDWORD, 0x00000000), 323*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a14, MASKDWORD, 0x00000000), 324*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a18, MASKDWORD, 0x00000000), 325*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a1c, MASKDWORD, 0x00000000), 326*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a20, MASKDWORD, 0x00000000), 327*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a24, MASKDWORD, 0x00000000), 328*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a28, MASKDWORD, 0x00000000), 329*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a2c, MASKDWORD, 0x00000000), 330*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a30, MASKDWORD, 0x00000000), 331*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a34, MASKDWORD, 0x00000000), 332*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a38, MASKDWORD, 0x00000000), 333*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a3c, MASKDWORD, 0x00000000), 334*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a40, MASKDWORD, 0x00000000), 335*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a44, MASKDWORD, 0x00000000), 336*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a48, MASKDWORD, 0x00000000), 337*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a4c, MASKDWORD, 0x00000000), 338*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a50, MASKDWORD, 0x00000000), 339*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a54, MASKDWORD, 0x00000000), 340*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a58, MASKDWORD, 0x00000000), 341*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a5c, MASKDWORD, 0x00000000), 342*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a60, MASKDWORD, 0x00000000), 343*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a64, MASKDWORD, 0x00000000), 344*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a68, MASKDWORD, 0x00000000), 345*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a6c, MASKDWORD, 0x00000000), 346*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a70, MASKDWORD, 0x00000000), 347*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a74, MASKDWORD, 0x00000000), 348*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a78, MASKDWORD, 0x00000000), 349*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a7c, MASKDWORD, 0x00000000), 350*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a80, MASKDWORD, 0x00000000), 351*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a84, MASKDWORD, 0x00000000), 352*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a88, MASKDWORD, 0x00000000), 353*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a8c, MASKDWORD, 0x00000000), 354*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a90, MASKDWORD, 0x00000000), 355*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a94, MASKDWORD, 0x00000000), 356*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a98, MASKDWORD, 0x00000000), 357*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5a9c, MASKDWORD, 0x00000000), 358*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5aa0, MASKDWORD, 0x00000000), 359*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5aa4, MASKDWORD, 0x00000000), 360*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5aa8, MASKDWORD, 0x00000000), 361*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5aac, MASKDWORD, 0x00000000), 362*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5ab0, MASKDWORD, 0x00000000), 363*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5ab4, MASKDWORD, 0x00000000), 364*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5ab8, MASKDWORD, 0x00000000), 365*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5abc, MASKDWORD, 0x00000000), 366*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5ac0, MASKDWORD, 0x00000000), 367*8c36cf0dSPing-Ke Shih }; 368*8c36cf0dSPing-Ke Shih 369*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_dac_gain_defs_a); 370*8c36cf0dSPing-Ke Shih 371*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_tssi_slope_a_defs_2g[] = { 372*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5608, 0x07ffffff, 0x0201008), 373*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x560c, 0x07ffffff, 0x0201008), 374*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5610, 0x07ffffff, 0x0200e08), 375*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5614, 0x07ffffff, 0x0201008), 376*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5618, 0x07ffffff, 0x0201008), 377*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x561c, 0x000001ff, 0x007), 378*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x561c, 0xffff0000, 0x0808), 379*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5620, 0xffffffff, 0x08080808), 380*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5624, 0xffffffff, 0x08080808), 381*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5628, 0xffffffff, 0x08080808), 382*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x562c, 0x0000ffff, 0x0808), 383*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x581c, 0x00100000, 0x1), 384*8c36cf0dSPing-Ke Shih }; 385*8c36cf0dSPing-Ke Shih 386*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_slope_a_defs_2g); 387*8c36cf0dSPing-Ke Shih 388*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_tssi_slope_a_defs_5g[] = { 389*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5608, 0x07ffffff, 0x0201008), 390*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x560c, 0x07ffffff, 0x0341a08), 391*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5610, 0x07ffffff, 0x0201417), 392*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5614, 0x07ffffff, 0x0201008), 393*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5618, 0x07ffffff, 0x0201008), 394*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x561c, 0x000001ff, 0x008), 395*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x561c, 0xffff0000, 0x0808), 396*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5620, 0xffffffff, 0x0e0e0808), 397*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5624, 0xffffffff, 0x08080d18), 398*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5628, 0xffffffff, 0x08080808), 399*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x562c, 0x0000ffff, 0x0808), 400*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x581c, 0x00100000, 0x1), 401*8c36cf0dSPing-Ke Shih }; 402*8c36cf0dSPing-Ke Shih 403*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_slope_a_defs_5g); 404*8c36cf0dSPing-Ke Shih 405*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_tssi_align_a_2g_defs[] = { 406*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5604, 0x80000000, 0x1), 407*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5600, 0x3fffffff, 0x000000), 408*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5604, 0x003fffff, 0x2d2400), 409*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5630, 0x3fffffff, 0x00000000), 410*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5634, 0x000003ff, 0x000), 411*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5634, 0x000ffc00, 0x000), 412*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5634, 0x3ff00000, 0x3fa), 413*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5638, 0x000003ff, 0x02e), 414*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5638, 0x000ffc00, 0x09c), 415*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x563c, 0x3fffffff, 0x00000000), 416*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5640, 0x3fffffff, 0x3fb00000), 417*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5644, 0x000003ff, 0x02f), 418*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5644, 0x000ffc00, 0x09c), 419*8c36cf0dSPing-Ke Shih }; 420*8c36cf0dSPing-Ke Shih 421*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_align_a_2g_defs); 422*8c36cf0dSPing-Ke Shih 423*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_tssi_align_a_5g_defs[] = { 424*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5604, 0x80000000, 0x1), 425*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5600, 0x3fffffff, 0x000000), 426*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5604, 0x003fffff, 0x3b2d24), 427*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5630, 0x3fffffff, 0x00000000), 428*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5634, 0x000003ff, 0x000), 429*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5634, 0x000ffc00, 0x3cb), 430*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5634, 0x3ff00000, 0x030), 431*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5638, 0x000003ff, 0x73), 432*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5638, 0x000ffc00, 0xd4), 433*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x563c, 0x3fffffff, 0x00000000), 434*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5640, 0x3fffffff, 0x00000000), 435*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5644, 0x000fffff, 0x00000), 436*8c36cf0dSPing-Ke Shih }; 437*8c36cf0dSPing-Ke Shih 438*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_align_a_5g_defs); 439*8c36cf0dSPing-Ke Shih 440*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_tssi_slope_defs_a[] = { 441*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5820, 0x80000000, 0x0), 442*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5818, 0x10000000, 0x0), 443*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x00000800, 0x1), 444*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x581c, 0x20000000, 0x1), 445*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5820, 0x0000f000, 0xf), 446*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x581c, 0x000003ff, 0x280), 447*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x581c, 0x000ffc00, 0x200), 448*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58b8, 0x007f0000, 0x00), 449*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58b8, 0x7f000000, 0x00), 450*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58b4, 0x7f000000, 0x0a), 451*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58b8, 0x0000007f, 0x28), 452*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58b8, 0x00007f00, 0x76), 453*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5810, 0x20000000, 0x0), 454*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x580c, 0x10000000, 0x1), 455*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x580c, 0x40000000, 0x1), 456*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5834, 0x0003ffff, 0x115f2), 457*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5834, 0x3ffc0000, 0x000), 458*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5838, 0x00000fff, 0x121), 459*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5838, 0x003ff000, 0x000), 460*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5854, 0x0003ffff, 0x115f2), 461*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5854, 0x3ffc0000, 0x000), 462*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5858, 0x00000fff, 0x121), 463*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5858, 0x003ff000, 0x000), 464*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5824, 0x0003ffff, 0x115f2), 465*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5824, 0x3ffc0000, 0x000), 466*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5828, 0x00000fff, 0x121), 467*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5828, 0x003ff000, 0x000), 468*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x582c, 0x0003ffff, 0x115f2), 469*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x582c, 0x3ffc0000, 0x000), 470*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5830, 0x00000fff, 0x121), 471*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5830, 0x003ff000, 0x000), 472*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x583c, 0x0003ffff, 0x115f2), 473*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x583c, 0x3ffc0000, 0x000), 474*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5840, 0x00000fff, 0x121), 475*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5840, 0x003ff000, 0x000), 476*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5844, 0x0003ffff, 0x115f2), 477*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5844, 0x3ffc0000, 0x000), 478*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5848, 0x00000fff, 0x121), 479*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5848, 0x003ff000, 0x000), 480*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x584c, 0x0003ffff, 0x115f2), 481*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x584c, 0x3ffc0000, 0x000), 482*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5850, 0x00000fff, 0x121), 483*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5850, 0x003ff000, 0x000), 484*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x585c, 0x0003ffff, 0x115f2), 485*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x585c, 0x3ffc0000, 0x000), 486*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5860, 0x00000fff, 0x121), 487*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5860, 0x003ff000, 0x000), 488*8c36cf0dSPing-Ke Shih }; 489*8c36cf0dSPing-Ke Shih 490*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_slope_defs_a); 491*8c36cf0dSPing-Ke Shih 492*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_tssi_track_defs_a[] = { 493*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5820, 0x80000000, 0x0), 494*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5818, 0x10000000, 0x0), 495*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x00000800, 0x0), 496*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x581c, 0x20000000, 0x1), 497*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5864, 0x000003ff, 0x1ff), 498*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5864, 0x000ffc00, 0x200), 499*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5820, 0x00000fff, 0x080), 500*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5814, 0x01000000, 0x0), 501*8c36cf0dSPing-Ke Shih }; 502*8c36cf0dSPing-Ke Shih 503*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_track_defs_a); 504*8c36cf0dSPing-Ke Shih 505*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_tssi_mv_avg_defs_a[] = { 506*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58e4, 0x00003800, 0x1), 507*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58e4, 0x00004000, 0x0), 508*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58e4, 0x00008000, 0x1), 509*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58e4, 0x000f0000, 0x0), 510*8c36cf0dSPing-Ke Shih }; 511*8c36cf0dSPing-Ke Shih 512*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_mv_avg_defs_a); 513*8c36cf0dSPing-Ke Shih 514*8c36cf0dSPing-Ke Shih static const struct rtw89_reg5_def rtw8851b_nctl_post_defs[] = { 515*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x5864, 0x18000000, 0x3), 516*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x7864, 0x18000000, 0x3), 517*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x13), 518*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0041), 519*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x12b8, 0x10000000, 0x1), 520*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x2008, 0x01ffffff, 0x00fffff), 521*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x0c60, 0x00000003, 0x3), 522*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x0c6c, 0x00000001, 0x1), 523*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58ac, 0x08000000, 0x1), 524*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x78ac, 0x08000000, 0x1), 525*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x0730, 0x00003800, 0x7), 526*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x2730, 0x00003800, 0x7), 527*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x0c7c, 0x00e00000, 0x1), 528*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58c0, 0x0001ffff, 0x00000), 529*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x78c0, 0x0001ffff, 0x00000), 530*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x58fc, 0x3f000000, 0x00), 531*8c36cf0dSPing-Ke Shih RTW89_DECL_RFK_WM(0x78fc, 0x3f000000, 0x00), 532*8c36cf0dSPing-Ke Shih }; 533*8c36cf0dSPing-Ke Shih 534*8c36cf0dSPing-Ke Shih RTW89_DECLARE_RFK_TBL(rtw8851b_nctl_post_defs); 535