linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH rtw-next 0/6] wifi: rtw89: Add support for RTL8852BU
@ 2025-07-01 16:00 Bitterblue Smith
  2025-07-01 16:02 ` [PATCH rtw-next 1/6] wifi: rtw89: 8852bx: Accept USB devices and load their MAC address Bitterblue Smith
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Bitterblue Smith @ 2025-07-01 16:00 UTC (permalink / raw)
  To: linux-wireless@vger.kernel.org; +Cc: Ping-Ke Shih

Add support for RTL8852BU. The changes needed for this chip are very
similar to the changes needed for RTL8851BU.

These patches depend on the initial USB support, of course:
https://patchwork.kernel.org/project/linux-wireless/list/?series=977480

Bitterblue Smith (6):
  wifi: rtw89: 8852bx: Accept USB devices and load their MAC address
  wifi: rtw89: 8852b: Fix rtw8852b_pwr_{on,off}_func() for USB
  wifi: rtw89: 8852b: Add rtw8852b_dle_mem_usb3
  wifi: rtw89: 8852b: Add rtw8852b_hfc_param_ini_usb
  wifi: rtw89: Add rtw8852bu.c
  wifi: rtw89: Enable the new rtw89_8852bu module

 drivers/net/wireless/realtek/rtw89/Kconfig    | 12 +++
 drivers/net/wireless/realtek/rtw89/Makefile   |  3 +
 drivers/net/wireless/realtek/rtw89/rtw8852b.c | 85 +++++++++++++++++--
 .../wireless/realtek/rtw89/rtw8852b_common.c  | 16 ++--
 .../net/wireless/realtek/rtw89/rtw8852bu.c    | 55 ++++++++++++
 5 files changed, 156 insertions(+), 15 deletions(-)
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852bu.c

-- 
2.49.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH rtw-next 1/6] wifi: rtw89: 8852bx: Accept USB devices and load their MAC address
  2025-07-01 16:00 [PATCH rtw-next 0/6] wifi: rtw89: Add support for RTL8852BU Bitterblue Smith
@ 2025-07-01 16:02 ` Bitterblue Smith
  2025-07-04  5:28   ` Ping-Ke Shih
  2025-07-01 16:02 ` [PATCH rtw-next 2/6] wifi: rtw89: 8852b: Fix rtw8852b_pwr_{on,off}_func() for USB Bitterblue Smith
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Bitterblue Smith @ 2025-07-01 16:02 UTC (permalink / raw)
  To: linux-wireless@vger.kernel.org; +Cc: Ping-Ke Shih

Make __rtw8852bx_read_efuse() accept USB devices and load the MAC
address from the correct offset.

Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
---
 .../net/wireless/realtek/rtw89/rtw8852b_common.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852b_common.c b/drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
