• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright (C) 2011 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
17include device/google/gs-common/device.mk
18include device/google/gs-common/gs_watchdogd/watchdog.mk
19include device/google/gs-common/ramdump_and_coredump/ramdump_and_coredump.mk
20include device/google/gs-common/soc/soc.mk
21include device/google/gs-common/modem/modem.mk
22include device/google/gs-common/aoc/aoc.mk
23include device/google/gs-common/trusty/trusty.mk
24include device/google/gs-common/pcie/pcie.mk
25include device/google/gs-common/storage/storage.mk
26include device/google/gs-common/thermal/dump/thermal.mk
27include device/google/gs-common/thermal/thermal_hal/device.mk
28include device/google/gs-common/performance/perf.mk
29include device/google/gs-common/power/power.mk
30include device/google/gs-common/pixel_metrics/pixel_metrics.mk
31include device/google/gs-common/soc/freq.mk
32include device/google/gs-common/gps/dump/log.mk
33include device/google/gs-common/bcmbt/dump/dumplog.mk
34include device/google/gs-common/display/dump.mk
35include device/google/gs-common/display_logbuffer/dump.mk
36include device/google/gs-common/gxp/gxp.mk
37include device/google/gs-common/camera/dump.mk
38include device/google/gs-common/radio/dump.mk
39include device/google/gs-common/gear/dumpstate/aidl.mk
40include device/google/gs-common/widevine/widevine.mk
41include device/google/gs-common/sota_app/factoryota.mk
42include device/google/gs-common/misc_writer/misc_writer.mk
43include device/google/gs-common/gyotaku_app/gyotaku.mk
44include device/google/gs-common/bootctrl/bootctrl_aidl.mk
45include device/google/gs-common/betterbug/betterbug.mk
46include device/google/gs-common/recorder/recorder.mk
47include device/google/gs-common/fingerprint/fingerprint.mk
48
49include device/google/zumapro/dumpstate/item.mk
50
51TARGET_BOARD_PLATFORM := zumapro
52ALLOW_MISSING_DEPENDENCIES := true
53
54AB_OTA_POSTINSTALL_CONFIG += \
55	RUN_POSTINSTALL_system=true \
56	POSTINSTALL_PATH_system=system/bin/otapreopt_script \
57	FILESYSTEM_TYPE_system=ext4 \
58POSTINSTALL_OPTIONAL_system=true
59
60# Set Vendor SPL to match platform
61VENDOR_SECURITY_PATCH = $(PLATFORM_SECURITY_PATCH)
62
63# Set boot SPL
64BOOT_SECURITY_PATCH = $(PLATFORM_SECURITY_PATCH)
65
66# TODO(b/207450311): Remove this flag once implemented
67USE_PIXEL_GRALLOC := false
68ifeq ($(USE_PIXEL_GRALLOC),true)
69	PRODUCT_SOONG_NAMESPACES += hardware/google/gchips/GrallocHAL
70endif
71
72PRODUCT_SOONG_NAMESPACES += \
73	hardware/google/av \
74	hardware/google/gchips \
75	hardware/google/gchips/gralloc4 \
76	hardware/google/graphics/common \
77	hardware/google/graphics/zuma \
78	hardware/google/interfaces \
79	hardware/google/pixel \
80	device/google/zumapro \
81	device/google/zumapro/powerstats \
82	vendor/google_devices/common/chre/host/hal \
83	vendor/google/whitechapel/tools \
84	vendor/google/interfaces \
85	vendor/google_devices/common/proprietary/confirmatioui_hal \
86	vendor/google_nos/host/android \
87	vendor/google_nos/test/system-test-harness \
88	vendor/google/camera
89
90LOCAL_KERNEL := $(TARGET_KERNEL_DIR)/Image.lz4
91
92# Set the environment variable to switch the Keymint HAL service to Rust
93TRUSTY_KEYMINT_IMPL := rust
94
95# OEM Unlock reporting
96PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
97	ro.oem_unlock_supported=1
98
99# Include vendor telephony soong namespace
100PRODUCT_SOONG_NAMESPACES += \
101	vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)
102
103ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
104#Set IKE logs to verbose for WFC
105PRODUCT_PROPERTY_OVERRIDES += log.tag.IKE=VERBOSE
106
107#Set Shannon IMS logs to debug
108PRODUCT_PROPERTY_OVERRIDES += log.tag.SHANNON_IMS=DEBUG
109
110#Set Shannon QNS logs to debug
111PRODUCT_PROPERTY_OVERRIDES += log.tag.ShannonQNS=DEBUG
112PRODUCT_PROPERTY_OVERRIDES += log.tag.ShannonQNS-ims=DEBUG
113PRODUCT_PROPERTY_OVERRIDES += log.tag.ShannonQNS-emergency=DEBUG
114PRODUCT_PROPERTY_OVERRIDES += log.tag.ShannonQNS-mms=DEBUG
115PRODUCT_PROPERTY_OVERRIDES += log.tag.ShannonQNS-xcap=DEBUG
116PRODUCT_PROPERTY_OVERRIDES += log.tag.ShannonQNS-HC=DEBUG
117
118# Modem userdebug
119include device/google/zumapro/modem/userdebug.mk
120endif
121
122ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
123# b/36703476: Set default log size to 1M
124PRODUCT_PROPERTY_OVERRIDES += \
125	ro.logd.size=1M
126# b/114766334: persist all logs by default rotating on 30 files of 1MiB
127# change to 60 files from zumapro
128PRODUCT_PROPERTY_OVERRIDES += \
129	logd.logpersistd=logcatd \
130	logd.logpersistd.size=60
131
132PRODUCT_PRODUCT_PROPERTIES += \
133	ro.logcat.compress=true
134endif
135
136# From system.property
137PRODUCT_PROPERTY_OVERRIDES += \
138	ro.telephony.default_network=27 \
139	persist.vendor.ril.db_ecc.use.iccid_to_plmn=1 \
140	persist.vendor.ril.db_ecc.id.type=5
141	#rild.libpath=/system/lib64/libsec-ril.so \
142	#rild.libargs=-d /dev/umts_ipc0
143
144# SIT-RIL Logging setting
145PRODUCT_PROPERTY_OVERRIDES += \
146	persist.vendor.ril.log_mask=3 \
147	persist.vendor.ril.log.base_dir=/data/vendor/radio/sit-ril \
148	persist.vendor.ril.log.chunk_size=5242880 \
149	persist.vendor.ril.log.num_file=3
150
151# Enable reboot free DSDS
152PRODUCT_PRODUCT_PROPERTIES += \
153	persist.radio.reboot_on_modem_change=false
154
155# Configure DSDS by default
156PRODUCT_PRODUCT_PROPERTIES += \
157	persist.radio.multisim.config=dsds
158
159# Enable Early Camping
160PRODUCT_PRODUCT_PROPERTIES += \
161	persist.vendor.ril.camp_on_earlier=1
162
163# Enable SET_SCREEN_STATE request
164PRODUCT_PROPERTY_OVERRIDES += \
165	persist.vendor.ril.enable_set_screen_state=1
166
167# Set the Bluetooth Class of Device
168# Service Field: 0x5A -> 90
169#    Bit 14: LE audio
170#    Bit 17: Networking
171#    Bit 19: Capturing
172#    Bit 20: Object Transfer
173#    Bit 22: Telephony
174# MAJOR_CLASS: 0x42 -> 66 (Phone)
175# MINOR_CLASS: 0x0C -> 12 (Smart Phone)
176PRODUCT_PRODUCT_PROPERTIES += \
177    bluetooth.device.class_of_device=90,66,12
178
179# Set supported Bluetooth profiles to enabled
180PRODUCT_PRODUCT_PROPERTIES += \
181	bluetooth.profile.asha.central.enabled=true \
182	bluetooth.profile.a2dp.source.enabled=true \
183	bluetooth.profile.avrcp.target.enabled=true \
184	bluetooth.profile.bap.unicast.server.enabled=true \
185	bluetooth.profile.bas.client.enabled=true \
186	bluetooth.profile.csip.set_coordinator.enabled=true \
187	bluetooth.profile.gatt.enabled=true \
188	bluetooth.profile.hap.client.enabled=true \
189	bluetooth.profile.hfp.ag.enabled=true \
190	bluetooth.profile.hid.device.enabled=true \
191	bluetooth.profile.hid.host.enabled=true \
192	bluetooth.profile.map.server.enabled=true \
193	bluetooth.profile.mcp.server.enabled=true \
194	bluetooth.profile.opp.enabled=true \
195	bluetooth.profile.pan.nap.enabled=true \
196	bluetooth.profile.pan.panu.enabled=true \
197	bluetooth.profile.pbap.server.enabled=true \
198	bluetooth.profile.sap.server.enabled=true \
199	bluetooth.profile.tbs.server.enabled=true \
200	bluetooth.profile.vc.server.enabled=true
201
202# Carrier configuration default location
203PRODUCT_PROPERTY_OVERRIDES += \
204	persist.vendor.radio.config.carrier_config_dir=/vendor/firmware/carrierconfig
205
206PRODUCT_PROPERTY_OVERRIDES += \
207	telephony.active_modems.max_count=2
208
209ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
210PRODUCT_PROPERTY_OVERRIDES += \
211	persist.vendor.usb.displayport.enabled=1
212else
213PRODUCT_PROPERTY_OVERRIDES += \
214	persist.vendor.usb.displayport.enabled=1
215endif
216
217PRODUCT_PROPERTY_OVERRIDES += \
218	persist.sys.hdcp_checking=always
219
220USE_LASSEN_OEMHOOK := true
221ifneq ($(BOARD_WITHOUT_RADIO),true)
222# The "power-anomaly-sitril" is added into PRODUCT_SOONG_NAMESPACES when
223# $(USE_LASSEN_OEMHOOK) is true and $(BOARD_WITHOUT_RADIO) is not true.
224PRODUCT_SOONG_NAMESPACES += vendor/google/tools/power-anomaly-sitril
225
226$(call inherit-product-if-exists, vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)/common/device-vendor.mk)
227
228# modem_ml_svc_sit daemon
229PRODUCT_PACKAGES += modem_ml_svc_sit
230
231# TODO: b/350624523 - Add back modem ML TFLite service after it is ready.
232# ifeq (,$(filter aosp_%,$(TARGET_PRODUCT)))
233# # Modem ML TFLite service.
234# PRODUCT_PACKAGES += modemml-tflite-service \
235# 	libtensorflowlite_jni
236
237# # Allow TFLite service modules to be installed to the system partition
238# PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
239# 	system/lib64/libtensorflowlite_jni.so
240
241# PRODUCT_SYSTEM_SERVER_JARS += system_ext:modemml-tflite-service
242# endif
243
244# modem ML models configs
245ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
246PRODUCT_COPY_FILES += \
247	device/google/zumapro/modem_ml/modem_ml_nnapi_models_userdebug.conf:$(TARGET_COPY_OUT_VENDOR)/etc/modem_ml_models.conf \
248	device/google/zumapro/modem_ml/modem_ml_tflite_models_userdebug.conf:$(TARGET_COPY_OUT_VENDOR)/etc/modem_ml_tflite_models.conf
249else
250PRODUCT_COPY_FILES += \
251	device/google/zumapro/modem_ml/modem_ml_nnapi_models_user.conf:$(TARGET_COPY_OUT_VENDOR)/etc/modem_ml_models.conf \
252	device/google/zumapro/modem_ml/modem_ml_tflite_models_user.conf:$(TARGET_COPY_OUT_VENDOR)/etc/modem_ml_tflite_models.conf
253endif
254
255# modem logging binary/configs
256PRODUCT_PACKAGES += modem_logging_control
257
258# libeomservice_proxy binary/configs
259PRODUCT_PACKAGES += liboemservice_proxy_default
260
261# modem logging configs
262PRODUCT_PACKAGES += \
263	logging.conf \
264	default.cfg \
265	default.nprf \
266	default_metrics.xml \
267	Pixel_stability.cfg \
268	Pixel_stability.nprf \
269	extensive_logging.conf
270
271# Vendor modem extensive logging default property
272PRODUCT_PROPERTY_OVERRIDES += \
273	persist.vendor.modem.extensive_logging_enabled=false
274
275# Pixel Logger
276include hardware/google/pixel/PixelLogger/PixelLogger.mk
277
278# Use Lassen specifc Shared Modem Platform
279SHARED_MODEM_PLATFORM_VENDOR := lassen
280
281else # ifneq ($(BOARD_WITHOUT_RADIO),true)
282
283# Pixel Logger
284BOARD_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/logger_app
285
286endif # ifneq ($(BOARD_WITHOUT_RADIO),true)
287
288# Shared Modem Platform
289include device/google/gs-common/modem/shared_modem_platform/shared_modem_platform.mk
290
291# Use for GRIL
292USES_LASSEN_MODEM := true
293USE_WHI_GRIL_RECOVERY := true
294
295ifeq ($(USES_GOOGLE_DIALER_CARRIER_SETTINGS),true)
296USE_GOOGLE_DIALER := true
297USE_GOOGLE_CARRIER_SETTINGS := true
298PRODUCT_PROPERTY_OVERRIDES += \
299	ro.vendor.uses_google_dialer_carrier_settings=1
300endif
301
302ifeq ($(USES_GOOGLE_PREBUILT_MODEM_SVC),true)
303USE_GOOGLE_PREBUILT_MODEM_SVC := true
304endif
305
306# Audio client implementation for RIL
307USES_GAUDIO := true
308
309# ######################
310# GRAPHICS - GPU (begin)
311
312# Must match BOARD_USES_SWIFTSHADER in BoardConfig.mk
313USE_SWIFTSHADER ?= false
314
315# HWUI
316ifeq ($(USE_SWIFTSHADER),true)
317$(warning USE_SWIFTSHADER set to current target)
318TARGET_USES_VULKAN = false
319else
320TARGET_USES_VULKAN = true
321endif
322
323PRODUCT_SOONG_NAMESPACES += \
324	vendor/arm/mali/valhall
325
326$(call soong_config_set,pixel_mali,soc,$(TARGET_BOARD_PLATFORM))
327# TODO (b/297408842): The gralloc is being open-sourced, and we cannot pass
328# "zumapro" as SOC to build it. Pass "zuma" as SOC for now.
329$(call soong_config_set,arm_gralloc,soc,zuma)
330
331include device/google/gs-common/gpu/gpu.mk
332
333PRODUCT_PACKAGES += \
334	csffw_image_prebuilt__firmware_prebuilt_ttux_mali_csffw.bin \
335	libGLES_mali \
336	vulkan.mali \
337	libOpenCL \
338	libgpudataproducer
339
340ifeq ($(USE_SWIFTSHADER),true)
341$(warning USE_SWIFTSHADER set to current target)
342PRODUCT_PACKAGES += \
343	libEGL_angle \
344	libGLESv1_CM_angle \
345	libGLESv2_angle \
346	vulkan.pastel
347
348PRODUCT_VENDOR_PROPERTIES += \
349	ro.hardware.egl=angle \
350	ro.hardware.vulkan=pastel
351else
352PRODUCT_VENDOR_PROPERTIES += \
353	ro.hardware.egl=mali \
354	ro.hardware.vulkan=mali
355endif
356
357# b/295257834 Add HDR shaders to SurfaceFlinger's pre-warming cache
358PRODUCT_VENDOR_PROPERTIES += ro.surface_flinger.prime_shader_cache.ultrahdr=1
359
360# Mali Configuration Properties
361# b/221255664 prevents setting PROTECTED_MAX_CORE_COUNT=2
362PRODUCT_VENDOR_PROPERTIES += \
363	vendor.mali.platform.config=/vendor/etc/mali/platform.config \
364	vendor.mali.debug.config=/vendor/etc/mali/debug.config \
365	vendor.mali.base_protected_max_core_count=1 \
366	vendor.mali.base_protected_tls_max=67108864 \
367	vendor.mali.platform_agt_frequency_khz=24576
368
369PRODUCT_COPY_FILES += \
370	frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
371	frameworks/native/data/etc/android.hardware.vulkan.version-1_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
372	frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
373	frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \
374	frameworks/native/data/etc/android.software.vulkan.deqp.level-2024-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
375	frameworks/native/data/etc/android.software.opengles.deqp.level-2024-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml
376
377#endif
378
379# Configure EGL blobcache
380PRODUCT_VENDOR_PROPERTIES += \
381	ro.egl.blobcache.multifile=true \
382	ro.egl.blobcache.multifile_limit=33554432 \
383
384PRODUCT_VENDOR_PROPERTIES += \
385	ro.opengles.version=196610 \
386	graphics.gpu.profiler.support=true \
387
388# GRAPHICS - GPU (end)
389# ####################
390
391# Device Manifest, Device Compatibility Matrix for Treble
392DEVICE_MANIFEST_FILE := \
393	device/google/zumapro/manifest.xml
394
395ifneq (,$(filter aosp_%,$(TARGET_PRODUCT)))
396DEVICE_MANIFEST_FILE += \
397	device/google/zumapro/manifest_media_aosp.xml
398
399PRODUCT_COPY_FILES += \
400	device/google/zumapro/media_codecs_aosp_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml
401else
402DEVICE_MANIFEST_FILE += \
403	device/google/zumapro/manifest_media.xml
404
405PRODUCT_COPY_FILES += \
406	device/google/zumapro/media_codecs_bo_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml \
407	device/google/zumapro/media_codecs_aosp_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_aosp_c2.xml
408endif
409
410DEVICE_MATRIX_FILE := \
411	device/google/zumapro/compatibility_matrix.xml
412
413DEVICE_PACKAGE_OVERLAYS += device/google/zumapro/overlay
414
415PRODUCT_SHIPPING_API_LEVEL := 34
416
417# RKP VINTF
418-include vendor/google_nos/host/android/hals/keymaster/aidl/strongbox/RemotelyProvisionedComponent-citadel.mk
419
420# Enforce the Product interface
421PRODUCT_PRODUCT_VNDK_VERSION := current
422PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE := true
423
424# Init files
425PRODUCT_COPY_FILES += \
426	$(LOCAL_KERNEL):kernel \
427	device/google/zumapro/conf/init.zumapro.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zumapro.usb.rc \
428	device/google/zumapro/conf/ueventd.zumapro.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc
429
430PRODUCT_COPY_FILES += \
431	device/google/zumapro/conf/init.zumapro.soc.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zumapro.soc.rc \
432	device/google/zumapro/conf/init.zuma.soc.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zuma.soc.rc \
433	device/google/zumapro/conf/init.zumapro.board.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zumapro.board.rc
434
435ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
436PRODUCT_COPY_FILES += \
437	device/google/zumapro/conf/init.debug.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.debug.rc
438PRODUCT_COPY_FILES += \
439	device/google/zumapro/conf/init.freq.userdebug.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.freq.userdebug.rc
440endif
441
442# Recovery files
443PRODUCT_COPY_FILES += \
444	device/google/zumapro/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.zumapro.rc \
445	device/google/zumapro/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.zuma.rc
446
447# Fstab files
448PRODUCT_PACKAGES += \
449	fstab.zuma \
450	fstab.zumapro \
451	fstab.zuma.vendor_ramdisk \
452	fstab.zumapro.vendor_ramdisk \
453	fstab.zuma-fips \
454	fstab.zumapro-fips \
455	fstab.zuma-fips.vendor_ramdisk \
456	fstab.zumapro-fips.vendor_ramdisk
457
458PRODUCT_COPY_FILES += \
459	device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist \
460	device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.modem:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.modem
461
462# Shell scripts
463PRODUCT_PACKAGES += \
464	disable_contaminant_detection.sh
465
466include device/google/gs-common/insmod/insmod.mk
467
468# Insmod config files
469PRODUCT_COPY_FILES += \
470	$(call find-copy-subdir-files,init.insmod.*.cfg,$(TARGET_KERNEL_DIR),$(TARGET_COPY_OUT_VENDOR_DLKM)/etc)
471
472# For creating dtbo image
473PRODUCT_HOST_PACKAGES += \
474	mkdtimg
475
476PRODUCT_PACKAGES += \
477	messaging
478
479# CHRE
480## tools
481ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
482PRODUCT_PACKAGES += \
483	chre_power_test_client \
484	chre_test_client \
485	chre_aidl_hal_client
486endif
487
488# PCIe
489ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
490PRODUCT_PACKAGES += \
491	factory_pcie
492endif
493
494## hal
495include device/google/gs-common/chre/hal.mk
496PRODUCT_COPY_FILES += \
497	frameworks/native/data/etc/android.hardware.context_hub.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.context_hub.xml
498
499## Enable the CHRE Daemon
500CHRE_USF_DAEMON_ENABLED := false
501PRODUCT_PACKAGES += \
502	preloaded_nanoapps.json
503
504# Filesystem management tools
505PRODUCT_PACKAGES += \
506	linker.vendor_ramdisk \
507	tune2fs.vendor_ramdisk \
508	resize2fs.vendor_ramdisk
509
510# Userdata Checkpointing OTA GC
511PRODUCT_PACKAGES += \
512	checkpoint_gc
513
514# Vendor verbose logging default property
515ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
516PRODUCT_PROPERTY_OVERRIDES += \
517	persist.vendor.verbose_logging_enabled=true
518else
519PRODUCT_PROPERTY_OVERRIDES += \
520	persist.vendor.verbose_logging_enabled=false
521endif
522
523# CP Logging properties
524PRODUCT_PROPERTY_OVERRIDES += \
525	ro.vendor.sys.modem.logging.loc = /data/vendor/slog \
526	persist.vendor.sys.silentlog.tcp = "On" \
527	ro.vendor.cbd.modem_removable = "1" \
528	ro.vendor.cbd.modem_type = "s5100sit" \
529	persist.vendor.sys.modem.logging.br_num=10 \
530	persist.vendor.sys.modem.logging.enable=true
531
532# Enable silent CP crash handling
533ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
534PRODUCT_PROPERTY_OVERRIDES += \
535	persist.vendor.ril.crash_handling_mode=1
536else
537PRODUCT_PROPERTY_OVERRIDES += \
538	persist.vendor.ril.crash_handling_mode=2
539endif
540
541# Add support dual SIM mode
542PRODUCT_PROPERTY_OVERRIDES += \
543	persist.vendor.radio.multisim_switch_support=true
544
545# RPMB TA
546PRODUCT_PACKAGES += \
547	tlrpmb
548
549# Touch firmware
550#PRODUCT_COPY_FILES += \
551	device/google/zumapro/firmware/touch/s6sy761.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/s6sy761.fw
552# Touch
553PRODUCT_COPY_FILES += \
554	frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml
555
556# Sensors
557PRODUCT_COPY_FILES += \
558	frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
559	frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \
560	frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
561	frameworks/native/data/etc/android.hardware.sensor.dynamic.head_tracker.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.dynamic.head_tracker.xml \
562	frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
563	frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \
564	frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml\
565	frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
566	frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
567	frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml
568
569# Add sensor HAL AIDL product packages
570PRODUCT_PACKAGES += android.hardware.sensors-service.multihal
571
572# USB HAL
573PRODUCT_PACKAGES += \
574	android.hardware.usb-service
575PRODUCT_PACKAGES += \
576	android.hardware.usb.gadget-service
577
578ifneq (,$(filter ripcurrentpro, $(TARGET_PRODUCT)))
579PRODUCT_PACKAGES += usb_service_init_rc_i2c11
580else
581PRODUCT_PACKAGES += usb_service_init_rc_i2c6
582endif
583
584# MIDI feature
585PRODUCT_COPY_FILES += \
586	frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml
587
588# default usb debug functions
589ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
590PRODUCT_PROPERTY_OVERRIDES += \
591	persist.vendor.usb.usbradio.config=dm
592endif
593
594# adpf 16ms update rate
595PRODUCT_PRODUCT_PROPERTIES += \
596        vendor.powerhal.adpf.rate=16666666
597
598PRODUCT_COPY_FILES += \
599	device/google/zumapro/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
600
601-include hardware/google/pixel/power-libperfmgr/aidl/device.mk
602
603# IRQ rebalancing.
604include hardware/google/pixel/rebalance_interrupts/rebalance_interrupts.mk
605
606# PowerStats HAL
607PRODUCT_PACKAGES += \
608	android.hardware.power.stats-service.pixel
609
610#
611# Audio HALs
612#
613
614# Audio Configurations
615#USE_LEGACY_LOCAL_AUDIO_HAL := false
616#USE_XML_AUDIO_POLICY_CONF := 1
617
618# Enable AAudio MMAP/NOIRQ data path.
619PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_policy=2
620PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_exclusive_policy=2
621PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000
622
623# Calliope firmware overwrite
624#PRODUCT_COPY_FILES += \
625	device/google/zumapro/firmware/calliope_dram.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/calliope_dram.bin \
626	device/google/zumapro/firmware/calliope_sram.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/calliope_sram.bin \
627	device/google/zumapro/firmware/calliope_dram_2.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/calliope_dram_2.bin \
628	device/google/zumapro/firmware/calliope_sram_2.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/calliope_sram_2.bin \
629	device/google/zumapro/firmware/calliope2.dt:$(TARGET_COPY_OUT_VENDOR)/firmware/calliope2.dt \
630
631# Cannot reference variables defined in BoardConfig.mk, uncomment this if
632# BOARD_USE_OFFLOAD_AUDIO and BOARD_USE_OFFLOAD_EFFECT are true
633## AudioEffectHAL library
634#PRODUCT_PACKAGES += \
635#	libexynospostprocbundle
636
637# Cannot reference variables defined in BoardConfig.mk, uncomment this if
638# BOARD_USE_SOUNDTRIGGER_HAL is true
639#PRODUCT_PACKAGES += \
640#	sound_trigger.primary.maran9820
641
642# A-Box Service Daemon
643#PRODUCT_PACKAGES += main_abox
644
645# Libs
646PRODUCT_PACKAGES += \
647	com.android.future.usb.accessory
648
649PRODUCT_PACKAGES += \
650	android.hardware.memtrack-service.pixel \
651	libion_exynos \
652	libion
653
654PRODUCT_PACKAGES += \
655	libhwjpeg
656
657# Video Editor
658PRODUCT_PACKAGES += \
659	VideoEditorGoogle
660
661# WideVine modules
662include device/google/zumapro/widevine/device.mk
663PRODUCT_PACKAGES += \
664	liboemcrypto \
665
666RIPCURRENTPRO_PRODUCT := %ripcurrentpro
667ifneq (,$(filter $(RIPCURRENTPRO_PRODUCT), $(TARGET_PRODUCT)))
668        LOCAL_TARGET_PRODUCT := ripcurrentpro
669else
670        # WAR: continue defaulting to slider build on zumapro
671        LOCAL_TARGET_PRODUCT := slider
672endif
673
674include device/google/gs-common/camera/lyric.mk
675
676$(call soong_config_set,lyric,soc,zumapro)
677# lyric::tuning_product is set in device-specific makefiles,
678# such as device/google/${DEVICE}/device-${DEVICE}.mk
679
680# WiFi
681PRODUCT_PACKAGES += \
682	android.hardware.wifi-service \
683	wificond \
684	libwpa_client
685
686# Connectivity
687PRODUCT_PACKAGES += \
688        ConnectivityOverlay
689
690PRODUCT_PACKAGES_DEBUG += \
691	f2fs_io \
692	check_f2fs \
693	f2fs.fibmap \
694	dump.f2fs
695
696# Storage health HAL
697PRODUCT_PACKAGES += \
698	android.hardware.health.storage-service.default
699
700# Battery Mitigation
701include device/google/gs-common/battery_mitigation/bcl.mk
702# storage pixelstats
703-include hardware/google/pixel/pixelstats/device.mk
704
705# Enable project quotas and casefolding for emulated storage without sdcardfs
706$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
707
708$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/android_t_baseline.mk)
709PRODUCT_VIRTUAL_AB_COMPRESSION_METHOD := lz4
710
711# Enforce generic ramdisk allow list
712$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_ramdisk.mk)
713
714# Titan-M
715ifeq (,$(filter true, $(BOARD_WITHOUT_DTLS)))
716include device/google/gs-common/dauntless/gsc.mk
717endif
718
719PRODUCT_PACKAGES_DEBUG += \
720	WvInstallKeybox
721
722# Copy Camera HFD Setfiles
723#PRODUCT_COPY_FILES += \
724	device/google/zumapro/firmware/camera/libhfd/default_configuration.hfd.cfg.json:$(TARGET_COPY_OUT_VENDOR)/firmware/default_configuration.hfd.cfg.json \
725	device/google/zumapro/firmware/camera/libhfd/pp_cfg.json:$(TARGET_COPY_OUT_VENDOR)/firmware/pp_cfg.json \
726	device/google/zumapro/firmware/camera/libhfd/tracker_cfg.json:$(TARGET_COPY_OUT_VENDOR)/firmware/tracker_cfg.json \
727	device/google/zumapro/firmware/camera/libhfd/WithLightFixNoBN.SDNNmodel:$(TARGET_COPY_OUT_VENDOR)/firmware/WithLightFixNoBN.SDNNmodel
728
729# WiFi
730PRODUCT_COPY_FILES += \
731	frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
732	frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
733	frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \
734	frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
735	frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml
736
737PRODUCT_COPY_FILES += \
738	frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
739	frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml
740
741PRODUCT_COPY_FILES += \
742	frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
743	frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
744	frameworks/native/data/etc/android.hardware.camera.concurrent.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.concurrent.xml \
745	frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml\
746	frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml\
747
748#PRODUCT_COPY_FILES += \
749	frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
750	frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
751	frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
752	frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
753
754PRODUCT_COPY_FILES += \
755	frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \
756	frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
757
758PRODUCT_COPY_FILES += \
759	frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \
760
761PRODUCT_PROPERTY_OVERRIDES += \
762	debug.slsi_platform=1 \
763	debug.hwc.winupdate=1
764
765ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
766PRODUCT_PACKAGES += displaycolor_service
767endif
768
769PRODUCT_PROPERTY_OVERRIDES += \
770	debug.sf.disable_backpressure=0 \
771	debug.sf.enable_gl_backpressure=1 \
772	debug.sf.enable_sdr_dimming=1 \
773        debug.sf.dim_in_gamma_in_enhanced_screenshots=1
774
775# Camera
776PRODUCT_PROPERTY_OVERRIDES += \
777	vendor.camera.multicam.enable_p23_multicam=true
778
779PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.use_phase_offsets_as_durations=1
780PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.late.sf.duration=10500000
781PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.late.app.duration=16600000
782PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.early.sf.duration=16600000
783PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.early.app.duration=16600000
784PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.earlyGl.sf.duration=16600000
785PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.earlyGl.app.duration=16600000
786PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.frame_rate_multiple_threshold=120
787PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.treat_170m_as_sRGB=1
788PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.hwc_hotplug_error_via_neg_vsync=1
789PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.hwc_hdcp_via_neg_vsync=1
790
791PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.enable_layer_caching=true
792PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms?=80
793PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_touch_timer_ms=200
794PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_display_power_timer_ms=1000
795PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.use_content_detection_for_refresh_rate=true
796PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.max_frame_buffer_acquired_buffers=3
797
798PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.supports_background_blur=1
799PRODUCT_SYSTEM_PROPERTIES += ro.launcher.blur.appLaunch=0
800
801# Must align with HAL types Dataspace
802# The data space of wide color gamut composition preference is Dataspace::DISPLAY_P3
803PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.wcg_composition_dataspace=143261696
804
805# Display
806PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.has_wide_color_display=true
807PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.has_HDR_display=true
808PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.use_color_management=true
809PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.protected_contents=true
810PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.display_update_imminent_timeout_ms=50
811# Disable dimming by default
812PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.0.brightness.dimming.usage?=2
813PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.1.brightness.dimming.usage?=2
814
815PRODUCT_PROPERTY_OVERRIDES += \
816	persist.sys.sf.native_mode=2
817PRODUCT_COPY_FILES += \
818	device/google/zumapro/display/display_colordata_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_cal0.pb
819
820# limit DPP downscale ratio
821PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.hwc.dpp.downscale=4
822
823# Cannot reference variables defined in BoardConfig.mk, uncomment this if
824# BOARD_USES_EXYNOS_DSS_FEATURE is true
825## set the dss enable status setup
826#PRODUCT_PROPERTY_OVERRIDES += \
827#        ro.exynos.dss=1
828
829# Cannot reference variables defined in BoardConfig.mk, uncomment this if
830# BOARD_USES_EXYNOS_AFBC_FEATURE is true
831# set the dss enable status setup
832PRODUCT_PROPERTY_OVERRIDES += \
833	ro.vendor.ddk.set.afbc=1
834
835PRODUCT_CHARACTERISTICS := nosdcard
836
837# WIFI COEX
838PRODUCT_COPY_FILES += \
839	device/google/zumapro/wifi/coex_table.xml:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/coex_table.xml
840
841PRODUCT_PACKAGES += hostapd
842PRODUCT_PACKAGES += wpa_supplicant
843PRODUCT_PACKAGES += wpa_supplicant.conf
844
845WIFI_PRIV_CMD_UPDATE_MBO_CELL_STATUS := enabled
846
847ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
848PRODUCT_PACKAGES += wpa_cli
849PRODUCT_PACKAGES += hostapd_cli
850endif
851
852####################################
853## VIDEO
854####################################
855
856# Video
857# 1. Codec 2.0
858# for settings used by different C2 hal
859include device/google/gs-common/mediacodec/common/mediacodec_common.mk
860# for Exynos C2 Hal
861include device/google/gs-common/mediacodec/samsung/mediacodec_samsung.mk
862# for Bigwave C2 Hal
863include device/google/gs-common/mediacodec/bigwave/mediacodec_bigwave.mk
864$(call soong_config_set,bigw,soc,zuma)
865
866PRODUCT_COPY_FILES += \
867	device/google/zumapro/media_codecs_performance_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml \
868
869PRODUCT_PROPERTY_OVERRIDES += \
870       debug.stagefright.c2-poolmask=458752 \
871       debug.c2.use_dmabufheaps=1 \
872       media.c2.dmabuf.padding=512 \
873       debug.stagefright.ccodec_delayed_params=1 \
874       ro.vendor.gpu.dataspace=1
875
876# Create input surface on the framework side
877PRODUCT_PROPERTY_OVERRIDES += \
878	debug.stagefright.c2inputsurface=-1 \
879
880PRODUCT_PROPERTY_OVERRIDES += media.c2.hal.selection=aidl
881
882# 2. OpenMAX IL
883PRODUCT_COPY_FILES += \
884	device/google/zumapro/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
885	device/google/zumapro/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml
886####################################
887
888# Telephony
889#PRODUCT_COPY_FILES += \
890	frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml
891
892# CBD (CP booting deamon)
893CBD_USE_V2 := true
894CBD_PROTOCOL_SIT := true
895
896# setup dalvik vm configs.
897$(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk)
898
899PRODUCT_TAGS += dalvik.gc.type-precise
900
901# Exynos OpenVX framework
902PRODUCT_PACKAGES += \
903		libexynosvision
904
905ifeq ($(TARGET_USES_CL_KERNEL),true)
906PRODUCT_PACKAGES += \
907	libopenvx-opencl
908endif
909
910# Trusty (KM, GK, Storage)
911$(call inherit-product, system/core/trusty/trusty-storage.mk)
912$(call inherit-product, system/core/trusty/trusty-base.mk)
913
914# Trusty unit test tool
915PRODUCT_PACKAGES_DEBUG += \
916    trusty-ut-ctrl \
917    tipc-test \
918    trusty_stats_test \
919
920# Remove confirmation UI (b/316160738)
921# include device/google/gs101/confirmationui/confirmationui.mk
922
923# Trusty Metrics Daemon
924PRODUCT_SOONG_NAMESPACES += \
925	vendor/google/trusty/common
926
927PRODUCT_PACKAGES += \
928	trusty_metricsd
929
930$(call soong_config_set,google_displaycolor,displaycolor_platform,zuma)
931PRODUCT_PACKAGES += \
932	android.hardware.composer.hwc3-service.pixel \
933	libdisplaycolor \
934	libdisplaypanel
935
936# Storage: for factory reset protection feature
937PRODUCT_PROPERTY_OVERRIDES += \
938	ro.frp.pst=/dev/block/by-name/frp
939
940# System props to enable Bluetooth Quality Report (BQR) feature
941ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
942PRODUCT_PRODUCT_PROPERTIES += \
943	persist.bluetooth.bqr.event_mask?=262174 \
944	persist.bluetooth.bqr.min_interval_ms=500
945else
946PRODUCT_PRODUCT_PROPERTIES += \
947	persist.bluetooth.bqr.event_mask?=30 \
948	persist.bluetooth.bqr.min_interval_ms=500
949endif
950
951#VNDK
952PRODUCT_PACKAGES += \
953	vndk-libs
954
955PRODUCT_ENFORCE_RRO_TARGETS := \
956	framework-res
957
958# Dynamic Partitions
959PRODUCT_USE_DYNAMIC_PARTITIONS := true
960
961# Use FUSE passthrough
962PRODUCT_PRODUCT_PROPERTIES += \
963	persist.sys.fuse.passthrough.enable=true
964
965# Use /product/etc/fstab.postinstall to mount system_other
966PRODUCT_PRODUCT_PROPERTIES += \
967	ro.postinstall.fstab.prefix=/product
968
969PRODUCT_COPY_FILES += \
970	device/google/zumapro/conf/fstab.postinstall:$(TARGET_COPY_OUT_PRODUCT)/etc/fstab.postinstall
971
972# fastbootd
973PRODUCT_PACKAGES += \
974	android.hardware.fastboot@1.1-impl.pixel \
975	fastbootd
976
977#google iwlan
978PRODUCT_PACKAGES += \
979	Iwlan
980
981#Iwlan test app for userdebug/eng builds
982ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
983PRODUCT_PACKAGES += \
984	IwlanTestApp
985endif
986
987PRODUCT_PACKAGES += \
988	whitelist \
989	libstagefright_hdcp \
990	libskia_opt
991
992#PRODUCT_PACKAGES += \
993	mfc_fw.bin \
994	calliope_sram.bin \
995	calliope_dram.bin \
996	calliope_iva.bin \
997	vts.bin
998
999# This will be called only if IMSService is building with source code for dev branches.
1000$(call inherit-product-if-exists, vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)/shannon-ims/device-vendor.mk)
1001
1002PRODUCT_PACKAGES += ShannonIms
1003
1004PRODUCT_PACKAGES += ShannonRcs
1005
1006# Exynos RIL and telephony
1007# Multi SIM(DSDS)
1008SIM_COUNT := 2
1009SUPPORT_MULTI_SIM := true
1010# Support NR
1011SUPPORT_NR := true
1012# Support 5G on both stacks
1013SUPPORT_NR_DS := true
1014# Using IRadio 2.1
1015USE_RADIO_HAL_2_1 := true
1016# Using Early Send Device Info
1017USE_EARLY_SEND_DEVICE_INFO := true
1018
1019#$(call inherit-product, vendor/google_devices/telephony/common/device-vendor.mk)
1020#$(call inherit-product, vendor/google_devices/zumapro/proprietary/device-vendor.mk)
1021
1022$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
1023#$(call inherit-product, hardware/google_devices/exynos5/exynos5.mk)
1024#$(call inherit-product-if-exists, hardware/google_devices/zumapro/zumapro.mk)
1025#$(call inherit-product-if-exists, vendor/google_devices/common/exynos-vendor.mk)
1026#$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4375/device-bcm.mk)
1027include device/google/gs-common/sensors/sensors.mk
1028# Zuma Pro USF configuration is identical to Zuma
1029$(call soong_config_set,usf,target_soc,zuma)
1030
1031PRODUCT_COPY_FILES += \
1032	device/google/zumapro/default-permissions.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions.xml \
1033	device/google/zumapro/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml \
1034	frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
1035
1036# Vibrator Diag
1037PRODUCT_PACKAGES_DEBUG += \
1038	diag-vibrator \
1039	diag-vibrator-cs40l25a \
1040	diag-vibrator-drv2624 \
1041	$(NULL)
1042
1043PRODUCT_PACKAGES += \
1044	android.hardware.health-service.zumapro \
1045	android.hardware.health-service.zumapro_recovery \
1046
1047# Audio
1048# Audio HAL Server & Default Implementations
1049ifeq ($(USE_AUDIO_HAL_AIDL),true)
1050include device/google/gs-common/audio/aidl.mk
1051else
1052include device/google/gs-common/audio/hidl_zuma.mk
1053endif
1054
1055## AoC soong
1056PRODUCT_SOONG_NAMESPACES += \
1057        vendor/google/whitechapel/aoc
1058
1059$(call soong_config_set,aoc,target_soc,zumapro)
1060$(call soong_config_set,aoc,target_product,$(TARGET_PRODUCT))
1061
1062#
1063## Audio properties
1064PRODUCT_PROPERTY_OVERRIDES += \
1065	persist.vendor.audio.cca.unsupported=false
1066
1067PRODUCT_PROPERTY_OVERRIDES += \
1068	ro.config.vc_call_vol_steps=7 \
1069	ro.audio.monitorRotation = true \
1070	ro.audio.offload_wakelock=false
1071
1072ifneq (,$(OVERRIDE_MEDIA_VOLUME_STEPS))
1073PRODUCT_PROPERTY_OVERRIDES += \
1074	ro.config.media_vol_steps=$(OVERRIDE_MEDIA_VOLUME_STEPS)
1075else
1076PRODUCT_PROPERTY_OVERRIDES += \
1077	ro.config.media_vol_steps=25
1078endif
1079
1080# vndservicemanager and vndservice no longer included in API 30+, however needed by vendor code.
1081# See b/148807371 for reference
1082PRODUCT_PACKAGES += vndservicemanager
1083PRODUCT_PACKAGES += vndservice
1084
1085## TinyTools, debug tool and cs35l41 speaker calibration tool for Audio
1086ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
1087PRODUCT_PACKAGES += \
1088	tinyplay \
1089	tinycap \
1090	tinymix \
1091	tinypcminfo \
1092	tinyhostless \
1093	cplay \
1094	aoc_hal \
1095	aoc_tuning_inft \
1096	mahal_test \
1097	ma_aoc_tuning_test \
1098	crus_sp_cal \
1099	pixel_ti_cal
1100endif
1101
1102PRODUCT_PACKAGES += \
1103	google.hardware.media.c2@1.0-service \
1104	libgc2_store \
1105	libgc2_base \
1106	libgc2_av1_dec \
1107	libbo_av1 \
1108	libgc2_cwl \
1109	libgc2_utils
1110
1111## Start packet router
1112include device/google/gs101/telephony/pktrouter.mk
1113
1114# Thermal HAL
1115PRODUCT_PROPERTY_OVERRIDES += persist.vendor.enable.thermal.genl=true
1116
1117# EdgeTPU
1118include device/google/gs-common/edgetpu/edgetpu.mk
1119# Config variables for TPU chip on device.
1120$(call soong_config_set,edgetpu_config,chip,rio_pro)
1121# Include the edgetpu targets defined the namespaces below into the final image.
1122PRODUCT_SOONG_NAMESPACES += \
1123	vendor/google_devices/zumapro/proprietary/gchips/tpu/metrics \
1124	vendor/google_devices/zumapro/proprietary/gchips/tpu/tflite_delegate \
1125	vendor/google_devices/zumapro/proprietary/gchips/tpu/darwinn_logging_service \
1126	vendor/google_devices/zumapro/proprietary/gchips/tpu/nnapi_stable_aidl \
1127	vendor/google_devices/zumapro/proprietary/gchips/tpu/aidl \
1128	vendor/google_devices/zumapro/proprietary/gchips/tpu/hal \
1129	vendor/google_devices/zumapro/proprietary/gchips/tpu/tachyon/api \
1130	vendor/google_devices/zumapro/proprietary/gchips/tpu/tachyon/service
1131# TPU firmware
1132PRODUCT_PACKAGES += edgetpu-rio.fw
1133
1134# Connectivity Thermal Power Manager
1135PRODUCT_PACKAGES += \
1136	ConnectivityThermalPowerManager
1137
1138# A/B support
1139PRODUCT_PACKAGES += \
1140	otapreopt_script \
1141	cppreopts.sh \
1142	update_engine \
1143	update_engine_sideload \
1144	update_verifier
1145
1146# pKVM
1147$(call inherit-product, packages/modules/Virtualization/apex/product_packages.mk)
1148PRODUCT_BUILD_PVMFW_IMAGE := true
1149
1150# Enable to build standalone vendor_kernel_boot image.
1151PRODUCT_BUILD_VENDOR_KERNEL_BOOT_IMAGE := true
1152
1153# Enable watchdog timeout loop breaker.
1154PRODUCT_PROPERTY_OVERRIDES += \
1155	framework_watchdog.fatal_window.second=600 \
1156	framework_watchdog.fatal_count=3
1157
1158# Enable zygote critical window.
1159PRODUCT_PROPERTY_OVERRIDES += \
1160	zygote.critical_window.minute=10
1161
1162# Suspend properties
1163PRODUCT_PROPERTY_OVERRIDES += \
1164    suspend.short_suspend_threshold_millis=5000
1165
1166# Enable Incremental on the device
1167PRODUCT_PROPERTY_OVERRIDES += \
1168	ro.incremental.enable=true
1169
1170# Project
1171include hardware/google/pixel/common/pixel-common-device.mk
1172
1173# RadioExt Version
1174USES_RADIOEXT_V1_7 = true
1175
1176# Wifi ext
1177include hardware/google/pixel/wifi_ext/device.mk
1178
1179# Battery Stats Viewer
1180PRODUCT_PACKAGES_DEBUG += BatteryStatsViewer
1181
1182# Install product specific framework compatibility matrix
1183# (TODO: b/169535506) This includes the FCM for system_ext and product partition.
1184# It must be split into the FCM of each partition.
1185DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/zumapro/device_framework_matrix_product.xml
1186
1187# Keymint configuration
1188PRODUCT_COPY_FILES += \
1189    frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml \
1190    frameworks/native/data/etc/android.hardware.device_unique_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.device_unique_attestation.xml
1191
1192# Call deleteAllKeys if vold detects a factory reset
1193PRODUCT_VENDOR_PROPERTIES += ro.crypto.metadata_init_delete_all_keys.enabled?=true
1194
1195# Use HCTR2 for filenames encryption on adoptable storage.
1196PRODUCT_PROPERTY_OVERRIDES += \
1197    ro.crypto.volume.options=aes-256-xts:aes-256-hctr2
1198
1199# Hardware Info Collection
1200include hardware/google/pixel/HardwareInfo/HardwareInfo.mk
1201
1202# UFS: the script is used to select the corresponding firmware to run FFU.
1203PRODUCT_PACKAGES_DEBUG += ufs_firmware_update.sh
1204
1205ifneq ($(BOARD_WITHOUT_RADIO),true)
1206# RIL extension service
1207ifeq (,$(filter aosp_% factory_%,$(TARGET_PRODUCT)))
1208include device/google/gs-common/pixel_ril/ril.mk
1209endif
1210endif
1211
1212SUPPORT_VENDOR_SATELLITE_SERVICE := true
1213
1214# Telephony satellite geofence data file
1215PRODUCT_COPY_FILES += \
1216        device/google/zumapro/telephony/sats2.dat:$(TARGET_COPY_OUT_VENDOR)/etc/telephony/sats2.dat
1217
1218# Touch service
1219include device/google/gs-common/touch/twoshay/aidl_zuma.mk
1220include device/google/gs-common/touch/twoshay/twoshay.mk
1221
1222PRODUCT_CHECK_VENDOR_SEAPP_VIOLATIONS := true
1223
1224PRODUCT_CHECK_DEV_TYPE_VIOLATIONS := true
1225
1226# Enable Android Messages satellite conversation feature.
1227# TODO(b/322518837): Remove the property override once the flag is launched.
1228PRODUCT_PROPERTY_OVERRIDES += \
1229    debug.bugle.enable_emergency_satellite_messaging=true
1230
1231# Allow longer timeout for incident report generation in bugreport
1232# Overriding in /product partition instead of /vendor intentionally,
1233# since it can't be overridden from /vendor.
1234PRODUCT_PRODUCT_PROPERTIES += \
1235	dumpstate.strict_run=false
1236