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