hci_cmd: add hci_bcm_write_i2spcm_interface_param and hci_bcm_enable_wbs

This commit is contained in:
Matthias Ringwald 2021-01-04 17:06:52 +01:00
parent 8051253f3f
commit 067ecc364d
2 changed files with 29 additions and 1 deletions

View File

@ -1376,6 +1376,16 @@ const hci_cmd_t hci_le_set_phy = {
// Broadcom / Cypress specific HCI commands
/**
* @brief Enable Wide-Band Speech / mSBC decoding for PCM
* @param enable_wbs is 0 for disable, 1 for enable
* @param uuid_wbs is 2 for EV2/EV3
*/
const hci_cmd_t hci_bcm_enable_wbs = {
HCI_OPCODE_HCI_BCM_ENABLE_WBS, "12"
// return: status
};
/**
* @brief Configure SCO Routing (BCM)
* @param sco_routing is 0 for PCM, 1 for Transport, 2 for Codec and 3 for I2S
@ -1389,6 +1399,20 @@ const hci_cmd_t hci_bcm_write_sco_pcm_int = {
// return: status
};
/**
* @brief Configure the I2S/PCM interface (BCM)
* @param i2s_enable is 0 for off, 1 for on
* @param is_master is 0 for slave, is 1 for master
* @param sample_rate is 0 for 8 kHz, 1 for 16 kHz, 2 for 4 kHz
* @param clock_rate is 0 for 128 kz, 1 for 256 kHz, 2 for 512 khz, 3 for 1024 kHz, 4 for 2048 khz
* @param clock_mode is 0 for slabe and 1 for master
*/
const hci_cmd_t hci_bcm_write_i2spcm_interface_param = {
HCI_OPCODE_HCI_BCM_WRITE_I2SPCM_INTERFACE_PARAM, "1111"
// return: status
};
/**
* @brief Activates selected Sleep Mode
* @param sleep_mode: 0=no sleep, 1=UART, 2=UART with Messaging, 3=USB, 4=H4IBSS, USB with Host Wake, 6=SDIO, 7=UART CS-N, 8=SPI, 9=H5, 10=H4DS, 12=UART with BREAK

View File

@ -225,7 +225,9 @@ typedef enum {
HCI_OPCODE_HCI_LE_SET_DEFAULT_PHY = HCI_OPCODE (OGF_LE_CONTROLLER, 0x31),
HCI_OPCODE_HCI_LE_SET_PHY = HCI_OPCODE (OGF_LE_CONTROLLER, 0x32),
HCI_OPCODE_HCI_BCM_WRITE_SCO_PCM_INT = HCI_OPCODE (0x3f, 0x1c),
HCI_OPCODE_HCI_BCM_SET_SLEEP_MODE = HCI_OPCODE (0x3f, 0x0027),
HCI_OPCODE_HCI_BCM_SET_SLEEP_MODE = HCI_OPCODE (0x3f, 0x27),
HCI_OPCODE_HCI_BCM_WRITE_I2SPCM_INTERFACE_PARAM = HCI_OPCODE (0x3f, 0x6d),
HCI_OPCODE_HCI_BCM_ENABLE_WBS = HCI_OPCODE(0x3f, 0x7e),
HCI_OPCODE_HCI_BCM_WRITE_TX_POWER_TABLE = HCI_OPCODE (0x3f, 0x1C9),
HCI_OPCODE_HCI_BCM_SET_TX_PWR = HCI_OPCODE (0x3f, 0x1A5),
} hci_opcode_t;
@ -371,7 +373,9 @@ extern const hci_cmd_t hci_le_transmitter_test;
extern const hci_cmd_t hci_le_write_suggested_default_data_length;
// Broadcom / Cypress specific HCI commands
extern const hci_cmd_t hci_bcm_enable_wbs;
extern const hci_cmd_t hci_bcm_set_sleep_mode;
extern const hci_cmd_t hci_bcm_write_i2spcm_interface_param;
extern const hci_cmd_t hci_bcm_write_sco_pcm_int;
extern const hci_cmd_t hci_bcm_write_tx_power_table;
extern const hci_cmd_t hci_bcm_set_tx_pwr;