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