# This is BTBCM HAL overlay configuration file.

# Uart port name
UartPort = /dev/ttySAC18

# Userial type
# UserialType = 2

# Sar backOff high resolution support
SarBackOffHighResolution = true

# Update BQR Event Mask property value
BqrEventMaskValueUpdate = 295262

# Update BQR Event Mask property value
BqrEnergyReportLogging = true

BtA2dpOffloadCap = sbc-aac-aptx-aptxhd-ldac-opus

BtOpusEnabled = true

AccelBtDisable = false

BtHalRecoveryByRestart = true

BtHalBqrEnable = false

# <string> The hardware stage with old chip revision is no longer
# supported by BT firmware.
HwStageWithOldChipFwNoLongerSupport = EVT1.0-PROTO1.0-PROTO1.1
