bluetooth: bcm: Add support for loading firmware for BCM4345C5
Detect BCM4345C5 and load a corresponding firmware file. Signed-off-by: Ondrej Jirman <megous@megous.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
dd656296c6
commit
52c8c7a766
|
@ -23,6 +23,7 @@
|
||||||
#define BDADDR_BCM43430A0 (&(bdaddr_t) {{0xac, 0x1f, 0x12, 0xa0, 0x43, 0x43}})
|
#define BDADDR_BCM43430A0 (&(bdaddr_t) {{0xac, 0x1f, 0x12, 0xa0, 0x43, 0x43}})
|
||||||
#define BDADDR_BCM4324B3 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb3, 0x24, 0x43}})
|
#define BDADDR_BCM4324B3 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb3, 0x24, 0x43}})
|
||||||
#define BDADDR_BCM4330B1 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb1, 0x30, 0x43}})
|
#define BDADDR_BCM4330B1 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb1, 0x30, 0x43}})
|
||||||
|
#define BDADDR_BCM4345C5 (&(bdaddr_t) {{0xac, 0x1f, 0x00, 0xc5, 0x45, 0x43}})
|
||||||
#define BDADDR_BCM43341B (&(bdaddr_t) {{0xac, 0x1f, 0x00, 0x1b, 0x34, 0x43}})
|
#define BDADDR_BCM43341B (&(bdaddr_t) {{0xac, 0x1f, 0x00, 0x1b, 0x34, 0x43}})
|
||||||
|
|
||||||
int btbcm_check_bdaddr(struct hci_dev *hdev)
|
int btbcm_check_bdaddr(struct hci_dev *hdev)
|
||||||
|
@ -73,6 +74,7 @@ int btbcm_check_bdaddr(struct hci_dev *hdev)
|
||||||
!bacmp(&bda->bdaddr, BDADDR_BCM2076B1) ||
|
!bacmp(&bda->bdaddr, BDADDR_BCM2076B1) ||
|
||||||
!bacmp(&bda->bdaddr, BDADDR_BCM4324B3) ||
|
!bacmp(&bda->bdaddr, BDADDR_BCM4324B3) ||
|
||||||
!bacmp(&bda->bdaddr, BDADDR_BCM4330B1) ||
|
!bacmp(&bda->bdaddr, BDADDR_BCM4330B1) ||
|
||||||
|
!bacmp(&bda->bdaddr, BDADDR_BCM4345C5) ||
|
||||||
!bacmp(&bda->bdaddr, BDADDR_BCM43430A0) ||
|
!bacmp(&bda->bdaddr, BDADDR_BCM43430A0) ||
|
||||||
!bacmp(&bda->bdaddr, BDADDR_BCM43341B)) {
|
!bacmp(&bda->bdaddr, BDADDR_BCM43341B)) {
|
||||||
bt_dev_info(hdev, "BCM: Using default device address (%pMR)",
|
bt_dev_info(hdev, "BCM: Using default device address (%pMR)",
|
||||||
|
@ -332,6 +334,7 @@ static const struct bcm_subver_table bcm_uart_subver_table[] = {
|
||||||
{ 0x2122, "BCM4343A0" }, /* 001.001.034 */
|
{ 0x2122, "BCM4343A0" }, /* 001.001.034 */
|
||||||
{ 0x2209, "BCM43430A1" }, /* 001.002.009 */
|
{ 0x2209, "BCM43430A1" }, /* 001.002.009 */
|
||||||
{ 0x6119, "BCM4345C0" }, /* 003.001.025 */
|
{ 0x6119, "BCM4345C0" }, /* 003.001.025 */
|
||||||
|
{ 0x6606, "BCM4345C5" }, /* 003.006.006 */
|
||||||
{ 0x230f, "BCM4356A2" }, /* 001.003.015 */
|
{ 0x230f, "BCM4356A2" }, /* 001.003.015 */
|
||||||
{ 0x220e, "BCM20702A1" }, /* 001.002.014 */
|
{ 0x220e, "BCM20702A1" }, /* 001.002.014 */
|
||||||
{ 0x4217, "BCM4329B1" }, /* 002.002.023 */
|
{ 0x4217, "BCM4329B1" }, /* 002.002.023 */
|
||||||
|
|
|
@ -1419,6 +1419,7 @@ static void bcm_serdev_remove(struct serdev_device *serdev)
|
||||||
#ifdef CONFIG_OF
|
#ifdef CONFIG_OF
|
||||||
static const struct of_device_id bcm_bluetooth_of_match[] = {
|
static const struct of_device_id bcm_bluetooth_of_match[] = {
|
||||||
{ .compatible = "brcm,bcm20702a1" },
|
{ .compatible = "brcm,bcm20702a1" },
|
||||||
|
{ .compatible = "brcm,bcm4345c5" },
|
||||||
{ .compatible = "brcm,bcm4330-bt" },
|
{ .compatible = "brcm,bcm4330-bt" },
|
||||||
{ .compatible = "brcm,bcm43438-bt" },
|
{ .compatible = "brcm,bcm43438-bt" },
|
||||||
{ },
|
{ },
|
||||||
|
|
Loading…
Reference in New Issue