blob: 51057009050242082f786e5354cff420095bf17f [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/* Copyright(c) 2019-2020 Realtek Corporation
*/
#include "rtw8852a_rfk_table.h"
static const struct rtw89_reg5_def rtw8852a_tssi_sys_defs[] = {
DECL_RFK_WM(0x12a8, 0x00000001, 0x00000001),
DECL_RFK_WM(0x12a8, 0x0000000e, 0x00000002),
DECL_RFK_WM(0x32a8, 0x00000001, 0x00000001),
DECL_RFK_WM(0x32a8, 0x0000000e, 0x00000002),
DECL_RFK_WM(0x12bc, 0x000000f0, 0x00000005),
DECL_RFK_WM(0x12bc, 0x00000f00, 0x00000005),
DECL_RFK_WM(0x12bc, 0x000f0000, 0x00000005),
DECL_RFK_WM(0x12bc, 0x0000f000, 0x00000005),
DECL_RFK_WM(0x120c, 0x000000ff, 0x00000033),
DECL_RFK_WM(0x12c0, 0x0ff00000, 0x00000033),
DECL_RFK_WM(0x32bc, 0x000000f0, 0x00000005),
DECL_RFK_WM(0x32bc, 0x00000f00, 0x00000005),
DECL_RFK_WM(0x32bc, 0x000f0000, 0x00000005),
DECL_RFK_WM(0x32bc, 0x0000f000, 0x00000005),
DECL_RFK_WM(0x320c, 0x000000ff, 0x00000033),
DECL_RFK_WM(0x32c0, 0x0ff00000, 0x00000033),
DECL_RFK_WM(0x0300, 0xff000000, 0x00000019),
DECL_RFK_WM(0x0304, 0x000000ff, 0x00000019),
DECL_RFK_WM(0x0304, 0x0000ff00, 0x0000001d),
DECL_RFK_WM(0x0314, 0xffff0000, 0x00002044),
DECL_RFK_WM(0x0318, 0x0000ffff, 0x00002042),
DECL_RFK_WM(0x0318, 0xffff0000, 0x00002002),
DECL_RFK_WM(0x0020, 0x00006000, 0x00000003),
DECL_RFK_WM(0x0024, 0x00006000, 0x00000003),
DECL_RFK_WM(0x0704, 0xffff0000, 0x0000601e),
DECL_RFK_WM(0x2704, 0xffff0000, 0x0000601e),
DECL_RFK_WM(0x0700, 0xf0000000, 0x00000004),
DECL_RFK_WM(0x2700, 0xf0000000, 0x00000004),
DECL_RFK_WM(0x0650, 0x3c000000, 0x00000000),
DECL_RFK_WM(0x2650, 0x3c000000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_tssi_sys_defs);
static const struct rtw89_reg5_def rtw8852a_tssi_sys_defs_2g[] = {
DECL_RFK_WM(0x120c, 0x000000ff, 0x00000033),
DECL_RFK_WM(0x12c0, 0x0ff00000, 0x00000033),
DECL_RFK_WM(0x32c0, 0x0ff00000, 0x00000033),
DECL_RFK_WM(0x320c, 0x000000ff, 0x00000033),
};
DECLARE_RFK_TBL(rtw8852a_tssi_sys_defs_2g);
static const struct rtw89_reg5_def rtw8852a_tssi_sys_defs_5g[] = {
DECL_RFK_WM(0x120c, 0x000000ff, 0x00000044),
DECL_RFK_WM(0x12c0, 0x0ff00000, 0x00000044),
DECL_RFK_WM(0x32c0, 0x0ff00000, 0x00000044),
DECL_RFK_WM(0x320c, 0x000000ff, 0x00000044),
};
DECLARE_RFK_TBL(rtw8852a_tssi_sys_defs_5g);
static const struct rtw89_reg5_def rtw8852a_tssi_txpwr_ctrl_bb_defs_a[] = {
DECL_RFK_WM(0x5800, 0x000000ff, 0x0000007f),
DECL_RFK_WM(0x5800, 0x0000ff00, 0x00000080),
DECL_RFK_WM(0x5800, 0x003f0000, 0x0000003f),
DECL_RFK_WM(0x5800, 0x10000000, 0x00000000),
DECL_RFK_WM(0x5800, 0x20000000, 0x00000000),
DECL_RFK_WM(0x5800, 0xc0000000, 0x00000000),
DECL_RFK_WM(0x5804, 0xf8000000, 0x00000000),
DECL_RFK_WM(0x580c, 0x0000007f, 0x00000040),
DECL_RFK_WM(0x580c, 0x00007f00, 0x00000040),
DECL_RFK_WM(0x580c, 0x00008000, 0x00000000),
DECL_RFK_WM(0x580c, 0x0fff0000, 0x00000000),
DECL_RFK_WM(0x5810, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x5810, 0x00000200, 0x00000000),
DECL_RFK_WM(0x5810, 0x0000fc00, 0x00000000),
DECL_RFK_WM(0x5810, 0x00010000, 0x00000001),
DECL_RFK_WM(0x5810, 0x00fe0000, 0x00000000),
DECL_RFK_WM(0x5810, 0x01000000, 0x00000001),
DECL_RFK_WM(0x5810, 0x06000000, 0x00000000),
DECL_RFK_WM(0x5810, 0x38000000, 0x00000003),
DECL_RFK_WM(0x5810, 0x40000000, 0x00000001),
DECL_RFK_WM(0x5810, 0x80000000, 0x00000000),
DECL_RFK_WM(0x5814, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x5814, 0x00000c00, 0x00000000),
DECL_RFK_WM(0x5814, 0x00001000, 0x00000001),
DECL_RFK_WM(0x5814, 0x00002000, 0x00000000),
DECL_RFK_WM(0x5814, 0x00004000, 0x00000001),
DECL_RFK_WM(0x5814, 0x00038000, 0x00000005),
DECL_RFK_WM(0x5814, 0x003c0000, 0x00000000),
DECL_RFK_WM(0x5814, 0x01c00000, 0x00000000),
DECL_RFK_WM(0x5814, 0x18000000, 0x00000000),
DECL_RFK_WM(0x5814, 0xe0000000, 0x00000000),
DECL_RFK_WM(0x5818, 0x000000ff, 0x00000000),
DECL_RFK_WM(0x5818, 0x0001ff00, 0x00000018),
DECL_RFK_WM(0x5818, 0x03fe0000, 0x00000016),
DECL_RFK_WM(0x5818, 0xfc000000, 0x00000000),
DECL_RFK_WM(0x581c, 0x000003ff, 0x00000280),
DECL_RFK_WM(0x581c, 0x000ffc00, 0x00000200),
DECL_RFK_WM(0x581c, 0x00100000, 0x00000000),
DECL_RFK_WM(0x581c, 0x01e00000, 0x00000008),
DECL_RFK_WM(0x581c, 0x01e00000, 0x0000000e),
DECL_RFK_WM(0x581c, 0x1e000000, 0x00000008),
DECL_RFK_WM(0x581c, 0x1e000000, 0x0000000e),
DECL_RFK_WM(0x581c, 0x20000000, 0x00000000),
DECL_RFK_WM(0x5820, 0x00000fff, 0x00000080),
DECL_RFK_WM(0x5820, 0x0000f000, 0x0000000f),
DECL_RFK_WM(0x5820, 0x001f0000, 0x00000000),
DECL_RFK_WM(0x5820, 0xffe00000, 0x00000000),
DECL_RFK_WM(0x5824, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x5824, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5828, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x582c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x582c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5830, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x5834, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x5834, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5838, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x583c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x583c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5840, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x5844, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x5844, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5848, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x584c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x584c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5850, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x5854, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x5854, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5858, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x585c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x585c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5860, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x5828, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x5828, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x5830, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x5830, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x5838, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x5838, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x5840, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x5840, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x5848, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x5848, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x5850, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x5850, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x5858, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x5858, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x5860, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x5860, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x5860, 0x80000000, 0x00000000),
DECL_RFK_WM(0x5864, 0x000003ff, 0x000001ff),
DECL_RFK_WM(0x5864, 0x000ffc00, 0x00000200),
DECL_RFK_WM(0x5864, 0x03f00000, 0x00000000),
DECL_RFK_WM(0x5864, 0x04000000, 0x00000000),
DECL_RFK_WM(0x5898, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x589c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x58a0, 0x000000ff, 0x000000fd),
DECL_RFK_WM(0x58a0, 0x0000ff00, 0x000000e5),
DECL_RFK_WM(0x58a0, 0x00ff0000, 0x000000cd),
DECL_RFK_WM(0x58a0, 0xff000000, 0x000000b5),
DECL_RFK_WM(0x58a4, 0x000000ff, 0x00000016),
DECL_RFK_WM(0x58a4, 0x0001ff00, 0x00000000),
DECL_RFK_WM(0x58a4, 0x03fe0000, 0x00000000),
DECL_RFK_WM(0x58a8, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x58a8, 0x0003fe00, 0x00000000),
DECL_RFK_WM(0x58a8, 0x07fc0000, 0x00000000),
DECL_RFK_WM(0x58ac, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x58ac, 0x0003fe00, 0x00000000),
DECL_RFK_WM(0x58ac, 0x07fc0000, 0x00000000),
DECL_RFK_WM(0x58b0, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x58b4, 0x0000001f, 0x00000000),
DECL_RFK_WM(0x58b4, 0x00000020, 0x00000000),
DECL_RFK_WM(0x58b4, 0x000001c0, 0x00000000),
DECL_RFK_WM(0x58b4, 0x00000200, 0x00000000),
DECL_RFK_WM(0x58b4, 0x0000f000, 0x00000002),
DECL_RFK_WM(0x58b4, 0x00ff0000, 0x00000000),
DECL_RFK_WM(0x58b4, 0x7f000000, 0x0000000a),
DECL_RFK_WM(0x58b8, 0x0000007f, 0x00000028),
DECL_RFK_WM(0x58b8, 0x00007f00, 0x00000076),
DECL_RFK_WM(0x58b8, 0x007f0000, 0x00000000),
DECL_RFK_WM(0x58b8, 0x7f000000, 0x00000000),
DECL_RFK_WM(0x58bc, 0x000000ff, 0x0000007f),
DECL_RFK_WM(0x58bc, 0x0000ff00, 0x00000080),
DECL_RFK_WM(0x58bc, 0x00030000, 0x00000003),
DECL_RFK_WM(0x58bc, 0x000c0000, 0x00000001),
DECL_RFK_WM(0x58bc, 0x00300000, 0x00000002),
DECL_RFK_WM(0x58bc, 0x00c00000, 0x00000002),
DECL_RFK_WM(0x58bc, 0x07000000, 0x00000007),
DECL_RFK_WM(0x58c0, 0x00fe0000, 0x0000003f),
DECL_RFK_WM(0x58c0, 0xff000000, 0x00000000),
DECL_RFK_WM(0x58c4, 0x0003ffff, 0x0003ffff),
DECL_RFK_WM(0x58c4, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x58c4, 0xc0000000, 0x00000000),
DECL_RFK_WM(0x58c8, 0x00ffffff, 0x00000000),
DECL_RFK_WM(0x58c8, 0xf0000000, 0x00000000),
DECL_RFK_WM(0x58cc, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x58d0, 0x00001fff, 0x00000101),
DECL_RFK_WM(0x58d0, 0x0001e000, 0x00000004),
DECL_RFK_WM(0x58d0, 0x03fe0000, 0x00000100),
DECL_RFK_WM(0x58d0, 0x04000000, 0x00000000),
DECL_RFK_WM(0x58d4, 0x000000ff, 0x00000000),
DECL_RFK_WM(0x58d4, 0x0003fe00, 0x000000ff),
DECL_RFK_WM(0x58d4, 0x07fc0000, 0x00000100),
DECL_RFK_WM(0x58d8, 0x000001ff, 0x0000016c),
DECL_RFK_WM(0x58d8, 0x0003fe00, 0x0000005c),
DECL_RFK_WM(0x58d8, 0x000c0000, 0x00000002),
DECL_RFK_WM(0x58d8, 0xfff00000, 0x00000800),
DECL_RFK_WM(0x58dc, 0x000000ff, 0x0000007f),
DECL_RFK_WM(0x58dc, 0x0000ff00, 0x00000080),
DECL_RFK_WM(0x58dc, 0x00010000, 0x00000000),
DECL_RFK_WM(0x58dc, 0x3ff00000, 0x00000000),
DECL_RFK_WM(0x58dc, 0x80000000, 0x00000001),
DECL_RFK_WM(0x58f0, 0x000001ff, 0x000001ff),
DECL_RFK_WM(0x58f0, 0x0003fe00, 0x00000000),
DECL_RFK_WM(0x58f4, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f4, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x58f4, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f4, 0x000ffc00, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_tssi_txpwr_ctrl_bb_defs_a);
static const struct rtw89_reg5_def rtw8852a_tssi_txpwr_ctrl_bb_defs_b[] = {
DECL_RFK_WM(0x7800, 0x000000ff, 0x0000007f),
DECL_RFK_WM(0x7800, 0x0000ff00, 0x00000080),
DECL_RFK_WM(0x7800, 0x003f0000, 0x0000003f),
DECL_RFK_WM(0x7800, 0x10000000, 0x00000000),
DECL_RFK_WM(0x7800, 0x20000000, 0x00000000),
DECL_RFK_WM(0x7800, 0xc0000000, 0x00000000),
DECL_RFK_WM(0x7804, 0xf8000000, 0x00000000),
DECL_RFK_WM(0x780c, 0x0000007f, 0x00000040),
DECL_RFK_WM(0x780c, 0x00007f00, 0x00000040),
DECL_RFK_WM(0x780c, 0x00008000, 0x00000000),
DECL_RFK_WM(0x780c, 0x0fff0000, 0x00000000),
DECL_RFK_WM(0x7810, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x7810, 0x00000200, 0x00000000),
DECL_RFK_WM(0x7810, 0x0000fc00, 0x00000000),
DECL_RFK_WM(0x7810, 0x00010000, 0x00000001),
DECL_RFK_WM(0x7810, 0x00fe0000, 0x00000000),
DECL_RFK_WM(0x7810, 0x01000000, 0x00000001),
DECL_RFK_WM(0x7810, 0x06000000, 0x00000000),
DECL_RFK_WM(0x7810, 0x38000000, 0x00000003),
DECL_RFK_WM(0x7810, 0x40000000, 0x00000001),
DECL_RFK_WM(0x7810, 0x80000000, 0x00000000),
DECL_RFK_WM(0x7814, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x7814, 0x00000c00, 0x00000000),
DECL_RFK_WM(0x7814, 0x00001000, 0x00000001),
DECL_RFK_WM(0x7814, 0x00002000, 0x00000000),
DECL_RFK_WM(0x7814, 0x00004000, 0x00000001),
DECL_RFK_WM(0x7814, 0x00038000, 0x00000005),
DECL_RFK_WM(0x7814, 0x003c0000, 0x00000000),
DECL_RFK_WM(0x7814, 0x01c00000, 0x00000000),
DECL_RFK_WM(0x7814, 0x18000000, 0x00000000),
DECL_RFK_WM(0x7814, 0xe0000000, 0x00000000),
DECL_RFK_WM(0x7818, 0x000000ff, 0x00000000),
DECL_RFK_WM(0x7818, 0x0001ff00, 0x00000018),
DECL_RFK_WM(0x7818, 0x03fe0000, 0x00000016),
DECL_RFK_WM(0x7818, 0xfc000000, 0x00000000),
DECL_RFK_WM(0x781c, 0x000003ff, 0x00000280),
DECL_RFK_WM(0x781c, 0x000ffc00, 0x00000200),
DECL_RFK_WM(0x781c, 0x00100000, 0x00000000),
DECL_RFK_WM(0x781c, 0x01e00000, 0x00000008),
DECL_RFK_WM(0x781c, 0x01e00000, 0x0000000e),
DECL_RFK_WM(0x781c, 0x1e000000, 0x00000008),
DECL_RFK_WM(0x781c, 0x1e000000, 0x0000000e),
DECL_RFK_WM(0x781c, 0x20000000, 0x00000000),
DECL_RFK_WM(0x7820, 0x00000fff, 0x00000080),
DECL_RFK_WM(0x7820, 0x0000f000, 0x00000000),
DECL_RFK_WM(0x7820, 0x001f0000, 0x00000000),
DECL_RFK_WM(0x7820, 0xffe00000, 0x00000000),
DECL_RFK_WM(0x7824, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x7824, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7828, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x782c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x782c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7830, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x7834, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x7834, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7838, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x783c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x783c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7840, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x7844, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x7844, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7848, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x784c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x784c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7850, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x7854, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x7854, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7858, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x785c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x785c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7860, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x7828, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x7828, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x7830, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x7830, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x7838, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x7838, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x7840, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x7840, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x7848, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x7848, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x7850, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x7850, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x7858, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x7858, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x7860, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x7860, 0x7fc00000, 0x00000000),
DECL_RFK_WM(0x7860, 0x80000000, 0x00000000),
DECL_RFK_WM(0x7864, 0x000003ff, 0x000001ff),
DECL_RFK_WM(0x7864, 0x000ffc00, 0x00000200),
DECL_RFK_WM(0x7864, 0x03f00000, 0x00000000),
DECL_RFK_WM(0x7864, 0x04000000, 0x00000000),
DECL_RFK_WM(0x7898, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x789c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x78a0, 0x000000ff, 0x000000fd),
DECL_RFK_WM(0x78a0, 0x0000ff00, 0x000000e5),
DECL_RFK_WM(0x78a0, 0x00ff0000, 0x000000cd),
DECL_RFK_WM(0x78a0, 0xff000000, 0x000000b5),
DECL_RFK_WM(0x78a4, 0x000000ff, 0x00000016),
DECL_RFK_WM(0x78a4, 0x0001ff00, 0x00000000),
DECL_RFK_WM(0x78a4, 0x03fe0000, 0x00000000),
DECL_RFK_WM(0x78a8, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x78a8, 0x0003fe00, 0x00000000),
DECL_RFK_WM(0x78a8, 0x07fc0000, 0x00000000),
DECL_RFK_WM(0x78ac, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x78ac, 0x0003fe00, 0x00000000),
DECL_RFK_WM(0x78ac, 0x07fc0000, 0x00000000),
DECL_RFK_WM(0x78b0, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x78b4, 0x0000001f, 0x00000000),
DECL_RFK_WM(0x78b4, 0x00000020, 0x00000000),
DECL_RFK_WM(0x78b4, 0x000001c0, 0x00000000),
DECL_RFK_WM(0x78b4, 0x00000200, 0x00000000),
DECL_RFK_WM(0x78b4, 0x0000f000, 0x00000002),
DECL_RFK_WM(0x78b4, 0x00ff0000, 0x00000000),
DECL_RFK_WM(0x78b4, 0x7f000000, 0x0000000a),
DECL_RFK_WM(0x78b8, 0x0000007f, 0x00000028),
DECL_RFK_WM(0x78b8, 0x00007f00, 0x00000076),
DECL_RFK_WM(0x78b8, 0x007f0000, 0x00000000),
DECL_RFK_WM(0x78b8, 0x7f000000, 0x00000000),
DECL_RFK_WM(0x78bc, 0x000000ff, 0x0000007f),
DECL_RFK_WM(0x78bc, 0x0000ff00, 0x00000080),
DECL_RFK_WM(0x78bc, 0x00030000, 0x00000003),
DECL_RFK_WM(0x78bc, 0x000c0000, 0x00000001),
DECL_RFK_WM(0x78bc, 0x00300000, 0x00000002),
DECL_RFK_WM(0x78bc, 0x00c00000, 0x00000002),
DECL_RFK_WM(0x78bc, 0x07000000, 0x00000007),
DECL_RFK_WM(0x78c0, 0x00fe0000, 0x0000003f),
DECL_RFK_WM(0x78c0, 0xff000000, 0x00000000),
DECL_RFK_WM(0x78c4, 0x0003ffff, 0x0003ffff),
DECL_RFK_WM(0x78c4, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x78c4, 0xc0000000, 0x00000000),
DECL_RFK_WM(0x78c8, 0x00ffffff, 0x00000000),
DECL_RFK_WM(0x78c8, 0xf0000000, 0x00000000),
DECL_RFK_WM(0x78cc, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x78d0, 0x00001fff, 0x00000101),
DECL_RFK_WM(0x78d0, 0x0001e000, 0x00000004),
DECL_RFK_WM(0x78d0, 0x03fe0000, 0x00000100),
DECL_RFK_WM(0x78d0, 0x04000000, 0x00000000),
DECL_RFK_WM(0x78d4, 0x000000ff, 0x00000000),
DECL_RFK_WM(0x78d4, 0x0003fe00, 0x000000ff),
DECL_RFK_WM(0x78d4, 0x07fc0000, 0x00000100),
DECL_RFK_WM(0x78d8, 0x000001ff, 0x0000016c),
DECL_RFK_WM(0x78d8, 0x0003fe00, 0x0000005c),
DECL_RFK_WM(0x78d8, 0x000c0000, 0x00000002),
DECL_RFK_WM(0x78d8, 0xfff00000, 0x00000800),
DECL_RFK_WM(0x78dc, 0x000000ff, 0x0000007f),
DECL_RFK_WM(0x78dc, 0x0000ff00, 0x00000080),
DECL_RFK_WM(0x78dc, 0x00010000, 0x00000000),
DECL_RFK_WM(0x78dc, 0x3ff00000, 0x00000000),
DECL_RFK_WM(0x78dc, 0x80000000, 0x00000001),
DECL_RFK_WM(0x78f0, 0x000001ff, 0x000001ff),
DECL_RFK_WM(0x78f0, 0x0003fe00, 0x00000000),
DECL_RFK_WM(0x78f4, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f4, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x78f4, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f4, 0x000ffc00, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_tssi_txpwr_ctrl_bb_defs_b);
static const struct rtw89_reg5_def rtw8852a_tssi_txpwr_ctrl_bb_defs_2g[] = {
DECL_RFK_WM(0x58d8, 0x000001ff, 0x0000013c),
DECL_RFK_WM(0x78d8, 0x000001ff, 0x0000013c),
};
DECLARE_RFK_TBL(rtw8852a_tssi_txpwr_ctrl_bb_defs_2g);
static const struct rtw89_reg5_def rtw8852a_tssi_txpwr_ctrl_bb_defs_5g[] = {
DECL_RFK_WM(0x58d8, 0x000001ff, 0x0000016c),
DECL_RFK_WM(0x78d8, 0x000001ff, 0x0000016c),
};
DECLARE_RFK_TBL(rtw8852a_tssi_txpwr_ctrl_bb_defs_5g);
static const struct rtw89_reg5_def rtw8852a_tssi_txpwr_ctrl_bb_he_tb_defs_a[] = {
DECL_RFK_WM(0x58a0, 0xffffffff, 0x000000fc),
DECL_RFK_WM(0x58e4, 0x0000007f, 0x00000020),
};
DECLARE_RFK_TBL(rtw8852a_tssi_txpwr_ctrl_bb_he_tb_defs_a);
static const struct rtw89_reg5_def rtw8852a_tssi_txpwr_ctrl_bb_he_tb_defs_b[] = {
DECL_RFK_WM(0x78a0, 0xffffffff, 0x000000fc),
DECL_RFK_WM(0x78e4, 0x0000007f, 0x00000020),
};
DECLARE_RFK_TBL(rtw8852a_tssi_txpwr_ctrl_bb_he_tb_defs_b);
static const struct rtw89_reg5_def rtw8852a_tssi_dck_defs_a[] = {
DECL_RFK_WM(0x580c, 0x0fff0000, 0x00000000),
DECL_RFK_WM(0x5814, 0x00001000, 0x00000001),
DECL_RFK_WM(0x5814, 0x00002000, 0x00000001),
DECL_RFK_WM(0x5814, 0x00004000, 0x00000001),
DECL_RFK_WM(0x5814, 0x00038000, 0x00000005),
DECL_RFK_WM(0x5814, 0x003c0000, 0x00000003),
DECL_RFK_WM(0x5814, 0x18000000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_tssi_dck_defs_a);
static const struct rtw89_reg5_def rtw8852a_tssi_dck_defs_b[] = {
DECL_RFK_WM(0x780c, 0x0fff0000, 0x00000000),
DECL_RFK_WM(0x7814, 0x00001000, 0x00000001),
DECL_RFK_WM(0x7814, 0x00002000, 0x00000001),
DECL_RFK_WM(0x7814, 0x00004000, 0x00000001),
DECL_RFK_WM(0x7814, 0x00038000, 0x00000005),
DECL_RFK_WM(0x7814, 0x003c0000, 0x00000003),
DECL_RFK_WM(0x7814, 0x18000000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_tssi_dck_defs_b);
static const struct rtw89_reg5_def rtw8852a_tssi_dac_gain_tbl_defs_a[] = {
DECL_RFK_WM(0x58b0, 0x00000fff, 0x00000000),
DECL_RFK_WM(0x58b0, 0x00000800, 0x00000001),
DECL_RFK_WM(0x5a00, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a04, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a08, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a0c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a10, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a14, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a18, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a1c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a20, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a24, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a28, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a2c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a30, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a34, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a38, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a3c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a40, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a44, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a48, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a4c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a50, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a54, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a58, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a5c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a60, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a64, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a68, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a6c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a70, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a74, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a78, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a7c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a80, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a84, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a88, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a8c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a90, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a94, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a98, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5a9c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5aa0, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5aa4, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5aa8, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5aac, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5ab0, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5ab4, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5ab8, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5abc, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x5ac0, 0xffffffff, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_tssi_dac_gain_tbl_defs_a);
static const struct rtw89_reg5_def rtw8852a_tssi_dac_gain_tbl_defs_b[] = {
DECL_RFK_WM(0x78b0, 0x00000fff, 0x00000000),
DECL_RFK_WM(0x78b0, 0x00000800, 0x00000001),
DECL_RFK_WM(0x7a00, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a04, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a08, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a0c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a10, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a14, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a18, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a1c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a20, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a24, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a28, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a2c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a30, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a34, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a38, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a3c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a40, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a44, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a48, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a4c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a50, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a54, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a58, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a5c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a60, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a64, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a68, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a6c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a70, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a74, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a78, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a7c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a80, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a84, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a88, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a8c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a90, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a94, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a98, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7a9c, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7aa0, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7aa4, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7aa8, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7aac, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7ab0, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7ab4, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7ab8, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7abc, 0xffffffff, 0x00000000),
DECL_RFK_WM(0x7ac0, 0xffffffff, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_tssi_dac_gain_tbl_defs_b);
static const struct rtw89_reg5_def rtw8852a_tssi_slope_cal_org_defs_a[] = {
DECL_RFK_WM(0x581c, 0x00100000, 0x00000000),
DECL_RFK_WM(0x58cc, 0x00001000, 0x00000001),
DECL_RFK_WM(0x58cc, 0x00000007, 0x00000000),
DECL_RFK_WM(0x58cc, 0x00000038, 0x00000001),
DECL_RFK_WM(0x58cc, 0x000001c0, 0x00000002),
DECL_RFK_WM(0x58cc, 0x00000e00, 0x00000003),
DECL_RFK_WM(0x5828, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x5898, 0x000000ff, 0x00000040),
DECL_RFK_WM(0x5830, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x5898, 0x0000ff00, 0x00000040),
DECL_RFK_WM(0x5838, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x5898, 0x00ff0000, 0x00000040),
DECL_RFK_WM(0x5840, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x5898, 0xff000000, 0x00000040),
DECL_RFK_WM(0x5848, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x589c, 0x000000ff, 0x00000040),
DECL_RFK_WM(0x5850, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x589c, 0x0000ff00, 0x00000040),
DECL_RFK_WM(0x5858, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x589c, 0x00ff0000, 0x00000040),
DECL_RFK_WM(0x5860, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x589c, 0xff000000, 0x00000040),
};
DECLARE_RFK_TBL(rtw8852a_tssi_slope_cal_org_defs_a);
static const struct rtw89_reg5_def rtw8852a_tssi_slope_cal_org_defs_b[] = {
DECL_RFK_WM(0x781c, 0x00100000, 0x00000000),
DECL_RFK_WM(0x78cc, 0x00001000, 0x00000001),
DECL_RFK_WM(0x78cc, 0x00000007, 0x00000000),
DECL_RFK_WM(0x78cc, 0x00000038, 0x00000001),
DECL_RFK_WM(0x78cc, 0x000001c0, 0x00000002),
DECL_RFK_WM(0x78cc, 0x00000e00, 0x00000003),
DECL_RFK_WM(0x7828, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x7898, 0x000000ff, 0x00000040),
DECL_RFK_WM(0x7830, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x7898, 0x0000ff00, 0x00000040),
DECL_RFK_WM(0x7838, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x7898, 0x00ff0000, 0x00000040),
DECL_RFK_WM(0x7840, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x7898, 0xff000000, 0x00000040),
DECL_RFK_WM(0x7848, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x789c, 0x000000ff, 0x00000040),
DECL_RFK_WM(0x7850, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x789c, 0x0000ff00, 0x00000040),
DECL_RFK_WM(0x7878, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x789c, 0x00ff0000, 0x00000040),
DECL_RFK_WM(0x7860, 0x7fc00000, 0x00000040),
DECL_RFK_WM(0x789c, 0xff000000, 0x00000040),
};
DECLARE_RFK_TBL(rtw8852a_tssi_slope_cal_org_defs_b);
static const struct rtw89_reg5_def rtw8852a_tssi_rf_gap_tbl_defs_a[] = {
DECL_RFK_WM(0x5814, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f4, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f4, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x58f8, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f8, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x58a4, 0x0001ff00, 0x00000000),
DECL_RFK_WM(0x58a4, 0x03fe0000, 0x00000000),
DECL_RFK_WM(0x58a8, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x58a8, 0x0003fe00, 0x00000000),
DECL_RFK_WM(0x58a8, 0x07fc0000, 0x00000000),
DECL_RFK_WM(0x58ac, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x58ac, 0x0003fe00, 0x00000000),
DECL_RFK_WM(0x58ac, 0x07fc0000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_tssi_rf_gap_tbl_defs_a);
static const struct rtw89_reg5_def rtw8852a_tssi_rf_gap_tbl_defs_b[] = {
DECL_RFK_WM(0x7814, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f4, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f4, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x78f8, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f8, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x78a4, 0x0001ff00, 0x00000000),
DECL_RFK_WM(0x78a4, 0x03fe0000, 0x00000000),
DECL_RFK_WM(0x78a8, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x78a8, 0x0003fe00, 0x00000000),
DECL_RFK_WM(0x78a8, 0x07fc0000, 0x00000000),
DECL_RFK_WM(0x78ac, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x78ac, 0x0003fe00, 0x00000000),
DECL_RFK_WM(0x78ac, 0x07fc0000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_tssi_rf_gap_tbl_defs_b);
static const struct rtw89_reg5_def rtw8852a_tssi_slope_defs_a[] = {
DECL_RFK_WM(0x5820, 0x80000000, 0x00000000),
DECL_RFK_WM(0x5818, 0x10000000, 0x00000000),
DECL_RFK_WM(0x5814, 0x00000800, 0x00000001),
DECL_RFK_WM(0x581c, 0x20000000, 0x00000001),
DECL_RFK_WM(0x5820, 0x0000f000, 0x00000001),
DECL_RFK_WM(0x581c, 0x000003ff, 0x00000280),
DECL_RFK_WM(0x581c, 0x000ffc00, 0x00000200),
DECL_RFK_WM(0x58b8, 0x007f0000, 0x00000000),
DECL_RFK_WM(0x58b8, 0x7f000000, 0x00000000),
DECL_RFK_WM(0x58b4, 0x7f000000, 0x0000000a),
DECL_RFK_WM(0x58b8, 0x0000007f, 0x00000028),
DECL_RFK_WM(0x58b8, 0x00007f00, 0x00000076),
DECL_RFK_WM(0x5810, 0x20000000, 0x00000000),
DECL_RFK_WM(0x5814, 0x20000000, 0x00000001),
DECL_RFK_WM(0x580c, 0x10000000, 0x00000001),
DECL_RFK_WM(0x580c, 0x40000000, 0x00000001),
DECL_RFK_WM(0x5838, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x5858, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x5834, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x5834, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5838, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x5854, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x5854, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5858, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x5824, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x5824, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5828, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x582c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x582c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5830, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x583c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x583c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5840, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x5844, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x5844, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5848, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x584c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x584c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5850, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x585c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x585c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x5860, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x5828, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x5830, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x5840, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x5848, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x5850, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x5860, 0x003ff000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_tssi_slope_defs_a);
static const struct rtw89_reg5_def rtw8852a_tssi_slope_defs_b[] = {
DECL_RFK_WM(0x7820, 0x80000000, 0x00000000),
DECL_RFK_WM(0x7818, 0x10000000, 0x00000000),
DECL_RFK_WM(0x7814, 0x00000800, 0x00000001),
DECL_RFK_WM(0x781c, 0x20000000, 0x00000001),
DECL_RFK_WM(0x7820, 0x0000f000, 0x00000001),
DECL_RFK_WM(0x781c, 0x000003ff, 0x00000280),
DECL_RFK_WM(0x781c, 0x000ffc00, 0x00000200),
DECL_RFK_WM(0x78b8, 0x007f0000, 0x00000000),
DECL_RFK_WM(0x78b8, 0x7f000000, 0x00000000),
DECL_RFK_WM(0x78b4, 0x7f000000, 0x0000000a),
DECL_RFK_WM(0x78b8, 0x0000007f, 0x00000028),
DECL_RFK_WM(0x78b8, 0x00007f00, 0x00000076),
DECL_RFK_WM(0x7810, 0x20000000, 0x00000000),
DECL_RFK_WM(0x7814, 0x20000000, 0x00000001),
DECL_RFK_WM(0x780c, 0x10000000, 0x00000001),
DECL_RFK_WM(0x780c, 0x40000000, 0x00000001),
DECL_RFK_WM(0x7838, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x7858, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x7834, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x7834, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7838, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x7854, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x7854, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7858, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x7824, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x7824, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7828, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x782c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x782c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7830, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x783c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x783c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7840, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x7844, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x7844, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7848, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x784c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x784c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7850, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x785c, 0x0003ffff, 0x000115f2),
DECL_RFK_WM(0x785c, 0x3ffc0000, 0x00000000),
DECL_RFK_WM(0x7860, 0x00000fff, 0x00000121),
DECL_RFK_WM(0x7828, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x7830, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x7840, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x7848, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x7850, 0x003ff000, 0x00000000),
DECL_RFK_WM(0x7860, 0x003ff000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_tssi_slope_defs_b);
static const struct rtw89_reg5_def rtw8852a_tssi_track_defs_a[] = {
DECL_RFK_WM(0x5820, 0x80000000, 0x00000000),
DECL_RFK_WM(0x5818, 0x18000000, 0x00000000),
DECL_RFK_WM(0x5814, 0x00000800, 0x00000000),
DECL_RFK_WM(0x581c, 0x20000000, 0x00000001),
DECL_RFK_WM(0x5864, 0x000003ff, 0x000001ff),
DECL_RFK_WM(0x5864, 0x000ffc00, 0x00000200),
DECL_RFK_WM(0x5820, 0x00000fff, 0x00000080),
DECL_RFK_WM(0x5814, 0x01000000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_tssi_track_defs_a);
static const struct rtw89_reg5_def rtw8852a_tssi_track_defs_b[] = {
DECL_RFK_WM(0x7820, 0x80000000, 0x00000000),
DECL_RFK_WM(0x7818, 0x18000000, 0x00000000),
DECL_RFK_WM(0x7814, 0x00000800, 0x00000000),
DECL_RFK_WM(0x781c, 0x20000000, 0x00000001),
DECL_RFK_WM(0x7864, 0x000003ff, 0x000001ff),
DECL_RFK_WM(0x7864, 0x000ffc00, 0x00000200),
DECL_RFK_WM(0x7820, 0x00000fff, 0x00000080),
DECL_RFK_WM(0x7814, 0x01000000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_tssi_track_defs_b);
static const struct rtw89_reg5_def rtw8852a_tssi_txagc_ofst_mv_avg_defs_a[] = {
DECL_RFK_WM(0x58e4, 0x00004000, 0x00000000),
DECL_RFK_WM(0x58e4, 0x00004000, 0x00000001),
DECL_RFK_WM(0x58e4, 0x00004000, 0x00000000),
DECL_RFK_WM(0x58e4, 0x00008000, 0x00000000),
DECL_RFK_WM(0x58e4, 0x000f0000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_tssi_txagc_ofst_mv_avg_defs_a);
static const struct rtw89_reg5_def rtw8852a_tssi_txagc_ofst_mv_avg_defs_b[] = {
DECL_RFK_WM(0x78e4, 0x00004000, 0x00000000),
DECL_RFK_WM(0x78e4, 0x00004000, 0x00000001),
DECL_RFK_WM(0x78e4, 0x00004000, 0x00000000),
DECL_RFK_WM(0x78e4, 0x00008000, 0x00000000),
DECL_RFK_WM(0x78e4, 0x000f0000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_tssi_txagc_ofst_mv_avg_defs_b);
static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_a_2g[] = {
DECL_RFK_WM(0x5814, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f4, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f4, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x58f8, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f8, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x58a4, 0x0001ff00, 0x00000000),
DECL_RFK_WM(0x58a4, 0x03fe0000, 0x000001d0),
DECL_RFK_WM(0x58a8, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x58a8, 0x0003fe00, 0x000001e8),
DECL_RFK_WM(0x58a8, 0x07fc0000, 0x00000000),
DECL_RFK_WM(0x58ac, 0x000001ff, 0x0000000b),
DECL_RFK_WM(0x58ac, 0x0003fe00, 0x00000000),
DECL_RFK_WM(0x58ac, 0x07fc0000, 0x00000088),
};
DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_a_2g);
static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_a_5g_1[] = {
DECL_RFK_WM(0x5814, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f4, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f4, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x58f8, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f8, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x58a4, 0x0001ff00, 0x00000000),
DECL_RFK_WM(0x58a4, 0x03fe0000, 0x000001d7),
DECL_RFK_WM(0x58a8, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x58a8, 0x0003fe00, 0x000001fb),
DECL_RFK_WM(0x58a8, 0x07fc0000, 0x00000000),
DECL_RFK_WM(0x58ac, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x58ac, 0x0003fe00, 0x00000005),
DECL_RFK_WM(0x58ac, 0x07fc0000, 0x0000007c),
};
DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_a_5g_1);
static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_a_5g_3[] = {
DECL_RFK_WM(0x5814, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f4, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f4, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x58f8, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f8, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x58a4, 0x0001ff00, 0x00000000),
DECL_RFK_WM(0x58a4, 0x03fe0000, 0x000001d8),
DECL_RFK_WM(0x58a8, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x58a8, 0x0003fe00, 0x000001fc),
DECL_RFK_WM(0x58a8, 0x07fc0000, 0x00000000),
DECL_RFK_WM(0x58ac, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x58ac, 0x0003fe00, 0x00000006),
DECL_RFK_WM(0x58ac, 0x07fc0000, 0x00000078),
};
DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_a_5g_3);
static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_a_5g_4[] = {
DECL_RFK_WM(0x5814, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f4, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f4, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x58f8, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x58f8, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x58a4, 0x0001ff00, 0x00000000),
DECL_RFK_WM(0x58a4, 0x03fe0000, 0x000001e5),
DECL_RFK_WM(0x58a8, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x58a8, 0x0003fe00, 0x0000000a),
DECL_RFK_WM(0x58a8, 0x07fc0000, 0x00000000),
DECL_RFK_WM(0x58ac, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x58ac, 0x0003fe00, 0x00000011),
DECL_RFK_WM(0x58ac, 0x07fc0000, 0x00000075),
};
DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_a_5g_4);
static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_b_2g[] = {
DECL_RFK_WM(0x7814, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f4, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f4, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x78f8, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f8, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x78a4, 0x0001ff00, 0x00000000),
DECL_RFK_WM(0x78a4, 0x03fe0000, 0x000001cc),
DECL_RFK_WM(0x78a8, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x78a8, 0x0003fe00, 0x000001e2),
DECL_RFK_WM(0x78a8, 0x07fc0000, 0x00000000),
DECL_RFK_WM(0x78ac, 0x000001ff, 0x00000005),
DECL_RFK_WM(0x78ac, 0x0003fe00, 0x00000000),
DECL_RFK_WM(0x78ac, 0x07fc0000, 0x00000089),
};
DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_b_2g);
static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_b_5g_1[] = {
DECL_RFK_WM(0x7814, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f4, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f4, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x78f8, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f8, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x78a4, 0x0001ff00, 0x00000000),
DECL_RFK_WM(0x78a4, 0x03fe0000, 0x000001d5),
DECL_RFK_WM(0x78a8, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x78a8, 0x0003fe00, 0x000001fc),
DECL_RFK_WM(0x78a8, 0x07fc0000, 0x00000000),
DECL_RFK_WM(0x78ac, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x78ac, 0x0003fe00, 0x00000005),
DECL_RFK_WM(0x78ac, 0x07fc0000, 0x00000079),
};
DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_b_5g_1);
static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_b_5g_3[] = {
DECL_RFK_WM(0x7814, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f4, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f4, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x78f8, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f8, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x78a4, 0x0001ff00, 0x00000000),
DECL_RFK_WM(0x78a4, 0x03fe0000, 0x000001dc),
DECL_RFK_WM(0x78a8, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x78a8, 0x0003fe00, 0x00000002),
DECL_RFK_WM(0x78a8, 0x07fc0000, 0x00000000),
DECL_RFK_WM(0x78ac, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x78ac, 0x0003fe00, 0x0000000b),
DECL_RFK_WM(0x78ac, 0x07fc0000, 0x00000076),
};
DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_b_5g_3);
static const struct rtw89_reg5_def rtw8852a_tssi_pak_defs_b_5g_4[] = {
DECL_RFK_WM(0x7814, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f4, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f4, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x78f8, 0x000003ff, 0x00000000),
DECL_RFK_WM(0x78f8, 0x000ffc00, 0x00000000),
DECL_RFK_WM(0x78a4, 0x0001ff00, 0x00000000),
DECL_RFK_WM(0x78a4, 0x03fe0000, 0x000001f0),
DECL_RFK_WM(0x78a8, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x78a8, 0x0003fe00, 0x00000016),
DECL_RFK_WM(0x78a8, 0x07fc0000, 0x00000000),
DECL_RFK_WM(0x78ac, 0x000001ff, 0x00000000),
DECL_RFK_WM(0x78ac, 0x0003fe00, 0x0000001f),
DECL_RFK_WM(0x78ac, 0x07fc0000, 0x00000072),
};
DECLARE_RFK_TBL(rtw8852a_tssi_pak_defs_b_5g_4);
static const struct rtw89_reg5_def rtw8852a_tssi_enable_defs_a[] = {
DECL_RFK_WRF(0x0, 0x55, 0x00080, 0x00001),
DECL_RFK_WM(0x5818, 0x000000ff, 0x000000c0),
DECL_RFK_WM(0x5818, 0x10000000, 0x00000000),
DECL_RFK_WM(0x5818, 0x10000000, 0x00000001),
DECL_RFK_WM(0x5820, 0x80000000, 0x00000000),
DECL_RFK_WM(0x5820, 0x80000000, 0x00000001),
DECL_RFK_WM(0x5818, 0x18000000, 0x00000003),
};
DECLARE_RFK_TBL(rtw8852a_tssi_enable_defs_a);
static const struct rtw89_reg5_def rtw8852a_tssi_enable_defs_b[] = {
DECL_RFK_WRF(0x1, 0x55, 0x00080, 0x00001),
DECL_RFK_WM(0x7818, 0x000000ff, 0x000000c0),
DECL_RFK_WM(0x7818, 0x10000000, 0x00000000),
DECL_RFK_WM(0x7818, 0x10000000, 0x00000001),
DECL_RFK_WM(0x7820, 0x80000000, 0x00000000),
DECL_RFK_WM(0x7820, 0x80000000, 0x00000001),
DECL_RFK_WM(0x7818, 0x18000000, 0x00000003),
};
DECLARE_RFK_TBL(rtw8852a_tssi_enable_defs_b);
static const struct rtw89_reg5_def rtw8852a_tssi_disable_defs[] = {
DECL_RFK_WM(0x5820, 0x80000000, 0x00000000),
DECL_RFK_WM(0x5818, 0x18000000, 0x00000001),
DECL_RFK_WM(0x7820, 0x80000000, 0x00000000),
DECL_RFK_WM(0x7818, 0x18000000, 0x00000001),
};
DECLARE_RFK_TBL(rtw8852a_tssi_disable_defs);
static const struct rtw89_reg5_def rtw8852a_tssi_enable_defs_ab[] = {
DECL_RFK_WM(0x5820, 0x80000000, 0x0),
DECL_RFK_WM(0x5820, 0x80000000, 0x1),
DECL_RFK_WM(0x5818, 0x18000000, 0x3),
DECL_RFK_WM(0x7820, 0x80000000, 0x0),
DECL_RFK_WM(0x7820, 0x80000000, 0x1),
DECL_RFK_WM(0x7818, 0x18000000, 0x3),
};
DECLARE_RFK_TBL(rtw8852a_tssi_enable_defs_ab);
static const struct rtw89_reg5_def rtw8852a_tssi_tracking_defs[] = {
DECL_RFK_WM(0x5800, 0x10000000, 0x00000000),
DECL_RFK_WM(0x58f0, 0x00080000, 0x00000000),
DECL_RFK_WM(0x5804, 0xf8000000, 0x00000000),
DECL_RFK_WM(0x58f0, 0xfff00000, 0x00000400),
DECL_RFK_WM(0x7800, 0x10000000, 0x00000000),
DECL_RFK_WM(0x78f0, 0x00080000, 0x00000000),
DECL_RFK_WM(0x7804, 0xf8000000, 0x00000000),
DECL_RFK_WM(0x78f0, 0xfff00000, 0x00000400),
};
DECLARE_RFK_TBL(rtw8852a_tssi_tracking_defs);
static const struct rtw89_reg5_def rtw8852a_rfk_afe_init_defs[] = {
DECL_RFK_WC(0x12ec, 0x00008000),
DECL_RFK_WS(0x12ec, 0x00008000),
DECL_RFK_WC(0x5e00, 0x00000001),
DECL_RFK_WS(0x5e00, 0x00000001),
DECL_RFK_WC(0x32ec, 0x00008000),
DECL_RFK_WS(0x32ec, 0x00008000),
DECL_RFK_WC(0x7e00, 0x00000001),
DECL_RFK_WS(0x7e00, 0x00000001),
};
DECLARE_RFK_TBL(rtw8852a_rfk_afe_init_defs);
static const struct rtw89_reg5_def rtw8852a_rfk_dack_reload_defs_a[] = {
DECL_RFK_WS(0x5e00, 0x00000008),
DECL_RFK_WS(0x5e50, 0x00000008),
DECL_RFK_WS(0x5e10, 0x80000000),
DECL_RFK_WS(0x5e60, 0x80000000),
DECL_RFK_WC(0x5e00, 0x00000008),
DECL_RFK_WC(0x5e50, 0x00000008),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dack_reload_defs_a);
static const struct rtw89_reg5_def rtw8852a_rfk_dack_reload_defs_b[] = {
DECL_RFK_WS(0x7e00, 0x00000008),
DECL_RFK_WS(0x7e50, 0x00000008),
DECL_RFK_WS(0x7e10, 0x80000000),
DECL_RFK_WS(0x7e60, 0x80000000),
DECL_RFK_WC(0x7e00, 0x00000008),
DECL_RFK_WC(0x7e50, 0x00000008),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dack_reload_defs_b);
static const struct rtw89_reg5_def rtw8852a_rfk_check_addc_defs_a[] = {
DECL_RFK_WC(0x20f4, 0x01000000),
DECL_RFK_WS(0x20f8, 0x80000000),
DECL_RFK_WM(0x20f0, 0x00ff0000, 0x00000001),
DECL_RFK_WM(0x20f0, 0x00000f00, 0x00000002),
DECL_RFK_WC(0x20f0, 0x0000000f),
DECL_RFK_WM(0x20f0, 0x000000c0, 0x00000002),
};
DECLARE_RFK_TBL(rtw8852a_rfk_check_addc_defs_a);
static const struct rtw89_reg5_def rtw8852a_rfk_check_addc_defs_b[] = {
DECL_RFK_WC(0x20f4, 0x01000000),
DECL_RFK_WS(0x20f8, 0x80000000),
DECL_RFK_WM(0x20f0, 0x00ff0000, 0x00000001),
DECL_RFK_WM(0x20f0, 0x00000f00, 0x00000002),
DECL_RFK_WC(0x20f0, 0x0000000f),
DECL_RFK_WM(0x20f0, 0x000000c0, 0x00000003),
};
DECLARE_RFK_TBL(rtw8852a_rfk_check_addc_defs_b);
static const struct rtw89_reg5_def rtw8852a_rfk_addck_reset_defs_a[] = {
DECL_RFK_WC(0x12d8, 0x00000030),
DECL_RFK_WC(0x32d8, 0x00000030),
DECL_RFK_WS(0x12b8, 0x40000000),
DECL_RFK_WC(0x032c, 0x40000000),
DECL_RFK_WC(0x032c, 0x00400000),
DECL_RFK_WS(0x032c, 0x00400000),
DECL_RFK_WS(0x030c, 0x0f000000),
DECL_RFK_WC(0x032c, 0x00010000),
DECL_RFK_WS(0x12dc, 0x00000002),
DECL_RFK_WM(0x030c, 0x0f000000, 0x00000003),
};
DECLARE_RFK_TBL(rtw8852a_rfk_addck_reset_defs_a);
static const struct rtw89_reg5_def rtw8852a_rfk_addck_trigger_defs_a[] = {
DECL_RFK_WS(0x12d8, 0x000000c0),
DECL_RFK_WS(0x12d8, 0x00000800),
DECL_RFK_WC(0x12d8, 0x00000800),
DECL_RFK_DELAY(1),
DECL_RFK_WM(0x12d8, 0x00000300, 0x00000001),
};
DECLARE_RFK_TBL(rtw8852a_rfk_addck_trigger_defs_a);
static const struct rtw89_reg5_def rtw8852a_rfk_addck_restore_defs_a[] = {
DECL_RFK_WC(0x12dc, 0x00000002),
DECL_RFK_WS(0x032c, 0x00010000),
DECL_RFK_WM(0x030c, 0x0f000000, 0x0000000c),
DECL_RFK_WS(0x032c, 0x40000000),
DECL_RFK_WC(0x12b8, 0x40000000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_addck_restore_defs_a);
static const struct rtw89_reg5_def rtw8852a_rfk_addck_reset_defs_b[] = {
DECL_RFK_WS(0x32b8, 0x40000000),
DECL_RFK_WC(0x032c, 0x40000000),
DECL_RFK_WC(0x032c, 0x00400000),
DECL_RFK_WS(0x032c, 0x00400000),
DECL_RFK_WS(0x030c, 0x0f000000),
DECL_RFK_WC(0x032c, 0x00010000),
DECL_RFK_WS(0x32dc, 0x00000002),
DECL_RFK_WM(0x030c, 0x0f000000, 0x00000003),
};
DECLARE_RFK_TBL(rtw8852a_rfk_addck_reset_defs_b);
static const struct rtw89_reg5_def rtw8852a_rfk_addck_trigger_defs_b[] = {
DECL_RFK_WS(0x32d8, 0x000000c0),
DECL_RFK_WS(0x32d8, 0x00000800),
DECL_RFK_WC(0x32d8, 0x00000800),
DECL_RFK_DELAY(1),
DECL_RFK_WM(0x32d8, 0x00000300, 0x00000001),
};
DECLARE_RFK_TBL(rtw8852a_rfk_addck_trigger_defs_b);
static const struct rtw89_reg5_def rtw8852a_rfk_addck_restore_defs_b[] = {
DECL_RFK_WC(0x32dc, 0x00000002),
DECL_RFK_WS(0x032c, 0x00010000),
DECL_RFK_WM(0x030c, 0x0f000000, 0x0000000c),
DECL_RFK_WS(0x032c, 0x40000000),
DECL_RFK_WC(0x32b8, 0x40000000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_addck_restore_defs_b);
static const struct rtw89_reg5_def rtw8852a_rfk_check_dadc_defs_f_a[] = {
DECL_RFK_WC(0x032c, 0x40000000),
DECL_RFK_WS(0x030c, 0x0f000000),
DECL_RFK_WM(0x030c, 0x0f000000, 0x00000003),
DECL_RFK_WC(0x032c, 0x00010000),
DECL_RFK_WS(0x12dc, 0x00000001),
DECL_RFK_WS(0x12e8, 0x00000004),
DECL_RFK_WRF(0x0, 0x8f, 0x02000, 0x00001),
};
DECLARE_RFK_TBL(rtw8852a_rfk_check_dadc_defs_f_a);
static const struct rtw89_reg5_def rtw8852a_rfk_check_dadc_defs_f_b[] = {
DECL_RFK_WC(0x032c, 0x40000000),
DECL_RFK_WS(0x030c, 0x0f000000),
DECL_RFK_WM(0x030c, 0x0f000000, 0x00000003),
DECL_RFK_WC(0x032c, 0x00010000),
DECL_RFK_WS(0x32dc, 0x00000001),
DECL_RFK_WS(0x32e8, 0x00000004),
DECL_RFK_WRF(0x1, 0x8f, 0x02000, 0x00001),
};
DECLARE_RFK_TBL(rtw8852a_rfk_check_dadc_defs_f_b);
static const struct rtw89_reg5_def rtw8852a_rfk_check_dadc_defs_r_a[] = {
DECL_RFK_WC(0x12dc, 0x00000001),
DECL_RFK_WC(0x12e8, 0x00000004),
DECL_RFK_WRF(0x0, 0x8f, 0x02000, 0x00000),
DECL_RFK_WM(0x032c, 0x00010000, 0x00000001),
};
DECLARE_RFK_TBL(rtw8852a_rfk_check_dadc_defs_r_a);
static const struct rtw89_reg5_def rtw8852a_rfk_check_dadc_defs_r_b[] = {
DECL_RFK_WC(0x32dc, 0x00000001),
DECL_RFK_WC(0x32e8, 0x00000004),
DECL_RFK_WRF(0x1, 0x8f, 0x02000, 0x00000),
DECL_RFK_WM(0x032c, 0x00010000, 0x00000001),
};
DECLARE_RFK_TBL(rtw8852a_rfk_check_dadc_defs_r_b);
static const struct rtw89_reg5_def rtw8852a_rfk_dack_defs_f_a[] = {
DECL_RFK_WS(0x5e00, 0x00000008),
DECL_RFK_WC(0x5e10, 0x80000000),
DECL_RFK_WS(0x5e50, 0x00000008),
DECL_RFK_WC(0x5e60, 0x80000000),
DECL_RFK_WS(0x12a0, 0x00008000),
DECL_RFK_WM(0x12a0, 0x00007000, 0x00000003),
DECL_RFK_WS(0x12b8, 0x40000000),
DECL_RFK_WS(0x030c, 0x10000000),
DECL_RFK_WC(0x032c, 0x80000000),
DECL_RFK_WS(0x12e0, 0x00010000),
DECL_RFK_WS(0x12e4, 0x0c000000),
DECL_RFK_WM(0x5e00, 0x03ff0000, 0x00000030),
DECL_RFK_WM(0x5e50, 0x03ff0000, 0x00000030),
DECL_RFK_WC(0x5e00, 0x0c000000),
DECL_RFK_WC(0x5e50, 0x0c000000),
DECL_RFK_WC(0x5e0c, 0x00000008),
DECL_RFK_WC(0x5e5c, 0x00000008),
DECL_RFK_WS(0x5e0c, 0x00000001),
DECL_RFK_WS(0x5e5c, 0x00000001),
DECL_RFK_DELAY(1),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dack_defs_f_a);
static const struct rtw89_reg5_def rtw8852a_rfk_dack_defs_m_a[] = {
DECL_RFK_WC(0x12e4, 0x0c000000),
DECL_RFK_WS(0x5e0c, 0x00000008),
DECL_RFK_WS(0x5e5c, 0x00000008),
DECL_RFK_DELAY(1),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dack_defs_m_a);
static const struct rtw89_reg5_def rtw8852a_rfk_dack_defs_r_a[] = {
DECL_RFK_WC(0x5e0c, 0x00000001),
DECL_RFK_WC(0x5e5c, 0x00000001),
DECL_RFK_WC(0x12e0, 0x00010000),
DECL_RFK_WC(0x12a0, 0x00008000),
DECL_RFK_WS(0x12a0, 0x00007000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dack_defs_r_a);
static const struct rtw89_reg5_def rtw8852a_rfk_dack_defs_f_b[] = {
DECL_RFK_WS(0x7e00, 0x00000008),
DECL_RFK_WC(0x7e10, 0x80000000),
DECL_RFK_WS(0x7e50, 0x00000008),
DECL_RFK_WC(0x7e60, 0x80000000),
DECL_RFK_WS(0x32a0, 0x00008000),
DECL_RFK_WM(0x32a0, 0x00007000, 0x00000003),
DECL_RFK_WS(0x32b8, 0x40000000),
DECL_RFK_WS(0x030c, 0x10000000),
DECL_RFK_WC(0x032c, 0x80000000),
DECL_RFK_WS(0x32e0, 0x00010000),
DECL_RFK_WS(0x32e4, 0x0c000000),
DECL_RFK_WM(0x7e00, 0x03ff0000, 0x00000030),
DECL_RFK_WM(0x7e50, 0x03ff0000, 0x00000030),
DECL_RFK_WC(0x7e00, 0x0c000000),
DECL_RFK_WC(0x7e50, 0x0c000000),
DECL_RFK_WC(0x7e0c, 0x00000008),
DECL_RFK_WC(0x7e5c, 0x00000008),
DECL_RFK_WS(0x7e0c, 0x00000001),
DECL_RFK_WS(0x7e5c, 0x00000001),
DECL_RFK_DELAY(1),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dack_defs_f_b);
static const struct rtw89_reg5_def rtw8852a_rfk_dack_defs_m_b[] = {
DECL_RFK_WC(0x32e4, 0x0c000000),
DECL_RFK_WM(0x7e0c, 0x00000008, 0x00000001),
DECL_RFK_WM(0x7e5c, 0x00000008, 0x00000001),
DECL_RFK_DELAY(1),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dack_defs_m_b);
static const struct rtw89_reg5_def rtw8852a_rfk_dack_defs_r_b[] = {
DECL_RFK_WC(0x7e0c, 0x00000001),
DECL_RFK_WC(0x7e5c, 0x00000001),
DECL_RFK_WC(0x32e0, 0x00010000),
DECL_RFK_WC(0x32a0, 0x00008000),
DECL_RFK_WS(0x32a0, 0x00007000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dack_defs_r_b);
static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_sf_defs_a[] = {
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000101),
DECL_RFK_WS(0x12b8, 0x40000000),
DECL_RFK_WM(0x030c, 0xff000000, 0x00000013),
DECL_RFK_WM(0x032c, 0xffff0000, 0x00000041),
DECL_RFK_WS(0x12b8, 0x10000000),
DECL_RFK_WS(0x58c8, 0x01000000),
DECL_RFK_WS(0x5864, 0xc0000000),
DECL_RFK_WS(0x2008, 0x01ffffff),
DECL_RFK_WS(0x0c1c, 0x00000004),
DECL_RFK_WS(0x0700, 0x08000000),
DECL_RFK_WS(0x0c70, 0x000003ff),
DECL_RFK_WS(0x0c60, 0x00000003),
DECL_RFK_WS(0x0c6c, 0x00000001),
DECL_RFK_WS(0x58ac, 0x08000000),
DECL_RFK_WS(0x0c3c, 0x00000200),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_sf_defs_a);
static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_sr_defs_a[] = {
DECL_RFK_WS(0x4490, 0x80000000),
DECL_RFK_WS(0x12a0, 0x00007000),
DECL_RFK_WS(0x12a0, 0x00008000),
DECL_RFK_WM(0x12a0, 0x00070000, 0x00000003),
DECL_RFK_WS(0x12a0, 0x00080000),
DECL_RFK_WS(0x0700, 0x01000000),
DECL_RFK_WM(0x0700, 0x06000000, 0x00000002),
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00001111),
DECL_RFK_WM(0x58f0, 0x00080000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_sr_defs_a);
static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_sf_defs_b[] = {
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000202),
DECL_RFK_WS(0x32b8, 0x40000000),
DECL_RFK_WM(0x030c, 0xff000000, 0x00000013),
DECL_RFK_WM(0x032c, 0xffff0000, 0x00000041),
DECL_RFK_WS(0x32b8, 0x10000000),
DECL_RFK_WS(0x78c8, 0x01000000),
DECL_RFK_WS(0x7864, 0xc0000000),
DECL_RFK_WS(0x2008, 0x01ffffff),
DECL_RFK_WS(0x2c1c, 0x00000004),
DECL_RFK_WS(0x2700, 0x08000000),
DECL_RFK_WS(0x0c70, 0x000003ff),
DECL_RFK_WS(0x0c60, 0x00000003),
DECL_RFK_WS(0x0c6c, 0x00000001),
DECL_RFK_WS(0x78ac, 0x08000000),
DECL_RFK_WS(0x2c3c, 0x00000200),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_sf_defs_b);
static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_sr_defs_b[] = {
DECL_RFK_WS(0x6490, 0x80000000),
DECL_RFK_WS(0x32a0, 0x00007000),
DECL_RFK_WS(0x32a0, 0x00008000),
DECL_RFK_WM(0x32a0, 0x00070000, 0x00000003),
DECL_RFK_WS(0x32a0, 0x00080000),
DECL_RFK_WS(0x2700, 0x01000000),
DECL_RFK_WM(0x2700, 0x06000000, 0x00000002),
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00002222),
DECL_RFK_WM(0x78f0, 0x00080000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_sr_defs_b);
static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_s_defs_ab[] = {
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000303),
DECL_RFK_WS(0x12b8, 0x40000000),
DECL_RFK_WS(0x32b8, 0x40000000),
DECL_RFK_WM(0x030c, 0xff000000, 0x00000013),
DECL_RFK_WM(0x032c, 0xffff0000, 0x00000041),
DECL_RFK_WS(0x12b8, 0x10000000),
DECL_RFK_WS(0x58c8, 0x01000000),
DECL_RFK_WS(0x78c8, 0x01000000),
DECL_RFK_WS(0x5864, 0xc0000000),
DECL_RFK_WS(0x7864, 0xc0000000),
DECL_RFK_WS(0x2008, 0x01ffffff),
DECL_RFK_WS(0x0c1c, 0x00000004),
DECL_RFK_WS(0x0700, 0x08000000),
DECL_RFK_WS(0x0c70, 0x000003ff),
DECL_RFK_WS(0x0c60, 0x00000003),
DECL_RFK_WS(0x0c6c, 0x00000001),
DECL_RFK_WS(0x58ac, 0x08000000),
DECL_RFK_WS(0x78ac, 0x08000000),
DECL_RFK_WS(0x0c3c, 0x00000200),
DECL_RFK_WS(0x2344, 0x80000000),
DECL_RFK_WS(0x4490, 0x80000000),
DECL_RFK_WS(0x12a0, 0x00007000),
DECL_RFK_WS(0x12a0, 0x00008000),
DECL_RFK_WM(0x12a0, 0x00070000, 0x00000003),
DECL_RFK_WS(0x12a0, 0x00080000),
DECL_RFK_WM(0x32a0, 0x00070000, 0x00000003),
DECL_RFK_WS(0x32a0, 0x00080000),
DECL_RFK_WS(0x0700, 0x01000000),
DECL_RFK_WM(0x0700, 0x06000000, 0x00000002),
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00003333),
DECL_RFK_WM(0x58f0, 0x00080000, 0x00000000),
DECL_RFK_WM(0x78f0, 0x00080000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_s_defs_ab);
static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_r_defs_a[] = {
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000101),
DECL_RFK_WC(0x12b8, 0x40000000),
DECL_RFK_WC(0x5864, 0xc0000000),
DECL_RFK_WC(0x2008, 0x01ffffff),
DECL_RFK_WC(0x0c1c, 0x00000004),
DECL_RFK_WC(0x0700, 0x08000000),
DECL_RFK_WM(0x0c70, 0x0000001f, 0x00000003),
DECL_RFK_WM(0x0c70, 0x000003e0, 0x00000003),
DECL_RFK_WC(0x12a0, 0x000ff000),
DECL_RFK_WC(0x0700, 0x07000000),
DECL_RFK_WC(0x5864, 0x20000000),
DECL_RFK_WC(0x0c3c, 0x00000200),
DECL_RFK_WC(0x20fc, 0xffff0000),
DECL_RFK_WC(0x58c8, 0x01000000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_r_defs_a);
static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_r_defs_b[] = {
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000202),
DECL_RFK_WC(0x32b8, 0x40000000),
DECL_RFK_WC(0x7864, 0xc0000000),
DECL_RFK_WC(0x2008, 0x01ffffff),
DECL_RFK_WC(0x2c1c, 0x00000004),
DECL_RFK_WC(0x2700, 0x08000000),
DECL_RFK_WM(0x0c70, 0x0000001f, 0x00000003),
DECL_RFK_WM(0x0c70, 0x000003e0, 0x00000003),
DECL_RFK_WC(0x32a0, 0x000ff000),
DECL_RFK_WC(0x2700, 0x07000000),
DECL_RFK_WC(0x7864, 0x20000000),
DECL_RFK_WC(0x2c3c, 0x00000200),
DECL_RFK_WC(0x20fc, 0xffff0000),
DECL_RFK_WC(0x78c8, 0x01000000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_r_defs_b);
static const struct rtw89_reg5_def rtw8852a_rfk_dpk_bb_afe_r_defs_ab[] = {
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000303),
DECL_RFK_WC(0x12b8, 0x40000000),
DECL_RFK_WC(0x32b8, 0x40000000),
DECL_RFK_WC(0x5864, 0xc0000000),
DECL_RFK_WC(0x7864, 0xc0000000),
DECL_RFK_WC(0x2008, 0x01ffffff),
DECL_RFK_WC(0x0c1c, 0x00000004),
DECL_RFK_WC(0x0700, 0x08000000),
DECL_RFK_WM(0x0c70, 0x0000001f, 0x00000003),
DECL_RFK_WM(0x0c70, 0x000003e0, 0x00000003),
DECL_RFK_WC(0x12a0, 0x000ff000),
DECL_RFK_WC(0x32a0, 0x000ff000),
DECL_RFK_WC(0x0700, 0x07000000),
DECL_RFK_WC(0x5864, 0x20000000),
DECL_RFK_WC(0x7864, 0x20000000),
DECL_RFK_WC(0x0c3c, 0x00000200),
DECL_RFK_WC(0x20fc, 0xffff0000),
DECL_RFK_WC(0x58c8, 0x01000000),
DECL_RFK_WC(0x78c8, 0x01000000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dpk_bb_afe_r_defs_ab);
static const struct rtw89_reg5_def rtw8852a_rfk_dpk_lbk_rxiqk_defs_f[] = {
DECL_RFK_WM(0x030c, 0xff000000, 0x0000000f),
DECL_RFK_DELAY(1),
DECL_RFK_WM(0x030c, 0xff000000, 0x00000003),
DECL_RFK_WM(0x032c, 0xffff0000, 0x0000a001),
DECL_RFK_DELAY(1),
DECL_RFK_WM(0x032c, 0xffff0000, 0x0000a041),
DECL_RFK_WS(0x8074, 0x80000000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dpk_lbk_rxiqk_defs_f);
static const struct rtw89_reg5_def rtw8852a_rfk_dpk_lbk_rxiqk_defs_r[] = {
DECL_RFK_WC(0x8074, 0x80000000),
DECL_RFK_WM(0x030c, 0xff000000, 0x0000001f),
DECL_RFK_DELAY(1),
DECL_RFK_WM(0x030c, 0xff000000, 0x00000013),
DECL_RFK_WM(0x032c, 0xffff0000, 0x00000001),
DECL_RFK_DELAY(1),
DECL_RFK_WM(0x032c, 0xffff0000, 0x00000041),
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000303),
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00003333),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dpk_lbk_rxiqk_defs_r);
static const struct rtw89_reg5_def rtw8852a_rfk_dpk_pas_read_defs[] = {
DECL_RFK_WM(0x80d4, 0x00ff0000, 0x00000006),
DECL_RFK_WC(0x80bc, 0x00004000),
DECL_RFK_WM(0x80c0, 0x00ff0000, 0x00000008),
};
DECLARE_RFK_TBL(rtw8852a_rfk_dpk_pas_read_defs);
static const struct rtw89_reg5_def rtw8852a_rfk_iqk_set_defs_nondbcc_path01[] = {
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000303),
DECL_RFK_WM(0x5864, 0x18000000, 0x00000003),
DECL_RFK_WM(0x7864, 0x18000000, 0x00000003),
DECL_RFK_WM(0x12b8, 0x40000000, 0x00000001),
DECL_RFK_WM(0x32b8, 0x40000000, 0x00000001),
DECL_RFK_WM(0x030c, 0xff000000, 0x00000013),
DECL_RFK_WM(0x032c, 0xffff0000, 0x00000001),
DECL_RFK_WM(0x12b8, 0x10000000, 0x00000001),
DECL_RFK_WM(0x58c8, 0x01000000, 0x00000001),
DECL_RFK_WM(0x78c8, 0x01000000, 0x00000001),
DECL_RFK_WM(0x5864, 0xc0000000, 0x00000003),
DECL_RFK_WM(0x7864, 0xc0000000, 0x00000003),
DECL_RFK_WM(0x2008, 0x01ffffff, 0x01ffffff),
DECL_RFK_WM(0x0c1c, 0x00000004, 0x00000001),
DECL_RFK_WM(0x0700, 0x08000000, 0x00000001),
DECL_RFK_WM(0x0c70, 0x000003ff, 0x000003ff),
DECL_RFK_WM(0x0c60, 0x00000003, 0x00000003),
DECL_RFK_WM(0x0c6c, 0x00000001, 0x00000001),
DECL_RFK_WM(0x58ac, 0x08000000, 0x00000001),
DECL_RFK_WM(0x78ac, 0x08000000, 0x00000001),
DECL_RFK_WM(0x0c3c, 0x00000200, 0x00000001),
DECL_RFK_WM(0x2344, 0x80000000, 0x00000001),
DECL_RFK_WM(0x4490, 0x80000000, 0x00000001),
DECL_RFK_WM(0x12a0, 0x00007000, 0x00000007),
DECL_RFK_WM(0x12a0, 0x00008000, 0x00000001),
DECL_RFK_WM(0x12a0, 0x00070000, 0x00000003),
DECL_RFK_WM(0x12a0, 0x00080000, 0x00000001),
DECL_RFK_WM(0x32a0, 0x00070000, 0x00000003),
DECL_RFK_WM(0x32a0, 0x00080000, 0x00000001),
DECL_RFK_WM(0x0700, 0x01000000, 0x00000001),
DECL_RFK_WM(0x0700, 0x06000000, 0x00000002),
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00003333),
DECL_RFK_WM(0x58f0, 0x00080000, 0x00000000),
DECL_RFK_WM(0x78f0, 0x00080000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_iqk_set_defs_nondbcc_path01);
static const struct rtw89_reg5_def rtw8852a_rfk_iqk_set_defs_dbcc_path0[] = {
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000101),
DECL_RFK_WM(0x5864, 0x18000000, 0x00000003),
DECL_RFK_WM(0x7864, 0x18000000, 0x00000003),
DECL_RFK_WM(0x12b8, 0x40000000, 0x00000001),
DECL_RFK_WM(0x030c, 0xff000000, 0x00000013),
DECL_RFK_WM(0x032c, 0xffff0000, 0x00000001),
DECL_RFK_WM(0x12b8, 0x10000000, 0x00000001),
DECL_RFK_WM(0x58c8, 0x01000000, 0x00000001),
DECL_RFK_WM(0x5864, 0xc0000000, 0x00000003),
DECL_RFK_WM(0x2008, 0x01ffffff, 0x01ffffff),
DECL_RFK_WM(0x0c1c, 0x00000004, 0x00000001),
DECL_RFK_WM(0x0700, 0x08000000, 0x00000001),
DECL_RFK_WM(0x0c70, 0x000003ff, 0x000003ff),
DECL_RFK_WM(0x0c60, 0x00000003, 0x00000003),
DECL_RFK_WM(0x0c6c, 0x00000001, 0x00000001),
DECL_RFK_WM(0x58ac, 0x08000000, 0x00000001),
DECL_RFK_WM(0x0c3c, 0x00000200, 0x00000001),
DECL_RFK_WM(0x2320, 0x00000001, 0x00000001),
DECL_RFK_WM(0x4490, 0x80000000, 0x00000001),
DECL_RFK_WM(0x12a0, 0x00007000, 0x00000007),
DECL_RFK_WM(0x12a0, 0x00008000, 0x00000001),
DECL_RFK_WM(0x12a0, 0x00070000, 0x00000003),
DECL_RFK_WM(0x12a0, 0x00080000, 0x00000001),
DECL_RFK_WM(0x0700, 0x01000000, 0x00000001),
DECL_RFK_WM(0x0700, 0x06000000, 0x00000002),
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00001111),
DECL_RFK_WM(0x58f0, 0x00080000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_iqk_set_defs_dbcc_path0);
static const struct rtw89_reg5_def rtw8852a_rfk_iqk_set_defs_dbcc_path1[] = {
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000202),
DECL_RFK_WM(0x7864, 0x18000000, 0x00000003),
DECL_RFK_WM(0x32b8, 0x40000000, 0x00000001),
DECL_RFK_WM(0x030c, 0xff000000, 0x00000013),
DECL_RFK_WM(0x032c, 0xffff0000, 0x00000001),
DECL_RFK_WM(0x32b8, 0x10000000, 0x00000001),
DECL_RFK_WM(0x78c8, 0x01000000, 0x00000001),
DECL_RFK_WM(0x7864, 0xc0000000, 0x00000003),
DECL_RFK_WM(0x2008, 0x01ffffff, 0x01ffffff),
DECL_RFK_WM(0x2c1c, 0x00000004, 0x00000001),
DECL_RFK_WM(0x2700, 0x08000000, 0x00000001),
DECL_RFK_WM(0x0c70, 0x000003ff, 0x000003ff),
DECL_RFK_WM(0x0c60, 0x00000003, 0x00000003),
DECL_RFK_WM(0x0c6c, 0x00000001, 0x00000001),
DECL_RFK_WM(0x78ac, 0x08000000, 0x00000001),
DECL_RFK_WM(0x2c3c, 0x00000200, 0x00000001),
DECL_RFK_WM(0x6490, 0x80000000, 0x00000001),
DECL_RFK_WM(0x32a0, 0x00007000, 0x00000007),
DECL_RFK_WM(0x32a0, 0x00008000, 0x00000001),
DECL_RFK_WM(0x32a0, 0x00070000, 0x00000003),
DECL_RFK_WM(0x32a0, 0x00080000, 0x00000001),
DECL_RFK_WM(0x2700, 0x01000000, 0x00000001),
DECL_RFK_WM(0x2700, 0x06000000, 0x00000002),
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00002222),
DECL_RFK_WM(0x78f0, 0x00080000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_iqk_set_defs_dbcc_path1);
static const struct rtw89_reg5_def rtw8852a_rfk_iqk_restore_defs_nondbcc_path01[] = {
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000303),
DECL_RFK_WM(0x12b8, 0x40000000, 0x00000000),
DECL_RFK_WM(0x32b8, 0x40000000, 0x00000000),
DECL_RFK_WM(0x5864, 0xc0000000, 0x00000000),
DECL_RFK_WM(0x7864, 0xc0000000, 0x00000000),
DECL_RFK_WM(0x2008, 0x01ffffff, 0x00000000),
DECL_RFK_WM(0x0c1c, 0x00000004, 0x00000000),
DECL_RFK_WM(0x0700, 0x08000000, 0x00000000),
DECL_RFK_WM(0x0c70, 0x0000001f, 0x00000003),
DECL_RFK_WM(0x0c70, 0x000003e0, 0x00000003),
DECL_RFK_WM(0x12a0, 0x000ff000, 0x00000000),
DECL_RFK_WM(0x32a0, 0x000ff000, 0x00000000),
DECL_RFK_WM(0x0700, 0x07000000, 0x00000000),
DECL_RFK_WM(0x5864, 0x20000000, 0x00000000),
DECL_RFK_WM(0x7864, 0x20000000, 0x00000000),
DECL_RFK_WM(0x0c3c, 0x00000200, 0x00000000),
DECL_RFK_WM(0x2320, 0x00000001, 0x00000000),
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000000),
DECL_RFK_WM(0x58c8, 0x01000000, 0x00000000),
DECL_RFK_WM(0x78c8, 0x01000000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_iqk_restore_defs_nondbcc_path01);
static const struct rtw89_reg5_def rtw8852a_rfk_iqk_restore_defs_dbcc_path0[] = {
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000101),
DECL_RFK_WM(0x12b8, 0x40000000, 0x00000000),
DECL_RFK_WM(0x5864, 0xc0000000, 0x00000000),
DECL_RFK_WM(0x2008, 0x01ffffff, 0x00000000),
DECL_RFK_WM(0x0c1c, 0x00000004, 0x00000000),
DECL_RFK_WM(0x0700, 0x08000000, 0x00000000),
DECL_RFK_WM(0x0c70, 0x0000001f, 0x00000003),
DECL_RFK_WM(0x0c70, 0x000003e0, 0x00000003),
DECL_RFK_WM(0x12a0, 0x000ff000, 0x00000000),
DECL_RFK_WM(0x0700, 0x07000000, 0x00000000),
DECL_RFK_WM(0x5864, 0x20000000, 0x00000000),
DECL_RFK_WM(0x0c3c, 0x00000200, 0x00000000),
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000000),
DECL_RFK_WM(0x58c8, 0x01000000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_iqk_restore_defs_dbcc_path0);
static const struct rtw89_reg5_def rtw8852a_rfk_iqk_restore_defs_dbcc_path1[] = {
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000202),
DECL_RFK_WM(0x32b8, 0x40000000, 0x00000000),
DECL_RFK_WM(0x7864, 0xc0000000, 0x00000000),
DECL_RFK_WM(0x2008, 0x01ffffff, 0x00000000),
DECL_RFK_WM(0x2c1c, 0x00000004, 0x00000000),
DECL_RFK_WM(0x2700, 0x08000000, 0x00000000),
DECL_RFK_WM(0x0c70, 0x0000001f, 0x00000003),
DECL_RFK_WM(0x0c70, 0x000003e0, 0x00000003),
DECL_RFK_WM(0x32a0, 0x000ff000, 0x00000000),
DECL_RFK_WM(0x2700, 0x07000000, 0x00000000),
DECL_RFK_WM(0x7864, 0x20000000, 0x00000000),
DECL_RFK_WM(0x2c3c, 0x00000200, 0x00000000),
DECL_RFK_WM(0x20fc, 0xffff0000, 0x00000000),
DECL_RFK_WM(0x78c8, 0x01000000, 0x00000000),
};
DECLARE_RFK_TBL(rtw8852a_rfk_iqk_restore_defs_dbcc_path1);