diff mbox series

Bluetooth: btrtl: Add the support for RTL8852BT/RTL8852BE-VT

Message ID 20231226015713.13673-1-max.chou@realtek.com (mailing list archive)
State Superseded
Headers show
Series Bluetooth: btrtl: Add the support for RTL8852BT/RTL8852BE-VT | expand

Checks

Context Check Description
tedd_an/pre-ci_am success Success
tedd_an/CheckPatch success CheckPatch PASS
tedd_an/GitLint success Gitlint PASS
tedd_an/SubjectPrefix success Gitlint PASS
tedd_an/BuildKernel success BuildKernel PASS
tedd_an/CheckAllWarning success CheckAllWarning PASS
tedd_an/CheckSparse success CheckSparse PASS
tedd_an/CheckSmatch success CheckSparse PASS
tedd_an/BuildKernel32 success BuildKernel32 PASS
tedd_an/TestRunnerSetup success TestRunnerSetup PASS
tedd_an/TestRunner_l2cap-tester success TestRunner PASS
tedd_an/TestRunner_iso-tester success TestRunner PASS
tedd_an/TestRunner_bnep-tester success TestRunner PASS
tedd_an/TestRunner_mgmt-tester fail TestRunner_mgmt-tester: Total: 497, Passed: 495 (99.6%), Failed: 1, Not Run: 1
tedd_an/TestRunner_rfcomm-tester success TestRunner PASS
tedd_an/TestRunner_sco-tester success TestRunner PASS
tedd_an/TestRunner_ioctl-tester success TestRunner PASS
tedd_an/TestRunner_mesh-tester success TestRunner PASS
tedd_an/TestRunner_smp-tester success TestRunner PASS
tedd_an/TestRunner_userchan-tester success TestRunner PASS
tedd_an/IncrementalBuild success Incremental Build PASS

Commit Message

Max Chou Dec. 26, 2023, 1:57 a.m. UTC
From: Max Chou <max.chou@realtek.com>

Add the support for RTL8852BT/RTL8852BE-VT BT controller on USB interface.
The necessary firmware will be submitted to linux-firmware project.

The device info from /sys/kernel/debug/usb/devices as below.

T:  Bus=02 Lev=02 Prnt=02 Port=05 Cnt=01 Dev#=  8 Spd=12   MxCh= 0
D:  Ver= 1.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0bda ProdID=8520 Rev= 0.00
S:  Manufacturer=Realtek
S:  Product=Bluetooth Radio
S:  SerialNumber=00e04c000001
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms

Signed-off-by: Max Chou <max.chou@realtek.com>
---
 drivers/bluetooth/btrtl.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

bluez.test.bot@gmail.com Dec. 26, 2023, 2:42 a.m. UTC | #1
This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=812846

---Test result---

Test Summary:
CheckPatch                    PASS      0.61 seconds
GitLint                       PASS      0.30 seconds
SubjectPrefix                 PASS      0.12 seconds
BuildKernel                   PASS      27.43 seconds
CheckAllWarning               PASS      30.16 seconds
CheckSparse                   PASS      35.62 seconds
CheckSmatch                   PASS      98.11 seconds
BuildKernel32                 PASS      26.74 seconds
TestRunnerSetup               PASS      428.83 seconds
TestRunner_l2cap-tester       PASS      22.68 seconds
TestRunner_iso-tester         PASS      47.01 seconds
TestRunner_bnep-tester        PASS      6.89 seconds
TestRunner_mgmt-tester        FAIL      162.68 seconds
TestRunner_rfcomm-tester      PASS      10.62 seconds
TestRunner_sco-tester         PASS      14.45 seconds
TestRunner_ioctl-tester       PASS      11.93 seconds
TestRunner_mesh-tester        PASS      8.58 seconds
TestRunner_smp-tester         PASS      9.56 seconds
TestRunner_userchan-tester    PASS      7.14 seconds
IncrementalBuild              PASS      25.84 seconds

Details
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Total: 497, Passed: 495 (99.6%), Failed: 1, Not Run: 1

Failed Test Cases
LL Privacy - Start Discovery 2 (Disable RL)          Failed       0.284 seconds


---
Regards,
Linux Bluetooth
Paul Menzel Dec. 26, 2023, 8:38 a.m. UTC | #2
Dear Max,


Thank you for your patch.

