From: blacksilver Date: Wed, 1 Nov 2023 09:33:06 +0000 (+0100) Subject: Bluetooth: btmrvl_sdio: Add support for SD8777 chipset X-Git-Url: https://git.dujemihanovic.xyz/?a=commitdiff_plain;h=c3739d18c7c3f570dbd84c8c76cb0b87938f346f;p=linux.git Bluetooth: btmrvl_sdio: Add support for SD8777 chipset Support for Marvell's chipset SD8777 is added. Existing btmrvl_reg_87xx register definition is reused. --- diff --git a/drivers/bluetooth/btmrvl_sdio.c b/drivers/bluetooth/btmrvl_sdio.c index 07cd308f7abf..44181fef227c 100644 --- a/drivers/bluetooth/btmrvl_sdio.c +++ b/drivers/bluetooth/btmrvl_sdio.c @@ -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" }, { } @@ -233,6 +234,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", @@ -300,6 +310,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 }, @@ -1770,6 +1783,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"); diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h index c49138fcd79a..57b1a3e69fb6 100644 --- a/include/linux/mmc/sdio_ids.h +++ b/include/linux/mmc/sdio_ids.h @@ -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