1# 2# Copyright (C) 2013 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 hammerhead devices, and 18# are also specific to hammerhead devices 19# 20# Everything in this directory will become public 21 22 23ifeq ($(TARGET_PREBUILT_KERNEL),) 24ifeq ($(USE_SVELTE_KERNEL),true) 25LOCAL_KERNEL := device/lge/hammerhead_svelte-kernel/zImage-dtb 26else 27 28ifneq ($(filter hammerhead_fp aosp_hammerhead_fp,$(TARGET_PRODUCT)),) 29LOCAL_KERNEL := device/lge/hammerhead_fp-kernel/zImage-dtb 30else 31LOCAL_KERNEL := device/lge/hammerhead-kernel/zImage-dtb 32endif 33 34endif 35else 36LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL) 37endif 38 39 40PRODUCT_COPY_FILES := \ 41 $(LOCAL_KERNEL):kernel 42 43PRODUCT_COPY_FILES += \ 44 device/lge/hammerhead/init.hammerhead.rc:root/init.hammerhead.rc \ 45 device/lge/hammerhead/init.hammerhead.usb.rc:root/init.hammerhead.usb.rc \ 46 device/lge/hammerhead/fstab.hammerhead:root/fstab.hammerhead \ 47 device/lge/hammerhead/ueventd.hammerhead.rc:root/ueventd.hammerhead.rc 48 49# Input device files for hammerhead 50PRODUCT_COPY_FILES += \ 51 device/lge/hammerhead/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl \ 52 device/lge/hammerhead/gpio-keys.kcm:system/usr/keychars/gpio-keys.kcm \ 53 device/lge/hammerhead/qpnp_pon.kl:system/usr/keylayout/qpnp_pon.kl \ 54 device/lge/hammerhead/qpnp_pon.kcm:system/usr/keychars/qpnp_pon.kcm \ 55 device/lge/hammerhead/Button_Jack.kl:system/usr/keylayout/msm8974-taiko-mtp-snd-card_Button_Jack.kl \ 56 device/lge/hammerhead/Button_Jack.kcm:system/usr/keychars/msm8974-taiko-mtp-snd-card_Button_Jack.kcm \ 57 device/lge/hammerhead/hs_detect.kl:system/usr/keylayout/hs_detect.kl \ 58 device/lge/hammerhead/hs_detect.kcm:system/usr/keychars/hs_detect.kcm 59 60# Prebuilt input device calibration files 61PRODUCT_COPY_FILES += \ 62 device/lge/hammerhead/touch_dev.idc:system/usr/idc/touch_dev.idc 63 64PRODUCT_COPY_FILES += \ 65 device/lge/hammerhead/audio_policy.conf:system/etc/audio_policy.conf \ 66 device/lge/hammerhead/mixer_paths.xml:system/etc/mixer_paths.xml 67 68PRODUCT_COPY_FILES += \ 69 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \ 70 frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/etc/media_codecs_google_telephony.xml \ 71 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \ 72 device/lge/hammerhead/media_codecs.xml:system/etc/media_codecs.xml \ 73 device/lge/hammerhead/media_codecs_performance.xml:system/etc/media_codecs_performance.xml \ 74 device/lge/hammerhead/media_profiles.xml:system/etc/media_profiles.xml 75 76PRODUCT_COPY_FILES += \ 77 device/lge/hammerhead/bcmdhd.cal:system/etc/wifi/bcmdhd.cal 78 79PRODUCT_COPY_FILES += \ 80 device/lge/hammerhead/bluetooth/BCM4339_003.001.009.0079.0339.hcd:$(TARGET_COPY_OUT_VENDOR)/firmware/bcm4335c0.hcd 81 82# These are the hardware-specific features 83PRODUCT_COPY_FILES += \ 84 frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \ 85 frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \ 86 frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \ 87 frameworks/native/data/etc/android.hardware.camera.full.xml:system/etc/permissions/android.hardware.camera.full.xml \ 88 frameworks/native/data/etc/android.hardware.camera.raw.xml:system/etc/permissions/android.hardware.camera.raw.xml \ 89 frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \ 90 frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ 91 frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \ 92 frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \ 93 frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \ 94 frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \ 95 frameworks/native/data/etc/android.hardware.sensor.barometer.xml:system/etc/permissions/android.hardware.sensor.barometer.xml \ 96 frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:system/etc/permissions/android.hardware.sensor.stepcounter.xml \ 97 frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:system/etc/permissions/android.hardware.sensor.stepdetector.xml \ 98 frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ 99 frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \ 100 frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ 101 frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ 102 frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \ 103 frameworks/native/data/etc/android.hardware.audio.low_latency.xml:system/etc/permissions/android.hardware.audio.low_latency.xml \ 104 frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \ 105 frameworks/native/data/etc/android.hardware.telephony.cdma.xml:system/etc/permissions/android.hardware.telephony.cdma.xml \ 106 frameworks/native/data/etc/android.software.midi.xml:system/etc/permissions/android.software.midi.xml 107 108# For GPS 109PRODUCT_COPY_FILES += \ 110 device/lge/hammerhead/sec_config:system/etc/sec_config 111 112# NFC access control + feature files + configuration 113PRODUCT_COPY_FILES += \ 114 frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \ 115 frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml \ 116 device/lge/hammerhead/nfc/libnfc-brcm.conf:system/etc/libnfc-brcm.conf \ 117 device/lge/hammerhead/nfc/libnfc-brcm-20791b05.conf:system/etc/libnfc-brcm-20791b05.conf 118 119PRODUCT_COPY_FILES += \ 120 device/lge/hammerhead/thermal-engine-8974.conf:system/etc/thermal-engine-8974.conf 121 122# For SPN display 123PRODUCT_COPY_FILES += \ 124 device/lge/hammerhead/spn-conf.xml:system/etc/spn-conf.xml 125 126PRODUCT_AAPT_CONFIG := normal 127PRODUCT_AAPT_PREF_CONFIG := xxhdpi 128 129PRODUCT_CHARACTERISTICS := nosdcard 130 131DEVICE_PACKAGE_OVERLAYS := \ 132 device/lge/hammerhead/overlay 133 134PRODUCT_PACKAGES := \ 135 libwpa_client \ 136 hostapd \ 137 dhcpcd.conf \ 138 wpa_supplicant \ 139 wpa_supplicant.conf 140 141# Live Wallpapers 142PRODUCT_PACKAGES += \ 143 LiveWallpapersPicker \ 144 librs_jni 145 146PRODUCT_PACKAGES += \ 147 gralloc.msm8974 \ 148 libgenlock \ 149 hwcomposer.msm8974 \ 150 memtrack.msm8974 \ 151 libqdutils \ 152 libqdMetaData 153 154PRODUCT_PACKAGES += \ 155 libc2dcolorconvert \ 156 libstagefrighthw \ 157 libOmxCore \ 158 libmm-omxcore \ 159 libOmxVdec \ 160 libOmxVdecHevc \ 161 libOmxVenc 162 163PRODUCT_PACKAGES += \ 164 audio.primary.msm8974 \ 165 audio.a2dp.default \ 166 audio.usb.default \ 167 audio.r_submix.default \ 168 libaudio-resampler 169 170# Audio effects 171PRODUCT_PACKAGES += \ 172 libqcomvisualizer \ 173 libqcomvoiceprocessing \ 174 libqcomvoiceprocessingdescriptors \ 175 libqcompostprocbundle 176 177PRODUCT_COPY_FILES += \ 178 device/lge/hammerhead/audio_effects.conf:system/vendor/etc/audio_effects.conf 179 180PRODUCT_PACKAGES += \ 181 libqomx_core \ 182 libmmcamera_interface \ 183 libmmjpeg_interface \ 184 camera.hammerhead \ 185 mm-jpeg-interface-test \ 186 mm-qcamera-app 187 188PRODUCT_PACKAGES += \ 189 keystore.msm8974 190 191PRODUCT_PACKAGES += \ 192 power.msm8974 193 194# GPS configuration 195PRODUCT_COPY_FILES += \ 196 device/lge/hammerhead/gps.conf:system/etc/gps.conf 197 198# GPS 199PRODUCT_PACKAGES += \ 200 libloc_adapter \ 201 libloc_eng \ 202 libloc_api_v02 \ 203 libloc_ds_api \ 204 libloc_core \ 205 libizat_core \ 206 libgeofence \ 207 libgps.utils \ 208 gps.msm8974 \ 209 flp.msm8974 \ 210 liblbs_core \ 211 flp.conf 212 213# NFC packages 214PRODUCT_PACKAGES += \ 215 nfc_nci.bcm2079x.default \ 216 NfcNci \ 217 Tag 218 219PRODUCT_PACKAGES += \ 220 libion 221 222PRODUCT_PACKAGES += \ 223 lights.hammerhead 224 225PRODUCT_PACKAGES += \ 226 com.android.future.usb.accessory 227 228# Filesystem management tools 229PRODUCT_PACKAGES += \ 230 e2fsck 231 232# for off charging mode 233PRODUCT_PACKAGES += \ 234 charger_res_images 235 236PRODUCT_PACKAGES += \ 237 bdAddrLoader 238 239PRODUCT_PACKAGES += \ 240 power.hammerhead 241 242PRODUCT_PROPERTY_OVERRIDES += \ 243 ro.opengles.version=196608 244 245PRODUCT_PROPERTY_OVERRIDES += \ 246 ro.sf.lcd_density=480 247 248PRODUCT_PROPERTY_OVERRIDES += \ 249 persist.hwc.mdpcomp.enable=true 250 251PRODUCT_PROPERTY_OVERRIDES += \ 252 ro.hwui.texture_cache_size=72 \ 253 ro.hwui.layer_cache_size=48 \ 254 ro.hwui.r_buffer_cache_size=8 \ 255 ro.hwui.path_cache_size=32 \ 256 ro.hwui.gradient_cache_size=1 \ 257 ro.hwui.drop_shadow_cache_size=6 \ 258 ro.hwui.texture_cache_flushrate=0.4 \ 259 ro.hwui.text_small_cache_width=1024 \ 260 ro.hwui.text_small_cache_height=1024 \ 261 ro.hwui.text_large_cache_width=2048 \ 262 ro.hwui.text_large_cache_height=1024 263 264PRODUCT_PROPERTY_OVERRIDES += \ 265 drm.service.enabled=true 266 267# Set sensor streaming rate 268PRODUCT_PROPERTY_OVERRIDES += \ 269 ro.qti.sensors.max_geomag_rotv=60 \ 270 ro.qti.sensors.max_gyro_rate=200 \ 271 ro.qti.sensors.max_accel_rate=200 \ 272 ro.qti.sensors.max_grav=200 \ 273 ro.qti.sensors.max_rotvec=200 \ 274 ro.qti.sensors.max_orient=200 \ 275 ro.qti.sensors.max_linacc=200 \ 276 ro.qti.sensors.max_gamerv_rate=200 277 278# Enable optional sensor types 279PRODUCT_PROPERTY_OVERRIDES += \ 280 ro.qti.sensors.smd=true \ 281 ro.qti.sensors.game_rv=true \ 282 ro.qti.sensors.georv=true \ 283 ro.qti.sensors.smgr_mag_cal_en=true \ 284 ro.qti.sensors.step_detector=true \ 285 ro.qti.sensors.step_counter=true 286 ro.qti.sensors.tap=false \ 287 ro.qti.sensors.facing=false \ 288 ro.qti.sensors.tilt=false \ 289 ro.qti.sensors.amd=false \ 290 ro.qti.sensors.rmd=false \ 291 ro.qti.sensors.vmd=false \ 292 ro.qti.sensors.pedometer=false \ 293 ro.qti.sensors.pam=false \ 294 ro.qti.sdk.sensors.gestures=false 295 296# Enable some debug messages by default 297PRODUCT_PROPERTY_OVERRIDES += \ 298 persist.debug.sensors.hal=w \ 299 debug.qualcomm.sns.daemon=w \ 300 debug.qualcomm.sns.libsensor1=w 301 302# Ril sends only one RIL_UNSOL_CALL_RING, so set call_ring.multiple to false 303PRODUCT_PROPERTY_OVERRIDES += \ 304 ro.telephony.call_ring.multiple=0 305 306PRODUCT_PROPERTY_OVERRIDES += \ 307 wifi.interface=wlan0 \ 308 wifi.supplicant_scan_interval=15 309 310# Enable AAC 5.1 output 311PRODUCT_PROPERTY_OVERRIDES += \ 312 media.aac_51_output_enabled=true 313 314# Do not power down SIM card when modem is sent to Low Power Mode. 315PRODUCT_PROPERTY_OVERRIDES += \ 316 persist.radio.apm_sim_not_pwdn=1 317 318# LTE, CDMA, GSM/WCDMA 319PRODUCT_PROPERTY_OVERRIDES += \ 320 ro.telephony.default_network=10 \ 321 telephony.lteOnCdmaDevice=1 \ 322 persist.radio.mode_pref_nv10=1 323 324# update 1x signal strength after 2s 325PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 326 persist.radio.snapshot_enabled=1 \ 327 persist.radio.snapshot_timer=2 328 329PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 330 persist.radio.use_cc_names=true 331 332# If data_no_toggle is 1 then active and dormancy enable at all times. 333# If data_no_toggle is 0 there are no reports if the screen is off. 334# Leaving this property unset defaults to '0' 335# Due to RIL changes, setting this to 1 now enables toggling of limited 336# system indications and does not impact data state changes. 337PRODUCT_PROPERTY_OVERRIDES += \ 338 persist.radio.data_no_toggle=1 339 340# Audio Configuration 341PRODUCT_PROPERTY_OVERRIDES += \ 342 persist.audio.handset.mic.type=digital \ 343 persist.audio.dualmic.config=endfire \ 344 persist.audio.fluence.voicecall=true \ 345 persist.audio.fluence.voicecomm=true \ 346 persist.audio.fluence.voicerec=false \ 347 persist.audio.fluence.speaker=false 348 349PRODUCT_PROPERTY_OVERRIDES += \ 350 ro.config.vc_call_vol_steps=6 351 352# Setup custom emergency number list based on the MCC. This is needed by RIL 353PRODUCT_PROPERTY_OVERRIDES += \ 354 persist.radio.custom_ecc=1 355 356# set default USB configuration 357PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 358 persist.sys.usb.config=mtp 359 360# Request modem to send PLMN name always irrespective 361# of display condition in EFSPN. 362# RIL uses this property. 363PRODUCT_PROPERTY_OVERRIDES += \ 364 persist.radio.always_send_plmn=true 365 366PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 367 rild.libpath=/system/lib/libril-qc-qmi-1.so 368 369# Camera configuration 370PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 371 camera.disable_zsl_mode=1 372 373# Input resampling configuration 374PRODUCT_PROPERTY_OVERRIDES += \ 375 ro.input.noresample=1 376 377# Reduce client buffer size for fast audio output tracks 378PRODUCT_PROPERTY_OVERRIDES += \ 379 af.fast_track_multiplier=1 380 381PRODUCT_PROPERTY_OVERRIDES += \ 382 dalvik.vm.dex2oat-swap=false 383 384# Modem debugger 385ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 386PRODUCT_PACKAGES += \ 387 QXDMLogger 388 389PRODUCT_COPY_FILES += \ 390 device/lge/hammerhead/init.hammerhead.diag.rc.userdebug:root/init.hammerhead.diag.rc 391else 392PRODUCT_COPY_FILES += \ 393 device/lge/hammerhead/init.hammerhead.diag.rc.user:root/init.hammerhead.diag.rc 394endif 395 396ifneq ($(filter hammerhead_fp aosp_hammerhead_fp,$(TARGET_PRODUCT)),) 397PRODUCT_COPY_FILES += \ 398 device/lge/hammerhead/init.hammerhead_fp.rc:root/init.hammerhead_fp.rc \ 399 hardware/broadcom/wlan/bcmdhd/firmware/bcm4339/fw_bcmdhd_fp.bin:system/vendor/firmware/fw_bcmdhd.bin \ 400 hardware/broadcom/wlan/bcmdhd/firmware/bcm4339/fw_bcmdhd_apsta.bin:system/vendor/firmware/fw_bcmdhd_apsta.bin 401 402PRODUCT_COPY_FILES += \ 403 hardware/broadcom/wlan/bcmdhd/config/wpa_supplicant_overlay.conf:system/etc/wifi/wpa_supplicant_overlay.conf \ 404 hardware/broadcom/wlan/bcmdhd/config/p2p_supplicant_overlay.conf:system/etc/wifi/p2p_supplicant_overlay.conf 405 406else 407$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4339/device-bcm.mk) 408endif 409 410# setup dalvik vm configs. 411$(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk) 412 413$(call inherit-product-if-exists, hardware/qcom/msm8x74/msm8x74.mk) 414$(call inherit-product-if-exists, vendor/qcom/gpu/msm8x74/msm8x74-gpu-vendor.mk) 415