Bluetooth: btmrvl: add support for sd8977 chipset
This patch adds support for 8977 chipset to mwifiex with SDIO interface. Register offsets and supported feature flags are updated. Firmware image used will be mrvl/sd8977_uapsta.bin. Signed-off-by: Hemantkumar Suthar <shemant@marvell.com> Signed-off-by: Rakesh Parmar <rakeshp@marvell.com> Signed-off-by: Cathy Luo <cluo@marvell.com> Signed-off-by: Ganapathi Bhat <gbhat@marvell.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Родитель
1dc2d78515
Коммит
8c57983bf7
|
@ -336,7 +336,7 @@ config BT_MRVL
|
||||||
The core driver to support Marvell Bluetooth devices.
|
The core driver to support Marvell Bluetooth devices.
|
||||||
|
|
||||||
This driver is required if you want to support
|
This driver is required if you want to support
|
||||||
Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8997.
|
Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8977/8997.
|
||||||
|
|
||||||
Say Y here to compile Marvell Bluetooth driver
|
Say Y here to compile Marvell Bluetooth driver
|
||||||
into the kernel or say M to compile it as module.
|
into the kernel or say M to compile it as module.
|
||||||
|
@ -350,7 +350,7 @@ config BT_MRVL_SDIO
|
||||||
The driver for Marvell Bluetooth chipsets with SDIO interface.
|
The driver for Marvell Bluetooth chipsets with SDIO interface.
|
||||||
|
|
||||||
This driver is required if you want to use Marvell Bluetooth
|
This driver is required if you want to use Marvell Bluetooth
|
||||||
devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8997
|
devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8977/SD8997
|
||||||
chipsets are supported.
|
chipsets are supported.
|
||||||
|
|
||||||
Say Y here to compile support for Marvell BT-over-SDIO driver
|
Say Y here to compile support for Marvell BT-over-SDIO driver
|
||||||
|
|
|
@ -212,6 +212,29 @@ static const struct btmrvl_sdio_card_reg btmrvl_reg_8897 = {
|
||||||
.fw_dump_end = 0xea,
|
.fw_dump_end = 0xea,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct btmrvl_sdio_card_reg btmrvl_reg_8977 = {
|
||||||
|
.cfg = 0x00,
|
||||||
|
.host_int_mask = 0x08,
|
||||||
|
.host_intstatus = 0x0c,
|
||||||
|
.card_status = 0x5c,
|
||||||
|
.sq_read_base_addr_a0 = 0xf8,
|
||||||
|
.sq_read_base_addr_a1 = 0xf9,
|
||||||
|
.card_revision = 0xc8,
|
||||||
|
.card_fw_status0 = 0xe8,
|
||||||
|
.card_fw_status1 = 0xe9,
|
||||||
|
.card_rx_len = 0xea,
|
||||||
|
.card_rx_unit = 0xeb,
|
||||||
|
.io_port_0 = 0xe4,
|
||||||
|
.io_port_1 = 0xe5,
|
||||||
|
.io_port_2 = 0xe6,
|
||||||
|
.int_read_to_clear = true,
|
||||||
|
.host_int_rsr = 0x04,
|
||||||
|
.card_misc_cfg = 0xD8,
|
||||||
|
.fw_dump_ctrl = 0xf0,
|
||||||
|
.fw_dump_start = 0xf1,
|
||||||
|
.fw_dump_end = 0xf8,
|
||||||
|
};
|
||||||
|
|
||||||
static const struct btmrvl_sdio_card_reg btmrvl_reg_8997 = {
|
static const struct btmrvl_sdio_card_reg btmrvl_reg_8997 = {
|
||||||
.cfg = 0x00,
|
.cfg = 0x00,
|
||||||
.host_int_mask = 0x08,
|
.host_int_mask = 0x08,
|
||||||
|
@ -280,6 +303,15 @@ static const struct btmrvl_sdio_device btmrvl_sdio_sd8897 = {
|
||||||
.supports_fw_dump = true,
|
.supports_fw_dump = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct btmrvl_sdio_device btmrvl_sdio_sd8977 = {
|
||||||
|
.helper = NULL,
|
||||||
|
.firmware = "mrvl/sd8977_uapsta.bin",
|
||||||
|
.reg = &btmrvl_reg_8977,
|
||||||
|
.support_pscan_win_report = true,
|
||||||
|
.sd_blksz_fw_dl = 256,
|
||||||
|
.supports_fw_dump = true,
|
||||||
|
};
|
||||||
|
|
||||||
static const struct btmrvl_sdio_device btmrvl_sdio_sd8997 = {
|
static const struct btmrvl_sdio_device btmrvl_sdio_sd8997 = {
|
||||||
.helper = NULL,
|
.helper = NULL,
|
||||||
.firmware = "mrvl/sd8997_uapsta.bin",
|
.firmware = "mrvl/sd8997_uapsta.bin",
|
||||||
|
@ -308,6 +340,9 @@ static const struct sdio_device_id btmrvl_sdio_ids[] = {
|
||||||
/* Marvell SD8897 Bluetooth device */
|
/* Marvell SD8897 Bluetooth device */
|
||||||
{ SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, 0x912E),
|
{ SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, 0x912E),
|
||||||
.driver_data = (unsigned long)&btmrvl_sdio_sd8897 },
|
.driver_data = (unsigned long)&btmrvl_sdio_sd8897 },
|
||||||
|
/* Marvell SD8977 Bluetooth device */
|
||||||
|
{ SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, 0x9146),
|
||||||
|
.driver_data = (unsigned long)&btmrvl_sdio_sd8977 },
|
||||||
/* Marvell SD8997 Bluetooth device */
|
/* Marvell SD8997 Bluetooth device */
|
||||||
{ SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, 0x9142),
|
{ SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, 0x9142),
|
||||||
.driver_data = (unsigned long)&btmrvl_sdio_sd8997 },
|
.driver_data = (unsigned long)&btmrvl_sdio_sd8997 },
|
||||||
|
@ -1761,4 +1796,5 @@ MODULE_FIRMWARE("mrvl/sd8787_uapsta.bin");
|
||||||
MODULE_FIRMWARE("mrvl/sd8797_uapsta.bin");
|
MODULE_FIRMWARE("mrvl/sd8797_uapsta.bin");
|
||||||
MODULE_FIRMWARE("mrvl/sd8887_uapsta.bin");
|
MODULE_FIRMWARE("mrvl/sd8887_uapsta.bin");
|
||||||
MODULE_FIRMWARE("mrvl/sd8897_uapsta.bin");
|
MODULE_FIRMWARE("mrvl/sd8897_uapsta.bin");
|
||||||
|
MODULE_FIRMWARE("mrvl/sd8977_uapsta.bin");
|
||||||
MODULE_FIRMWARE("mrvl/sd8997_uapsta.bin");
|
MODULE_FIRMWARE("mrvl/sd8997_uapsta.bin");
|
||||||
|
|
Загрузка…
Ссылка в новой задаче