aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth
diff options
context:
space:
mode:
authorBing Zhao <bzhao@marvell.com>2011-11-16 23:40:42 -0500
committerGustavo F. Padovan <padovan@profusion.mobi>2011-11-21 10:52:31 -0500
commit2ac654f740b574c58ee02bac3816cf466a1bfb41 (patch)
treeb089cac81d7ba845def72dd15fb10ec1a4dc1d0f /drivers/bluetooth
parentd13431ca3eb2a2c14314f04813cdc11cd869f150 (diff)
Bluetooth: btmrvl: support Marvell Bluetooth device SD8797
The SD8797 firmware image is shared with mwifiex driver. Whoever gets loaded first will be responsible for firmware downloading. Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: Frank Huang <frankh@marvell.com> Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'drivers/bluetooth')
-rw-r--r--drivers/bluetooth/Kconfig6
-rw-r--r--drivers/bluetooth/btmrvl_sdio.c15
2 files changed, 16 insertions, 5 deletions
diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
index 11b41fd40c27..5ccf142ef0b8 100644
--- a/drivers/bluetooth/Kconfig
+++ b/drivers/bluetooth/Kconfig
@@ -188,7 +188,7 @@ config BT_MRVL
188 The core driver to support Marvell Bluetooth devices. 188 The core driver to support Marvell Bluetooth devices.
189 189
190 This driver is required if you want to support 190 This driver is required if you want to support
191 Marvell Bluetooth devices, such as 8688/8787. 191 Marvell Bluetooth devices, such as 8688/8787/8797.
192 192
193 Say Y here to compile Marvell Bluetooth driver 193 Say Y here to compile Marvell Bluetooth driver
194 into the kernel or say M to compile it as module. 194 into the kernel or say M to compile it as module.
@@ -201,8 +201,8 @@ config BT_MRVL_SDIO
201 The driver for Marvell Bluetooth chipsets with SDIO interface. 201 The driver for Marvell Bluetooth chipsets with SDIO interface.
202 202
203 This driver is required if you want to use Marvell Bluetooth 203 This driver is required if you want to use Marvell Bluetooth
204 devices with SDIO interface. Currently SD8688/SD8787 chipsets are 204 devices with SDIO interface. Currently SD8688/SD8787/SD8797
205 supported. 205 chipsets are supported.
206 206
207 Say Y here to compile support for Marvell BT-over-SDIO driver 207 Say Y here to compile support for Marvell BT-over-SDIO driver
208 into the kernel or say M to compile it as module. 208 into the kernel or say M to compile it as module.
diff --git a/drivers/bluetooth/btmrvl_sdio.c b/drivers/bluetooth/btmrvl_sdio.c
index c827d737ccee..37b56398c8a6 100644
--- a/drivers/bluetooth/btmrvl_sdio.c
+++ b/drivers/bluetooth/btmrvl_sdio.c
@@ -64,7 +64,7 @@ static const struct btmrvl_sdio_card_reg btmrvl_reg_8688 = {
64 .io_port_1 = 0x01, 64 .io_port_1 = 0x01,
65 .io_port_2 = 0x02, 65 .io_port_2 = 0x02,
66}; 66};
67static const struct btmrvl_sdio_card_reg btmrvl_reg_8787 = { 67static const struct btmrvl_sdio_card_reg btmrvl_reg_87xx = {
68 .cfg = 0x00, 68 .cfg = 0x00,
69 .host_int_mask = 0x02, 69 .host_int_mask = 0x02,
70 .host_intstatus = 0x03, 70 .host_intstatus = 0x03,
@@ -91,7 +91,14 @@ static const struct btmrvl_sdio_device btmrvl_sdio_sd8688 = {
91static const struct btmrvl_sdio_device btmrvl_sdio_sd8787 = { 91static const struct btmrvl_sdio_device btmrvl_sdio_sd8787 = {
92 .helper = NULL, 92 .helper = NULL,
93 .firmware = "mrvl/sd8787_uapsta.bin", 93 .firmware = "mrvl/sd8787_uapsta.bin",
94 .reg = &btmrvl_reg_8787, 94 .reg = &btmrvl_reg_87xx,
95 .sd_blksz_fw_dl = 256,
96};
97
98static const struct btmrvl_sdio_device btmrvl_sdio_sd8797 = {
99 .helper = NULL,
100 .firmware = "mrvl/sd8797_uapsta.bin",
101 .reg = &btmrvl_reg_87xx,
95 .sd_blksz_fw_dl = 256, 102 .sd_blksz_fw_dl = 256,
96}; 103};
97 104
@@ -102,6 +109,9 @@ static const struct sdio_device_id btmrvl_sdio_ids[] = {
102 /* Marvell SD8787 Bluetooth device */ 109 /* Marvell SD8787 Bluetooth device */
103 { SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, 0x911A), 110 { SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, 0x911A),
104 .driver_data = (unsigned long) &btmrvl_sdio_sd8787 }, 111 .driver_data = (unsigned long) &btmrvl_sdio_sd8787 },
112 /* Marvell SD8797 Bluetooth device */
113 { SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, 0x912A),
114 .driver_data = (unsigned long) &btmrvl_sdio_sd8797 },
105 115
106 { } /* Terminating entry */ 116 { } /* Terminating entry */
107}; 117};
@@ -1075,3 +1085,4 @@ MODULE_LICENSE("GPL v2");
1075MODULE_FIRMWARE("sd8688_helper.bin"); 1085MODULE_FIRMWARE("sd8688_helper.bin");
1076MODULE_FIRMWARE("sd8688.bin"); 1086MODULE_FIRMWARE("sd8688.bin");
1077MODULE_FIRMWARE("mrvl/sd8787_uapsta.bin"); 1087MODULE_FIRMWARE("mrvl/sd8787_uapsta.bin");
1088MODULE_FIRMWARE("mrvl/sd8797_uapsta.bin");