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
17SHIPPING_API_LEVEL := 34
18
19ifdef RELEASE_GOOGLE_COMET_RADIO_DIR
20RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_COMET_RADIO_DIR)
21endif
22ifdef RELEASE_GOOGLE_COMET_RADIOCFG_DIR
23RELEASE_GOOGLE_PRODUCT_RADIOCFG_DIR := $(RELEASE_GOOGLE_COMET_RADIOCFG_DIR)
24endif
25RELEASE_GOOGLE_BOOTLOADER_COMET_DIR ?= 24D1# Keep this for pdk TODO: b/327119000
26RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/$(RELEASE_GOOGLE_BOOTLOADER_COMET_DIR)
27$(call soong_config_set,comet_bootloader,prebuilt_dir,$(RELEASE_GOOGLE_BOOTLOADER_COMET_DIR))
28
29ifdef RELEASE_KERNEL_COMET_VERSION
30TARGET_LINUX_KERNEL_VERSION := $(RELEASE_KERNEL_COMET_VERSION)
31else
32TARGET_LINUX_KERNEL_VERSION ?= 6.1
33endif
34
35ifdef RELEASE_KERNEL_COMET_DIR
36TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_COMET_DIR)
37TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_COMET_DIR)/kernel-headers
38else
39TARGET_KERNEL_DIR ?= device/google/comet-kernels/6.1/24D1
40TARGET_BOARD_KERNEL_HEADERS ?= device/google/comet-kernels/6.1/24D1/kernel-headers
41endif
42
43TARGET_RECOVERY_DEFAULT_ROTATION := ROTATION_RIGHT
44
45LOCAL_PATH := device/google/comet
46
47ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
48    USE_UWBFIELDTESTQM := true
49endif
50ifeq ($(filter factory_comet, $(TARGET_PRODUCT)),)
51    include device/google/comet/uwb/uwb_calibration.mk
52endif
53
54$(call inherit-product-if-exists, vendor/google_devices/comet/prebuilts/device-vendor-comet.mk)
55$(call inherit-product-if-exists, vendor/google_devices/zumapro/prebuilts/device-vendor.mk)
56$(call inherit-product-if-exists, vendor/google_devices/zumapro/proprietary/device-vendor.mk)
57$(call inherit-product-if-exists, vendor/google_devices/comet/proprietary/device-vendor.mk)
58$(call inherit-product-if-exists, vendor/google_devices/comet/proprietary/comet/device-vendor-comet.mk)
59$(call inherit-product-if-exists, vendor/qorvo/uwb/qm35-hal/Device.mk)
60
61ifeq ($(filter factory_comet, $(TARGET_PRODUCT)),)
62    $(call inherit-product-if-exists, vendor/google_devices/comet/proprietary/WallpapersComet.mk)
63endif
64
65DEVICE_PACKAGE_OVERLAYS += device/google/comet/comet/overlay
66
67ifeq ($(RELEASE_PIXEL_AIDL_AUDIO_HAL),true)
68USE_AUDIO_HAL_AIDL := true
69endif
70
71include device/google/comet/audio/comet/audio-tables.mk
72include device/google/zumapro/device-shipping-common.mk
73include device/google/gs-common/bcmbt/bluetooth.mk
74include device/google/gs-common/touch/gti/predump_gti_dual.mk
75include device/google/gs-common/display/dump_second_display.mk
76include device/google/gs-common/gril/hidl/1.7/gril_hidl.mk
77
78# Increment the SVN for any official public releases
79ifdef RELEASE_SVN_COMET
80TARGET_SVN ?= $(RELEASE_SVN_COMET)
81else
82# Set this for older releases that don't use build flag
83TARGET_SVN ?= 04
84endif
85
86PRODUCT_VENDOR_PROPERTIES += \
87    ro.vendor.build.svn=$(TARGET_SVN)
88
89# Set device family property for SMR
90PRODUCT_PROPERTY_OVERRIDES += \
91    ro.build.device_family=CT3
92
93# Set build properties for SMR builds
94ifeq ($(RELEASE_IS_SMR), true)
95    ifneq (,$(RELEASE_BASE_OS_COMET))
96        PRODUCT_BASE_OS := $(RELEASE_BASE_OS_COMET)
97    endif
98endif
99
100# Set build properties for EMR builds
101ifeq ($(RELEASE_IS_EMR), true)
102    ifneq (,$(RELEASE_BASE_OS_COMET))
103        PRODUCT_PROPERTY_OVERRIDES += \
104        ro.build.version.emergency_base_os=$(RELEASE_BASE_OS_COMET)
105    endif
106endif
107
108# go/lyric-soong-variables
109$(call soong_config_set,lyric,camera_hardware,comet)
110$(call soong_config_set,lyric,tuning_product,comet)
111$(call soong_config_set,google3a_config,target_device,comet)
112
113PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.ignore_hdr_camera_layers=true
114
115# Init files
116PRODUCT_COPY_FILES += \
117	device/google/comet/conf/init.comet.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.comet.rc
118
119# Recovery files
120PRODUCT_COPY_FILES += \
121        device/google/comet/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.comet.rc
122
123# Display brightness curve
124PRODUCT_COPY_FILES += \
125	device/google/comet/comet/panel_config_google-ct3a_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/panel_config_google-ct3a_cal0.pb \
126	device/google/comet/comet/panel_config_google-ct3b_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/panel_config_google-ct3b_cal0.pb \
127	device/google/comet/comet/panel_config_google-ct3c_cal1.pb:$(TARGET_COPY_OUT_VENDOR)/etc/panel_config_google-ct3c_cal1.pb \
128	device/google/comet/comet/panel_config_google-ct3d_cal1.pb:$(TARGET_COPY_OUT_VENDOR)/etc/panel_config_google-ct3d_cal1.pb \
129        device/google/comet/comet/panel_config_google-ct3e_cal1.pb:$(TARGET_COPY_OUT_VENDOR)/etc/panel_config_google-ct3e_cal1.pb
130
131ifeq ($(filter factory_comet, $(TARGET_PRODUCT)),)
132PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.vendor.primarydisplay.xrr.version=2.1
133PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.vendor.primarydisplay.blocking_zone.min_refresh_rate_by_nits=20:120,30:60,:1
134PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.vendor.primarydisplay.vrr.expected_present.headsup_ns=30000000
135PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.vendor.primarydisplay.vrr.expected_present.timeout_ns=500000000
136endif
137
138PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.vendor.primarydisplay.powerstats.entity_name=Inner-Display
139
140PRODUCT_VENDOR_PROPERTIES += \
141    vendor.primarydisplay.op.hs_hz=120 \
142    vendor.primarydisplay.op.ns_hz=120
143
144PRODUCT_PROPERTY_OVERRIDES += \
145	vendor.camera.debug.enable_software_post_sharpen_node=false
146
147# Display Config
148PRODUCT_PROPERTY_OVERRIDES += \
149	vendor.display.png.premultiplied=true
150
151# Coex Config
152PRODUCT_SOONG_NAMESPACES += device/google/comet/radio/coex
153PRODUCT_PACKAGES += \
154		display_secondary_mipi_coex_table \
155		camera_front_inner_mipi_coex_table \
156		camera_front_outer_mipi_coex_table \
157		camera_rear_tele_mipi_coex_table \
158		camera_rear_wide_mipi_coex_table
159
160# NFC
161PRODUCT_COPY_FILES += \
162	frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
163	frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
164	frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
165	frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
166	frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
167	device/google/comet/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
168	device/google/comet/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
169
170PRODUCT_PACKAGES += \
171	$(RELEASE_PACKAGE_NFC_STACK) \
172	Tag \
173	android.hardware.nfc-service.st \
174	NfcOverlayComet
175
176# SecureElement
177PRODUCT_PACKAGES += \
178	android.hardware.secure_element-service.thales
179
180PRODUCT_COPY_FILES += \
181	frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
182	frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
183	device/google/comet/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf
184
185#Thermal VT estimator
186PRODUCT_PACKAGES += \
187    libthermal_tflite_wrapper
188
189# Thermal Config
190ifeq (,$(TARGET_VENDOR_THERMAL_CONFIG_PATH))
191TARGET_VENDOR_THERMAL_CONFIG_PATH := device/google/comet/thermal
192endif
193
194PRODUCT_COPY_FILES += \
195	$(TARGET_VENDOR_THERMAL_CONFIG_PATH)/thermal_info_config_charge_comet.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_charge.json \
196	$(TARGET_VENDOR_THERMAL_CONFIG_PATH)/thermal_info_config_comet.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
197	$(TARGET_VENDOR_THERMAL_CONFIG_PATH)/thermal_info_config_backup_comet.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_backup.json \
198	$(TARGET_VENDOR_THERMAL_CONFIG_PATH)/vt_estimation_model_comet.tflite:$(TARGET_COPY_OUT_VENDOR)/etc/vt_estimation_model.tflite \
199	$(TARGET_VENDOR_THERMAL_CONFIG_PATH)/vt_speaker_estimation_model_comet.tflite:$(TARGET_COPY_OUT_VENDOR)/etc/vt_speaker_estimation_model.tflite \
200
201ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
202	PRODUCT_COPY_FILES += \
203		$(TARGET_VENDOR_THERMAL_CONFIG_PATH)/thermal_info_config_comet_wingboard.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_wingboard.json
204endif
205
206PRODUCT_PACKAGES += \
207	init_thermal_config
208
209# Power HAL config
210PRODUCT_COPY_FILES += \
211	device/google/comet/powerhint-comet.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
212
213# Bluetooth HAL
214PRODUCT_COPY_FILES += \
215	device/google/comet/bluetooth/bt_vendor_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor_overlay.conf
216PRODUCT_PROPERTY_OVERRIDES += \
217    ro.bluetooth.a2dp_offload.supported=true \
218    persist.bluetooth.a2dp_offload.disabled=false \
219    persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
220
221# Bluetooth Tx power caps
222PRODUCT_COPY_FILES += \
223    $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_comet.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits.csv \
224    $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_comet_JP.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_JP.csv \
225    $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_comet_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_CA.csv \
226    $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_comet_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_EU.csv \
227    $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_comet_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_US.csv
228
229# DCK properties based on target
230PRODUCT_PROPERTY_OVERRIDES += \
231    ro.gms.dck.eligible_wcc=3 \
232    ro.gms.dck.se_capability=1
233
234# Bluetooth hci_inject test tool
235PRODUCT_PACKAGES_DEBUG += \
236    hci_inject
237
238# Bluetooth SAR test tool
239PRODUCT_PACKAGES_DEBUG += \
240    sar_test
241
242# Bluetooth EWP test tool
243PRODUCT_PACKAGES_DEBUG += \
244    ewp_tool
245
246# Bluetotoh Auto On feature
247PRODUCT_PRODUCT_PROPERTIES +=\
248    bluetooth.server.automatic_turn_on=true
249
250# Bluetooth AAC VBR
251PRODUCT_PRODUCT_PROPERTIES += \
252    persist.bluetooth.a2dp_aac.vbr_supported=true
253
254# Bluetooth Super Wide Band
255PRODUCT_PRODUCT_PROPERTIES += \
256    bluetooth.hfp.swb.supported=true
257
258# Override BQR mask to enable LE Audio Choppy report, remove BTRT logging
259ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
260PRODUCT_PRODUCT_PROPERTIES += \
261    persist.bluetooth.bqr.event_mask=295006 \
262    persist.bluetooth.bqr.vnd_quality_mask=29 \
263    persist.bluetooth.bqr.vnd_trace_mask=0 \
264    persist.bluetooth.vendor.btsnoop=true
265else
266PRODUCT_PRODUCT_PROPERTIES += \
267    persist.bluetooth.bqr.event_mask=295006 \
268    persist.bluetooth.bqr.vnd_quality_mask=16 \
269    persist.bluetooth.bqr.vnd_trace_mask=0 \
270    persist.bluetooth.vendor.btsnoop=false
271endif
272
273# Support LE & Classic concurrent encryption (b/330704060)
274PRODUCT_PRODUCT_PROPERTIES += \
275    bluetooth.ble.allow_enc_with_bredr=true
276
277# POF
278PRODUCT_PRODUCT_PROPERTIES += \
279    ro.bluetooth.finder.supported=true
280
281# Spatial Audio
282PRODUCT_PACKAGES += \
283	libspatialaudio \
284	librondo
285
286# declare use of spatial audio
287PRODUCT_PROPERTY_OVERRIDES += \
288       ro.audio.spatializer_enabled=true \
289       ro.audio.spatializer_transaural_enabled_default=false \
290       persist.vendor.audio.spatializer.speaker_enabled=true
291
292ifneq ($(USE_AUDIO_HAL_AIDL),true)
293# HIDL Sound Dose
294PRODUCT_PACKAGES += \
295	android.hardware.audio.sounddose-vendor-impl \
296	audio_sounddose_aoc
297endif
298
299# Audio CCA property
300PRODUCT_PROPERTY_OVERRIDES += \
301	persist.vendor.audio.cca.enabled=false
302
303# HdMic Audio
304PRODUCT_SOONG_NAMESPACES += device/google/comet/audio/comet/prebuilt/libspeechenhancer
305PRODUCT_PROPERTY_OVERRIDES += \
306    persist.vendor.app.audio.gsenet.version=1
307PRODUCT_PACKAGES += \
308    libspeechenhancer
309
310# Keymaster HAL
311#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= [email protected]
312
313# Gatekeeper HAL
314#LOCAL_GATEKEEPER_PRODUCT_PACKAGE ?= [email protected]
315
316
317# Gatekeeper
318# PRODUCT_PACKAGES += \
319# 	[email protected]
320
321# Keymint replaces Keymaster
322# PRODUCT_PACKAGES += \
323# 	android.hardware.security.keymint-service
324
325# Keymaster
326#PRODUCT_PACKAGES += \
327#	[email protected] \
328#	[email protected]
329
330#PRODUCT_PACKAGES += [email protected]
331#PRODUCT_PACKAGES += [email protected]
332#LOCAL_KEYMASTER_PRODUCT_PACKAGE := [email protected]
333#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= [email protected]
334
335# PRODUCT_PROPERTY_OVERRIDES += \
336# 	ro.hardware.keystore_desede=true \
337# 	ro.hardware.keystore=software \
338# 	ro.hardware.gatekeeper=software
339
340# PowerStats HAL
341PRODUCT_SOONG_NAMESPACES += \
342    device/google/comet/powerstats/comet
343
344# UWB Overlay
345PRODUCT_PACKAGES += \
346	UwbOverlayCT3
347
348# WiFi Overlay
349PRODUCT_PACKAGES += \
350	WifiOverlay2024Mid_CT3 \
351	PixelWifiOverlay2024
352
353# GRil Overlay
354PRODUCT_PACKAGES += \
355	GRilServiceOverlay_CT3
356
357# Settings Overlay
358PRODUCT_PACKAGES += \
359    SettingsCometOverlay
360
361# Graphics
362PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.set_idle_timer_ms_4619827677550801152=80
363PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.support_kernel_idle_timer_4619827677550801152=true
364PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.set_idle_timer_ms_4619827677550801153=1000
365PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.support_kernel_idle_timer_4619827677550801153=false
366
367# Trusty liboemcrypto.so
368PRODUCT_SOONG_NAMESPACES += vendor/google_devices/comet/prebuilts
369
370# UWB
371PRODUCT_SOONG_NAMESPACES += \
372    device/google/comet/uwb
373
374# Location
375PRODUCT_SOONG_NAMESPACES += device/google/comet/location
376# For GPS property
377PRODUCT_VENDOR_PROPERTIES += ro.vendor.gps.pps.enabled=true
378$(call soong_config_set, gpssdk, buildtype, $(TARGET_BUILD_VARIANT))
379PRODUCT_PACKAGES += gps.cfg
380
381# Display
382PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
383	vendor.display.lbe.supported=1 \
384	vendor.display.async_off.supported=true
385
386# Install product specific framework compatibility matrix
387DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/comet/device_framework_matrix_product.xml
388
389
390PRODUCT_VENDOR_PROPERTIES += \
391	persist.device_config.configuration.disable_rescue_party=true
392
393PRODUCT_VENDOR_PROPERTIES += \
394    persist.vendor.udfps.als_feed_forward_supported=true \
395    persist.vendor.udfps.lhbm_controlled_in_hal_supported=true
396
397# Allow external binning setting
398PRODUCT_VENDOR_PROPERTIES += \
399    persist.vendor.camera.allow_external_binning_setting=true
400
401# Camera Vendor property
402PRODUCT_VENDOR_PROPERTIES += \
403    persist.vendor.camera.front_720P_always_binning=true
404
405# Enable camera exif model/make reporting
406PRODUCT_VENDOR_PROPERTIES += \
407    persist.vendor.camera.exif_reveal_make_model=true
408
409# Media Performance Class 14
410PRODUCT_PRODUCT_PROPERTIES += ro.odm.build.media_performance_class=34
411
412# OIS with system imu
413PRODUCT_VENDOR_PROPERTIES += \
414    persist.vendor.camera.ois_with_system_imu=true
415
416# Haptics
417# Placeholders for updates later, need to update:
418# remove ro.vendor.vibrator.hal.dbc.enable (needed for setting pm.activetimeout)
419# remove pm.activetimeout
420# ro.vendor.vibrator.hal.loc.coeff.folded currently unused
421$(call soong_config_set,haptics,kernel_ver,v$(subst .,_,$(TARGET_LINUX_KERNEL_VERSION)))
422ACTUATOR_MODEL := luxshare_ict_081545
423ADAPTIVE_HAPTICS_FEATURE := adaptive_haptics_v1
424PRODUCT_VENDOR_PROPERTIES += \
425    ro.vendor.vibrator.hal.chirp.enabled=1 \
426    ro.vendor.vibrator.hal.device.mass=0.2605 \
427    ro.vendor.vibrator.hal.loc.coeff.folded=3.15 \
428    ro.vendor.vibrator.hal.loc.coeff=2.58 \
429    ro.vendor.vibrator.hal.dbc.enable=1 \
430    ro.vendor.vibrator.hal.pm.activetimeout=5 \
431    persist.vendor.vibrator.hal.context.enable=false \
432    persist.vendor.vibrator.hal.context.scale=60 \
433    persist.vendor.vibrator.hal.context.fade=true \
434    persist.vendor.vibrator.hal.context.cooldowntime=1600 \
435    persist.vendor.vibrator.hal.context.settlingtime=5000
436
437# Override Output Distortion Gain
438PRODUCT_VENDOR_PROPERTIES += \
439    vendor.audio.hapticgenerator.distortion.output.gain=0.45
440
441# Hinge angle sensor
442PRODUCT_COPY_FILES += \
443	frameworks/native/data/etc/android.hardware.sensor.hinge_angle.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hinge_angle.xml
444
445# Keyboard height ratio and bottom padding in dp for portrait mode
446PRODUCT_PRODUCT_PROPERTIES += \
447          ro.com.google.ime.kb_pad_port_b=11.2 \
448          ro.com.google.ime.height_ratio=1.18
449
450
451# Bluetooth LE Audio
452# Unicast
453PRODUCT_PRODUCT_PROPERTIES += \
454        bluetooth.profile.bap.unicast.client.enabled=true \
455        bluetooth.profile.csip.set_coordinator.enabled=true \
456        bluetooth.profile.hap.client.enabled=true \
457        bluetooth.profile.mcp.server.enabled=true \
458        bluetooth.profile.ccp.server.enabled=true \
459        bluetooth.profile.vcp.controller.enabled=true
460
461# Bluetooth LE Audio Broadcast
462PRODUCT_PRODUCT_PROPERTIES += \
463	bluetooth.profile.bap.broadcast.assist.enabled=true \
464	bluetooth.profile.bap.broadcast.source.enabled=true
465
466# LE Audio switcher in developer options
467PRODUCT_PRODUCT_PROPERTIES += \
468        ro.bluetooth.leaudio_switcher.supported=true \
469
470# Enable hardware offloading
471PRODUCT_PRODUCT_PROPERTIES += \
472        ro.bluetooth.leaudio_offload.supported=true \
473        persist.bluetooth.leaudio_offload.disabled=false
474
475# Bluetooth LE Audio CIS handover to SCO
476# Set the property only for the controller couldn't support CIS/SCO simultaneously. More detailed in
477# b/242908683.
478PRODUCT_PRODUCT_PROPERTIES += \
479        persist.bluetooth.leaudio.notify.idle.during.call=true
480
481# LE Audio Offload Capabilities setting
482PRODUCT_COPY_FILES += \
483    device/google/caimito/bluetooth/le_audio_codec_capabilities.xml:$(TARGET_COPY_OUT_VENDOR)/etc/le_audio_codec_capabilities.xml
484
485# Disable LE Audio dual mic SWB call support
486# This may depend on the BT controller capability or the launch strategy
487# For example, P22 BT chip is not able to support 32k dual mic
488# P23a disabled the 32k dual mic as it is not in the phase 2 launch plan
489PRODUCT_PRODUCT_PROPERTIES += \
490    bluetooth.leaudio.dual_bidirection_swb.supported=true
491
492# LE Audio Unicast Allowlist
493PRODUCT_PRODUCT_PROPERTIES += \
494    persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5,SM-R630
495
496SUPPORT_VENDOR_SATELLITE_SERVICE := true
497
498# Support NTN(satellite) with dual SIM
499NTN_DUAL_SIM := true
500
501# Telephony Satellite Feature
502PRODUCT_COPY_FILES += \
503    frameworks/native/data/etc/android.hardware.telephony.satellite.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/android.hardware.telephony.satellite.xml
504
505# Battery Mitigation Config
506ifeq (,$(TARGET_VENDOR_BATTERY_MITIGATION_CONFIG_PATH))
507TARGET_VENDOR_BATTERY_MITIGATION_CONFIG_PATH := device/google/comet/battery_mitigation
508endif
509
510PRODUCT_COPY_FILES += \
511	$(TARGET_VENDOR_BATTERY_MITIGATION_CONFIG_PATH)/bm_config_comet.json:$(TARGET_COPY_OUT_VENDOR)/etc/bm_config.json
512
513# Exynos RIL and telephony
514# Support RIL Domain-selection
515SUPPORT_RIL_DOMAIN_SELECTION := true
516
517# ETM
518ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
519$(call inherit-product-if-exists, device/google/common/etm/device-userdebug-modules.mk)
520endif
521
522# Connectivity Resources Overlay for Thread host settings
523PRODUCT_PACKAGES += \
524    ConnectivityResourcesOverlayCometOverride
525
526# Thread Dispatcher enablement in Bluetooth HAL
527PRODUCT_PRODUCT_PROPERTIES += \
528    persist.bluetooth.thread_dispatcher.enabled=false
529
530# Camera concurrent foldable dual front feature support
531PRODUCT_PACKAGES += \
532    concurrent_foldable_dual_front_xml
533
534# Bluetooth device id
535# Comet: 0x4113
536PRODUCT_PRODUCT_PROPERTIES += \
537    bluetooth.device_id.product_id=16659
538
539# Set support for LEA multicodec
540PRODUCT_PRODUCT_PROPERTIES +=\
541    bluetooth.core.le_audio.codec_extension_aidl.enabled=true
542
543# LE Audio configuration scenarios
544PRODUCT_COPY_FILES += \
545    device/google/comet/bluetooth/audio_set_scenarios.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_scenarios.json
546
547PRODUCT_COPY_FILES += \
548    device/google/comet/bluetooth/audio_set_configurations.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_configurations.json
549
550# Enable APF by default
551PRODUCT_VENDOR_PROPERTIES += \
552    vendor.powerhal.apf_disabled=false \
553    vendor.powerhal.apf_enabled=true
554