• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright (C) 2016 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
17PRODUCT_SOONG_NAMESPACES += \
18    device/google/crosshatch \
19    hardware/google/av \
20    hardware/google/camera \
21    hardware/google/interfaces \
22    hardware/google/pixel \
23    hardware/qcom/sdm845 \
24    vendor/google/camera \
25    vendor/qcom/sdm845 \
26    vendor/google/interfaces \
27    vendor/google_devices/common/proprietary/confirmatioui_hal \
28    vendor/google_nos/host/android \
29    vendor/google_nos/test/system-test-harness
30
31PRODUCT_PROPERTY_OVERRIDES += \
32    keyguard.no_require_sim=true
33
34# enable cal by default on accel sensor
35PRODUCT_PRODUCT_PROPERTIES += \
36    persist.vendor.debug.sensors.accel_cal=1
37
38# The default value of this variable is false and should only be set to true when
39# the device allows users to retain eSIM profiles after factory reset of user data.
40PRODUCT_PRODUCT_PROPERTIES += \
41    masterclear.allow_retain_esim_profiles_after_fdr=true
42
43PRODUCT_COPY_FILES += \
44    device/google/crosshatch/default-permissions.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default-permissions/default-permissions.xml \
45    device/google/crosshatch/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml \
46    frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
47    frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml
48
49# Enforce privapp-permissions whitelist
50PRODUCT_PROPERTY_OVERRIDES += \
51    ro.control_privapp_permissions?=enforce
52
53# Enable on-access verification of priv apps. This requires fs-verity support in kernel.
54PRODUCT_PROPERTY_OVERRIDES += \
55    ro.apk_verity.mode=1
56
57PRODUCT_PACKAGES += \
58    messaging
59
60ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
61PRODUCT_PACKAGES += chre_test_client
62endif
63
64LOCAL_PATH := device/google/crosshatch
65SRC_MEDIA_HAL_DIR := hardware/qcom/media/sdm845
66SRC_DISPLAY_HAL_DIR := hardware/qcom/display/sdm845
67
68TARGET_PRODUCT_PROP := $(LOCAL_PATH)/product.prop
69
70$(call inherit-product, $(LOCAL_PATH)/utils.mk)
71
72# Installs gsi keys into ramdisk, to boot a developer GSI with verified boot.
73$(call inherit-product, $(SRC_TARGET_DIR)/product/developer_gsi_keys.mk)
74
75ifeq ($(wildcard vendor/google_devices/crosshatch/proprietary/device-vendor-crosshatch.mk),)
76    BUILD_WITHOUT_VENDOR := true
77endif
78
79ifeq ($(TARGET_PREBUILT_KERNEL),)
80    LOCAL_KERNEL := device/google/crosshatch-kernel/Image.lz4
81else
82    LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
83endif
84
85PRODUCT_CHARACTERISTICS := nosdcard
86PRODUCT_SHIPPING_API_LEVEL := 28
87
88DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
89
90PRODUCT_COPY_FILES += \
91    $(LOCAL_KERNEL):kernel \
92    $(LOCAL_PATH)/init.recovery.hardware.rc:recovery/root/init.recovery.$(PRODUCT_PLATFORM).rc \
93    $(LOCAL_PATH)/init.hardware.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).usb.rc \
94    $(LOCAL_PATH)/ueventd.hardware.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
95    $(LOCAL_PATH)/init.power.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).power.rc \
96    $(LOCAL_PATH)/init.radio.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.radio.sh \
97    $(LOCAL_PATH)/uinput-fpc.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/uinput-fpc.kl \
98    $(LOCAL_PATH)/uinput-fpc.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/uinput-fpc.idc \
99    $(LOCAL_PATH)/init.qcom.devstart.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qcom.devstart.sh \
100    $(LOCAL_PATH)/init.qcom.ipastart.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qcom.ipastart.sh \
101    $(LOCAL_PATH)/init.insmod.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.insmod.sh \
102    $(LOCAL_PATH)/init.firstboot.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.firstboot.sh \
103    $(LOCAL_PATH)/thermal-engine-$(PRODUCT_HARDWARE)-novr-evt.conf:$(TARGET_COPY_OUT_VENDOR)/etc/thermal-engine-$(PRODUCT_HARDWARE)-novr-evt.conf \
104    $(LOCAL_PATH)/thermal-engine-$(PRODUCT_HARDWARE)-vr-evt.conf:$(TARGET_COPY_OUT_VENDOR)/etc/thermal-engine-$(PRODUCT_HARDWARE)-vr-evt.conf \
105    $(LOCAL_PATH)/thermal-engine-$(PRODUCT_HARDWARE)-novr-prod.conf:$(TARGET_COPY_OUT_VENDOR)/etc/thermal-engine-$(PRODUCT_HARDWARE)-novr-prod.conf \
106    $(LOCAL_PATH)/thermal-engine-$(PRODUCT_HARDWARE)-vr-prod.conf:$(TARGET_COPY_OUT_VENDOR)/etc/thermal-engine-$(PRODUCT_HARDWARE)-vr-prod.conf \
107    $(LOCAL_PATH)/init.ramoops.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ramoops.sh
108
109# Edge Sense initialization script.
110# TODO: b/67205273
111PRODUCT_COPY_FILES += \
112    $(LOCAL_PATH)/init.edge_sense.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.edge_sense.sh
113
114ifeq (,$(filter %_xr,$(TARGET_PRODUCT)))
115  PRODUCT_COPY_FILES += \
116    $(LOCAL_PATH)/init.hardware.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).rc
117else
118  # XR variants for Pixel devices (e.g. blueline_xr and crosshatch_xr). Note
119  # that this is a nonintrusive way to add XR-specific init.rc entries, as the
120  # init.hardware.xr.rc file imports the original init.hardware.rc file.
121  PRODUCT_COPY_FILES += \
122    $(LOCAL_PATH)/init.hardware.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).common.rc \
123    $(LOCAL_PATH)/init.hardware.xr.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).rc
124endif
125
126ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
127  PRODUCT_COPY_FILES += \
128      $(LOCAL_PATH)/init.hardware.diag.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).diag.rc
129  PRODUCT_COPY_FILES += \
130      $(LOCAL_PATH)/init.hardware.mpssrfs.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).mpssrfs.rc
131  PRODUCT_COPY_FILES += \
132      $(LOCAL_PATH)/init.hardware.wlc.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.$(PRODUCT_PLATFORM).wlc.rc
133else
134  PRODUCT_COPY_FILES += \
135      $(LOCAL_PATH)/init.hardware.diag.rc.user:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).diag.rc
136  PRODUCT_COPY_FILES += \
137      $(LOCAL_PATH)/init.hardware.mpssrfs.rc.user:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).mpssrfs.rc
138endif
139
140#per device
141PRODUCT_COPY_FILES += \
142    $(LOCAL_PATH)/crosshatch/init.crosshatch.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.crosshatch.rc \
143    $(LOCAL_PATH)/blueline/init.blueline.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.blueline.rc \
144    $(LOCAL_PATH)/init.recovery.hardware.device.rc:recovery/root/init.recovery.crosshatch.rc \
145    $(LOCAL_PATH)/init.recovery.hardware.device.rc:recovery/root/init.recovery.blueline.rc \
146
147MSM_VIDC_TARGET_LIST := sdm845 # Get the color format from kernel headers
148MASTER_SIDE_CP_TARGET_LIST := sdm845 # ION specific settings
149
150# A/B support
151PRODUCT_PACKAGES += \
152    otapreopt_script \
153    cppreopts.sh \
154    update_engine \
155    update_verifier
156
157# Use Sdcardfs
158PRODUCT_PRODUCT_PROPERTIES += \
159    ro.sys.sdcardfs=1
160
161PRODUCT_PACKAGES += \
162    bootctrl.sdm845 \
163    bootctrl.sdm845.recovery
164
165# Userdata Checkpointing OTA GC
166PRODUCT_PACKAGES += \
167    checkpoint_gc
168
169PRODUCT_PROPERTY_OVERRIDES += \
170    ro.cp_system_other_odex=1
171
172AB_OTA_POSTINSTALL_CONFIG += \
173    RUN_POSTINSTALL_system=true \
174    POSTINSTALL_PATH_system=system/bin/otapreopt_script \
175    FILESYSTEM_TYPE_system=ext4 \
176    POSTINSTALL_OPTIONAL_system=true
177
178AB_OTA_POSTINSTALL_CONFIG += \
179    RUN_POSTINSTALL_vendor=true \
180    POSTINSTALL_PATH_vendor=bin/checkpoint_gc \
181    FILESYSTEM_TYPE_vendor=ext4 \
182    POSTINSTALL_OPTIONAL_vendor=true
183
184PRODUCT_PACKAGES += \
185    update_engine_sideload
186
187PRODUCT_PACKAGES_DEBUG += \
188    sg_write_buffer \
189    f2fs_io \
190    check_f2fs
191
192# The following modules are included in debuggable builds only.
193PRODUCT_PACKAGES_DEBUG += \
194    bootctl \
195    update_engine_client
196
197# Write flags to the vendor space in /misc partition.
198PRODUCT_PACKAGES += \
199    misc_writer
200
201PRODUCT_COPY_FILES += \
202    frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
203    frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
204    frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml\
205    frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml\
206    frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
207    frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \
208    frameworks/native/data/etc/android.hardware.reboot_escrow.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.reboot_escrow.xml \
209    frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
210    frameworks/native/data/etc/android.hardware.sensor.assist.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.assist.xml \
211    frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
212    frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
213    frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
214    frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
215    frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \
216    frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
217    frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml \
218    frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \
219    frameworks/native/data/etc/android.hardware.context_hub.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.context_hub.xml \
220    frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \
221    frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \
222    frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \
223    frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \
224    frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
225    frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
226    frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
227    frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \
228    frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
229    frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml \
230    frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \
231    frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
232    frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
233    frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
234    frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
235    frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
236    frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
237    frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
238    frameworks/native/data/etc/android.hardware.vr.headtracking-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vr.headtracking.xml \
239    frameworks/native/data/etc/android.hardware.vr.high_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vr.high_performance.xml \
240    frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
241    frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \
242    frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
243    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 \
244    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 \
245    frameworks/native/data/etc/android.hardware.telephony.carrierlock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.carrierlock.xml \
246    frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
247    frameworks/native/data/etc/android.hardware.strongbox_keystore.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.strongbox_keystore.xml \
248    frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \
249
250
251PRODUCT_COPY_FILES += \
252    $(LOCAL_PATH)/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
253
254# Audio fluence, ns, aec property, voice and media volume steps
255PRODUCT_PROPERTY_OVERRIDES += \
256    ro.qc.sdk.audio.fluencetype=fluencepro \
257    persist.audio.fluence.voicecall=true \
258    persist.audio.fluence.speaker=true \
259    persist.audio.fluence.voicecomm=true \
260    persist.audio.fluence.voicerec=false \
261    ro.config.vc_call_vol_steps=7 \
262    ro.config.media_vol_steps=25 \
263    vendor.audio.offload.gapless.enabled=true \
264
265# MaxxAudio effect and add rotation monitor
266PRODUCT_PROPERTY_OVERRIDES += \
267    ro.audio.monitorRotation=true
268
269PRODUCT_PACKAGES += \
270    libmalistener
271
272# graphics
273PRODUCT_PROPERTY_OVERRIDES += \
274    ro.opengles.version=196610
275
276PRODUCT_PROPERTY_OVERRIDES += \
277    ro.vendor.display.foss=1 \
278    ro.vendor.display.paneltype=2 \
279    ro.vendor.display.sensortype=2 \
280    vendor.display.foss.config=1 \
281    vendor.display.foss.config_path=/vendor/etc/FOSSConfig.xml
282
283PRODUCT_PROPERTY_OVERRIDES += \
284    vendor.display.dataspace_saturation_matrix=1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0
285
286PRODUCT_PROPERTY_OVERRIDES += \
287    vendor.display.disable_decimation=1
288
289# Enable camera EIS3.0
290PRODUCT_PROPERTY_OVERRIDES += \
291    persist.camera.is_type=5 \
292    persist.camera.gzoom.at=0
293
294# b/166675194
295PRODUCT_PROPERTY_OVERRIDES += \
296    ro.vendor.camera.provider24.disable_mem_init=1
297
298# camera google face detection
299PRODUCT_PROPERTY_OVERRIDES += \
300    persist.camera.googfd.enable=1
301
302# Enable logical camera as default (camera id 1)
303PRODUCT_PROPERTY_OVERRIDES += \
304    persist.camera.logical.default=1
305
306# Enable Treble camera shim to free buffers earlier than default
307PRODUCT_PROPERTY_OVERRIDES += \
308    ro.vendor.camera.free_buf_early=true
309
310# OEM Unlock reporting
311PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
312    ro.oem_unlock_supported=1
313
314PRODUCT_PROPERTY_OVERRIDES += \
315    persist.vendor.cne.feature=1 \
316    persist.vendor.data.iwlan.enable=true \
317    persist.radio.RATE_ADAPT_ENABLE=1 \
318    persist.radio.ROTATION_ENABLE=1 \
319    persist.radio.VT_ENABLE=1 \
320    persist.radio.VT_HYBRID_ENABLE=1 \
321    persist.vendor.radio.apm_sim_not_pwdn=1 \
322    persist.vendor.radio.custom_ecc=1 \
323    persist.vendor.radio.data_ltd_sys_ind=1 \
324    persist.radio.videopause.mode=1 \
325    persist.vendor.radio.mt_sms_ack=30 \
326    persist.vendor.radio.sib16_support=1 \
327    persist.vendor.radio.data_con_rprt=true \
328    persist.vendor.radio.relay_oprt_change=1 \
329    persist.vendor.radio.no_wait_for_card=1 \
330    persist.vendor.radio.sap_silent_pin=1 \
331    persist.vendor.radio.multisim_switch_support=false \
332    persist.vendor.radio.manual_nw_rej_ct=1 \
333    persist.rcs.supported=1 \
334    vendor.rild.libpath=/vendor/lib64/libril-qc-hal-qmi.so \
335    ro.hardware.keystore_desede=true \
336
337# Disable snapshot timer
338PRODUCT_PROPERTY_OVERRIDES += \
339    persist.vendor.radio.snapshot_enabled=0 \
340    persist.vendor.radio.snapshot_timer=0
341
342# logical camera for dual front sensors
343PRODUCT_PROPERTY_OVERRIDES += \
344  persist.vendor.camera.multicam=1
345
346# WLAN driver configuration files
347PRODUCT_COPY_FILES += \
348    $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
349    $(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \
350    $(LOCAL_PATH)/wifi_concurrency_cfg.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wifi_concurrency_cfg.txt \
351    $(LOCAL_PATH)/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini \
352
353PRODUCT_PACKAGES += \
354    hwcomposer.sdm845 \
355    android.hardware.graphics.composer@2.3-service \
356    gralloc.sdm845 \
357    android.hardware.graphics.mapper@2.0-impl-qti-display \
358    vendor.qti.hardware.display.allocator@1.0-service
359
360# RenderScript HAL
361PRODUCT_PACKAGES += \
362    android.hardware.renderscript@1.0-impl
363
364# Health HAL
365PRODUCT_PACKAGES += \
366    android.hardware.health@2.0-service.crosshatch
367
368# Storage health HAL
369PRODUCT_PACKAGES += \
370    android.hardware.health.storage@1.0-service
371
372# Light HAL
373PRODUCT_PACKAGES += \
374    lights.qcom \
375    hardware.google.light@1.0-service
376PRODUCT_PROPERTY_OVERRIDES += \
377    ro.hardware.lights=qcom
378
379# Memtrack/Vibrator HALs
380PRODUCT_PACKAGES += \
381    memtrack.sdm845 \
382    android.hardware.memtrack@1.0-impl \
383    android.hardware.vibrator@1.2-impl.crosshatch \
384    small_hals.crosshatch-service
385
386# Bluetooth HAL
387PRODUCT_PACKAGES += \
388    android.hardware.bluetooth@1.0-impl-qti \
389    android.hardware.bluetooth@1.0-service-qti
390
391# Bluetooth SoC
392PRODUCT_PROPERTY_OVERRIDES += \
393    vendor.qcom.bluetooth.soc=cherokee
394
395# Property for loading BDA from device tree
396PRODUCT_PROPERTY_OVERRIDES += \
397    ro.vendor.bt.bdaddr_path=/proc/device-tree/chosen/cdt/cdb2/bt_addr
398
399# Bluetooth WiPower
400PRODUCT_PROPERTY_OVERRIDES += \
401    ro.vendor.bluetooth.emb_wp_mode=false \
402    ro.vendor.bluetooth.wipower=false
403
404# HEH filename encryption is being dropped
405PRODUCT_PROPERTY_OVERRIDES += \
406    ro.crypto.volume.filenames_mode=aes-256-cts
407
408# DRM HAL
409PRODUCT_PACKAGES += \
410    android.hardware.drm@1.0-impl \
411    android.hardware.drm@1.0-service \
412    android.hardware.drm@1.4-service.clearkey \
413    android.hardware.drm@1.3-service.widevine
414
415# NFC and Secure Element packages
416PRODUCT_PACKAGES += \
417    NfcNci \
418    Tag \
419    SecureElement \
420    android.hardware.nfc@1.2-service \
421    android.hardware.secure_element@1.1-service-disabled
422
423PRODUCT_PRODUCT_PROPERTIES += \
424    vendor.ese.loader_script_path=/sys/firmware/devicetree/base/soc/i2c@88c000/nq@28/ese/loader_scripts_path
425
426PRODUCT_COPY_FILES += \
427    frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/odm/etc/permissions/sku_G013A/android.hardware.nfc.uicc.xml \
428    frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/odm/etc/permissions/sku_G013B/android.hardware.nfc.ese.xml \
429    frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/odm/etc/permissions/sku_G013B/android.hardware.se.omapi.ese.xml \
430    frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/odm/etc/permissions/sku_G013C/android.hardware.nfc.uicc.xml \
431    frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/odm/etc/permissions/sku_G013D/android.hardware.nfc.ese.xml \
432    frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/odm/etc/permissions/sku_G013D/android.hardware.se.omapi.ese.xml
433
434PRODUCT_COPY_FILES += \
435    device/google/crosshatch/nfc/com.google.hardware.pixel.japan.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_G013B/com.google.hardware.pixel.japan.xml \
436    device/google/crosshatch/nfc/com.google.hardware.pixel.japan.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_G013D/com.google.hardware.pixel.japan.xml
437
438PRODUCT_COPY_FILES += \
439    device/google/crosshatch/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf \
440    device/google/crosshatch/nfc/libese-nxp.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libese-nxp.conf
441
442PRODUCT_PACKAGES += \
443    android.hardware.usb@1.3-service.crosshatch
444
445PRODUCT_PACKAGES += \
446    libmm-omxcore \
447    libOmxCore \
448    libstagefrighthw \
449    libOmxVdec \
450    libOmxVdecHevc \
451    libOmxVenc \
452    libc2dcolorconvert
453
454# Enable Codec 2.0
455PRODUCT_PROPERTY_OVERRIDES += \
456    debug.media.codec2=2 \
457
458# Disable OMX
459PRODUCT_PROPERTY_OVERRIDES += \
460    vendor.media.omx=0 \
461
462# Create input surface on the framework side
463PRODUCT_PROPERTY_OVERRIDES += \
464    debug.stagefright.c2inputsurface=-1 \
465
466# Transcoding related property.
467PRODUCT_PROPERTY_OVERRIDES += \
468    debug.media.transcoding.codec_max_operating_rate_720P=480 \
469    debug.media.transcoding.codec_max_operating_rate_1080P=240 \
470    debug.media.transcoding.codec_max_operating_rate_4k=120 \
471
472PRODUCT_PACKAGES += \
473    libqcodec2 \
474    vendor.qti.media.c2@1.0-service \
475    codec2.vendor.ext.policy \
476    codec2.vendor.base.policy
477
478PRODUCT_PACKAGES += \
479    android.hardware.camera.provider@2.4-impl \
480    android.hardware.camera.provider@2.4-service_64 \
481    camera.device@3.2-impl \
482    camera.sdm845 \
483    libqomx_core \
484    libmmjpeg_interface \
485    libmmcamera_interface \
486    libcameradepthcalibrator
487
488# Google Camera HAL test libraries in debug builds
489PRODUCT_PACKAGES_DEBUG += \
490    libgoogle_camera_hal_proprietary_tests \
491    libgoogle_camera_hal_tests
492
493PRODUCT_PACKAGES += \
494    sensors.$(PRODUCT_HARDWARE) \
495    android.hardware.sensors@2.0-impl \
496    android.hardware.sensors@2.0-service \
497    android.hardware.sensors@2.0-service.rc
498
499PRODUCT_COPY_FILES += \
500    $(LOCAL_PATH)/sensors/hals.conf:vendor/etc/sensors/hals.conf
501
502# Default permission grant exceptions
503PRODUCT_COPY_FILES += \
504    device/google/crosshatch/default-permissions.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default-permissions/default-permissions.xml
505
506PRODUCT_PACKAGES += \
507    fs_config_dirs \
508    fs_config_files
509
510# Context hub HAL
511PRODUCT_PACKAGES += \
512    android.hardware.contexthub@1.2-service.generic
513
514# CHRE tools
515ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
516PRODUCT_PACKAGES += \
517    chre_power_test_client \
518    chre_test_client
519endif
520
521# Boot control HAL
522PRODUCT_PACKAGES += \
523    android.hardware.boot@1.0-impl \
524    android.hardware.boot@1.0-impl.recovery \
525    android.hardware.boot@1.0-service \
526
527#GNSS HAL
528PRODUCT_PACKAGES += \
529    libgps.utils \
530    libgnss \
531    liblocation_api \
532    android.hardware.gnss@1.1-impl-qti \
533    android.hardware.gnss@1.1-service-qti
534
535ENABLE_VENDOR_RIL_SERVICE := true
536
537USE_QCRIL_OEMHOOK := true
538
539PRODUCT_COPY_FILES += \
540    $(LOCAL_PATH)/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config
541
542
543HOSTAPD := hostapd
544ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
545HOSTAPD += hostapd_cli
546endif
547PRODUCT_PACKAGES += $(HOSTAPD)
548
549WPA := wpa_supplicant.conf
550WPA += wpa_supplicant_wcn.conf
551WPA += wpa_supplicant
552PRODUCT_PACKAGES += $(WPA)
553
554ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
555PRODUCT_PACKAGES += wpa_cli
556endif
557
558# Wifi
559PRODUCT_PACKAGES += \
560    android.hardware.wifi@1.0-service \
561    wificond \
562    libwpa_client \
563    WifiOverlay
564
565# Connectivity
566PRODUCT_PACKAGES += \
567    ConnectivityOverlay
568
569LIB_NL := libnl_2
570PRODUCT_PACKAGES += $(LIB_NL)
571
572# Audio effects
573PRODUCT_PACKAGES += \
574    libvolumelistener \
575    libqcomvisualizer \
576    libqcomvoiceprocessing \
577    libqcomvoiceprocessingdescriptors \
578    libqcompostprocbundle
579
580PRODUCT_PACKAGES += \
581    audio.primary.sdm845 \
582    audio.a2dp.default \
583    audio.usb.default \
584    audio.r_submix.default \
585    libaudio-resampler \
586    audio.hearing_aid.default \
587    audio.bluetooth.default
588
589PRODUCT_PACKAGES += \
590    android.hardware.audio@7.0-impl:32 \
591    android.hardware.audio.effect@7.0-impl:32 \
592    android.hardware.soundtrigger@2.2-impl \
593    android.hardware.bluetooth.audio@2.0-impl \
594    android.hardware.audio.service
595
596ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
597PRODUCT_PACKAGES += \
598    tinyplay \
599    tinycap \
600    tinymix \
601    tinypcminfo \
602    cplay
603endif
604
605PRODUCT_COPY_FILES += \
606    $(LOCAL_PATH)/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
607    $(LOCAL_PATH)/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_a2dp_offload_disabled.xml \
608    $(LOCAL_PATH)/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \
609    $(LOCAL_PATH)/bluetooth_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_hearing_aid_audio_policy_configuration.xml \
610    $(LOCAL_PATH)/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
611    frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration_7_0.xml \
612    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 \
613    frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml \
614    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 \
615    frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
616    frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml
617
618# audio hal tables
619PRODUCT_COPY_FILES += \
620    $(LOCAL_PATH)/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \
621    $(LOCAL_PATH)/sound_trigger_mixer_paths_wcd9340.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9340.xml \
622    $(LOCAL_PATH)/graphite_ipc_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/graphite_ipc_platform_info.xml \
623
624PRODUCT_COPY_FILES += \
625    $(LOCAL_PATH)/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
626    $(LOCAL_PATH)/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
627    $(LOCAL_PATH)/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
628    $(LOCAL_PATH)/media_codecs_omx.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_omx.xml \
629
630PRODUCT_PROPERTY_OVERRIDES += \
631    audio.snd_card.open.retries=50
632
633PRODUCT_COPY_FILES += \
634    $(LOCAL_PATH)/lowi.conf:$(TARGET_COPY_OUT_VENDOR)/etc/lowi.conf
635
636# GPS configuration file
637PRODUCT_COPY_FILES += \
638    $(LOCAL_PATH)/gps.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gps.conf
639
640# Vendor seccomp policy files for media components:
641PRODUCT_COPY_FILES += \
642    $(LOCAL_PATH)/seccomp_policy/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy
643
644ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
645# Subsystem ramdump
646PRODUCT_PROPERTY_OVERRIDES += \
647    persist.vendor.sys.ssr.enable_ramdumps=1
648endif
649
650# Subsystem silent restart
651PRODUCT_PROPERTY_OVERRIDES += \
652    persist.vendor.sys.ssr.restart_level=modem,slpi,adsp
653
654ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
655# Sensor debug flag
656PRODUCT_PROPERTY_OVERRIDES += \
657    persist.vendor.debug.ash.logger=0 \
658    persist.vendor.debug.ash.logger.time=0
659endif
660
661# setup dalvik vm configs
662$(call inherit-product, frameworks/native/build/phone-xhdpi-4096-dalvik-heap.mk)
663
664ifneq ($(filter %_mainline,$(TARGET_PRODUCT)),)
665PRODUCT_COPY_FILES += \
666    device/google/crosshatch/fstab.mainline.hardware:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.$(PRODUCT_PLATFORM) \
667    device/google/crosshatch/fstab.mainline.hardware:$(TARGET_COPY_OUT_RECOVERY)/root/first_stage_ramdisk/fstab.$(PRODUCT_PLATFORM)
668else
669PRODUCT_COPY_FILES += \
670    device/google/crosshatch/fstab.hardware:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.$(PRODUCT_PLATFORM) \
671    device/google/crosshatch/fstab.hardware:$(TARGET_COPY_OUT_RECOVERY)/root/first_stage_ramdisk/fstab.$(PRODUCT_PLATFORM)
672endif
673
674PRODUCT_COPY_FILES += \
675    device/google/crosshatch/fstab.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist
676
677# Use the default charger mode images
678PRODUCT_PACKAGES += \
679    charger_res_images
680
681ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
682# b/36703476: Set default log size to 1M
683PRODUCT_PROPERTY_OVERRIDES += \
684  ro.logd.size=1M
685# b/114766334: persist all logs by default rotating on 30 files of 1MiB
686PRODUCT_PROPERTY_OVERRIDES += \
687  logd.logpersistd=logcatd \
688  logd.logpersistd.size=30
689endif
690
691# Dumpstate HAL
692PRODUCT_PACKAGES += \
693    android.hardware.dumpstate@1.1-service.crosshatch
694
695# Storage: for factory reset protection feature
696PRODUCT_PROPERTY_OVERRIDES += \
697    ro.frp.pst=/dev/block/bootdevice/by-name/frp
698
699PRODUCT_PACKAGES += \
700    vndk-sp
701
702# Override heap growth limit due to high display density on device
703PRODUCT_PROPERTY_OVERRIDES += \
704    dalvik.vm.heapgrowthlimit?=256m
705
706PRODUCT_PACKAGES += \
707    ipacm \
708    IPACM_cfg.xml
709
710#Set default CDMA subscription to RUIM
711PRODUCT_PROPERTY_OVERRIDES += \
712    ro.telephony.default_cdma_sub=0
713
714# Set network mode to Global by default and no DSDS/DSDA
715PRODUCT_PROPERTY_OVERRIDES += ro.telephony.default_network=10
716
717# Set display color mode to Automatic by default
718PRODUCT_PROPERTY_OVERRIDES += \
719    persist.sys.sf.color_saturation=1.0 \
720    persist.sys.sf.native_mode=2
721
722# Easel device feature
723PRODUCT_COPY_FILES += \
724    device/google/crosshatch/permissions/com.google.hardware.camera.easel_2018.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.google.hardware.camera.easel_2018.xml
725
726# Fingerprint
727PRODUCT_PACKAGES += \
728    android.hardware.biometrics.fingerprint@2.1-service.fpc
729PRODUCT_COPY_FILES += \
730    $(LOCAL_PATH)/init.fingerprint.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.fingerprint.sh \
731
732PRODUCT_COPY_FILES += \
733    frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
734
735# DRV2624 Haptics Waveform
736PRODUCT_COPY_FILES += \
737    device/google/crosshatch/vibrator/drv2624/drv2624.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/drv2624.bin
738
739# CS40L20 Haptics Waveform & Firmware
740PRODUCT_COPY_FILES += \
741    device/google/crosshatch/vibrator/cs40l20/cs40l20.wmfw:$(TARGET_COPY_OUT_VENDOR)/firmware/cs40l20.wmfw \
742    device/google/crosshatch/vibrator/cs40l20/cs40l20.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/cs40l20.bin
743
744PRODUCT_VENDOR_KERNEL_HEADERS := device/google/crosshatch/sdm845/kernel-headers
745
746# Audio ACDB data
747PRODUCT_COPY_FILES += \
748     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-snd-card/Bluetooth_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-snd-card/Bluetooth_cal.acdb \
749     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-snd-card/General_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-snd-card/General_cal.acdb \
750     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-snd-card/Global_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-snd-card/Global_cal.acdb \
751     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-snd-card/Handset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-snd-card/Handset_cal.acdb \
752     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-snd-card/Hdmi_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-snd-card/Hdmi_cal.acdb \
753     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-snd-card/Headset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-snd-card/Headset_cal.acdb \
754     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-snd-card/Speaker_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-snd-card/Speaker_cal.acdb \
755     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-snd-card/Codec_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-snd-card/Codec_cal.acdb \
756     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-b1-snd-card/Bluetooth_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-b1-snd-card/Bluetooth_cal.acdb \
757     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-b1-snd-card/General_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-b1-snd-card/General_cal.acdb \
758     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-b1-snd-card/Global_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-b1-snd-card/Global_cal.acdb \
759     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-b1-snd-card/Handset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-b1-snd-card/Handset_cal.acdb \
760     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-b1-snd-card/Hdmi_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-b1-snd-card/Hdmi_cal.acdb \
761     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-b1-snd-card/Headset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-b1-snd-card/Headset_cal.acdb \
762     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-b1-snd-card/Speaker_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-b1-snd-card/Speaker_cal.acdb \
763     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-b1-snd-card/Codec_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-b1-snd-card/Codec_cal.acdb \
764     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-c1-snd-card/Bluetooth_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-c1-snd-card/Bluetooth_cal.acdb \
765     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-c1-snd-card/General_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-c1-snd-card/General_cal.acdb \
766     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-c1-snd-card/Global_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-c1-snd-card/Global_cal.acdb \
767     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-c1-snd-card/Handset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-c1-snd-card/Handset_cal.acdb \
768     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-c1-snd-card/Hdmi_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-c1-snd-card/Hdmi_cal.acdb \
769     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-c1-snd-card/Headset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-c1-snd-card/Headset_cal.acdb \
770     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-c1-snd-card/Speaker_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-c1-snd-card/Speaker_cal.acdb \
771     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-c1-snd-card/Codec_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-c1-snd-card/Codec_cal.acdb \
772     device/google/crosshatch/acdbdata/adsp_avs_config.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/adsp_avs_config.acdb
773
774# Audio ACDB workspace files for QACT
775ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
776PRODUCT_COPY_FILES += \
777     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-snd-card/workspaceFile.qwsp:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-snd-card/workspaceFile.qwsp \
778     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-b1-snd-card/workspaceFile.qwsp:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-b1-snd-card/workspaceFile.qwsp \
779     device/google/crosshatch/acdbdata/OEM/sdm845-tavil-c1-snd-card/workspaceFile.qwsp:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sdm845-tavil-c1-snd-card/workspaceFile.qwsp
780endif
781
782# CS35L36 Speaker Tuning
783PRODUCT_COPY_FILES += \
784    device/google/crosshatch/audio/crus_sp_config_b1_rx.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/crus_sp_config_b1_rx.bin \
785    device/google/crosshatch/audio/crus_sp_config_b1_tx.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/crus_sp_config_b1_tx.bin \
786    device/google/crosshatch/audio/crus_sp_config_c1_rx.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/crus_sp_config_c1_rx.bin \
787    device/google/crosshatch/audio/crus_sp_config_c1_tx.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/crus_sp_config_c1_tx.bin
788
789# Keymaster configuration
790PRODUCT_COPY_FILES += \
791    frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml \
792     frameworks/native/data/etc/android.hardware.device_unique_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.device_unique_attestation.xml
793
794# Enable modem logging
795PRODUCT_PROPERTY_OVERRIDES += \
796    ro.radio.log_loc="/data/vendor/modem_dump" \
797    ro.radio.log_prefix="modem_log_"
798
799# Enable modem logging for debug
800ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
801PRODUCT_PROPERTY_OVERRIDES += \
802    persist.vendor.sys.modem.diag.mdlog=true
803else
804PRODUCT_PROPERTY_OVERRIDES += \
805    persist.vendor.sys.modem.diag.mdlog=false
806endif
807PRODUCT_PROPERTY_OVERRIDES += \
808    persist.vendor.sys.modem.diag.mdlog_br_num=5
809
810# Enable tcpdump_logger on userdebug and eng
811ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
812    PRODUCT_PROPERTY_OVERRIDES += \
813        persist.vendor.tcpdump.log.alwayson=false \
814        persist.vendor.tcpdump.log.br_num=5
815endif
816
817# Preopt SystemUI
818PRODUCT_DEXPREOPT_SPEED_APPS += \
819    SystemUIGoogle
820
821# Enable stats logging in LMKD
822TARGET_LMKD_STATS_LOG := true
823PRODUCT_PRODUCT_PROPERTIES += \
824    ro.lmk.log_stats=true
825
826# default usb oem functions
827ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
828  PRODUCT_PROPERTY_OVERRIDES += \
829      persist.vendor.usb.usbradio.config=diag
830endif
831
832# Early phase offset configuration for SurfaceFlinger (b/75985430)
833PRODUCT_PROPERTY_OVERRIDES += \
834    debug.sf.early_phase_offset_ns=500000
835PRODUCT_PROPERTY_OVERRIDES += \
836    debug.sf.early_app_phase_offset_ns=500000
837PRODUCT_PROPERTY_OVERRIDES += \
838    debug.sf.early_gl_phase_offset_ns=3000000
839PRODUCT_PROPERTY_OVERRIDES += \
840    debug.sf.early_gl_app_phase_offset_ns=15000000
841
842# Enable backpressure for GL comp
843PRODUCT_PROPERTY_OVERRIDES += \
844    debug.sf.enable_gl_backpressure=1
845
846# Do not skip init trigger by default
847PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
848    vendor.skip.init=0
849
850# Increment the SVN for any official public releases
851PRODUCT_PROPERTY_OVERRIDES += \
852    ro.vendor.build.svn=64
853
854PRODUCT_PRODUCT_PROPERTIES += \
855    ro.adb.secure=1
856
857# pixel atrace HAL
858PRODUCT_PACKAGES += \
859    android.hardware.atrace@1.0-service.pixel
860
861# fastbootd
862PRODUCT_PACKAGES += \
863    fastbootd
864
865PRODUCT_COPY_FILES += \
866    $(LOCAL_PATH)/thermal_info_config_$(PRODUCT_HARDWARE).json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
867    $(LOCAL_PATH)/thermal_info_config_$(PRODUCT_HARDWARE)_evt.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_evt.json
868
869# powerstats HAL
870PRODUCT_PACKAGES += \
871    android.hardware.power.stats@1.0-service.pixel
872
873# SurfaceFlinger
874
875# Graphics
876PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.vsync_event_phase_offset_ns=2000000
877PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.vsync_sf_event_phase_offset_ns=6000000
878
879# Must align with HAL types Dataspace
880# The data space of wide color gamut composition preference is Dataspace::DISPLAY_P3
881PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.wcg_composition_dataspace=143261696
882
883# Display
884PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.has_wide_color_display=true
885PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.has_HDR_display=true
886PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.use_color_management=true
887PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.protected_contents=true
888
889# Vendor verbose logging default property
890ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
891PRODUCT_PROPERTY_OVERRIDES += \
892    persist.vendor.verbose_logging_enabled=true
893else
894PRODUCT_PROPERTY_OVERRIDES += \
895    persist.vendor.verbose_logging_enabled=false
896endif
897
898# Pixel Logger
899include hardware/google/pixel/PixelLogger/PixelLogger.mk
900
901include hardware/google/pixel/pixelstats/device.mk
902include hardware/google/pixel/mm/device_legacy.mk
903include hardware/google/pixel/thermal/device.mk
904
905# Citadel
906include hardware/google/pixel/citadel/citadel.mk
907
908# power HAL
909-include hardware/google/pixel/power-libperfmgr/aidl/device.mk
910
911# Set support one-handed mode
912PRODUCT_PRODUCT_PROPERTIES += \
913    ro.support_one_handed_mode=true
914
915# Set support hide display cutout feature
916PRODUCT_PRODUCT_PROPERTIES += \
917    ro.support_hide_display_cutout=true
918
919# Set system properties identifying the chipset
920PRODUCT_VENDOR_PROPERTIES += ro.soc.manufacturer=Qualcomm
921PRODUCT_VENDOR_PROPERTIES += ro.soc.model=SDM845
922