diff --git a/CHANGELOG.md b/CHANGELOG.md index 181657157..36ae5471d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Added ### Fixed ### Changed - +HCI: config I2S for BCM Controllers if `ENABLE_SCO_OVER_PCM` ## Release v1.3.1 diff --git a/src/hci.c b/src/hci.c index 212cae828..ef818148b 100644 --- a/src/hci.c +++ b/src/hci.c @@ -1510,8 +1510,15 @@ static void hci_initializing_run(void){ hci_send_cmd(&hci_bcm_write_sco_pcm_int, 0, 4, 0, 1, 1); #endif break; - +#ifdef ENABLE_SCO_OVER_PCM + case HCI_INIT_BCM_WRITE_I2SPCM_INTERFACE_PARAM: + hci_stack->substate = HCI_INIT_W4_BCM_WRITE_I2SPCM_INTERFACE_PARAM; + log_info("BCM: Config PCM interface for I2S"); + hci_send_cmd(&hci_bcm_write_i2spcm_interface_param, 1, 1, 0, 4); + break; #endif +#endif + #ifdef ENABLE_BLE // LE INIT case HCI_INIT_LE_READ_BUFFER_SIZE: @@ -1873,7 +1880,7 @@ static void hci_initializing_event_handler(const uint8_t * packet, uint16_t size #endif /* fall through */ - case HCI_INIT_W4_BCM_WRITE_SCO_PCM_INT: + case HCI_INIT_W4_BCM_WRITE_I2SPCM_INTERFACE_PARAM: #ifdef ENABLE_BLE if (hci_le_supported()){ hci_stack->substate = HCI_INIT_LE_READ_BUFFER_SIZE; diff --git a/src/hci.h b/src/hci.h index 38c222056..0bad540e3 100644 --- a/src/hci.h +++ b/src/hci.h @@ -684,9 +684,11 @@ typedef enum hci_init_state{ HCI_INIT_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING, HCI_INIT_W4_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING, - // Broadcom SCO Routing + // Broadcom SCO Routing and Configuration HCI_INIT_BCM_WRITE_SCO_PCM_INT, HCI_INIT_W4_BCM_WRITE_SCO_PCM_INT, + HCI_INIT_BCM_WRITE_I2SPCM_INTERFACE_PARAM, + HCI_INIT_W4_BCM_WRITE_I2SPCM_INTERFACE_PARAM, #ifdef ENABLE_BLE HCI_INIT_LE_READ_BUFFER_SIZE,