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