Am 26.12.23 um 02:57 schrieb max.chou@realtek.com:
> From: Max Chou <max.chou@realtek.com>
> 
> Add the support for RTL8852BT/RTL8852BE-VT BT controller on USB interface.

It’d be great if you stated, how it differs from the existing devices. 
Judging from your diff, only the ids need to be added.

> The necessary firmware will be submitted to linux-firmware project.
> 
> The device info from /sys/kernel/debug/usb/devices as below.
> 
> T:  Bus=02 Lev=02 Prnt=02 Port=05 Cnt=01 Dev#=  8 Spd=12   MxCh= 0
> D:  Ver= 1.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
> P:  Vendor=0bda ProdID=8520 Rev= 0.00
> S:  Manufacturer=Realtek
> S:  Product=Bluetooth Radio
> S:  SerialNumber=00e04c000001
> C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
> I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
> E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
> E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
> I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
> E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
> I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
> E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
> I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
> E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
> I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
> E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
> I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
> E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
> 
> Signed-off-by: Max Chou <max.chou@realtek.com>
> ---
>   drivers/bluetooth/btrtl.c | 14 ++++++++++++++
>   1 file changed, 14 insertions(+)
> 
> diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c
> index 277d039ecbb4..cc50de69e8dc 100644
> --- a/drivers/bluetooth/btrtl.c
> +++ b/drivers/bluetooth/btrtl.c
> @@ -69,6 +69,7 @@ enum btrtl_chip_id {
>   	CHIP_ID_8852B = 20,
>   	CHIP_ID_8852C = 25,
>   	CHIP_ID_8851B = 36,
> +	CHIP_ID_8852BT = 47,
>   };
>   
>   struct id_table {
> @@ -307,6 +308,15 @@ static const struct id_table ic_id_table[] = {
>   	  .fw_name  = "rtl_bt/rtl8851bu_fw",
>   	  .cfg_name = "rtl_bt/rtl8851bu_config",
>   	  .hw_info  = "rtl8851bu" },
> +
> +	/* 8852BT/8852BE-VT */
> +	{ IC_INFO(RTL_ROM_LMP_8852A, 0x87, 0xc, HCI_USB),
> +	  .config_needed = false,
> +	  .has_rom_version = true,
> +	  .has_msft_ext = true,
> +	  .fw_name  = "rtl_bt/rtl8852btu_fw",
> +	  .cfg_name = "rtl_bt/rtl8852btu_config",
> +	  .hw_info  = "rtl8852btu" },
>   	};
>   
>   static const struct id_table *btrtl_match_ic(u16 lmp_subver, u16 hci_rev,
> @@ -645,6 +655,7 @@ static int rtlbt_parse_firmware(struct hci_dev *hdev,
>   		{ RTL_ROM_LMP_8852A, 20 },	/* 8852B */
>   		{ RTL_ROM_LMP_8852A, 25 },	/* 8852C */
>   		{ RTL_ROM_LMP_8851B, 36 },	/* 8851B */
> +		{ RTL_ROM_LMP_8852A, 47 },	/* 8852BT */
>   	};
>   
>   	if (btrtl_dev->fw_len <= 8)
> @@ -1275,6 +1286,7 @@ void btrtl_set_quirks(struct hci_dev *hdev, struct btrtl_device_info *btrtl_dev)
>   	case CHIP_ID_8852B:
>   	case CHIP_ID_8852C:
>   	case CHIP_ID_8851B:
> +	case CHIP_ID_8852BT:
>   		set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
>   		set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks);
>   
> @@ -1505,6 +1517,8 @@ MODULE_FIRMWARE("rtl_bt/rtl8852bs_fw.bin");
>   MODULE_FIRMWARE("rtl_bt/rtl8852bs_config.bin");
>   MODULE_FIRMWARE("rtl_bt/rtl8852bu_fw.bin");
>   MODULE_FIRMWARE("rtl_bt/rtl8852bu_config.bin");
> +MODULE_FIRMWARE("rtl_bt/rtl8852btu_fw.bin");
> +MODULE_FIRMWARE("rtl_bt/rtl8852btu_config.bin");

Should btu be ordered before bu?

>   MODULE_FIRMWARE("rtl_bt/rtl8852cu_fw.bin");
>   MODULE_FIRMWARE("rtl_bt/rtl8852cu_fw_v2.bin");
>   MODULE_FIRMWARE("rtl_bt/rtl8852cu_config.bin");


Kind regards,

