1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
2 /* Copyright(c) 2019-2020  Realtek Corporation
3  */
4 
5 #include "rtw8852a_rfk_table.h"
6 
7 static const struct rtw89_reg5_def rtw8852a_tssi_sys_defs[] = {
8 	DECL_RFK_WM(0x12a8, 0x00000001, 0x00000001),
9 	DECL_RFK_WM(0x12a8, 0x0000000e, 0x00000002),
10 	DECL_RFK_WM(0x32a8, 0x00000001, 0x00000001),
11 	DECL_RFK_WM(0x32a8, 0x0000000e, 0x00000002),
12 	DECL_RFK_WM(0x12bc, 0x000000f0, 0x00000005),
13 	DECL_RFK_WM(0x12bc, 0x00000f00, 0x00000005),
14 	DECL_RFK_WM(0x12bc, 0x000f0000, 0x00000005),
15 	DECL_RFK_WM(0x12bc, 0x0000f000, 0x00000005),
16 	DECL_RFK_WM(0x120c, 0x000000ff, 0x00000033),
17 	DECL_RFK_WM(0x12c0, 0x0ff00000, 0x00000033),
18 	DECL_RFK_WM(0x32bc, 0x000000f0, 0x00000005),
19 	DECL_RFK_WM(0x32bc, 0x00000f00, 0x00000005),
20 	DECL_RFK_WM(0x32bc, 0x000f0000, 0x00000005),
21 	DECL_RFK_WM(0x32bc, 0x0000f000, 0x00000005),
22 	DECL_RFK_WM(0x320c, 0x000000ff, 0x00000033),
23 	DECL_RFK_WM(0x32c0, 0x0ff00000, 0x00000033),
24 	DECL_RFK_WM(0x0300, 0xff000000, 0x00000019),
25 	DECL_RFK_WM(0x0304, 0x000000ff, 0x00000019),
26 	DECL_RFK_WM(0x0304, 0x0000ff00, 0x0000001d),
27 	DECL_RFK_WM(0x0314, 0xffff0000, 0x00002044),
28 	DECL_RFK_WM(0x0318, 0x0000ffff, 0x00002042),
29 	DECL_RFK_WM(0x0318, 0xffff0000, 0x00002002),
30 	DECL_RFK_WM(0x0020, 0x00006000, 0x00000003),
31 	DECL_RFK_WM(0x0024, 0x00006000, 0x00000003),
32 	DECL_RFK_WM(0x0704, 0xffff0000, 0x0000601e),
33 	DECL_RFK_WM(0x2704, 0xffff0000, 0x0000601e),
34 	DECL_RFK_WM(0x0700, 0xf0000000, 0x00000004),
35 	DECL_RFK_WM(0x2700, 0xf0000000, 0x00000004),
36 	DECL_RFK_WM(0x0650, 0x3c000000, 0x00000000),
37 	DECL_RFK_WM(0x2650, 0x3c000000, 0x00000000),
38 };
39 
40 DECLARE_RFK_TBL(rtw8852a_tssi_sys_defs);
41 
42 static const struct rtw89_reg5_def rtw8852a_tssi_sys_defs_2g[] = {
43 	DECL_RFK_WM(0x120c, 0x000000ff, 0x00000033),
44 	DECL_RFK_WM(0x12c0, 0x0ff00000, 0x00000033),
45 	DECL_RFK_WM(0x32c0, 0x0ff00000, 0x00000033),
46 	DECL_RFK_WM(0x320c, 0x000000ff, 0x00000033),
47 };
48 
49 DECLARE_RFK_TBL(rtw8852a_tssi_sys_defs_2g);
50 
51 static const struct rtw89_reg5_def rtw8852a_tssi_sys_defs_5g[] = {
52 	DECL_RFK_WM(0x120c, 0x000000ff, 0x00000044),
53 	DECL_RFK_WM(0x12c0, 0x0ff00000, 0x00000044),
54 	DECL_RFK_WM(0x32c0, 0x0ff00000, 0x00000044),
55 	DECL_RFK_WM(0x320c, 0x000000ff, 0x00000044),
56 };
57 
58 DECLARE_RFK_TBL(rtw8852a_tssi_sys_defs_5g);
59 
60 static const struct rtw89_reg5_def rtw8852a_tssi_txpwr_ctrl_bb_defs_a[] = {
61 	DECL_RFK_WM(0x5800, 0x000000ff, 0x0000007f),
62 	DECL_RFK_WM(0x5800, 0x0000ff00, 0x00000080),
63 	DECL_RFK_WM(0x5800, 0x003f0000, 0x0000003f),
64 	DECL_RFK_WM(0x5800, 0x10000000, 0x00000000),
65 	DECL_RFK_WM(0x5800, 0x20000000, 0x00000000),
66 	DECL_RFK_WM(0x5800, 0xc0000000, 0x00000000),
67 	DECL_RFK_WM(0x5804, 0xf8000000, 0x00000000),
68 	DECL_RFK_WM(0x580c, 0x0000007f, 0x00000040),
69 	DECL_RFK_WM(0x580c, 0x00007f00, 0x00000040),
70 	DECL_RFK_WM(0x580c, 0x00008000, 0x00000000),
71 	DECL_RFK_WM(0x580c, 0x0fff0000, 0x00000000),
72 	DECL_RFK_WM(0x5810, 0x000001ff, 0x00000000),
73 	DECL_RFK_WM(0x5810, 0x00000200, 0x00000000),
74 	DECL_RFK_WM(0x5810, 0x0000fc00, 0x00000000),
75 	DECL_RFK_WM(0x5810, 0x00010000, 0x00000001),
76 	DECL_RFK_WM(0x5810, 0x00fe0000, 0x00000000),
77 	DECL_RFK_WM(0x5810, 0x01000000, 0x00000001),
78 	DECL_RFK_WM(0x5810, 0x06000000, 0x00000000),
79 	DECL_RFK_WM(0x5810, 0x38000000, 0x00000003),
80 	DECL_RFK_WM(0x5810, 0x40000000, 0x00000001),
81 	DECL_RFK_WM(0x5810, 0x80000000, 0x00000000),
82 	DECL_RFK_WM(0x5814, 0x000003ff, 0x00000000),
83 	DECL_RFK_WM(0x5814, 0x00000c00, 0x00000000),
84 	DECL_RFK_WM(0x5814, 0x00001000, 0x00000001),
85 	DECL_RFK_WM(0x5814, 0x00002000, 0x00000000),
86 	DECL_RFK_WM(0x5814, 0x00004000, 0x00000001),
87 	DECL_RFK_WM(0x5814, 0x00038000, 0x00000005),
88 	DECL_RFK_WM(0x5814, 0x003c0000, 0x00000000),
89 	DECL_RFK_WM(0x5814, 0x01c00000, 0x00000000),
90 	DECL_RFK_WM(0x5814, 0x18000000, 0x00000000),
91 	DECL_RFK_WM(0x5814, 0xe0000000, 0x00000000),
92 	DECL_RFK_WM(0x5818, 0x000000ff, 0x00000000),
93 	DECL_RFK_WM(0x5818, 0x0001ff00, 0x00000018),
94 	DECL_RFK_WM(0x5818, 0x03fe0000, 0x00000016),
95 	DECL_RFK_WM(0x5818, 0xfc000000, 0x00000000),
96 	DECL_RFK_WM(0x581c, 0x000003ff, 0x00000280),
97 	DECL_RFK_WM(0x581c, 0x000ffc00, 0x00000200),
98 	DECL_RFK_WM(0x581c, 0x00100000, 0x00000000),
99 	DECL_RFK_WM(0x581c, 0x01e00000, 0x00000008),
100 	DECL_RFK_WM(0x581c, 0x01e00000, 0x0000000e),
101 	DECL_RFK_WM(0x581c, 0x1e000000, 0x00000008),
102 	DECL_RFK_WM(0x581c, 0x1e000000, 0x0000000e),
103 	DECL_RFK_WM(0x581c, 0x20000000, 0x00000000),
104 	DECL_RFK_WM(0x5820, 0x00000fff, 0x00000080),
105 	DECL_RFK_WM(0x5820, 0x0000f000, 0x0000000f),
106 	DECL_RFK_WM(0x5820, 0x001f0000, 0x00000000),
107 	DECL_RFK_WM(0x5820, 0xffe00000, 0x00000000),
108 	DECL_RFK_WM(0x5824, 0x0003ffff, 0x000115f2),
109 	DECL_RFK_WM(0x5824, 0x3ffc0000, 0x00000000),
110 	DECL_RFK_WM(0x5828, 0x00000fff, 0x00000121),
111 	DECL_RFK_WM(0x582c, 0x0003ffff, 0x000115f2),
112 	DECL_RFK_WM(0x582c, 0x3ffc0000, 0x00000000),
113 	DECL_RFK_WM(0x5830, 0x00000fff, 0x00000121),
114 	DECL_RFK_WM(0x5834, 0x0003ffff, 0x000115f2),
115 	DECL_RFK_WM(0x5834, 0x3ffc0000, 0x00000000),
116 	DECL_RFK_WM(0x5838, 0x00000fff, 0x00000121),
117 	DECL_RFK_WM(0x583c, 0x0003ffff, 0x000115f2),
118 	DECL_RFK_WM(0x583c, 0x3ffc0000, 0x00000000),
119 	DECL_RFK_WM(0x5840, 0x00000fff, 0x00000121),
120 	DECL_RFK_WM(0x5844, 0x0003ffff, 0x000115f2),
121 	DECL_RFK_WM(0x5844, 0x3ffc0000, 0x00000000),
122 	DECL_RFK_WM(0x5848, 0x00000fff, 0x00000121),
123 	DECL_RFK_WM(0x584c, 0x0003ffff, 0x000115f2),
124 	DECL_RFK_WM(0x584c, 0x3ffc0000, 0x00000000),
125 	DECL_RFK_WM(0x5850, 0x00000fff, 0x00000121),
126 	DECL_RFK_WM(0x5854, 0x0003ffff, 0x000115f2),
127 	DECL_RFK_WM(0x5854, 0x3ffc0000, 0x00000000),
128 	DECL_RFK_WM(0x5858, 0x00000fff, 0x00000121),
129 	DECL_RFK_WM(0x585c, 0x0003ffff, 0x000115f2),
130 	DECL_RFK_WM(0x585c, 0x3ffc0000, 0x00000000),
131 	DECL_RFK_WM(0x5860, 0x00000fff, 0x00000121),
132 	DECL_RFK_WM(0x5828, 0x003ff000, 0x00000000),
133 	DECL_RFK_WM(0x5828, 0x7fc00000, 0x00000000),
134 	DECL_RFK_WM(0x5830, 0x003ff000, 0x00000000),
135 	DECL_RFK_WM(0x5830, 0x7fc00000, 0x00000000),
136 	DECL_RFK_WM(0x5838, 0x003ff000, 0x00000000),
137 	DECL_RFK_WM(0x5838, 0x7fc00000, 0x00000000),
138 	DECL_RFK_WM(0x5840, 0x003ff000, 0x00000000),
139 	DECL_RFK_WM(0x5840, 0x7fc00000, 0x00000000),
140 	DECL_RFK_WM(0x5848, 0x003ff000, 0x00000000),
141 	DECL_RFK_WM(0x5848, 0x7fc00000, 0x00000000),
142 	DECL_RFK_WM(0x5850, 0x003ff000, 0x00000000),
143 	DECL_RFK_WM(0x5850, 0x7fc00000, 0x00000000),
144 	DECL_RFK_WM(0x5858, 0x003ff000, 0x00000000),
145 	DECL_RFK_WM(0x5858, 0x7fc00000, 0x00000000),
146 	DECL_RFK_WM(0x5860, 0x003ff000, 0x00000000),
147 	DECL_RFK_WM(0x5860, 0x7fc00000, 0x00000000),
148 	DECL_RFK_WM(0x5860, 0x80000000, 0x00000000),
149 	DECL_RFK_WM(0x5864, 0x000003ff, 0x000001ff),
150 	DECL_RFK_WM(0x5864, 0x000ffc00, 0x00000200),
151 	DECL_RFK_WM(0x5864, 0x03f00000, 0x00000000),
152 	DECL_RFK_WM(0x5864, 0x04000000, 0x00000000),
153 	DECL_RFK_WM(0x5898, 0xffffffff, 0x00000000),
154 	DECL_RFK_WM(0x589c, 0xffffffff, 0x00000000),
155 	DECL_RFK_WM(0x58a0, 0x000000ff, 0x000000fd),
156 	DECL_RFK_WM(0x58a0, 0x0000ff00, 0x000000e5),
157 	DECL_RFK_WM(0x58a0, 0x00ff0000, 0x000000cd),
158 	DECL_RFK_WM(0x58a0, 0xff000000, 0x000000b5),
159 	DECL_RFK_WM(0x58a4, 0x000000ff, 0x00000016),
160 	DECL_RFK_WM(0x58a4, 0x0001ff00, 0x00000000),
161 	DECL_RFK_WM(0x58a4, 0x03fe0000, 0x00000000),
162 	DECL_RFK_WM(0x58a8, 0x000001ff, 0x00000000),
163 	DECL_RFK_WM(0x58a8, 0x0003fe00, 0x00000000),
164 	DECL_RFK_WM(0x58a8, 0x07fc0000, 0x00000000),
165 	DECL_RFK_WM(0x58ac, 0x000001ff, 0x00000000),
166 	DECL_RFK_WM(0x58ac, 0x0003fe00, 0x00000000),
167 	DECL_RFK_WM(0x58ac, 0x07fc0000, 0x00000000),
168 	DECL_RFK_WM(0x58b0, 0xffffffff, 0x00000000),
169 	DECL_RFK_WM(0x58b4, 0x0000001f, 0x00000000),
170 	DECL_RFK_WM(0x58b4, 0x00000020, 0x00000000),
171 	DECL_RFK_WM(0x58b4, 0x000001c0, 0x00000000),
172 	DECL_RFK_WM(0x58b4, 0x00000200, 0x00000000),
173 	DECL_RFK_WM(0x58b4, 0x0000f000, 0x00000002),
174 	DECL_RFK_WM(0x58b4, 0x00ff0000, 0x00000000),
175 	DECL_RFK_WM(0x58b4, 0x7f000000, 0x0000000a),
176 	DECL_RFK_WM(0x58b8, 0x0000007f, 0x00000028),
177 	DECL_RFK_WM(0x58b8, 0x00007f00, 0x00000076),
178 	DECL_RFK_WM(0x58b8, 0x007f0000, 0x00000000),
179 	DECL_RFK_WM(0x58b8, 0x7f000000, 0x00000000),
180 	DECL_RFK_WM(0x58bc, 0x000000ff, 0x0000007f),
181 	DECL_RFK_WM(0x58bc, 0x0000ff00, 0x00000080),
182 	DECL_RFK_WM(0x58bc, 0x00030000, 0x00000003),
183 	DECL_RFK_WM(0x58bc, 0x000c0000, 0x00000001),
184 	DECL_RFK_WM(0x58bc, 0x00300000, 0x00000002),
185 	DECL_RFK_WM(0x58bc, 0x00c00000, 0x00000002),
186 	DECL_RFK_WM(0x58bc, 0x07000000, 0x00000007),
187 	DECL_RFK_WM(0x58c0, 0x00fe0000, 0x0000003f),
188 	DECL_RFK_WM(0x58c0, 0xff000000, 0x00000000),
189 	DECL_RFK_WM(0x58c4, 0x0003ffff, 0x0003ffff),
190 	DECL_RFK_WM(0x58c4, 0x3ffc0000, 0x00000000),
191 	DECL_RFK_WM(0x58c4, 0xc0000000, 0x00000000),
192 	DECL_RFK_WM(0x58c8, 0x00ffffff, 0x00000000),
193 	DECL_RFK_WM(0x58c8, 0xf0000000, 0x00000000),
194 	DECL_RFK_WM(0x58cc, 0xffffffff, 0x00000000),
195 	DECL_RFK_WM(0x58d0, 0x00001fff, 0x00000101),
196 	DECL_RFK_WM(0x58d0, 0x0001e000, 0x00000004),
197 	DECL_RFK_WM(0x58d0, 0x03fe0000, 0x00000100),
198 	DECL_RFK_WM(0x58d0, 0x04000000, 0x00000000),
199 	DECL_RFK_WM(0x58d4, 0x000000ff, 0x00000000),
200 	DECL_RFK_WM(0x58d4, 0x0003fe00, 0x000000ff),
201 	DECL_RFK_WM(0x58d4, 0x07fc0000, 0x00000100),
202 	DECL_RFK_WM(0x58d8, 0x000001ff, 0x0000016c),
203 	DECL_RFK_WM(0x58d8, 0x0003fe00, 0x0000005c),
204 	DECL_RFK_WM(0x58d8, 0x000c0000, 0x00000002),
205 	DECL_RFK_WM(0x58d8, 0xfff00000, 0x00000800),
206 	DECL_RFK_WM(0x58dc, 0x000000ff, 0x0000007f),
207 	DECL_RFK_WM(0x58dc, 0x0000ff00, 0x00000080),
208 	DECL_RFK_WM(0x58dc, 0x00010000, 0x00000000),
209 	DECL_RFK_WM(0x58dc, 0x3ff00000, 0x00000000),
210 	DECL_RFK_WM(0x58dc, 0x80000000, 0x00000001),
211 	DECL_RFK_WM(0x58f0, 0x000001ff, 0x000001ff),
212 	DECL_RFK_WM(0x58f0, 0x0003fe00, 0x00000000),
213 	DECL_RFK_WM(0x58f4, 0x000003ff, 0x00000000),
214 	DECL_RFK_WM(0x58f4, 0x000ffc00, 0x00000000),
215 	DECL_RFK_WM(0x58f4, 0x000003ff, 0x00000000),
216 	DECL_RFK_WM(0x58f4, 0x000ffc00, 0x00000000),
217 };
218 
219 DECLARE_RFK_TBL(rtw8852a_tssi_txpwr_ctrl_bb_defs_a);
220 
221 static const struct rtw89_reg5_def rtw8852a_tssi_txpwr_ctrl_bb_defs_b[] = {
222 	DECL_RFK_WM(0x7800, 0x000000ff, 0x0000007f),
223 	DECL_RFK_WM(0x7800, 0x0000ff00, 0x00000080),
224 	DECL_RFK_WM(0x7800, 0x003f0000, 0x0000003f),
225 	DECL_RFK_WM(0x7800, 0x10000000, 0x00000000),
226 	DECL_RFK_WM(0x7800, 0x20000000, 0x00000000),
227 	DECL_RFK_WM(0x7800, 0xc0000000, 0x00000000),
228 	DECL_RFK_WM(0x7804, 0xf8000000, 0x00000000),
229 	DECL_RFK_WM(0x780c, 0x0000007f, 0x00000040),
230 	DECL_RFK_WM(0x780c, 0x00007f00, 0x00000040),
231 	DECL_RFK_WM(0x780c, 0x00008000, 0x00000000),
232 	DECL_RFK_WM(0x780c, 0x0fff0000, 0x00000000),
233 	DECL_RFK_WM(0x7810, 0x000001ff, 0x00000000),
234 	DECL_RFK_WM(0x7810, 0x00000200, 0x00000000),
235 	DECL_RFK_WM(0x7810, 0x0000fc00, 0x00000000),
236 	DECL_RFK_WM(0x7810, 0x00010000, 0x00000001),
237 	DECL_RFK_WM(0x7810, 0x00fe0000, 0x00000000),
238 	DECL_RFK_WM(0x7810, 0x01000000, 0x00000001),
239 	DECL_RFK_WM(0x7810, 0x06000000, 0x00000000),
240 	DECL_RFK_WM(0x7810, 0x38000000, 0x00000003),
241 	DECL_RFK_WM(0x7810, 0x40000000, 0x00000001),
242 	DECL_RFK_WM(0x7810, 0x80000000, 0x00000000),
243 	DECL_RFK_WM(0x7814, 0x000003ff, 0x00000000),
244 	DECL_RFK_WM(0x7814, 0x00000c00, 0x00000000),
245 	DECL_RFK_WM(0x7814, 0x00001000, 0x00000001),
246 	DECL_RFK_WM(0x7814, 0x00002000, 0x00000000),
247 	DECL_RFK_WM(0x7814, 0x00004000, 0x00000001),
248 	DECL_RFK_WM(0x7814, 0x00038000, 0x00000005),
249 	DECL_RFK_WM(0x7814, 0x003c0000, 0x00000000),
250 	DECL_RFK_WM(0x7814, 0x01c00000, 0x00000000),
251 	DECL_RFK_WM(0x7814, 0x18000000, 0x00000000),
252 	DECL_RFK_WM(0x7814, 0xe0000000, 0x00000000),
253 	DECL_RFK_WM(0x7818, 0x000000ff, 0x00000000),
254 	DECL_RFK_WM(0x7818, 0x0001ff00, 0x00000018),
255 	DECL_RFK_WM(0x7818, 0x03fe0000, 0x00000016),
256 	DECL_RFK_WM(0x7818, 0xfc000000, 0x00000000),
257 	DECL_RFK_WM(0x781c, 0x000003ff, 0x00000280),
258 	DECL_RFK_WM(0x781c, 0x000ffc00, 0x00000200),
259 	DECL_RFK_WM(0x781c, 0x00100000, 0x00000000),
260 	DECL_RFK_WM(0x781c, 0x01e00000, 0x00000008),
261 	DECL_RFK_WM(0x781c, 0x01e00000, 0x0000000e),
262 	DECL_RFK_WM(0x781c, 0x1e000000, 0x00000008),
263 	DECL_RFK_WM(0x781c, 0x1e000000, 0x0000000e),
264 	DECL_RFK_WM(0x781c, 0x20000000, 0x00000000),
265 	DECL_RFK_WM(0x7820, 0x00000fff, 0x00000080),
266 	DECL_RFK_WM(0x7820, 0x0000f000, 0x00000000),
267 	DECL_RFK_WM(0x7820, 0x001f0000, 0x00000000),
268 	DECL_RFK_WM(0x7820, 0xffe00000, 0x00000000),
269 	DECL_RFK_WM(0x7824, 0x0003ffff, 0x000115f2),
270 	DECL_RFK_WM(0x7824, 0x3ffc0000, 0x00000000),
271 	DECL_RFK_WM(0x7828, 0x00000fff, 0x00000121),
272 	DECL_RFK_WM(0x782c, 0x0003ffff, 0x000115f2),
273 	DECL_RFK_WM(0x782c, 0x3ffc0000, 0x00000000),
274 	DECL_RFK_WM(0x7830, 0x00000fff, 0x00000121),
275 	DECL_RFK_WM(0x7834, 0x0003ffff, 0x000115f2),
276 	DECL_RFK_WM(0x7834, 0x3ffc0000, 0x00000000),
277 	DECL_RFK_WM(0x7838, 0x00000fff, 0x00000121),
278 	DECL_RFK_WM(0x783c, 0x0003ffff, 0x000115f2),
279 	DECL_RFK_WM(0x783c, 0x3ffc0000, 0x00000000),
280 	DECL_RFK_WM(0x7840, 0x00000fff, 0x00000121),
281 	DECL_RFK_WM(0x7844, 0x0003ffff, 0x000115f2),
282 	DECL_RFK_WM(0x7844, 0x3ffc0000, 0x00000000),
283 	DECL_RFK_WM(0x7848, 0x00000fff, 0x00000121),
284 	DECL_RFK_WM(0x784c, 0x0003ffff, 0x000115f2),
285 	DECL_RFK_WM(0x784c, 0x3ffc0000, 0x00000000),
286 	DECL_RFK_WM(0x7850, 0x00000fff, 0x00000121),
287 	DECL_RFK_WM(0x7854, 0x0003ffff, 0x000115f2),
288 	DECL_RFK_WM(0x7854, 0x3ffc0000, 0x00000000),
289 	DECL_RFK_WM(0x7858, 0x00000fff, 0x00000121),
290 	DECL_RFK_WM(0x785c, 0x0003ffff, 0x000115f2),
291 	DECL_RFK_WM(0x785c, 0x3ffc0000, 0x00000000),
292 	DECL_RFK_WM(0x7860, 0x00000fff, 0x00000121),
293 	DECL_RFK_WM(0x7828, 0x003ff000, 0x00000000),
294 	DECL_RFK_WM(0x7828, 0x7fc00000, 0x00000000),
295 	DECL_RFK_WM(0x7830, 0x003ff000, 0x00000000),
296 	DECL_RFK_WM(0x7830, 0x7fc00000, 0x00000000),
297 	DECL_RFK_WM(0x7838, 0x003ff000, 0x00000000),
298 	DECL_RFK_WM(0x7838, 0x7fc00000, 0x00000000),
299 	DECL_RFK_WM(0x7840, 0x003ff000, 0x00000000),
300 	DECL_RFK_WM(0x7840, 0x7fc00000, 0x00000000),
301 	DECL_RFK_WM(0x7848, 0x003ff000, 0x00000000),
302 	DECL_RFK_WM(0x7848, 0x7fc00000, 0x00000000),
303 	DECL_RFK_WM(0x7850, 0x003ff000, 0x00000000),
304 	DECL_RFK_WM(0x7850, 0x7fc00000, 0x00000000),
305 	DECL_RFK_WM(0x7858, 0x003ff000, 0x00000000),
306 	DECL_RFK_WM(0x7858, 0x7fc00000, 0x00000000),
307 	DECL_RFK_WM(0x7860, 0x003ff000, 0x00000000),
308 	DECL_RFK_WM(0x7860, 0x7fc00000, 0x00000000),
309 	DECL_RFK_WM(0x7860, 0x80000000, 0x00000000),
310 	DECL_RFK_WM(0x7864, 0x000003ff, 0x000001ff),
311 	DECL_RFK_WM(0x7864, 0x000ffc00, 0x00000200),
312 	DECL_RFK_WM(0x7864, 0x03f00000, 0x00000000),
313 	DECL_RFK_WM(0x7864, 0x04000000, 0x00000000),
314 	DECL_RFK_WM(0x7898, 0xffffffff, 0x00000000),
315 	DECL_RFK_WM(0x789c, 0xffffffff, 0x00000000),
316 	DECL_RFK_WM(0x78a0, 0x000000ff, 0x000000fd),
317 	DECL_RFK_WM(0x78a0, 0x0000ff00, 0x000000e5),
318 	DECL_RFK_WM(0x78a0, 0x00ff0000, 0x000000cd),
319 	DECL_RFK_WM(0x78a0, 0xff000000, 0x000000b5),
320 	DECL_RFK_WM(0x78a4, 0x000000ff, 0x00000016),
321 	DECL_RFK_WM(0x78a4, 0x0001ff00, 0x00000000),
322 	DECL_RFK_WM(0x78a4, 0x03fe0000, 0x00000000),
323 	DECL_RFK_WM(0x78a8, 0x000001ff, 0x00000000),
324 	DECL_RFK_WM(0x78a8, 0x0003fe00, 0x00000000),
325 	DECL_RFK_WM(0x78a8, 0x07fc0000, 0x00000000),
326 	DECL_RFK_WM(0x78ac, 0x000001ff, 0x00000000),
327 	DECL_RFK_WM(0x78ac, 0x0003fe00, 0x00000000),
328 	DECL_RFK_WM(0x78ac, 0x07fc0000, 0x00000000),
329 	DECL_RFK_WM(0x78b0, 0xffffffff, 0x00000000),
330 	DECL_RFK_WM(0x78b4, 0x0000001f, 0x00000000),
331 	DECL_RFK_WM(0x78b4, 0x00000020, 0x00000000),
332 	DECL_RFK_WM(0x78b4, 0x000001c0, 0x00000000),
333 	DECL_RFK_WM(0x78b4, 0x00000200, 0x00000000),
334 	DECL_RFK_WM(0x78b4, 0x0000f000, 0x00000002),
335 	DECL_RFK_WM(0x78b4, 0x00ff0000, 0x00000000),
336 	DECL_RFK_WM(0x78b4, 0x7f000000, 0x0000000a),
337 	DECL_RFK_WM(0x78b8, 0x0000007f, 0x00000028),
338 	DECL_RFK_WM(0x78b8, 0x00007f00, 0x00000076),
339 	DECL_RFK_WM(0x78b8, 0x007f0000, 0x00000000),
340 	DECL_RFK_WM(0x78b8, 0x7f000000, 0x00000000),
341 	DECL_RFK_WM(0x78bc, 0x000000ff, 0x0000007f),
342 	DECL_RFK_WM(0x78bc, 0x0000ff00, 0x00000080),
343 	DECL_RFK_WM(0x78bc, 0x00030000, 0x00000003),
344 	DECL_RFK_WM(0x78bc, 0x000c0000, 0x00000001),
345 	DECL_RFK_WM(0x78bc, 0x00300000, 0x00000002),
346 	DECL_RFK_WM(0x78bc, 0x00c00000, 0x00000002),
347 	DECL_RFK_WM(0x78bc, 0x07000000, 0x00000007),
348 	DECL_RFK_WM(0x78c0, 0x00fe0000, 0x0000003f),
349 	DECL_RFK_WM(0x78c0, 0xff000000, 0x00000000),
350 	DECL_RFK_WM(0x78c4, 0x0003ffff, 0x0003ffff),
351 	DECL_RFK_WM(0x78c4, 0x3ffc0000, 0x00000000),
352 	DECL_RFK_WM(0x78c4, 0xc0000000, 0x00000000),
353 	DECL_RFK_WM(0x78c8, 0x00ffffff, 0x00000000),
354 	DECL_RFK_WM(0x78c8, 0xf0000000, 0x00000000),
355 	DECL_RFK_WM(0x78cc, 0xffffffff, 0x00000000),
356 	DECL_RFK_WM(0x78d0, 0x00001fff, 0x00000101),
357 	DECL_RFK_WM(0x78d0, 0x0001e000, 0x00000004),
358 	DECL_RFK_WM(0x78d0, 0x03fe0000, 0x00000100),
359 	DECL_RFK_WM(0x78d0, 0x04000000, 0x00000000),
360 	DECL_RFK_WM(0x78d4, 0x000000ff, 0x00000000),
361 	DECL_RFK_WM(0x78d4, 0x0003fe00, 0x000000ff),
362 	DECL_RFK_WM(0x78d4, 0x07fc0000, 0x00000100),
363 	DECL_RFK_WM(0x78d8, 0x000001ff, 0x0000016c),
364 	DECL_RFK_WM(0x78d8, 0x0003fe00, 0x0000005c),
365 	DECL_RFK_WM(0x78d8, 0x000c0000, 0x00000002),
366 	DECL_RFK_WM(0x78d8, 0xfff00000, 0x00000800),
367 	DECL_RFK_WM(0x78dc, 0x000000ff, 0x0000007f),
368 	DECL_RFK_WM(0x78dc, 0x0000ff00, 0x00000080),
369 	DECL_RFK_WM(0x78dc, 0x00010000, 0x00000000),
370 	DECL_RFK_WM(0x78dc, 0x3ff00000, 0x00000000),
371 	DECL_RFK_WM(0x78dc, 0x80000000, 0x00000001),
372 	DECL_RFK_WM(0x78f0, 0x000001ff, 0x000001ff),
373 	DECL_RFK_WM(0x78f0, 0x0003fe00, 0x00000000),
374 	DECL_RFK_WM(0x78f4, 0x000003ff, 0x00000000),
375 	DECL_RFK_WM(0x78f4, 0x000ffc00, 0x00000000),
376 	DECL_RFK_WM(0x78f4, 0x000003ff, 0x00000000),
377 	DECL_RFK_WM(0x78f4, 0x000ffc00, 0x00000000),
378 };
379 
380 DECLARE_RFK_TBL(rtw8852a_tssi_txpwr_ctrl_bb_defs_b);
381 
382 static const struct rtw89_reg5_def rtw8852a_tssi_txpwr_ctrl_bb_defs_2g[] = {
383 	DECL_RFK_WM(0x58d8, 0x000001ff, 0x0000013c),
384 	DECL_RFK_WM(0x78d8, 0x000001ff, 0x0000013c),
385 };
386 
387 DECLARE_RFK_TBL(rtw8852a_tssi_txpwr_ctrl_bb_defs_2g);
388 
389 static const struct rtw89_reg5_def rtw8852a_tssi_txpwr_ctrl_bb_defs_5g[] = {
390 	DECL_RFK_WM(0x58d8, 0x000001ff, 0x0000016c),
391 	DECL_RFK_WM(0x78d8, 0x000001ff, 0x0000016c),
392 };
393 
394 DECLARE_RFK_TBL(rtw8852a_tssi_txpwr_ctrl_bb_defs_5g);
395 
396 static const struct rtw89_reg5_def rtw8852a_tssi_txpwr_ctrl_bb_he_tb_defs_a[] = {
397 	DECL_RFK_WM(0x58a0, 0xffffffff, 0x000000fc),
398 	DECL_RFK_WM(0x58e4, 0x0000007f, 0x00000020),
399 };
400 
401 DECLARE_RFK_TBL(rtw8852a_tssi_txpwr_ctrl_bb_he_tb_defs_a);
402 
403 static const struct rtw89_reg5_def rtw8852a_tssi_txpwr_ctrl_bb_he_tb_defs_b[] = {
404 	DECL_RFK_WM(0x78a0, 0xffffffff, 0x000000fc),
405 	DECL_RFK_WM(0x78e4, 0x0000007f, 0x00000020),
406 };
407 
408 DECLARE_RFK_TBL(rtw8852a_tssi_txpwr_ctrl_bb_he_tb_defs_b);
409 
410 static const struct rtw89_reg5_def rtw8852a_tssi_dck_defs_a[] = {
411 	DECL_RFK_WM(0x580c, 0x0fff0000, 0x00000000),
412 	DECL_RFK_WM(0x5814, 0x00001000, 0x00000001),
413 	DECL_RFK_WM(0x5814, 0x00002000, 0x00000001),
414 	DECL_RFK_WM(0x5814, 0x00004000, 0x00000001),
415 	DECL_RFK_WM(0x5814, 0x00038000, 0x00000005),
416 	DECL_RFK_WM(0x5814, 0x003c0000, 0x00000003),
417 	DECL_RFK_WM(0x5814, 0x18000000, 0x00000000),
418 };
419 
420 DECLARE_RFK_TBL(rtw8852a_tssi_dck_defs_a);
421 
422 static const struct rtw89_reg5_def rtw8852a_tssi_dck_defs_b[] = {
423 	DECL_RFK_WM(0x780c, 0x0fff0000, 0x00000000),
424 	DECL_RFK_WM(0x7814, 0x00001000, 0x00000001),
425 	DECL_RFK_WM(0x7814, 0x00002000, 0x00000001),
426 	DECL_RFK_WM(0x7814, 0x00004000, 0x00000001),
427 	DECL_RFK_WM(0x7814, 0x00038000, 0x00000005),
428 	DECL_RFK_WM(0x7814, 0x003c0000, 0x00000003),
429 	DECL_RFK_WM(0x7814, 0x18000000, 0x00000000),
430 };
431 
432 DECLARE_RFK_TBL(rtw8852a_tssi_dck_defs_b);
433 
434 static const struct rtw89_reg5_def rtw8852a_tssi_dac_gain_tbl_defs_a[] = {
435 	DECL_RFK_WM(0x58b0, 0x00000fff, 0x00000000),
436 	DECL_RFK_WM(0x58b0, 0x00000800, 0x00000001),
437 	DECL_RFK_WM(0x5a00, 0xffffffff, 0x00000000),
438 	DECL_RFK_WM(0x5a04, 0xffffffff, 0x00000000),
439 	DECL_RFK_WM(0x5a08, 0xffffffff, 0x00000000),
440 	DECL_RFK_WM(0x5a0c, 0xffffffff, 0x00000000),
441 	DECL_RFK_WM(0x5a10, 0xffffffff, 0x00000000),
442 	DECL_RFK_WM(0x5a14, 0xffffffff, 0x00000000),
443 	DECL_RFK_WM(0x5a18, 0xffffffff, 0x00000000),
444 	DECL_RFK_WM(0x5a1c, 0xffffffff, 0x00000000),
445 	DECL_RFK_WM(0x5a20, 0xffffffff, 0x00000000),
446 	DECL_RFK_WM(0x5a24, 0xffffffff, 0x00000000),
447 	DECL_RFK_WM(0x5a28, 0xffffffff, 0x00000000),
448 	DECL_RFK_WM(0x5a2c, 0xffffffff, 0x00000000),
449 	DECL_RFK_WM(0x5a30, 0xffffffff, 0x00000000),
450 	DECL_RFK_WM(0x5a34, 0xffffffff, 0x00000000),
451 	DECL_RFK_WM(0x5a38, 0xffffffff, 0x00000000),
452 	DECL_RFK_WM(0x5a3c, 0xffffffff, 0x00000000),
453 	DECL_RFK_WM(0x5a40, 0xffffffff, 0x00000000),
454 	DECL_RFK_WM(0x5a44, 0xffffffff, 0x00000000),
455 	DECL_RFK_WM(0x5a48, 0xffffffff, 0x00000000),
456 	DECL_RFK_WM(0x5a4c, 0xffffffff, 0x00000000),
457 	DECL_RFK_WM(0x5a50, 0xffffffff, 0x00000000),
458 	DECL_RFK_WM(0x5a54, 0xffffffff, 0x00000000),
459 	DECL_RFK_WM(0x5a58, 0xffffffff, 0x00000000),
460 	DECL_RFK_WM(0x5a5c, 0xffffffff, 0x00000000),
461 	DECL_RFK_WM(0x5a60, 0xffffffff, 0x00000000),
462 	DECL_RFK_WM(0x5a64, 0xffffffff, 0x00000000),
463 	DECL_RFK_WM(0x5a68, 0xffffffff, 0x00000000),
464 	DECL_RFK_WM(0x5a6c, 0xffffffff, 0x00000000),
465 	DECL_RFK_WM(0x5a70, 0xffffffff, 0x00000000),
466 	DECL_RFK_WM(0x5a74, 0xffffffff, 0x00000000),
467 	DECL_RFK_WM(0x5a78, 0xffffffff, 0x00000000),
468 	DECL_RFK_WM(0x5a7c, 0xffffffff, 0x00000000),
469 	DECL_RFK_WM(0x5a80, 0xffffffff, 0x00000000),
470 	DECL_RFK_WM(0x5a84, 0xffffffff, 0x00000000),
471 	DECL_RFK_WM(0x5a88, 0xffffffff, 0x00000000),
472 	DECL_RFK_WM(0x5a8c, 0xffffffff, 0x00000000),
473 	DECL_RFK_WM(0x5a90, 0xffffffff, 0x00000000),
474 	DECL_RFK_WM(0x5a94, 0xffffffff, 0x00000000),
475 	DECL_RFK_WM(0x5a98, 0xffffffff, 0x00000000),
476 	DECL_RFK_WM(0x5a9c, 0xffffffff, 0x00000000),
477 	DECL_RFK_WM(0x5aa0, 0xffffffff, 0x00000000),
478 	DECL_RFK_WM(0x5aa4, 0xffffffff, 0x00000000),
479 	DECL_RFK_WM(0x5aa8, 0xffffffff, 0x00000000),
480 	DECL_RFK_WM(0x5aac, 0xffffffff, 0x00000000),
481 	DECL_RFK_WM(0x5ab0, 0xffffffff, 0x00000000),
482 	DECL_RFK_WM(0x5ab4, 0xffffffff, 0x00000000),
483 	DECL_RFK_WM(0x5ab8, 0xffffffff, 0x00000000),
484 	DECL_RFK_WM(0x5abc, 0xffffffff, 0x00000000),
485 	DECL_RFK_WM(0x5ac0, 0xffffffff, 0x00000000),
486 };
487 
488 DECLARE_RFK_TBL(rtw8852a_tssi_dac_gain_tbl_defs_a);
489 
490 static const struct rtw89_reg5_def rtw8852a_tssi_dac_gain_tbl_defs_b[] = {
491 	DECL_RFK_WM(0x78b0, 0x00000fff, 0x00000000),
492 	DECL_RFK_WM(0x78b0, 0x00000800, 0x00000001),
493 	DECL_RFK_WM(0x7a00, 0xffffffff, 0x00000000),
494 	DECL_RFK_WM(0x7a04, 0xffffffff, 0x00000000),
495 	DECL_RFK_WM(0x7a08, 0xffffffff, 0x00000000),
496 	DECL_RFK_WM(0x7a0c, 0xffffffff, 0x00000000),
497 	DECL_RFK_WM(0x7a10, 0xffffffff, 0x00000000),
498 	DECL_RFK_WM(0x7a14, 0xffffffff, 0x00000000),
499 	DECL_RFK_WM(0x7a18, 0xffffffff, 0x00000000),
500 	DECL_RFK_WM(0x7a1c, 0xffffffff, 0x00000000),
501 	DECL_RFK_WM(0x7a20, 0xffffffff, 0x00000000),
502 	DECL_RFK_WM(0x7a24, 0xffffffff, 0x00000000),
503 	DECL_RFK_WM(0x7a28, 0xffffffff, 0x00000000),
504 	DECL_RFK_WM(0x7a2c, 0xffffffff, 0x00000000),
505 	DECL_RFK_WM(0x7a30, 0xffffffff, 0x00000000),
506 	DECL_RFK_WM(0x7a34, 0xffffffff, 0x00000000),
507 	DECL_RFK_WM(0x7a38, 0xffffffff, 0x00000000),
508 	DECL_RFK_WM(0x7a3c, 0xffffffff, 0x00000000),
509 	DECL_RFK_WM(0x7a40, 0xffffffff, 0x00000000),
510 	DECL_RFK_WM(0x7a44, 0xffffffff, 0x00000000),
511 	DECL_RFK_WM(0x7a48, 0xffffffff, 0x00000000),
512 	DECL_RFK_WM(0x7a4c, 0xffffffff, 0x00000000),
513 	DECL_RFK_WM(0x7a50, 0xffffffff, 0x00000000),
514 	DECL_RFK_WM(0x7a54, 0xffffffff, 0x00000000),
515 	DECL_RFK_WM(0x7a58, 0xffffffff, 0x00000000),
516 	DECL_RFK_WM(0x7a5c, 0xffffffff, 0x00000000),
517 	DECL_RFK_WM(0x7a60, 0xffffffff, 0x00000000),
518 	DECL_RFK_WM(0x7a64, 0xffffffff, 0x00000000),
519 	DECL_RFK_WM(0x7a68, 0xffffffff, 0x00000000),
520 	DECL_RFK_WM(0x7a6c, 0xffffffff, 0x00000000),
521 	DECL_RFK_WM(0x7a70, 0xffffffff, 0x00000000),
522 	DECL_RFK_WM(0x7a74, 0xffffffff, 0x00000000),
523 	DECL_RFK_WM(0x7a78, 0xffffffff, 0x00000000),
524 	DECL_RFK_WM(0x7a7c, 0xffffffff, 0x00000000),
525 	DECL_RFK_WM(0x7a80, 0xffffffff, 0x00000000),
526 	DECL_RFK_WM(0x7a84, 0xffffffff, 0x00000000),
527 	DECL_RFK_WM(0x7a88, 0xffffffff, 0x00000000),
528 	DECL_RFK_WM(0x7a8c, 0xffffffff, 0x00000000),
529 	DECL_RFK_WM(0x7a90, 0xffffffff, 0x00000000),
530 	DECL_RFK_WM(0x7a94, 0xffffffff, 0x00000000),
531 	DECL_RFK_WM(0x7a98, 0xffffffff, 0x00000000),
532 	DECL_RFK_WM(0x7a9c, 0xffffffff, 0x00000000),
533 	DECL_RFK_WM(0x7aa0, 0xffffffff, 0x00000000),
534 	DECL_RFK_WM(0x7aa4, 0xffffffff, 0x00000000),
535 	DECL_RFK_WM(0x7aa8, 0xffffffff, 0x00000000),
536 	DECL_RFK_WM(0x7aac, 0xffffffff, 0x00000000),
537 	DECL_RFK_WM(0x7ab0, 0xffffffff, 0x00000000),
538 	DECL_RFK_WM(0x7ab4, 0xffffffff, 0x00000000),
539 	DECL_RFK_WM(0x7ab8, 0xffffffff, 0x00000000),
540 	DECL_RFK_WM(0x7abc, 0xffffffff, 0x00000000),
541 	DECL_RFK_WM(0x7ac0, 0xffffffff, 0x00000000),
542 };
543 
544 DECLARE_RFK_TBL(rtw8852a_tssi_dac_gain_tbl_defs_b);
545 
546 static const struct rtw89_reg5_def rtw8852a_tssi_slope_cal_org_defs_a[] = {
547 	DECL_RFK_WM(0x581c, 0x00100000, 0x00000000),
548 	DECL_RFK_WM(0x58cc, 0x00001000, 0x00000001),
549 	DECL_RFK_WM(0x58cc, 0x00000007, 0x00000000),
550 	DECL_RFK_WM(0x58cc, 0x00000038, 0x00000001),
551 	DECL_RFK_WM(0x58cc, 0x000001c0, 0x00000002),
552 	DECL_RFK_WM(0x58cc, 0x00000e00, 0x00000003),
553 	DECL_RFK_WM(0x5828, 0x7fc00000, 0x00000040),
554 	DECL_RFK_WM(0x5898, 0x000000ff, 0x00000040),
555 	DECL_RFK_WM(0x5830, 0x7fc00000, 0x00000040),
556 	DECL_RFK_WM(0x5898, 0x0000ff00, 0x00000040),
557 	DECL_RFK_WM(0x5838, 0x7fc00000, 0x00000040),
558 	DECL_RFK_WM(0x5898, 0x00ff0000, 0x00000040),
559 	DECL_RFK_WM(0x5840, 0x7fc00000, 0x00000040),
560 	DECL_RFK_WM(0x5898, 0xff000000, 0x00000040),
561 	DECL_RFK_WM(0x5848, 0x7fc00000, 0x00000040),
562 	DECL_RFK_WM(0x589c, 0x000000ff, 0x00000040),
563 	DECL_RFK_WM(0x5850, 0x7fc00000, 0x00000040),
564 	DECL_RFK_WM(0x589c, 0x0000ff00, 0x00000040),
565 	DECL_RFK_WM(0x5858, 0x7fc00000, 0x00000040),
566 	DECL_RFK_WM(0x589c, 0x00ff0000, 0x00000040),
567 	DECL_RFK_WM(0x5860, 0x7fc00000, 0x00000040),
568 	DECL_RFK_WM(0x589c, 0xff000000, 0x00000040),
569 };
570 
571 DECLARE_RFK_TBL(rtw8852a_tssi_slope_cal_org_defs_a);
572 
573 static const struct rtw89_reg5_def rtw8852a_tssi_slope_cal_org_defs_b[] = {
574 	DECL_RFK_WM(0x781c, 0x00100000, 0x00000000),
575 	DECL_RFK_WM(0x78cc, 0x00001000, 0x00000001),
576 	DECL_RFK_WM(0x78cc, 0x00000007, 0x00000000),
577 	DECL_RFK_WM(0x78cc, 0x00000038, 0x00000001),
578 	DECL_RFK_WM(0x78cc, 0x000001c0, 0x00000002),
579 	DECL_RFK_WM(0x78cc, 0x00000e00, 0x00000003),
580 	DECL_RFK_WM(0x7828, 0x7fc00000, 0x00000040),
581 	DECL_RFK_WM(0x7898, 0x000000ff, 0x00000040),
582 	DECL_RFK_WM(0x7830, 0x7fc00000, 0x00000040),
583 	DECL_RFK_WM(0x7898, 0x0000ff00, 0x00000040),
584 	DECL_RFK_WM(0x7838, 0x7fc00000, 0x00000040),
585 	DECL_RFK_WM(0x7898, 0x00ff0000, 0x00000040),
586 	DECL_RFK_WM(0x7840, 0x7fc00000, 0x00000040),
587 	DECL_RFK_WM(0x7898, 0xff000000, 0x00000040),
588 	DECL_RFK_WM(0x7848, 0x7fc00000, 0x00000040),
589 	DECL_RFK_WM(0x789c, 0x000000ff, 0x00000040),
590 	DECL_RFK_WM(0x7850, 0x7fc00000, 0x00000040),
591 	DECL_RFK_WM(0x789c, 0x0000ff00, 0x00000040),
592 	DECL_RFK_WM(0x7878, 0x7fc00000, 0x00000040),
593 	DECL_RFK_WM(0x789c, 0x00ff0000, 0x00000040),
594 	DECL_RFK_WM(0x7860, 0x7fc00000, 0x00000040),
595 	DECL_RFK_WM(0x789c, 0xff000000, 0x00000040),
596 };
597 
598 DECLARE_RFK_TBL(rtw8852a_tssi_slope_cal_org_defs_b);
599 
600 static const struct rtw89_reg5_def rtw8852a_tssi_rf_gap_tbl_defs_a[] = {
601 	DECL_RFK_WM(0x5814, 0x000003ff, 0x00000000),
602 	DECL_RFK_WM(0x58f4, 0x000003ff, 0x00000000),
603 	DECL_RFK_WM(0x58f4, 0x000ffc00, 0x00000000),
604 	DECL_RFK_WM(0x58f8, 0x000003ff, 0x00000000),
605 	DECL_RFK_WM(0x58f8, 0x000ffc00, 0x00000000),
606 	DECL_RFK_WM(0x58a4, 0x0001ff00, 0x00000000),
607 	DECL_RFK_WM(0x58a4, 0x03fe0000, 0x00000000),
608 	DECL_RFK_WM(0x58a8, 0x000001ff, 0x00000000),
609 	DECL_RFK_WM(0x58a8, 0x0003fe00, 0x00000000),
610 	DECL_RFK_WM(0x58a8, 0x07fc0000, 0x00000000),
611 	DECL_RFK_WM(0x58ac, 0x000001ff, 0x00000000),
612 	DECL_RFK_WM(0x58ac, 0x0003fe00, 0x00000000),
613 	DECL_RFK_WM(0x58ac, 0x07fc0000, 0x00000000),
614 };
615 
616 DECLARE_RFK_TBL(rtw8852a_tssi_rf_gap_tbl_defs_a);
617 
618 static const struct rtw89_reg5_def rtw8852a_tssi_rf_gap_tbl_defs_b[] = {
619 	DECL_RFK_WM(0x7814, 0x000003ff, 0x00000000),
620 	DECL_RFK_WM(0x78f4, 0x000003ff, 0x00000000),
621 	DECL_RFK_WM(0x78f4, 0x000ffc00, 0x00000000),
622 	DECL_RFK_WM(0x78f8, 0x000003ff, 0x00000000),
623 	DECL_RFK_WM(0x78f8, 0x000ffc00, 0x00000000),
624 	DECL_RFK_WM(0x78a4, 0x0001ff00, 0x00000000),
625 	DECL_RFK_WM(0x78a4, 0x03fe0000, 0x00000000),
626 	DECL_RFK_WM(0x78a8, 0x000001ff, 0x00000000),
627 	DECL_RFK_WM(0x78a8, 0x0003fe00, 0x00000000),
628 	DECL_RFK_WM(0x78a8, 0x07fc0000, 0x00000000),
629 	DECL_RFK_WM(0x78ac, 0x000001ff, 0x00000000),
630 	DECL_RFK_WM(0x78ac, 0x0003fe00, 0x00000000),
631 	DECL_RFK_WM(0x78ac, 0x07fc0000, 0x00000000),
632 };
633 
634 DECLARE_RFK_TBL(rtw8852a_tssi_rf_gap_tbl_defs_b);
635 
636 static const struct rtw89_reg5_def rtw8852a_tssi_slope_defs_a[] = {
637 	DECL_RFK_WM(0x5820, 0x80000000, 0x00000000),
638 	DECL_RFK_WM(0x5818, 0x10000000, 0x00000000),
639 	DECL_RFK_WM(0x5814, 0x00000800, 0x00000001),
640 	DECL_RFK_WM(0x581c, 0x20000000, 0x00000001),
641 	DECL_RFK_WM(0x5820, 0x0000f000, 0x00000001),
642 	DECL_RFK_WM(0x581c, 0x000003ff, 0x00000280),
643 	DECL_RFK_WM(0x581c, 0x000ffc00, 0x00000200),
644 	DECL_RFK_WM(0x58b8, 0x007f0000, 0x00000000),
645 	DECL_RFK_WM(0x58b8, 0x7f000000, 0x00000000),
646 	DECL_RFK_WM(0x58b4, 0x7f000000, 0x0000000a),
647 	DECL_RFK_WM(0x58b8, 0x0000007f, 0x00000028),
648 	DECL_RFK_WM(0x58b8, 0x00007f00, 0x00000076),
649 	DECL_RFK_WM(0x5810, 0x20000000, 0x00000000),
650 	DECL_RFK_WM(0x5814, 0x20000000, 0x00000001),
651 	DECL_RFK_WM(0x580c, 0x10000000, 0x00000001),
652 	DECL_RFK_WM(0x580c, 0x40000000, 0x00000001),
653 	DECL_RFK_WM(0x5838, 0x003ff000, 0x00000000),
654 	DECL_RFK_WM(0x5858, 0x003ff000, 0x00000000),
655 	DECL_RFK_WM(0x5834, 0x0003ffff, 0x000115f2),
656 	DECL_RFK_WM(0x5834, 0x3ffc0000, 0x00000000),
657 	DECL_RFK_WM(0x5838, 0x00000fff, 0x00000121),
658 	DECL_RFK_WM(0x5854, 0x0003ffff, 0x000115f2),
659 	DECL_RFK_WM(0x5854, 0x3ffc0000, 0x00000000),
660 	DECL_RFK_WM(0x5858, 0x00000fff, 0x00000121),
661 	DECL_RFK_WM(0x5824, 0x0003ffff, 0x000115f2),
662 	DECL_RFK_WM(0x5824, 0x3ffc0000, 0x00000000),
663 	DECL_RFK_WM(0x5828, 0x00000fff, 0x00000121),
664 	DECL_RFK_WM(0x582c, 0x0003ffff, 0x000115f2),
665 	DECL_RFK_WM(0x582c, 0x3ffc0000, 0x00000000),
666 	DECL_RFK_WM(0x5830, 0x00000fff, 0x00000121),
667 	DECL_RFK_WM(0x583c, 0x0003ffff, 0x000115f2),
668 	DECL_RFK_WM(0x583c, 0x3ffc0000, 0x00000000),
669 	DECL_RFK_WM(0x5840, 0x00000fff, 0x00000121),
670 	DECL_RFK_WM(0x5844, 0x0003ffff, 0x000115f2),
671 	DECL_RFK_WM(0x5844, 0x3ffc0000, 0x00000000),
672 	DECL_RFK_WM(0x5848, 0x00000fff, 0x00000121),
673 	DECL_RFK_WM(0x584c, 0x0003ffff, 0x000115f2),
674 	DECL_RFK_WM(0x584c, 0x3ffc0000, 0x00000000),
675 	DECL_RFK_WM(0x5850, 0x00000fff, 0x00000121),
676 	DECL_RFK_WM(0x585c, 0x0003ffff, 0x000115f2),
677 	DECL_RFK_WM(0x585c, 0x3ffc0000, 0x00000000),
678 	DECL_RFK_WM(0x5860, 0x00000fff, 0x00000121),
679 	DECL_RFK_WM(0x5828, 0x003ff000, 0x00000000),
680 	DECL_RFK_WM(0x5830, 0x003ff000, 0x00000000),
681 	DECL_RFK_WM(0x5840, 0x003ff000, 0x00000000),
682 	DECL_RFK_WM(0x5848, 0x003ff000, 0x00000000),
683 	DECL_RFK_WM(0x5850, 0x003ff000, 0x00000000),
684 	DECL_RFK_WM(0x5860, 0x003ff000, 0x00000000),
685 };
686 
687 DECLARE_RFK_TBL(rtw8852a_tssi_slope_defs_a);
688 
689 static const struct rtw89_reg5_def rtw8852a_tssi_slope_defs_b[] = {
690 	DECL_RFK_WM(0x7820, 0x80000000, 0x00000000),
691 	DECL_RFK_WM(0x7818, 0x10000000, 0x00000000),
692 	DECL_RFK_WM(0x7814, 0x00000800, 0x00000001),
693 	DECL_RFK_WM(0x781c, 0x20000000, 0x00000001),
694 	DECL_RFK_WM(0x7820, 0x0000f000, 0x00000001),
695 	DECL_RFK_WM(0x781c, 0x000003ff, 0x00000280),
696 	DECL_RFK_WM(0x781c, 0x000ffc00, 0x00000200),
697 	DECL_RFK_WM(0x78b8, 0x007f0000, 0x00000000),
698 	DECL_RFK_WM(0x78b8, 0x7f000000, 0x00000000),
699 	DECL_RFK_WM(0x78b4, 0x7f000000, 0x0000000a),
700 	DECL_RFK_WM(0x78b8, 0x0000007f, 0x00000028),
701 	DECL_RFK_WM(0x78b8, 0x00007f00, 0x00000076),
702 	DECL_RFK_WM(0x7810, 0x20000000, 0x00000000),
703 	DECL_RFK_WM(0x7814, 0x20000000, 0x00000001),
704 	DECL_RFK_WM(0x780c, 0x10000000, 0x00000001),
705 	DECL_RFK_WM(0x780c, 0x40000000, 0x00000001),
706 	DECL_RFK_WM(0x7838, 0x003ff000, 0x00000000),
707 	DECL_RFK_WM(0x7858, 0x003ff000, 0x00000000),
708 	DECL_RFK_WM(0x7834, 0x0003ffff, 0x000115f2),
709 	DECL_RFK_WM(0x7834, 0x3ffc0000, 0x00000000),
710 	DECL_RFK_WM(0x7838, 0x00000fff, 0x00000121),
711 	DECL_RFK_WM(0x7854, 0x0003ffff, 0x000115f2),
712 	DECL_RFK_WM(0x7854, 0x3ffc0000, 0x00000000),
713 	DECL_RFK_WM(0x7858, 0x00000fff, 0x00000121),
714 	DECL_RFK_WM(0x7824, 0x0003ffff, 0x000115f2),
715 	DECL_RFK_WM(0x7824, 0x3ffc0000, 0x00000000),
716 	DECL_RFK_WM(0x7828, 0x00000fff, 0x00000121),
717 	DECL_RFK_WM(0x782c, 0x0003ffff, 0x000115f2),
718 	DECL_RFK_WM(0x782c, 0x3ffc0000, 0x00000000),
719 	DECL_RFK_WM(0x7830, 0x00000fff, 0x00000121),
720 	DECL_RFK_WM(0x783c, 0x0003ffff, 0x000115f2),
721 	DECL_RFK_WM(0x783c, 0x3ffc0000, 0x00000000),
722 	DECL_RFK_WM(0x7840, 0x00000fff, 0x00000121),
723 	DECL_RFK_WM(0x7844, 0x0003ffff, 0x000115f2),
724 	DECL_RFK_WM(0x7844, 0x3ffc0000, 0x00000000),
725 	DECL_RFK_WM(0x7848, 0x00000fff, 0x00000121),
726 	DECL_RFK_WM(0x784c, 0x0003ffff, 0x000115f2),
727 	DECL_RFK_WM(0x784c, 0x3ffc0000, 0x00000000),
728 	DECL_RFK_WM(0x7850, 0x00000fff, 0x00000121),
729 	DECL_RFK_WM(0x785c, 0x0003ffff, 0x000115f2),
730 	DECL_RFK_WM(0x785c, 0x3ffc0000, 0x00000000),
731 	DECL_RFK_WM(0x7860, 0x00000fff, 0x00000121),
732 	DECL_RFK_WM(0x7828, 0x003ff000, 0x00000000),
733 	DECL_RFK_WM(0x7830, 0x003ff000, 0x00000000),
734 	DECL_RFK_WM(0x7840, 0x003ff000, 0x00000000),
735 	DECL_RFK_WM(0x7848, 0x003ff000, 0x00000000),
736 	DECL_RFK_WM(0x7850, 0x003ff000, 0x00000000),
737 	DECL_RFK_WM(0x7860, 0x003ff000, 0x00000000),
738 };
739 
740 DECLARE_RFK_TBL(rtw8852a_tssi_slope_defs_b);
741 
742 static const struct rtw89_reg5_def rtw8852a_tssi_track_defs_a[] = {
743 	DECL_RFK_WM(0x5820, 0x80000000, 0x00000000),
744 	DECL_RFK_WM(0x5818, 0x18000000, 0x00000000),
745 	DECL_RFK_WM(0x5814, 0x00000800, 0x00000000),
746 	DECL_RFK_WM(0x581c, 0x20000000, 0x00000001),
747 	DECL_RFK_WM(0x5864, 0x000003ff, 0x000001ff),
748 	DECL_RFK_WM(0x5864, 0x000ffc00, 0x00000200),
749 	DECL_RFK_WM(0x5820, 0x00000fff, 0x00000080),
750 	DECL_RFK_WM(0x5814, 0x01000000, 0x00000000),
751 };
752 
753 DECLARE_RFK_TBL(rtw8852a_tssi_track_defs_a);
754 
755 static const struct rtw89_reg5_def rtw8852a_tssi_track_defs_b[] = {
756 	DECL_RFK_WM(0x7820, 0x80000000, 0x00000000),
757 	DECL_RFK_WM(0x7818, 0x18000000, 0x00000000),
758 	DECL_RFK_WM(0x7814, 0x00000800, 0x00000000),
759 	DECL_RFK_WM(0x781c, 0x20000000, 0x00000001),
760 	DECL_RFK_WM(0x7864, 0x000003ff, 0x000001ff),
761 	DECL_RFK_WM(0x7864, 0x000ffc00, 0x00000200),
762 	DECL_RFK_WM(0x7820, 0x00000fff, 0x00000080),
763 	DECL_RFK_WM(0x7814, 0x01000000, 0x00000000),
764 };
765 
766 DECLARE_RFK_TBL(rtw8852a_tssi_track_defs_b);
767 
768 static const struct rtw89_reg5_def rtw8852a_tssi_txagc_ofst_mv_avg_defs_a[] = {
769 	DECL_RFK_WM(0x58e4, 0x00004000, 0x00000000),
770 	DECL_RFK_WM(0x58e4, 0x00004000, 0x00000001),
771 	DECL_RFK_WM(0x58e4, 0x00004000, 0x00000000),
772 	DECL_RFK_WM(0x58e4, 0x00008000, 0x00000000),
773 	DECL_RFK_WM(0x58e4, 0x000f0000, 0x00000000),
774 };
775 
776 DECLARE_RFK_TBL(rtw8852a_tssi_txagc_ofst_mv_avg_defs_a);
777 
778 static const struct rtw89_reg5_def rtw8852a_tssi_txagc_ofst_mv_avg_defs_b[] = {
779 	DECL_RFK_WM(0x78e4, 0x00004000, 0x00000000),
780 	DECL_RFK_WM(0x78e4, 0x00004000, 0x00000001),
781 	DECL_RFK_WM(0x78e4, 0x00004000, 0x00000000),
782 	DECL_RFK_WM(0x78e4, 0x00008000, 0x00000000),
783 	DECL_RFK_WM(0x78e4, 0x000f0000, 0x00000000),
784 };
785 
786 DECLARE_RFK_TBL(rtw8852a_tssi_txagc_ofst_mv_avg_defs_b);
787 
788 static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_a_2g[] = {
789 	DECL_RFK_WM(0x5814, 0x000003ff, 0x00000000),
790 	DECL_RFK_WM(0x58f4, 0x000003ff, 0x00000000),
791 	DECL_RFK_WM(0x58f4, 0x000ffc00, 0x00000000),
792 	DECL_RFK_WM(0x58f8, 0x000003ff, 0x00000000),
793 	DECL_RFK_WM(0x58f8, 0x000ffc00, 0x00000000),
794 	DECL_RFK_WM(0x58a4, 0x0001ff00, 0x00000000),
795 	DECL_RFK_WM(0x58a4, 0x03fe0000, 0x000001d0),
796 	DECL_RFK_WM(0x58a8, 0x000001ff, 0x00000000),
797 	DECL_RFK_WM(0x58a8, 0x0003fe00, 0x000001e8),
798 	DECL_RFK_WM(0x58a8, 0x07fc0000, 0x00000000),
799 	DECL_RFK_WM(0x58ac, 0x000001ff, 0x0000000b),
800 	DECL_RFK_WM(0x58ac, 0x0003fe00, 0x00000000),
801 	DECL_RFK_WM(0x58ac, 0x07fc0000, 0x00000088),
802 };
803 
804 DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_a_2g);
805 
806 static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_a_5g_1[] = {
807 	DECL_RFK_WM(0x5814, 0x000003ff, 0x00000000),
808 	DECL_RFK_WM(0x58f4, 0x000003ff, 0x00000000),
809 	DECL_RFK_WM(0x58f4, 0x000ffc00, 0x00000000),
810 	DECL_RFK_WM(0x58f8, 0x000003ff, 0x00000000),
811 	DECL_RFK_WM(0x58f8, 0x000ffc00, 0x00000000),
812 	DECL_RFK_WM(0x58a4, 0x0001ff00, 0x00000000),
813 	DECL_RFK_WM(0x58a4, 0x03fe0000, 0x000001d7),
814 	DECL_RFK_WM(0x58a8, 0x000001ff, 0x00000000),
815 	DECL_RFK_WM(0x58a8, 0x0003fe00, 0x000001fb),
816 	DECL_RFK_WM(0x58a8, 0x07fc0000, 0x00000000),
817 	DECL_RFK_WM(0x58ac, 0x000001ff, 0x00000000),
818 	DECL_RFK_WM(0x58ac, 0x0003fe00, 0x00000005),
819 	DECL_RFK_WM(0x58ac, 0x07fc0000, 0x0000007c),
820 };
821 
822 DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_a_5g_1);
823 
824 static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_a_5g_3[] = {
825 	DECL_RFK_WM(0x5814, 0x000003ff, 0x00000000),
826 	DECL_RFK_WM(0x58f4, 0x000003ff, 0x00000000),
827 	DECL_RFK_WM(0x58f4, 0x000ffc00, 0x00000000),
828 	DECL_RFK_WM(0x58f8, 0x000003ff, 0x00000000),
829 	DECL_RFK_WM(0x58f8, 0x000ffc00, 0x00000000),
830 	DECL_RFK_WM(0x58a4, 0x0001ff00, 0x00000000),
831 	DECL_RFK_WM(0x58a4, 0x03fe0000, 0x000001d8),
832 	DECL_RFK_WM(0x58a8, 0x000001ff, 0x00000000),
833 	DECL_RFK_WM(0x58a8, 0x0003fe00, 0x000001fc),
834 	DECL_RFK_WM(0x58a8, 0x07fc0000, 0x00000000),
835 	DECL_RFK_WM(0x58ac, 0x000001ff, 0x00000000),
836 	DECL_RFK_WM(0x58ac, 0x0003fe00, 0x00000006),
837 	DECL_RFK_WM(0x58ac, 0x07fc0000, 0x00000078),
838 };
839 
840 DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_a_5g_3);
841 
842 static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_a_5g_4[] = {
843 	DECL_RFK_WM(0x5814, 0x000003ff, 0x00000000),
844 	DECL_RFK_WM(0x58f4, 0x000003ff, 0x00000000),
845 	DECL_RFK_WM(0x58f4, 0x000ffc00, 0x00000000),
846 	DECL_RFK_WM(0x58f8, 0x000003ff, 0x00000000),
847 	DECL_RFK_WM(0x58f8, 0x000ffc00, 0x00000000),
848 	DECL_RFK_WM(0x58a4, 0x0001ff00, 0x00000000),
849 	DECL_RFK_WM(0x58a4, 0x03fe0000, 0x000001e5),
850 	DECL_RFK_WM(0x58a8, 0x000001ff, 0x00000000),
851 	DECL_RFK_WM(0x58a8, 0x0003fe00, 0x0000000a),
852 	DECL_RFK_WM(0x58a8, 0x07fc0000, 0x00000000),
853 	DECL_RFK_WM(0x58ac, 0x000001ff, 0x00000000),
854 	DECL_RFK_WM(0x58ac, 0x0003fe00, 0x00000011),
855 	DECL_RFK_WM(0x58ac, 0x07fc0000, 0x00000075),
856 };
857 
858 DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_a_5g_4);
859 
860 static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_b_2g[] = {
861 	DECL_RFK_WM(0x7814, 0x000003ff, 0x00000000),
862 	DECL_RFK_WM(0x78f4, 0x000003ff, 0x00000000),
863 	DECL_RFK_WM(0x78f4, 0x000ffc00, 0x00000000),
864 	DECL_RFK_WM(0x78f8, 0x000003ff, 0x00000000),
865 	DECL_RFK_WM(0x78f8, 0x000ffc00, 0x00000000),
866 	DECL_RFK_WM(0x78a4, 0x0001ff00, 0x00000000),
867 	DECL_RFK_WM(0x78a4, 0x03fe0000, 0x000001cc),
868 	DECL_RFK_WM(0x78a8, 0x000001ff, 0x00000000),
869 	DECL_RFK_WM(0x78a8, 0x0003fe00, 0x000001e2),
870 	DECL_RFK_WM(0x78a8, 0x07fc0000, 0x00000000),
871 	DECL_RFK_WM(0x78ac, 0x000001ff, 0x00000005),
872 	DECL_RFK_WM(0x78ac, 0x0003fe00, 0x00000000),
873 	DECL_RFK_WM(0x78ac, 0x07fc0000, 0x00000089),
874 };
875 
876 DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_b_2g);
877 
878 static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_b_5g_1[] = {
879 	DECL_RFK_WM(0x7814, 0x000003ff, 0x00000000),
880 	DECL_RFK_WM(0x78f4, 0x000003ff, 0x00000000),
881 	DECL_RFK_WM(0x78f4, 0x000ffc00, 0x00000000),
882 	DECL_RFK_WM(0x78f8, 0x000003ff, 0x00000000),
883 	DECL_RFK_WM(0x78f8, 0x000ffc00, 0x00000000),
884 	DECL_RFK_WM(0x78a4, 0x0001ff00, 0x00000000),
885 	DECL_RFK_WM(0x78a4, 0x03fe0000, 0x000001d5),
886 	DECL_RFK_WM(0x78a8, 0x000001ff, 0x00000000),
887 	DECL_RFK_WM(0x78a8, 0x0003fe00, 0x000001fc),
888 	DECL_RFK_WM(0x78a8, 0x07fc0000, 0x00000000),
889 	DECL_RFK_WM(0x78ac, 0x000001ff, 0x00000000),
890 	DECL_RFK_WM(0x78ac, 0x0003fe00, 0x00000005),
891 	DECL_RFK_WM(0x78ac, 0x07fc0000, 0x00000079),
892 };
893 
894 DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_b_5g_1);
895 
896 static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_b_5g_3[] = {
897 	DECL_RFK_WM(0x7814, 0x000003ff, 0x00000000),
898 	DECL_RFK_WM(0x78f4, 0x000003ff, 0x00000000),
899 	DECL_RFK_WM(0x78f4, 0x000ffc00, 0x00000000),
900 	DECL_RFK_WM(0x78f8, 0x000003ff, 0x00000000),
901 	DECL_RFK_WM(0x78f8, 0x000ffc00, 0x00000000),
902 	DECL_RFK_WM(0x78a4, 0x0001ff00, 0x00000000),
903 	DECL_RFK_WM(0x78a4, 0x03fe0000, 0x000001dc),
904 	DECL_RFK_WM(0x78a8, 0x000001ff, 0x00000000),
905 	DECL_RFK_WM(0x78a8, 0x0003fe00, 0x00000002),
906 	DECL_RFK_WM(0x78a8, 0x07fc0000, 0x00000000),
907 	DECL_RFK_WM(0x78ac, 0x000001ff, 0x00000000),
908 	DECL_RFK_WM(0x78ac, 0x0003fe00, 0x0000000b),
909 	DECL_RFK_WM(0x78ac, 0x07fc0000, 0x00000076),
910 };
911 
912 DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_b_5g_3);
913 
914 static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_b_5g_4[] = {
915 	DECL_RFK_WM(0x7814, 0x000003ff, 0x00000000),
916 	DECL_RFK_WM(0x78f4, 0x000003ff, 0x00000000),
917 	DECL_RFK_WM(0x78f4, 0x000ffc00, 0x00000000),
918 	DECL_RFK_WM(0x78f8, 0x000003ff, 0x00000000),
919 	DECL_RFK_WM(0x78f8, 0x000ffc00, 0x00000000),
920 	DECL_RFK_WM(0x78a4, 0x0001ff00, 0x00000000),
921 	DECL_RFK_WM(0x78a4, 0x03fe0000, 0x000001f0),
922 	DECL_RFK_WM(0x78a8, 0x000001ff, 0x00000000),
923 	DECL_RFK_WM(0x78a8, 0x0003fe00, 0x00000016),
924 	DECL_RFK_WM(0x78a8, 0x07fc0000, 0x00000000),
925 	DECL_RFK_WM(0x78ac, 0x000001ff, 0x00000000),
926 	DECL_RFK_WM(0x78ac, 0x0003fe00, 0x0000001f),
927 	DECL_RFK_WM(0x78ac, 0x07fc0000, 0x00000072),
928 };
929 
930 DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_b_5g_4);
931 
932 static const struct rtw89_reg5_def rtw8852a_tssi_enable_defs_a[] = {
933 	DECL_RFK_WRF(0x0, 0x55, 0x00080, 0x00001),
934 	DECL_RFK_WM(0x5818, 0x000000ff, 0x000000c0),
935 	DECL_RFK_WM(0x5818, 0x10000000, 0x00000000),
936 	DECL_RFK_WM(0x5818, 0x10000000, 0x00000001),
937 	DECL_RFK_WM(0x5820, 0x80000000, 0x00000000),
938 	DECL_RFK_WM(0x5820, 0x80000000, 0x00000001),
939 	DECL_RFK_WM(0x5818, 0x18000000, 0x00000003),
940 };
941 
942 DECLARE_RFK_TBL(rtw8852a_tssi_enable_defs_a);
943 
944 static const struct rtw89_reg5_def rtw8852a_tssi_enable_defs_b[] = {
945 	DECL_RFK_WRF(0x1, 0x55, 0x00080, 0x00001),
946 	DECL_RFK_WM(0x7818, 0x000000ff, 0x000000c0),
947 	DECL_RFK_WM(0x7818, 0x10000000, 0x00000000),
948 	DECL_RFK_WM(0x7818, 0x10000000, 0x00000001),
949 	DECL_RFK_WM(0x7820, 0x80000000, 0x00000000),
950 	DECL_RFK_WM(0x7820, 0x80000000, 0x00000001),
951 	DECL_RFK_WM(0x7818, 0x18000000, 0x00000003),
952 };
953 
954 DECLARE_RFK_TBL(rtw8852a_tssi_enable_defs_b);
955 
956 static const struct rtw89_reg5_def rtw8852a_tssi_disable_defs[] = {
957 	DECL_RFK_WM(0x5820, 0x80000000, 0x00000000),
958 	DECL_RFK_WM(0x5818, 0x18000000, 0x00000001),
959 	DECL_RFK_WM(0x7820, 0x80000000, 0x00000000),
960 	DECL_RFK_WM(0x7818, 0x18000000, 0x00000001),
961 };
962 
963 DECLARE_RFK_TBL(rtw8852a_tssi_disable_defs);
964 
965 static const struct rtw89_reg5_def rtw8852a_tssi_enable_defs_ab[] = {
966 	DECL_RFK_WM(0x5820, 0x80000000, 0x0),
967 	DECL_RFK_WM(0x5820, 0x80000000, 0x1),
968 	DECL_RFK_WM(0x5818, 0x18000000, 0x3),
969 	DECL_RFK_WM(0x7820, 0x80000000, 0x0),
970 	DECL_RFK_WM(0x7820, 0x80000000, 0x1),
971 	DECL_RFK_WM(0x7818, 0x18000000, 0x3),
972 };
973 
974 DECLARE_RFK_TBL(rtw8852a_tssi_enable_defs_ab);
975 
976 static const struct rtw89_reg5_def rtw8852a_tssi_tracking_defs[] = {
977 	DECL_RFK_WM(0x5800, 0x10000000, 0x00000000),
978 	DECL_RFK_WM(0x58f0, 0x00080000, 0x00000000),
979 	DECL_RFK_WM(0x5804, 0xf8000000, 0x00000000),
980 	DECL_RFK_WM(0x58f0, 0xfff00000, 0x00000400),
981 	DECL_RFK_WM(0x7800, 0x10000000, 0x00000000),
982 	DECL_RFK_WM(0x78f0, 0x00080000, 0x00000000),
983 	DECL_RFK_WM(0x7804, 0xf8000000, 0x00000000),
984 	DECL_RFK_WM(0x78f0, 0xfff00000, 0x00000400),
985 };
986 
987 DECLARE_RFK_TBL(rtw8852a_tssi_tracking_defs);
988 
989 static const struct rtw89_reg5_def rtw8852a_rfk_afe_init_defs[] = {
990 	DECL_RFK_WC(0x12ec, 0x00008000),
991 	DECL_RFK_WS(0x12ec, 0x00008000),
992 	DECL_RFK_WC(0x5e00, 0x00000001),
993 	DECL_RFK_WS(0x5e00, 0x00000001),
994 	DECL_RFK_WC(0x32ec, 0x00008000),
995 	DECL_RFK_WS(0x32ec, 0x00008000),
996 	DECL_RFK_WC(0x7e00, 0x00000001),
997 	DECL_RFK_WS(0x7e00, 0x00000001),
998 };
999 
1000 DECLARE_RFK_TBL(rtw8852a_rfk_afe_init_defs);
1001 
1002 static const struct rtw89_reg5_def rtw8852a_rfk_dack_reload_defs_a[] = {
1003 	DECL_RFK_WS(0x5e00, 0x00000008),
1004 	DECL_RFK_WS(0x5e50, 0x00000008),
1005 	DECL_RFK_WS(0x5e10, 0x80000000),
1006 	DECL_RFK_WS(0x5e60, 0x80000000),
1007 	DECL_RFK_WC(0x5e00, 0x00000008),
1008 	DECL_RFK_WC(0x5e50, 0x00000008),
1009 };
1010 
1011 DECLARE_RFK_TBL(rtw8852a_rfk_dack_reload_defs_a);
1012 
1013 static const struct rtw89_reg5_def rtw8852a_rfk_dack_reload_defs_b[] = {
1014 	DECL_RFK_WS(0x7e00, 0x00000008),
1015 	DECL_RFK_WS(0x7e50, 0x00000008),
1016 	DECL_RFK_WS(0x7e10, 0x80000000),
1017 	DECL_RFK_WS(0x7e60, 0x80000000),
1018 	DECL_RFK_WC(0x7e00, 0x00000008),
1019 	DECL_RFK_WC(0x7e50, 0x00000008),
1020 };
1021 
1022 DECLARE_RFK_TBL(rtw8852a_rfk_dack_reload_defs_b);
1023 
1024 static const struct rtw89_reg5_def rtw8852a_rfk_check_addc_defs_a[] = {
1025 	DECL_RFK_WC(0x20f4, 0x01000000),
1026 	DECL_RFK_WS(0x20f8, 0x80000000),
1027 	DECL_RFK_WM(0x20f0, 0x00ff0000, 0x00000001),
1028 	DECL_RFK_WM(0x20f0, 0x00000f00, 0x00000002),
1029 	DECL_RFK_WC(0x20f0, 0x0000000f),
1030 	DECL_RFK_WM(0x20f0, 0x000000c0, 0x00000002),
1031 };
1032 
1033 DECLARE_RFK_TBL(rtw8852a_rfk_check_addc_defs_a);
1034 
1035 static const struct rtw89_reg5_def rtw8852a_rfk_check_addc_defs_b[] = {
1036 	DECL_RFK_WC(0x20f4, 0x01000000),
1037 	DECL_RFK_WS(0x20f8, 0x80000000),
1038 	DECL_RFK_WM(0x20f0, 0x00ff0000, 0x00000001),
1039 	DECL_RFK_WM(0x20f0, 0x00000f00, 0x00000002),
1040 	DECL_RFK_WC(0x20f0, 0x0000000f),
1041 	DECL_RFK_WM(0x20f0, 0x000000c0, 0x00000003),
1042 };
1043 
1044 DECLARE_RFK_TBL(rtw8852a_rfk_check_addc_defs_b);
1045 
1046 static const struct rtw89_reg5_def rtw8852a_rfk_addck_reset_defs_a[] = {
1047 	DECL_RFK_WC(0x12d8, 0x00000030),
1048 	DECL_RFK_WC(0x32d8, 0x00000030),
1049 	DECL_RFK_WS(0x12b8, 0x40000000),
1050 	DECL_RFK_WC(0x032c, 0x40000000),
1051 	DECL_RFK_WC(0x032c, 0x00400000),
1052 	DECL_RFK_WS(0x032c, 0x00400000),
1053 	DECL_RFK_WS(0x030c, 0x0f000000),
1054 	DECL_RFK_WC(0x032c, 0x00010000),
1055 	DECL_RFK_WS(0x12dc, 0x00000002),
1056 	DECL_RFK_WM(0x030c, 0x0f000000, 0x00000003),
1057 };
1058 
1059 DECLARE_RFK_TBL(rtw8852a_rfk_addck_reset_defs_a);
1060 
1061 static const struct rtw89_reg5_def rtw8852a_rfk_addck_trigger_defs_a[] = {
1062 	DECL_RFK_WS(0x12d8, 0x000000c0),
1063 	DECL_RFK_WS(0x12d8, 0x00000800),
1064 	DECL_RFK_WC(0x12d8, 0x00000800),
1065 	DECL_RFK_DELAY(1),
1066 	DECL_RFK_WM(0x12d8, 0x00000300, 0x00000001),
1067 };
1068 
1069 DECLARE_RFK_TBL(rtw8852a_rfk_addck_trigger_defs_a);
1070 
1071 static const struct rtw89_reg5_def rtw8852a_rfk_addck_restore_defs_a[] = {
1072 	DECL_RFK_WC(0x12dc, 0x00000002),
1073 	DECL_RFK_WS(0x032c, 0x00010000),
1074 	DECL_RFK_WM(0x030c, 0x0f000000, 0x0000000c),
1075 	DECL_RFK_WS(0x032c, 0x40000000),
1076 	DECL_RFK_WC(0x12b8, 0x40000000),
1077 };
1078 
1079 DECLARE_RFK_TBL(rtw8852a_rfk_addck_restore_defs_a);
1080 
1081 static const struct rtw89_reg5_def rtw8852a_rfk_addck_reset_defs_b[] = {
1082 	DECL_RFK_WS(0x32b8, 0x40000000),
1083 	DECL_RFK_WC(0x032c, 0x40000000),
1084 	DECL_RFK_WC(0x032c, 0x00400000),
1085 	DECL_RFK_WS(0x032c, 0x00400000),
1086 	DECL_RFK_WS(0x030c, 0x0f000000),
1087 	DECL_RFK_WC(0x032c, 0x00010000),
1088 	DECL_RFK_WS(0x32dc, 0x00000002),
1089 	DECL_RFK_WM(0x030c, 0x0f000000, 0x00000003),
1090 };
1091 
1092 DECLARE_RFK_TBL(rtw8852a_rfk_addck_reset_defs_b);
1093 
1094 static const struct rtw89_reg5_def rtw8852a_rfk_addck_trigger_defs_b[] = {
1095 	DECL_RFK_WS(0x32d8, 0x000000c0),
1096 	DECL_RFK_WS(0x32d8, 0x00000800),
1097 	DECL_RFK_WC(0x32d8, 0x00000800),
1098 	DECL_RFK_DELAY(1),
1099 	DECL_RFK_WM(0x32d8, 0x00000300, 0x00000001),
1100 };
1101 
1102 DECLARE_RFK_TBL(rtw8852a_rfk_addck_trigger_defs_b);
1103 
1104 static const struct rtw89_reg5_def rtw8852a_rfk_addck_restore_defs_b[] = {
1105 	DECL_RFK_WC(0x32dc, 0x00000002),
1106 	DECL_RFK_WS(0x032c, 0x00010000),
1107 	DECL_RFK_WM(0x030c, 0x0f000000, 0x0000000c),
1108 	DECL_RFK_WS(0x032c, 0x40000000),
1109 	DECL_RFK_WC(0x32b8, 0x40000000),
1110 };
1111 
1112 DECLARE_RFK_TBL(rtw8852a_rfk_addck_restore_defs_b);
1113 
1114 static const struct rtw89_reg5_def rtw8852a_rfk_check_dadc_defs_f_a[] = {
1115 	DECL_RFK_WC(0x032c, 0x40000000),
1116 	DECL_RFK_WS(0x030c, 0x0f000000),
1117 	DECL_RFK_WM(0x030c, 0x0f000000, 0x00000003),
1118 	DECL_RFK_WC(0x032c, 0x00010000),
1119 	DECL_RFK_WS(0x12dc, 0x00000001),
1120 	DECL_RFK_WS(0x12e8, 0x00000004),
1121 	DECL_RFK_WRF(0x0, 0x8f, 0x02000, 0x00001),
1122 };
1123 
1124 DECLARE_RFK_TBL(rtw8852a_rfk_check_dadc_defs_f_a);
1125 
1126 static const struct rtw89_reg5_def rtw8852a_rfk_check_dadc_defs_f_b[] = {
1127 	DECL_RFK_WC(0x032c, 0x40000000),
1128 	DECL_RFK_WS(0x030c, 0x0f000000),
1129 	DECL_RFK_WM(0x030c, 0x0f000000, 0x00000003),
1130 	DECL_RFK_WC(0x032c, 0x00010000),
1131 	DECL_RFK_WS(0x32dc, 0x00000001),
1132 	DECL_RFK_WS(0x32e8, 0x00000004),
1133 	DECL_RFK_WRF(0x1, 0x8f, 0x02000, 0x00001),
1134 };
1135 
1136 DECLARE_RFK_TBL(rtw8852a_rfk_check_dadc_defs_f_b);
1137 
1138 static const struct rtw89_reg5_def rtw8852a_rfk_check_dadc_defs_r_a[] = {
1139 	DECL_RFK_WC(0x12dc, 0x00000001),
1140 	DECL_RFK_WC(0x12e8, 0x00000004),
1141 	DECL_RFK_WRF(0x0, 0x8f, 0x02000, 0x00000),
1142 	DECL_RFK_WM(0x032c, 0x00010000, 0x00000001),
1143 };
1144 
1145 DECLARE_RFK_TBL(rtw8852a_rfk_check_dadc_defs_r_a);
1146 
1147 static const struct rtw89_reg5_def rtw8852a_rfk_check_dadc_defs_r_b[] = {
1148 	DECL_RFK_WC(0x32dc, 0x00000001),
1149 	DECL_RFK_WC(0x32e8, 0x00000004),
1150 	DECL_RFK_WRF(0x1, 0x8f, 0x02000, 0x00000),
1151 	DECL_RFK_WM(0x032c, 0x00010000, 0x00000001),
1152 };
1153 
1154 DECLARE_RFK_TBL(rtw8852a_rfk_check_dadc_defs_r_b);
1155 
1156 static const struct rtw89_reg5_def rtw8852a_rfk_dack_defs_f_a[] = {
1157 	DECL_RFK_WS(0x5e00, 0x00000008),
1158 	DECL_RFK_WC(0x5e10, 0x80000000),
1159 	DECL_RFK_WS(0x5e50, 0x00000008),
1160 	DECL_RFK_WC(0x5e60, 0x80000000),
1161 	DECL_RFK_WS(0x12a0, 0x00008000),
1162 	DECL_RFK_WM(0x12a0, 0x00007000, 0x00000003),
1163 	DECL_RFK_WS(0x12b8, 0x40000000),
1164 	DECL_RFK_WS(0x030c, 0x10000000),
1165 	DECL_RFK_WC(0x032c, 0x80000000),
1166 	DECL_RFK_WS(0x12e0, 0x00010000),
1167 	DECL_RFK_WS(0x12e4, 0x0c000000),
1168 	DECL_RFK_WM(0x5e00, 0x03ff0000, 0x00000030),
1169 	DECL_RFK_WM(0x5e50, 0x03ff0000, 0x00000030),
1170 	DECL_RFK_WC(0x5e00, 0x0c000000),
1171 	DECL_RFK_WC(0x5e50, 0x0c000000),
1172 	DECL_RFK_WC(0x5e0c, 0x00000008),
1173 	DECL_RFK_WC(0x5e5c, 0x00000008),
1174 	DECL_RFK_WS(0x5e0c, 0x00000001),
1175 	DECL_RFK_WS(0x5e5c, 0x00000001),
1176 	DECL_RFK_DELAY(1),
1177 };
1178 
1179 DECLARE_RFK_TBL(rtw8852a_rfk_dack_defs_f_a);
1180 
1181 static const struct rtw89_reg5_def rtw8852a_rfk_dack_defs_m_a[] = {
1182 	DECL_RFK_WC(0x12e4, 0x0c000000),
1183 	DECL_RFK_WS(0x5e0c, 0x00000008),
1184 	DECL_RFK_WS(0x5e5c, 0x00000008),
1185 	DECL_RFK_DELAY(1),
1186 };
1187 
1188 DECLARE_RFK_TBL(rtw8852a_rfk_dack_defs_m_a);
1189 
1190 static const struct rtw89_reg5_def rtw8852a_rfk_dack_defs_r_a[] = {
1191 	DECL_RFK_WC(0x5e0c, 0x00000001),
1192 	DECL_RFK_WC(0x5e5c, 0x00000001),
1193 	DECL_RFK_WC(0x12e0, 0x00010000),
1194 	DECL_RFK_WC(0x12a0, 0x00008000),
1195 	DECL_RFK_WS(0x12a0, 0x00007000),
1196 };
1197 
1198 DECLARE_RFK_TBL(rtw8852a_rfk_dack_defs_r_a);
1199 
1200 static const struct rtw89_reg5_def rtw8852a_rfk_dack_defs_f_b[] = {
1201 	DECL_RFK_WS(0x7e00, 0x00000008),
1202 	DECL_RFK_WC(0x7e10, 0x80000000),
1203 	DECL_RFK_WS(0x7e50, 0x00000008),
1204 	DECL_RFK_WC(0x7e60, 0x80000000),
1205 	DECL_RFK_WS(0x32a0, 0x00008000),
1206 	DECL_RFK_WM(0x32a0, 0x00007000, 0x00000003),
1207 	DECL_RFK_WS(0x32b8, 0x40000000),
1208 	DECL_RFK_WS(0x030c, 0x10000000),
1209 	DECL_RFK_WC(0x032c, 0x80000000),
1210 	DECL_RFK_WS(0x32e0, 0x00010000),
1211 	DECL_RFK_WS(0x32e4, 0x0c000000),
1212 	DECL_RFK_WM(0x7e00, 0x03ff0000, 0x00000030),
1213 	DECL_RFK_WM(0x7e50, 0x03ff0000, 0x00000030),
1214 	DECL_RFK_WC(0x7e00, 0x0c000000),
1215 	DECL_RFK_WC(0x7e50, 0x0c000000),
1216 	DECL_RFK_WC(0x7e0c, 0x00000008),
1217 	DECL_RFK_WC(0x7e5c, 0x00000008),
1218 	DECL_RFK_WS(0x7e0c, 0x00000001),
1219 	DECL_RFK_WS(0x7e5c, 0x00000001),
1220 	DECL_RFK_DELAY(1),
1221 };
1222 
1223 DECLARE_RFK_TBL(rtw8852a_rfk_dack_defs_f_b);
1224 
1225 static const struct rtw89_reg5_def rtw8852a_rfk_dack_defs_m_b[] = {
1226 	DECL_RFK_WC(0x32e4, 0x0c000000),
1227 	DECL_RFK_WM(0x7e0c, 0x00000008, 0x00000001),
1228 	DECL_RFK_WM(0x7e5c, 0x00000008, 0x00000001),
1229 	DECL_RFK_DELAY(1),
1230 };
1231 
1232 DECLARE_RFK_TBL(rtw8852a_rfk_dack_defs_m_b);
1233 
1234 static const struct rtw89_reg5_def rtw8852a_rfk_dack_defs_r_b[] = {
1235 	DECL_RFK_WC(0x7e0c, 0x00000001),
1236 	DECL_RFK_WC(0x7e5c, 0x00000001),
1237 	DECL_RFK_WC(0x32e0, 0x00010000),
1238 	DECL_RFK_WC(0x32a0, 0x00008000),
1239 	DECL_RFK_WS(0x32a0, 0x00007000),
1240 };
1241 
1242 DECLARE_RFK_TBL(rtw8852a_rfk_dack_defs_r_b);
1243 
1244 static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_sf_defs_a[] = {
1245 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000101),
1246 	DECL_RFK_WS(0x12b8, 0x40000000),
1247 	DECL_RFK_WM(0x030c, 0xff000000, 0x00000013),
1248 	DECL_RFK_WM(0x032c, 0xffff0000, 0x00000041),
1249 	DECL_RFK_WS(0x12b8, 0x10000000),
1250 	DECL_RFK_WS(0x58c8, 0x01000000),
1251 	DECL_RFK_WS(0x5864, 0xc0000000),
1252 	DECL_RFK_WS(0x2008, 0x01ffffff),
1253 	DECL_RFK_WS(0x0c1c, 0x00000004),
1254 	DECL_RFK_WS(0x0700, 0x08000000),
1255 	DECL_RFK_WS(0x0c70, 0x000003ff),
1256 	DECL_RFK_WS(0x0c60, 0x00000003),
1257 	DECL_RFK_WS(0x0c6c, 0x00000001),
1258 	DECL_RFK_WS(0x58ac, 0x08000000),
1259 	DECL_RFK_WS(0x0c3c, 0x00000200),
1260 };
1261 
1262 DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_sf_defs_a);
1263 
1264 static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_sr_defs_a[] = {
1265 	DECL_RFK_WS(0x4490, 0x80000000),
1266 	DECL_RFK_WS(0x12a0, 0x00007000),
1267 	DECL_RFK_WS(0x12a0, 0x00008000),
1268 	DECL_RFK_WM(0x12a0, 0x00070000, 0x00000003),
1269 	DECL_RFK_WS(0x12a0, 0x00080000),
1270 	DECL_RFK_WS(0x0700, 0x01000000),
1271 	DECL_RFK_WM(0x0700, 0x06000000, 0x00000002),
1272 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00001111),
1273 	DECL_RFK_WM(0x58f0, 0x00080000, 0x00000000),
1274 };
1275 
1276 DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_sr_defs_a);
1277 
1278 static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_sf_defs_b[] = {
1279 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000202),
1280 	DECL_RFK_WS(0x32b8, 0x40000000),
1281 	DECL_RFK_WM(0x030c, 0xff000000, 0x00000013),
1282 	DECL_RFK_WM(0x032c, 0xffff0000, 0x00000041),
1283 	DECL_RFK_WS(0x32b8, 0x10000000),
1284 	DECL_RFK_WS(0x78c8, 0x01000000),
1285 	DECL_RFK_WS(0x7864, 0xc0000000),
1286 	DECL_RFK_WS(0x2008, 0x01ffffff),
1287 	DECL_RFK_WS(0x2c1c, 0x00000004),
1288 	DECL_RFK_WS(0x2700, 0x08000000),
1289 	DECL_RFK_WS(0x0c70, 0x000003ff),
1290 	DECL_RFK_WS(0x0c60, 0x00000003),
1291 	DECL_RFK_WS(0x0c6c, 0x00000001),
1292 	DECL_RFK_WS(0x78ac, 0x08000000),
1293 	DECL_RFK_WS(0x2c3c, 0x00000200),
1294 };
1295 
1296 DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_sf_defs_b);
1297 
1298 static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_sr_defs_b[] = {
1299 	DECL_RFK_WS(0x6490, 0x80000000),
1300 	DECL_RFK_WS(0x32a0, 0x00007000),
1301 	DECL_RFK_WS(0x32a0, 0x00008000),
1302 	DECL_RFK_WM(0x32a0, 0x00070000, 0x00000003),
1303 	DECL_RFK_WS(0x32a0, 0x00080000),
1304 	DECL_RFK_WS(0x2700, 0x01000000),
1305 	DECL_RFK_WM(0x2700, 0x06000000, 0x00000002),
1306 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00002222),
1307 	DECL_RFK_WM(0x78f0, 0x00080000, 0x00000000),
1308 };
1309 
1310 DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_sr_defs_b);
1311 
1312 static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_s_defs_ab[] = {
1313 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000303),
1314 	DECL_RFK_WS(0x12b8, 0x40000000),
1315 	DECL_RFK_WS(0x32b8, 0x40000000),
1316 	DECL_RFK_WM(0x030c, 0xff000000, 0x00000013),
1317 	DECL_RFK_WM(0x032c, 0xffff0000, 0x00000041),
1318 	DECL_RFK_WS(0x12b8, 0x10000000),
1319 	DECL_RFK_WS(0x58c8, 0x01000000),
1320 	DECL_RFK_WS(0x78c8, 0x01000000),
1321 	DECL_RFK_WS(0x5864, 0xc0000000),
1322 	DECL_RFK_WS(0x7864, 0xc0000000),
1323 	DECL_RFK_WS(0x2008, 0x01ffffff),
1324 	DECL_RFK_WS(0x0c1c, 0x00000004),
1325 	DECL_RFK_WS(0x0700, 0x08000000),
1326 	DECL_RFK_WS(0x0c70, 0x000003ff),
1327 	DECL_RFK_WS(0x0c60, 0x00000003),
1328 	DECL_RFK_WS(0x0c6c, 0x00000001),
1329 	DECL_RFK_WS(0x58ac, 0x08000000),
1330 	DECL_RFK_WS(0x78ac, 0x08000000),
1331 	DECL_RFK_WS(0x0c3c, 0x00000200),
1332 	DECL_RFK_WS(0x2344, 0x80000000),
1333 	DECL_RFK_WS(0x4490, 0x80000000),
1334 	DECL_RFK_WS(0x12a0, 0x00007000),
1335 	DECL_RFK_WS(0x12a0, 0x00008000),
1336 	DECL_RFK_WM(0x12a0, 0x00070000, 0x00000003),
1337 	DECL_RFK_WS(0x12a0, 0x00080000),
1338 	DECL_RFK_WM(0x32a0, 0x00070000, 0x00000003),
1339 	DECL_RFK_WS(0x32a0, 0x00080000),
1340 	DECL_RFK_WS(0x0700, 0x01000000),
1341 	DECL_RFK_WM(0x0700, 0x06000000, 0x00000002),
1342 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00003333),
1343 	DECL_RFK_WM(0x58f0, 0x00080000, 0x00000000),
1344 	DECL_RFK_WM(0x78f0, 0x00080000, 0x00000000),
1345 };
1346 
1347 DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_s_defs_ab);
1348 
1349 static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_r_defs_a[] = {
1350 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000101),
1351 	DECL_RFK_WC(0x12b8, 0x40000000),
1352 	DECL_RFK_WC(0x5864, 0xc0000000),
1353 	DECL_RFK_WC(0x2008, 0x01ffffff),
1354 	DECL_RFK_WC(0x0c1c, 0x00000004),
1355 	DECL_RFK_WC(0x0700, 0x08000000),
1356 	DECL_RFK_WM(0x0c70, 0x0000001f, 0x00000003),
1357 	DECL_RFK_WM(0x0c70, 0x000003e0, 0x00000003),
1358 	DECL_RFK_WC(0x12a0, 0x000ff000),
1359 	DECL_RFK_WC(0x0700, 0x07000000),
1360 	DECL_RFK_WC(0x5864, 0x20000000),
1361 	DECL_RFK_WC(0x0c3c, 0x00000200),
1362 	DECL_RFK_WC(0x20fc, 0xffff0000),
1363 	DECL_RFK_WC(0x58c8, 0x01000000),
1364 };
1365 
1366 DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_r_defs_a);
1367 
1368 static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_r_defs_b[] = {
1369 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000202),
1370 	DECL_RFK_WC(0x32b8, 0x40000000),
1371 	DECL_RFK_WC(0x7864, 0xc0000000),
1372 	DECL_RFK_WC(0x2008, 0x01ffffff),
1373 	DECL_RFK_WC(0x2c1c, 0x00000004),
1374 	DECL_RFK_WC(0x2700, 0x08000000),
1375 	DECL_RFK_WM(0x0c70, 0x0000001f, 0x00000003),
1376 	DECL_RFK_WM(0x0c70, 0x000003e0, 0x00000003),
1377 	DECL_RFK_WC(0x32a0, 0x000ff000),
1378 	DECL_RFK_WC(0x2700, 0x07000000),
1379 	DECL_RFK_WC(0x7864, 0x20000000),
1380 	DECL_RFK_WC(0x2c3c, 0x00000200),
1381 	DECL_RFK_WC(0x20fc, 0xffff0000),
1382 	DECL_RFK_WC(0x78c8, 0x01000000),
1383 };
1384 
1385 DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_r_defs_b);
1386 
1387 static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_r_defs_ab[] = {
1388 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000303),
1389 	DECL_RFK_WC(0x12b8, 0x40000000),
1390 	DECL_RFK_WC(0x32b8, 0x40000000),
1391 	DECL_RFK_WC(0x5864, 0xc0000000),
1392 	DECL_RFK_WC(0x7864, 0xc0000000),
1393 	DECL_RFK_WC(0x2008, 0x01ffffff),
1394 	DECL_RFK_WC(0x0c1c, 0x00000004),
1395 	DECL_RFK_WC(0x0700, 0x08000000),
1396 	DECL_RFK_WM(0x0c70, 0x0000001f, 0x00000003),
1397 	DECL_RFK_WM(0x0c70, 0x000003e0, 0x00000003),
1398 	DECL_RFK_WC(0x12a0, 0x000ff000),
1399 	DECL_RFK_WC(0x32a0, 0x000ff000),
1400 	DECL_RFK_WC(0x0700, 0x07000000),
1401 	DECL_RFK_WC(0x5864, 0x20000000),
1402 	DECL_RFK_WC(0x7864, 0x20000000),
1403 	DECL_RFK_WC(0x0c3c, 0x00000200),
1404 	DECL_RFK_WC(0x20fc, 0xffff0000),
1405 	DECL_RFK_WC(0x58c8, 0x01000000),
1406 	DECL_RFK_WC(0x78c8, 0x01000000),
1407 };
1408 
1409 DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_r_defs_ab);
1410 
1411 static const struct rtw89_reg5_def rtw8852a_rfk_dpk_lbk_rxiqk_defs_f[] = {
1412 	DECL_RFK_WM(0x030c, 0xff000000, 0x0000000f),
1413 	DECL_RFK_DELAY(1),
1414 	DECL_RFK_WM(0x030c, 0xff000000, 0x00000003),
1415 	DECL_RFK_WM(0x032c, 0xffff0000, 0x0000a001),
1416 	DECL_RFK_DELAY(1),
1417 	DECL_RFK_WM(0x032c, 0xffff0000, 0x0000a041),
1418 	DECL_RFK_WS(0x8074, 0x80000000),
1419 };
1420 
1421 DECLARE_RFK_TBL(rtw8852a_rfk_dpk_lbk_rxiqk_defs_f);
1422 
1423 static const struct rtw89_reg5_def rtw8852a_rfk_dpk_lbk_rxiqk_defs_r[] = {
1424 	DECL_RFK_WC(0x8074, 0x80000000),
1425 	DECL_RFK_WM(0x030c, 0xff000000, 0x0000001f),
1426 	DECL_RFK_DELAY(1),
1427 	DECL_RFK_WM(0x030c, 0xff000000, 0x00000013),
1428 	DECL_RFK_WM(0x032c, 0xffff0000, 0x00000001),
1429 	DECL_RFK_DELAY(1),
1430 	DECL_RFK_WM(0x032c, 0xffff0000, 0x00000041),
1431 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000303),
1432 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00003333),
1433 };
1434 
1435 DECLARE_RFK_TBL(rtw8852a_rfk_dpk_lbk_rxiqk_defs_r);
1436 
1437 static const struct rtw89_reg5_def rtw8852a_rfk_dpk_pas_read_defs[] = {
1438 	DECL_RFK_WM(0x80d4, 0x00ff0000, 0x00000006),
1439 	DECL_RFK_WC(0x80bc, 0x00004000),
1440 	DECL_RFK_WM(0x80c0, 0x00ff0000, 0x00000008),
1441 };
1442 
1443 DECLARE_RFK_TBL(rtw8852a_rfk_dpk_pas_read_defs);
1444 
1445 static const struct rtw89_reg5_def rtw8852a_rfk_iqk_set_defs_nondbcc_path01[] = {
1446 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000303),
1447 	DECL_RFK_WM(0x5864, 0x18000000, 0x00000003),
1448 	DECL_RFK_WM(0x7864, 0x18000000, 0x00000003),
1449 	DECL_RFK_WM(0x12b8, 0x40000000, 0x00000001),
1450 	DECL_RFK_WM(0x32b8, 0x40000000, 0x00000001),
1451 	DECL_RFK_WM(0x030c, 0xff000000, 0x00000013),
1452 	DECL_RFK_WM(0x032c, 0xffff0000, 0x00000001),
1453 	DECL_RFK_WM(0x12b8, 0x10000000, 0x00000001),
1454 	DECL_RFK_WM(0x58c8, 0x01000000, 0x00000001),
1455 	DECL_RFK_WM(0x78c8, 0x01000000, 0x00000001),
1456 	DECL_RFK_WM(0x5864, 0xc0000000, 0x00000003),
1457 	DECL_RFK_WM(0x7864, 0xc0000000, 0x00000003),
1458 	DECL_RFK_WM(0x2008, 0x01ffffff, 0x01ffffff),
1459 	DECL_RFK_WM(0x0c1c, 0x00000004, 0x00000001),
1460 	DECL_RFK_WM(0x0700, 0x08000000, 0x00000001),
1461 	DECL_RFK_WM(0x0c70, 0x000003ff, 0x000003ff),
1462 	DECL_RFK_WM(0x0c60, 0x00000003, 0x00000003),
1463 	DECL_RFK_WM(0x0c6c, 0x00000001, 0x00000001),
1464 	DECL_RFK_WM(0x58ac, 0x08000000, 0x00000001),
1465 	DECL_RFK_WM(0x78ac, 0x08000000, 0x00000001),
1466 	DECL_RFK_WM(0x0c3c, 0x00000200, 0x00000001),
1467 	DECL_RFK_WM(0x2344, 0x80000000, 0x00000001),
1468 	DECL_RFK_WM(0x4490, 0x80000000, 0x00000001),
1469 	DECL_RFK_WM(0x12a0, 0x00007000, 0x00000007),
1470 	DECL_RFK_WM(0x12a0, 0x00008000, 0x00000001),
1471 	DECL_RFK_WM(0x12a0, 0x00070000, 0x00000003),
1472 	DECL_RFK_WM(0x12a0, 0x00080000, 0x00000001),
1473 	DECL_RFK_WM(0x32a0, 0x00070000, 0x00000003),
1474 	DECL_RFK_WM(0x32a0, 0x00080000, 0x00000001),
1475 	DECL_RFK_WM(0x0700, 0x01000000, 0x00000001),
1476 	DECL_RFK_WM(0x0700, 0x06000000, 0x00000002),
1477 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00003333),
1478 	DECL_RFK_WM(0x58f0, 0x00080000, 0x00000000),
1479 	DECL_RFK_WM(0x78f0, 0x00080000, 0x00000000),
1480 };
1481 
1482 DECLARE_RFK_TBL(rtw8852a_rfk_iqk_set_defs_nondbcc_path01);
1483 
1484 static const struct rtw89_reg5_def rtw8852a_rfk_iqk_set_defs_dbcc_path0[] = {
1485 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000101),
1486 	DECL_RFK_WM(0x5864, 0x18000000, 0x00000003),
1487 	DECL_RFK_WM(0x7864, 0x18000000, 0x00000003),
1488 	DECL_RFK_WM(0x12b8, 0x40000000, 0x00000001),
1489 	DECL_RFK_WM(0x030c, 0xff000000, 0x00000013),
1490 	DECL_RFK_WM(0x032c, 0xffff0000, 0x00000001),
1491 	DECL_RFK_WM(0x12b8, 0x10000000, 0x00000001),
1492 	DECL_RFK_WM(0x58c8, 0x01000000, 0x00000001),
1493 	DECL_RFK_WM(0x5864, 0xc0000000, 0x00000003),
1494 	DECL_RFK_WM(0x2008, 0x01ffffff, 0x01ffffff),
1495 	DECL_RFK_WM(0x0c1c, 0x00000004, 0x00000001),
1496 	DECL_RFK_WM(0x0700, 0x08000000, 0x00000001),
1497 	DECL_RFK_WM(0x0c70, 0x000003ff, 0x000003ff),
1498 	DECL_RFK_WM(0x0c60, 0x00000003, 0x00000003),
1499 	DECL_RFK_WM(0x0c6c, 0x00000001, 0x00000001),
1500 	DECL_RFK_WM(0x58ac, 0x08000000, 0x00000001),
1501 	DECL_RFK_WM(0x0c3c, 0x00000200, 0x00000001),
1502 	DECL_RFK_WM(0x2320, 0x00000001, 0x00000001),
1503 	DECL_RFK_WM(0x4490, 0x80000000, 0x00000001),
1504 	DECL_RFK_WM(0x12a0, 0x00007000, 0x00000007),
1505 	DECL_RFK_WM(0x12a0, 0x00008000, 0x00000001),
1506 	DECL_RFK_WM(0x12a0, 0x00070000, 0x00000003),
1507 	DECL_RFK_WM(0x12a0, 0x00080000, 0x00000001),
1508 	DECL_RFK_WM(0x0700, 0x01000000, 0x00000001),
1509 	DECL_RFK_WM(0x0700, 0x06000000, 0x00000002),
1510 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00001111),
1511 	DECL_RFK_WM(0x58f0, 0x00080000, 0x00000000),
1512 };
1513 
1514 DECLARE_RFK_TBL(rtw8852a_rfk_iqk_set_defs_dbcc_path0);
1515 
1516 static const struct rtw89_reg5_def rtw8852a_rfk_iqk_set_defs_dbcc_path1[] = {
1517 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000202),
1518 	DECL_RFK_WM(0x7864, 0x18000000, 0x00000003),
1519 	DECL_RFK_WM(0x32b8, 0x40000000, 0x00000001),
1520 	DECL_RFK_WM(0x030c, 0xff000000, 0x00000013),
1521 	DECL_RFK_WM(0x032c, 0xffff0000, 0x00000001),
1522 	DECL_RFK_WM(0x32b8, 0x10000000, 0x00000001),
1523 	DECL_RFK_WM(0x78c8, 0x01000000, 0x00000001),
1524 	DECL_RFK_WM(0x7864, 0xc0000000, 0x00000003),
1525 	DECL_RFK_WM(0x2008, 0x01ffffff, 0x01ffffff),
1526 	DECL_RFK_WM(0x2c1c, 0x00000004, 0x00000001),
1527 	DECL_RFK_WM(0x2700, 0x08000000, 0x00000001),
1528 	DECL_RFK_WM(0x0c70, 0x000003ff, 0x000003ff),
1529 	DECL_RFK_WM(0x0c60, 0x00000003, 0x00000003),
1530 	DECL_RFK_WM(0x0c6c, 0x00000001, 0x00000001),
1531 	DECL_RFK_WM(0x78ac, 0x08000000, 0x00000001),
1532 	DECL_RFK_WM(0x2c3c, 0x00000200, 0x00000001),
1533 	DECL_RFK_WM(0x6490, 0x80000000, 0x00000001),
1534 	DECL_RFK_WM(0x32a0, 0x00007000, 0x00000007),
1535 	DECL_RFK_WM(0x32a0, 0x00008000, 0x00000001),
1536 	DECL_RFK_WM(0x32a0, 0x00070000, 0x00000003),
1537 	DECL_RFK_WM(0x32a0, 0x00080000, 0x00000001),
1538 	DECL_RFK_WM(0x2700, 0x01000000, 0x00000001),
1539 	DECL_RFK_WM(0x2700, 0x06000000, 0x00000002),
1540 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00002222),
1541 	DECL_RFK_WM(0x78f0, 0x00080000, 0x00000000),
1542 };
1543 
1544 DECLARE_RFK_TBL(rtw8852a_rfk_iqk_set_defs_dbcc_path1);
1545 
1546 static const struct rtw89_reg5_def rtw8852a_rfk_iqk_restore_defs_nondbcc_path01[] = {
1547 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000303),
1548 	DECL_RFK_WM(0x12b8, 0x40000000, 0x00000000),
1549 	DECL_RFK_WM(0x32b8, 0x40000000, 0x00000000),
1550 	DECL_RFK_WM(0x5864, 0xc0000000, 0x00000000),
1551 	DECL_RFK_WM(0x7864, 0xc0000000, 0x00000000),
1552 	DECL_RFK_WM(0x2008, 0x01ffffff, 0x00000000),
1553 	DECL_RFK_WM(0x0c1c, 0x00000004, 0x00000000),
1554 	DECL_RFK_WM(0x0700, 0x08000000, 0x00000000),
1555 	DECL_RFK_WM(0x0c70, 0x0000001f, 0x00000003),
1556 	DECL_RFK_WM(0x0c70, 0x000003e0, 0x00000003),
1557 	DECL_RFK_WM(0x12a0, 0x000ff000, 0x00000000),
1558 	DECL_RFK_WM(0x32a0, 0x000ff000, 0x00000000),
1559 	DECL_RFK_WM(0x0700, 0x07000000, 0x00000000),
1560 	DECL_RFK_WM(0x5864, 0x20000000, 0x00000000),
1561 	DECL_RFK_WM(0x7864, 0x20000000, 0x00000000),
1562 	DECL_RFK_WM(0x0c3c, 0x00000200, 0x00000000),
1563 	DECL_RFK_WM(0x2320, 0x00000001, 0x00000000),
1564 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000000),
1565 	DECL_RFK_WM(0x58c8, 0x01000000, 0x00000000),
1566 	DECL_RFK_WM(0x78c8, 0x01000000, 0x00000000),
1567 };
1568 
1569 DECLARE_RFK_TBL(rtw8852a_rfk_iqk_restore_defs_nondbcc_path01);
1570 
1571 static const struct rtw89_reg5_def rtw8852a_rfk_iqk_restore_defs_dbcc_path0[] = {
1572 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000101),
1573 	DECL_RFK_WM(0x12b8, 0x40000000, 0x00000000),
1574 	DECL_RFK_WM(0x5864, 0xc0000000, 0x00000000),
1575 	DECL_RFK_WM(0x2008, 0x01ffffff, 0x00000000),
1576 	DECL_RFK_WM(0x0c1c, 0x00000004, 0x00000000),
1577 	DECL_RFK_WM(0x0700, 0x08000000, 0x00000000),
1578 	DECL_RFK_WM(0x0c70, 0x0000001f, 0x00000003),
1579 	DECL_RFK_WM(0x0c70, 0x000003e0, 0x00000003),
1580 	DECL_RFK_WM(0x12a0, 0x000ff000, 0x00000000),
1581 	DECL_RFK_WM(0x0700, 0x07000000, 0x00000000),
1582 	DECL_RFK_WM(0x5864, 0x20000000, 0x00000000),
1583 	DECL_RFK_WM(0x0c3c, 0x00000200, 0x00000000),
1584 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000000),
1585 	DECL_RFK_WM(0x58c8, 0x01000000, 0x00000000),
1586 };
1587 
1588 DECLARE_RFK_TBL(rtw8852a_rfk_iqk_restore_defs_dbcc_path0);
1589 
1590 static const struct rtw89_reg5_def rtw8852a_rfk_iqk_restore_defs_dbcc_path1[] = {
1591 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000202),
1592 	DECL_RFK_WM(0x32b8, 0x40000000, 0x00000000),
1593 	DECL_RFK_WM(0x7864, 0xc0000000, 0x00000000),
1594 	DECL_RFK_WM(0x2008, 0x01ffffff, 0x00000000),
1595 	DECL_RFK_WM(0x2c1c, 0x00000004, 0x00000000),
1596 	DECL_RFK_WM(0x2700, 0x08000000, 0x00000000),
1597 	DECL_RFK_WM(0x0c70, 0x0000001f, 0x00000003),
1598 	DECL_RFK_WM(0x0c70, 0x000003e0, 0x00000003),
1599 	DECL_RFK_WM(0x32a0, 0x000ff000, 0x00000000),
1600 	DECL_RFK_WM(0x2700, 0x07000000, 0x00000000),
1601 	DECL_RFK_WM(0x7864, 0x20000000, 0x00000000),
1602 	DECL_RFK_WM(0x2c3c, 0x00000200, 0x00000000),
1603 	DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000000),
1604 	DECL_RFK_WM(0x78c8, 0x01000000, 0x00000000),
1605 };
1606 
1607 DECLARE_RFK_TBL(rtw8852a_rfk_iqk_restore_defs_dbcc_path1);
1608