Path: blob/main/sys/contrib/dev/rtw89/rtw8851b_rfk_table.c
48253 views
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause1/* Copyright(c) 2022-2023 Realtek Corporation2*/34#include "rtw8851b_rfk_table.h"56static const struct rtw89_reg5_def rtw8851b_dadck_setup_defs[] = {7RTW89_DECL_RFK_WM(0xc210, 0x003fc000, 0x80),8RTW89_DECL_RFK_WM(0xc224, 0x003fc000, 0x80),9RTW89_DECL_RFK_WM(0xc0f8, 0x30000000, 0x3),10RTW89_DECL_RFK_WM(0x12b8, BIT(30), 0x1),11RTW89_DECL_RFK_WM(0x030c, 0x1f000000, 0x1f),12RTW89_DECL_RFK_WM(0x032c, 0xc0000000, 0x0),13RTW89_DECL_RFK_WM(0x032c, BIT(22), 0x0),14RTW89_DECL_RFK_WM(0x032c, BIT(22), 0x1),15RTW89_DECL_RFK_WM(0x032c, BIT(16), 0x0),16RTW89_DECL_RFK_WM(0x032c, BIT(20), 0x1),17RTW89_DECL_RFK_WM(0x030c, 0x0f000000, 0x3),18RTW89_DECL_RFK_WM(0xc0f4, BIT(2), 0x0),19RTW89_DECL_RFK_WM(0xc0f4, BIT(4), 0x0),20RTW89_DECL_RFK_WM(0xc0f4, BIT(11), 0x1),21RTW89_DECL_RFK_WM(0xc0f4, BIT(11), 0x0),22RTW89_DECL_RFK_DELAY(1),23RTW89_DECL_RFK_WM(0xc0f4, 0x300, 0x1),24};2526RTW89_DECLARE_RFK_TBL(rtw8851b_dadck_setup_defs);2728static const struct rtw89_reg5_def rtw8851b_dadck_post_defs[] = {29RTW89_DECL_RFK_WM(0x032c, BIT(16), 0x1),30RTW89_DECL_RFK_WM(0x032c, BIT(20), 0x0),31RTW89_DECL_RFK_WM(0x030c, 0x1f000000, 0xc),32RTW89_DECL_RFK_WM(0x032c, 0xc0000000, 0x1),33RTW89_DECL_RFK_WM(0x12b8, BIT(30), 0x0),34};3536RTW89_DECLARE_RFK_TBL(rtw8851b_dadck_post_defs);3738static const struct rtw89_reg5_def rtw8851b_dack_s0_1_defs[] = {39RTW89_DECL_RFK_WM(0x12a0, BIT(15), 0x1),40RTW89_DECL_RFK_WM(0x12a0, 0x7000, 0x3),41RTW89_DECL_RFK_WM(0x12b8, BIT(30), 0x1),42RTW89_DECL_RFK_WM(0x030c, BIT(28), 0x1),43RTW89_DECL_RFK_WM(0x032c, 0x80000000, 0x0),44};4546RTW89_DECLARE_RFK_TBL(rtw8851b_dack_s0_1_defs);4748static const struct rtw89_reg5_def rtw8851b_dack_s0_2_defs[] = {49RTW89_DECL_RFK_WM(0xc004, BIT(0), 0x0),50RTW89_DECL_RFK_WM(0x12a0, BIT(15), 0x0),51RTW89_DECL_RFK_WM(0x12a0, 0x7000, 0x7),52};5354RTW89_DECLARE_RFK_TBL(rtw8851b_dack_s0_2_defs);5556static const struct rtw89_reg5_def rtw8851b_dack_manual_off_defs[] = {57RTW89_DECL_RFK_WM(0xc0f8, 0x30000000, 0x0),58RTW89_DECL_RFK_WM(0xc210, BIT(0), 0x0),59RTW89_DECL_RFK_WM(0xc224, BIT(0), 0x0),60};6162RTW89_DECLARE_RFK_TBL(rtw8851b_dack_manual_off_defs);6364static const struct rtw89_reg5_def rtw8851b_iqk_rxclk_80_defs[] = {65RTW89_DECL_RFK_WM(0x5670, 0x60000000, 0x1),66RTW89_DECL_RFK_WM(0xc0ec, 0x00006000, 0x0),67RTW89_DECL_RFK_WM(0x12b8, 0x40000000, 0x1),68RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x0f),69RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x03),70RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0001),71RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0041),72RTW89_DECL_RFK_WM(0x20fc, 0xffff0000, 0x1101),73};7475RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_rxclk_80_defs);7677static const struct rtw89_reg5_def rtw8851b_iqk_rxclk_others_defs[] = {78RTW89_DECL_RFK_WM(0x5670, 0x60000000, 0x0),79RTW89_DECL_RFK_WM(0xc0ec, 0x00006000, 0x2),80RTW89_DECL_RFK_WM(0x12b8, 0x40000000, 0x1),81RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x0f),82RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x03),83RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0001),84RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0041),85RTW89_DECL_RFK_WM(0x20fc, 0xffff0000, 0x1101),86};8788RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_rxclk_others_defs);8990static const struct rtw89_reg5_def rtw8851b_iqk_txk_2ghz_defs[] = {91RTW89_DECL_RFK_WRF(RF_PATH_A, 0x51, 0x80000, 0x0),92RTW89_DECL_RFK_WRF(RF_PATH_A, 0x51, 0x00800, 0x0),93RTW89_DECL_RFK_WRF(RF_PATH_A, 0x52, 0x00800, 0x0),94RTW89_DECL_RFK_WRF(RF_PATH_A, 0x55, 0x0001f, 0x4),95RTW89_DECL_RFK_WRF(RF_PATH_A, 0xef, 0x00004, 0x1),96RTW89_DECL_RFK_WRF(RF_PATH_A, 0x00, 0xffff0, 0x403e),97RTW89_DECL_RFK_WRF(RF_PATH_A, 0x11, 0x00003, 0x0),98RTW89_DECL_RFK_WRF(RF_PATH_A, 0x11, 0x00070, 0x6),99RTW89_DECL_RFK_WRF(RF_PATH_A, 0x11, 0x1f000, 0x10),100RTW89_DECL_RFK_DELAY(1),101};102103RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_txk_2ghz_defs);104105static const struct rtw89_reg5_def rtw8851b_iqk_txk_5ghz_defs[] = {106RTW89_DECL_RFK_WRF(RF_PATH_A, 0x60, 0x00007, 0x0),107RTW89_DECL_RFK_WRF(RF_PATH_A, 0x55, 0x0001f, 0x4),108RTW89_DECL_RFK_WRF(RF_PATH_A, 0xef, 0x00004, 0x1),109RTW89_DECL_RFK_WRF(RF_PATH_A, 0x00, 0xffff0, 0x403e),110RTW89_DECL_RFK_WRF(RF_PATH_A, 0x11, 0x00003, 0x0),111RTW89_DECL_RFK_WRF(RF_PATH_A, 0x11, 0x00070, 0x7),112RTW89_DECL_RFK_WRF(RF_PATH_A, 0x11, 0x1f000, 0x7),113RTW89_DECL_RFK_DELAY(1),114};115116RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_txk_5ghz_defs);117118static const struct rtw89_reg5_def rtw8851b_iqk_afebb_restore_defs[] = {119RTW89_DECL_RFK_WM(0x12b8, 0x40000000, 0x0),120RTW89_DECL_RFK_WM(0x20fc, 0x00010000, 0x1),121RTW89_DECL_RFK_WM(0x20fc, 0x00100000, 0x0),122RTW89_DECL_RFK_WM(0x20fc, 0x01000000, 0x1),123RTW89_DECL_RFK_WM(0x20fc, 0x10000000, 0x0),124RTW89_DECL_RFK_WM(0x5670, MASKDWORD, 0x00000000),125RTW89_DECL_RFK_WM(0x12a0, 0x000ff000, 0x00),126RTW89_DECL_RFK_WM(0x20fc, 0x00010000, 0x0),127RTW89_DECL_RFK_WM(0x20fc, 0x01000000, 0x0),128RTW89_DECL_RFK_WRF(RF_PATH_A, 0x10005, 0x00001, 0x1),129};130131RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_afebb_restore_defs);132133static const struct rtw89_reg5_def rtw8851b_iqk_macbb_defs[] = {134RTW89_DECL_RFK_WRF(RF_PATH_A, 0x10005, 0x00001, 0x0),135RTW89_DECL_RFK_WM(0x20fc, 0x00010000, 0x1),136RTW89_DECL_RFK_WM(0x20fc, 0x00100000, 0x0),137RTW89_DECL_RFK_WM(0x20fc, 0x01000000, 0x1),138RTW89_DECL_RFK_WM(0x20fc, 0x10000000, 0x0),139RTW89_DECL_RFK_WM(0x5670, MASKDWORD, 0xf801fffd),140RTW89_DECL_RFK_WM(0x5670, 0x00004000, 0x1),141RTW89_DECL_RFK_WM(0x5670, 0x80000000, 0x1),142};143144RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_macbb_defs);145146static const struct rtw89_reg5_def rtw8851b_iqk_macbb_bh_defs[] = {147RTW89_DECL_RFK_WM(0x5670, 0x60000000, 0x2),148RTW89_DECL_RFK_WM(0x12b8, 0x40000000, 0x1),149RTW89_DECL_RFK_DELAY(2),150RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x1f),151RTW89_DECL_RFK_DELAY(10),152RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x13),153RTW89_DECL_RFK_DELAY(2),154RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0001),155RTW89_DECL_RFK_DELAY(2),156RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0041),157RTW89_DECL_RFK_DELAY(10),158RTW89_DECL_RFK_WM(0x12b8, 0x40000000, 0x1),159RTW89_DECL_RFK_DELAY(2),160RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x1f),161RTW89_DECL_RFK_DELAY(10),162RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x13),163RTW89_DECL_RFK_DELAY(2),164RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0001),165RTW89_DECL_RFK_DELAY(2),166RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0041),167RTW89_DECL_RFK_DELAY(10),168RTW89_DECL_RFK_WM(0x20fc, 0x00100000, 0x1),169RTW89_DECL_RFK_WM(0x20fc, 0x10000000, 0x1),170};171172RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_macbb_bh_defs);173174static const struct rtw89_reg5_def rtw8851b_tssi_sys_defs[] = {175RTW89_DECL_RFK_WM(0x12bc, 0x000ffff0, 0xb5b5),176RTW89_DECL_RFK_WM(0x32bc, 0x000ffff0, 0xb5b5),177RTW89_DECL_RFK_WM(0x0300, 0xff000000, 0x16),178RTW89_DECL_RFK_WM(0x0304, 0x0000ffff, 0x1f19),179RTW89_DECL_RFK_WM(0x0308, 0xff000000, 0x1c),180RTW89_DECL_RFK_WM(0x0314, 0xffff0000, 0x2041),181RTW89_DECL_RFK_WM(0x0318, 0xffffffff, 0x20012041),182RTW89_DECL_RFK_WM(0x0324, 0xffff0000, 0x2001),183RTW89_DECL_RFK_WM(0x0020, 0x00006000, 0x3),184RTW89_DECL_RFK_WM(0x0024, 0x00006000, 0x3),185RTW89_DECL_RFK_WM(0x0704, 0xffff0000, 0x601e),186RTW89_DECL_RFK_WM(0x2704, 0xffff0000, 0x601e),187RTW89_DECL_RFK_WM(0x0700, 0xf0000000, 0x4),188RTW89_DECL_RFK_WM(0x2700, 0xf0000000, 0x4),189RTW89_DECL_RFK_WM(0x0650, 0x3c000000, 0x0),190RTW89_DECL_RFK_WM(0x2650, 0x3c000000, 0x0),191};192193RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_sys_defs);194195static const struct rtw89_reg5_def rtw8851b_tssi_sys_a_defs_2g[] = {196RTW89_DECL_RFK_WM(0x120c, 0x000000ff, 0x33),197RTW89_DECL_RFK_WM(0x12c0, 0x0ff00000, 0x33),198RTW89_DECL_RFK_WM(0x58f8, 0x40000000, 0x1),199RTW89_DECL_RFK_WM(0x5814, 0x20000000, 0x0),200};201202RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_sys_a_defs_2g);203204static const struct rtw89_reg5_def rtw8851b_tssi_sys_a_defs_5g[] = {205RTW89_DECL_RFK_WM(0x120c, 0x000000ff, 0x44),206RTW89_DECL_RFK_WM(0x12c0, 0x0ff00000, 0x44),207RTW89_DECL_RFK_WM(0x58f8, 0x40000000, 0x0),208RTW89_DECL_RFK_WM(0x5814, 0x20000000, 0x0),209};210211RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_sys_a_defs_5g);212213static const struct rtw89_reg5_def rtw8851b_tssi_init_txpwr_defs_a[] = {214RTW89_DECL_RFK_WM(0x566c, 0x00001000, 0x0),215RTW89_DECL_RFK_WM(0x5800, 0xffffffff, 0x003f807f),216RTW89_DECL_RFK_WM(0x580c, 0x0000007f, 0x40),217RTW89_DECL_RFK_WM(0x580c, 0x0fffff00, 0x00040),218RTW89_DECL_RFK_WM(0x5810, 0xffffffff, 0x59010000),219RTW89_DECL_RFK_WM(0x5814, 0x01ffffff, 0x026d000),220RTW89_DECL_RFK_WM(0x5814, 0xf8000000, 0x00),221RTW89_DECL_RFK_WM(0x5818, 0x00ffffff, 0x2c18e8),222RTW89_DECL_RFK_WM(0x5818, 0x07000000, 0x0),223RTW89_DECL_RFK_WM(0x5818, 0xf0000000, 0x0),224RTW89_DECL_RFK_WM(0x581c, 0x3fffffff, 0x3dc80280),225RTW89_DECL_RFK_WM(0x5820, 0xffffffff, 0x00000080),226RTW89_DECL_RFK_WM(0x58e8, 0x0000003f, 0x04),227RTW89_DECL_RFK_WM(0x580c, 0x10000000, 0x1),228RTW89_DECL_RFK_WM(0x580c, 0x40000000, 0x1),229RTW89_DECL_RFK_WM(0x5834, 0x3fffffff, 0x000115f2),230RTW89_DECL_RFK_WM(0x5838, 0x7fffffff, 0x0000121),231RTW89_DECL_RFK_WM(0x5854, 0x3fffffff, 0x000115f2),232RTW89_DECL_RFK_WM(0x5858, 0x7fffffff, 0x0000121),233RTW89_DECL_RFK_WM(0x5860, 0x80000000, 0x0),234RTW89_DECL_RFK_WM(0x5864, 0x07ffffff, 0x00801ff),235RTW89_DECL_RFK_WM(0x5898, MASKDWORD, 0x00000000),236RTW89_DECL_RFK_WM(0x589c, MASKDWORD, 0x00000000),237RTW89_DECL_RFK_WM(0x58a4, 0x000000ff, 0x16),238RTW89_DECL_RFK_WM(0x58b0, MASKDWORD, 0x00000000),239RTW89_DECL_RFK_WM(0x58b4, 0x7fffffff, 0x0a002000),240RTW89_DECL_RFK_WM(0x58b8, 0x7fffffff, 0x00007628),241RTW89_DECL_RFK_WM(0x58bc, 0x07ffffff, 0x7a7807f),242RTW89_DECL_RFK_WM(0x58c0, 0xfffe0000, 0x003f),243RTW89_DECL_RFK_WM(0x58c4, 0xffffffff, 0x0003ffff),244RTW89_DECL_RFK_WM(0x58c8, 0x00ffffff, 0x000000),245RTW89_DECL_RFK_WM(0x58c8, 0xf0000000, 0x0),246RTW89_DECL_RFK_WM(0x58cc, MASKDWORD, 0x00000000),247RTW89_DECL_RFK_WM(0x58d0, 0x07ffffff, 0x2008101),248RTW89_DECL_RFK_WM(0x58d4, 0x000000ff, 0x00),249RTW89_DECL_RFK_WM(0x58d4, 0x0003fe00, 0x0ff),250RTW89_DECL_RFK_WM(0x58d4, 0x07fc0000, 0x100),251RTW89_DECL_RFK_WM(0x58d8, 0xffffffff, 0x8008016c),252RTW89_DECL_RFK_WM(0x58dc, 0x0001ffff, 0x0807f),253RTW89_DECL_RFK_WM(0x58dc, 0xfff00000, 0x800),254RTW89_DECL_RFK_WM(0x58f0, 0x0003ffff, 0x001ff),255RTW89_DECL_RFK_WM(0x58f4, 0x000fffff, 0x00000),256RTW89_DECL_RFK_WM(0x58f8, 0x000fffff, 0x00000),257};258259RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_init_txpwr_defs_a);260261static const struct rtw89_reg5_def rtw8851b_tssi_init_txpwr_he_tb_defs_a[] = {262RTW89_DECL_RFK_WM(0x58a0, MASKDWORD, 0x000000fe),263RTW89_DECL_RFK_WM(0x58e4, 0x0000007f, 0x1f),264};265266RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_init_txpwr_he_tb_defs_a);267268static const struct rtw89_reg5_def rtw8851b_tssi_dck_defs_a[] = {269RTW89_DECL_RFK_WM(0x580c, 0x0fff0000, 0x000),270RTW89_DECL_RFK_WM(0x5814, 0x00001000, 0x1),271RTW89_DECL_RFK_WM(0x5814, 0x00002000, 0x1),272RTW89_DECL_RFK_WM(0x5814, 0x00004000, 0x1),273RTW89_DECL_RFK_WM(0x5814, 0x00038000, 0x3),274RTW89_DECL_RFK_WM(0x5814, 0x003c0000, 0x5),275RTW89_DECL_RFK_WM(0x5814, 0x18000000, 0x0),276};277278RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_dck_defs_a);279280static const struct rtw89_reg5_def rtw8851b_tssi_dac_gain_defs_a[] = {281RTW89_DECL_RFK_WM(0x58b0, 0x00000fff, 0x000),282RTW89_DECL_RFK_WM(0x5a00, MASKDWORD, 0x00000000),283RTW89_DECL_RFK_WM(0x5a04, MASKDWORD, 0x00000000),284RTW89_DECL_RFK_WM(0x5a08, MASKDWORD, 0x00000000),285RTW89_DECL_RFK_WM(0x5a0c, MASKDWORD, 0x00000000),286RTW89_DECL_RFK_WM(0x5a10, MASKDWORD, 0x00000000),287RTW89_DECL_RFK_WM(0x5a14, MASKDWORD, 0x00000000),288RTW89_DECL_RFK_WM(0x5a18, MASKDWORD, 0x00000000),289RTW89_DECL_RFK_WM(0x5a1c, MASKDWORD, 0x00000000),290RTW89_DECL_RFK_WM(0x5a20, MASKDWORD, 0x00000000),291RTW89_DECL_RFK_WM(0x5a24, MASKDWORD, 0x00000000),292RTW89_DECL_RFK_WM(0x5a28, MASKDWORD, 0x00000000),293RTW89_DECL_RFK_WM(0x5a2c, MASKDWORD, 0x00000000),294RTW89_DECL_RFK_WM(0x5a30, MASKDWORD, 0x00000000),295RTW89_DECL_RFK_WM(0x5a34, MASKDWORD, 0x00000000),296RTW89_DECL_RFK_WM(0x5a38, MASKDWORD, 0x00000000),297RTW89_DECL_RFK_WM(0x5a3c, MASKDWORD, 0x00000000),298RTW89_DECL_RFK_WM(0x5a40, MASKDWORD, 0x00000000),299RTW89_DECL_RFK_WM(0x5a44, MASKDWORD, 0x00000000),300RTW89_DECL_RFK_WM(0x5a48, MASKDWORD, 0x00000000),301RTW89_DECL_RFK_WM(0x5a4c, MASKDWORD, 0x00000000),302RTW89_DECL_RFK_WM(0x5a50, MASKDWORD, 0x00000000),303RTW89_DECL_RFK_WM(0x5a54, MASKDWORD, 0x00000000),304RTW89_DECL_RFK_WM(0x5a58, MASKDWORD, 0x00000000),305RTW89_DECL_RFK_WM(0x5a5c, MASKDWORD, 0x00000000),306RTW89_DECL_RFK_WM(0x5a60, MASKDWORD, 0x00000000),307RTW89_DECL_RFK_WM(0x5a64, MASKDWORD, 0x00000000),308RTW89_DECL_RFK_WM(0x5a68, MASKDWORD, 0x00000000),309RTW89_DECL_RFK_WM(0x5a6c, MASKDWORD, 0x00000000),310RTW89_DECL_RFK_WM(0x5a70, MASKDWORD, 0x00000000),311RTW89_DECL_RFK_WM(0x5a74, MASKDWORD, 0x00000000),312RTW89_DECL_RFK_WM(0x5a78, MASKDWORD, 0x00000000),313RTW89_DECL_RFK_WM(0x5a7c, MASKDWORD, 0x00000000),314RTW89_DECL_RFK_WM(0x5a80, MASKDWORD, 0x00000000),315RTW89_DECL_RFK_WM(0x5a84, MASKDWORD, 0x00000000),316RTW89_DECL_RFK_WM(0x5a88, MASKDWORD, 0x00000000),317RTW89_DECL_RFK_WM(0x5a8c, MASKDWORD, 0x00000000),318RTW89_DECL_RFK_WM(0x5a90, MASKDWORD, 0x00000000),319RTW89_DECL_RFK_WM(0x5a94, MASKDWORD, 0x00000000),320RTW89_DECL_RFK_WM(0x5a98, MASKDWORD, 0x00000000),321RTW89_DECL_RFK_WM(0x5a9c, MASKDWORD, 0x00000000),322RTW89_DECL_RFK_WM(0x5aa0, MASKDWORD, 0x00000000),323RTW89_DECL_RFK_WM(0x5aa4, MASKDWORD, 0x00000000),324RTW89_DECL_RFK_WM(0x5aa8, MASKDWORD, 0x00000000),325RTW89_DECL_RFK_WM(0x5aac, MASKDWORD, 0x00000000),326RTW89_DECL_RFK_WM(0x5ab0, MASKDWORD, 0x00000000),327RTW89_DECL_RFK_WM(0x5ab4, MASKDWORD, 0x00000000),328RTW89_DECL_RFK_WM(0x5ab8, MASKDWORD, 0x00000000),329RTW89_DECL_RFK_WM(0x5abc, MASKDWORD, 0x00000000),330RTW89_DECL_RFK_WM(0x5ac0, MASKDWORD, 0x00000000),331};332333RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_dac_gain_defs_a);334335static const struct rtw89_reg5_def rtw8851b_tssi_slope_a_defs_2g[] = {336RTW89_DECL_RFK_WM(0x5608, 0x07ffffff, 0x0201008),337RTW89_DECL_RFK_WM(0x560c, 0x07ffffff, 0x0201008),338RTW89_DECL_RFK_WM(0x5610, 0x07ffffff, 0x0200e08),339RTW89_DECL_RFK_WM(0x5614, 0x07ffffff, 0x0201008),340RTW89_DECL_RFK_WM(0x5618, 0x07ffffff, 0x0201008),341RTW89_DECL_RFK_WM(0x561c, 0x000001ff, 0x007),342RTW89_DECL_RFK_WM(0x561c, 0xffff0000, 0x0808),343RTW89_DECL_RFK_WM(0x5620, 0xffffffff, 0x08080808),344RTW89_DECL_RFK_WM(0x5624, 0xffffffff, 0x08080808),345RTW89_DECL_RFK_WM(0x5628, 0xffffffff, 0x08080808),346RTW89_DECL_RFK_WM(0x562c, 0x0000ffff, 0x0808),347RTW89_DECL_RFK_WM(0x581c, 0x00100000, 0x1),348};349350RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_slope_a_defs_2g);351352static const struct rtw89_reg5_def rtw8851b_tssi_slope_a_defs_5g[] = {353RTW89_DECL_RFK_WM(0x5608, 0x07ffffff, 0x0201008),354RTW89_DECL_RFK_WM(0x560c, 0x07ffffff, 0x0341a08),355RTW89_DECL_RFK_WM(0x5610, 0x07ffffff, 0x0201417),356RTW89_DECL_RFK_WM(0x5614, 0x07ffffff, 0x0201008),357RTW89_DECL_RFK_WM(0x5618, 0x07ffffff, 0x0201008),358RTW89_DECL_RFK_WM(0x561c, 0x000001ff, 0x008),359RTW89_DECL_RFK_WM(0x561c, 0xffff0000, 0x0808),360RTW89_DECL_RFK_WM(0x5620, 0xffffffff, 0x0e0e0808),361RTW89_DECL_RFK_WM(0x5624, 0xffffffff, 0x08080d18),362RTW89_DECL_RFK_WM(0x5628, 0xffffffff, 0x08080808),363RTW89_DECL_RFK_WM(0x562c, 0x0000ffff, 0x0808),364RTW89_DECL_RFK_WM(0x581c, 0x00100000, 0x1),365};366367RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_slope_a_defs_5g);368369static const struct rtw89_reg5_def rtw8851b_tssi_align_a_2g_defs[] = {370RTW89_DECL_RFK_WM(0x5604, 0x80000000, 0x1),371RTW89_DECL_RFK_WM(0x5600, 0x3fffffff, 0x000000),372RTW89_DECL_RFK_WM(0x5604, 0x003fffff, 0x2d2400),373RTW89_DECL_RFK_WM(0x5630, 0x3fffffff, 0x00000000),374RTW89_DECL_RFK_WM(0x5634, 0x000003ff, 0x000),375RTW89_DECL_RFK_WM(0x5634, 0x000ffc00, 0x000),376RTW89_DECL_RFK_WM(0x5634, 0x3ff00000, 0x3fa),377RTW89_DECL_RFK_WM(0x5638, 0x000003ff, 0x02e),378RTW89_DECL_RFK_WM(0x5638, 0x000ffc00, 0x09c),379RTW89_DECL_RFK_WM(0x563c, 0x3fffffff, 0x00000000),380RTW89_DECL_RFK_WM(0x5640, 0x3fffffff, 0x3fb00000),381RTW89_DECL_RFK_WM(0x5644, 0x000003ff, 0x02f),382RTW89_DECL_RFK_WM(0x5644, 0x000ffc00, 0x09c),383};384385RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_align_a_2g_defs);386387static const struct rtw89_reg5_def rtw8851b_tssi_align_a_5g_defs[] = {388RTW89_DECL_RFK_WM(0x5604, 0x80000000, 0x1),389RTW89_DECL_RFK_WM(0x5600, 0x3fffffff, 0x000000),390RTW89_DECL_RFK_WM(0x5604, 0x003fffff, 0x3b2d24),391RTW89_DECL_RFK_WM(0x5630, 0x3fffffff, 0x00000000),392RTW89_DECL_RFK_WM(0x5634, 0x000003ff, 0x000),393RTW89_DECL_RFK_WM(0x5634, 0x000ffc00, 0x3cb),394RTW89_DECL_RFK_WM(0x5634, 0x3ff00000, 0x030),395RTW89_DECL_RFK_WM(0x5638, 0x000003ff, 0x73),396RTW89_DECL_RFK_WM(0x5638, 0x000ffc00, 0xd4),397RTW89_DECL_RFK_WM(0x563c, 0x3fffffff, 0x00000000),398RTW89_DECL_RFK_WM(0x5640, 0x3fffffff, 0x00000000),399RTW89_DECL_RFK_WM(0x5644, 0x000fffff, 0x00000),400};401402RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_align_a_5g_defs);403404static const struct rtw89_reg5_def rtw8851b_tssi_slope_defs_a[] = {405RTW89_DECL_RFK_WM(0x5820, 0x80000000, 0x0),406RTW89_DECL_RFK_WM(0x5818, 0x10000000, 0x0),407RTW89_DECL_RFK_WM(0x5814, 0x00000800, 0x1),408RTW89_DECL_RFK_WM(0x581c, 0x20000000, 0x1),409RTW89_DECL_RFK_WM(0x5820, 0x0000f000, 0xf),410RTW89_DECL_RFK_WM(0x581c, 0x000003ff, 0x280),411RTW89_DECL_RFK_WM(0x581c, 0x000ffc00, 0x200),412RTW89_DECL_RFK_WM(0x58b8, 0x007f0000, 0x00),413RTW89_DECL_RFK_WM(0x58b8, 0x7f000000, 0x00),414RTW89_DECL_RFK_WM(0x58b4, 0x7f000000, 0x0a),415RTW89_DECL_RFK_WM(0x58b8, 0x0000007f, 0x28),416RTW89_DECL_RFK_WM(0x58b8, 0x00007f00, 0x76),417RTW89_DECL_RFK_WM(0x5810, 0x20000000, 0x0),418RTW89_DECL_RFK_WM(0x580c, 0x10000000, 0x1),419RTW89_DECL_RFK_WM(0x580c, 0x40000000, 0x1),420RTW89_DECL_RFK_WM(0x5834, 0x0003ffff, 0x115f2),421RTW89_DECL_RFK_WM(0x5834, 0x3ffc0000, 0x000),422RTW89_DECL_RFK_WM(0x5838, 0x00000fff, 0x121),423RTW89_DECL_RFK_WM(0x5838, 0x003ff000, 0x000),424RTW89_DECL_RFK_WM(0x5854, 0x0003ffff, 0x115f2),425RTW89_DECL_RFK_WM(0x5854, 0x3ffc0000, 0x000),426RTW89_DECL_RFK_WM(0x5858, 0x00000fff, 0x121),427RTW89_DECL_RFK_WM(0x5858, 0x003ff000, 0x000),428RTW89_DECL_RFK_WM(0x5824, 0x0003ffff, 0x115f2),429RTW89_DECL_RFK_WM(0x5824, 0x3ffc0000, 0x000),430RTW89_DECL_RFK_WM(0x5828, 0x00000fff, 0x121),431RTW89_DECL_RFK_WM(0x5828, 0x003ff000, 0x000),432RTW89_DECL_RFK_WM(0x582c, 0x0003ffff, 0x115f2),433RTW89_DECL_RFK_WM(0x582c, 0x3ffc0000, 0x000),434RTW89_DECL_RFK_WM(0x5830, 0x00000fff, 0x121),435RTW89_DECL_RFK_WM(0x5830, 0x003ff000, 0x000),436RTW89_DECL_RFK_WM(0x583c, 0x0003ffff, 0x115f2),437RTW89_DECL_RFK_WM(0x583c, 0x3ffc0000, 0x000),438RTW89_DECL_RFK_WM(0x5840, 0x00000fff, 0x121),439RTW89_DECL_RFK_WM(0x5840, 0x003ff000, 0x000),440RTW89_DECL_RFK_WM(0x5844, 0x0003ffff, 0x115f2),441RTW89_DECL_RFK_WM(0x5844, 0x3ffc0000, 0x000),442RTW89_DECL_RFK_WM(0x5848, 0x00000fff, 0x121),443RTW89_DECL_RFK_WM(0x5848, 0x003ff000, 0x000),444RTW89_DECL_RFK_WM(0x584c, 0x0003ffff, 0x115f2),445RTW89_DECL_RFK_WM(0x584c, 0x3ffc0000, 0x000),446RTW89_DECL_RFK_WM(0x5850, 0x00000fff, 0x121),447RTW89_DECL_RFK_WM(0x5850, 0x003ff000, 0x000),448RTW89_DECL_RFK_WM(0x585c, 0x0003ffff, 0x115f2),449RTW89_DECL_RFK_WM(0x585c, 0x3ffc0000, 0x000),450RTW89_DECL_RFK_WM(0x5860, 0x00000fff, 0x121),451RTW89_DECL_RFK_WM(0x5860, 0x003ff000, 0x000),452};453454RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_slope_defs_a);455456static const struct rtw89_reg5_def rtw8851b_tssi_track_defs_a[] = {457RTW89_DECL_RFK_WM(0x5820, 0x80000000, 0x0),458RTW89_DECL_RFK_WM(0x5818, 0x10000000, 0x0),459RTW89_DECL_RFK_WM(0x5814, 0x00000800, 0x0),460RTW89_DECL_RFK_WM(0x581c, 0x20000000, 0x1),461RTW89_DECL_RFK_WM(0x5864, 0x000003ff, 0x1ff),462RTW89_DECL_RFK_WM(0x5864, 0x000ffc00, 0x200),463RTW89_DECL_RFK_WM(0x5820, 0x00000fff, 0x080),464RTW89_DECL_RFK_WM(0x5814, 0x01000000, 0x0),465};466467RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_track_defs_a);468469static const struct rtw89_reg5_def rtw8851b_tssi_mv_avg_defs_a[] = {470RTW89_DECL_RFK_WM(0x58e4, 0x00003800, 0x1),471RTW89_DECL_RFK_WM(0x58e4, 0x00004000, 0x0),472RTW89_DECL_RFK_WM(0x58e4, 0x00008000, 0x1),473RTW89_DECL_RFK_WM(0x58e4, 0x000f0000, 0x0),474};475476RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_mv_avg_defs_a);477478static const struct rtw89_reg5_def rtw8851b_nctl_post_defs[] = {479RTW89_DECL_RFK_WM(0x5864, 0x18000000, 0x3),480RTW89_DECL_RFK_WM(0x7864, 0x18000000, 0x3),481RTW89_DECL_RFK_WM(0x030c, 0xff000000, 0x13),482RTW89_DECL_RFK_WM(0x032c, 0xffff0000, 0x0041),483RTW89_DECL_RFK_WM(0x12b8, 0x10000000, 0x1),484RTW89_DECL_RFK_WM(0x2008, 0x01ffffff, 0x00fffff),485RTW89_DECL_RFK_WM(0x0c60, 0x00000003, 0x3),486RTW89_DECL_RFK_WM(0x0c6c, 0x00000001, 0x1),487RTW89_DECL_RFK_WM(0x58ac, 0x08000000, 0x1),488RTW89_DECL_RFK_WM(0x78ac, 0x08000000, 0x1),489RTW89_DECL_RFK_WM(0x0730, 0x00003800, 0x7),490RTW89_DECL_RFK_WM(0x2730, 0x00003800, 0x7),491RTW89_DECL_RFK_WM(0x0c7c, 0x00e00000, 0x1),492RTW89_DECL_RFK_WM(0x58c0, 0x0001ffff, 0x00000),493RTW89_DECL_RFK_WM(0x78c0, 0x0001ffff, 0x00000),494RTW89_DECL_RFK_WM(0x58fc, 0x3f000000, 0x00),495RTW89_DECL_RFK_WM(0x78fc, 0x3f000000, 0x00),496};497498RTW89_DECLARE_RFK_TBL(rtw8851b_nctl_post_defs);499500501