Paul
Max Chou Dec. 26, 2023, 11:28 a.m. UTC | #3
Hi! Paul,
If the USB VID is 0x0bda, it will be determined to Realtek device as below.
	/* Realtek Bluetooth devices */
	{ USB_VENDOR_AND_INTERFACE_INFO(0x0bda, 0xe0, 0x01, 0x01),
	  .driver_info = BTUSB_REALTEK },

In btrtl.c, btrtl_setup_realtek() will judge what the chip is and start the initialization for firmware download.
Hence, PID is not necessary. 
However, I will send the v2 for the ID info. Thanks for the advice.

BRs,
Max

-----Original Message-----
From: Paul Menzel <pmenzel@molgen.mpg.de> 
Sent: Tuesday, December 26, 2023 4:39 PM
To: Max Chou <max.chou@realtek.com>
Cc: marcel@holtmann.org; johan.hedberg@gmail.com; luiz.dentz@gmail.com; linux-bluetooth@vger.kernel.org; linux-kernel@vger.kernel.org; alex_lu@realsil.com.cn; Hilda Wu <hildawu@realtek.com>; Karen Hsu <karenhsu@realtek.com>
Subject: Re: [PATCH] Bluetooth: btrtl: Add the support for RTL8852BT/RTL8852BE-VT


External mail.



Dear Max,


Thank you for your patch.

Am 26.12.23 um 02:57 schrieb max.chou@realtek.com:
> From: Max Chou <max.chou@realtek.com>
>
> Add the support for RTL8852BT/RTL8852BE-VT BT controller on USB interface.

It’d be great if you stated, how it differs from the existing devices.
Judging from your diff, only the ids need to be added.

> The necessary firmware will be submitted to linux-firmware project.
>
> The device info from /sys/kernel/debug/usb/devices as below.
>
> T:  Bus=02 Lev=02 Prnt=02 Port=05 Cnt=01 Dev#=  8 Spd=12   MxCh= 0
> D:  Ver= 1.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
> P:  Vendor=0bda ProdID=8520 Rev= 0.00
> S:  Manufacturer=Realtek
> S:  Product=Bluetooth Radio
> S:  SerialNumber=00e04c000001
> C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
> I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
> E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
> E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
> I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
> E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
> I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
> E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
> I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
> E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
> I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
> E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
> I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
> E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
>
> Signed-off-by: Max Chou <max.chou@realtek.com>
> ---
>   drivers/bluetooth/btrtl.c | 14 ++++++++++++++
>   1 file changed, 14 insertions(+)
>
> diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c 
> index 277d039ecbb4..cc50de69e8dc 100644
> --- a/drivers/bluetooth/btrtl.c
> +++ b/drivers/bluetooth/btrtl.c
> @@ -69,6 +69,7 @@ enum btrtl_chip_id {
>       CHIP_ID_8852B = 20,
>       CHIP_ID_8852C = 25,
>       CHIP_ID_8851B = 36,
> +     CHIP_ID_8852BT = 47,
>   };
>
>   struct id_table {
> @@ -307,6 +308,15 @@ static const struct id_table ic_id_table[] = {
>         .fw_name  = "rtl_bt/rtl8851bu_fw",
>         .cfg_name = "rtl_bt/rtl8851bu_config",
>         .hw_info  = "rtl8851bu" },
> +
> +     /* 8852BT/8852BE-VT */
> +     { IC_INFO(RTL_ROM_LMP_8852A, 0x87, 0xc, HCI_USB),
> +       .config_needed = false,
> +       .has_rom_version = true,
> +       .has_msft_ext = true,
> +       .fw_name  = "rtl_bt/rtl8852btu_fw",
> +       .cfg_name = "rtl_bt/rtl8852btu_config",
> +       .hw_info  = "rtl8852btu" },
>       };
>
>   static const struct id_table *btrtl_match_ic(u16 lmp_subver, u16 
> hci_rev, @@ -645,6 +655,7 @@ static int rtlbt_parse_firmware(struct hci_dev *hdev,
>               { RTL_ROM_LMP_8852A, 20 },      /* 8852B */
>               { RTL_ROM_LMP_8852A, 25 },      /* 8852C */
>               { RTL_ROM_LMP_8851B, 36 },      /* 8851B */
> +             { RTL_ROM_LMP_8852A, 47 },      /* 8852BT */
>       };
>
>       if (btrtl_dev->fw_len <= 8)
> @@ -1275,6 +1286,7 @@ void btrtl_set_quirks(struct hci_dev *hdev, struct btrtl_device_info *btrtl_dev)
>       case CHIP_ID_8852B:
>       case CHIP_ID_8852C:
>       case CHIP_ID_8851B:
> +     case CHIP_ID_8852BT:
>               set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
>               set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, 
> &hdev->quirks);
>
> @@ -1505,6 +1517,8 @@ MODULE_FIRMWARE("rtl_bt/rtl8852bs_fw.bin");
>   MODULE_FIRMWARE("rtl_bt/rtl8852bs_config.bin");
>   MODULE_FIRMWARE("rtl_bt/rtl8852bu_fw.bin");
>   MODULE_FIRMWARE("rtl_bt/rtl8852bu_config.bin");
> +MODULE_FIRMWARE("rtl_bt/rtl8852btu_fw.bin");
> +MODULE_FIRMWARE("rtl_bt/rtl8852btu_config.bin");

