@@ -235,6 +235,29 @@ static const struct btmrvl_sdio_card_reg btmrvl_reg_8977 = {
235
235
.fw_dump_end = 0xf8 ,
236
236
};
237
237
238
+ static const struct btmrvl_sdio_card_reg btmrvl_reg_8987 = {
239
+ .cfg = 0x00 ,
240
+ .host_int_mask = 0x08 ,
241
+ .host_intstatus = 0x0c ,
242
+ .card_status = 0x5c ,
243
+ .sq_read_base_addr_a0 = 0xf8 ,
244
+ .sq_read_base_addr_a1 = 0xf9 ,
245
+ .card_revision = 0xc8 ,
246
+ .card_fw_status0 = 0xe8 ,
247
+ .card_fw_status1 = 0xe9 ,
248
+ .card_rx_len = 0xea ,
249
+ .card_rx_unit = 0xeb ,
250
+ .io_port_0 = 0xe4 ,
251
+ .io_port_1 = 0xe5 ,
252
+ .io_port_2 = 0xe6 ,
253
+ .int_read_to_clear = true,
254
+ .host_int_rsr = 0x04 ,
255
+ .card_misc_cfg = 0xd8 ,
256
+ .fw_dump_ctrl = 0xf0 ,
257
+ .fw_dump_start = 0xf1 ,
258
+ .fw_dump_end = 0xf8 ,
259
+ };
260
+
238
261
static const struct btmrvl_sdio_card_reg btmrvl_reg_8997 = {
239
262
.cfg = 0x00 ,
240
263
.host_int_mask = 0x08 ,
@@ -312,6 +335,15 @@ static const struct btmrvl_sdio_device btmrvl_sdio_sd8977 = {
312
335
.supports_fw_dump = true,
313
336
};
314
337
338
+ static const struct btmrvl_sdio_device btmrvl_sdio_sd8987 = {
339
+ .helper = NULL ,
340
+ .firmware = "mrvl/sd8987_uapsta.bin" ,
341
+ .reg = & btmrvl_reg_8987 ,
342
+ .support_pscan_win_report = true,
343
+ .sd_blksz_fw_dl = 256 ,
344
+ .supports_fw_dump = true,
345
+ };
346
+
315
347
static const struct btmrvl_sdio_device btmrvl_sdio_sd8997 = {
316
348
.helper = NULL ,
317
349
.firmware = "mrvl/sd8997_uapsta.bin" ,
@@ -343,6 +375,9 @@ static const struct sdio_device_id btmrvl_sdio_ids[] = {
343
375
/* Marvell SD8977 Bluetooth device */
344
376
{ SDIO_DEVICE (SDIO_VENDOR_ID_MARVELL , 0x9146 ),
345
377
.driver_data = (unsigned long )& btmrvl_sdio_sd8977 },
378
+ /* Marvell SD8987 Bluetooth device */
379
+ { SDIO_DEVICE (SDIO_VENDOR_ID_MARVELL , 0x914A ),
380
+ .driver_data = (unsigned long )& btmrvl_sdio_sd8987 },
346
381
/* Marvell SD8997 Bluetooth device */
347
382
{ SDIO_DEVICE (SDIO_VENDOR_ID_MARVELL , 0x9142 ),
348
383
.driver_data = (unsigned long )& btmrvl_sdio_sd8997 },
@@ -1797,4 +1832,5 @@ MODULE_FIRMWARE("mrvl/sd8797_uapsta.bin");
1797
1832
MODULE_FIRMWARE ("mrvl/sd8887_uapsta.bin" );
1798
1833
MODULE_FIRMWARE ("mrvl/sd8897_uapsta.bin" );
1799
1834
MODULE_FIRMWARE ("mrvl/sd8977_uapsta.bin" );
1835
+ MODULE_FIRMWARE ("mrvl/sd8987_uapsta.bin" );
1800
1836
MODULE_FIRMWARE ("mrvl/sd8997_uapsta.bin" );
0 commit comments