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