diff options
author | Steve Kondik <steve@cyngn.com> | 2016-03-10 18:19:45 -0800 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2016-03-10 18:19:45 -0800 |
commit | 69acf8780c156fe219d3c54c3038af98dbf98e82 (patch) | |
tree | c9eba889458d9dee5a45cada01c574f9bdcc04ad | |
parent | 419938a2f03fb5220c252dc9c005cb46c62245f5 (diff) | |
parent | f51ce27012ea8b5b6ec63011cbbbe3ab0c6f4cbc (diff) | |
download | android_hardware_broadcom_libbt-staging/cm-13.0+r22.tar.gz android_hardware_broadcom_libbt-staging/cm-13.0+r22.tar.bz2 android_hardware_broadcom_libbt-staging/cm-13.0+r22.zip |
Merge tag 'android-6.0.1_r22' of https://android.googlesource.com/platform/hardware/broadcom/libbt into cm-13.0staging/cm-13.0+r22stable/cm-13.0-ZNH2KBstable/cm-13.0-ZNH2K
Android 6.0.1 release 22
-rw-r--r-- | Android.mk | 4 | ||||
-rw-r--r-- | include/vnd_carp.txt | 2 | ||||
-rw-r--r-- | include/vnd_glacier.txt | 9 | ||||
-rw-r--r-- | include/vnd_grant.txt | 9 | ||||
-rw-r--r-- | include/vnd_koi.txt | 12 | ||||
-rw-r--r-- | include/vnd_nemo.txt | 1 | ||||
-rw-r--r-- | include/vnd_smelt.txt | 2 | ||||
-rw-r--r-- | include/vnd_sparrow.txt | 1 | ||||
-rw-r--r-- | include/vnd_sturgeon.txt | 2 | ||||
-rw-r--r-- | include/vnd_wren.txt | 1 | ||||
-rwxr-xr-x | src/hardware.c | 29 |
11 files changed, 69 insertions, 3 deletions
@@ -6,6 +6,10 @@ include $(CLEAR_VARS) BDROID_DIR := $(TOP_DIR)system/bt +ifeq ($(strip $(USE_BLUETOOTH_BCM4343)),true) +LOCAL_CFLAGS += -DUSE_BLUETOOTH_BCM4343 +endif + LOCAL_SRC_FILES := \ src/bt_vendor_brcm.c \ src/hardware.c \ diff --git a/include/vnd_carp.txt b/include/vnd_carp.txt index bcd0d0e..0a86aeb 100644 --- a/include/vnd_carp.txt +++ b/include/vnd_carp.txt @@ -2,7 +2,7 @@ BLUETOOTH_UART_DEVICE_PORT = "/dev/ttyHS6" FW_PATCHFILE_LOCATION = "/vendor/firmware/" BT_WAKE_VIA_PROC = TRUE UART_TARGET_BAUD_RATE = 3000000 -LPM_IDLE_TIMEOUT_MULTIPLE = 5 +LPM_IDLE_TIMEOUT_MULTIPLE = 2 LPM_BT_WAKE_POLARITY = 0 LPM_HOST_WAKE_POLARITY = 0 PROC_BTWRITE_TIMER_TIMEOUT_MS = 0 diff --git a/include/vnd_glacier.txt b/include/vnd_glacier.txt new file mode 100644 index 0000000..1cb612e --- /dev/null +++ b/include/vnd_glacier.txt @@ -0,0 +1,9 @@ +BLUETOOTH_UART_DEVICE_PORT = "/dev/ttyMFD0" +FW_PATCHFILE_LOCATION = "/vendor/firmware/" +FW_PATCH_SETTLEMENT_DELAY_MS = 200 +LPM_IDLE_TIMEOUT_MULTIPLE = 5 +SCO_USE_I2S_INTERFACE = FALSE +BTVND_DBG = FALSE +BTHW_DBG = TRUE +VNDUSERIAL_DBG = FALSE +UPIO_DBG = FALSE diff --git a/include/vnd_grant.txt b/include/vnd_grant.txt new file mode 100644 index 0000000..1cb612e --- /dev/null +++ b/include/vnd_grant.txt @@ -0,0 +1,9 @@ +BLUETOOTH_UART_DEVICE_PORT = "/dev/ttyMFD0" +FW_PATCHFILE_LOCATION = "/vendor/firmware/" +FW_PATCH_SETTLEMENT_DELAY_MS = 200 +LPM_IDLE_TIMEOUT_MULTIPLE = 5 +SCO_USE_I2S_INTERFACE = FALSE +BTVND_DBG = FALSE +BTHW_DBG = TRUE +VNDUSERIAL_DBG = FALSE +UPIO_DBG = FALSE diff --git a/include/vnd_koi.txt b/include/vnd_koi.txt new file mode 100644 index 0000000..a912e5c --- /dev/null +++ b/include/vnd_koi.txt @@ -0,0 +1,12 @@ +BLUETOOTH_UART_DEVICE_PORT = "/dev/ttySAC0" +FW_PATCHFILE_LOCATION = "/vendor/firmware/" +BT_WAKE_VIA_PROC = FALSE +BT_WAKE_VIA_USERIAL_IOCTL = FALSE +UART_TARGET_BAUD_RATE = 3000000 +SCO_USE_I2S_INTERFACE = FALSE +LPM_IDLE_TIMEOUT_MULTIPLE = 1 +BTVND_DBG = FALSE +BTHW_DBG = TRUE +VNDUSERIAL_DBG = FALSE +UPIO_DBG = FALSE +FW_PATCH_SETTLEMENT_DELAY_MS = 200 diff --git a/include/vnd_nemo.txt b/include/vnd_nemo.txt index a96c1a5..e4d0a51 100644 --- a/include/vnd_nemo.txt +++ b/include/vnd_nemo.txt @@ -14,3 +14,4 @@ BTVND_DBG = FALSE BTHW_DBG = TRUE VNDUSERIAL_DBG = FALSE UPIO_DBG = FALSE +FW_PATCH_SETTLEMENT_DELAY_MS = 200 diff --git a/include/vnd_smelt.txt b/include/vnd_smelt.txt index bcd0d0e..0a86aeb 100644 --- a/include/vnd_smelt.txt +++ b/include/vnd_smelt.txt @@ -2,7 +2,7 @@ BLUETOOTH_UART_DEVICE_PORT = "/dev/ttyHS6" FW_PATCHFILE_LOCATION = "/vendor/firmware/" BT_WAKE_VIA_PROC = TRUE UART_TARGET_BAUD_RATE = 3000000 -LPM_IDLE_TIMEOUT_MULTIPLE = 5 +LPM_IDLE_TIMEOUT_MULTIPLE = 2 LPM_BT_WAKE_POLARITY = 0 LPM_HOST_WAKE_POLARITY = 0 PROC_BTWRITE_TIMER_TIMEOUT_MS = 0 diff --git a/include/vnd_sparrow.txt b/include/vnd_sparrow.txt index db52a83..fdb35a8 100644 --- a/include/vnd_sparrow.txt +++ b/include/vnd_sparrow.txt @@ -8,3 +8,4 @@ VNDUSERIAL_DBG = FALSE UPIO_DBG = FALSE BT_WAKE_VIA_PROC = TRUE PROC_BTWRITE_TIMER_TIMEOUT_MS = 0 +FW_PATCH_SETTLEMENT_DELAY_MS = 200 diff --git a/include/vnd_sturgeon.txt b/include/vnd_sturgeon.txt index ae8177d..287b929 100644 --- a/include/vnd_sturgeon.txt +++ b/include/vnd_sturgeon.txt @@ -5,7 +5,7 @@ UART_TARGET_BAUD_RATE = 3000000 LPM_IDLE_TIMEOUT_MULTIPLE = 5 LPM_BT_WAKE_POLARITY = 0 LPM_HOST_WAKE_POLARITY = 0 -SCO_USE_I2S_INTERFACE = FALSE +SCO_USE_I2S_INTERFACE = TRUE SCO_I2SPCM_IF_ROLE = 0 BTVND_DBG = FALSE BTHW_DBG = FALSE diff --git a/include/vnd_wren.txt b/include/vnd_wren.txt index db52a83..fdb35a8 100644 --- a/include/vnd_wren.txt +++ b/include/vnd_wren.txt @@ -8,3 +8,4 @@ VNDUSERIAL_DBG = FALSE UPIO_DBG = FALSE BT_WAKE_VIA_PROC = TRUE PROC_BTWRITE_TIMER_TIMEOUT_MS = 0 +FW_PATCH_SETTLEMENT_DELAY_MS = 200 diff --git a/src/hardware.c b/src/hardware.c index a5513c7..0dbab92 100755 --- a/src/hardware.c +++ b/src/hardware.c @@ -842,6 +842,15 @@ void hw_config_cback(void *p_mem) strncpy(hw_cfg_cb.local_chip_name, p_name, \ LOCAL_NAME_BUFFER_LEN-1); } +#ifdef USE_BLUETOOTH_BCM4343 + else if ((p_name = strstr(p_tmp, "4343")) != NULL) + { + snprintf(hw_cfg_cb.local_chip_name, + LOCAL_NAME_BUFFER_LEN-1, "BCM%s", p_name); + strncpy(p_name, hw_cfg_cb.local_chip_name, + LOCAL_NAME_BUFFER_LEN-1); + } +#endif else { strncpy(hw_cfg_cb.local_chip_name, "UNKNOWN", \ @@ -1460,8 +1469,28 @@ void hw_sco_config(void) * and FM on the same PCM pins, we defer Bluetooth audio (SCO/eSCO) * configuration till SCO/eSCO is being established; * i.e. in hw_set_audio_state() call. + * When configured as I2S only, Bluetooth audio configuration is executed + * immediately with SCO_CODEC_CVSD by default. */ + if (SCO_INTERFACE_I2S == sco_bus_interface) { + HC_BT_HDR *p_buf = NULL; + uint16_t cmd_u16 = HCI_CMD_PREAMBLE_SIZE + SCO_I2SPCM_PARAM_SIZE; + + if (bt_vendor_cbacks) + p_buf = (HC_BT_HDR *)bt_vendor_cbacks->alloc(BT_HC_HDR_SIZE + cmd_u16); + + if (p_buf) { + p_buf->event = MSG_STACK_TO_HC_HCI_CMD; + p_buf->offset = 0; + p_buf->layer_specific = 0; + p_buf->len = cmd_u16; + hw_sco_i2spcm_config(p_buf, SCO_CODEC_CVSD); + } else { + ALOGE("Cannot allocate memory for p_buf in hw_sco_config sco config"); + } + } + if (bt_vendor_cbacks) { bt_vendor_cbacks->scocfg_cb(BT_VND_OP_RESULT_SUCCESS); |