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