# # 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.recovery.bullhead.rc:root/init.recovery.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 \ device/lge/bullhead/uinput-fpc.kl:system/usr/keylayout/uinput-fpc.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))) ifeq (,$(filter aosp_bullhead, $(TARGET_PRODUCT))) PRODUCT_PACKAGES += \ QXDMLoggerV2 endif # aosp_bullhead 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)