// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/* Copyright(c) 2022-2023 Realtek Corporation
*/
#include "rtw8851b_rfk_table.h"
static const struct rtw89_reg5_def rtw8851b_dadck_setup_defs[] = {
RTW89_DECL_RFK_WM(0 xc210, 0 x003fc000, 0 x80),
RTW89_DECL_RFK_WM(0 xc224, 0 x003fc000, 0 x80),
RTW89_DECL_RFK_WM(0 xc0f8, 0 x30000000, 0 x3),
RTW89_DECL_RFK_WM(0 x12b8, BIT(30 ), 0 x1),
RTW89_DECL_RFK_WM(0 x030c, 0 x1f000000, 0 x1f),
RTW89_DECL_RFK_WM(0 x032c, 0 xc0000000, 0 x0),
RTW89_DECL_RFK_WM(0 x032c, BIT(22 ), 0 x0),
RTW89_DECL_RFK_WM(0 x032c, BIT(22 ), 0 x1),
RTW89_DECL_RFK_WM(0 x032c, BIT(16 ), 0 x0),
RTW89_DECL_RFK_WM(0 x032c, BIT(20 ), 0 x1),
RTW89_DECL_RFK_WM(0 x030c, 0 x0f000000, 0 x3),
RTW89_DECL_RFK_WM(0 xc0f4, BIT(2 ), 0 x0),
RTW89_DECL_RFK_WM(0 xc0f4, BIT(4 ), 0 x0),
RTW89_DECL_RFK_WM(0 xc0f4, BIT(11 ), 0 x1),
RTW89_DECL_RFK_WM(0 xc0f4, BIT(11 ), 0 x0),
RTW89_DECL_RFK_DELAY(1 ),
RTW89_DECL_RFK_WM(0 xc0f4, 0 x300, 0 x1),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_dadck_setup_defs);
static const struct rtw89_reg5_def rtw8851b_dadck_post_defs[] = {
RTW89_DECL_RFK_WM(0 x032c, BIT(16 ), 0 x1),
RTW89_DECL_RFK_WM(0 x032c, BIT(20 ), 0 x0),
RTW89_DECL_RFK_WM(0 x030c, 0 x1f000000, 0 xc),
RTW89_DECL_RFK_WM(0 x032c, 0 xc0000000, 0 x1),
RTW89_DECL_RFK_WM(0 x12b8, BIT(30 ), 0 x0),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_dadck_post_defs);
static const struct rtw89_reg5_def rtw8851b_dack_s0_1_defs[] = {
RTW89_DECL_RFK_WM(0 x12a0, BIT(15 ), 0 x1),
RTW89_DECL_RFK_WM(0 x12a0, 0 x7000, 0 x3),
RTW89_DECL_RFK_WM(0 x12b8, BIT(30 ), 0 x1),
RTW89_DECL_RFK_WM(0 x030c, BIT(28 ), 0 x1),
RTW89_DECL_RFK_WM(0 x032c, 0 x80000000, 0 x0),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_dack_s0_1_defs);
static const struct rtw89_reg5_def rtw8851b_dack_s0_2_defs[] = {
RTW89_DECL_RFK_WM(0 xc004, BIT(0 ), 0 x0),
RTW89_DECL_RFK_WM(0 x12a0, BIT(15 ), 0 x0),
RTW89_DECL_RFK_WM(0 x12a0, 0 x7000, 0 x7),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_dack_s0_2_defs);
static const struct rtw89_reg5_def rtw8851b_dack_manual_off_defs[] = {
RTW89_DECL_RFK_WM(0 xc0f8, 0 x30000000, 0 x0),
RTW89_DECL_RFK_WM(0 xc210, BIT(0 ), 0 x0),
RTW89_DECL_RFK_WM(0 xc224, BIT(0 ), 0 x0),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_dack_manual_off_defs);
static const struct rtw89_reg5_def rtw8851b_iqk_rxclk_80_defs[] = {
RTW89_DECL_RFK_WM(0 x5670, 0 x60000000, 0 x1),
RTW89_DECL_RFK_WM(0 xc0ec, 0 x00006000, 0 x0),
RTW89_DECL_RFK_WM(0 x12b8, 0 x40000000, 0 x1),
RTW89_DECL_RFK_WM(0 x030c, 0 xff000000, 0 x0f),
RTW89_DECL_RFK_WM(0 x030c, 0 xff000000, 0 x03),
RTW89_DECL_RFK_WM(0 x032c, 0 xffff0000, 0 x0001),
RTW89_DECL_RFK_WM(0 x032c, 0 xffff0000, 0 x0041),
RTW89_DECL_RFK_WM(0 x20fc, 0 xffff0000, 0 x1101),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_rxclk_80_defs);
static const struct rtw89_reg5_def rtw8851b_iqk_rxclk_others_defs[] = {
RTW89_DECL_RFK_WM(0 x5670, 0 x60000000, 0 x0),
RTW89_DECL_RFK_WM(0 xc0ec, 0 x00006000, 0 x2),
RTW89_DECL_RFK_WM(0 x12b8, 0 x40000000, 0 x1),
RTW89_DECL_RFK_WM(0 x030c, 0 xff000000, 0 x0f),
RTW89_DECL_RFK_WM(0 x030c, 0 xff000000, 0 x03),
RTW89_DECL_RFK_WM(0 x032c, 0 xffff0000, 0 x0001),
RTW89_DECL_RFK_WM(0 x032c, 0 xffff0000, 0 x0041),
RTW89_DECL_RFK_WM(0 x20fc, 0 xffff0000, 0 x1101),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_rxclk_others_defs);
static const struct rtw89_reg5_def rtw8851b_iqk_txk_2ghz_defs[] = {
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x51, 0 x80000, 0 x0),
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x51, 0 x00800, 0 x0),
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x52, 0 x00800, 0 x0),
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x55, 0 x0001f, 0 x4),
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 xef, 0 x00004, 0 x1),
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x00, 0 xffff0, 0 x403e),
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x11, 0 x00003, 0 x0),
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x11, 0 x00070, 0 x6),
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x11, 0 x1f000, 0 x10),
RTW89_DECL_RFK_DELAY(1 ),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_txk_2ghz_defs);
static const struct rtw89_reg5_def rtw8851b_iqk_txk_5ghz_defs[] = {
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x60, 0 x00007, 0 x0),
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x55, 0 x0001f, 0 x4),
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 xef, 0 x00004, 0 x1),
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x00, 0 xffff0, 0 x403e),
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x11, 0 x00003, 0 x0),
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x11, 0 x00070, 0 x7),
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x11, 0 x1f000, 0 x7),
RTW89_DECL_RFK_DELAY(1 ),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_txk_5ghz_defs);
static const struct rtw89_reg5_def rtw8851b_iqk_afebb_restore_defs[] = {
RTW89_DECL_RFK_WM(0 x12b8, 0 x40000000, 0 x0),
RTW89_DECL_RFK_WM(0 x20fc, 0 x00010000, 0 x1),
RTW89_DECL_RFK_WM(0 x20fc, 0 x00100000, 0 x0),
RTW89_DECL_RFK_WM(0 x20fc, 0 x01000000, 0 x1),
RTW89_DECL_RFK_WM(0 x20fc, 0 x10000000, 0 x0),
RTW89_DECL_RFK_WM(0 x5670, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x12a0, 0 x000ff000, 0 x00),
RTW89_DECL_RFK_WM(0 x20fc, 0 x00010000, 0 x0),
RTW89_DECL_RFK_WM(0 x20fc, 0 x01000000, 0 x0),
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x10005, 0 x00001, 0 x1),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_afebb_restore_defs);
static const struct rtw89_reg5_def rtw8851b_iqk_macbb_defs[] = {
RTW89_DECL_RFK_WRF(RF_PATH_A, 0 x10005, 0 x00001, 0 x0),
RTW89_DECL_RFK_WM(0 x20fc, 0 x00010000, 0 x1),
RTW89_DECL_RFK_WM(0 x20fc, 0 x00100000, 0 x0),
RTW89_DECL_RFK_WM(0 x20fc, 0 x01000000, 0 x1),
RTW89_DECL_RFK_WM(0 x20fc, 0 x10000000, 0 x0),
RTW89_DECL_RFK_WM(0 x5670, MASKDWORD, 0 xf801fffd),
RTW89_DECL_RFK_WM(0 x5670, 0 x00004000, 0 x1),
RTW89_DECL_RFK_WM(0 x5670, 0 x80000000, 0 x1),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_macbb_defs);
static const struct rtw89_reg5_def rtw8851b_iqk_macbb_bh_defs[] = {
RTW89_DECL_RFK_WM(0 x5670, 0 x60000000, 0 x2),
RTW89_DECL_RFK_WM(0 x12b8, 0 x40000000, 0 x1),
RTW89_DECL_RFK_DELAY(2 ),
RTW89_DECL_RFK_WM(0 x030c, 0 xff000000, 0 x1f),
RTW89_DECL_RFK_DELAY(10 ),
RTW89_DECL_RFK_WM(0 x030c, 0 xff000000, 0 x13),
RTW89_DECL_RFK_DELAY(2 ),
RTW89_DECL_RFK_WM(0 x032c, 0 xffff0000, 0 x0001),
RTW89_DECL_RFK_DELAY(2 ),
RTW89_DECL_RFK_WM(0 x032c, 0 xffff0000, 0 x0041),
RTW89_DECL_RFK_DELAY(10 ),
RTW89_DECL_RFK_WM(0 x12b8, 0 x40000000, 0 x1),
RTW89_DECL_RFK_DELAY(2 ),
RTW89_DECL_RFK_WM(0 x030c, 0 xff000000, 0 x1f),
RTW89_DECL_RFK_DELAY(10 ),
RTW89_DECL_RFK_WM(0 x030c, 0 xff000000, 0 x13),
RTW89_DECL_RFK_DELAY(2 ),
RTW89_DECL_RFK_WM(0 x032c, 0 xffff0000, 0 x0001),
RTW89_DECL_RFK_DELAY(2 ),
RTW89_DECL_RFK_WM(0 x032c, 0 xffff0000, 0 x0041),
RTW89_DECL_RFK_DELAY(10 ),
RTW89_DECL_RFK_WM(0 x20fc, 0 x00100000, 0 x1),
RTW89_DECL_RFK_WM(0 x20fc, 0 x10000000, 0 x1),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_iqk_macbb_bh_defs);
static const struct rtw89_reg5_def rtw8851b_tssi_sys_defs[] = {
RTW89_DECL_RFK_WM(0 x12bc, 0 x000ffff0, 0 xb5b5),
RTW89_DECL_RFK_WM(0 x32bc, 0 x000ffff0, 0 xb5b5),
RTW89_DECL_RFK_WM(0 x0300, 0 xff000000, 0 x16),
RTW89_DECL_RFK_WM(0 x0304, 0 x0000ffff, 0 x1f19),
RTW89_DECL_RFK_WM(0 x0308, 0 xff000000, 0 x1c),
RTW89_DECL_RFK_WM(0 x0314, 0 xffff0000, 0 x2041),
RTW89_DECL_RFK_WM(0 x0318, 0 xffffffff, 0 x20012041),
RTW89_DECL_RFK_WM(0 x0324, 0 xffff0000, 0 x2001),
RTW89_DECL_RFK_WM(0 x0020, 0 x00006000, 0 x3),
RTW89_DECL_RFK_WM(0 x0024, 0 x00006000, 0 x3),
RTW89_DECL_RFK_WM(0 x0704, 0 xffff0000, 0 x601e),
RTW89_DECL_RFK_WM(0 x2704, 0 xffff0000, 0 x601e),
RTW89_DECL_RFK_WM(0 x0700, 0 xf0000000, 0 x4),
RTW89_DECL_RFK_WM(0 x2700, 0 xf0000000, 0 x4),
RTW89_DECL_RFK_WM(0 x0650, 0 x3c000000, 0 x0),
RTW89_DECL_RFK_WM(0 x2650, 0 x3c000000, 0 x0),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_sys_defs);
static const struct rtw89_reg5_def rtw8851b_tssi_sys_a_defs_2g[] = {
RTW89_DECL_RFK_WM(0 x120c, 0 x000000ff, 0 x33),
RTW89_DECL_RFK_WM(0 x12c0, 0 x0ff00000, 0 x33),
RTW89_DECL_RFK_WM(0 x58f8, 0 x40000000, 0 x1),
RTW89_DECL_RFK_WM(0 x5814, 0 x20000000, 0 x0),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_sys_a_defs_2g);
static const struct rtw89_reg5_def rtw8851b_tssi_sys_a_defs_5g[] = {
RTW89_DECL_RFK_WM(0 x120c, 0 x000000ff, 0 x44),
RTW89_DECL_RFK_WM(0 x12c0, 0 x0ff00000, 0 x44),
RTW89_DECL_RFK_WM(0 x58f8, 0 x40000000, 0 x0),
RTW89_DECL_RFK_WM(0 x5814, 0 x20000000, 0 x0),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_sys_a_defs_5g);
static const struct rtw89_reg5_def rtw8851b_tssi_init_txpwr_defs_a[] = {
RTW89_DECL_RFK_WM(0 x566c, 0 x00001000, 0 x0),
RTW89_DECL_RFK_WM(0 x5800, 0 xffffffff, 0 x003f807f),
RTW89_DECL_RFK_WM(0 x580c, 0 x0000007f, 0 x40),
RTW89_DECL_RFK_WM(0 x580c, 0 x0fffff00, 0 x00040),
RTW89_DECL_RFK_WM(0 x5810, 0 xffffffff, 0 x59010000),
RTW89_DECL_RFK_WM(0 x5814, 0 x01ffffff, 0 x026d000),
RTW89_DECL_RFK_WM(0 x5814, 0 xf8000000, 0 x00),
RTW89_DECL_RFK_WM(0 x5818, 0 x00ffffff, 0 x2c18e8),
RTW89_DECL_RFK_WM(0 x5818, 0 x07000000, 0 x0),
RTW89_DECL_RFK_WM(0 x5818, 0 xf0000000, 0 x0),
RTW89_DECL_RFK_WM(0 x581c, 0 x3fffffff, 0 x3dc80280),
RTW89_DECL_RFK_WM(0 x5820, 0 xffffffff, 0 x00000080),
RTW89_DECL_RFK_WM(0 x58e8, 0 x0000003f, 0 x04),
RTW89_DECL_RFK_WM(0 x580c, 0 x10000000, 0 x1),
RTW89_DECL_RFK_WM(0 x580c, 0 x40000000, 0 x1),
RTW89_DECL_RFK_WM(0 x5834, 0 x3fffffff, 0 x000115f2),
RTW89_DECL_RFK_WM(0 x5838, 0 x7fffffff, 0 x0000121),
RTW89_DECL_RFK_WM(0 x5854, 0 x3fffffff, 0 x000115f2),
RTW89_DECL_RFK_WM(0 x5858, 0 x7fffffff, 0 x0000121),
RTW89_DECL_RFK_WM(0 x5860, 0 x80000000, 0 x0),
RTW89_DECL_RFK_WM(0 x5864, 0 x07ffffff, 0 x00801ff),
RTW89_DECL_RFK_WM(0 x5898, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x589c, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x58a4, 0 x000000ff, 0 x16),
RTW89_DECL_RFK_WM(0 x58b0, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x58b4, 0 x7fffffff, 0 x0a002000),
RTW89_DECL_RFK_WM(0 x58b8, 0 x7fffffff, 0 x00007628),
RTW89_DECL_RFK_WM(0 x58bc, 0 x07ffffff, 0 x7a7807f),
RTW89_DECL_RFK_WM(0 x58c0, 0 xfffe0000, 0 x003f),
RTW89_DECL_RFK_WM(0 x58c4, 0 xffffffff, 0 x0003ffff),
RTW89_DECL_RFK_WM(0 x58c8, 0 x00ffffff, 0 x000000),
RTW89_DECL_RFK_WM(0 x58c8, 0 xf0000000, 0 x0),
RTW89_DECL_RFK_WM(0 x58cc, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x58d0, 0 x07ffffff, 0 x2008101),
RTW89_DECL_RFK_WM(0 x58d4, 0 x000000ff, 0 x00),
RTW89_DECL_RFK_WM(0 x58d4, 0 x0003fe00, 0 x0ff),
RTW89_DECL_RFK_WM(0 x58d4, 0 x07fc0000, 0 x100),
RTW89_DECL_RFK_WM(0 x58d8, 0 xffffffff, 0 x8008016c),
RTW89_DECL_RFK_WM(0 x58dc, 0 x0001ffff, 0 x0807f),
RTW89_DECL_RFK_WM(0 x58dc, 0 xfff00000, 0 x800),
RTW89_DECL_RFK_WM(0 x58f0, 0 x0003ffff, 0 x001ff),
RTW89_DECL_RFK_WM(0 x58f4, 0 x000fffff, 0 x00000),
RTW89_DECL_RFK_WM(0 x58f8, 0 x000fffff, 0 x00000),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_init_txpwr_defs_a);
static const struct rtw89_reg5_def rtw8851b_tssi_init_txpwr_he_tb_defs_a[] = {
RTW89_DECL_RFK_WM(0 x58a0, MASKDWORD, 0 x000000fe),
RTW89_DECL_RFK_WM(0 x58e4, 0 x0000007f, 0 x1f),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_init_txpwr_he_tb_defs_a);
static const struct rtw89_reg5_def rtw8851b_tssi_dck_defs_a[] = {
RTW89_DECL_RFK_WM(0 x580c, 0 x0fff0000, 0 x000),
RTW89_DECL_RFK_WM(0 x5814, 0 x00001000, 0 x1),
RTW89_DECL_RFK_WM(0 x5814, 0 x00002000, 0 x1),
RTW89_DECL_RFK_WM(0 x5814, 0 x00004000, 0 x1),
RTW89_DECL_RFK_WM(0 x5814, 0 x00038000, 0 x3),
RTW89_DECL_RFK_WM(0 x5814, 0 x003c0000, 0 x5),
RTW89_DECL_RFK_WM(0 x5814, 0 x18000000, 0 x0),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_dck_defs_a);
static const struct rtw89_reg5_def rtw8851b_tssi_dac_gain_defs_a[] = {
RTW89_DECL_RFK_WM(0 x58b0, 0 x00000fff, 0 x000),
RTW89_DECL_RFK_WM(0 x5a00, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a04, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a08, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a0c, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a10, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a14, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a18, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a1c, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a20, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a24, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a28, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a2c, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a30, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a34, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a38, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a3c, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a40, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a44, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a48, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a4c, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a50, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a54, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a58, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a5c, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a60, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a64, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a68, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a6c, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a70, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a74, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a78, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a7c, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a80, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a84, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a88, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a8c, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a90, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a94, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a98, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5a9c, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5aa0, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5aa4, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5aa8, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5aac, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5ab0, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5ab4, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5ab8, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5abc, MASKDWORD, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5ac0, MASKDWORD, 0 x00000000),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_dac_gain_defs_a);
static const struct rtw89_reg5_def rtw8851b_tssi_slope_a_defs_2g[] = {
RTW89_DECL_RFK_WM(0 x5608, 0 x07ffffff, 0 x0201008),
RTW89_DECL_RFK_WM(0 x560c, 0 x07ffffff, 0 x0201008),
RTW89_DECL_RFK_WM(0 x5610, 0 x07ffffff, 0 x0200e08),
RTW89_DECL_RFK_WM(0 x5614, 0 x07ffffff, 0 x0201008),
RTW89_DECL_RFK_WM(0 x5618, 0 x07ffffff, 0 x0201008),
RTW89_DECL_RFK_WM(0 x561c, 0 x000001ff, 0 x007),
RTW89_DECL_RFK_WM(0 x561c, 0 xffff0000, 0 x0808),
RTW89_DECL_RFK_WM(0 x5620, 0 xffffffff, 0 x08080808),
RTW89_DECL_RFK_WM(0 x5624, 0 xffffffff, 0 x08080808),
RTW89_DECL_RFK_WM(0 x5628, 0 xffffffff, 0 x08080808),
RTW89_DECL_RFK_WM(0 x562c, 0 x0000ffff, 0 x0808),
RTW89_DECL_RFK_WM(0 x581c, 0 x00100000, 0 x1),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_slope_a_defs_2g);
static const struct rtw89_reg5_def rtw8851b_tssi_slope_a_defs_5g[] = {
RTW89_DECL_RFK_WM(0 x5608, 0 x07ffffff, 0 x0201008),
RTW89_DECL_RFK_WM(0 x560c, 0 x07ffffff, 0 x0341a08),
RTW89_DECL_RFK_WM(0 x5610, 0 x07ffffff, 0 x0201417),
RTW89_DECL_RFK_WM(0 x5614, 0 x07ffffff, 0 x0201008),
RTW89_DECL_RFK_WM(0 x5618, 0 x07ffffff, 0 x0201008),
RTW89_DECL_RFK_WM(0 x561c, 0 x000001ff, 0 x008),
RTW89_DECL_RFK_WM(0 x561c, 0 xffff0000, 0 x0808),
RTW89_DECL_RFK_WM(0 x5620, 0 xffffffff, 0 x0e0e0808),
RTW89_DECL_RFK_WM(0 x5624, 0 xffffffff, 0 x08080d18),
RTW89_DECL_RFK_WM(0 x5628, 0 xffffffff, 0 x08080808),
RTW89_DECL_RFK_WM(0 x562c, 0 x0000ffff, 0 x0808),
RTW89_DECL_RFK_WM(0 x581c, 0 x00100000, 0 x1),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_slope_a_defs_5g);
static const struct rtw89_reg5_def rtw8851b_tssi_align_a_2g_defs[] = {
RTW89_DECL_RFK_WM(0 x5604, 0 x80000000, 0 x1),
RTW89_DECL_RFK_WM(0 x5600, 0 x3fffffff, 0 x000000),
RTW89_DECL_RFK_WM(0 x5604, 0 x003fffff, 0 x2d2400),
RTW89_DECL_RFK_WM(0 x5630, 0 x3fffffff, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5634, 0 x000003ff, 0 x000),
RTW89_DECL_RFK_WM(0 x5634, 0 x000ffc00, 0 x000),
RTW89_DECL_RFK_WM(0 x5634, 0 x3ff00000, 0 x3fa),
RTW89_DECL_RFK_WM(0 x5638, 0 x000003ff, 0 x02e),
RTW89_DECL_RFK_WM(0 x5638, 0 x000ffc00, 0 x09c),
RTW89_DECL_RFK_WM(0 x563c, 0 x3fffffff, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5640, 0 x3fffffff, 0 x3fb00000),
RTW89_DECL_RFK_WM(0 x5644, 0 x000003ff, 0 x02f),
RTW89_DECL_RFK_WM(0 x5644, 0 x000ffc00, 0 x09c),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_align_a_2g_defs);
static const struct rtw89_reg5_def rtw8851b_tssi_align_a_5g_defs[] = {
RTW89_DECL_RFK_WM(0 x5604, 0 x80000000, 0 x1),
RTW89_DECL_RFK_WM(0 x5600, 0 x3fffffff, 0 x000000),
RTW89_DECL_RFK_WM(0 x5604, 0 x003fffff, 0 x3b2d24),
RTW89_DECL_RFK_WM(0 x5630, 0 x3fffffff, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5634, 0 x000003ff, 0 x000),
RTW89_DECL_RFK_WM(0 x5634, 0 x000ffc00, 0 x3cb),
RTW89_DECL_RFK_WM(0 x5634, 0 x3ff00000, 0 x030),
RTW89_DECL_RFK_WM(0 x5638, 0 x000003ff, 0 x73),
RTW89_DECL_RFK_WM(0 x5638, 0 x000ffc00, 0 xd4),
RTW89_DECL_RFK_WM(0 x563c, 0 x3fffffff, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5640, 0 x3fffffff, 0 x00000000),
RTW89_DECL_RFK_WM(0 x5644, 0 x000fffff, 0 x00000),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_align_a_5g_defs);
static const struct rtw89_reg5_def rtw8851b_tssi_slope_defs_a[] = {
RTW89_DECL_RFK_WM(0 x5820, 0 x80000000, 0 x0),
RTW89_DECL_RFK_WM(0 x5818, 0 x10000000, 0 x0),
RTW89_DECL_RFK_WM(0 x5814, 0 x00000800, 0 x1),
RTW89_DECL_RFK_WM(0 x581c, 0 x20000000, 0 x1),
RTW89_DECL_RFK_WM(0 x5820, 0 x0000f000, 0 xf),
RTW89_DECL_RFK_WM(0 x581c, 0 x000003ff, 0 x280),
RTW89_DECL_RFK_WM(0 x581c, 0 x000ffc00, 0 x200),
RTW89_DECL_RFK_WM(0 x58b8, 0 x007f0000, 0 x00),
RTW89_DECL_RFK_WM(0 x58b8, 0 x7f000000, 0 x00),
RTW89_DECL_RFK_WM(0 x58b4, 0 x7f000000, 0 x0a),
RTW89_DECL_RFK_WM(0 x58b8, 0 x0000007f, 0 x28),
RTW89_DECL_RFK_WM(0 x58b8, 0 x00007f00, 0 x76),
RTW89_DECL_RFK_WM(0 x5810, 0 x20000000, 0 x0),
RTW89_DECL_RFK_WM(0 x580c, 0 x10000000, 0 x1),
RTW89_DECL_RFK_WM(0 x580c, 0 x40000000, 0 x1),
RTW89_DECL_RFK_WM(0 x5834, 0 x0003ffff, 0 x115f2),
RTW89_DECL_RFK_WM(0 x5834, 0 x3ffc0000, 0 x000),
RTW89_DECL_RFK_WM(0 x5838, 0 x00000fff, 0 x121),
RTW89_DECL_RFK_WM(0 x5838, 0 x003ff000, 0 x000),
RTW89_DECL_RFK_WM(0 x5854, 0 x0003ffff, 0 x115f2),
RTW89_DECL_RFK_WM(0 x5854, 0 x3ffc0000, 0 x000),
RTW89_DECL_RFK_WM(0 x5858, 0 x00000fff, 0 x121),
RTW89_DECL_RFK_WM(0 x5858, 0 x003ff000, 0 x000),
RTW89_DECL_RFK_WM(0 x5824, 0 x0003ffff, 0 x115f2),
RTW89_DECL_RFK_WM(0 x5824, 0 x3ffc0000, 0 x000),
RTW89_DECL_RFK_WM(0 x5828, 0 x00000fff, 0 x121),
RTW89_DECL_RFK_WM(0 x5828, 0 x003ff000, 0 x000),
RTW89_DECL_RFK_WM(0 x582c, 0 x0003ffff, 0 x115f2),
RTW89_DECL_RFK_WM(0 x582c, 0 x3ffc0000, 0 x000),
RTW89_DECL_RFK_WM(0 x5830, 0 x00000fff, 0 x121),
RTW89_DECL_RFK_WM(0 x5830, 0 x003ff000, 0 x000),
RTW89_DECL_RFK_WM(0 x583c, 0 x0003ffff, 0 x115f2),
RTW89_DECL_RFK_WM(0 x583c, 0 x3ffc0000, 0 x000),
RTW89_DECL_RFK_WM(0 x5840, 0 x00000fff, 0 x121),
RTW89_DECL_RFK_WM(0 x5840, 0 x003ff000, 0 x000),
RTW89_DECL_RFK_WM(0 x5844, 0 x0003ffff, 0 x115f2),
RTW89_DECL_RFK_WM(0 x5844, 0 x3ffc0000, 0 x000),
RTW89_DECL_RFK_WM(0 x5848, 0 x00000fff, 0 x121),
RTW89_DECL_RFK_WM(0 x5848, 0 x003ff000, 0 x000),
RTW89_DECL_RFK_WM(0 x584c, 0 x0003ffff, 0 x115f2),
RTW89_DECL_RFK_WM(0 x584c, 0 x3ffc0000, 0 x000),
RTW89_DECL_RFK_WM(0 x5850, 0 x00000fff, 0 x121),
RTW89_DECL_RFK_WM(0 x5850, 0 x003ff000, 0 x000),
RTW89_DECL_RFK_WM(0 x585c, 0 x0003ffff, 0 x115f2),
RTW89_DECL_RFK_WM(0 x585c, 0 x3ffc0000, 0 x000),
RTW89_DECL_RFK_WM(0 x5860, 0 x00000fff, 0 x121),
RTW89_DECL_RFK_WM(0 x5860, 0 x003ff000, 0 x000),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_slope_defs_a);
static const struct rtw89_reg5_def rtw8851b_tssi_track_defs_a[] = {
RTW89_DECL_RFK_WM(0 x5820, 0 x80000000, 0 x0),
RTW89_DECL_RFK_WM(0 x5818, 0 x10000000, 0 x0),
RTW89_DECL_RFK_WM(0 x5814, 0 x00000800, 0 x0),
RTW89_DECL_RFK_WM(0 x581c, 0 x20000000, 0 x1),
RTW89_DECL_RFK_WM(0 x5864, 0 x000003ff, 0 x1ff),
RTW89_DECL_RFK_WM(0 x5864, 0 x000ffc00, 0 x200),
RTW89_DECL_RFK_WM(0 x5820, 0 x00000fff, 0 x080),
RTW89_DECL_RFK_WM(0 x5814, 0 x01000000, 0 x0),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_track_defs_a);
static const struct rtw89_reg5_def rtw8851b_tssi_mv_avg_defs_a[] = {
RTW89_DECL_RFK_WM(0 x58e4, 0 x00003800, 0 x1),
RTW89_DECL_RFK_WM(0 x58e4, 0 x00004000, 0 x0),
RTW89_DECL_RFK_WM(0 x58e4, 0 x00008000, 0 x1),
RTW89_DECL_RFK_WM(0 x58e4, 0 x000f0000, 0 x0),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_tssi_mv_avg_defs_a);
static const struct rtw89_reg5_def rtw8851b_nctl_post_defs[] = {
RTW89_DECL_RFK_WM(0 x5864, 0 x18000000, 0 x3),
RTW89_DECL_RFK_WM(0 x7864, 0 x18000000, 0 x3),
RTW89_DECL_RFK_WM(0 x030c, 0 xff000000, 0 x13),
RTW89_DECL_RFK_WM(0 x032c, 0 xffff0000, 0 x0041),
RTW89_DECL_RFK_WM(0 x12b8, 0 x10000000, 0 x1),
RTW89_DECL_RFK_WM(0 x2008, 0 x01ffffff, 0 x00fffff),
RTW89_DECL_RFK_WM(0 x0c60, 0 x00000003, 0 x3),
RTW89_DECL_RFK_WM(0 x0c6c, 0 x00000001, 0 x1),
RTW89_DECL_RFK_WM(0 x58ac, 0 x08000000, 0 x1),
RTW89_DECL_RFK_WM(0 x78ac, 0 x08000000, 0 x1),
RTW89_DECL_RFK_WM(0 x0730, 0 x00003800, 0 x7),
RTW89_DECL_RFK_WM(0 x2730, 0 x00003800, 0 x7),
RTW89_DECL_RFK_WM(0 x0c7c, 0 x00e00000, 0 x1),
RTW89_DECL_RFK_WM(0 x58c0, 0 x0001ffff, 0 x00000),
RTW89_DECL_RFK_WM(0 x78c0, 0 x0001ffff, 0 x00000),
RTW89_DECL_RFK_WM(0 x58fc, 0 x3f000000, 0 x00),
RTW89_DECL_RFK_WM(0 x78fc, 0 x3f000000, 0 x00),
};
RTW89_DECLARE_RFK_TBL(rtw8851b_nctl_post_defs);
Messung V0.5 in Prozent C=96 H=94 G=94
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-07)
¤
*© Formatika GbR, Deutschland