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