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