1#
2# Copyright (C) 2021 The Android Open-Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17# Bluetooth Services sysprop for A2DP AAC VBR and A2DP offloading
18PRODUCT_PRODUCT_PROPERTIES += \
19	persist.bluetooth.a2dp_aac.vbr_supported=true \
20	ro.bluetooth.a2dp_offload.supported=true \
21	persist.bluetooth.a2dp_offload.disabled=false \
22	persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
23
24# Bluetooth LE Audio
25PRODUCT_PRODUCT_PROPERTIES += \
26	ro.bluetooth.leaudio_switcher.supported=true \
27	ro.bluetooth.leaudio_offload.supported=true \
28	persist.bluetooth.leaudio_offload.disabled=false \
29	ro.vendor.audio_hal.ble_use_stream_id=true \
30	bluetooth.profile.bap.unicast.client.enabled?=true \
31	bluetooth.profile.csip.set_coordinator.enabled?=true \
32	bluetooth.profile.hap.client.enabled?=true \
33	bluetooth.profile.mcp.server.enabled?=true \
34	bluetooth.profile.ccp.server.enabled?=true \
35	bluetooth.profile.vcp.controller.enabled?=true \
36
37# Bluetooth LE Audio CIS handover to SCO
38# Set the property only if the controller doesn't support CIS and SCO
39# simultaneously. More details in b/242908683.
40PRODUCT_PRODUCT_PROPERTIES += \
41	persist.bluetooth.leaudio.notify.idle.during.call=true
42
43# Not support LE Audio dual mic SWB call based on the current launch strategy
44PRODUCT_PRODUCT_PROPERTIES += \
45    bluetooth.leaudio.dual_bidirection_swb.supported=false
46
47# LE Audio Lunch Config for Phase 1 (LE audio toggle hidden by default)
48PRODUCT_PRODUCT_PROPERTIES += \
49    persist.bluetooth.leaudio.toggle_visible=false
50
51# LE Auido Offload Capabilities setting
52PRODUCT_COPY_FILES += \
53	device/google/lynx/bluetooth/le_audio_codec_capabilities.xml:$(TARGET_COPY_OUT_VENDOR)/etc/le_audio_codec_capabilities.xml
54
55# LE Audio use classic connection by default
56PRODUCT_PRODUCT_PROPERTIES += \
57    ro.bluetooth.leaudio.le_audio_connection_by_default=false
58
59# Bluetotoh Auto On feature
60PRODUCT_PRODUCT_PROPERTIES += \
61	bluetooth.server.automatic_turn_on=true
62
63# Bluetooth HAL and Pixel extension
64DEVICE_MANIFEST_FILE += \
65	device/google/lynx/bluetooth/manifest_bluetooth.xml
66DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/lynx/bluetooth/device_framework_matrix_product.xml
67
68BOARD_SEPOLICY_DIRS += device/google/lynx-sepolicy/bluetooth
69
70BOARD_HAVE_BLUETOOTH_QCOM = true
71BOARD_USES_COMMON_BLUETOOTH_HAL = true
72QCOM_BLUETOOTH_USING_DIAG = false
73TARGET_BLUETOOTH_HCI_V1_1 = true
74TARGET_BLUETOOTH_UART_DEVICE = "/dev/ttySAC18"
75UART_USE_TERMIOS_AFC = true
76TARGET_USE_QTI_BT_IBS = false
77TARGET_USE_QTI_BT_OBS = true
78TARGET_USE_QTI_BT_SAR_V1_1 = true
79TARGET_USE_QTI_BT_CHANNEL_AVOIDANCE = true
80TARGET_DROP_BYTES_BEFORE_SSR_DUMP = true
81
82# IBluetoothHci @1.1 / @1.0
83ifeq ($(TARGET_BLUETOOTH_HCI_V1_1),true)
84   PRODUCT_PACKAGES += android.hardware.bluetooth@1.1-impl-qti
85else
86   PRODUCT_PACKAGES += android.hardware.bluetooth@1.0-impl-qti
87endif
88# IBluetoothSar @1.1 / @1.0
89ifeq ($(TARGET_USE_QTI_BT_SAR_V1_1),true)
90   PRODUCT_PACKAGES += hardware.google.bluetooth.sar@1.1-impl
91else ifeq ($(TARGET_USE_QTI_BT_SAR),true)
92   PRODUCT_PACKAGES += hardware.google.bluetooth.sar@1.0-impl
93endif
94PRODUCT_PACKAGES += \
95	android.hardware.bluetooth@1.0-service-qti \
96	hardware.google.bluetooth.bt_channel_avoidance@1.0-impl \
97	android.hardware.bluetooth.prebuilt.xml \
98	android.hardware.bluetooth_le.prebuilt.xml
99
100# Bluetooth SAR Tx power caps
101PRODUCT_COPY_FILES += \
102	device/google/lynx/bluetooth/bluetooth_power_limits_Lynx.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits.csv \
103	device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G0DZQ_EU.csv \
104	device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_GHL1X_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GHL1X_EU.csv \
105	device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G0DZQ_CA.csv \
106	device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G0DZQ_US.csv \
107	device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_GWKK3_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GWKK3_cA.csv \
108	device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_GWKK3_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GWKK3_US.csv \
109	device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_G0DZQ_JP.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G0DZQ_JP.csv \
110	device/google/lynx/bluetooth/bluetooth_power_limits_Lynx_G82U8_JP.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G82U8_JP.csv
111
112# Bluetooth SAR test tools
113ifneq (,$(filter true, $(TARGET_USE_QTI_BT_SAR_V1_1) $(TARGET_USE_QTI_BT_SAR)))
114   PRODUCT_PACKAGES_DEBUG += bluetooth_sar_test
115endif
116
117# Bluetooth (Vendor) SoC, BDA in device tree, and WiPower
118PRODUCT_PROPERTY_OVERRIDES += \
119	vendor.qcom.bluetooth.soc=hastings \
120	ro.vendor.bt.bdaddr_path=/proc/device-tree/chosen/config/bt_addr \
121	ro.vendor.bluetooth.emb_wp_mode=false \
122	ro.vendor.bluetooth.wipower=false
123
124ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
125PRODUCT_PROPERTY_OVERRIDES += \
126	persist.vendor.service.bdroid.soclog=true \
127	persist.vendor.service.bdroid.fwsnoop=true
128else
129PRODUCT_PROPERTY_OVERRIDES += \
130	persist.vendor.service.bdroid.soclog=false \
131	persist.vendor.service.bdroid.fwsnoop=false
132endif
133