1#
2# Copyright (C) 2018 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
17LOCAL_PATH := device/google/coral
18
19PRODUCT_VENDOR_MOVE_ENABLED := true
20
21PRODUCT_SOONG_NAMESPACES += \
22    hardware/google/av \
23    hardware/google/camera \
24    hardware/google/interfaces \
25    hardware/google/pixel \
26    device/google/coral \
27    hardware/qcom/sm8150/display \
28    hardware/qcom/sm8150/data/ipacfg-mgr \
29    hardware/qcom/sm8150/gps \
30    hardware/qcom/wlan/legacy \
31    system/chre/host/hal_generic \
32    vendor/google/airbrush/floral \
33    vendor/google/biometrics/face/florence \
34    vendor/google/camera \
35    vendor/google/darwinn \
36    vendor/google/tools/power-anomaly-qcril \
37    vendor/google_devices/common/proprietary/confirmatioui_hal \
38    vendor/google_nos/host/android \
39    vendor/qcom/sm8150 \
40    vendor/qcom/sm8150/proprietary/commonsys/telephony-apps/DataStatusNotification \
41    vendor/qcom/sm8150/proprietary/gps \
42    vendor/qcom/sm8150/proprietary/qmi \
43    vendor/qcom/sm8150/codeaurora/location \
44    vendor/google/interfaces \
45    vendor/google_nos/test/system-test-harness
46
47# Include sensors soong namespace
48PRODUCT_SOONG_NAMESPACES += \
49    vendor/qcom/sensors \
50    vendor/google/tools/sensors
51
52# Single vendor RIL/Telephony/data with SM7250
53DEVICE_USES_SM7250_QCRIL_TELEPHONY := true
54
55ifeq ($(DEVICE_USES_SM7250_QCRIL_TELEPHONY), true)
56  PRODUCT_SOONG_NAMESPACES += \
57      vendor/qcom/sm7250/codeaurora/commonsys/telephony/ims/ims-ext-common \
58      vendor/qcom/sm7250/codeaurora/dataservices/rmnetctl \
59      vendor/qcom/sm7250/proprietary/commonsys/qcrilOemHook \
60      vendor/qcom/sm7250/proprietary/commonsys/telephony-apps/ims \
61      vendor/qcom/sm7250/proprietary/commonsys/telephony-apps/QtiTelephonyService \
62      vendor/qcom/sm7250/proprietary/commonsys/telephony-apps/xdivert \
63      vendor/qcom/sm7250/proprietary/qcril-data-hal \
64      vendor/qcom/sm7250/proprietary/qcril-hal \
65      vendor/qcom/sm7250/proprietary/data
66else
67  $(warning DEVICE_USES_SM7250_QCRIL_TELEPHONY is disabled)
68
69  PRODUCT_SOONG_NAMESPACES += \
70      vendor/qcom/sm8150/codeaurora/telephony/ims \
71      vendor/qcom/sm8150/proprietary/qcril-data-hal \
72      vendor/qcom/sm8150/proprietary/qcril-hal
73endif
74
75PRODUCT_PROPERTY_OVERRIDES += \
76    keyguard.no_require_sim=true
77
78# enable cal by default on accel sensor
79PRODUCT_PRODUCT_PROPERTIES += \
80    persist.vendor.debug.sensors.accel_cal=1
81
82# The default value of this variable is false and should only be set to true when
83# the device allows users to retain eSIM profiles after factory reset of user data.
84PRODUCT_PRODUCT_PROPERTIES += \
85    masterclear.allow_retain_esim_profiles_after_fdr=true
86
87PRODUCT_COPY_FILES += \
88    device/google/coral/default-permissions.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions.xml \
89    device/google/coral/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml \
90    frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
91    frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml
92
93# Enforce privapp-permissions whitelist
94PRODUCT_PROPERTY_OVERRIDES += \
95    ro.control_privapp_permissions=enforce
96
97PRODUCT_PACKAGES += \
98    messaging
99
100TARGET_PRODUCT_PROP := $(LOCAL_PATH)/product.prop
101
102$(call inherit-product, $(LOCAL_PATH)/utils.mk)
103
104# Installs gsi keys into ramdisk, to boot a developer GSI with verified boot.
105$(call inherit-product, $(SRC_TARGET_DIR)/product/developer_gsi_keys.mk)
106
107ifeq ($(wildcard vendor/google_devices/coral/proprietary/device-vendor-coral.mk),)
108    BUILD_WITHOUT_VENDOR := true
109endif
110
111ifeq ($(TARGET_PREBUILT_KERNEL),)
112    LOCAL_KERNEL := device/google/coral-kernel/Image.lz4
113else
114    LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
115endif
116PRODUCT_VENDOR_KERNEL_HEADERS := device/google/coral-kernel/sm8150/kernel-headers
117
118
119PRODUCT_CHARACTERISTICS := nosdcard
120PRODUCT_SHIPPING_API_LEVEL := 29
121
122# Enforce native interfaces of product partition as VNDK
123PRODUCT_PRODUCT_VNDK_VERSION := current
124
125DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
126
127#
128PRODUCT_COPY_FILES += \
129    $(LOCAL_KERNEL):kernel \
130    $(LOCAL_PATH)/fstab.hardware:$(TARGET_COPY_OUT_RECOVERY)/root/first_stage_ramdisk/fstab.$(PRODUCT_PLATFORM) \
131    $(LOCAL_PATH)/fstab.hardware:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.$(PRODUCT_PLATFORM) \
132    $(LOCAL_PATH)/fstab.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist \
133    $(LOCAL_PATH)/init.hardware.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).rc \
134    $(LOCAL_PATH)/init.power.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).power.rc \
135    $(LOCAL_PATH)/init.radio.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.radio.sh \
136    $(LOCAL_PATH)/init.hardware.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).usb.rc \
137    $(LOCAL_PATH)/init.insmod.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.insmod.sh \
138    $(LOCAL_PATH)/init.sensors.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.sensors.sh \
139    $(LOCAL_PATH)/thermal-engine-$(PRODUCT_HARDWARE)-normal_mode.conf:$(TARGET_COPY_OUT_VENDOR)/etc/thermal-engine-$(PRODUCT_HARDWARE)-normal_mode.conf \
140    $(LOCAL_PATH)/thermal-engine-$(PRODUCT_HARDWARE)-retail_mode.conf:$(TARGET_COPY_OUT_VENDOR)/etc/thermal-engine-$(PRODUCT_HARDWARE)-retail_mode.conf \
141    $(LOCAL_PATH)/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
142    $(LOCAL_PATH)/init.ramoops.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ramoops.sh
143
144
145MSM_VIDC_TARGET_LIST := msmnile # Get the color format from kernel headers
146MASTER_SIDE_CP_TARGET_LIST := msmnile # ION specific settings
147
148ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
149  PRODUCT_COPY_FILES += \
150      $(LOCAL_PATH)/init.hardware.mpssrfs.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).mpssrfs.rc
151  PRODUCT_COPY_FILES += \
152      $(LOCAL_PATH)/init.hardware.diag.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).diag.rc
153  PRODUCT_COPY_FILES += \
154      $(LOCAL_PATH)/init.hardware.wlc.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.$(PRODUCT_PLATFORM).wlc.rc
155  PRODUCT_COPY_FILES += \
156      $(LOCAL_PATH)/init.hardware.userdebug.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.$(PRODUCT_PLATFORM).userdebug.rc
157else
158  PRODUCT_COPY_FILES += \
159      $(LOCAL_PATH)/init.hardware.mpssrfs.rc.user:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).mpssrfs.rc
160  PRODUCT_COPY_FILES += \
161      $(LOCAL_PATH)/init.hardware.diag.rc.user:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).diag.rc
162endif
163
164# Enable CAT by default
165ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
166  PRODUCT_COPY_FILES += \
167      $(LOCAL_PATH)/init.cat.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.cat.rc
168endif
169
170# A/B support
171PRODUCT_PACKAGES += \
172    otapreopt_script \
173    cppreopts.sh \
174    update_engine \
175    update_verifier
176
177# Use Sdcardfs
178PRODUCT_PRODUCT_PROPERTIES += \
179    ro.sys.sdcardfs=1
180
181PRODUCT_PACKAGES += \
182    bootctrl.msmnile \
183    bootctrl.msmnile.recovery
184
185PRODUCT_PROPERTY_OVERRIDES += \
186    ro.cp_system_other_odex=1
187
188AB_OTA_POSTINSTALL_CONFIG += \
189    RUN_POSTINSTALL_system=true \
190    POSTINSTALL_PATH_system=system/bin/otapreopt_script \
191    FILESYSTEM_TYPE_system=ext4 \
192    POSTINSTALL_OPTIONAL_system=true
193
194AB_OTA_POSTINSTALL_CONFIG += \
195    RUN_POSTINSTALL_vendor=true \
196    POSTINSTALL_PATH_vendor=bin/checkpoint_gc \
197    FILESYSTEM_TYPE_vendor=ext4 \
198    POSTINSTALL_OPTIONAL_vendor=true
199
200PRODUCT_PACKAGES += \
201    update_engine_sideload
202
203PRODUCT_PACKAGES_DEBUG += \
204    f2fs_io \
205    check_f2fs
206
207PRODUCT_PROPERTY_OVERRIDES += \
208    ro.crypto.volume.filenames_mode=aes-256-cts
209
210# Userdata Checkpointing OTA GC
211PRODUCT_PACKAGES += \
212    checkpoint_gc
213
214# The following modules are included in debuggable builds only.
215PRODUCT_PACKAGES_DEBUG += \
216    bootctl \
217    r.vendor \
218    update_engine_client
219
220PRODUCT_COPY_FILES += \
221    frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
222    frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
223    frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml\
224    frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml\
225    frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
226    frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \
227    frameworks/native/data/etc/android.hardware.biometrics.face.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.biometrics.face.xml\
228    frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
229    frameworks/native/data/etc/android.hardware.sensor.assist.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.assist.xml \
230    frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
231    frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
232    frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
233    frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
234    frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \
235    frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
236    frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml \
237    frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \
238    frameworks/native/data/etc/android.hardware.context_hub.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.context_hub.xml \
239    frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \
240    frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \
241    frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \
242    frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \
243    frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
244    frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
245    frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
246    frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \
247    frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
248    frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml \
249    frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \
250    frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
251    frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
252    frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
253    frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
254    frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
255    frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
256    frameworks/native/data/etc/android.hardware.reboot_escrow.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.reboot_escrow.xml \
257    frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
258    frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
259    frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \
260    frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
261    frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
262    frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
263    frameworks/native/data/etc/android.hardware.telephony.carrierlock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.carrierlock.xml \
264    frameworks/native/data/etc/android.hardware.strongbox_keystore.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.strongbox_keystore.xml \
265    frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
266    frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
267    frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
268    frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
269    frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \
270
271# Audio fluence, ns, aec property, voice and media volume steps
272PRODUCT_PROPERTY_OVERRIDES += \
273    ro.vendor.audio.sdk.fluencetype=fluencepro \
274    persist.vendor.audio.fluence.voicecall=true \
275    persist.vendor.audio.fluence.speaker=true \
276    persist.vendor.audio.fluence.voicecomm=true \
277    persist.vendor.audio.fluence.voicerec=false \
278    ro.config.vc_call_vol_steps=7 \
279    ro.config.media_vol_steps=25 \
280
281# Audio Features
282PRODUCT_PROPERTY_OVERRIDES += \
283    vendor.audio.feature.external_dsp.enable=true \
284    vendor.audio.feature.external_speaker.enable=true \
285    vendor.audio.feature.concurrent_capture.enable=false \
286    vendor.audio.feature.a2dp_offload.enable=true \
287    vendor.audio.feature.hfp.enable=true \
288    vendor.audio.feature.hwdep_cal.enable=true \
289    vendor.audio.feature.incall_music.enable=true \
290    vendor.audio.feature.maxx_audio.enable=true \
291    vendor.audio.feature.spkr_prot.enable=true \
292    vendor.audio.feature.usb_offload.enable=true \
293    vendor.audio.feature.audiozoom.enable=true \
294    vendor.audio.feature.snd_mon.enable=true \
295    vendor.audio.feature.multi_voice_session.enable=true \
296    vendor.audio.capture.enforce_legacy_copp_sr=true \
297    persist.vendor.audio_hal.dsp_bit_width_enforce_mode=24 \
298    vendor.audio.offload.gapless.enabled=true \
299
300# MaxxAudio effect and add rotation monitor
301PRODUCT_PROPERTY_OVERRIDES += \
302    ro.audio.monitorRotation=true
303
304# Iaxxx streming and factory binary
305PRODUCT_PACKAGES += \
306    libtunnel \
307    libodsp \
308    adnc_strm.primary.default
309# Add Oslo test for debug rom
310ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
311PRODUCT_PACKAGES += \
312    tunneling_hal_test \
313    sensor_param_test \
314    oslo_config_test \
315    oslo_data_injection_test \
316    oslo_get_stats \
317    odsp_api_test \
318    crash_event_logger \
319    dump_debug_info \
320    get_pwr_stats \
321    crash_trigger_test
322endif
323
324# graphics
325PRODUCT_PROPERTY_OVERRIDES += \
326    ro.opengles.version=196610
327
328PRODUCT_PROPERTY_OVERRIDES += \
329    ro.vendor.display.foss=1 \
330    ro.vendor.display.paneltype=2 \
331    ro.vendor.display.sensortype=2 \
332    vendor.display.foss.config=1 \
333    vendor.display.foss.config_path=/vendor/etc/FOSSConfig.xml \
334    vendor.display.qdcm.mode_combine=1
335
336PRODUCT_PROPERTY_OVERRIDES += \
337    vendor.display.defer_fps_frame_count=2 \
338    vendor.display.primary_vsyncs_rate_change=2
339
340# camera google face detection
341PRODUCT_PROPERTY_OVERRIDES += \
342    persist.camera.googfd.enable=1
343
344# camera hal buffer management
345PRODUCT_PROPERTY_OVERRIDES += \
346    persist.camera.managebuffer.enable=1
347
348# Lets the vendor library that Google Camera HWL is enabled
349PRODUCT_PROPERTY_OVERRIDES += \
350    persist.camera.google_hwl.enabled=true \
351    persist.camera.google_hwl.name=libgooglecamerahwl_impl.so
352
353# OEM Unlock reporting
354PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
355    ro.oem_unlock_supported=1
356
357PRODUCT_PROPERTY_OVERRIDES += \
358    persist.vendor.cne.feature=1 \
359    persist.vendor.data.iwlan.enable=true \
360    persist.vendor.radio.RATE_ADAPT_ENABLE=1 \
361    persist.vendor.radio.ROTATION_ENABLE=1 \
362    persist.vendor.radio.VT_ENABLE=1 \
363    persist.vendor.radio.VT_HYBRID_ENABLE=1 \
364    persist.vendor.radio.apm_sim_not_pwdn=1 \
365    persist.vendor.radio.custom_ecc=1 \
366    persist.vendor.radio.data_ltd_sys_ind=1 \
367    persist.vendor.radio.videopause.mode=1 \
368    persist.vendor.radio.mt_sms_ack=30 \
369    persist.vendor.radio.multisim_switch_support=true \
370    persist.vendor.radio.sib16_support=1 \
371    persist.vendor.radio.data_con_rprt=true \
372    persist.vendor.radio.relay_oprt_change=1 \
373    persist.vendor.radio.no_wait_for_card=1 \
374    persist.vendor.radio.sap_silent_pin=1 \
375    persist.vendor.radio.manual_nw_rej_ct=1 \
376    persist.rcs.supported=1 \
377    vendor.rild.libpath=/vendor/lib64/libril-qc-hal-qmi.so \
378    ro.hardware.keystore_desede=true \
379    persist.vendor.radio.procedure_bytes=SKIP \
380
381# Enable reboot free DSDS
382PRODUCT_PRODUCT_PROPERTIES += \
383    persist.radio.reboot_on_modem_change=false
384
385PRODUCT_PROPERTY_OVERRIDES += \
386    telephony.active_modems.max_count=2
387
388# Disable snapshot timer
389PRODUCT_PROPERTY_OVERRIDES += \
390    persist.vendor.radio.snapshot_enabled=0 \
391    persist.vendor.radio.snapshot_timer=0
392
393PRODUCT_PACKAGES += \
394    hwcomposer.msmnile \
395    android.hardware.graphics.composer@2.4-service-sm8150 \
396    gralloc.msmnile \
397    android.hardware.graphics.mapper@3.0-impl-qti-display \
398    android.hardware.graphics.mapper@4.0-impl-qti-display \
399    vendor.qti.hardware.display.allocator-service
400
401# RenderScript HAL
402PRODUCT_PACKAGES += \
403    android.hardware.renderscript@1.0-impl
404
405# Light HAL
406PRODUCT_PACKAGES += \
407    lights.msmnile \
408    hardware.google.light@1.1-service
409
410# Memtrack HAL
411PRODUCT_PACKAGES += \
412    memtrack.msmnile \
413    android.hardware.memtrack@1.0-impl \
414    android.hardware.memtrack@1.0-service
415
416# Bluetooth HAL
417PRODUCT_PACKAGES += \
418    android.hardware.bluetooth@1.0-impl-qti \
419    android.hardware.bluetooth@1.0-service-qti
420
421#Bluetooth SAR HAL
422PRODUCT_PACKAGES += \
423    hardware.google.bluetooth.sar@1.0-impl
424PRODUCT_PACKAGES_DEBUG += \
425    bluetooth_sar_test
426
427# Bluetooth SoC
428PRODUCT_PROPERTY_OVERRIDES += \
429    vendor.qcom.bluetooth.soc=cherokee
430
431# Property for loading BDA from device tree
432PRODUCT_PROPERTY_OVERRIDES += \
433    ro.vendor.bt.bdaddr_path=/proc/device-tree/chosen/cdt/cdb2/bt_addr
434
435# Bluetooth WiPower
436PRODUCT_PROPERTY_OVERRIDES += \
437    ro.vendor.bluetooth.emb_wp_mode=false \
438    ro.vendor.bluetooth.wipower=false
439
440# Bluetooth ftmdaemon needs libbt-hidlclient.so
441PRODUCT_SOONG_NAMESPACES += vendor/qcom/proprietary/bluetooth/hidl_client
442
443# DRM HAL
444PRODUCT_PACKAGES += \
445    android.hardware.drm-service.clearkey \
446    android.hardware.drm-service.widevine
447
448# NFC and Secure Element packages
449PRODUCT_PACKAGES += \
450    $(RELEASE_PACKAGE_NFC_STACK) \
451    Tag \
452    SecureElement \
453    android.hardware.nfc-service.st \
454    android.hardware.secure_element@1.0-service.st \
455    NfcOverlayCoral
456
457PRODUCT_COPY_FILES += \
458    device/google/coral/nfc/com.google.hardware.pixel.japan.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_G020N/com.google.hardware.pixel.japan.xml \
459    device/google/coral/nfc/com.google.hardware.pixel.japan.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_G020Q/com.google.hardware.pixel.japan.xml
460
461PRODUCT_COPY_FILES += \
462    device/google/coral/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
463    device/google/coral/nfc/libese-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libese-hal-st.conf \
464    device/google/coral/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
465
466# USB HAL
467PRODUCT_PACKAGES += \
468    android.hardware.usb-service.coral
469PRODUCT_PACKAGES += \
470    android.hardware.usb.gadget-service.coral
471
472PRODUCT_PACKAGES += \
473    android.hardware.health@2.1-impl-coral \
474    android.hardware.health@2.1-service
475
476# Storage health HAL
477PRODUCT_PACKAGES += \
478    android.hardware.health.storage@1.0-service
479
480PRODUCT_PACKAGES += \
481    libmm-omxcore \
482    libOmxCore \
483    libstagefrighthw \
484    libOmxVdec \
485    libOmxVdecHevc \
486    libOmxVenc \
487    libc2dcolorconvert
488
489# Enable Codec 2.0
490PRODUCT_PROPERTY_OVERRIDES += \
491    debug.media.codec2=2 \
492    debug.stagefright.ccodec=4 \
493    debug.stagefright.omx_default_rank=512 \
494
495# Disable OMX
496PRODUCT_PROPERTY_OVERRIDES += \
497    vendor.media.omx=0 \
498
499# Create input surface on the framework side
500PRODUCT_PROPERTY_OVERRIDES += \
501    debug.stagefright.c2inputsurface=-1 \
502
503# Transcoding related property.
504PRODUCT_PROPERTY_OVERRIDES += \
505    debug.media.transcoding.codec_max_operating_rate_720P=480 \
506    debug.media.transcoding.codec_max_operating_rate_1080P=240 \
507    debug.media.transcoding.codec_max_operating_rate_4k=120 \
508
509# Enable ECO service
510QC2_HAVE_ECO_SERVICE := true
511
512PRODUCT_PACKAGES += \
513    libqcodec2 \
514    vendor.qti.media.c2@1.0-service \
515    media_codecs_c2.xml \
516    codec2.vendor.ext.policy \
517    codec2.vendor.base.policy
518
519PRODUCT_PROPERTY_OVERRIDES += \
520    vendor.qc2.venc.avgqp.enable=1
521
522# To reach target bitrate in CBR mode for IMS VT Call
523PRODUCT_PROPERTY_OVERRIDES += \
524    persist.vendor.ims.mm_minqp=1
525
526PRODUCT_PACKAGES += \
527    android.hardware.camera.provider@2.7-impl-google \
528    android.hardware.camera.provider@2.7-service-google \
529    camera.msmnile \
530    lib_multicam_dualfov_capture_session \
531    libgooglecamerahwl_impl \
532    libqomx_core \
533    libmmjpeg_interface \
534    libmmcamera_interface \
535    libcameradepthcalibrator
536
537# Google Camera HAL test libraries in debug builds
538PRODUCT_PACKAGES_DEBUG += \
539    libgoogle_camera_hal_proprietary_tests \
540    libgoogle_camera_hal_tests
541
542PRODUCT_PACKAGES += \
543    sensors.$(PRODUCT_HARDWARE) \
544    android.hardware.sensors@2.0-service.multihal \
545    hals.conf
546
547PRODUCT_PACKAGES += \
548    fs_config_dirs \
549    fs_config_files
550
551# Context hub HAL
552PRODUCT_PACKAGES += \
553    android.hardware.contexthub-service.generic
554
555# CHRE tools
556ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
557PRODUCT_PACKAGES += \
558    chre_power_test_client \
559    chre_test_client
560endif
561
562# Boot control HAL
563PRODUCT_PACKAGES += \
564    android.hardware.boot@1.2-impl-pixel-legacy \
565    android.hardware.boot@1.2-impl-pixel-legacy.recovery \
566    android.hardware.boot@1.2-service \
567
568# Thermal HAL config
569PRODUCT_COPY_FILES += \
570    $(LOCAL_PATH)/thermal_info_config_$(PRODUCT_HARDWARE).json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
571    $(LOCAL_PATH)/thermal_info_config_$(PRODUCT_HARDWARE)_jaws.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_jaws.json
572
573#GNSS HAL
574PRODUCT_PACKAGES += \
575    libgps.utils \
576    libgnss \
577    libloc_core \
578    liblocation_api \
579    libbatching \
580    libgeofencing \
581    android.hardware.gnss@2.1-impl-qti \
582    android.hardware.gnss@2.1-service-qti
583
584ENABLE_VENDOR_RIL_SERVICE := true
585
586USE_QCRIL_OEMHOOK := true
587
588HOSTAPD := hostapd
589ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
590HOSTAPD += hostapd_cli
591endif
592PRODUCT_PACKAGES += $(HOSTAPD)
593
594WPA := wpa_supplicant.conf
595WPA += wpa_supplicant_wcn.conf
596WPA += wpa_supplicant
597PRODUCT_PACKAGES += $(WPA)
598
599ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
600PRODUCT_PACKAGES += wpa_cli
601endif
602
603# Wifi
604PRODUCT_PACKAGES += \
605    android.hardware.wifi-service \
606    wificond \
607    libwpa_client \
608    WifiOverlay
609
610# Connectivity
611PRODUCT_PACKAGES += \
612    ConnectivityOverlay
613
614# WLAN driver configuration files
615PRODUCT_COPY_FILES += \
616    $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
617    $(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \
618    $(LOCAL_PATH)/wifi_concurrency_cfg.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wifi_concurrency_cfg.txt \
619    $(LOCAL_PATH)/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini \
620
621LIB_NL := libnl_2
622PRODUCT_PACKAGES += $(LIB_NL)
623
624# Audio effects
625PRODUCT_PACKAGES += \
626    libvolumelistener \
627    libqcomvisualizer \
628    libqcomvoiceprocessing \
629    libqcomvoiceprocessingdescriptors \
630    libqcompostprocbundle
631
632PRODUCT_PACKAGES += \
633    audio.primary.msmnile \
634    audio.usb.default \
635    audio.r_submix.default \
636    libaudio-resampler \
637    audio.bluetooth.default
638
639PRODUCT_PACKAGES += \
640    android.hardware.audio@7.0-impl:32 \
641    android.hardware.audio.effect@7.0-impl:32 \
642    android.hardware.soundtrigger@2.3-impl \
643    android.hardware.bluetooth.audio@2.0-impl \
644    android.hardware.audio.service
645
646# Modules for Audio HAL
647PRODUCT_PACKAGES += \
648    libcirrusspkrprot \
649    libsndmonitor \
650    libmalistener \
651    liba2dpoffload \
652    btaudio_offload_if \
653    libmaxxaudio \
654    libaudiozoom
655
656ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
657PRODUCT_PACKAGES += \
658    tinyplay \
659    tinycap \
660    tinymix \
661    tinypcminfo \
662    cplay
663endif
664
665ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
666PRODUCT_PACKAGES += chre_test_client
667endif
668
669# Audio hal xmls
670PRODUCT_COPY_FILES += \
671    $(LOCAL_PATH)/audio/mixer_paths_iaxxx_jaws.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_iaxxx_jaws.xml \
672    $(LOCAL_PATH)/audio/mixer_paths_iaxxx_coral.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_iaxxx_coral.xml \
673    $(LOCAL_PATH)/audio/mixer_paths_iaxxx_c2proto.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_iaxxx_c2proto.xml \
674    $(LOCAL_PATH)/audio/mixer_paths_iaxxx_flame.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_iaxxx_flame.xml \
675    $(LOCAL_PATH)/audio/mixer_paths_iaxxx_f2proto.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_iaxxx_f2proto.xml \
676    $(LOCAL_PATH)/audio/audio_platform_info_iaxxx_jaws.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_iaxxx_jaws.xml \
677    $(LOCAL_PATH)/audio/audio_platform_info_iaxxx_coral.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_iaxxx_coral.xml \
678    $(LOCAL_PATH)/audio/audio_platform_info_iaxxx_c2proto.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_iaxxx_c2proto.xml \
679    $(LOCAL_PATH)/audio/audio_platform_info_iaxxx_flame.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_iaxxx_flame.xml \
680    $(LOCAL_PATH)/audio/audio_platform_info_iaxxx_f2proto.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_iaxxx_f2proto.xml \
681    $(LOCAL_PATH)/audio/sound_trigger_mixer_paths_default.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_default.xml \
682    $(LOCAL_PATH)/audio/sound_trigger_mixer_paths_jaws.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_jaws.xml \
683    $(LOCAL_PATH)/audio/sound_trigger_mixer_paths_coral.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_coral.xml \
684    $(LOCAL_PATH)/audio/sound_trigger_mixer_paths_c2proto.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_c2proto.xml \
685    $(LOCAL_PATH)/audio/sound_trigger_mixer_paths_flame.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_flame.xml \
686    $(LOCAL_PATH)/audio/sound_trigger_mixer_paths_f2proto.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_f2proto.xml
687
688# Audio Policy tables
689PRODUCT_COPY_FILES += \
690    $(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
691    $(LOCAL_PATH)/audio/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_a2dp_offload_disabled.xml \
692    $(LOCAL_PATH)/audio/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \
693    $(LOCAL_PATH)/audio/bluetooth_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_hearing_aid_audio_policy_configuration.xml \
694    $(LOCAL_PATH)/audio/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
695    $(LOCAL_PATH)/audio/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \
696    frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration_7_0.xml \
697    frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration_7_0.xml \
698    frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml \
699    frameworks/av/services/audiopolicy/config/hearing_aid_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/hearing_aid_audio_policy_configuration_7_0.xml \
700    frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
701    frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml
702
703# Audio ACDB data
704PRODUCT_COPY_FILES += \
705    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Bluetooth_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Bluetooth_cal.acdb \
706    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/General_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/General_cal.acdb \
707    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Global_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Global_cal.acdb \
708    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Handset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Handset_cal.acdb \
709    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Hdmi_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Hdmi_cal.acdb \
710    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Headset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Headset_cal.acdb \
711    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Speaker_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Speaker_cal.acdb \
712    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Codec_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Codec_cal.acdb \
713    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Bluetooth_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Bluetooth_cal.acdb \
714    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/General_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/General_cal.acdb \
715    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Global_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Global_cal.acdb \
716    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Handset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Handset_cal.acdb \
717    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Hdmi_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Hdmi_cal.acdb \
718    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Headset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Headset_cal.acdb \
719    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Speaker_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Speaker_cal.acdb \
720    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Codec_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Codec_cal.acdb \
721    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Bluetooth_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Bluetooth_cal.acdb \
722    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/General_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/General_cal.acdb \
723    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Global_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Global_cal.acdb \
724    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Handset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Handset_cal.acdb \
725    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Hdmi_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Hdmi_cal.acdb \
726    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Headset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Headset_cal.acdb \
727    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Speaker_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Speaker_cal.acdb \
728    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Codec_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Codec_cal.acdb \
729    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Bluetooth_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Bluetooth_cal.acdb \
730    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/General_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/General_cal.acdb \
731    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Global_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Global_cal.acdb \
732    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Handset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Handset_cal.acdb \
733    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Hdmi_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Hdmi_cal.acdb \
734    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Headset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Headset_cal.acdb \
735    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Speaker_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Speaker_cal.acdb \
736    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Codec_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Codec_cal.acdb \
737    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Bluetooth_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Bluetooth_cal.acdb \
738    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/General_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/General_cal.acdb \
739    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Global_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Global_cal.acdb \
740    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Handset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Handset_cal.acdb \
741    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Hdmi_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Hdmi_cal.acdb \
742    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Headset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Headset_cal.acdb \
743    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Speaker_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Speaker_cal.acdb \
744    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Codec_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Codec_cal.acdb \
745    device/google/coral/audio/acdbdata/adsp_avs_config.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/adsp_avs_config.acdb
746
747
748# Audio ACDB workspace files for QACT
749ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
750PRODUCT_COPY_FILES += \
751    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/workspaceFile.qwsp:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/workspaceFile.qwsp \
752    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/workspaceFile.qwsp:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/workspaceFile.qwsp \
753    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/workspaceFile.qwsp:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/workspaceFile.qwsp \
754    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/workspaceFile.qwsp:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/workspaceFile.qwsp \
755    device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/workspaceFile.qwsp:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/workspaceFile.qwsp
756endif
757
758# Audio speaker tunning config data
759PRODUCT_COPY_FILES += \
760    device/google/coral/audio/data/crus_sp_config_coral_rx.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/crus_sp_config_coral_rx.bin \
761    device/google/coral/audio/data/crus_sp_config_coral_tx.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/crus_sp_config_coral_tx.bin \
762    device/google/coral/audio/data/crus_sp_config_flame_rx.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/crus_sp_config_flame_rx.bin \
763    device/google/coral/audio/data/crus_sp_config_flame_tx.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/crus_sp_config_flame_tx.bin
764
765# Audio audiozoom config data
766PRODUCT_COPY_FILES += \
767    $(LOCAL_PATH)/audio/audiozoom.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audiozoom.xml
768
769PRODUCT_COPY_FILES += \
770    $(LOCAL_PATH)/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
771    $(LOCAL_PATH)/media_codecs_omx.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_omx.xml \
772    $(LOCAL_PATH)/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
773    frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
774    frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
775    frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
776    $(LOCAL_PATH)/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
777
778
779# Vendor seccomp policy files for media components:
780PRODUCT_COPY_FILES += \
781    $(LOCAL_PATH)/seccomp_policy/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy
782
783PRODUCT_PROPERTY_OVERRIDES += \
784    vendor.audio.snd_card.open.retries=50
785
786
787ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
788# Subsystem ramdump
789PRODUCT_PROPERTY_OVERRIDES += \
790    persist.vendor.sys.ssr.enable_ramdumps=1
791endif
792
793# Subsystem silent restart
794PRODUCT_PROPERTY_OVERRIDES += \
795    persist.vendor.sys.ssr.restart_level=modem,slpi,adsp
796
797# setup dalvik vm configs
798$(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk)
799
800# Use the default charger mode images
801PRODUCT_PACKAGES += \
802    charger_res_images
803
804ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
805# b/36703476: Set default log size to 1M
806PRODUCT_PROPERTY_OVERRIDES += \
807  ro.logd.size=1M
808# b/114766334: persist all logs by default rotating on 30 files of 1MiB
809PRODUCT_PROPERTY_OVERRIDES += \
810  logd.logpersistd=logcatd \
811  logd.logpersistd.size=30
812endif
813
814# Dumpstate HAL
815PRODUCT_PACKAGES += \
816    android.hardware.dumpstate@1.1-service.coral
817
818# Storage: for factory reset protection feature
819PRODUCT_PROPERTY_OVERRIDES += \
820    ro.frp.pst=/dev/block/bootdevice/by-name/frp
821
822PRODUCT_PACKAGES += \
823    vndk-sp
824
825# Override heap growth limit due to high display density on device
826PRODUCT_PROPERTY_OVERRIDES += \
827    dalvik.vm.heapgrowthlimit=256m \
828
829# Use 64-bit dex2oat for better dexopt time.
830PRODUCT_PROPERTY_OVERRIDES += \
831    dalvik.vm.dex2oat64.enabled=true
832
833PRODUCT_PACKAGES += \
834    ipacm \
835    IPACM_cfg.xml
836
837#Set default CDMA subscription to RUIM
838PRODUCT_PROPERTY_OVERRIDES += \
839    ro.telephony.default_cdma_sub=0
840
841# Set network mode to Global by default and no DSDS/DSDA
842PRODUCT_PROPERTY_OVERRIDES += \
843    ro.telephony.default_network=10
844
845# Set display color mode to Adaptive by default
846PRODUCT_PROPERTY_OVERRIDES += \
847    persist.sys.sf.color_saturation=1.0 \
848    persist.sys.sf.native_mode=2 \
849    persist.sys.sf.color_mode=9
850
851# Keymaster configuration
852PRODUCT_COPY_FILES += \
853    frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml \
854    frameworks/native/data/etc/android.hardware.device_unique_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.device_unique_attestation.xml
855
856# Enable modem logging
857PRODUCT_PROPERTY_OVERRIDES += \
858    ro.vendor.radio.log_loc="/data/vendor/modem_dump" \
859    ro.vendor.radio.log_prefix="modem_log_"
860
861# Enable modem logging for debug
862ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
863PRODUCT_PROPERTY_OVERRIDES += \
864    persist.vendor.sys.modem.diag.mdlog=true
865else
866PRODUCT_PROPERTY_OVERRIDES += \
867    persist.vendor.sys.modem.diag.mdlog=false
868endif
869PRODUCT_PROPERTY_OVERRIDES += \
870    persist.vendor.sys.modem.diag.mdlog_br_num=5
871
872# Enable tcpdump_logger on userdebug and eng
873ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
874    PRODUCT_PROPERTY_OVERRIDES += \
875        persist.vendor.tcpdump.log.alwayson=false \
876        persist.vendor.tcpdump.log.br_num=5
877endif
878
879# Preopt SystemUI
880PRODUCT_DEXPREOPT_SPEED_APPS += SystemUIGoogle  # For internal
881PRODUCT_DEXPREOPT_SPEED_APPS += SystemUI  # For AOSP
882
883# Compile SystemUI on device with `speed`.
884PRODUCT_PROPERTY_OVERRIDES += \
885    dalvik.vm.systemuicompilerfilter=speed
886
887# Enable stats logging in LMKD
888TARGET_LMKD_STATS_LOG := true
889
890# default usb oem functions
891ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
892  PRODUCT_PROPERTY_OVERRIDES += \
893      persist.vendor.usb.usbradio.config=diag
894endif
895
896# Enable app/sf phase offset as durations. The numbers below are translated from the existing
897# positive offsets by finding the duration app/sf will have with the offsets.
898# For SF the previous value was 6ms which under 16.6ms vsync time (60Hz) will leave SF with ~10.5ms
899# for each frame. For App the previous value was 2ms which under 16.6ms vsync time will leave the
900# App with ~20.5ms (16.6ms * 2 - 10.5ms - 2ms). The other values were calculated similarly.
901# Full comparison between the old vs. the new values are captured in
902# https://docs.google.com/spreadsheets/d/1a_5cVNY3LUAkeg-yL56rYQNwved6Hy-dvEcKSxp6f8k/edit
903
904PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.use_phase_offsets_as_durations=1
905PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.late.sf.duration=10500000
906PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.late.app.duration=20500000
907PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.early.sf.duration=16000000
908PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.early.app.duration=16500000
909PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.earlyGl.sf.duration=13500000
910PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.earlyGl.app.duration=21000000
911
912# Enable backpressure for GL comp
913PRODUCT_PROPERTY_OVERRIDES += \
914    debug.sf.enable_gl_backpressure=1
915
916# Enable EGL image tracking on SF for b/137514000
917PRODUCT_PROPERTY_OVERRIDES += debug.sf.enable_egl_image_tracker=1
918
919# Do not skip init trigger by default
920PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
921    vendor.skip.init=0
922
923BOARD_USES_QCNE := true
924
925#per device
926PRODUCT_COPY_FILES += \
927    $(LOCAL_PATH)/coral/init.coral.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.coral.rc \
928    $(LOCAL_PATH)/flame/init.flame.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.flame.rc
929
930PRODUCT_COPY_FILES += \
931    $(LOCAL_PATH)/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config
932
933# GPS configuration file
934PRODUCT_COPY_FILES += \
935    $(LOCAL_PATH)/gps.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gps.conf
936
937PRODUCT_USE_DYNAMIC_PARTITIONS := true
938
939# insmod files
940PRODUCT_COPY_FILES += \
941	$(LOCAL_PATH)/init.insmod.coral.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/init.insmod.coral.cfg \
942	$(LOCAL_PATH)/init.insmod.flame.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/init.insmod.flame.cfg
943
944# Use /product/etc/fstab.postinstall to mount system_other
945PRODUCT_PRODUCT_PROPERTIES += \
946    ro.postinstall.fstab.prefix=/product
947
948PRODUCT_COPY_FILES += \
949    $(LOCAL_PATH)/fstab.postinstall:$(TARGET_COPY_OUT_PRODUCT)/etc/fstab.postinstall
950
951# powerstats HAL
952PRODUCT_PACKAGES += \
953    android.hardware.power.stats@1.0-service.pixel
954
955PRODUCT_PACKAGES_DEBUG += \
956    pwrstats_util
957
958# Recovery
959PRODUCT_COPY_FILES += \
960    $(LOCAL_PATH)/init.recovery.device.rc:recovery/root/init.recovery.coral.rc \
961    $(LOCAL_PATH)/init.recovery.device.rc:recovery/root/init.recovery.flame.rc
962
963# Oslo feature flag
964PRODUCT_PRODUCT_PROPERTIES += \
965    ro.vendor.aware_available=true
966
967QTI_TELEPHONY_UTILS := qti-telephony-utils
968QTI_TELEPHONY_UTILS += qti_telephony_utils.xml
969PRODUCT_PACKAGES += $(QTI_TELEPHONY_UTILS)
970
971HIDL_WRAPPER := qti-telephony-hidl-wrapper
972HIDL_WRAPPER += qti_telephony_hidl_wrapper.xml
973HIDL_WRAPPER += qti-telephony-hidl-wrapper-prd
974HIDL_WRAPPER += qti_telephony_hidl_wrapper_prd.xml
975PRODUCT_PACKAGES += $(HIDL_WRAPPER)
976
977# Increment the SVN for any official public releases
978PRODUCT_PROPERTY_OVERRIDES += \
979	ro.vendor.build.svn=65
980
981PRODUCT_COPY_FILES += \
982    $(LOCAL_PATH)/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
983
984
985# Disable SPU usage
986PRODUCT_PROPERTY_OVERRIDES += \
987    vendor.gatekeeper.disable_spu = true
988
989# Enable iwlan service logging for debug
990ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
991    PRODUCT_PROPERTY_OVERRIDES += persist.vendor.iwlan.logging.logcat=true
992endif
993
994# Vendor verbose logging default property
995ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
996PRODUCT_PROPERTY_OVERRIDES += \
997    persist.vendor.verbose_logging_enabled=true
998else
999PRODUCT_PROPERTY_OVERRIDES += \
1000    persist.vendor.verbose_logging_enabled=false
1001endif
1002
1003# Disable Rescue Party on userdebug & eng build
1004ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
1005PRODUCT_PRODUCT_PROPERTIES += \
1006    persist.sys.disable_rescue=true
1007endif
1008
1009# Set support one-handed mode
1010PRODUCT_PRODUCT_PROPERTIES += \
1011    ro.support_one_handed_mode=true
1012
1013# Set system properties identifying the chipset
1014PRODUCT_VENDOR_PROPERTIES += ro.soc.manufacturer=Qualcomm
1015PRODUCT_VENDOR_PROPERTIES += ro.soc.model=SM8150
1016
1017# Security
1018-include vendor/qcom/sm8150/proprietary/securemsm/config/keymaster_vendor_proprietary_board.mk
1019-include vendor/qcom/sm8150/proprietary/securemsm/config/keymaster_vendor_proprietary_product.mk
1020
1021include hardware/google/pixel/common/pixel-common-device.mk
1022include hardware/google/pixel/vibrator/cs40l25/device.mk
1023include hardware/google/pixel/pixelstats/device.mk
1024include hardware/google/pixel/mm/device_legacy.mk
1025include device/google/gs-common/thermal/thermal_hal/device.mk
1026
1027# gs-common
1028include device/google/gs-common/misc_writer/misc_writer.mk
1029
1030# Citadel
1031include hardware/google/pixel/citadel/citadel.mk
1032
1033# power HAL
1034-include hardware/google/pixel/power-libperfmgr/aidl/device.mk
1035
1036# Pixel Logger
1037include hardware/google/pixel/PixelLogger/PixelLogger.mk
1038
1039$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota_retrofit.mk)
1040
1041# Update soong config namespace
1042-include vendor/google/build/soong/soong_config_namespace/qcril_oemhook.mk
1043