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