rtl_bt: Add separate config for RLT8723CS Bluetooth part

While RTL8723CS is able to start with RTL8723BS config, it doesn't
actually work. Powering on device with "power on" in bluetoothctl
and enabling scan via "scan on" doesn't find a single device.

Unfortunately, RealtekBluetoothUartPackage_2.17.119.0525 doesn't have
a config for RTL8723CS, so we have to resort to a known-working config
from armbian firmware repository [1]. Their commit history doesn't mention
its origin.

Closer inspection of the config reveals that indeed 8723CS uses different
entry offsets, e.g. 8723BT:

55ab 2387 # Magic
3a00 # Total len
2b00 06 0000 00aa bbcc # Offset = 0x002b, len = 0x06
f400 03 0100 00 # Offset = 0x00f4, len = 0x03
f800 02 8500 # Offset = 0x00f8, len = 0x02
2700 01 67 # Offset = 0x0027, len = 0x01
0c00 10 0280 9204 50c5 ea19 e11b f1af 5f01 a40b # Offset = 0x000c, len = 0x10
df01 01 01 # Offset = 0x01df, len = 0x01
fe00 01 01 # Offset = 0x00fe, len = 0x01
e301 01 00 # Offset = 0x01e3, len = 0x01
0000 00	# Offset = 0x0000, len = 0x00

8723CS:

55ab 2387 # Magic
3900 # Total len
f400 01 01 # Offset = 0x00f4, len = 0x01
f600 02 8100 # Offset = 0x00f6, len = 0x02
fa00 02 1280 # Offset = 0x00fa, len = 0x02
0c00 10 0280 9204 50c5 ea19 e11b fdaf 5f01 a40b # Offset = 0x000c, len = 0x10
2700 01 63 # Offset = 0x0027, len = 0x1
0001 01 01 # Offset = 0x0100, len = 01
5b01 04 0b0b0b0a # Offset = 0x015b, len = 0x04
4200 02 4150 # Offset = 0x0042, len = 0x02
e000 01 42 # Offset = 0x00e0, len = 0x01

The only known devices with mainline Linux support that use 8723CS are
Pine64's PineTab, PinePhone and Pinebook, all of them work with this config.

[1] https://github.com/armbian/firmware

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
main
Vasily Khoruzhick 2025-01-05 22:44:53 -08:00 committed by Mario Limonciello
parent 20cfa5cb63
commit e39831b1a9
2 changed files with 1 additions and 1 deletions

2
WHENCE
View File

@ -4212,7 +4212,7 @@ File: rtl_bt/rtl8723bs_config.bin
Link: rtl_bt/rtl8723bs_config-OBDA8723.bin -> rtl8723bs_config.bin
Link: rtl_bt/rtl8723bs_config-OBDA0623.bin -> rtl8723bs_config.bin
File: rtl_bt/rtl8723cs_xx_fw.bin
Link: rtl_bt/rtl8723cs_xx_config.bin -> rtl8723bs_config.bin
File: rtl_bt/rtl8723cs_xx_config.bin
File: rtl_bt/rtl8761a_fw.bin
File: rtl_bt/rtl8761b_fw.bin
File: rtl_bt/rtl8761b_config.bin

Binary file not shown.