# This is BTBCM HAL overlay configuration file.

# Uart port name
UartPort = /dev/ttySAC18

# Priority of uart type
# HciUartSocket = 0
# SerialUartPort = 1
# SerialAocUartPort = 2
# UserialInvalid = 3
UserialTypePriority = 2-1

# <string> The hardware support which offload capability
BtOffloadCap = AOC

# <string> The BT Offload Trunk Flag Group Name
BtOffloadTrunkGroup = 24P_AOC

# 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

ThreadDispatcherEnabled = true
