Bluetooth: btbcm: Support the BCM4354 Bluetooth UART device
Support the BCM4354 chip and introduce vendor specific command parameter definitions. Signed-off-by: Ilya Faenson <ifaenson@broadcom.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
5c698e8bbf
commit
40db5f0edd
|
@ -243,6 +243,7 @@ static const struct {
|
||||||
} bcm_uart_subver_table[] = {
|
} bcm_uart_subver_table[] = {
|
||||||
{ 0x410e, "BCM43341B0" }, /* 002.001.014 */
|
{ 0x410e, "BCM43341B0" }, /* 002.001.014 */
|
||||||
{ 0x4406, "BCM4324B3" }, /* 002.004.006 */
|
{ 0x4406, "BCM4324B3" }, /* 002.004.006 */
|
||||||
|
{ 0x610c, "BCM4354" }, /* 003.001.012 */
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -279,6 +280,7 @@ int btbcm_initialize(struct hci_dev *hdev, char *fw_name, size_t len)
|
||||||
|
|
||||||
switch ((rev & 0xf000) >> 12) {
|
switch ((rev & 0xf000) >> 12) {
|
||||||
case 0:
|
case 0:
|
||||||
|
case 1:
|
||||||
case 3:
|
case 3:
|
||||||
for (i = 0; bcm_uart_subver_table[i].name; i++) {
|
for (i = 0; bcm_uart_subver_table[i].name; i++) {
|
||||||
if (subver == bcm_uart_subver_table[i].subver) {
|
if (subver == bcm_uart_subver_table[i].subver) {
|
||||||
|
|
|
@ -33,6 +33,37 @@ struct bcm_write_uart_clock_setting {
|
||||||
__u8 type;
|
__u8 type;
|
||||||
} __packed;
|
} __packed;
|
||||||
|
|
||||||
|
struct bcm_set_sleep_mode {
|
||||||
|
__u8 sleep_mode;
|
||||||
|
__u8 idle_host;
|
||||||
|
__u8 idle_dev;
|
||||||
|
__u8 bt_wake_active;
|
||||||
|
__u8 host_wake_active;
|
||||||
|
__u8 allow_host_sleep;
|
||||||
|
__u8 combine_modes;
|
||||||
|
__u8 tristate_control;
|
||||||
|
__u8 usb_auto_sleep;
|
||||||
|
__u8 usb_resume_timeout;
|
||||||
|
__u8 pulsed_host_wake;
|
||||||
|
__u8 break_to_host;
|
||||||
|
} __packed;
|
||||||
|
|
||||||
|
struct bcm_set_pcm_int_params {
|
||||||
|
__u8 routing;
|
||||||
|
__u8 rate;
|
||||||
|
__u8 frame_sync;
|
||||||
|
__u8 sync_mode;
|
||||||
|
__u8 clock_mode;
|
||||||
|
} __packed;
|
||||||
|
|
||||||
|
struct bcm_set_pcm_format_params {
|
||||||
|
__u8 lsb_first;
|
||||||
|
__u8 fill_value;
|
||||||
|
__u8 fill_method;
|
||||||
|
__u8 fill_num;
|
||||||
|
__u8 right_justify;
|
||||||
|
} __packed;
|
||||||
|
|
||||||
#if IS_ENABLED(CONFIG_BT_BCM)
|
#if IS_ENABLED(CONFIG_BT_BCM)
|
||||||
|
|
||||||
int btbcm_check_bdaddr(struct hci_dev *hdev);
|
int btbcm_check_bdaddr(struct hci_dev *hdev);
|
||||||
|
|
Loading…
Reference in New Issue