index 0cf03f18cbb1..3fb2972ae6f6 100644
--- a/drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
@@ -172,14 +172,6 @@ static const struct rtw89_reg3_def rtw8852bx_btc_preagc_dis_defs[] = {
 
 static DECLARE_PHY_REG3_TBL(rtw8852bx_btc_preagc_dis_defs);
 
-static void rtw8852be_efuse_parsing(struct rtw89_efuse *efuse,
-				    struct rtw8852bx_efuse *map)
-{
-	ether_addr_copy(efuse->addr, map->e.mac_addr);
-	efuse->rfe_type = map->rfe_type;
-	efuse->xtal_cap = map->xtal_k;
-}
-
 static void rtw8852bx_efuse_parsing_tssi(struct rtw89_dev *rtwdev,
 					 struct rtw8852bx_efuse *map)
 {
@@ -261,12 +253,18 @@ static int __rtw8852bx_read_efuse(struct rtw89_dev *rtwdev, u8 *log_map,
 
 	switch (rtwdev->hci.type) {
 	case RTW89_HCI_TYPE_PCIE:
-		rtw8852be_efuse_parsing(efuse, map);
+		ether_addr_copy(efuse->addr, map->e.mac_addr);
+		break;
+	case RTW89_HCI_TYPE_USB:
+		ether_addr_copy(efuse->addr, map->u.mac_addr);
 		break;
 	default:
 		return -EOPNOTSUPP;
 	}
 
+	efuse->rfe_type = map->rfe_type;
+	efuse->xtal_cap = map->xtal_k;
+
 	rtw89_info(rtwdev, "chip rfe_type is %d\n", efuse->rfe_type);
 
 	return 0;
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rtw-next 2/6] wifi: rtw89: 8852b: Fix rtw8852b_pwr_{on,off}_func() for USB
  2025-07-01 16:00 [PATCH rtw-next 0/6] wifi: rtw89: Add support for RTL8852BU Bitterblue Smith
  2025-07-01 16:02 ` [PATCH rtw-next 1/6] wifi: rtw89: 8852bx: Accept USB devices and load their MAC address Bitterblue Smith
@ 2025-07-01 16:02 ` Bitterblue Smith
  2025-07-04  5:30   ` Ping-Ke Shih
  2025-07-01 16:03 ` [PATCH rtw-next 3/6] wifi: rtw89: 8852b: Add rtw8852b_dle_mem_usb3 Bitterblue Smith
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Bitterblue Smith @ 2025-07-01 16:02 UTC (permalink / raw)
  To: linux-wireless@vger.kernel.org; +Cc: Ping-Ke Shih

There are a few differences in the power on/off functions between PCIE
and USB. The changes in the power off function in particular are needed
for the RTL8832BU to be able to power on again after it's powered off.

While the RTL8832BU appears to work without the changes in the power on
function, it's probably best to implement them, in case they are needed
in some situations.

Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
---
 drivers/net/wireless/realtek/rtw89/rtw8852b.c | 21 +++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852b.c b/drivers/net/wireless/realtek/rtw89/rtw8852b.c
index b0b73a4a70a0..85b6849db798 100644
--- a/drivers/net/wireless/realtek/rtw89/rtw8852b.c
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852b.c
@@ -299,7 +299,8 @@ static int rtw8852b_pwr_on_func(struct rtw89_dev *rtwdev)
 	rtw89_write8_clr(rtwdev, R_AX_PLATFORM_ENABLE, B_AX_PLATFORM_EN);
 
 	rtw89_write8_set(rtwdev, R_AX_PLATFORM_ENABLE, B_AX_PLATFORM_EN);
-	rtw89_write32_clr(rtwdev, R_AX_SYS_SDIO_CTRL, B_AX_PCIE_CALIB_EN_V1);
+	if (rtwdev->hci.type == RTW89_HCI_TYPE_PCIE)
+		rtw89_write32_clr(rtwdev, R_AX_SYS_SDIO_CTRL, B_AX_PCIE_CALIB_EN_V1);
 
 	rtw89_write32_set(rtwdev, R_AX_SYS_ADIE_PAD_PWR_CTRL, B_AX_SYM_PADPDN_WL_PTA_1P3);
 
@@ -361,7 +362,7 @@ static int rtw8852b_pwr_on_func(struct rtw89_dev *rtwdev)
 	rtw89_write32_mask(rtwdev, R_AX_SPS_DIG_ON_CTRL0, B_AX_VOL_L1_MASK, 0x9);
 	rtw89_write32_mask(rtwdev, R_AX_SPS_DIG_ON_CTRL0, B_AX_VREFPFM_L_MASK, 0xA);
 
-	if (rtwdev->hal.cv == CHIP_CBV) {
+	if (rtwdev->hal.cv == CHIP_CBV && rtwdev->hci.type == RTW89_HCI_TYPE_PCIE) {
 		rtw89_write32_set(rtwdev, R_AX_PMC_DBG_CTRL2, B_AX_SYSON_DIS_PMCR_AX_WRMSK);
 		rtw89_write16_mask(rtwdev, R_AX_HCI_LDO_CTRL, B_AX_R_AX_VADJ_MASK, 0xA);
 		rtw89_write32_clr(rtwdev, R_AX_PMC_DBG_CTRL2, B_AX_SYSON_DIS_PMCR_AX_WRMSK);
@@ -443,10 +444,22 @@ static int rtw8852b_pwr_off_func(struct rtw89_dev *rtwdev)
 	if (ret)
 		return ret;
 
-	rtw89_write32(rtwdev, R_AX_WLLPS_CTRL, SW_LPS_OPTION);
+	if (rtwdev->hci.type == RTW89_HCI_TYPE_PCIE)
+		rtw89_write32(rtwdev, R_AX_WLLPS_CTRL, SW_LPS_OPTION);
+	else if (rtwdev->hci.type == RTW89_HCI_TYPE_USB)
+		rtw89_write32_clr(rtwdev, R_AX_SYS_PW_CTRL, B_AX_SOP_EDSWR);
+
 	rtw89_write32_set(rtwdev, R_AX_SYS_SWR_CTRL1, B_AX_SYM_CTRL_SPS_PWMFREQ);
 	rtw89_write32_mask(rtwdev, R_AX_SPS_DIG_ON_CTRL0, B_AX_REG_ZCDC_H_MASK, 0x3);
-	rtw89_write32_set(rtwdev, R_AX_SYS_PW_CTRL, B_AX_APFM_SWLPS);
+
+	if (rtwdev->hci.type == RTW89_HCI_TYPE_PCIE) {
+		rtw89_write32_set(rtwdev, R_AX_SYS_PW_CTRL, B_AX_APFM_SWLPS);
+	} else if (rtwdev->hci.type == RTW89_HCI_TYPE_USB) {
+		val32 = rtw89_read32(rtwdev, R_AX_SYS_PW_CTRL);
+		val32 &= ~B_AX_AFSM_PCIE_SUS_EN;
+		val32 |= B_AX_AFSM_WLSUS_EN;
+		rtw89_write32(rtwdev, R_AX_SYS_PW_CTRL, val32);
+	}
 
 	return 0;
 }
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rtw-next 3/6] wifi: rtw89: 8852b: Add rtw8852b_dle_mem_usb3
  2025-07-01 16:00 [PATCH rtw-next 0/6] wifi: rtw89: Add support for RTL8852BU Bitterblue Smith
  2025-07-01 16:02 ` [PATCH rtw-next 1/6] wifi: rtw89: 8852bx: Accept USB devices and load their MAC address Bitterblue Smith
  2025-07-01 16:02 ` [PATCH rtw-next 2/6] wifi: rtw89: 8852b: Fix rtw8852b_pwr_{on,off}_func() for USB Bitterblue Smith
@ 2025-07-01 16:03 ` Bitterblue Smith
  2025-07-04  5:31   ` Ping-Ke Shih
  2025-07-01 16:03 ` [PATCH rtw-next 4/6] wifi: rtw89: 8852b: Add rtw8852b_hfc_param_ini_usb Bitterblue Smith
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Bitterblue Smith @ 2025-07-01 16:03 UTC (permalink / raw)
  To: linux-wireless@vger.kernel.org; +Cc: Ping-Ke Shih

"dle" could be "Data Link Engine" or "Double Link Engine". These are
some parameters needed for RTL8852BU.

In this case the same parameters are used for USB 2 and USB 3.

Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
---
 drivers/net/wireless/realtek/rtw89/rtw8852b.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852b.c b/drivers/net/wireless/realtek/rtw89/rtw8852b.c
index 85b6849db798..50eed21371a5 100644
--- a/drivers/net/wireless/realtek/rtw89/rtw8852b.c
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852b.c
@@ -66,6 +66,19 @@ static const struct rtw89_dle_mem rtw8852b_dle_mem_pcie[] = {
 			       NULL},
 };
 
+static const struct rtw89_dle_mem rtw8852b_dle_mem_usb3[] = {
+	[RTW89_QTA_SCC] = {RTW89_QTA_SCC, &rtw89_mac_size.wde_size25,
+			   &rtw89_mac_size.ple_size33, &rtw89_mac_size.wde_qt25,
+			   &rtw89_mac_size.wde_qt25, &rtw89_mac_size.ple_qt74,
+			   &rtw89_mac_size.ple_qt75},
+	[RTW89_QTA_DLFW] = {RTW89_QTA_DLFW, &rtw89_mac_size.wde_size9,
+			    &rtw89_mac_size.ple_size8, &rtw89_mac_size.wde_qt4,
+			    &rtw89_mac_size.wde_qt4, &rtw89_mac_size.ple_qt13,
+			    &rtw89_mac_size.ple_qt13},
+	[RTW89_QTA_INVALID] = {RTW89_QTA_INVALID, NULL, NULL, NULL, NULL, NULL,
+			       NULL},
+};
+
 static const u32 rtw8852b_h2c_regs[RTW89_H2CREG_MAX] = {
 	R_AX_H2CREG_DATA0, R_AX_H2CREG_DATA1,  R_AX_H2CREG_DATA2,
 	R_AX_H2CREG_DATA3
@@ -834,7 +847,10 @@ const struct rtw89_chip_info rtw8852b_chip_info = {
 	.dis_2g_40m_ul_ofdma	= true,
 	.rsvd_ple_ofst		= 0x2f800,
 	.hfc_param_ini		= {rtw8852b_hfc_param_ini_pcie, NULL, NULL},
-	.dle_mem		= {rtw8852b_dle_mem_pcie, NULL, NULL, NULL},
+	.dle_mem		= {rtw8852b_dle_mem_pcie,
+				   rtw8852b_dle_mem_usb3,
+				   rtw8852b_dle_mem_usb3,
+				   NULL},
 	.wde_qempty_acq_grpnum	= 4,
 	.wde_qempty_mgq_grpsel	= 4,
 	.rf_base_addr		= {0xe000, 0xf000},
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rtw-next 4/6] wifi: rtw89: 8852b: Add rtw8852b_hfc_param_ini_usb
  2025-07-01 16:00 [PATCH rtw-next 0/6] wifi: rtw89: Add support for RTL8852BU Bitterblue Smith
                   ` (2 preceding siblings ...)
  2025-07-01 16:03 ` [PATCH rtw-next 3/6] wifi: rtw89: 8852b: Add rtw8852b_dle_mem_usb3 Bitterblue Smith
@ 2025-07-01 16:03 ` Bitterblue Smith
  2025-07-04  5:31   ` Ping-Ke Shih
  2025-07-01 16:04 ` [PATCH rtw-next 5/6] wifi: rtw89: Add rtw8852bu.c Bitterblue Smith
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Bitterblue Smith @ 2025-07-01 16:03 UTC (permalink / raw)
  To: linux-wireless@vger.kernel.org; +Cc: Ping-Ke Shih

"hfc" means "hci fc" which is "Host Control Interface Flow Control".
These are some parameters needed for RTL8852BU.

Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
---
 drivers/net/wireless/realtek/rtw89/rtw8852b.c | 46 ++++++++++++++++++-
 1 file changed, 45 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852b.c b/drivers/net/wireless/realtek/rtw89/rtw8852b.c
index 50eed21371a5..33ab71d84ffc 100644
--- a/drivers/net/wireless/realtek/rtw89/rtw8852b.c
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852b.c
@@ -49,6 +49,48 @@ static const struct rtw89_hfc_param_ini rtw8852b_hfc_param_ini_pcie[] = {
 	[RTW89_QTA_INVALID] = {NULL},
 };
 
+static const struct rtw89_hfc_ch_cfg rtw8852b_hfc_chcfg_usb[] = {
+	{18, 152, grp_0}, /* ACH 0 */
+	{18, 152, grp_0}, /* ACH 1 */
+	{18, 152, grp_0}, /* ACH 2 */
+	{18, 152, grp_0}, /* ACH 3 */
+	{0, 0, grp_0}, /* ACH 4 */
+	{0, 0, grp_0}, /* ACH 5 */
+	{0, 0, grp_0}, /* ACH 6 */
+	{0, 0, grp_0}, /* ACH 7 */
+	{18, 152, grp_0}, /* B0MGQ */
+	{18, 152, grp_0}, /* B0HIQ */
+	{0, 0, grp_0}, /* B1MGQ */
+	{0, 0, grp_0}, /* B1HIQ */
+	{0, 0, 0} /* FWCMDQ */
+};
+
+static const struct rtw89_hfc_pub_cfg rtw8852b_hfc_pubcfg_usb = {
+	152, /* Group 0 */
+	0, /* Group 1 */
+	152, /* Public Max */
+	0 /* WP threshold */
+};
+
+static const struct rtw89_hfc_prec_cfg rtw8852b_hfc_preccfg_usb = {
+	9, /* CH 0-11 pre-cost */
+	32, /* H2C pre-cost */
+	64, /* WP CH 0-7 pre-cost */
+	24, /* WP CH 8-11 pre-cost */
+	1, /* CH 0-11 full condition */
+	1, /* H2C full condition */
+	1, /* WP CH 0-7 full condition */
+	1, /* WP CH 8-11 full condition */
+};
+
+static const struct rtw89_hfc_param_ini rtw8852b_hfc_param_ini_usb[] = {
+	[RTW89_QTA_SCC] = {rtw8852b_hfc_chcfg_usb, &rtw8852b_hfc_pubcfg_usb,
+			   &rtw8852b_hfc_preccfg_usb, RTW89_HCIFC_STF},
+	[RTW89_QTA_DLFW] = {NULL, NULL,
+			    &rtw8852b_hfc_preccfg_usb, RTW89_HCIFC_STF},
+	[RTW89_QTA_INVALID] = {NULL},
+};
+
 static const struct rtw89_dle_mem rtw8852b_dle_mem_pcie[] = {
 	[RTW89_QTA_SCC] = {RTW89_QTA_SCC, &rtw89_mac_size.wde_size7,
 			   &rtw89_mac_size.ple_size6, &rtw89_mac_size.wde_qt7,
@@ -846,7 +888,9 @@ const struct rtw89_chip_info rtw8852b_chip_info = {
 	.max_amsdu_limit	= 5000,
 	.dis_2g_40m_ul_ofdma	= true,
 	.rsvd_ple_ofst		= 0x2f800,
-	.hfc_param_ini		= {rtw8852b_hfc_param_ini_pcie, NULL, NULL},
+	.hfc_param_ini		= {rtw8852b_hfc_param_ini_pcie,
+				   rtw8852b_hfc_param_ini_usb,
+				   NULL},
 	.dle_mem		= {rtw8852b_dle_mem_pcie,
 				   rtw8852b_dle_mem_usb3,
 				   rtw8852b_dle_mem_usb3,
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rtw-next 5/6] wifi: rtw89: Add rtw8852bu.c
  2025-07-01 16:00 [PATCH rtw-next 0/6] wifi: rtw89: Add support for RTL8852BU Bitterblue Smith
                   ` (3 preceding siblings ...)
  2025-07-01 16:03 ` [PATCH rtw-next 4/6] wifi: rtw89: 8852b: Add rtw8852b_hfc_param_ini_usb Bitterblue Smith
@ 2025-07-01 16:04 ` Bitterblue Smith
  2025-07-04  5:32   ` Ping-Ke Shih
  2025-07-01 16:05 ` [PATCH rtw-next 6/6] wifi: rtw89: Enable the new rtw89_8852bu module Bitterblue Smith
  2025-07-01 17:44 ` [PATCH rtw-next 0/6] wifi: rtw89: Add support for RTL8852BU Shengyu Qu
  6 siblings, 1 reply; 15+ messages in thread
From: Bitterblue Smith @ 2025-07-01 16:04 UTC (permalink / raw)
  To: linux-wireless@vger.kernel.org; +Cc: Ping-Ke Shih

This is the entry point for the new rtw89_8852bu module.

Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
---
 .../net/wireless/realtek/rtw89/rtw8852bu.c    | 55 +++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852bu.c

diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852bu.c b/drivers/net/wireless/realtek/rtw89/rtw8852bu.c
new file mode 100644
index 000000000000..b315cb997758
--- /dev/null
+++ b/drivers/net/wireless/realtek/rtw89/rtw8852bu.c
@@ -0,0 +1,55 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+/* Copyright(c) 2025  Realtek Corporation
+ */
+
+#include <linux/module.h>
+#include <linux/usb.h>
+#include "rtw8852b.h"
+#include "usb.h"
+
+static const struct rtw89_driver_info rtw89_8852bu_info = {
+	.chip = &rtw8852b_chip_info,
+	.variant = NULL,
+	.quirks = NULL,
+};
+
+static const struct usb_device_id rtw_8852bu_id_table[] = {
+	{ USB_DEVICE_AND_INTERFACE_INFO(0x0bda, 0xb832, 0xff, 0xff, 0xff),
+	  .driver_info = (kernel_ulong_t)&rtw89_8852bu_info },
+	{ USB_DEVICE_AND_INTERFACE_INFO(0x0bda, 0xb83a, 0xff, 0xff, 0xff),
+	  .driver_info = (kernel_ulong_t)&rtw89_8852bu_info },
+	{ USB_DEVICE_AND_INTERFACE_INFO(0x0bda, 0xb852, 0xff, 0xff, 0xff),
+	  .driver_info = (kernel_ulong_t)&rtw89_8852bu_info },
+	{ USB_DEVICE_AND_INTERFACE_INFO(0x0bda, 0xb85a, 0xff, 0xff, 0xff),
+	  .driver_info = (kernel_ulong_t)&rtw89_8852bu_info },
+	{ USB_DEVICE_AND_INTERFACE_INFO(0x0bda, 0xa85b, 0xff, 0xff, 0xff),
+	  .driver_info = (kernel_ulong_t)&rtw89_8852bu_info },
+	{ USB_DEVICE_AND_INTERFACE_INFO(0x0586, 0x3428, 0xff, 0xff, 0xff),
+	  .driver_info = (kernel_ulong_t)&rtw89_8852bu_info },
+	{ USB_DEVICE_AND_INTERFACE_INFO(0x0b05, 0x1a62, 0xff, 0xff, 0xff),
+	  .driver_info = (kernel_ulong_t)&rtw89_8852bu_info },
+	{ USB_DEVICE_AND_INTERFACE_INFO(0x0db0, 0x6931, 0xff, 0xff, 0xff),
+	  .driver_info = (kernel_ulong_t)&rtw89_8852bu_info },
+	{ USB_DEVICE_AND_INTERFACE_INFO(0x3574, 0x6121, 0xff, 0xff, 0xff),
+	  .driver_info = (kernel_ulong_t)&rtw89_8852bu_info },
+	{ USB_DEVICE_AND_INTERFACE_INFO(0x35bc, 0x0100, 0xff, 0xff, 0xff),
+	  .driver_info = (kernel_ulong_t)&rtw89_8852bu_info },
+	{ USB_DEVICE_AND_INTERFACE_INFO(0x35bc, 0x0108, 0xff, 0xff, 0xff),
+	  .driver_info = (kernel_ulong_t)&rtw89_8852bu_info },
+	{ USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0x6822, 0xff, 0xff, 0xff),
+	  .driver_info = (kernel_ulong_t)&rtw89_8852bu_info },
+	{},
+};
+MODULE_DEVICE_TABLE(usb, rtw_8852bu_id_table);
+
+static struct usb_driver rtw_8852bu_driver = {
+	.name = KBUILD_MODNAME,
+	.id_table = rtw_8852bu_id_table,
+	.probe = rtw89_usb_probe,
+	.disconnect = rtw89_usb_disconnect,
+};
+module_usb_driver(rtw_8852bu_driver);
+
+MODULE_AUTHOR("Bitterblue Smith <rtl8821cerfe2@gmail.com>");
+MODULE_DESCRIPTION("Realtek 802.11ax wireless 8852BU driver");
+MODULE_LICENSE("Dual BSD/GPL");
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rtw-next 6/6] wifi: rtw89: Enable the new rtw89_8852bu module
  2025-07-01 16:00 [PATCH rtw-next 0/6] wifi: rtw89: Add support for RTL8852BU Bitterblue Smith
                   ` (4 preceding siblings ...)
  2025-07-01 16:04 ` [PATCH rtw-next 5/6] wifi: rtw89: Add rtw8852bu.c Bitterblue Smith
@ 2025-07-01 16:05 ` Bitterblue Smith
  2025-07-04  5:34   ` Ping-Ke Shih
  2025-07-01 17:44 ` [PATCH rtw-next 0/6] wifi: rtw89: Add support for RTL8852BU Shengyu Qu
  6 siblings, 1 reply; 15+ messages in thread
From: Bitterblue Smith @ 2025-07-01 16:05 UTC (permalink / raw)
  To: linux-wireless@vger.kernel.org; +Cc: Ping-Ke Shih

Enable compilation of the new rtw89_8852bu module.

Tested mostly in station mode, and a little bit in AP mode.

Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
---
 drivers/net/wireless/realtek/rtw89/Kconfig  | 12 ++++++++++++
 drivers/net/wireless/realtek/rtw89/Makefile |  3 +++
 2 files changed, 15 insertions(+)

diff --git a/drivers/net/wireless/realtek/rtw89/Kconfig b/drivers/net/wireless/realtek/rtw89/Kconfig
index bd180f3369c3..4288c30b400a 100644
--- a/drivers/net/wireless/realtek/rtw89/Kconfig
+++ b/drivers/net/wireless/realtek/rtw89/Kconfig
@@ -86,6 +86,18 @@ config RTW89_8852BE
 
 	  802.11ax PCIe wireless network (Wi-Fi 6) adapter
 
+config RTW89_8852BU
+	tristate "Realtek 8852BU USB wireless network (Wi-Fi 6) adapter"
+	depends on USB
+	select RTW89_CORE
+	select RTW89_USB
+	select RTW89_8852B
+	select RTW89_8852B_COMMON
+	help
+	  Select this option will enable support for 8852BU chipset
+
+	  802.11ax USB wireless network (Wi-Fi 6) adapter
+
 config RTW89_8852BTE
 	tristate "Realtek 8852BE-VT PCI wireless network (Wi-Fi 6) adapter"
 	depends on PCI
diff --git a/drivers/net/wireless/realtek/rtw89/Makefile b/drivers/net/wireless/realtek/rtw89/Makefile
index 891e2d55c335..23e43c444f69 100644
--- a/drivers/net/wireless/realtek/rtw89/Makefile
+++ b/drivers/net/wireless/realtek/rtw89/Makefile
@@ -55,6 +55,9 @@ rtw89_8852b-objs := rtw8852b.o \
 obj-$(CONFIG_RTW89_8852BE) += rtw89_8852be.o
 rtw89_8852be-objs := rtw8852be.o
 
+obj-$(CONFIG_RTW89_8852BU) += rtw89_8852bu.o
+rtw89_8852bu-objs := rtw8852bu.o
+
 obj-$(CONFIG_RTW89_8852BT) += rtw89_8852bt.o
 rtw89_8852bt-objs := rtw8852bt.o \
 		    rtw8852bt_rfk.o \
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH rtw-next 0/6] wifi: rtw89: Add support for RTL8852BU
  2025-07-01 16:00 [PATCH rtw-next 0/6] wifi: rtw89: Add support for RTL8852BU Bitterblue Smith
                   ` (5 preceding siblings ...)
  2025-07-01 16:05 ` [PATCH rtw-next 6/6] wifi: rtw89: Enable the new rtw89_8852bu module Bitterblue Smith
@ 2025-07-01 17:44 ` Shengyu Qu
  2025-07-02 21:13   ` Bitterblue Smith
  6 siblings, 1 reply; 15+ messages in thread
From: Shengyu Qu @ 2025-07-01 17:44 UTC (permalink / raw)
  To: Bitterblue Smith, linux-wireless@vger.kernel.org; +Cc: wiagn233, Ping-Ke Shih


[-- Attachment #1.1.1: Type: text/plain, Size: 1243 bytes --]

Hi,

Great to see 8852BU support! Btw will you also add support for 8852BS?

Best regards,
Shengyu

在 2025/7/2 0:00, Bitterblue Smith 写道:
> Add support for RTL8852BU. The changes needed for this chip are very
> similar to the changes needed for RTL8851BU.
> 
> These patches depend on the initial USB support, of course:
> https://patchwork.kernel.org/project/linux-wireless/list/?series=977480
> 
> Bitterblue Smith (6):
>    wifi: rtw89: 8852bx: Accept USB devices and load their MAC address
>    wifi: rtw89: 8852b: Fix rtw8852b_pwr_{on,off}_func() for USB
>    wifi: rtw89: 8852b: Add rtw8852b_dle_mem_usb3
>    wifi: rtw89: 8852b: Add rtw8852b_hfc_param_ini_usb
>    wifi: rtw89: Add rtw8852bu.c
>    wifi: rtw89: Enable the new rtw89_8852bu module
> 
>   drivers/net/wireless/realtek/rtw89/Kconfig    | 12 +++
>   drivers/net/wireless/realtek/rtw89/Makefile   |  3 +
>   drivers/net/wireless/realtek/rtw89/rtw8852b.c | 85 +++++++++++++++++--
>   .../wireless/realtek/rtw89/rtw8852b_common.c  | 16 ++--
>   .../net/wireless/realtek/rtw89/rtw8852bu.c    | 55 ++++++++++++
>   5 files changed, 156 insertions(+), 15 deletions(-)
>   create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852bu.c
> 


[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 6977 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH rtw-next 0/6] wifi: rtw89: Add support for RTL8852BU
  2025-07-01 17:44 ` [PATCH rtw-next 0/6] wifi: rtw89: Add support for RTL8852BU Shengyu Qu
@ 2025-07-02 21:13   ` Bitterblue Smith
  0 siblings, 0 replies; 15+ messages in thread
From: Bitterblue Smith @ 2025-07-02 21:13 UTC (permalink / raw)
  To: Shengyu Qu, linux-wireless@vger.kernel.org; +Cc: Ping-Ke Shih

On 01/07/2025 20:44, Shengyu Qu wrote:
> Hi,
> 
> Great to see 8852BU support! Btw will you also add support for 8852BS?
> 
> Best regards,
> Shengyu
> 

Hi,

I can do it if someone wants to pay for that. Otherwise, I don't have
any plans.

> 在 2025/7/2 0:00, Bitterblue Smith 写道:
>> Add support for RTL8852BU. The changes needed for this chip are very
>> similar to the changes needed for RTL8851BU.
>>
>> These patches depend on the initial USB support, of course:
>> https://patchwork.kernel.org/project/linux-wireless/list/?series=977480
>>
>> Bitterblue Smith (6):
>>    wifi: rtw89: 8852bx: Accept USB devices and load their MAC address
>>    wifi: rtw89: 8852b: Fix rtw8852b_pwr_{on,off}_func() for USB
>>    wifi: rtw89: 8852b: Add rtw8852b_dle_mem_usb3
>>    wifi: rtw89: 8852b: Add rtw8852b_hfc_param_ini_usb
>>    wifi: rtw89: Add rtw8852bu.c
>>    wifi: rtw89: Enable the new rtw89_8852bu module
>>
>>   drivers/net/wireless/realtek/rtw89/Kconfig    | 12 +++
>>   drivers/net/wireless/realtek/rtw89/Makefile   |  3 +
>>   drivers/net/wireless/realtek/rtw89/rtw8852b.c | 85 +++++++++++++++++--
>>   .../wireless/realtek/rtw89/rtw8852b_common.c  | 16 ++--
>>   .../net/wireless/realtek/rtw89/rtw8852bu.c    | 55 ++++++++++++
>>   5 files changed, 156 insertions(+), 15 deletions(-)
>>   create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852bu.c
>>
> 


^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: [PATCH rtw-next 1/6] wifi: rtw89: 8852bx: Accept USB devices and load their MAC address
  2025-07-01 16:02 ` [PATCH rtw-next 1/6] wifi: rtw89: 8852bx: Accept USB devices and load their MAC address Bitterblue Smith
@ 2025-07-04  5:28   ` Ping-Ke Shih
  0 siblings, 0 replies; 15+ messages in thread
From: Ping-Ke Shih @ 2025-07-04  5:28 UTC (permalink / raw)
  To: Bitterblue Smith, linux-wireless@vger.kernel.org

Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> Sent: Wednesday, July 2, 2025 12:02 AM
> Make __rtw8852bx_read_efuse() accept USB devices and load the MAC
> address from the correct offset.
> 
> Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>

Acked-by: Ping-Ke Shih <pkshih@realtek.com>



^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: [PATCH rtw-next 2/6] wifi: rtw89: 8852b: Fix rtw8852b_pwr_{on,off}_func() for USB
  2025-07-01 16:02 ` [PATCH rtw-next 2/6] wifi: rtw89: 8852b: Fix rtw8852b_pwr_{on,off}_func() for USB Bitterblue Smith
@ 2025-07-04  5:30   ` Ping-Ke Shih
  0 siblings, 0 replies; 15+ messages in thread
From: Ping-Ke Shih @ 2025-07-04  5:30 UTC (permalink / raw)
  To: Bitterblue Smith, linux-wireless@vger.kernel.org

Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> There are a few differences in the power on/off functions between PCIE
> and USB. The changes in the power off function in particular are needed
> for the RTL8832BU to be able to power on again after it's powered off.
> 
> While the RTL8832BU appears to work without the changes in the power on
> function, it's probably best to implement them, in case they are needed
> in some situations.
> 
> Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>

Acked-by: Ping-Ke Shih <pkshih@realtek.com>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: [PATCH rtw-next 3/6] wifi: rtw89: 8852b: Add rtw8852b_dle_mem_usb3
  2025-07-01 16:03 ` [PATCH rtw-next 3/6] wifi: rtw89: 8852b: Add rtw8852b_dle_mem_usb3 Bitterblue Smith
@ 2025-07-04  5:31   ` Ping-Ke Shih
  0 siblings, 0 replies; 15+ messages in thread
From: Ping-Ke Shih @ 2025-07-04  5:31 UTC (permalink / raw)
  To: Bitterblue Smith, linux-wireless@vger.kernel.org

Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> "dle" could be "Data Link Engine" or "Double Link Engine". These are
> some parameters needed for RTL8852BU.
> 
> In this case the same parameters are used for USB 2 and USB 3.
> 
> Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>

Acked-by: Ping-Ke Shih <pkshih@realtek.com>




^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: [PATCH rtw-next 4/6] wifi: rtw89: 8852b: Add rtw8852b_hfc_param_ini_usb
  2025-07-01 16:03 ` [PATCH rtw-next 4/6] wifi: rtw89: 8852b: Add rtw8852b_hfc_param_ini_usb Bitterblue Smith
@ 2025-07-04  5:31   ` Ping-Ke Shih
  0 siblings, 0 replies; 15+ messages in thread
From: Ping-Ke Shih @ 2025-07-04  5:31 UTC (permalink / raw)
  To: Bitterblue Smith, linux-wireless@vger.kernel.org

Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> "hfc" means "hci fc" which is "Host Control Interface Flow Control".
> These are some parameters needed for RTL8852BU.
> 
> Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>

Acked-by: Ping-Ke Shih <pkshih@realtek.com>



^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: [PATCH rtw-next 5/6] wifi: rtw89: Add rtw8852bu.c
  2025-07-01 16:04 ` [PATCH rtw-next 5/6] wifi: rtw89: Add rtw8852bu.c Bitterblue Smith
@ 2025-07-04  5:32   ` Ping-Ke Shih
  0 siblings, 0 replies; 15+ messages in thread
From: Ping-Ke Shih @ 2025-07-04  5:32 UTC (permalink / raw)
  To: Bitterblue Smith, linux-wireless@vger.kernel.org

Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> This is the entry point for the new rtw89_8852bu module.
> 
> Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>

Acked-by: Ping-Ke Shih <pkshih@realtek.com>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: [PATCH rtw-next 6/6] wifi: rtw89: Enable the new rtw89_8852bu module
  2025-07-01 16:05 ` [PATCH rtw-next 6/6] wifi: rtw89: Enable the new rtw89_8852bu module Bitterblue Smith
@ 2025-07-04  5:34   ` Ping-Ke Shih
  0 siblings, 0 replies; 15+ messages in thread
From: Ping-Ke Shih @ 2025-07-04  5:34 UTC (permalink / raw)
  To: Bitterblue Smith, linux-wireless@vger.kernel.org

Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> Enable compilation of the new rtw89_8852bu module.
> 
> Tested mostly in station mode, and a little bit in AP mode.
> 
> Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>

Acked-by: Ping-Ke Shih <pkshih@realtek.com>

Please send v2 with my acked-by. Since I have merged patchset of USB support,
nipa can help to build this patchset then.

Thanks for your great USB work. 


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-07-04  5:34 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-01 16:00 [PATCH rtw-next 0/6] wifi: rtw89: Add support for RTL8852BU Bitterblue Smith
2025-07-01 16:02 ` [PATCH rtw-next 1/6] wifi: rtw89: 8852bx: Accept USB devices and load their MAC address Bitterblue Smith
2025-07-04  5:28   ` Ping-Ke Shih
2025-07-01 16:02 ` [PATCH rtw-next 2/6] wifi: rtw89: 8852b: Fix rtw8852b_pwr_{on,off}_func() for USB Bitterblue Smith
2025-07-04  5:30   ` Ping-Ke Shih
2025-07-01 16:03 ` [PATCH rtw-next 3/6] wifi: rtw89: 8852b: Add rtw8852b_dle_mem_usb3 Bitterblue Smith
2025-07-04  5:31   ` Ping-Ke Shih
2025-07-01 16:03 ` [PATCH rtw-next 4/6] wifi: rtw89: 8852b: Add rtw8852b_hfc_param_ini_usb Bitterblue Smith
2025-07-04  5:31   ` Ping-Ke Shih
2025-07-01 16:04 ` [PATCH rtw-next 5/6] wifi: rtw89: Add rtw8852bu.c Bitterblue Smith
2025-07-04  5:32   ` Ping-Ke Shih
2025-07-01 16:05 ` [PATCH rtw-next 6/6] wifi: rtw89: Enable the new rtw89_8852bu module Bitterblue Smith
2025-07-04  5:34   ` Ping-Ke Shih
2025-07-01 17:44 ` [PATCH rtw-next 0/6] wifi: rtw89: Add support for RTL8852BU Shengyu Qu
2025-07-02 21:13   ` Bitterblue Smith

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).