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