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