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