|
30 | 30 | #define RTL_ROM_LMP_8822B 0x8822
|
31 | 31 | #define RTL_ROM_LMP_8852A 0x8852
|
32 | 32 | #define RTL_ROM_LMP_8851B 0x8851
|
| 33 | +#define RTL_ROM_LMP_8922A 0x8922 |
33 | 34 | #define RTL_CONFIG_MAGIC 0x8723ab55
|
34 | 35 |
|
35 | 36 | #define RTL_VSC_OP_COREDUMP 0xfcff
|
@@ -69,6 +70,7 @@ enum btrtl_chip_id {
|
69 | 70 | CHIP_ID_8852B = 20,
|
70 | 71 | CHIP_ID_8852C = 25,
|
71 | 72 | CHIP_ID_8851B = 36,
|
| 73 | + CHIP_ID_8922A = 44, |
72 | 74 | CHIP_ID_8852BT = 47,
|
73 | 75 | };
|
74 | 76 |
|
@@ -309,6 +311,15 @@ static const struct id_table ic_id_table[] = {
|
309 | 311 | .cfg_name = "rtl_bt/rtl8851bu_config",
|
310 | 312 | .hw_info = "rtl8851bu" },
|
311 | 313 |
|
| 314 | + /* 8922A */ |
| 315 | + { IC_INFO(RTL_ROM_LMP_8922A, 0xa, 0xc, HCI_USB), |
| 316 | + .config_needed = false, |
| 317 | + .has_rom_version = true, |
| 318 | + .has_msft_ext = true, |
| 319 | + .fw_name = "rtl_bt/rtl8922au_fw", |
| 320 | + .cfg_name = "rtl_bt/rtl8922au_config", |
| 321 | + .hw_info = "rtl8922au" }, |
| 322 | + |
312 | 323 | /* 8852BT/8852BE-VT */
|
313 | 324 | { IC_INFO(RTL_ROM_LMP_8852A, 0x87, 0xc, HCI_USB),
|
314 | 325 | .config_needed = false,
|
@@ -655,6 +666,7 @@ static int rtlbt_parse_firmware(struct hci_dev *hdev,
|
655 | 666 | { RTL_ROM_LMP_8852A, 20 }, /* 8852B */
|
656 | 667 | { RTL_ROM_LMP_8852A, 25 }, /* 8852C */
|
657 | 668 | { RTL_ROM_LMP_8851B, 36 }, /* 8851B */
|
| 669 | + { RTL_ROM_LMP_8922A, 44 }, /* 8922A */ |
658 | 670 | { RTL_ROM_LMP_8852A, 47 }, /* 8852BT */
|
659 | 671 | };
|
660 | 672 |
|
@@ -1255,6 +1267,7 @@ int btrtl_download_firmware(struct hci_dev *hdev,
|
1255 | 1267 | case RTL_ROM_LMP_8852A:
|
1256 | 1268 | case RTL_ROM_LMP_8703B:
|
1257 | 1269 | case RTL_ROM_LMP_8851B:
|
| 1270 | + case RTL_ROM_LMP_8922A: |
1258 | 1271 | err = btrtl_setup_rtl8723b(hdev, btrtl_dev);
|
1259 | 1272 | break;
|
1260 | 1273 | default:
|
@@ -1286,6 +1299,7 @@ void btrtl_set_quirks(struct hci_dev *hdev, struct btrtl_device_info *btrtl_dev)
|
1286 | 1299 | case CHIP_ID_8852B:
|
1287 | 1300 | case CHIP_ID_8852C:
|
1288 | 1301 | case CHIP_ID_8851B:
|
| 1302 | + case CHIP_ID_8922A: |
1289 | 1303 | case CHIP_ID_8852BT:
|
1290 | 1304 | set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks);
|
1291 | 1305 |
|
@@ -1528,3 +1542,5 @@ MODULE_FIRMWARE("rtl_bt/rtl8852btu_config.bin");
|
1528 | 1542 | MODULE_FIRMWARE("rtl_bt/rtl8852cu_fw.bin");
|
1529 | 1543 | MODULE_FIRMWARE("rtl_bt/rtl8852cu_fw_v2.bin");
|
1530 | 1544 | MODULE_FIRMWARE("rtl_bt/rtl8852cu_config.bin");
|
| 1545 | +MODULE_FIRMWARE("rtl_bt/rtl8922au_fw.bin"); |
| 1546 | +MODULE_FIRMWARE("rtl_bt/rtl8922au_config.bin"); |
0 commit comments