]> git.dujemihanovic.xyz Git - linux.git/commitdiff
Bluetooth: btmrvl_sdio: Add support for SD8777 chipset
authorblacksilver <blacksilver@debdan.net>
Wed, 1 Nov 2023 09:33:06 +0000 (10:33 +0100)
committerDuje Mihanović <duje.mihanovic@skole.hr>
Sat, 20 Jan 2024 19:52:02 +0000 (20:52 +0100)
Support for Marvell's chipset SD8777 is added.
Existing btmrvl_reg_87xx register definition is reused.

drivers/bluetooth/btmrvl_sdio.c
include/linux/mmc/sdio_ids.h

index d76c799553aaa10fd41275cdb609cc53e4405e36..bd2d7c6136d9f8e4d3fb081844e808ec32f60ca7 100644 (file)
@@ -41,6 +41,7 @@ static struct memory_type_mapping mem_type_mapping_tbl[] = {
 };
 
 static const struct of_device_id btmrvl_sdio_of_match_table[] __maybe_unused = {
+       { .compatible = "marvell,sd8777-bt" },
        { .compatible = "marvell,sd8897-bt" },
        { .compatible = "marvell,sd8997-bt" },
        { }
@@ -234,6 +235,15 @@ static const struct btmrvl_sdio_device btmrvl_sdio_sd8688 = {
        .supports_fw_dump = false,
 };
 
+static const struct btmrvl_sdio_device btmrvl_sdio_sd8777 = {
+       .helper         = NULL,
+       .firmware       = "mrvl/sd8777_uapsta.bin",
+       .reg            = &btmrvl_reg_87xx,
+       .support_pscan_win_report = false,
+       .sd_blksz_fw_dl = 256,
+       .supports_fw_dump = false,
+};
+
 static const struct btmrvl_sdio_device btmrvl_sdio_sd8787 = {
        .helper         = NULL,
        .firmware       = "mrvl/sd8787_uapsta.bin",
@@ -301,6 +311,9 @@ static const struct sdio_device_id btmrvl_sdio_ids[] = {
        /* Marvell SD8688 Bluetooth device */
        { SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8688_BT),
                        .driver_data = (unsigned long)&btmrvl_sdio_sd8688 },
+       /* Marvell SD8777 Bluetooth device */
+       { SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8777_BT),
+                       .driver_data = (unsigned long)&btmrvl_sdio_sd8777 },
        /* Marvell SD8787 Bluetooth device */
        { SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8787_BT),
                        .driver_data = (unsigned long)&btmrvl_sdio_sd8787 },
@@ -1772,6 +1785,7 @@ MODULE_VERSION(VERSION);
 MODULE_LICENSE("GPL v2");
 MODULE_FIRMWARE("mrvl/sd8688_helper.bin");
 MODULE_FIRMWARE("mrvl/sd8688.bin");
+MODULE_FIRMWARE("mrvl/sd8777_uapsta.bin");
 MODULE_FIRMWARE("mrvl/sd8787_uapsta.bin");
 MODULE_FIRMWARE("mrvl/sd8797_uapsta.bin");
 MODULE_FIRMWARE("mrvl/sd8887_uapsta.bin");
index c46ab35ceb20adcf2a3bd34d0bf01855ce19bc62..6d729a066df8fb35c7590f9e3ae5bd5efecf4e94 100644 (file)
@@ -95,6 +95,7 @@
 #define SDIO_DEVICE_ID_MARVELL_8897_WLAN       0x912d
 #define SDIO_DEVICE_ID_MARVELL_8897_BT         0x912e
 #define SDIO_DEVICE_ID_MARVELL_8777_WLAN       0x9131
+#define SDIO_DEVICE_ID_MARVELL_8777_BT         0x9132
 #define SDIO_DEVICE_ID_MARVELL_8887_F0         0x9134
 #define SDIO_DEVICE_ID_MARVELL_8887_WLAN       0x9135
 #define SDIO_DEVICE_ID_MARVELL_8887_BT         0x9136