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