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