1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 2 /* Copyright(c) 2026 Realtek Corporation 3 */ 4 5 #ifndef __RTW89_8922D_H__ 6 #define __RTW89_8922D_H__ 7 8 #include "core.h" 9 10 #define RF_PATH_NUM_8922D 2 11 #define BB_PATH_NUM_8922D 2 12 13 struct rtw8922d_tssi_offset { 14 u8 cck_tssi[TSSI_CCK_CH_GROUP_NUM]; 15 u8 bw40_tssi[TSSI_MCS_2G_CH_GROUP_NUM]; 16 u8 rsvd[7]; 17 u8 bw40_1s_tssi_5g[TSSI_MCS_5G_CH_GROUP_NUM]; 18 u8 bw_diff_5g[10]; 19 } __packed; 20 21 struct rtw8922d_tssi_offset_6g { 22 u8 bw40_1s_tssi_6g[TSSI_MCS_6G_CH_GROUP_NUM]; 23 u8 rsvd[0xa]; 24 } __packed; 25 26 struct rtw8922d_rx_gain { 27 u8 _2g_ofdm; 28 u8 _2g_cck; 29 u8 _5g_low; 30 u8 _5g_mid; 31 u8 _5g_high; 32 } __packed; 33 34 struct rtw8922d_rx_gain_6g { 35 u8 _6g_l0; 36 u8 _6g_l1; 37 u8 _6g_m0; 38 u8 _6g_m1; 39 u8 _6g_h0; 40 u8 _6g_h1; 41 u8 _6g_uh0; 42 u8 _6g_uh1; 43 } __packed; 44 45 struct rtw8922d_efuse { 46 u8 country_code[2]; 47 u8 rsvd[0xe]; 48 struct rtw8922d_tssi_offset path_a_tssi; 49 struct rtw8922d_tssi_offset path_b_tssi; 50 u8 rsvd1[0x54]; 51 u8 channel_plan; 52 u8 xtal_k; 53 u8 rsvd2[0x7]; 54 u8 board_info; 55 u8 rsvd3[0x8]; 56 u8 rfe_type; 57 u8 rsvd4[2]; 58 u8 bt_setting_2; 59 u8 bt_setting_3; 60 u8 rsvd4_2; 61 u8 path_a_therm; 62 u8 path_b_therm; 63 u8 rsvd5[0x2]; 64 struct rtw8922d_rx_gain rx_gain_a; 65 struct rtw8922d_rx_gain rx_gain_b; 66 u8 rsvd6[0x18]; 67 struct rtw8922d_rx_gain rx_gain_a_2; 68 struct rtw8922d_rx_gain rx_gain_b_2; 69 struct rtw8922d_tssi_offset_6g path_a_tssi_6g; 70 struct rtw8922d_tssi_offset_6g path_b_tssi_6g; 71 struct rtw8922d_tssi_offset_6g path_c_tssi_6g; 72 struct rtw8922d_tssi_offset_6g path_d_tssi_6g; 73 struct rtw8922d_rx_gain_6g rx_gain_6g_a; 74 struct rtw8922d_rx_gain_6g rx_gain_6g_b; 75 u8 rsvd7[0x5a]; 76 struct rtw8922d_rx_gain_6g rx_gain_6g_a_2; 77 struct rtw8922d_rx_gain_6g rx_gain_6g_b_2; 78 } __packed; 79 80 extern const struct rtw89_chip_info rtw8922d_chip_info; 81 extern const struct rtw89_chip_variant rtw8922de_vs_variant; 82 83 #endif 84