1 # 2 # Copyright (C) 2018 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 17 LOCAL_PATH := device/google/coral 18 19 PRODUCT_VENDOR_MOVE_ENABLED := true 20 21 PRODUCT_SOONG_NAMESPACES += \ 22 hardware/google/av \ 23 hardware/google/camera \ 24 hardware/google/interfaces \ 25 hardware/google/pixel \ 26 device/google/coral \ 27 hardware/qcom/sm8150/display \ 28 hardware/qcom/sm8150/data/ipacfg-mgr \ 29 hardware/qcom/sm8150/gps \ 30 vendor/google/airbrush/floral \ 31 vendor/google/biometrics/face/florence \ 32 vendor/google/camera \ 33 vendor/google/darwinn \ 34 vendor/google_devices/common/proprietary/confirmatioui_hal \ 35 vendor/google_nos/host/android \ 36 vendor/qcom/sm8150 \ 37 vendor/qcom/sm8150/proprietary/commonsys/telephony-apps/DataStatusNotification \ 38 vendor/qcom/sm8150/proprietary/gps \ 39 vendor/qcom/sm8150/proprietary/qmi \ 40 vendor/qcom/sm8150/codeaurora/location \ 41 vendor/google/interfaces \ 42 vendor/google_nos/test/system-test-harness 43 44 # Include sensors soong namespace 45 PRODUCT_SOONG_NAMESPACES += \ 46 vendor/qcom/sensors \ 47 vendor/google/tools/sensors 48 49 # Single vendor RIL/Telephony/data with SM7250 50 DEVICE_USES_SM7250_QCRIL_TELEPHONY := true 51 52 ifeq ($(DEVICE_USES_SM7250_QCRIL_TELEPHONY), true) 53 PRODUCT_SOONG_NAMESPACES += \ 54 vendor/qcom/sm7250/codeaurora/commonsys/telephony/ims/ims-ext-common \ 55 vendor/qcom/sm7250/codeaurora/dataservices/rmnetctl \ 56 vendor/qcom/sm7250/proprietary/commonsys/qcrilOemHook \ 57 vendor/qcom/sm7250/proprietary/commonsys/telephony-apps/ims \ 58 vendor/qcom/sm7250/proprietary/commonsys/telephony-apps/QtiTelephonyService \ 59 vendor/qcom/sm7250/proprietary/commonsys/telephony-apps/xdivert \ 60 vendor/qcom/sm7250/proprietary/qcril-data-hal \ 61 vendor/qcom/sm7250/proprietary/qcril-hal \ 62 vendor/qcom/sm7250/proprietary/data 63 else 64 $(warning DEVICE_USES_SM7250_QCRIL_TELEPHONY is disabled) 65 66 PRODUCT_SOONG_NAMESPACES += \ 67 vendor/qcom/sm8150/codeaurora/telephony/ims \ 68 vendor/qcom/sm8150/proprietary/qcril-data-hal \ 69 vendor/qcom/sm8150/proprietary/qcril-hal 70 endif 71 72 PRODUCT_PROPERTY_OVERRIDES += \ 73 keyguard.no_require_sim=true 74 75 # enable cal by default on accel sensor 76 PRODUCT_PRODUCT_PROPERTIES += \ 77 persist.vendor.debug.sensors.accel_cal=1 78 79 # The default value of this variable is false and should only be set to true when 80 # the device allows users to retain eSIM profiles after factory reset of user data. 81 PRODUCT_PRODUCT_PROPERTIES += \ 82 masterclear.allow_retain_esim_profiles_after_fdr=true 83 84 PRODUCT_COPY_FILES += \ 85 device/google/coral/default-permissions.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions.xml \ 86 device/google/coral/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml \ 87 frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \ 88 frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml 89 90 # Enforce privapp-permissions whitelist 91 PRODUCT_PROPERTY_OVERRIDES += \ 92 ro.control_privapp_permissions=enforce 93 94 PRODUCT_PACKAGES += \ 95 messaging 96 97 TARGET_PRODUCT_PROP := $(LOCAL_PATH)/product.prop 98 99 $(call inherit-product, $(LOCAL_PATH)/utils.mk) 100 101 # Installs gsi keys into ramdisk, to boot a developer GSI with verified boot. 102 $(call inherit-product, $(SRC_TARGET_DIR)/product/developer_gsi_keys.mk) 103 104 ifeq ($(wildcard vendor/google_devices/coral/proprietary/device-vendor-coral.mk),) 105 BUILD_WITHOUT_VENDOR := true 106 endif 107 108 ifeq ($(TARGET_PREBUILT_KERNEL),) 109 LOCAL_KERNEL := device/google/coral-kernel/Image.lz4 110 else 111 LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL) 112 endif 113 PRODUCT_VENDOR_KERNEL_HEADERS := device/google/coral-kernel/sm8150/kernel-headers 114 115 116 PRODUCT_CHARACTERISTICS := nosdcard 117 PRODUCT_SHIPPING_API_LEVEL := 29 118 119 # Enforce native interfaces of product partition as VNDK 120 PRODUCT_PRODUCT_VNDK_VERSION := current 121 122 DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay 123 124 # 125 PRODUCT_COPY_FILES += \ 126 $(LOCAL_KERNEL):kernel \ 127 $(LOCAL_PATH)/fstab.hardware:$(TARGET_COPY_OUT_RECOVERY)/root/first_stage_ramdisk/fstab.$(PRODUCT_PLATFORM) \ 128 $(LOCAL_PATH)/fstab.hardware:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.$(PRODUCT_PLATFORM) \ 129 $(LOCAL_PATH)/fstab.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist \ 130 $(LOCAL_PATH)/init.hardware.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).rc \ 131 $(LOCAL_PATH)/init.power.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).power.rc \ 132 $(LOCAL_PATH)/init.radio.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.radio.sh \ 133 $(LOCAL_PATH)/init.hardware.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).usb.rc \ 134 $(LOCAL_PATH)/init.insmod.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.insmod.sh \ 135 $(LOCAL_PATH)/init.sensors.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.sensors.sh \ 136 $(LOCAL_PATH)/thermal-engine-$(PRODUCT_HARDWARE)-normal_mode.conf:$(TARGET_COPY_OUT_VENDOR)/etc/thermal-engine-$(PRODUCT_HARDWARE)-normal_mode.conf \ 137 $(LOCAL_PATH)/thermal-engine-$(PRODUCT_HARDWARE)-retail_mode.conf:$(TARGET_COPY_OUT_VENDOR)/etc/thermal-engine-$(PRODUCT_HARDWARE)-retail_mode.conf \ 138 $(LOCAL_PATH)/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \ 139 $(LOCAL_PATH)/init.ramoops.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ramoops.sh 140 141 142 MSM_VIDC_TARGET_LIST := msmnile # Get the color format from kernel headers 143 MASTER_SIDE_CP_TARGET_LIST := msmnile # ION specific settings 144 145 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 146 PRODUCT_COPY_FILES += \ 147 $(LOCAL_PATH)/init.hardware.mpssrfs.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).mpssrfs.rc 148 PRODUCT_COPY_FILES += \ 149 $(LOCAL_PATH)/init.hardware.diag.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).diag.rc 150 PRODUCT_COPY_FILES += \ 151 $(LOCAL_PATH)/init.hardware.wlc.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.$(PRODUCT_PLATFORM).wlc.rc 152 PRODUCT_COPY_FILES += \ 153 $(LOCAL_PATH)/init.hardware.userdebug.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.$(PRODUCT_PLATFORM).userdebug.rc 154 else 155 PRODUCT_COPY_FILES += \ 156 $(LOCAL_PATH)/init.hardware.mpssrfs.rc.user:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).mpssrfs.rc 157 PRODUCT_COPY_FILES += \ 158 $(LOCAL_PATH)/init.hardware.diag.rc.user:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).diag.rc 159 endif 160 161 # Enable CAT by default 162 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 163 PRODUCT_COPY_FILES += \ 164 $(LOCAL_PATH)/init.cat.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.cat.rc 165 endif 166 167 # A/B support 168 PRODUCT_PACKAGES += \ 169 otapreopt_script \ 170 cppreopts.sh \ 171 update_engine \ 172 update_verifier 173 174 # Use Sdcardfs 175 PRODUCT_PRODUCT_PROPERTIES += \ 176 ro.sys.sdcardfs=1 177 178 PRODUCT_PACKAGES += \ 179 bootctrl.msmnile \ 180 bootctrl.msmnile.recovery 181 182 PRODUCT_PROPERTY_OVERRIDES += \ 183 ro.cp_system_other_odex=1 184 185 AB_OTA_POSTINSTALL_CONFIG += \ 186 RUN_POSTINSTALL_system=true \ 187 POSTINSTALL_PATH_system=system/bin/otapreopt_script \ 188 FILESYSTEM_TYPE_system=ext4 \ 189 POSTINSTALL_OPTIONAL_system=true 190 191 AB_OTA_POSTINSTALL_CONFIG += \ 192 RUN_POSTINSTALL_vendor=true \ 193 POSTINSTALL_PATH_vendor=bin/checkpoint_gc \ 194 FILESYSTEM_TYPE_vendor=ext4 \ 195 POSTINSTALL_OPTIONAL_vendor=true 196 197 PRODUCT_PACKAGES += \ 198 update_engine_sideload 199 200 PRODUCT_PACKAGES_DEBUG += \ 201 sg_write_buffer \ 202 f2fs_io \ 203 check_f2fs 204 205 PRODUCT_PROPERTY_OVERRIDES += \ 206 ro.crypto.volume.filenames_mode=aes-256-cts 207 208 # Userdata Checkpointing OTA GC 209 PRODUCT_PACKAGES += \ 210 checkpoint_gc 211 212 # The following modules are included in debuggable builds only. 213 PRODUCT_PACKAGES_DEBUG += \ 214 bootctl \ 215 r.vendor \ 216 update_engine_client 217 218 PRODUCT_COPY_FILES += \ 219 frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \ 220 frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \ 221 frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml\ 222 frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml\ 223 frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \ 224 frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \ 225 frameworks/native/data/etc/android.hardware.biometrics.face.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.biometrics.face.xml\ 226 frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \ 227 frameworks/native/data/etc/android.hardware.sensor.assist.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.assist.xml \ 228 frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \ 229 frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \ 230 frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \ 231 frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \ 232 frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \ 233 frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \ 234 frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml \ 235 frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \ 236 frameworks/native/data/etc/android.hardware.context_hub.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.context_hub.xml \ 237 frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \ 238 frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \ 239 frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \ 240 frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \ 241 frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ 242 frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \ 243 frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \ 244 frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \ 245 frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \ 246 frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml \ 247 frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \ 248 frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ 249 frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ 250 frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \ 251 frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \ 252 frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \ 253 frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \ 254 frameworks/native/data/etc/android.hardware.reboot_escrow.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.reboot_escrow.xml \ 255 frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \ 256 frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ 257 frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \ 258 frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \ 259 frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ 260 frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \ 261 frameworks/native/data/etc/android.hardware.telephony.carrierlock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.carrierlock.xml \ 262 frameworks/native/data/etc/android.hardware.strongbox_keystore.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.strongbox_keystore.xml \ 263 frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \ 264 frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \ 265 frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \ 266 frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \ 267 frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \ 268 269 # Audio fluence, ns, aec property, voice and media volume steps 270 PRODUCT_PROPERTY_OVERRIDES += \ 271 ro.vendor.audio.sdk.fluencetype=fluencepro \ 272 persist.vendor.audio.fluence.voicecall=true \ 273 persist.vendor.audio.fluence.speaker=true \ 274 persist.vendor.audio.fluence.voicecomm=true \ 275 persist.vendor.audio.fluence.voicerec=false \ 276 ro.config.vc_call_vol_steps=7 \ 277 ro.config.media_vol_steps=25 \ 278 279 # Audio Features 280 PRODUCT_PROPERTY_OVERRIDES += \ 281 vendor.audio.feature.external_dsp.enable=true \ 282 vendor.audio.feature.external_speaker.enable=true \ 283 vendor.audio.feature.concurrent_capture.enable=false \ 284 vendor.audio.feature.a2dp_offload.enable=true \ 285 vendor.audio.feature.hfp.enable=true \ 286 vendor.audio.feature.hwdep_cal.enable=true \ 287 vendor.audio.feature.incall_music.enable=true \ 288 vendor.audio.feature.maxx_audio.enable=true \ 289 vendor.audio.feature.spkr_prot.enable=true \ 290 vendor.audio.feature.usb_offload.enable=true \ 291 vendor.audio.feature.audiozoom.enable=true \ 292 vendor.audio.feature.snd_mon.enable=true \ 293 vendor.audio.feature.multi_voice_session.enable=true \ 294 vendor.audio.capture.enforce_legacy_copp_sr=true \ 295 persist.vendor.audio_hal.dsp_bit_width_enforce_mode=24 \ 296 vendor.audio.offload.gapless.enabled=true \ 297 298 # MaxxAudio effect and add rotation monitor 299 PRODUCT_PROPERTY_OVERRIDES += \ 300 ro.audio.monitorRotation=true 301 302 # Iaxxx streming and factory binary 303 PRODUCT_PACKAGES += \ 304 libtunnel \ 305 libodsp \ 306 adnc_strm.primary.default 307 # Add Oslo test for debug rom 308 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 309 PRODUCT_PACKAGES += \ 310 tunneling_hal_test \ 311 sensor_param_test \ 312 oslo_config_test \ 313 oslo_data_injection_test \ 314 oslo_get_stats \ 315 odsp_api_test \ 316 crash_event_logger \ 317 dump_debug_info \ 318 get_pwr_stats \ 319 crash_trigger_test 320 endif 321 322 # graphics 323 PRODUCT_PROPERTY_OVERRIDES += \ 324 ro.opengles.version=196610 325 326 PRODUCT_PROPERTY_OVERRIDES += \ 327 ro.vendor.display.foss=1 \ 328 ro.vendor.display.paneltype=2 \ 329 ro.vendor.display.sensortype=2 \ 330 vendor.display.foss.config=1 \ 331 vendor.display.foss.config_path=/vendor/etc/FOSSConfig.xml \ 332 vendor.display.qdcm.mode_combine=1 333 334 PRODUCT_PROPERTY_OVERRIDES += \ 335 vendor.display.defer_fps_frame_count=2 \ 336 vendor.display.primary_vsyncs_rate_change=2 337 338 # camera google face detection 339 PRODUCT_PROPERTY_OVERRIDES += \ 340 persist.camera.googfd.enable=1 341 342 # camera hal buffer management 343 PRODUCT_PROPERTY_OVERRIDES += \ 344 persist.camera.managebuffer.enable=1 345 346 # Lets the vendor library that Google Camera HWL is enabled 347 PRODUCT_PROPERTY_OVERRIDES += \ 348 persist.camera.google_hwl.enabled=true \ 349 persist.camera.google_hwl.name=libgooglecamerahwl_impl.so 350 351 # OEM Unlock reporting 352 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 353 ro.oem_unlock_supported=1 354 355 PRODUCT_PROPERTY_OVERRIDES += \ 356 persist.vendor.cne.feature=1 \ 357 persist.vendor.data.iwlan.enable=true \ 358 persist.vendor.radio.RATE_ADAPT_ENABLE=1 \ 359 persist.vendor.radio.ROTATION_ENABLE=1 \ 360 persist.vendor.radio.VT_ENABLE=1 \ 361 persist.vendor.radio.VT_HYBRID_ENABLE=1 \ 362 persist.vendor.radio.apm_sim_not_pwdn=1 \ 363 persist.vendor.radio.custom_ecc=1 \ 364 persist.vendor.radio.data_ltd_sys_ind=1 \ 365 persist.vendor.radio.videopause.mode=1 \ 366 persist.vendor.radio.mt_sms_ack=30 \ 367 persist.vendor.radio.multisim_switch_support=true \ 368 persist.vendor.radio.sib16_support=1 \ 369 persist.vendor.radio.data_con_rprt=true \ 370 persist.vendor.radio.relay_oprt_change=1 \ 371 persist.vendor.radio.no_wait_for_card=1 \ 372 persist.vendor.radio.sap_silent_pin=1 \ 373 persist.vendor.radio.manual_nw_rej_ct=1 \ 374 persist.rcs.supported=1 \ 375 vendor.rild.libpath=/vendor/lib64/libril-qc-hal-qmi.so \ 376 ro.hardware.keystore_desede=true \ 377 persist.vendor.radio.procedure_bytes=SKIP \ 378 379 # Enable reboot free DSDS 380 PRODUCT_PRODUCT_PROPERTIES += \ 381 persist.radio.reboot_on_modem_change=false 382 383 PRODUCT_PROPERTY_OVERRIDES += \ 384 telephony.active_modems.max_count=2 385 386 # Disable snapshot timer 387 PRODUCT_PROPERTY_OVERRIDES += \ 388 persist.vendor.radio.snapshot_enabled=0 \ 389 persist.vendor.radio.snapshot_timer=0 390 391 PRODUCT_PACKAGES += \ 392 hwcomposer.msmnile \ 393 android.hardware.graphics.composer@2.4-service-sm8150 \ 394 gralloc.msmnile \ 395 android.hardware.graphics.mapper@3.0-impl-qti-display \ 396 android.hardware.graphics.mapper@4.0-impl-qti-display \ 397 vendor.qti.hardware.display.allocator-service 398 399 # RenderScript HAL 400 PRODUCT_PACKAGES += \ 401 android.hardware.renderscript@1.0-impl 402 403 # Light HAL 404 PRODUCT_PACKAGES += \ 405 lights.msmnile \ 406 hardware.google.light@1.1-service 407 408 # Memtrack HAL 409 PRODUCT_PACKAGES += \ 410 memtrack.msmnile \ 411 android.hardware.memtrack@1.0-impl \ 412 android.hardware.memtrack@1.0-service 413 414 # Bluetooth HAL 415 PRODUCT_PACKAGES += \ 416 android.hardware.bluetooth@1.0-impl-qti \ 417 android.hardware.bluetooth@1.0-service-qti 418 419 #Bluetooth SAR HAL 420 PRODUCT_PACKAGES += \ 421 hardware.google.bluetooth.sar@1.0-impl 422 PRODUCT_PACKAGES_DEBUG += \ 423 bluetooth_sar_test 424 425 # Bluetooth SoC 426 PRODUCT_PROPERTY_OVERRIDES += \ 427 vendor.qcom.bluetooth.soc=cherokee 428 429 # Property for loading BDA from device tree 430 PRODUCT_PROPERTY_OVERRIDES += \ 431 ro.vendor.bt.bdaddr_path=/proc/device-tree/chosen/cdt/cdb2/bt_addr 432 433 # Bluetooth WiPower 434 PRODUCT_PROPERTY_OVERRIDES += \ 435 ro.vendor.bluetooth.emb_wp_mode=false \ 436 ro.vendor.bluetooth.wipower=false 437 438 # DRM HAL 439 PRODUCT_PACKAGES += \ 440 android.hardware.drm@1.0-impl \ 441 android.hardware.drm@1.0-service \ 442 android.hardware.drm@1.4-service.clearkey \ 443 android.hardware.drm@1.4-service.widevine 444 445 # NFC and Secure Element packages 446 PRODUCT_PACKAGES += \ 447 NfcNci \ 448 Tag \ 449 SecureElement \ 450 android.hardware.nfc@1.2-service.st \ 451 android.hardware.secure_element@1.0-service.st 452 453 PRODUCT_COPY_FILES += \ 454 device/google/coral/nfc/com.google.hardware.pixel.japan.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_G020N/com.google.hardware.pixel.japan.xml \ 455 device/google/coral/nfc/com.google.hardware.pixel.japan.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_G020Q/com.google.hardware.pixel.japan.xml 456 457 PRODUCT_COPY_FILES += \ 458 device/google/coral/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \ 459 device/google/coral/nfc/libese-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libese-hal-st.conf \ 460 device/google/coral/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf 461 462 PRODUCT_PACKAGES += \ 463 android.hardware.usb@1.3-service.coral 464 465 PRODUCT_PACKAGES += \ 466 android.hardware.health@2.1-impl-coral \ 467 android.hardware.health@2.1-service 468 469 # Storage health HAL 470 PRODUCT_PACKAGES += \ 471 android.hardware.health.storage@1.0-service 472 473 PRODUCT_PACKAGES += \ 474 libmm-omxcore \ 475 libOmxCore \ 476 libstagefrighthw \ 477 libOmxVdec \ 478 libOmxVdecHevc \ 479 libOmxVenc \ 480 libc2dcolorconvert 481 482 # Enable Codec 2.0 483 PRODUCT_PROPERTY_OVERRIDES += \ 484 debug.media.codec2=2 \ 485 debug.stagefright.ccodec=4 \ 486 debug.stagefright.omx_default_rank=512 \ 487 488 # Disable OMX 489 PRODUCT_PROPERTY_OVERRIDES += \ 490 vendor.media.omx=0 \ 491 492 # Create input surface on the framework side 493 PRODUCT_PROPERTY_OVERRIDES += \ 494 debug.stagefright.c2inputsurface=-1 \ 495 496 # Transcoding related property. 497 PRODUCT_PROPERTY_OVERRIDES += \ 498 debug.media.transcoding.codec_max_operating_rate_720P=480 \ 499 debug.media.transcoding.codec_max_operating_rate_1080P=240 \ 500 debug.media.transcoding.codec_max_operating_rate_4k=120 \ 501 502 # Enable ECO service 503 QC2_HAVE_ECO_SERVICE := true 504 505 PRODUCT_PACKAGES += \ 506 libqcodec2 \ 507 vendor.qti.media.c2@1.0-service \ 508 media_codecs_c2.xml \ 509 codec2.vendor.ext.policy \ 510 codec2.vendor.base.policy 511 512 PRODUCT_PROPERTY_OVERRIDES += \ 513 vendor.qc2.venc.avgqp.enable=1 514 515 # To reach target bitrate in CBR mode for IMS VT Call 516 PRODUCT_PROPERTY_OVERRIDES += \ 517 persist.vendor.ims.mm_minqp=1 518 519 PRODUCT_PACKAGES += \ 520 android.hardware.camera.provider@2.7-impl-google \ 521 android.hardware.camera.provider@2.7-service-google \ 522 camera.msmnile \ 523 lib_multicam_dualfov_capture_session \ 524 libgooglecamerahwl_impl \ 525 libqomx_core \ 526 libmmjpeg_interface \ 527 libmmcamera_interface \ 528 libcameradepthcalibrator 529 530 # Google Camera HAL test libraries in debug builds 531 PRODUCT_PACKAGES_DEBUG += \ 532 libgoogle_camera_hal_proprietary_tests \ 533 libgoogle_camera_hal_tests 534 535 PRODUCT_PACKAGES += \ 536 sensors.$(PRODUCT_HARDWARE) \ 537 android.hardware.sensors@2.0-service.multihal \ 538 hals.conf 539 540 PRODUCT_PACKAGES += \ 541 fs_config_dirs \ 542 fs_config_files 543 544 # Context hub HAL 545 PRODUCT_PACKAGES += \ 546 android.hardware.contexthub@1.2-service.generic 547 548 # CHRE tools 549 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 550 PRODUCT_PACKAGES += \ 551 chre_power_test_client \ 552 chre_test_client 553 endif 554 555 # Boot control HAL 556 PRODUCT_PACKAGES += \ 557 android.hardware.boot@1.2-impl-pixel-legacy \ 558 android.hardware.boot@1.2-impl-pixel-legacy.recovery \ 559 android.hardware.boot@1.2-service \ 560 561 # Thermal HAL config 562 PRODUCT_COPY_FILES += \ 563 $(LOCAL_PATH)/thermal_info_config_$(PRODUCT_HARDWARE).json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \ 564 $(LOCAL_PATH)/thermal_info_config_$(PRODUCT_HARDWARE)_jaws.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_jaws.json 565 566 #GNSS HAL 567 PRODUCT_PACKAGES += \ 568 libgps.utils \ 569 libgnss \ 570 libloc_core \ 571 liblocation_api \ 572 libbatching \ 573 libgeofencing \ 574 android.hardware.gnss@2.1-impl-qti \ 575 android.hardware.gnss@2.1-service-qti 576 577 ENABLE_VENDOR_RIL_SERVICE := true 578 579 USE_QCRIL_OEMHOOK := true 580 581 HOSTAPD := hostapd 582 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 583 HOSTAPD += hostapd_cli 584 endif 585 PRODUCT_PACKAGES += $(HOSTAPD) 586 587 WPA := wpa_supplicant.conf 588 WPA += wpa_supplicant_wcn.conf 589 WPA += wpa_supplicant 590 PRODUCT_PACKAGES += $(WPA) 591 592 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 593 PRODUCT_PACKAGES += wpa_cli 594 endif 595 596 # Wifi 597 PRODUCT_PACKAGES += \ 598 android.hardware.wifi@1.0-service \ 599 wificond \ 600 libwpa_client \ 601 WifiOverlay 602 603 # Connectivity 604 PRODUCT_PACKAGES += \ 605 ConnectivityOverlay 606 607 # WLAN driver configuration files 608 PRODUCT_COPY_FILES += \ 609 $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \ 610 $(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \ 611 $(LOCAL_PATH)/wifi_concurrency_cfg.txt:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wifi_concurrency_cfg.txt \ 612 $(LOCAL_PATH)/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini \ 613 614 LIB_NL := libnl_2 615 PRODUCT_PACKAGES += $(LIB_NL) 616 617 # Audio effects 618 PRODUCT_PACKAGES += \ 619 libvolumelistener \ 620 libqcomvisualizer \ 621 libqcomvoiceprocessing \ 622 libqcomvoiceprocessingdescriptors \ 623 libqcompostprocbundle 624 625 PRODUCT_PACKAGES += \ 626 audio.primary.msmnile \ 627 audio.a2dp.default \ 628 audio.usb.default \ 629 audio.r_submix.default \ 630 libaudio-resampler \ 631 audio.hearing_aid.default \ 632 audio.bluetooth.default 633 634 PRODUCT_PACKAGES += \ 635 android.hardware.audio@7.0-impl:32 \ 636 android.hardware.audio.effect@7.0-impl:32 \ 637 android.hardware.soundtrigger@2.3-impl \ 638 android.hardware.bluetooth.audio@2.0-impl \ 639 android.hardware.audio.service 640 641 # Modules for Audio HAL 642 PRODUCT_PACKAGES += \ 643 libcirrusspkrprot \ 644 libsndmonitor \ 645 libmalistener \ 646 liba2dpoffload \ 647 btaudio_offload_if \ 648 libmaxxaudio \ 649 libaudiozoom 650 651 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 652 PRODUCT_PACKAGES += \ 653 tinyplay \ 654 tinycap \ 655 tinymix \ 656 tinypcminfo \ 657 cplay 658 endif 659 660 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 661 PRODUCT_PACKAGES += chre_test_client 662 endif 663 664 # Audio hal xmls 665 PRODUCT_COPY_FILES += \ 666 $(LOCAL_PATH)/audio/mixer_paths_iaxxx_jaws.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_iaxxx_jaws.xml \ 667 $(LOCAL_PATH)/audio/mixer_paths_iaxxx_coral.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_iaxxx_coral.xml \ 668 $(LOCAL_PATH)/audio/mixer_paths_iaxxx_c2proto.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_iaxxx_c2proto.xml \ 669 $(LOCAL_PATH)/audio/mixer_paths_iaxxx_flame.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_iaxxx_flame.xml \ 670 $(LOCAL_PATH)/audio/mixer_paths_iaxxx_f2proto.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_iaxxx_f2proto.xml \ 671 $(LOCAL_PATH)/audio/audio_platform_info_iaxxx_jaws.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_iaxxx_jaws.xml \ 672 $(LOCAL_PATH)/audio/audio_platform_info_iaxxx_coral.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_iaxxx_coral.xml \ 673 $(LOCAL_PATH)/audio/audio_platform_info_iaxxx_c2proto.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_iaxxx_c2proto.xml \ 674 $(LOCAL_PATH)/audio/audio_platform_info_iaxxx_flame.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_iaxxx_flame.xml \ 675 $(LOCAL_PATH)/audio/audio_platform_info_iaxxx_f2proto.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_iaxxx_f2proto.xml \ 676 $(LOCAL_PATH)/audio/sound_trigger_mixer_paths_default.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_default.xml \ 677 $(LOCAL_PATH)/audio/sound_trigger_mixer_paths_jaws.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_jaws.xml \ 678 $(LOCAL_PATH)/audio/sound_trigger_mixer_paths_coral.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_coral.xml \ 679 $(LOCAL_PATH)/audio/sound_trigger_mixer_paths_c2proto.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_c2proto.xml \ 680 $(LOCAL_PATH)/audio/sound_trigger_mixer_paths_flame.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_flame.xml \ 681 $(LOCAL_PATH)/audio/sound_trigger_mixer_paths_f2proto.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_f2proto.xml 682 683 # Audio Policy tables 684 PRODUCT_COPY_FILES += \ 685 $(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ 686 $(LOCAL_PATH)/audio/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_a2dp_offload_disabled.xml \ 687 $(LOCAL_PATH)/audio/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \ 688 $(LOCAL_PATH)/audio/bluetooth_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_hearing_aid_audio_policy_configuration.xml \ 689 $(LOCAL_PATH)/audio/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ 690 $(LOCAL_PATH)/audio/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \ 691 frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration_7_0.xml \ 692 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 \ 693 frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml \ 694 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 \ 695 frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \ 696 frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml 697 698 # Audio ACDB data 699 PRODUCT_COPY_FILES += \ 700 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Bluetooth_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Bluetooth_cal.acdb \ 701 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/General_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/General_cal.acdb \ 702 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Global_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Global_cal.acdb \ 703 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Handset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Handset_cal.acdb \ 704 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Hdmi_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Hdmi_cal.acdb \ 705 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Headset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Headset_cal.acdb \ 706 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Speaker_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Speaker_cal.acdb \ 707 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Codec_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/Codec_cal.acdb \ 708 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Bluetooth_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Bluetooth_cal.acdb \ 709 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/General_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/General_cal.acdb \ 710 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Global_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Global_cal.acdb \ 711 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Handset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Handset_cal.acdb \ 712 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Hdmi_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Hdmi_cal.acdb \ 713 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Headset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Headset_cal.acdb \ 714 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Speaker_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Speaker_cal.acdb \ 715 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Codec_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/Codec_cal.acdb \ 716 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Bluetooth_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Bluetooth_cal.acdb \ 717 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/General_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/General_cal.acdb \ 718 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Global_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Global_cal.acdb \ 719 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Handset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Handset_cal.acdb \ 720 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Hdmi_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Hdmi_cal.acdb \ 721 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Headset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Headset_cal.acdb \ 722 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Speaker_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Speaker_cal.acdb \ 723 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Codec_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/Codec_cal.acdb \ 724 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Bluetooth_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Bluetooth_cal.acdb \ 725 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/General_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/General_cal.acdb \ 726 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Global_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Global_cal.acdb \ 727 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Handset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Handset_cal.acdb \ 728 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Hdmi_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Hdmi_cal.acdb \ 729 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Headset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Headset_cal.acdb \ 730 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Speaker_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Speaker_cal.acdb \ 731 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Codec_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/Codec_cal.acdb \ 732 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Bluetooth_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Bluetooth_cal.acdb \ 733 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/General_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/General_cal.acdb \ 734 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Global_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Global_cal.acdb \ 735 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Handset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Handset_cal.acdb \ 736 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Hdmi_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Hdmi_cal.acdb \ 737 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Headset_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Headset_cal.acdb \ 738 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Speaker_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Speaker_cal.acdb \ 739 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Codec_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/Codec_cal.acdb \ 740 device/google/coral/audio/acdbdata/adsp_avs_config.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/adsp_avs_config.acdb 741 742 743 # Audio ACDB workspace files for QACT 744 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 745 PRODUCT_COPY_FILES += \ 746 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/workspaceFile.qwsp:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-jaws-snd-card/workspaceFile.qwsp \ 747 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/workspaceFile.qwsp:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-coral-snd-card/workspaceFile.qwsp \ 748 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/workspaceFile.qwsp:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-c2proto-snd-card/workspaceFile.qwsp \ 749 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/workspaceFile.qwsp:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-flame-snd-card/workspaceFile.qwsp \ 750 device/google/coral/audio/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/workspaceFile.qwsp:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/OEM/sm8150-iaxxx-f2proto-snd-card/workspaceFile.qwsp 751 endif 752 753 # Audio speaker tunning config data 754 PRODUCT_COPY_FILES += \ 755 device/google/coral/audio/data/crus_sp_config_coral_rx.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/crus_sp_config_coral_rx.bin \ 756 device/google/coral/audio/data/crus_sp_config_coral_tx.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/crus_sp_config_coral_tx.bin \ 757 device/google/coral/audio/data/crus_sp_config_flame_rx.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/crus_sp_config_flame_rx.bin \ 758 device/google/coral/audio/data/crus_sp_config_flame_tx.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/crus_sp_config_flame_tx.bin 759 760 # Audio audiozoom config data 761 PRODUCT_COPY_FILES += \ 762 $(LOCAL_PATH)/audio/audiozoom.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audiozoom.xml 763 764 PRODUCT_COPY_FILES += \ 765 $(LOCAL_PATH)/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ 766 $(LOCAL_PATH)/media_codecs_omx.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_omx.xml \ 767 $(LOCAL_PATH)/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \ 768 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \ 769 frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \ 770 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \ 771 $(LOCAL_PATH)/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml 772 773 774 # Vendor seccomp policy files for media components: 775 PRODUCT_COPY_FILES += \ 776 $(LOCAL_PATH)/seccomp_policy/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy 777 778 PRODUCT_PROPERTY_OVERRIDES += \ 779 vendor.audio.snd_card.open.retries=50 780 781 782 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 783 # Subsystem ramdump 784 PRODUCT_PROPERTY_OVERRIDES += \ 785 persist.vendor.sys.ssr.enable_ramdumps=1 786 endif 787 788 # Subsystem silent restart 789 PRODUCT_PROPERTY_OVERRIDES += \ 790 persist.vendor.sys.ssr.restart_level=modem,slpi,adsp 791 792 # setup dalvik vm configs 793 $(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk) 794 795 # Use the default charger mode images 796 PRODUCT_PACKAGES += \ 797 charger_res_images 798 799 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 800 # b/36703476: Set default log size to 1M 801 PRODUCT_PROPERTY_OVERRIDES += \ 802 ro.logd.size=1M 803 # b/114766334: persist all logs by default rotating on 30 files of 1MiB 804 PRODUCT_PROPERTY_OVERRIDES += \ 805 logd.logpersistd=logcatd \ 806 logd.logpersistd.size=30 807 endif 808 809 # Dumpstate HAL 810 PRODUCT_PACKAGES += \ 811 android.hardware.dumpstate@1.1-service.coral 812 813 # Storage: for factory reset protection feature 814 PRODUCT_PROPERTY_OVERRIDES += \ 815 ro.frp.pst=/dev/block/bootdevice/by-name/frp 816 817 PRODUCT_PACKAGES += \ 818 vndk-sp 819 820 # Override heap growth limit due to high display density on device 821 PRODUCT_PROPERTY_OVERRIDES += \ 822 dalvik.vm.heapgrowthlimit=256m \ 823 824 # Use 64-bit dex2oat for better dexopt time. 825 PRODUCT_PROPERTY_OVERRIDES += \ 826 dalvik.vm.dex2oat64.enabled=true 827 828 PRODUCT_PACKAGES += \ 829 ipacm \ 830 IPACM_cfg.xml 831 832 #Set default CDMA subscription to RUIM 833 PRODUCT_PROPERTY_OVERRIDES += \ 834 ro.telephony.default_cdma_sub=0 835 836 # Set network mode to Global by default and no DSDS/DSDA 837 PRODUCT_PROPERTY_OVERRIDES += \ 838 ro.telephony.default_network=10 839 840 # Set display color mode to Adaptive by default 841 PRODUCT_PROPERTY_OVERRIDES += \ 842 persist.sys.sf.color_saturation=1.0 \ 843 persist.sys.sf.native_mode=2 \ 844 persist.sys.sf.color_mode=9 845 846 # Keymaster configuration 847 PRODUCT_COPY_FILES += \ 848 frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml \ 849 frameworks/native/data/etc/android.hardware.device_unique_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.device_unique_attestation.xml 850 851 # Enable modem logging 852 PRODUCT_PROPERTY_OVERRIDES += \ 853 ro.vendor.radio.log_loc="/data/vendor/modem_dump" \ 854 ro.vendor.radio.log_prefix="modem_log_" 855 856 # Enable modem logging for debug 857 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 858 PRODUCT_PROPERTY_OVERRIDES += \ 859 persist.vendor.sys.modem.diag.mdlog=true 860 else 861 PRODUCT_PROPERTY_OVERRIDES += \ 862 persist.vendor.sys.modem.diag.mdlog=false 863 endif 864 PRODUCT_PROPERTY_OVERRIDES += \ 865 persist.vendor.sys.modem.diag.mdlog_br_num=5 866 867 # Enable tcpdump_logger on userdebug and eng 868 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 869 PRODUCT_PROPERTY_OVERRIDES += \ 870 persist.vendor.tcpdump.log.alwayson=false \ 871 persist.vendor.tcpdump.log.br_num=5 872 endif 873 874 # Preopt SystemUI 875 PRODUCT_DEXPREOPT_SPEED_APPS += \ 876 SystemUIGoogle 877 878 # Enable stats logging in LMKD 879 TARGET_LMKD_STATS_LOG := true 880 881 # default usb oem functions 882 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 883 PRODUCT_PROPERTY_OVERRIDES += \ 884 persist.vendor.usb.usbradio.config=diag 885 endif 886 887 # Enable app/sf phase offset as durations. The numbers below are translated from the existing 888 # positive offsets by finding the duration app/sf will have with the offsets. 889 # For SF the previous value was 6ms which under 16.6ms vsync time (60Hz) will leave SF with ~10.5ms 890 # for each frame. For App the previous value was 2ms which under 16.6ms vsync time will leave the 891 # App with ~20.5ms (16.6ms * 2 - 10.5ms - 2ms). The other values were calculated similarly. 892 # Full comparison between the old vs. the new values are captured in 893 # https://docs.google.com/spreadsheets/d/1a_5cVNY3LUAkeg-yL56rYQNwved6Hy-dvEcKSxp6f8k/edit 894 895 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.use_phase_offsets_as_durations=1 896 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.late.sf.duration=10500000 897 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.late.app.duration=20500000 898 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.early.sf.duration=16000000 899 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.early.app.duration=16500000 900 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.earlyGl.sf.duration=13500000 901 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.earlyGl.app.duration=21000000 902 903 # Enable backpressure for GL comp 904 PRODUCT_PROPERTY_OVERRIDES += \ 905 debug.sf.enable_gl_backpressure=1 906 907 # Enable EGL image tracking on SF for b/137514000 908 PRODUCT_PROPERTY_OVERRIDES += debug.sf.enable_egl_image_tracker=1 909 910 # Do not skip init trigger by default 911 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 912 vendor.skip.init=0 913 914 BOARD_USES_QCNE := true 915 916 #per device 917 PRODUCT_COPY_FILES += \ 918 $(LOCAL_PATH)/coral/init.coral.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.coral.rc \ 919 $(LOCAL_PATH)/flame/init.flame.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.flame.rc 920 921 PRODUCT_COPY_FILES += \ 922 $(LOCAL_PATH)/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config 923 924 # GPS configuration file 925 PRODUCT_COPY_FILES += \ 926 $(LOCAL_PATH)/gps.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gps.conf 927 928 PRODUCT_USE_DYNAMIC_PARTITIONS := true 929 930 # insmod files 931 PRODUCT_COPY_FILES += \ 932 $(LOCAL_PATH)/init.insmod.coral.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/init.insmod.coral.cfg \ 933 $(LOCAL_PATH)/init.insmod.flame.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/init.insmod.flame.cfg 934 935 # Use /product/etc/fstab.postinstall to mount system_other 936 PRODUCT_PRODUCT_PROPERTIES += \ 937 ro.postinstall.fstab.prefix=/product 938 939 PRODUCT_COPY_FILES += \ 940 $(LOCAL_PATH)/fstab.postinstall:$(TARGET_COPY_OUT_PRODUCT)/etc/fstab.postinstall 941 942 # powerstats HAL 943 PRODUCT_PACKAGES += \ 944 android.hardware.power.stats@1.0-service.pixel 945 946 PRODUCT_PACKAGES_DEBUG += \ 947 pwrstats_util 948 949 # Recovery 950 PRODUCT_COPY_FILES += \ 951 $(LOCAL_PATH)/init.recovery.device.rc:recovery/root/init.recovery.coral.rc \ 952 $(LOCAL_PATH)/init.recovery.device.rc:recovery/root/init.recovery.flame.rc 953 954 # Oslo feature flag 955 PRODUCT_PRODUCT_PROPERTIES += \ 956 ro.vendor.aware_available=true 957 958 QTI_TELEPHONY_UTILS := qti-telephony-utils 959 QTI_TELEPHONY_UTILS += qti_telephony_utils.xml 960 PRODUCT_PACKAGES += $(QTI_TELEPHONY_UTILS) 961 962 HIDL_WRAPPER := qti-telephony-hidl-wrapper 963 HIDL_WRAPPER += qti_telephony_hidl_wrapper.xml 964 HIDL_WRAPPER += qti-telephony-hidl-wrapper-prd 965 HIDL_WRAPPER += qti_telephony_hidl_wrapper_prd.xml 966 PRODUCT_PACKAGES += $(HIDL_WRAPPER) 967 968 # Increment the SVN for any official public releases 969 PRODUCT_PROPERTY_OVERRIDES += \ 970 ro.vendor.build.svn=55 971 972 PRODUCT_COPY_FILES += \ 973 $(LOCAL_PATH)/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json 974 975 976 # Disable SPU usage 977 PRODUCT_PROPERTY_OVERRIDES += \ 978 vendor.gatekeeper.disable_spu = true 979 980 # Enable iwlan service logging for debug 981 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 982 PRODUCT_PROPERTY_OVERRIDES += persist.vendor.iwlan.logging.logcat=true 983 endif 984 985 # Vendor verbose logging default property 986 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 987 PRODUCT_PROPERTY_OVERRIDES += \ 988 persist.vendor.verbose_logging_enabled=true 989 else 990 PRODUCT_PROPERTY_OVERRIDES += \ 991 persist.vendor.verbose_logging_enabled=false 992 endif 993 994 # Disable Rescue Party on userdebug & eng build 995 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 996 PRODUCT_PRODUCT_PROPERTIES += \ 997 persist.sys.disable_rescue=true 998 endif 999 1000 # Set support one-handed mode 1001 PRODUCT_PRODUCT_PROPERTIES += \ 1002 ro.support_one_handed_mode=true 1003 1004 # Set system properties identifying the chipset 1005 PRODUCT_VENDOR_PROPERTIES += ro.soc.manufacturer=Qualcomm 1006 PRODUCT_VENDOR_PROPERTIES += ro.soc.model=SM8150 1007 1008 # Security 1009 -include vendor/qcom/sm8150/proprietary/securemsm/config/keymaster_vendor_proprietary_board.mk 1010 -include vendor/qcom/sm8150/proprietary/securemsm/config/keymaster_vendor_proprietary_product.mk 1011 1012 include hardware/google/pixel/common/pixel-common-device.mk 1013 include hardware/google/pixel/vibrator/cs40l25/device.mk 1014 include hardware/google/pixel/pixelstats/device.mk 1015 include hardware/google/pixel/mm/device_legacy.mk 1016 include hardware/google/pixel/thermal/device.mk 1017 1018 # Citadel 1019 include hardware/google/pixel/citadel/citadel.mk 1020 1021 # power HAL 1022 -include hardware/google/pixel/power-libperfmgr/aidl/device.mk 1023 1024 # Pixel Logger 1025 include hardware/google/pixel/PixelLogger/PixelLogger.mk 1026 1027 $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota_retrofit.mk) 1028