1# 2# Copyright (C) 2015 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# This file includes all definitions that apply to ALL bullhead devices, and 18# are also specific to bullhead devices 19# 20# Everything in this directory will become public 21 22 23ifeq ($(TARGET_PREBUILT_KERNEL),) 24LOCAL_KERNEL := device/lge/bullhead-kernel/Image.gz-dtb 25else 26LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL) 27endif 28 29PRODUCT_COPY_FILES := \ 30 $(LOCAL_KERNEL):kernel 31 32PRODUCT_COPY_FILES += \ 33 device/lge/bullhead/init.bullhead.rc:root/init.bullhead.rc \ 34 device/lge/bullhead/init.bullhead.usb.rc:root/init.bullhead.usb.rc \ 35 device/lge/bullhead/fstab.bullhead:root/fstab.bullhead \ 36 device/lge/bullhead/ueventd.bullhead.rc:root/ueventd.bullhead.rc \ 37 device/lge/bullhead/init.bullhead.sensorhub.rc:root/init.bullhead.sensorhub.rc \ 38 device/lge/bullhead/init.bullhead.ramdump.rc:root/init.bullhead.ramdump.rc \ 39 device/lge/bullhead/init.bullhead.fp.rc:root/init.bullhead.fp.rc 40 41PRODUCT_COPY_FILES += \ 42 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \ 43 frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/etc/media_codecs_google_telephony.xml \ 44 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \ 45 device/lge/bullhead/media_codecs.xml:system/etc/media_codecs.xml \ 46 device/lge/bullhead/media_codecs_performance.xml:system/etc/media_codecs_performance.xml \ 47 device/lge/bullhead/media_profiles.xml:system/etc/media_profiles.xml 48 49# Audio 50PRODUCT_COPY_FILES += \ 51 device/lge/bullhead/audio_policy.conf:system/etc/audio_policy.conf \ 52 device/lge/bullhead/audio_effects.conf:system/etc/audio_effects.conf \ 53 device/lge/bullhead/mixer_paths.xml:system/etc/mixer_paths.xml \ 54 device/lge/bullhead/audio_platform_info.xml:system/etc/audio_platform_info.xml 55 56#Sound Trigger 57PRODUCT_COPY_FILES += \ 58 device/lge/bullhead/sound_trigger_mixer_paths.xml:system/etc/sound_trigger_mixer_paths.xml \ 59 device/lge/bullhead/sound_trigger_platform_info.xml:system/etc/sound_trigger_platform_info.xml 60 61# Input device files 62PRODUCT_COPY_FILES += \ 63 device/lge/bullhead/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl \ 64 device/lge/bullhead/qpnp_pon.kl:system/usr/keylayout/qpnp_pon.kl 65 66# for launcher layout 67PRODUCT_PACKAGES += \ 68 BullheadLayout 69 70# Prebuilt input device calibration files 71PRODUCT_COPY_FILES += \ 72 device/lge/bullhead/synaptics_rmi4_i2c.idc:system/usr/idc/synaptics_rmi4_i2c.idc 73 74# These are the hardware-specific features 75PRODUCT_COPY_FILES += \ 76 frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \ 77 frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \ 78 frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \ 79 frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \ 80 frameworks/native/data/etc/android.hardware.camera.full.xml:system/etc/permissions/android.hardware.camera.full.xml \ 81 frameworks/native/data/etc/android.hardware.camera.raw.xml:system/etc/permissions/android.hardware.camera.raw.xml \ 82 frameworks/native/data/etc/android.hardware.fingerprint.xml:system/etc/permissions/android.hardware.fingerprint.xml \ 83 frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \ 84 frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ 85 frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \ 86 frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \ 87 frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \ 88 frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \ 89 frameworks/native/data/etc/android.hardware.sensor.barometer.xml:system/etc/permissions/android.hardware.sensor.barometer.xml \ 90 frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:system/etc/permissions/android.hardware.sensor.stepcounter.xml \ 91 frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:system/etc/permissions/android.hardware.sensor.stepdetector.xml \ 92 frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:system/etc/permissions/android.hardware.sensor.hifi_sensors.xml \ 93 frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ 94 frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \ 95 frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ 96 frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ 97 frameworks/native/data/etc/android.hardware.audio.low_latency.xml:system/etc/permissions/android.hardware.audio.low_latency.xml \ 98 frameworks/native/data/etc/android.hardware.audio.pro.xml:system/etc/permissions/android.hardware.audio.pro.xml \ 99 frameworks/native/data/etc/android.hardware.telephony.cdma.xml:system/etc/permissions/android.hardware.telephony.cdma.xml \ 100 frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \ 101 frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \ 102 frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml \ 103 frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \ 104 frameworks/native/data/etc/android.software.midi.xml:system/etc/permissions/android.software.midi.xml \ 105 frameworks/native/data/etc/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml 106 107# For SPN display 108PRODUCT_COPY_FILES += \ 109 device/lge/bullhead/spn-conf.xml:system/etc/spn-conf.xml 110 111# For GPS 112PRODUCT_COPY_FILES += \ 113 device/lge/bullhead/sec_config:system/etc/sec_config 114 115# NFC config files 116PRODUCT_COPY_FILES += \ 117 device/lge/bullhead/nfc/libnfc-brcm.conf:system/etc/libnfc-brcm.conf \ 118 device/lge/bullhead/nfc/libnfc-nxp.conf:system/etc/libnfc-nxp.conf 119 120# For WiFi 121PRODUCT_COPY_FILES += \ 122 device/lge/bullhead/wifi/wpa_supplicant_overlay.conf:system/etc/wifi/wpa_supplicant_overlay.conf \ 123 device/lge/bullhead/wifi/p2p_supplicant_overlay.conf:system/etc/wifi/p2p_supplicant_overlay.conf \ 124 device/lge/bullhead/wifi/WCNSS_cfg.dat:system/etc/firmware/wlan/qca_cld/WCNSS_cfg.dat \ 125 device/lge/bullhead/wifi/WCNSS_qcom_cfg.ini:system/etc/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini 126 127# MSM IRQ Balancer configuration file 128PRODUCT_COPY_FILES += \ 129 device/lge/bullhead/msm_irqbalance.conf:vendor/etc/msm_irqbalance.conf 130 131# Power configuration file 132PRODUCT_COPY_FILES += \ 133 device/lge/bullhead/init.bullhead.power.sh:system/bin/init.bullhead.power.sh 134 135# MBN 136PRODUCT_COPY_FILES += \ 137 device/lge/bullhead/init.bullhead.sh:system/bin/init.bullhead.sh 138 139PRODUCT_TAGS += dalvik.gc.type-precise 140 141PRODUCT_AAPT_CONFIG := normal 142PRODUCT_AAPT_PREF_CONFIG := xxhdpi 143# A list of dpis to select prebuilt apk, in precedence order. 144PRODUCT_AAPT_PREBUILT_DPI := xxhdpi xhdpi hdpi 145 146PRODUCT_CHARACTERISTICS := nosdcard 147 148# for off charging mode 149PRODUCT_PACKAGES += \ 150 charger_res_images 151 152PRODUCT_PACKAGES += \ 153 gralloc.msm8992 \ 154 hwcomposer.msm8992 \ 155 libgenlock \ 156 memtrack.msm8992 \ 157 lights.bullhead 158 159PRODUCT_PACKAGES += \ 160 libc2dcolorconvert \ 161 libstagefrighthw \ 162 libOmxCore \ 163 libmm-omxcore \ 164 libOmxVdec \ 165 libOmxVdecHevc \ 166 libOmxVenc 167 168# Audio HAL and utilities 169PRODUCT_PACKAGES += \ 170 audio.primary.msm8992 \ 171 audio.a2dp.default \ 172 audio.usb.default \ 173 audio.r_submix.default \ 174 libaudio-resampler 175 176# Audio effects 177PRODUCT_PACKAGES += \ 178 libqcomvoiceprocessing \ 179 libqcomvoiceprocessingdescriptors \ 180 libqcomvisualizer \ 181 libqcompostprocbundle \ 182 libvolumelistener 183 184PRODUCT_PACKAGES += \ 185 librmnetctl \ 186 rmnetcli 187 188# GPS configuration 189PRODUCT_COPY_FILES += \ 190 device/lge/bullhead/gps.conf:system/etc/gps.conf 191 192# NFC packages 193PRODUCT_PACKAGES += \ 194 nfc_nci.bullhead \ 195 NfcNci \ 196 Tag 197 198# Fingerprint Sensor 199PRODUCT_PACKAGES += \ 200 fingerprint.bullhead 201 202# Wi-Fi 203PRODUCT_PACKAGES += \ 204 libwpa_client \ 205 hostapd \ 206 dhcpcd.conf \ 207 wpa_supplicant \ 208 wpa_supplicant.conf 209 210# Camera 211PRODUCT_PACKAGES += \ 212 camera.msm8992 \ 213 libcamera \ 214 libmmcamera_interface \ 215 libmmcamera_interface2 \ 216 libmmjpeg_interface \ 217 libqomx_core \ 218 mm-qcamera-app 219 220# Sensor & activity_recognition HAL 221PRODUCT_PACKAGES += \ 222 sensors.bullhead \ 223 activity_recognition.bullhead \ 224 sensortool.bullhead 225 226PRODUCT_PACKAGES += \ 227 keystore.msm8992 \ 228 gatekeeper.msm8992 229 230# For android_filesystem_config.h 231PRODUCT_PACKAGES += \ 232 fs_config_files 233 234DEVICE_PACKAGE_OVERLAYS := \ 235 device/lge/bullhead/overlay 236 237# Enable AAC 5.1 output 238PRODUCT_PROPERTY_OVERRIDES += \ 239 media.aac_51_output_enabled=true 240 241# Audio 242PRODUCT_PROPERTY_OVERRIDES += \ 243 ro.qc.sdk.audio.fluencetype=fluencepro \ 244 persist.audio.fluence.voicecall=true \ 245 persist.audio.fluence.voicecomm=true \ 246 persist.audio.fluence.voicerec=false \ 247 persist.audio.fluence.speaker=true \ 248 persist.speaker.prot.enable=true \ 249 ro.config.vc_call_vol_steps=7 250 251# Reduce client buffer size for fast audio output tracks 252PRODUCT_PROPERTY_OVERRIDES += \ 253 af.fast_track_multiplier=1 254 255# Low latency audio buffer size in frames 256PRODUCT_PROPERTY_OVERRIDES += \ 257 audio_hal.period_size=192 258 259PRODUCT_PROPERTY_OVERRIDES += \ 260 wifi.interface=wlan0 \ 261 wifi.supplicant_scan_interval=15 262 263PRODUCT_PROPERTY_OVERRIDES += \ 264 ro.opengles.version=196609 265 266PRODUCT_PROPERTY_OVERRIDES += \ 267 ro.sf.lcd_density=420 268 269PRODUCT_PROPERTY_OVERRIDES += \ 270 persist.hwc.mdpcomp.enable=true 271 272# Enable low power video mode for 4K encode 273PRODUCT_PROPERTY_OVERRIDES += \ 274 vidc.debug.perf.mode=2 \ 275 vidc.enc.dcvs.extra-buff-count=2 276 277PRODUCT_PROPERTY_OVERRIDES += \ 278 ro.hwui.texture_cache_size=56 \ 279 ro.hwui.layer_cache_size=32 \ 280 ro.hwui.r_buffer_cache_size=8 \ 281 ro.hwui.path_cache_size=16 \ 282 ro.hwui.gradient_cache_size=1 \ 283 ro.hwui.drop_shadow_cache_size=6 \ 284 ro.hwui.texture_cache_flushrate=0.4 \ 285 ro.hwui.text_small_cache_width=1024 \ 286 ro.hwui.text_small_cache_height=1024 \ 287 ro.hwui.text_large_cache_width=2048 \ 288 ro.hwui.text_large_cache_height=1024 289 290PRODUCT_PROPERTY_OVERRIDES += \ 291 ro.frp.pst=/dev/block/platform/soc.0/f9824900.sdhci/by-name/persistent 292 293PRODUCT_PROPERTY_OVERRIDES += \ 294 drm.service.enabled=true 295 296# for perfd 297PRODUCT_PROPERTY_OVERRIDES += \ 298 ro.min_freq_0=384000 299 ro.min_freq_4=384000 300 301PRODUCT_PROPERTY_OVERRIDES += \ 302 ro.vendor.extension_library=libqti-perfd-client.so 303 304PRODUCT_PROPERTY_OVERRIDES += \ 305 rild.libpath=/vendor/lib64/libril-qc-qmi-1.so 306 307PRODUCT_PROPERTY_OVERRIDES += \ 308 ro.telephony.default_cdma_sub=0 \ 309 persist.qcril.disable_retry=true 310 311# LTE, CDMA, GSM/WCDMA 312PRODUCT_PROPERTY_OVERRIDES += \ 313 ro.telephony.default_network=22 \ 314 telephony.lteOnCdmaDevice=1 \ 315 persist.radio.mode_pref_nv10=1 316 317# Emergency call overrides for Korea 318PRODUCT_PROPERTY_OVERRIDES += \ 319 ril.nosim.ecc_list_count=1 \ 320 ril.nosim.ecc_list_1=111,113,117,122,125 321 322# low audio flinger standby delay to reduce power consumption 323PRODUCT_PROPERTY_OVERRIDES += \ 324 ro.audio.flinger_standbytime_ms=300 325 326PRODUCT_PROPERTY_OVERRIDES += \ 327 persist.radio.apm_sim_not_pwdn=1 328 329# Setup custom emergency number list based on the MCC. This is needed by RIL 330PRODUCT_PROPERTY_OVERRIDES += \ 331 persist.radio.custom_ecc=1 332 333# IMS over WiFi 334PRODUCT_PROPERTY_OVERRIDES += \ 335 persist.data.iwlan.enable=true 336 337# Request modem to send PLMN name always irrespective 338# of display condition in EFSPN. 339# RIL uses this property. 340PRODUCT_PROPERTY_OVERRIDES += \ 341 persist.radio.always_send_plmn=true 342 343# Ril sends only one RIL_UNSOL_CALL_RING, so set call_ring.multiple to false 344PRODUCT_PROPERTY_OVERRIDES += \ 345 ro.telephony.call_ring.multiple=0 346 347PRODUCT_PROPERTY_OVERRIDES += \ 348 persist.radio.use_cc_names=true 349 350# Update 1x signal strength after 10s 351PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 352 persist.radio.snapshot_enabled=1 \ 353 persist.radio.snapshot_timer=10 354 355# If data_no_toggle is 0 there are no reports if the screen is off. 356# If data_no_toggle is 1 then dormancy indications will come with screen off. 357PRODUCT_PROPERTY_OVERRIDES += \ 358 persist.radio.data_no_toggle=1 359 360# Adjust STK popup operation 361PRODUCT_PROPERTY_OVERRIDES += \ 362 persist.radio.process_sups_ind=1 363 364# VZW voice roaming issue 365PRODUCT_PROPERTY_OVERRIDES += \ 366 persist.radio.eri64_as_home=1 367 368PRODUCT_PROPERTY_OVERRIDES += \ 369 persist.radio.data_con_rprt=true 370 371# Set bluetooth soc to rome 372PRODUCT_PROPERTY_OVERRIDES += \ 373 qcom.bluetooth.soc=rome 374 375# Set Bluetooth transport initialization timeout 376PRODUCT_PROPERTY_OVERRIDES += \ 377 bluetooth.enable_timeout_ms=12000 378 379PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 380 ro.bt.bdaddr_path=/persist/bdaddr.txt 381 382# limit dex2oat threads to improve thermals 383PRODUCT_PROPERTY_OVERRIDES += \ 384 dalvik.vm.dex2oat-threads=2 \ 385 dalvik.vm.image-dex2oat-threads=4 386 387# Disable Camera TNR 388PRODUCT_PROPERTY_OVERRIDES += \ 389 persist.camera.tnr.preview=0 \ 390 persist.camera.tnr.video=0 391 392# Incoming number (b/23529711) 393PRODUCT_PROPERTY_OVERRIDES += \ 394 persist.radio.redir_party_num=0 395 396# NFC/camera interaction workaround - DO NOT COPY TO NEW DEVICES 397PRODUCT_PROPERTY_OVERRIDES += \ 398 ro.camera.notify_nfc=1 399 400# Power HAL 401PRODUCT_PACKAGES += \ 402 power.bullhead 403 404# Modem debugger 405ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 406PRODUCT_PACKAGES += \ 407 QXDMLogger 408 409PRODUCT_COPY_FILES += \ 410 device/lge/bullhead/init.bullhead.diag.rc.userdebug:root/init.bullhead.diag.rc 411else 412PRODUCT_COPY_FILES += \ 413 device/lge/bullhead/init.bullhead.diag.rc.user:root/init.bullhead.diag.rc 414endif 415 416# setup dm-verity configs. 417PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/platform/soc.0/f9824900.sdhci/by-name/system 418PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor 419$(call inherit-product, build/target/product/verity.mk) 420 421# setup dalvik vm configs. 422$(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk) 423 424$(call inherit-product-if-exists, hardware/qcom/msm8994/msm8992.mk) 425$(call inherit-product-if-exists, vendor/qcom/gpu/msm8994/msm8994-gpu-vendor.mk) 426