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