mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-10 12:53:04 -04:00
wifi: rtw89: 8851b: add 8851B basic chip_info
8851B is a 1x1 80 MHz bandwidth chip working on 2/5 GHz. Add these basic information, and more settings will be added by functions. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20230421024551.29994-2-pkshih@realtek.com
This commit is contained in:
101
drivers/net/wireless/realtek/rtw89/rtw8851b.c
Normal file
101
drivers/net/wireless/realtek/rtw89/rtw8851b.c
Normal file
@@ -0,0 +1,101 @@
|
||||
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
|
||||
/* Copyright(c) 2022-2023 Realtek Corporation
|
||||
*/
|
||||
|
||||
#include "coex.h"
|
||||
#include "fw.h"
|
||||
#include "mac.h"
|
||||
#include "phy.h"
|
||||
#include "reg.h"
|
||||
#include "rtw8851b.h"
|
||||
#include "rtw8851b_table.h"
|
||||
#include "txrx.h"
|
||||
#include "util.h"
|
||||
|
||||
#define RTW8851B_FW_FORMAT_MAX 0
|
||||
#define RTW8851B_FW_BASENAME "rtw89/rtw8851b_fw"
|
||||
#define RTW8851B_MODULE_FIRMWARE \
|
||||
RTW8851B_FW_BASENAME ".bin"
|
||||
|
||||
static const struct rtw89_chip_ops rtw8851b_chip_ops = {
|
||||
.fem_setup = NULL,
|
||||
.fill_txdesc = rtw89_core_fill_txdesc,
|
||||
.fill_txdesc_fwcmd = rtw89_core_fill_txdesc,
|
||||
.h2c_dctl_sec_cam = NULL,
|
||||
};
|
||||
|
||||
const struct rtw89_chip_info rtw8851b_chip_info = {
|
||||
.chip_id = RTL8851B,
|
||||
.ops = &rtw8851b_chip_ops,
|
||||
.fw_basename = RTW8851B_FW_BASENAME,
|
||||
.fw_format_max = RTW8851B_FW_FORMAT_MAX,
|
||||
.try_ce_fw = true,
|
||||
.fifo_size = 196608,
|
||||
.dle_scc_rsvd_size = 98304,
|
||||
.max_amsdu_limit = 3500,
|
||||
.dis_2g_40m_ul_ofdma = true,
|
||||
.rsvd_ple_ofst = 0x2f800,
|
||||
.wde_qempty_acq_num = 4,
|
||||
.wde_qempty_mgq_sel = 4,
|
||||
.rf_base_addr = {0xe000},
|
||||
.pwr_on_seq = NULL,
|
||||
.pwr_off_seq = NULL,
|
||||
.bb_table = &rtw89_8851b_phy_bb_table,
|
||||
.bb_gain_table = &rtw89_8851b_phy_bb_gain_table,
|
||||
.rf_table = {&rtw89_8851b_phy_radioa_table,},
|
||||
.nctl_table = &rtw89_8851b_phy_nctl_table,
|
||||
.byr_table = &rtw89_8851b_byr_table,
|
||||
.dflt_parms = &rtw89_8851b_dflt_parms,
|
||||
.rfe_parms_conf = rtw89_8851b_rfe_parms_conf,
|
||||
.txpwr_factor_rf = 2,
|
||||
.txpwr_factor_mac = 1,
|
||||
.dig_table = NULL,
|
||||
.tssi_dbw_table = NULL,
|
||||
.support_chanctx_num = 0,
|
||||
.support_bands = BIT(NL80211_BAND_2GHZ) |
|
||||
BIT(NL80211_BAND_5GHZ),
|
||||
.support_bw160 = false,
|
||||
.support_ul_tb_ctrl = true,
|
||||
.hw_sec_hdr = false,
|
||||
.rf_path_num = 1,
|
||||
.tx_nss = 1,
|
||||
.rx_nss = 1,
|
||||
.acam_num = 32,
|
||||
.bcam_num = 20,
|
||||
.scam_num = 128,
|
||||
.bacam_num = 2,
|
||||
.bacam_dynamic_num = 4,
|
||||
.bacam_v1 = false,
|
||||
.sec_ctrl_efuse_size = 4,
|
||||
.physical_efuse_size = 1216,
|
||||
.logical_efuse_size = 2048,
|
||||
.limit_efuse_size = 1280,
|
||||
.dav_phy_efuse_size = 0,
|
||||
.dav_log_efuse_size = 0,
|
||||
.phycap_addr = 0x580,
|
||||
.phycap_size = 128,
|
||||
.para_ver = 0,
|
||||
.wlcx_desired = 0x06000000,
|
||||
.btcx_desired = 0x7,
|
||||
.scbd = 0x1,
|
||||
.mailbox = 0x1,
|
||||
|
||||
.ps_mode_supported = BIT(RTW89_PS_MODE_RFOFF) |
|
||||
BIT(RTW89_PS_MODE_CLK_GATED),
|
||||
.low_power_hci_modes = 0,
|
||||
.h2c_cctl_func_id = H2C_FUNC_MAC_CCTLINFO_UD,
|
||||
.hci_func_en_addr = R_AX_HCI_FUNC_EN,
|
||||
.h2c_desc_size = sizeof(struct rtw89_txwd_body),
|
||||
.txwd_body_size = sizeof(struct rtw89_txwd_body),
|
||||
.bss_clr_map_reg = R_BSS_CLR_MAP_V1,
|
||||
.dma_ch_mask = BIT(RTW89_DMA_ACH4) | BIT(RTW89_DMA_ACH5) |
|
||||
BIT(RTW89_DMA_ACH6) | BIT(RTW89_DMA_ACH7) |
|
||||
BIT(RTW89_DMA_B1MG) | BIT(RTW89_DMA_B1HI),
|
||||
.edcca_lvl_reg = R_SEG0R_EDCCA_LVL_V1,
|
||||
};
|
||||
EXPORT_SYMBOL(rtw8851b_chip_info);
|
||||
|
||||
MODULE_FIRMWARE(RTW8851B_MODULE_FIRMWARE);
|
||||
MODULE_AUTHOR("Realtek Corporation");
|
||||
MODULE_DESCRIPTION("Realtek 802.11ax wireless 8851B driver");
|
||||
MODULE_LICENSE("Dual BSD/GPL");
|
||||
15
drivers/net/wireless/realtek/rtw89/rtw8851b.h
Normal file
15
drivers/net/wireless/realtek/rtw89/rtw8851b.h
Normal file
@@ -0,0 +1,15 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
|
||||
/* Copyright(c) 2022-2023 Realtek Corporation
|
||||
*/
|
||||
|
||||
#ifndef __RTW89_8851B_H__
|
||||
#define __RTW89_8851B_H__
|
||||
|
||||
#include "core.h"
|
||||
|
||||
#define RF_PATH_NUM_8851B 1
|
||||
#define BB_PATH_NUM_8851B 1
|
||||
|
||||
extern const struct rtw89_chip_info rtw8851b_chip_info;
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user