Should btu be ordered before bu?

>   MODULE_FIRMWARE("rtl_bt/rtl8852cu_fw.bin");
>   MODULE_FIRMWARE("rtl_bt/rtl8852cu_fw_v2.bin");
>   MODULE_FIRMWARE("rtl_bt/rtl8852cu_config.bin");


Kind regards,

Paul
diff mbox series

Patch

diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c
index 277d039ecbb4..cc50de69e8dc 100644
--- a/drivers/bluetooth/btrtl.c
+++ b/drivers/bluetooth/btrtl.c
@@ -69,6 +69,7 @@  enum btrtl_chip_id {
 	CHIP_ID_8852B = 20,
 	CHIP_ID_8852C = 25,
 	CHIP_ID_8851B = 36,
+	CHIP_ID_8852BT = 47,
 };
 
 struct id_table {
@@ -307,6 +308,15 @@  static const struct id_table ic_id_table[] = {
 	  .fw_name  = "rtl_bt/rtl8851bu_fw",
 	  .cfg_name = "rtl_bt/rtl8851bu_config",
 	  .hw_info  = "rtl8851bu" },
+
+	/* 8852BT/8852BE-VT */
+	{ IC_INFO(RTL_ROM_LMP_8852A, 0x87, 0xc, HCI_USB),
+	  .config_needed = false,
+	  .has_rom_version = true,
+	  .has_msft_ext = true,
+	  .fw_name  = "rtl_bt/rtl8852btu_fw",
+	  .cfg_name = "rtl_bt/rtl8852btu_config",
+	  .hw_info  = "rtl8852btu" },
 	};
 
 static const struct id_table *btrtl_match_ic(u16 lmp_subver, u16 hci_rev,
@@ -645,6 +655,7 @@  static int rtlbt_parse_firmware(struct hci_dev *hdev,
 		{ RTL_ROM_LMP_8852A, 20 },	/* 8852B */
 		{ RTL_ROM_LMP_8852A, 25 },	/* 8852C */
 		{ RTL_ROM_LMP_8851B, 36 },	/* 8851B */
+		{ RTL_ROM_LMP_8852A, 47 },	/* 8852BT */
 	};
 
 	if (btrtl_dev->fw_len <= 8)
@@ -1275,6 +1286,7 @@  void btrtl_set_quirks(struct hci_dev *hdev, struct btrtl_device_info *btrtl_dev)
 	case CHIP_ID_8852B:
 	case CHIP_ID_8852C:
 	case CHIP_ID_8851B:
+	case CHIP_ID_8852BT:
 		set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
 		set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks);
 
@@ -1505,6 +1517,8 @@  MODULE_FIRMWARE("rtl_bt/rtl8852bs_fw.bin");
 MODULE_FIRMWARE("rtl_bt/rtl8852bs_config.bin");
 MODULE_FIRMWARE("rtl_bt/rtl8852bu_fw.bin");
 MODULE_FIRMWARE("rtl_bt/rtl8852bu_config.bin");
+MODULE_FIRMWARE("rtl_bt/rtl8852btu_fw.bin");
+MODULE_FIRMWARE("rtl_bt/rtl8852btu_config.bin");
 MODULE_FIRMWARE("rtl_bt/rtl8852cu_fw.bin");
 MODULE_FIRMWARE("rtl_bt/rtl8852cu_fw_v2.bin");
 MODULE_FIRMWARE("rtl_bt/rtl8852cu_config.bin");