639 lines
24 KiB
Makefile
639 lines
24 KiB
Makefile
#
|
|
# Copyright (C) 2016 The Android Open-Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
# This file includes all definitions that apply to ALL marlin and sailfish devices
|
|
#
|
|
# Everything in this directory will become public
|
|
|
|
ifeq ($(TARGET_PREBUILT_KERNEL),)
|
|
LOCAL_KERNEL := device/google/marlin-kernel/Image.lz4-dtb
|
|
else
|
|
LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
|
|
endif
|
|
|
|
PRODUCT_SHIPPING_API_LEVEL := 25
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
$(LOCAL_KERNEL):kernel
|
|
|
|
DEVICE_PACKAGE_OVERLAYS += device/google/marlin/overlay
|
|
|
|
PRODUCT_ENFORCE_RRO_TARGETS := \
|
|
framework-res
|
|
|
|
# Input device files
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/gpio-keys.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/gpio-keys.kl \
|
|
device/google/marlin/qpnp_pon.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/qpnp_pon.kl \
|
|
device/google/marlin/uinput-fpc.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/uinput-fpc.kl \
|
|
device/google/marlin/uinput-fpc.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/uinput-fpc.idc \
|
|
device/google/marlin/synaptics_dsxv26.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/synaptics_dsxv26.idc \
|
|
frameworks/native/services/vr/virtual_touchpad/idc/vr-virtual-touchpad-0.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/vr-virtual-touchpad-0.idc \
|
|
frameworks/native/services/vr/virtual_touchpad/idc/vr-virtual-touchpad-1.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/vr-virtual-touchpad-1.idc \
|
|
|
|
# copy customized media_profiles and media_codecs xmls for msm8996
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
|
|
device/google/marlin/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
|
|
device/google/marlin/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml
|
|
|
|
# Override heap growth limit due to high display density on device
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
dalvik.vm.heapgrowthlimit=256m \
|
|
ro.telephony.default_cdma_sub=0
|
|
|
|
$(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk)
|
|
$(call inherit-product, device/google/marlin/common/common64.mk)
|
|
|
|
#Android EGL implementation
|
|
PRODUCT_PACKAGES += libGLES_android
|
|
PRODUCT_PACKAGES += SSRestartDetector
|
|
|
|
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
|
PRODUCT_PACKAGES += TelephonyMonitor
|
|
endif
|
|
|
|
# graphics
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
ro.opengles.version=196610
|
|
|
|
# b/68017541
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
ro.qcom.adreno.qgl.ShaderStorageImageExtendedFormats=0
|
|
|
|
# HWUI common settings
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
ro.hwui.gradient_cache_size=1 \
|
|
ro.hwui.drop_shadow_cache_size=6 \
|
|
ro.hwui.r_buffer_cache_size=8 \
|
|
ro.hwui.texture_cache_flushrate=0.4 \
|
|
ro.hwui.text_small_cache_width=1024 \
|
|
ro.hwui.text_small_cache_height=1024 \
|
|
ro.hwui.text_large_cache_width=2048 \
|
|
ro.hwui.text_large_cache_height=1024
|
|
|
|
# For android_filesystem_config.h
|
|
PRODUCT_PACKAGES += fs_config_files \
|
|
fs_config_dirs
|
|
|
|
# Audio configuration
|
|
USE_XML_AUDIO_POLICY_CONF := 1
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/audio_output_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_output_policy.conf \
|
|
device/google/marlin/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
|
|
device/google/marlin/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
|
|
device/google/marlin/mixer_paths_tasha_t50.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tasha_t50.xml \
|
|
device/google/marlin/aanc_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/aanc_tuning_mixer.txt \
|
|
device/google/marlin/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml \
|
|
device/google/marlin/sound_trigger_mixer_paths_tasha_t50.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_tasha_t50.xml \
|
|
device/google/marlin/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \
|
|
device/google/marlin/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \
|
|
device/google/marlin/audio_platform_info_tasha_t50.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_tasha_t50.xml \
|
|
device/google/marlin/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
|
|
device/google/marlin/audio_policy_volumes_drc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes_drc.xml \
|
|
frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
|
|
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
|
|
frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
|
|
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
|
|
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \
|
|
frameworks/native/data/etc/android.hardware.vulkan.level-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
|
|
frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml
|
|
|
|
# Enable AAudio MMAP/NOIRQ data path.
|
|
# 2 is AAUDIO_POLICY_AUTO so it will try MMAP then fallback to Legacy path.
|
|
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_policy=2
|
|
# Allow EXCLUSIVE then fall back to SHARED.
|
|
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_exclusive_policy=2
|
|
|
|
# Increase the apparent size of a hardware burst from 1 msec to 2 msec.
|
|
# A "burst" is the number of frames processed at one time.
|
|
# That is an increase from 48 to 96 frames at 48000 Hz.
|
|
# The DSP will still be bursting at 48 frames but AAudio will think the burst is 96 frames.
|
|
# A low number, like 48, might increase power consumption or stress the system.
|
|
PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000
|
|
|
|
PRODUCT_FULL_TREBLE_OVERRIDE := true
|
|
PRODUCT_COMPATIBILITY_MATRIX_LEVEL_OVERRIDE := 27
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.audio@2.0-service \
|
|
android.hardware.bluetooth@1.0-service \
|
|
android.hardware.contexthub@1.0-service \
|
|
android.hardware.gnss@1.0-service \
|
|
android.hardware.drm@1.0-service \
|
|
android.hardware.light@2.0-service \
|
|
android.hardware.memtrack@1.0-service \
|
|
android.hardware.nfc@1.0-service \
|
|
android.hardware.power@1.1-service.marlin \
|
|
android.hardware.sensors@1.0-service \
|
|
android.hardware.vr@1.0-service \
|
|
|
|
PRODUCT_PROPERTY_OVERRIDES += ro.hardware.power=marlin
|
|
|
|
# RenderScript HAL
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.renderscript@1.0-impl
|
|
|
|
# Light HAL
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.light@2.0-impl
|
|
|
|
# Keymaster HAL
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.keymaster@3.0-impl \
|
|
android.hardware.keymaster@3.0-service
|
|
|
|
# Usb HAL
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.usb@1.1-service.marlin
|
|
|
|
# Audio effects
|
|
PRODUCT_PACKAGES += \
|
|
libqcomvisualizer \
|
|
libqcomvoiceprocessing \
|
|
libqcomvoiceprocessingdescriptors \
|
|
libqcompostprocbundle
|
|
|
|
PRODUCT_PACKAGES += \
|
|
sound_trigger.primary.msm8996
|
|
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.audio@2.0-impl \
|
|
android.hardware.audio.effect@2.0-impl \
|
|
android.hardware.soundtrigger@2.0-impl
|
|
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.drm@1.0-impl
|
|
|
|
PRODUCT_PACKAGES += \
|
|
netutils-wrapper-1.0
|
|
|
|
# set audio fluence, ns, aec property
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
ro.qc.sdk.audio.fluencetype=fluencepro \
|
|
persist.audio.fluence.voicecall=true \
|
|
persist.audio.fluence.speaker=true \
|
|
persist.audio.fluence.voicecomm=true \
|
|
persist.audio.fluence.voicerec=false
|
|
|
|
# WLAN driver configuration files
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
|
|
device/google/marlin/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \
|
|
device/google/marlin/WCNSS_cfg.dat:$(TARGET_COPY_OUT_VENDOR)/firmware/wlan/qca_cld/WCNSS_cfg.dat \
|
|
device/google/marlin/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini
|
|
|
|
# MIDI feature
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml
|
|
|
|
# Audio low latency feature
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
|
|
|
|
# Pro audio feature
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml
|
|
|
|
# Camera
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
|
|
frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
|
|
frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
|
|
frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml
|
|
|
|
# Dumpstate HAL
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.dumpstate@1.0-service.marlin
|
|
|
|
# Wi-Fi
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.wifi@1.0-service \
|
|
libwpa_client \
|
|
hostapd \
|
|
wificond \
|
|
wifilogd \
|
|
wpa_supplicant \
|
|
wpa_supplicant.conf
|
|
|
|
#ANT+ stack
|
|
PRODUCT_PACKAGES += \
|
|
AntHalService \
|
|
libantradio \
|
|
antradio_app \
|
|
libvolumelistener
|
|
|
|
# Sensor features
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
|
|
frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
|
|
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
|
|
frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
|
|
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
|
|
frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \
|
|
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
|
|
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml \
|
|
frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml
|
|
|
|
# VR features
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.vr.high_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vr.high_performance.xml \
|
|
frameworks/native/data/etc/android.hardware.vr.headtracking-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vr.headtracking.xml \
|
|
|
|
# new gatekeeper HAL
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.gatekeeper@1.0-impl \
|
|
android.hardware.gatekeeper@1.0-service
|
|
|
|
# Common sensor packages
|
|
TARGET_USES_NANOHUB_SENSORHAL := true
|
|
NANOHUB_SENSORHAL_LID_STATE_ENABLED := true
|
|
NANOHUB_SENSORHAL_SENSORLIST := $(LOCAL_PATH)/sensorhal/sensorlist.cpp
|
|
NANOHUB_SENSORHAL_DIRECT_REPORT_ENABLED := true
|
|
NANOHUB_SENSORHAL_DYNAMIC_SENSOR_EXT_ENABLED := true
|
|
|
|
PRODUCT_PACKAGES += \
|
|
context_hub.default \
|
|
android.hardware.sensors@1.0-impl \
|
|
android.hardware.contexthub@1.0-impl \
|
|
|
|
PRODUCT_PACKAGES += \
|
|
nanoapp_cmd
|
|
|
|
# sensor utilities (only for userdebug and eng builds)
|
|
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
|
PRODUCT_PACKAGES += \
|
|
nanotool \
|
|
sensortest
|
|
endif
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config
|
|
|
|
PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/platform/soc/624000.ufshc/by-name/system
|
|
|
|
#FEATURE_OPENGLES_EXTENSION_PACK support string config file
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml
|
|
|
|
# MSM IRQ Balancer configuration file
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/msm_irqbalance.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance.conf
|
|
|
|
# init scripts
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/init.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.rc \
|
|
device/google/marlin/init.common.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.usb.rc \
|
|
device/google/marlin/init.common.nanohub.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.nanohub.rc \
|
|
device/google/marlin/ueventd.common.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
|
|
device/google/marlin/init.radio.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.radio.sh \
|
|
device/google/marlin/init.power.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.power.sh \
|
|
device/google/marlin/init.mid.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.mid.sh \
|
|
device/google/marlin/init.foreground.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.foreground.sh \
|
|
device/google/marlin/init.qcom.devstart.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qcom.devstart.sh
|
|
|
|
# Reduce client buffer size for fast audio output tracks
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
af.fast_track_multiplier=1
|
|
|
|
# Low latency audio buffer size in frames
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
audio_hal.period_size=192
|
|
|
|
# Write Manufacturer & Model information in created media files.
|
|
# IMPORTANT: ONLY SET THIS PROPERTY TO TRUE FOR PUBLIC DEVICES
|
|
ifneq ($(filter aosp_sailfish% sailfish% aosp_marlin% marlin%, $(TARGET_PRODUCT)),)
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
media.recorder.show_manufacturer_and_model=true
|
|
else
|
|
$(error "you must decide whether to write manufacturer and model information into created media files for this device. ONLY ENABLE IT FOR PUBLIC DEVICE.")
|
|
endif #TARGET_PRODUCT
|
|
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
persist.camera.gyro.android=4 \
|
|
persist.camera.tof.direct=1 \
|
|
persist.camera.tnr.preview=1 \
|
|
persist.camera.tnr.video=1
|
|
|
|
# Set bluetooth soc to rome
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
qcom.bluetooth.soc=rome
|
|
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
persist.cne.feature=1 \
|
|
persist.radio.data_ltd_sys_ind=1 \
|
|
persist.radio.is_wps_enabled=true \
|
|
persist.radio.RATE_ADAPT_ENABLE=1 \
|
|
persist.radio.ROTATION_ENABLE=1 \
|
|
persist.radio.sw_mbn_update=1 \
|
|
persist.radio.videopause.mode=1 \
|
|
persist.radio.VT_ENABLE=1 \
|
|
persist.radio.VT_HYBRID_ENABLE=1 \
|
|
persist.radio.data_con_rprt=true \
|
|
persist.rcs.supported=1 \
|
|
rild.libpath=/vendor/lib64/libril-qc-qmi-1.so
|
|
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
persist.data.mode=concurrent
|
|
|
|
# Enable SM log mechanism by default
|
|
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
persist.radio.smlog_switch=1 \
|
|
ro.radio.log_prefix="modem_log_" \
|
|
ro.radio.log_loc="/data/smlog_dump"
|
|
endif
|
|
|
|
# Disable snapshot feature
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
persist.radio.snapshot_enabled=0 \
|
|
persist.radio.snapshot_timer=0
|
|
|
|
# IMS over WiFi
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
persist.data.iwlan.enable=true
|
|
|
|
# LTE, CDMA, GSM/WCDMA
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
ro.telephony.default_network=10 \
|
|
telephony.lteOnCdmaDevice=1
|
|
|
|
PRODUCT_AAPT_CONFIG += xlarge large
|
|
PRODUCT_CHARACTERISTICS := nosdcard
|
|
|
|
# Enable camera EIS
|
|
# eis.enable: enables electronic image stabilization
|
|
# is_type: sets image stabilization type
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
persist.camera.eis.enable=1 \
|
|
persist.camera.is_type=4
|
|
|
|
# Fingerprint HIDL implementation
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.biometrics.fingerprint@2.1-service
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
|
|
|
|
INIT_COMMON_DIAG_RC := $(TARGET_COPY_OUT_VENDOR)/etc/init/init.diag.rc
|
|
|
|
# Modem debugger
|
|
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/init.common.diag.rc.userdebug:$(INIT_COMMON_DIAG_RC)
|
|
|
|
# Subsystem ramdump
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
persist.sys.ssr.enable_ramdumps=1
|
|
else
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/init.common.diag.rc.user:$(INIT_COMMON_DIAG_RC)
|
|
endif
|
|
|
|
# Subsystem silent restart
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
persist.sys.ssr.restart_level=venus,AR6320,slpi,modem,adsp
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/thermal-engine-marlin.conf:$(TARGET_COPY_OUT_VENDOR)/etc/thermal-engine.conf \
|
|
device/google/marlin/thermal-engine-marlin-vr.conf:$(TARGET_COPY_OUT_VENDOR)/etc/thermal-engine-vr.conf
|
|
|
|
$(call inherit-product-if-exists, hardware/qcom/msm8996/msm8996.mk)
|
|
$(call inherit-product-if-exists, vendor/qcom/gpu/msm8996/msm8996-gpu-vendor.mk)
|
|
|
|
# TODO:
|
|
# setup dm-verity configs.
|
|
# PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/platform/soc/7464900.sdhci/by-name/system
|
|
# $(call inherit-product, build/target/product/verity.mk)
|
|
|
|
#Property of the BDA module path for loading BDA
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
ro.bt.bdaddr_path=/sys/module/bdaddress/parameters/bdaddress
|
|
|
|
# Needed for encryption
|
|
PRODUCT_PACKAGES += \
|
|
keystore.msm8996 \
|
|
gatekeeper.msm8996
|
|
|
|
# Use the A/B updater.
|
|
AB_OTA_UPDATER := true
|
|
PRODUCT_PACKAGES += \
|
|
update_engine \
|
|
update_verifier
|
|
|
|
# Enable update engine sideloading by including the static version of the
|
|
# boot_control HAL and its dependencies.
|
|
PRODUCT_STATIC_BOOT_CONTROL_HAL := \
|
|
bootctrl.msm8996 \
|
|
libgptutils \
|
|
libz
|
|
PRODUCT_PACKAGES += \
|
|
update_engine_sideload
|
|
|
|
# Tell the system to enable copying odexes from other partition.
|
|
PRODUCT_PACKAGES += \
|
|
cppreopts.sh
|
|
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
ro.cp_system_other_odex=1
|
|
|
|
# Script that copies preloads directory from system_other to data partition
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/preloads_copy.sh:system/bin/preloads_copy.sh
|
|
|
|
PRODUCT_PACKAGES_DEBUG += \
|
|
update_engine_client
|
|
|
|
# A/B updater updatable partitions list. Keep in sync with the partition list
|
|
# with "_a" and "_b" variants in the device. Note that the vendor can add more
|
|
# more partitions to this list for the bootloader and radio.
|
|
AB_OTA_PARTITIONS += \
|
|
boot \
|
|
system
|
|
|
|
# Bluetooth HAL
|
|
PRODUCT_PACKAGES += \
|
|
libbt-vendor \
|
|
android.hardware.bluetooth@1.0-impl
|
|
|
|
# NFC packages
|
|
PRODUCT_PACKAGES += \
|
|
NfcNci \
|
|
Tag \
|
|
android.hardware.nfc@1.0-impl
|
|
|
|
#GNSS HAL
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.gnss@1.0-impl
|
|
|
|
# Vibrator
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.vibrator@1.0-service.marlin \
|
|
|
|
# VR
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.vr@1.0-impl
|
|
|
|
# Gralloc
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.graphics.allocator@2.0-impl \
|
|
android.hardware.graphics.allocator@2.0-service \
|
|
android.hardware.graphics.mapper@2.0-impl
|
|
|
|
# HW Composer
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.graphics.composer@2.1-impl \
|
|
android.hardware.graphics.composer@2.1-service
|
|
|
|
# Boot control
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.boot@1.0-impl \
|
|
android.hardware.boot@1.0-service
|
|
|
|
# Library used for VTS tests (only for userdebug and eng builds)
|
|
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
|
# For VTS profiling.
|
|
PRODUCT_PACKAGES += \
|
|
libvts_profiling \
|
|
libvts_multidevice_proto
|
|
endif
|
|
|
|
# NFC/camera interaction workaround - DO NOT COPY TO NEW DEVICES
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
ro.camera.notify_nfc=1
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/nfc/libnfc-brcm.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-brcm.conf \
|
|
device/google/marlin/nfc/libpn551_fw.so:$(TARGET_COPY_OUT_VENDOR)/firmware/libpn551_fw.so
|
|
|
|
# Bootloader HAL used for A/B updates.
|
|
PRODUCT_PACKAGES += \
|
|
bootctrl.msm8996
|
|
PRODUCT_PACKAGES_DEBUG += \
|
|
bootctl
|
|
|
|
# Storage: for factory reset protection feature
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
ro.frp.pst=/dev/block/platform/soc/624000.ufshc/by-name/frp
|
|
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
sdm.debug.disable_rotator_split=1 \
|
|
qdcm.only_pcc_for_trans=1 \
|
|
qdcm.diagonal_matrix_mode=1
|
|
|
|
# Enable low power video mode for 4K encode
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
vidc.debug.perf.mode=2
|
|
|
|
# OEM Unlock reporting
|
|
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
|
|
ro.oem_unlock_supported=1
|
|
|
|
# Setup dm-verity configs
|
|
PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/platform/soc/624000.ufshc/by-name/system
|
|
PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/platform/soc/624000.ufshc/by-name/vendor
|
|
$(call inherit-product, build/target/product/verity.mk)
|
|
|
|
# Partitions (listed in the file) to be wiped under recovery.
|
|
TARGET_RECOVERY_WIPE := \
|
|
device/google/marlin/recovery.wipe.common
|
|
|
|
# GPS configuration file
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/gps.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gps.conf
|
|
|
|
# Default permission grant exceptions
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/default-permissions.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default-permissions/default-permissions.xml
|
|
|
|
# A/B OTA dexopt package
|
|
PRODUCT_PACKAGES += otapreopt_script
|
|
|
|
# A/B OTA dexopt update_engine hookup
|
|
AB_OTA_POSTINSTALL_CONFIG += \
|
|
RUN_POSTINSTALL_system=true \
|
|
POSTINSTALL_PATH_system=system/bin/otapreopt_script \
|
|
FILESYSTEM_TYPE_system=ext4 \
|
|
POSTINSTALL_OPTIONAL_system=true
|
|
|
|
#Reduce cost of scrypt for FBE CE decryption
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
ro.crypto.scrypt_params=13:3:1
|
|
|
|
# Set if a device image has the VTS coverage instrumentation.
|
|
ifeq ($(NATIVE_COVERAGE),true)
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
ro.vts.coverage=1
|
|
PRODUCT_SUPPORTS_VERITY_FEC := false
|
|
endif
|
|
|
|
# b/35633646
|
|
# Statically linked toybox for modprobe in recovery mode
|
|
PRODUCT_PACKAGES += \
|
|
toybox_static
|
|
|
|
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
|
ifeq (,$(filter aosp_marlin aosp_sailfish, $(TARGET_PRODUCT)))
|
|
PRODUCT_PACKAGES += \
|
|
NexusLogger
|
|
endif # filter it out for aosp build
|
|
endif
|
|
|
|
# b/30349163
|
|
# Set Marlin/Sailfish default log size on userdebug/eng build to 1M
|
|
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
|
PRODUCT_PROPERTY_OVERRIDES += ro.logd.size=1M
|
|
endif
|
|
|
|
# b/32109329
|
|
# Workaround for audio glitches
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
audio.adm.buffering.ms=3
|
|
|
|
# Vendor seccomp policy files for media components:
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/seccomp_policy/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy
|
|
|
|
# whitelisted app
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/marlin/qti_whitelist.xml:system/etc/sysconfig/qti_whitelist.xml
|
|
|
|
PRODUCT_PROPERTY_OVERRIDES += \
|
|
ro.vendor.vndk.version=26.1.0 \
|
|
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.renderscript@1.0.vndk-sp\
|
|
android.hardware.graphics.allocator@2.0.vndk-sp\
|
|
android.hardware.graphics.mapper@2.0.vndk-sp\
|
|
android.hardware.graphics.common@1.0.vndk-sp\
|
|
libhwbinder.vndk-sp\
|
|
libbase.vndk-sp\
|
|
libcutils.vndk-sp\
|
|
libhardware.vndk-sp\
|
|
libhidlbase.vndk-sp\
|
|
libhidltransport.vndk-sp\
|
|
libutils.vndk-sp\
|
|
libc++.vndk-sp\
|
|
libRS_internal.vndk-sp\
|
|
libRSDriver.vndk-sp\
|
|
libRSCpuRef.vndk-sp\
|
|
libbcinfo.vndk-sp\
|
|
libblas.vndk-sp\
|
|
libft2.vndk-sp\
|
|
libpng.vndk-sp\
|
|
libcompiler_rt.vndk-sp\
|
|
libbacktrace.vndk-sp\
|
|
libunwind.vndk-sp\
|
|
liblzma.vndk-sp\
|