1# 2# Copyright (C) 2021 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 17TARGET_KERNEL_DIR ?= device/google/pantah-kernel 18TARGET_BOARD_KERNEL_HEADERS := device/google/pantah-kernel/kernel-headers 19 20$(call inherit-product-if-exists, vendor/google_devices/pantah/prebuilts/device-vendor-cheetah.mk) 21$(call inherit-product-if-exists, vendor/google_devices/gs201/prebuilts/device-vendor.mk) 22$(call inherit-product-if-exists, vendor/google_devices/gs201/proprietary/device-vendor.mk) 23$(call inherit-product-if-exists, vendor/google_devices/pantah/proprietary/cheetah/device-vendor-cheetah.mk) 24$(call inherit-product-if-exists, vendor/google_devices/cheetah/proprietary/device-vendor.mk) 25$(call inherit-product-if-exists, vendor/google_devices/pantah/proprietary/WallpapersCheetah.mk) 26 27DEVICE_PACKAGE_OVERLAYS += device/google/pantah/cheetah/overlay 28 29include device/google/pantah/audio/cheetah/audio-tables.mk 30include device/google/gs201/device-shipping-common.mk 31include hardware/google/pixel/vibrator/cs40l26/device.mk 32include device/google/gs-common/bcmbt/bluetooth.mk 33include device/google/gs-common/touch/syna/syna0.mk 34 35ifeq ($(filter factory_cheetah, $(TARGET_PRODUCT)),) 36include device/google/pantah/uwb/uwb_calibration.mk 37endif 38 39# go/lyric-soong-variables 40$(call soong_config_set,lyric,camera_hardware,cheetah) 41$(call soong_config_set,lyric,tuning_product,cheetah) 42$(call soong_config_set,google3a_config,target_device,cheetah) 43 44PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.support_kernel_idle_timer=true 45PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.ignore_hdr_camera_layers=true 46 47# Init files 48PRODUCT_COPY_FILES += \ 49 device/google/pantah/conf/init.pantah.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.pantah.rc \ 50 device/google/pantah/conf/init.cheetah.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.cheetah.rc 51 52# Recovery files 53PRODUCT_COPY_FILES += \ 54 device/google/pantah/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.cheetah.rc 55 56# insmod files 57PRODUCT_COPY_FILES += \ 58 device/google/pantah/init.insmod.cheetah.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/init.insmod.cheetah.cfg 59 60# MIPI Coex Configs 61PRODUCT_COPY_FILES += \ 62 device/google/pantah/cheetah/radio/cheetah_display_primary_osc_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/display_primary_osc_coex_table.csv \ 63 device/google/pantah/cheetah/radio/cheetah_camera_rear_tele_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/camera_rear_tele_mipi_coex_table.csv \ 64 device/google/pantah/cheetah/radio/cheetah_camera_front_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/camera_front_mipi_coex_table.csv \ 65 device/google/pantah/cheetah/radio/cheetah_camera_front_dbr_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/camera_front_dbr_coex_table.csv 66 67# Camera 68PRODUCT_COPY_FILES += \ 69 device/google/pantah/media_profiles_cheetah.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml 70 71# Media Performance Class 13 72PRODUCT_PROPERTY_OVERRIDES += ro.odm.build.media_performance_class=33 73 74# Display Config 75PRODUCT_COPY_FILES += \ 76 device/google/pantah/cheetah/display_colordata_dev_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_dev_cal0.pb \ 77 device/google/pantah/cheetah/display_colordata_boe-nt37290_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_boe-nt37290_cal0.pb \ 78 device/google/pantah/cheetah/display_colordata_sdc-s6e3hc3-c10_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_sdc-s6e3hc3-c10_cal0.pb \ 79 device/google/pantah/cheetah/display_colordata_sdc-s6e3hc4_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_sdc-s6e3hc4_cal0.pb \ 80 device/google/pantah/cheetah/display_golden_boe-nt37290_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_golden_boe-nt37290_cal0.pb \ 81 device/google/pantah/cheetah/display_golden_sdc-s6e3hc4_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_golden_sdc-s6e3hc4_cal0.pb 82 83# Display LBE 84PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.lbe.supported=1 85 86# config of display brightness dimming 87PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.0.brightness.dimming.usage=1 88 89# config of primary display frames to reach LHBM peak brightness 90PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.primarydisplay.lhbm.frames_to_reach_peak_brightness=2 91 92# Display RRS default Config 93PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.vendor.display.primary.boot_config=1080x2340@120 94# TODO: b/250788756 - the property will be phased out after HWC loads user-preferred mode 95PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.preferred_mode=1080x2340@120 96 97# NFC 98PRODUCT_COPY_FILES += \ 99 frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \ 100 frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \ 101 frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \ 102 frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \ 103 frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \ 104 device/google/pantah/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \ 105 device/google/pantah/nfc/libnfc-hal-st-proto1.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st-proto1.conf \ 106 device/google/pantah/nfc/libnfc-nci-cheetah.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf 107 108PRODUCT_PACKAGES += \ 109 NfcNci \ 110 Tag \ 111 android.hardware.nfc-service.st 112 113# SecureElement 114PRODUCT_PACKAGES += \ 115 android.hardware.secure_element@1.2-service-gto \ 116 android.hardware.secure_element@1.2-service-gto-ese2 117 118PRODUCT_COPY_FILES += \ 119 frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \ 120 frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \ 121 device/google/pantah/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf \ 122 device/google/pantah/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf 123 124DEVICE_MANIFEST_FILE += \ 125 device/google/pantah/nfc/manifest_se.xml 126 127# Thermal Config 128PRODUCT_COPY_FILES += \ 129 device/google/pantah/thermal_info_config_cheetah.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \ 130 device/google/pantah/thermal_info_config_charge_cheetah.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_charge.json \ 131 device/google/pantah/thermal_info_config_proto.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_proto.json 132 133# Power HAL config 134PRODUCT_COPY_FILES += \ 135 device/google/pantah/powerhint-cheetah.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json 136PRODUCT_COPY_FILES += \ 137 device/google/pantah/powerhint-cheetah-a0.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint-a0.json 138 139# Bluetooth HAL 140PRODUCT_COPY_FILES += \ 141 device/google/pantah/bluetooth/bt_vendor_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor_overlay.conf 142PRODUCT_PROPERTY_OVERRIDES += \ 143 ro.bluetooth.a2dp_offload.supported=true \ 144 persist.bluetooth.a2dp_offload.disabled=false \ 145 persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac-opus 146 147# Bluetooth hci_inject test tool 148PRODUCT_PACKAGES_DEBUG += \ 149 hci_inject 150 151# Bluetooth OPUS codec 152PRODUCT_PRODUCT_PROPERTIES += \ 153 persist.bluetooth.opus.enabled=true 154 155# Bluetooth Tx power caps 156PRODUCT_COPY_FILES += \ 157 device/google/pantah/bluetooth/bluetooth_power_limits_cheetah.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits.csv \ 158 device/google/pantah/bluetooth/bluetooth_power_limits_cheetah_GFE4J_JP.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GFE4J_JP.csv \ 159 device/google/pantah/bluetooth/bluetooth_power_limits_cheetah_GP4BC_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GP4BC_CA.csv \ 160 device/google/pantah/bluetooth/bluetooth_power_limits_cheetah_GE2AE_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GE2AE_EU.csv \ 161 device/google/pantah/bluetooth/bluetooth_power_limits_cheetah_GP4BC_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GP4BC_EU.csv \ 162 device/google/pantah/bluetooth/bluetooth_power_limits_cheetah_GE2AE_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GE2AE_US.csv \ 163 device/google/pantah/bluetooth/bluetooth_power_limits_cheetah_GP4BC_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GP4BC_US.csv 164 165# Bluetooth SAR test tool 166PRODUCT_PACKAGES_DEBUG += \ 167 sar_test 168 169PRODUCT_PRODUCT_PROPERTIES += \ 170 persist.bluetooth.firmware.selection=BCM.hcd 171 172# Bluetooth AAC VBR 173PRODUCT_PRODUCT_PROPERTIES += \ 174 persist.bluetooth.a2dp_aac.vbr_supported=true 175 176# Override BQR mask to enable LE Audio Choppy report, remove BTRT logging 177ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 178PRODUCT_PRODUCT_PROPERTIES += \ 179 persist.bluetooth.bqr.event_mask=262238 180else 181PRODUCT_PRODUCT_PROPERTIES += \ 182 persist.bluetooth.bqr.event_mask=94 183endif 184 185# Bluetooth LE Audio 186PRODUCT_PRODUCT_PROPERTIES += \ 187 ro.bluetooth.leaudio_offload.supported=true \ 188 persist.bluetooth.leaudio_offload.disabled=false \ 189 ro.bluetooth.leaudio_switcher.supported=true \ 190 bluetooth.profile.bap.unicast.client.enabled?=true \ 191 bluetooth.profile.csip.set_coordinator.enabled?=true \ 192 bluetooth.profile.hap.client.enabled?=true \ 193 bluetooth.profile.mcp.server.enabled?=true \ 194 bluetooth.profile.ccp.server.enabled?=true \ 195 bluetooth.profile.vcp.controller.enabled?=true \ 196 197# Bluetooth LE Audio CIS handover to SCO 198# Set the property only if the controller doesn't support CIS and SCO 199# simultaneously. More details in b/242908683. 200PRODUCT_PRODUCT_PROPERTIES += \ 201 persist.bluetooth.leaudio.notify.idle.during.call=true 202 203# BT controller not able to support LE Audio dual mic SWB call 204PRODUCT_PRODUCT_PROPERTIES += \ 205 bluetooth.leaudio.dual_bidirection_swb.supported=false 206 207# LE Auido Offload Capabilities setting 208PRODUCT_COPY_FILES += \ 209 device/google/pantah/bluetooth/le_audio_codec_capabilities.xml:$(TARGET_COPY_OUT_VENDOR)/etc/le_audio_codec_capabilities.xml 210 211# Bluetooth EWP test tool 212PRODUCT_PACKAGES_DEBUG += \ 213 ewp_tool 214# default BDADDR for EVB only 215PRODUCT_PROPERTY_OVERRIDES += \ 216 ro.vendor.bluetooth.evb_bdaddr="22:22:22:33:44:55" 217 218# Spatial Audio 219PRODUCT_PACKAGES += \ 220 libspatialaudio 221 222# declare use of spatial audio 223PRODUCT_PROPERTY_OVERRIDES += \ 224 ro.audio.spatializer_enabled=true 225 226# optimize spatializer effect 227PRODUCT_PROPERTY_OVERRIDES += \ 228 audio.spatializer.effect.util_clamp_min=300 229 230# Keymaster HAL 231#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service 232 233# Gatekeeper HAL 234#LOCAL_GATEKEEPER_PRODUCT_PACKAGE ?= android.hardware.gatekeeper@1.0-service.software 235 236 237# Gatekeeper 238# PRODUCT_PACKAGES += \ 239# android.hardware.gatekeeper@1.0-service.software 240 241# Keymint replaces Keymaster 242# PRODUCT_PACKAGES += \ 243# android.hardware.security.keymint-service 244 245# Keymaster 246#PRODUCT_PACKAGES += \ 247# android.hardware.keymaster@4.0-impl \ 248# android.hardware.keymaster@4.0-service 249 250#PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.remote 251#PRODUCT_PACKAGES += android.hardware.keymaster@4.1-service.remote 252#LOCAL_KEYMASTER_PRODUCT_PACKAGE := android.hardware.keymaster@4.1-service 253#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service 254 255# PRODUCT_PROPERTY_OVERRIDES += \ 256# ro.hardware.keystore_desede=true \ 257# ro.hardware.keystore=software \ 258# ro.hardware.gatekeeper=software 259 260# PowerStats HAL 261PRODUCT_SOONG_NAMESPACES += \ 262 device/google/pantah/powerstats/cheetah \ 263 device/google/pantah 264 265# Fingerprint HAL 266GOODIX_CONFIG_BUILD_VERSION := g7_trusty 267include device/google/gs101/fingerprint/udfps_common.mk 268ifeq ($(filter factory%, $(TARGET_PRODUCT)),) 269include device/google/gs101/fingerprint/udfps_shipping.mk 270else 271include device/google/gs101/fingerprint/udfps_factory.mk 272endif 273 274PRODUCT_PACKAGES += \ 275 UwbOverlayC10 \ 276 WifiOverlay2022_C10 277 278PRODUCT_SOONG_NAMESPACES += device/google/pantah/cheetah/ 279 280# Trusty liboemcrypto.so 281PRODUCT_SOONG_NAMESPACES += vendor/google_devices/pantah/prebuilts 282 283# Location 284ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 285 PRODUCT_COPY_FILES += \ 286 device/google/pantah/location/gps.xml.c10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml \ 287 device/google/pantah/location/lhd.conf.c10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \ 288 device/google/pantah/location/scd.conf.c10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf 289else 290 PRODUCT_COPY_FILES += \ 291 device/google/pantah/location/gps_user.xml.c10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml \ 292 device/google/pantah/location/lhd_user.conf.c10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \ 293 device/google/pantah/location/scd_user.conf.c10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf 294endif 295 296# Set support one-handed mode 297PRODUCT_PRODUCT_PROPERTIES += \ 298 ro.support_one_handed_mode=true 299 300# Set zram size 301PRODUCT_VENDOR_PROPERTIES += \ 302 vendor.zram.size=3g 303 304# Increment the SVN for any official public releases 305PRODUCT_VENDOR_PROPERTIES += \ 306 ro.vendor.build.svn=42 307 308# DCK properties based on target 309PRODUCT_PROPERTY_OVERRIDES += \ 310 ro.gms.dck.eligible_wcc=3 \ 311 ro.gms.dck.se_capability=1 312 313# Set support hide display cutout feature 314PRODUCT_PRODUCT_PROPERTIES += \ 315 ro.support_hide_display_cutout=true 316 317PRODUCT_PACKAGES += \ 318 NoCutoutOverlay \ 319 AvoidAppsInCutoutOverlay 320 321# SKU specific RROs 322PRODUCT_PACKAGES += \ 323 SettingsOverlayGFE4J \ 324 SettingsOverlayGE2AE \ 325 SettingsOverlayGP4BC 326 327# userdebug specific 328ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 329 PRODUCT_COPY_FILES += \ 330 device/google/gs201/init.hardware.wlc.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.wlc.rc 331endif 332 333# Fingerprint HAL 334PRODUCT_VENDOR_PROPERTIES += \ 335 persist.vendor.udfps.als_feed_forward_supported=true \ 336 persist.vendor.udfps.lhbm_controlled_in_hal_supported=true 337 338# Vibrator HAL 339ACTUATOR_MODEL := luxshare_ict_081545 340ADAPTIVE_HAPTICS_FEATURE := adaptive_haptics_v1 341PRODUCT_VENDOR_PROPERTIES += \ 342 ro.vendor.vibrator.hal.chirp.enabled=0 \ 343 ro.vendor.vibrator.hal.device.mass=0.214 \ 344 ro.vendor.vibrator.hal.loc.coeff=2.7 \ 345 persist.vendor.vibrator.hal.context.enable=false \ 346 persist.vendor.vibrator.hal.context.scale=60 \ 347 persist.vendor.vibrator.hal.context.fade=true \ 348 persist.vendor.vibrator.hal.context.cooldowntime=1600 \ 349 persist.vendor.vibrator.hal.context.settlingtime=5000 350 351# Keyboard bottom and side padding in dp for portrait mode and height ratio 352PRODUCT_PRODUCT_PROPERTIES += \ 353 ro.com.google.ime.kb_pad_port_b=8 \ 354 ro.com.google.ime.kb_pad_port_l=11 \ 355 ro.com.google.ime.kb_pad_port_r=11 \ 356 ro.com.google.ime.height_ratio=1.025 357 358# Enable camera exif model/make reporting 359PRODUCT_VENDOR_PROPERTIES += \ 360 persist.vendor.camera.exif_reveal_make_model=true \ 361 persist.vendor.camera.front_720P_always_binning=true 362 363# RKPD 364PRODUCT_PRODUCT_PROPERTIES += \ 365 remote_provisioning.enable_rkpd=true \ 366 remote_provisioning.hostname=remoteprovisioning.googleapis.com \ 367 368##Audio Vendor property 369PRODUCT_PROPERTY_OVERRIDES += \ 370 persist.vendor.audio.cca.enabled=false 371 372# The default value of this variable is false and should only be set to true when 373# the device allows users to enable the seamless transfer feature. 374PRODUCT_PRODUCT_PROPERTIES += \ 375 euicc.seamless_transfer_enabled_in_non_qs=true 376 377# Device features 378PRODUCT_COPY_FILES += \ 379 frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml 380 381# Disable Settings large-screen optimization enabled by Window Extensions 382PRODUCT_SYSTEM_PROPERTIES += \ 383 persist.settings.large_screen_opt.enabled=false 384 385# Enable DeviceAsWebcam support 386PRODUCT_VENDOR_PROPERTIES += \ 387 ro.usb.uvc.enabled=true 388 389# Quick Start device-specific settings 390PRODUCT_PRODUCT_PROPERTIES += \ 391 ro.quick_start.oem_id=00e0 \ 392 ro.quick_start.device_id=cheetah 393