#
# Copyright (C) 2015 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 bullhead devices, and
# are also specific to bullhead devices
#
# Everything in this directory will become public
# Enable support for chinook sensorhub
TARGET_USES_CHINOOK_SENSORHUB := false
ifeq ($(TARGET_PREBUILT_KERNEL),)
LOCAL_KERNEL := device/lge/bullhead-kernel/Image.gz-dtb
else
LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
endif
PRODUCT_COPY_FILES := \
$(LOCAL_KERNEL):kernel
PRODUCT_COPY_FILES += \
device/lge/bullhead/init.bullhead.rc:root/init.bullhead.rc \
device/lge/bullhead/init.bullhead.usb.rc:root/init.bullhead.usb.rc \
device/lge/bullhead/fstab.bullhead:root/fstab.bullhead \
device/lge/bullhead/ueventd.bullhead.rc:root/ueventd.bullhead.rc \
device/lge/bullhead/init.bullhead.ramdump.rc:root/init.bullhead.ramdump.rc \
device/lge/bullhead/init.bullhead.fp.rc:root/init.bullhead.fp.rc
ifeq ($(TARGET_USES_CHINOOK_SENSORHUB),true)
PRODUCT_COPY_FILES += \
device/lge/bullhead/init.bullhead.sensorhub.rc:root/init.bullhead.sensorhub.rc
else
PRODUCT_COPY_FILES += \
device/lge/bullhead/init.bullhead.nanohub.rc:root/init.bullhead.sensorhub.rc
endif
PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/etc/media_codecs_google_telephony.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \
device/lge/bullhead/media_codecs.xml:system/etc/media_codecs.xml \
device/lge/bullhead/media_codecs_performance.xml:system/etc/media_codecs_performance.xml \
device/lge/bullhead/media_profiles.xml:system/etc/media_profiles.xml
# Audio
PRODUCT_COPY_FILES += \
device/lge/bullhead/audio_effects.conf:system/etc/audio_effects.conf \
device/lge/bullhead/mixer_paths.xml:system/etc/mixer_paths.xml \
device/lge/bullhead/audio_platform_info.xml:system/etc/audio_platform_info.xml \
device/lge/bullhead/audio_policy_configuration.xml:system/etc/audio_policy_configuration.xml \
device/lge/bullhead/audio_policy_volumes_drc.xml:system/etc/audio_policy_volumes_drc.xml \
frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:system/etc/a2dp_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:system/etc/r_submix_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:system/etc/usb_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:system/etc/default_volume_tables.xml \
#Sound Trigger
PRODUCT_COPY_FILES += \
device/lge/bullhead/sound_trigger_mixer_paths.xml:system/etc/sound_trigger_mixer_paths.xml \
device/lge/bullhead/sound_trigger_platform_info.xml:system/etc/sound_trigger_platform_info.xml
# Input device files
PRODUCT_COPY_FILES += \
device/lge/bullhead/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl \
device/lge/bullhead/qpnp_pon.kl:system/usr/keylayout/qpnp_pon.kl
# for launcher layout
PRODUCT_PACKAGES += \
BullheadLayout
# Prebuilt input device calibration files
PRODUCT_COPY_FILES += \
device/lge/bullhead/synaptics_rmi4_i2c.idc:system/usr/idc/synaptics_rmi4_i2c.idc
# These are the hardware-specific features
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \
frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \
frameworks/native/data/etc/android.hardware.camera.full.xml:system/etc/permissions/android.hardware.camera.full.xml \
frameworks/native/data/etc/android.hardware.camera.raw.xml:system/etc/permissions/android.hardware.camera.raw.xml \
frameworks/native/data/etc/android.hardware.fingerprint.xml:system/etc/permissions/android.hardware.fingerprint.xml \
frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \
frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \
frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
frameworks/native/data/etc/android.hardware.sensor.barometer.xml:system/etc/permissions/android.hardware.sensor.barometer.xml \
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:system/etc/permissions/android.hardware.sensor.stepcounter.xml \
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:system/etc/permissions/android.hardware.sensor.stepdetector.xml \
frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:system/etc/permissions/android.hardware.sensor.hifi_sensors.xml \
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \
frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:system/etc/permissions/android.hardware.audio.low_latency.xml \
frameworks/native/data/etc/android.hardware.audio.pro.xml:system/etc/permissions/android.hardware.audio.pro.xml \
frameworks/native/data/etc/android.hardware.telephony.cdma.xml:system/etc/permissions/android.hardware.telephony.cdma.xml \
frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \
frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \
frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml \
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:system/etc/permissions/android.hardware.nfc.hcef.xml \
frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \
frameworks/native/data/etc/android.software.midi.xml:system/etc/permissions/android.software.midi.xml \
frameworks/native/data/etc/android.software.verified_boot.xml:system/etc/permissions/android.software.verified_boot.xml \
frameworks/native/data/etc/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml \
frameworks/native/data/etc/android.hardware.opengles.aep.xml:system/etc/permissions/android.hardware.opengles.aep.xml \
frameworks/native/data/etc/android.hardware.vulkan.level-0.xml:system/etc/permissions/android.hardware.vulkan.level.xml \
frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:system/etc/permissions/android.hardware.vulkan.version.xml
# For SPN display
PRODUCT_COPY_FILES += \
device/lge/bullhead/spn-conf.xml:system/etc/spn-conf.xml
# For GPS
PRODUCT_COPY_FILES += \
device/lge/bullhead/sec_config:system/etc/sec_config
# NFC config files
PRODUCT_COPY_FILES += \
device/lge/bullhead/nfc/libnfc-brcm.conf:system/etc/libnfc-brcm.conf \
device/lge/bullhead/nfc/libnfc-nxp.conf:system/etc/libnfc-nxp.conf
# For WiFi
PRODUCT_COPY_FILES += \
device/lge/bullhead/wifi/wpa_supplicant_overlay.conf:system/etc/wifi/wpa_supplicant_overlay.conf \
device/lge/bullhead/wifi/p2p_supplicant_overlay.conf:system/etc/wifi/p2p_supplicant_overlay.conf \
device/lge/bullhead/wifi/WCNSS_cfg.dat:system/etc/firmware/wlan/qca_cld/WCNSS_cfg.dat \
device/lge/bullhead/wifi/WCNSS_qcom_cfg.ini:system/etc/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini
# MSM IRQ Balancer configuration file
PRODUCT_COPY_FILES += \
device/lge/bullhead/msm_irqbalance.conf:vendor/etc/msm_irqbalance.conf
# Power configuration file
PRODUCT_COPY_FILES += \
device/lge/bullhead/init.bullhead.power.sh:system/bin/init.bullhead.power.sh
# MBN
PRODUCT_COPY_FILES += \
device/lge/bullhead/init.bullhead.sh:system/bin/init.bullhead.sh
# Qseecomd configuration file
PRODUCT_COPY_FILES += \
device/lge/bullhead/init.bullhead.qseecomd.sh:system/bin/init.bullhead.qseecomd.sh
PRODUCT_TAGS += dalvik.gc.type-precise
PRODUCT_AAPT_CONFIG := normal
PRODUCT_AAPT_PREF_CONFIG := xxhdpi
# A list of dpis to select prebuilt apk, in precedence order.
PRODUCT_AAPT_PREBUILT_DPI := xxhdpi xhdpi hdpi
PRODUCT_CHARACTERISTICS := nosdcard
# for off charging mode
PRODUCT_PACKAGES += \
charger_res_images
PRODUCT_PACKAGES += \
gralloc.msm8992 \
hwcomposer.msm8992 \
libgenlock \
memtrack.msm8992 \
lights.bullhead
PRODUCT_PACKAGES += \
libc2dcolorconvert \
libstagefrighthw \
libOmxCore \
libmm-omxcore \
libOmxVdec \
libOmxVdecHevc \
libOmxVenc
# Audio HAL and utilities
USE_XML_AUDIO_POLICY_CONF := 1
PRODUCT_PACKAGES += \
audio.primary.msm8992 \
audio.a2dp.default \
audio.usb.default \
audio.r_submix.default \
libaudio-resampler
# Audio effects
PRODUCT_PACKAGES += \
libqcomvoiceprocessing \
libqcomvoiceprocessingdescriptors \
libqcomvisualizer \
libqcompostprocbundle \
libvolumelistener
PRODUCT_PACKAGES += \
librmnetctl \
rmnetcli
# GPS configuration
PRODUCT_COPY_FILES += \
device/lge/bullhead/gps.conf:system/etc/gps.conf
# NFC packages
PRODUCT_PACKAGES += \
nfc_nci.bullhead \
NfcNci \
Tag
# Fingerprint Sensor
PRODUCT_PACKAGES += \
fingerprint.bullhead
# Wi-Fi
PRODUCT_PACKAGES += \
libwpa_client \
hostapd \
wpa_supplicant \
wpa_supplicant.conf
# Camera
PRODUCT_PACKAGES += \
camera.msm8992 \
libcamera \
libmmcamera_interface \
libmmcamera_interface2 \
libmmjpeg_interface \
libqomx_core \
mm-qcamera-app
# Sensor & activity_recognition HAL
TARGET_USES_NANOHUB_SENSORHAL := true
NANOHUB_SENSORHAL_LID_STATE_ENABLED := true
NANOHUB_SENSORHAL_SENSORLIST := $(LOCAL_PATH)/sensorhal/sensorlist.cpp
PRODUCT_PACKAGES += \
sensors.bullhead \
activity_recognition.bullhead \
context_hub.default
ifeq ($(TARGET_USES_CHINOOK_SENSORHUB),true)
PRODUCT_PACKAGES += \
sensortool.bullhead
else
PRODUCT_PACKAGES += \
nanoapp_cmd
endif
# sensor utilities (only for userdebug and eng builds)
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PACKAGES += \
nanotool \
sensortest
endif
PRODUCT_PACKAGES += \
keystore.msm8992 \
gatekeeper.msm8992
# For android_filesystem_config.h
PRODUCT_PACKAGES += \
fs_config_files
DEVICE_PACKAGE_OVERLAYS := \
device/lge/bullhead/overlay
# Enable AAC 5.1 output
PRODUCT_PROPERTY_OVERRIDES += \
media.aac_51_output_enabled=true
# Audio
PRODUCT_PROPERTY_OVERRIDES += \
ro.qc.sdk.audio.fluencetype=fluencepro \
persist.audio.fluence.voicecall=true \
persist.audio.fluence.voicecomm=true \
persist.audio.fluence.voicerec=false \
persist.audio.fluence.speaker=true \
persist.speaker.prot.enable=true \
ro.config.vc_call_vol_steps=7
# 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
PRODUCT_PROPERTY_OVERRIDES += \
wifi.interface=wlan0 \
wifi.supplicant_scan_interval=15
PRODUCT_PROPERTY_OVERRIDES += \
ro.opengles.version=196610
PRODUCT_PROPERTY_OVERRIDES += \
ro.sf.lcd_density=420
PRODUCT_PROPERTY_OVERRIDES += \
persist.hwc.mdpcomp.enable=true
# Enable low power video mode for 4K encode
PRODUCT_PROPERTY_OVERRIDES += \
vidc.debug.perf.mode=2 \
vidc.enc.dcvs.extra-buff-count=2
PRODUCT_PROPERTY_OVERRIDES += \
ro.hwui.texture_cache_size=56 \
ro.hwui.layer_cache_size=32 \
ro.hwui.r_buffer_cache_size=8 \
ro.hwui.path_cache_size=16 \
ro.hwui.gradient_cache_size=1 \
ro.hwui.drop_shadow_cache_size=6 \
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
PRODUCT_PROPERTY_OVERRIDES += \
ro.frp.pst=/dev/block/platform/soc.0/f9824900.sdhci/by-name/persistent
PRODUCT_PROPERTY_OVERRIDES += \
drm.service.enabled=true
# for perfd
PRODUCT_PROPERTY_OVERRIDES += \
ro.min_freq_0=384000
ro.min_freq_4=384000
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.extension_library=libqti-perfd-client.so
PRODUCT_PROPERTY_OVERRIDES += \
rild.libpath=/vendor/lib64/libril-qc-qmi-1.so
PRODUCT_PROPERTY_OVERRIDES += \
ro.telephony.default_cdma_sub=0 \
persist.qcril.disable_retry=true
# LTE, CDMA, GSM/WCDMA
PRODUCT_PROPERTY_OVERRIDES += \
ro.telephony.default_network=22 \
telephony.lteOnCdmaDevice=1 \
persist.radio.mode_pref_nv10=1
# Emergency call overrides for Korea
PRODUCT_PROPERTY_OVERRIDES += \
ril.nosim.ecc_list_count=1 \
ril.nosim.ecc_list_1=111,113,117,122,125
# low audio flinger standby delay to reduce power consumption
PRODUCT_PROPERTY_OVERRIDES += \
ro.audio.flinger_standbytime_ms=300
PRODUCT_PROPERTY_OVERRIDES += \
persist.radio.apm_sim_not_pwdn=1
# Setup custom emergency number list based on the MCC. This is needed by RIL
PRODUCT_PROPERTY_OVERRIDES += \
persist.radio.custom_ecc=1
# IMS over WiFi
PRODUCT_PROPERTY_OVERRIDES += \
persist.data.iwlan.enable=true
# Request modem to send PLMN name always irrespective
# of display condition in EFSPN.
# RIL uses this property.
PRODUCT_PROPERTY_OVERRIDES += \
persist.radio.always_send_plmn=true
# Ril sends only one RIL_UNSOL_CALL_RING, so set call_ring.multiple to false
PRODUCT_PROPERTY_OVERRIDES += \
ro.telephony.call_ring.multiple=0
PRODUCT_PROPERTY_OVERRIDES += \
persist.radio.use_cc_names=true
# Update 1x signal strength after 10s
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
persist.radio.snapshot_enabled=1 \
persist.radio.snapshot_timer=10
# If data_no_toggle is 0 there are no reports if the screen is off.
# If data_no_toggle is 1 then dormancy indications will come with screen off.
PRODUCT_PROPERTY_OVERRIDES += \
persist.radio.data_no_toggle=1
# Adjust STK popup operation
PRODUCT_PROPERTY_OVERRIDES += \
persist.radio.process_sups_ind=1
# VZW voice roaming issue
PRODUCT_PROPERTY_OVERRIDES += \
persist.radio.eri64_as_home=1
PRODUCT_PROPERTY_OVERRIDES += \
persist.radio.data_con_rprt=true
# Set bluetooth soc to rome
PRODUCT_PROPERTY_OVERRIDES += \
qcom.bluetooth.soc=rome
# Set Bluetooth transport initialization timeout
PRODUCT_PROPERTY_OVERRIDES += \
bluetooth.enable_timeout_ms=12000
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
ro.bt.bdaddr_path=/persist/bdaddr.txt
# limit dex2oat threads to improve thermals
PRODUCT_PROPERTY_OVERRIDES += \
dalvik.vm.boot-dex2oat-threads=4 \
dalvik.vm.dex2oat-threads=4 \
dalvik.vm.image-dex2oat-threads=4
# Disable Camera TNR
PRODUCT_PROPERTY_OVERRIDES += \
persist.camera.tnr.preview=0 \
persist.camera.tnr.video=0
# Incoming number (b/23529711)
PRODUCT_PROPERTY_OVERRIDES += \
persist.radio.redir_party_num=0
# NFC/camera interaction workaround - DO NOT COPY TO NEW DEVICES
PRODUCT_PROPERTY_OVERRIDES += \
ro.camera.notify_nfc=1
# Power HAL
PRODUCT_PACKAGES += \
power.bullhead \
thermal.bullhead
# Modem debugger/misc
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PACKAGES += \
QXDMLogger
PRODUCT_COPY_FILES += \
device/lge/bullhead/init.bullhead.diag.rc.userdebug:root/init.bullhead.diag.rc \
device/lge/bullhead/init.bullhead.misc.rc.userdebug:root/init.bullhead.misc.rc
else
PRODUCT_COPY_FILES += \
device/lge/bullhead/init.bullhead.diag.rc.user:root/init.bullhead.diag.rc \
device/lge/bullhead/init.bullhead.misc.rc.user:root/init.bullhead.misc.rc
endif
# setup dm-verity configs.
PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/platform/soc.0/f9824900.sdhci/by-name/system
PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor
$(call inherit-product, build/target/product/verity.mk)
# OEM Unlock reporting
ADDITIONAL_DEFAULT_PROPERTIES += \
ro.oem_unlock_supported=1
# In userdebug, add minidebug info the the boot image and the system server to support
# diagnosing native crashes.
ifneq (,$(filter userdebug, $(TARGET_BUILD_VARIANT)))
# Boot image.
PRODUCT_DEX_PREOPT_BOOT_FLAGS += --generate-mini-debug-info
# System server and some of its services.
# Note: we cannot use PRODUCT_SYSTEM_SERVER_JARS, as it has not been expanded at this point.
$(call add-product-dex-preopt-module-config,services,--generate-mini-debug-info)
$(call add-product-dex-preopt-module-config,wifi-service,--generate-mini-debug-info)
endif
# setup dalvik vm configs.
$(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk)
$(call inherit-product-if-exists, hardware/qcom/msm8994/msm8992.mk)
$(call inherit-product-if-exists, vendor/qcom/gpu/msm8994/msm8994-gpu-vendor.mk)