blob: 7a3978402867fdac8d06a5cee00b1e4e0351ea27 [file] [log] [blame]
Bharath756d7dd2021-08-07 23:53:55 +05301# Copyright 2021-2022 Fairphone B.V.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14#
15
16FP_PATH := device/fairphone/FP3
17
lindaguo(103996)47226c12020-06-22 17:27:43 +080018# Disable data roaming by default
Bharathdec76372022-10-10 20:15:42 +053019PRODUCT_VENDOR_PROPERTIES += \
lindaguo(103996)47226c12020-06-22 17:27:43 +080020 ro.com.android.dataroaming=false
21
Bharath756d7dd2021-08-07 23:53:55 +053022# Call the vendor setup
23$(call inherit-product-if-exists, vendor/fairphone/fp3-common/device-vendor.mk)
24
25$(call inherit-product, build/make/target/product/product_launched_with_p.mk)
26
27$(call inherit-product, frameworks/native/build/phone-xhdpi-4096-dalvik-heap.mk)
28
Bharath12163282022-06-20 15:10:58 +053029# Inherit generic AOSP content for telephony based 64-bit devices
30$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
31$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk)
Bharath756d7dd2021-08-07 23:53:55 +053032
33PRODUCT_NAME := FP3
34PRODUCT_DEVICE := FP3
35PRODUCT_MODEL := FP3
36PRODUCT_MANUFACTURER := Fairphone
37PRODUCT_BRAND := Fairphone
38
39
40# Allow using custom and expressive names for our Android flavors while in fact
41# targeting the same model with all of them.
Bharath6a7439e2022-02-21 17:35:49 +053042PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_MODEL=FP3 PRODUCT_NAME=FP3 TARGET_PRODUCT=FP3
Bharath756d7dd2021-08-07 23:53:55 +053043
Bharath756d7dd2021-08-07 23:53:55 +053044
Bharathdccdc592022-03-31 12:10:41 +053045TARGET_SYSTEM_PROP := $(FP_PATH)/system.prop
Bharath756d7dd2021-08-07 23:53:55 +053046
Borjan Tchakaloff17a5b5f2018-05-11 11:35:06 +020047# Define the build number based on the product flavour and on the build manifest
48# revision
49ifneq (,$(strip $(PRODUCT_FLAVOR)))
50 _BUILD_MANIFEST_REV := $(shell (git -C $(TOPDIR).repo/manifests rev-parse --short=8 HEAD))
51 BUILD_NUMBER := $(PRODUCT_FLAVOR)-$(_BUILD_MANIFEST_REV)
52 HAS_BUILD_NUMBER := true
53else
54 $(error PRODUCT_FLAVOR must be defined)
55endif
Borjan Tchakaloff17a5b5f2018-05-11 11:35:06 +020056
Bharath756d7dd2021-08-07 23:53:55 +053057
Luca Weisse7ef1c82022-07-13 13:13:20 +020058# Define SPL for boot & vendor
59BOOT_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH)
60VENDOR_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH)
61
62
Jiakai Zhange4fa5b32022-05-11 16:49:38 +010063# Compile SystemUI on device with `speed`.
64PRODUCT_VENDOR_PROPERTIES += \
65 dalvik.vm.systemuicompilerfilter=speed
66
67
Wilson Sung54b067e2021-03-03 18:08:45 +080068# Set system properties identifying the chipset
69PRODUCT_VENDOR_PROPERTIES += ro.soc.manufacturer=QTI
70PRODUCT_VENDOR_PROPERTIES += ro.soc.model=SDM450
71
72
Bharath756d7dd2021-08-07 23:53:55 +053073# We don't have the calibration data as this sort of
74# data can only be generated at the factory so don't generate persist.img
75FP3_SKIP_PERSIST_IMG := true
76
Bharath80ba1872021-08-21 11:53:57 +053077
78# Operator specific overlays
79DEVICE_PACKAGE_OVERLAYS += \
80 $(LOCAL_PATH)/overlay-operators
81
Bharath756d7dd2021-08-07 23:53:55 +053082# Overlays
83DEVICE_PACKAGE_OVERLAYS += \
84 $(LOCAL_PATH)/overlay
85
86
87# A/B related defines
88AB_OTA_UPDATER := true
Luca Weissd6c3ca12022-07-13 16:24:08 +020089AB_OTA_PARTITIONS := \
90 aboot \
91 cmnlib64 \
92 cmnlib \
93 devcfg \
94 dsp \
Bharath756d7dd2021-08-07 23:53:55 +053095 dtbo \
Luca Weissd6c3ca12022-07-13 16:24:08 +020096 keymaster \
97 lksecapp \
98 mdtp \
99 modem \
100 rpm \
101 sbl1 \
102 tz \
Bharath756d7dd2021-08-07 23:53:55 +0530103 vbmeta \
Luca Weissd6c3ca12022-07-13 16:24:08 +0200104 boot \
105 system \
Bharath756d7dd2021-08-07 23:53:55 +0530106 vendor
107
108
Bharath756d7dd2021-08-07 23:53:55 +0530109PRODUCT_PACKAGES += \
Bharath756d7dd2021-08-07 23:53:55 +0530110 update_engine_sideload
111
Bharath776a9712022-03-18 00:00:41 +0530112# Dynamic Partition
113# Enable retrofit dynamic partitions for FP3
114PRODUCT_USE_DYNAMIC_PARTITIONS := true
115PRODUCT_RETROFIT_DYNAMIC_PARTITIONS := true
116
117# Additional OTA partitions
118ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS), true)
119AB_OTA_PARTITIONS += \
120 odm \
121 product \
122 system_ext
123
124# Check OTA update status
125PRODUCT_PACKAGES += check_dynamic_partitions
126
127# Ramdisk fstab file
128PRODUCT_PACKAGES += fstab_ramdisk.qcom
129
130AB_OTA_POSTINSTALL_CONFIG += \
131 RUN_POSTINSTALL_product=true \
132 POSTINSTALL_PATH_product=bin/check_dynamic_partitions \
133 FILESYSTEM_TYPE_product=ext4 \
134 POSTINSTALL_OPTIONAL_product=false
135
136endif
Bharath756d7dd2021-08-07 23:53:55 +0530137
Bharath2307d3b2022-01-06 22:23:25 +0530138# APN
139PRODUCT_COPY_FILES += \
140 $(LOCAL_PATH)/apns-conf.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/apns-conf.xml
141
142
Bharath756d7dd2021-08-07 23:53:55 +0530143# AVB
144BOARD_AVB_ENABLE := true
145
146
147# Additional native libraries
148PRODUCT_COPY_FILES += \
149 $(FP_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt
150
151
Bharath12163282022-06-20 15:10:58 +0530152# OEM Unlock reporting
Bharathdec76372022-10-10 20:15:42 +0530153PRODUCT_VENDOR_PROPERTIES += \
Bharath12163282022-06-20 15:10:58 +0530154 ro.oem_unlock_supported=1
155
156
Bharath756d7dd2021-08-07 23:53:55 +0530157# Atrace HAL
158PRODUCT_PACKAGES += \
159 android.hardware.atrace@1.0-service
160
161
162# Audio
Bharath756d7dd2021-08-07 23:53:55 +0530163PRODUCT_PACKAGES += \
Mikhail Naganovb0f62432021-02-17 02:16:06 +0000164 android.hardware.audio@7.0 \
165 android.hardware.audio.common@7.0 \
166 android.hardware.audio.common@7.0-util \
167 android.hardware.audio@7.0-impl \
168 android.hardware.audio.effect@7.0 \
169 android.hardware.audio.effect@7.0-impl \
Bharath756d7dd2021-08-07 23:53:55 +0530170 android.hardware.audio.service \
171 android.hardware.soundtrigger@2.1-impl \
Bharath756d7dd2021-08-07 23:53:55 +0530172 audio.primary.msm8953 \
173 audio.r_submix.default \
174 audio.usb.default \
175 libaacwrapper \
176 libaudio-resampler \
Bharath756d7dd2021-08-07 23:53:55 +0530177 libqcompostprocbundle \
178 libqcomvisualizer \
179 libqcomvoiceprocessing \
180 libvolumelistener \
181 tinymix
182
183
Bharathf96fea32022-10-05 09:43:16 +0530184AUDIO_HAL_PATH := hardware/qcom/audio
Bharath756d7dd2021-08-07 23:53:55 +0530185
186# Audio files
187PRODUCT_COPY_FILES += \
Bharath756d7dd2021-08-07 23:53:55 +0530188 $(AUDIO_HAL_PATH)/configs/msm8953/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \
189 $(AUDIO_HAL_PATH)/configs/msm8953/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
190 $(AUDIO_HAL_PATH)/configs/msm8953/audio_output_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_output_policy.conf \
191 $(AUDIO_HAL_PATH)/configs/msm8953/audio_platform_info_intcodec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_intcodec.xml \
192 $(AUDIO_HAL_PATH)/configs/msm8953/audio_platform_info_sku3_tasha.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_sku3_tasha.xml \
193 $(AUDIO_HAL_PATH)/configs/msm8953/audio_platform_info_sku4.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_sku4.xml \
194 $(AUDIO_HAL_PATH)/configs/msm8953/audio_platform_info_tasha.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_tasha.xml \
195 $(AUDIO_HAL_PATH)/configs/msm8953/audio_platform_info_tashalite.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_tashalite.xml \
196 $(AUDIO_HAL_PATH)/configs/msm8953/audio_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy.conf \
197 $(AUDIO_HAL_PATH)/configs/msm8953/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \
198 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
199 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths_mtp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_mtp.xml \
200 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths_sku3_tasha.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_sku3_tasha.xml \
201 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths_sku4.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_sku4.xml \
202 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths_tasha.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tasha.xml \
203 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths_tashalite.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tashalite.xml \
204 $(AUDIO_HAL_PATH)/configs/msm8953/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml \
205 $(AUDIO_HAL_PATH)/configs/msm8953/sound_trigger_mixer_paths_wcd9306.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9306.xml \
206 $(AUDIO_HAL_PATH)/configs/msm8953/sound_trigger_mixer_paths_wcd9330.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9330.xml \
207 $(AUDIO_HAL_PATH)/configs/msm8953/sound_trigger_mixer_paths_wcd9335.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9335.xml \
208 $(AUDIO_HAL_PATH)/configs/msm8953/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml
209
210
211# Audio config files
212PRODUCT_COPY_FILES += \
Mikhail Naganovb0f62432021-02-17 02:16:06 +0000213 frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration_7_0.xml \
Bharath756d7dd2021-08-07 23:53:55 +0530214 frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
Mikhail Naganovb0f62432021-02-17 02:16:06 +0000215 frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml \
Bharath756d7dd2021-08-07 23:53:55 +0530216 frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
217 frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
218 frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml
219
220# Custom config files
221PRODUCT_COPY_FILES += \
222 $(FP_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml
223
224
225# Audio firmware files
226PRODUCT_COPY_FILES += \
227 $(FP_PATH)/aw/aw8898_cfg.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/aw8898_cfg.bin \
228 $(FP_PATH)/tas2557_fw/OBO_0617_music.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/tas2557_uCDSP.bin \
229 $(FP_PATH)/tas2557_fw/tas2557evm_OBO_0617.ftcfg:$(TARGET_COPY_OUT_VENDOR)/firmware/tas2557evm_aacspk_a.ftcfg
230
231
232# Audio Specific device overlays
233DEVICE_PACKAGE_OVERLAYS += $(AUDIO_HAL_PATH)/configs/common/overlay
234
235
236# Audio Specific properties
237# Properties
238-include $(LOCAL_PATH)/audio_properties.mk
239
240
241# Audio Kernel modules
242AUDIO_DLKM := audio_apr.ko
243AUDIO_DLKM += audio_q6_notifier.ko
244AUDIO_DLKM += audio_adsp_loader.ko
245AUDIO_DLKM += audio_q6.ko
246AUDIO_DLKM += audio_usf.ko
247AUDIO_DLKM += audio_pinctrl_wcd.ko
248AUDIO_DLKM += audio_swr.ko
249AUDIO_DLKM += audio_wcd_core.ko
250AUDIO_DLKM += audio_swr_ctrl.ko
251AUDIO_DLKM += audio_wsa881x.ko
252AUDIO_DLKM += audio_wsa881x_analog.ko
253AUDIO_DLKM += audio_platform.ko
254AUDIO_DLKM += audio_cpe_lsm.ko
255AUDIO_DLKM += audio_hdmi.ko
256AUDIO_DLKM += audio_stub.ko
257AUDIO_DLKM += audio_wcd9xxx.ko
258AUDIO_DLKM += audio_mbhc.ko
259AUDIO_DLKM += audio_wcd9335.ko
260AUDIO_DLKM += audio_wcd_cpe.ko
261AUDIO_DLKM += audio_digital_cdc.ko
262AUDIO_DLKM += audio_analog_cdc.ko
263AUDIO_DLKM += audio_native.ko
264AUDIO_DLKM += audio_machine_sdm450.ko
265AUDIO_DLKM += audio_machine_ext_sdm450.ko
266PRODUCT_PACKAGES += $(AUDIO_DLKM)
267
268
Bharath9cdcce22021-12-08 15:43:43 +0530269# Automation/ATS
270PRODUCT_PACKAGES += \
271 automation_setup \
272 automation_adb_setup
273
274
Bharathfe661fb2021-08-16 18:56:32 +0530275# ANT
276PRODUCT_PACKAGES += \
277 AntHalService \
278 antradio_app \
279 com.dsi.ant@1.0 \
Bharath70cf2ae2022-02-14 12:13:50 +0530280 com.dsi.ant@1.0.vendor \
Bharathfe661fb2021-08-16 18:56:32 +0530281 libantradio
282
Bharath756d7dd2021-08-07 23:53:55 +0530283# Bluetooth
Bharathfe661fb2021-08-16 18:56:32 +0530284PRODUCT_PACKAGES += \
Bharathfe661fb2021-08-16 18:56:32 +0530285 audio.bluetooth.default \
286 android.hardware.bluetooth.audio@2.0-impl \
287 android.hardware.bluetooth@1.0 \
288 vendor.qti.hardware.bluetooth_audio@2.0 \
Bharath19ec3492022-03-14 10:22:26 +0530289 vendor.qti.hardware.bluetooth_audio@2.1.vendor
Bharathfe661fb2021-08-16 18:56:32 +0530290
291# Bluetooth Permissions
292PRODUCT_COPY_FILES += \
293 frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
294 frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml
Bharath756d7dd2021-08-07 23:53:55 +0530295
Etienne Ruffieux8ac2cec2022-01-20 21:27:18 +0000296# Bluetooth Properties
Sal Savage776e8102022-02-04 09:40:38 -0800297# Set supported Bluetooth profiles to enabled
Etienne Ruffieux8ac2cec2022-01-20 21:27:18 +0000298PRODUCT_PRODUCT_PROPERTIES += \
Sal Savage590b8d92022-04-27 13:13:03 -0700299 bluetooth.profile.asha.central.enabled?=true \
300 bluetooth.profile.a2dp.source.enabled?=true \
301 bluetooth.profile.avrcp.target.enabled?=true \
Sal Savage590b8d92022-04-27 13:13:03 -0700302 bluetooth.profile.bas.client.enabled?=true \
Sal Savage590b8d92022-04-27 13:13:03 -0700303 bluetooth.profile.gatt.enabled?=true \
Sal Savage590b8d92022-04-27 13:13:03 -0700304 bluetooth.profile.hfp.ag.enabled?=true \
305 bluetooth.profile.hid.device.enabled?=true \
306 bluetooth.profile.hid.host.enabled?=true \
307 bluetooth.profile.map.server.enabled?=true \
Sal Savage590b8d92022-04-27 13:13:03 -0700308 bluetooth.profile.opp.enabled?=true \
309 bluetooth.profile.pan.nap.enabled?=true \
310 bluetooth.profile.pan.panu.enabled?=true \
311 bluetooth.profile.pbap.server.enabled?=true \
Bharath4baf2322022-10-10 20:19:45 +0530312 bluetooth.profile.sap.server.enabled?=true
Etienne Ruffieux8ac2cec2022-01-20 21:27:18 +0000313
Sal Savagede026932022-04-25 16:42:15 -0700314# Set the Bluetooth Class of Device
315# Service Field: 0x5A -> 90
316# Bit 17: Networking
317# Bit 19: Capturing
318# Bit 20: Object Transfer
319# Bit 22: Telephony
320# MAJOR_CLASS: 0x02 -> 2 (Phone)
321# MINOR_CLASS: 0x0C -> 12 (Smart Phone)
322PRODUCT_PRODUCT_PROPERTIES += \
323 bluetooth.device.class_of_device=90,2,12
324
Bharath756d7dd2021-08-07 23:53:55 +0530325
Bharath12163282022-06-20 15:10:58 +0530326# Board platforms lists to be used for
327# TARGET_BOARD_PLATFORM specific featurization
328QCOM_BOARD_PLATFORMS += msm8953
329
330
Bharath756d7dd2021-08-07 23:53:55 +0530331# Boot
332PRODUCT_PACKAGES += \
333 android.hardware.boot@1.0-impl \
334 android.hardware.boot@1.0-impl.recovery \
335 android.hardware.boot@1.0-service \
336 bootctrl.msm8953 \
Bharathe341d1d2022-04-06 09:49:27 +0530337 bootctrl.msm8953.recovery \
Bharath756d7dd2021-08-07 23:53:55 +0530338 update_engine \
339 update_engine_client \
340 update_engine_sideload \
341 update_verifier
342
Bharath12163282022-06-20 15:10:58 +0530343# MSM updater library
344PRODUCT_PACKAGES += librecovery_updater_msm
345
346
347# Skip boot jars check
348SKIP_BOOT_JARS_CHECK := true
349
Bharath756d7dd2021-08-07 23:53:55 +0530350
351# Boot animation
352TARGET_SCREEN_HEIGHT := 2160
353TARGET_SCREEN_WIDTH := 1080
354
355
356PRODUCT_COPY_FILES += \
357 vendor/fairphone/media/bootanimation/bootanimation.zip:$(TARGET_COPY_OUT_PRODUCT)/media/bootanimation.zip
358
359
360# Camera
Bharathcbfb0a92021-08-19 21:13:50 +0530361PRODUCT_PACKAGES += \
362 android.frameworks.displayservice@1.0.vendor \
363 android.hidl.base@1.0.vendor \
364 android.hardware.camera.device@3.5 \
365 android.hardware.camera.provider@2.4 \
366 android.hardware.camera.provider@2.4-external \
367 android.hardware.camera.provider@2.4-impl \
368 android.hardware.camera.provider@2.4-legacy \
369 android.hardware.camera.provider@2.4-service \
370 android.hardware.camera.provider@2.6 \
371 camera.device@1.0-impl \
372 camera.device@3.5-impl \
373 camera.device@3.6-external-impl \
374 camera.msm8953 \
Bharathcbfb0a92021-08-19 21:13:50 +0530375 libcamera2ndk_vendor \
376 libhal_dbg \
377 libjni_burstpmk \
378 libjni_imageutil \
379 libjni_snapcammosaic \
380 libjni_snapcamtinyplanet \
381 libmm-qcamera \
382 libmmcamera_interface \
383 libmmjpeg_interface \
384 libmmlib2d_interface \
385 libqomx_core \
386 libxml2 \
387 mm-qcamera-app \
388 vendor.qti.hardware.camera.device@1.0 \
389 vendor.qti.hardware.camera.device@1.0.vendor
390
391# Fairphone Camera
392PRODUCT_PACKAGES += \
393 FairphoneCamera
394
395# Arcsoft camera libraries
396PRODUCT_PACKAGES += \
397 libarcimageprocess \
398 libarcsoft_aiscenedetection \
399 libarcsoft_hdr_detection \
400 libarcsoft_high_dynamic_range \
401 libarcsoft_low_light_hdr \
402 libarcsoft_low_light_shot \
403 libarcsoft_object_tracking \
404 libarcsoft_panorama_burstcapture \
405 libarcsoft_singlecam_bokeh \
406 libarcsoft_videoautozoom \
407 libarcsoft_videostabs \
408 libmpbase \
409 libmpbase.vendor
410
411# Feature flags for camera
412PRODUCT_COPY_FILES += \
413 frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
414 frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
415 frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
416 frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml
Bharath756d7dd2021-08-07 23:53:55 +0530417
418
419# Component overrides
Bharathe025dac2022-08-02 15:02:41 +0530420PRODUCT_COPY_FILES += \
Bharath756d7dd2021-08-07 23:53:55 +0530421 $(FP_PATH)/configs/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml
422
423
Bharath12163282022-06-20 15:10:58 +0530424# Charger
425PRODUCT_PACKAGES += \
426 charger \
427 charger_res_images
428
429
430# Chromium
431PRODUCT_PACKAGES += \
432 libwebviewchromium_loader \
433 libwebviewchromium_plat_support
434
435
436# Curl
437PRODUCT_PACKAGES += \
438 curl \
439 libcurl
440
441
442# Data/rmnetctrl
443PRODUCT_PACKAGES += \
444 librmnetctl
445
leolee75d66582020-10-21 15:26:49 +0800446# IPV4
Bharathdec76372022-10-10 20:15:42 +0530447PRODUCT_VENDOR_PROPERTIES += \
leolee75d66582020-10-21 15:26:49 +0800448 persist.vendor.data.profile_update=true
449
Bharathdec76372022-10-10 20:15:42 +0530450PRODUCT_VENDOR_PROPERTIES += ro.telephony.iwlan_operation_mode=legacy
Bharatha701c6b2022-07-25 17:26:28 +0530451
Bharath12163282022-06-20 15:10:58 +0530452
Jiakai Zhange915cae2022-05-20 14:56:44 +0100453# Preopt SystemUI
454PRODUCT_DEXPREOPT_SPEED_APPS += SystemUI # For AOSP
455
456
Bharath756d7dd2021-08-07 23:53:55 +0530457# Display
458PRODUCT_PACKAGES += \
459 android.hardware.graphics.allocator@2.0-impl \
460 android.hardware.graphics.allocator@2.0-service \
461 android.hardware.graphics.composer@2.1-service \
462 android.hardware.graphics.mapper@2.0-impl-2.1 \
463 android.hardware.memtrack@1.0-impl \
464 android.hardware.memtrack@1.0-service \
465 gralloc.default \
466 gralloc.msm8953 \
467 hwcomposer.msm8953 \
Bharath756d7dd2021-08-07 23:53:55 +0530468 libdisplayconfig \
Bharath12163282022-06-20 15:10:58 +0530469 libdisplayconfig.qti \
470 libdrm \
471 libgralloc.qti \
Bharath756d7dd2021-08-07 23:53:55 +0530472 libqdMetaData \
Bharath12163282022-06-20 15:10:58 +0530473 libqdutils \
Bharath756d7dd2021-08-07 23:53:55 +0530474 libvulkan \
Bharath12163282022-06-20 15:10:58 +0530475 memtrack.msm8953 \
Bharath756d7dd2021-08-07 23:53:55 +0530476 vendor.qti.hardware.display.composer@3.0
477
478
479# Vendor Display
480# Disable skip validate
Bharathdec76372022-10-10 20:15:42 +0530481PRODUCT_VENDOR_PROPERTIES += \
Bharath756d7dd2021-08-07 23:53:55 +0530482 vendor.display.disable_skip_validate=1
483
Bharathdec76372022-10-10 20:15:42 +0530484PRODUCT_VENDOR_PROPERTIES += ro.hardware.vulkan=adreno
485PRODUCT_VENDOR_PROPERTIES += ro.hardware.egl=adreno
Bharatha701c6b2022-07-25 17:26:28 +0530486
Bharath756d7dd2021-08-07 23:53:55 +0530487
488# Display Properties
489PRODUCT_AAPT_CONFIG := normal
490PRODUCT_AAPT_PREF_CONFIG := xxhdpi
491
492
493# DRM
494PRODUCT_PACKAGES += \
Edwin Wong8de56c72021-03-25 00:19:58 -0700495 android.hardware.drm@1.4-service.clearkey
Bharath756d7dd2021-08-07 23:53:55 +0530496
497
Pradeep Chenthatib4c3c102021-10-19 20:07:52 +0530498# Elabel
499PRODUCT_PACKAGES += \
500 eLabel.html.gz \
501 eLabel1.png \
502 eLabel2.png \
503 FAIRPHONE.html.gz \
504 FAIRPHONE.png
505
506
Bharath756d7dd2021-08-07 23:53:55 +0530507# Enable vndk-sp Libraries
508PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true
509TARGET_USES_MKE2FS := true
510
511PRODUCT_PACKAGES += \
512 vndk_package
513
514
515# Encryption
Bharathdec76372022-10-10 20:15:42 +0530516PRODUCT_VENDOR_PROPERTIES += ro.crypto.allow_encrypt_override=true
517PRODUCT_VENDOR_PROPERTIES += ro.crypto.volume.filenames_mode=aes-256-cts
Bharath756d7dd2021-08-07 23:53:55 +0530518
519
Bharath12163282022-06-20 15:10:58 +0530520# E2fsck
521PRODUCT_PACKAGES += \
522 e2fsck
523
Bharath44ee36f2022-05-02 15:37:19 +0530524
Bharathe341d1d2022-04-06 09:49:27 +0530525# Fastbootd
526PRODUCT_PACKAGES += fastbootd
527
528
Bharath756d7dd2021-08-07 23:53:55 +0530529# FBE support
530PRODUCT_COPY_FILES += \
531 $(FP_PATH)/init.qti.qseecomd.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qti.qseecomd.sh
532
533
Bharath1710e062021-08-20 11:30:47 +0530534# Feature flags and permissions
535PRODUCT_COPY_FILES += \
536 frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
537 frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \
538 frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \
539 frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \
540 frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
541 frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
542 frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
543 frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \
544 frameworks/native/data/etc/android.hardware.vulkan.level-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level-0.xml \
Bharath0c86f4b2022-02-14 16:38:53 +0530545 frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_1.xml \
Bharath1710e062021-08-20 11:30:47 +0530546 frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
547 frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
548 frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
Bharath1710e062021-08-20 11:30:47 +0530549 frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \
550 frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \
551 frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \
Gillian Lin59f821d2021-06-15 22:33:15 +0800552 frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml \
Bharathdf89a7d2022-06-27 20:12:06 +0530553 frameworks/native/data/etc/android.software.vulkan.deqp.level-2019-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
Bharath1710e062021-08-20 11:30:47 +0530554 frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
555
Bharath1dcb6512021-08-20 00:41:08 +0530556# Fingerprint
557PRODUCT_PACKAGES += \
558 android.hardware.biometrics.fingerprint@2.1 \
559 android.hardware.biometrics.fingerprint@2.1-service \
560 elan_device.rc \
561 fingerprint.default
562
563# Fingerprint files
564include $(FP_PATH)/elan_lib/fingerprint/elan_lib.mk
565
566# Fingerprint feature flag
567PRODUCT_COPY_FILES += \
Luca Weiss9656b9c2022-03-03 11:15:21 +0100568 frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/android.hardware.fingerprint.xml
Bharath1dcb6512021-08-20 00:41:08 +0530569
570
Bharath756d7dd2021-08-07 23:53:55 +0530571# Framework Detect
572PRODUCT_PACKAGES += \
573 libqti_vndfwk_detect \
574 libqti_vndfwk_detect.vendor \
575 libvndfwk_detect_jni.qti \
576 libvndfwk_detect_jni.qti.vendor \
577 vndservicemanager
578
Bharath12163282022-06-20 15:10:58 +0530579# FRP
Bharathdec76372022-10-10 20:15:42 +0530580PRODUCT_VENDOR_PROPERTIES += ro.frp.pst=/dev/block/bootdevice/by-name/config
Bharath12163282022-06-20 15:10:58 +0530581
Bharath756d7dd2021-08-07 23:53:55 +0530582
583# HIDL
584PRODUCT_PACKAGES += \
585 android.hidl.base@1.0 \
586 libhidltransport \
587 libhidltransport.vendor \
588 libhwbinder \
589 libhwbinder.vendor
590
591
Bharath1710e062021-08-20 11:30:47 +0530592# GPS
593BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default
Luca Weissa8a60262022-02-28 15:00:31 +0100594LOC_HIDL_VERSION := 4.0
Bharath1710e062021-08-20 11:30:47 +0530595
596PRODUCT_PACKAGES += \
Bharath70cf2ae2022-02-14 12:13:50 +0530597 android.hardware.gnss@2.1-impl-qti \
Bharath1710e062021-08-20 11:30:47 +0530598 android.hardware.gnss@2.1-service-qti \
599 libbatching \
600 libgeofencing \
601 libgnss \
602 libjson \
603 libwifi-hal-ctrl \
604 libgps.utils
605
606PRODUCT_PACKAGES += \
607 flp.conf \
608 gps.conf
609
610# gps/location secuity configuration file
611PRODUCT_COPY_FILES += \
612 $(FP_PATH)/configs/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config
613
614# Permissions
615PRODUCT_COPY_FILES += \
616 frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml
617
Bharathdec76372022-10-10 20:15:42 +0530618PRODUCT_VENDOR_PROPERTIES += \
Bharath12163282022-06-20 15:10:58 +0530619 persist.backup.ntpServer=0.pool.ntp.org
620
Bharath1710e062021-08-20 11:30:47 +0530621
Bharath756d7dd2021-08-07 23:53:55 +0530622# Health
623PRODUCT_PACKAGES += \
624 android.hardware.health@2.1-impl \
625 android.hardware.health@2.1-impl.recovery \
626 android.hardware.health@2.1-service
627
628# IMS
629PRODUCT_PACKAGES += \
630 ims-ext-common \
631 ims_ext_common.xml \
632 ConfURIDialer
633
Bharath12163282022-06-20 15:10:58 +0530634
635# Init
636PRODUCT_PACKAGES += \
637 fstab.qcom \
638 init.class_main.sh \
639 init.crda.sh \
Karsten Tauschee270bad2022-08-22 15:41:19 +0200640 init.legacy_prop.rc \
Bharath12163282022-06-20 15:10:58 +0530641 init.mdm.sh \
642 init.qcom.class_core.sh \
643 init.qcom.coex.sh \
644 init.qcom.early_boot.sh \
645 init.qcom.efs.sync.sh \
646 init.qcom.factory.rc \
647 init.qcom.post_boot.sh \
648 init.qcom.rc \
649 init.qcom.sdio.sh \
650 init.qcom.sensors.sh \
651 init.qcom.sh \
652 init.qcom.usb.rc \
653 init.qcom.usb.sh \
654 init.recovery.qcom.rc \
655 init.target.rc \
656 init.veth_ipa_config.sh \
657 qca6234-service.sh \
658 ueventd.qcom.rc \
659 vold.fstab
660
661#intialise PRODUCT_PACKAGES_DEBUG list for debug modules
Luca Weiss2327bfb2022-07-13 09:47:07 +0200662PRODUCT_PACKAGES_DEBUG += init.qcom.testscripts.sh
Bharath12163282022-06-20 15:10:58 +0530663
664#Add init.qcom.test.rc to PRODUCT_PACKAGES_DEBUG list
665PRODUCT_PACKAGES_DEBUG += init.qcom.test.rc
666PRODUCT_PACKAGES_DEBUG += init.qcom.debug.sh
667
668ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
669PRODUCT_COPY_FILES += \
Bharath8e773362022-10-05 09:42:57 +0530670 $(FP_PATH)/rootdir/etc/init.qcom.testscripts.sh:$(TARGET_COPY_OUT_PRODUCT)/etc/init.qcom.testscripts.sh
Bharath12163282022-06-20 15:10:58 +0530671endif
672
673PRODUCT_PACKAGES_DEBUG += \
674 init.qcom.debug.sh \
675 init.qcom.debug-sdm660.sh \
676 init.qcom.debug-sdm710.sh \
677 init.qti.debug-msmnile-apps.sh \
678 init.qti.debug-msmnile-modem.sh \
679 init.qti.debug-msmnile-slpi.sh \
680 init.qti.debug-talos.sh \
681 init.qti.debug-msmnile.sh \
682 init.qti.debug-kona.sh \
683 init.qti.debug-lito.sh \
684 init.qti.debug-trinket.sh \
685 init.qti.debug-atoll.sh \
686 init.qti.debug-lagoon.sh \
687 init.qti.debug-bengal.sh
688
689
690# IP and iptables
691PRODUCT_PACKAGES += \
692 ip \
693 libiprouteutil \
694 iptables \
695 ip-up-vpn \
696 libext
697
698
Bharath756d7dd2021-08-07 23:53:55 +0530699# IPACM
700PRODUCT_PACKAGES += \
701 ipacm \
702 IPACM_cfg.xml \
703 libipanat \
704 liboffloadhal \
705 libqsap_sdk
706
707# IRQ
708PRODUCT_COPY_FILES += \
709 $(FP_PATH)/configs/msm_irqbalance.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance.conf \
710 $(FP_PATH)/configs/msm_irqbalance_little_big.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance_little_big.conf
711
712
713# Kernel modules
714# Kernel modules install path
715KERNEL_MODULES_INSTALL := dlkm
716KERNEL_MODULES_OUT := out/target/product/$(PRODUCT_NAME)/$(KERNEL_MODULES_INSTALL)/lib/modules
Bharath12163282022-06-20 15:10:58 +0530717KERNEL_TO_BUILD_ROOT_OFFSET := ../../
718
719
720# Key layouts
721PRODUCT_PACKAGES += \
722 ft5x06_ts.kl \
723 gpio-keys.kl \
724 synaptics_dsx.kl \
725 synaptics_dsxv26.kl \
726 synaptics_rmi4_i2c.kl
Bharath756d7dd2021-08-07 23:53:55 +0530727
728
Bharatha701c6b2022-07-25 17:26:28 +0530729# Keystore
Bharathdec76372022-10-10 20:15:42 +0530730PRODUCT_VENDOR_PROPERTIES += ro.hardware.keystore_desede=true
Bharatha701c6b2022-07-25 17:26:28 +0530731
732
Bharath756d7dd2021-08-07 23:53:55 +0530733# LED packages
734PRODUCT_PACKAGES += \
735 android.hardware.light@2.0-impl \
736 android.hardware.light@2.0-service \
737 lights.msm8953
738
739
740# Media / StagefrightCodec 2.0
Bharathdec76372022-10-10 20:15:42 +0530741PRODUCT_VENDOR_PROPERTIES += debug.stagefright.omx_default_rank=0
Bharath756d7dd2021-08-07 23:53:55 +0530742
Bharathe3615be2021-08-18 22:25:42 +0530743# Enable features in video HAL that can compile only on this platform
Bharath12163282022-06-20 15:10:58 +0530744MSM_VIDC_TARGET_LIST := msm8953
Bharathe3615be2021-08-18 22:25:42 +0530745TARGET_USES_MEDIA_EXTENSIONS := true
746
747
Bharath4c762882022-10-10 20:15:40 +0530748#
749# media profiles and media codecs xmls
750#
751# We select non-default xmls in system partition with the properties.
752PRODUCT_SYSTEM_PROPERTIES += \
753 ro.media.xml_variant.codecs=_vendor \
754 ro.media.xml_variant.profiles=_8953_v1
755
756PRODUCT_COPY_FILES += \
757 $(FP_PATH)/media/media_codecs_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor.xml \
758 $(FP_PATH)/media/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \
759 $(FP_PATH)/media/media_profiles_8953_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_8953_v1.xml
760
761# media files for GSI - using default paths
Bharathe3615be2021-08-18 22:25:42 +0530762PRODUCT_COPY_FILES += \
Bharathe3615be2021-08-18 22:25:42 +0530763 $(FP_PATH)/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
Bharathe3615be2021-08-18 22:25:42 +0530764 $(FP_PATH)/media/media_codecs_performance_8953.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
Bharath4c762882022-10-10 20:15:40 +0530765 $(FP_PATH)/media/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
Bharath12163282022-06-20 15:10:58 +0530766
767PRODUCT_COPY_FILES += \
768 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
769 frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
770 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
771 frameworks/av/media/libstagefright/data/media_codecs_google_video_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video_le.xml \
772 frameworks/av/media/libstagefright/data/media_codecs_google_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2.xml \
773 frameworks/av/media/libstagefright/data/media_codecs_google_c2_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_audio.xml \
774 frameworks/av/media/libstagefright/data/media_codecs_google_c2_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_video.xml
Bharathe3615be2021-08-18 22:25:42 +0530775
Bharath756d7dd2021-08-07 23:53:55 +0530776
Bharath8d5d3992022-10-10 20:15:30 +0530777# Disable media transcoding
778PRODUCT_VENDOR_PROPERTIES += \
779 persist.sys.fuse.transcode_user_control=true \
780 persist.sys.fuse.transcode_enabled=false
781
782
Bharath756d7dd2021-08-07 23:53:55 +0530783# NFC
Bharath1710e062021-08-20 11:30:47 +0530784PRODUCT_PACKAGES += \
Bharath4c28e932022-10-10 20:23:25 +0530785 NfcNci \
Bharath1710e062021-08-20 11:30:47 +0530786 Tag \
787 com.android.nfc_extras \
788 com.nxp.nfc.nq \
789 com.nxp.nfc.nq.xml \
790 libnqnfc-nci \
791 libnqnfc_nci_jni \
792 nfc_nci.nqx.default.hw \
793 vendor.nxp.hardware.nfc@2.0-service
794
795# Permissions
796PRODUCT_COPY_FILES += \
797 frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
798 frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.android.nfc_extras.xml \
799 frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
800 frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
801 frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
802 frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
803 frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
804 vendor/nxp/opensource/halimpl/halimpl/libnfc-nci.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nci.conf \
805 vendor/nxp/opensource/halimpl/SN100x/halimpl/libnfc-nci.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nci_SN100.conf
Bharath756d7dd2021-08-07 23:53:55 +0530806
807
808# OMX
809PRODUCT_PACKAGES += \
810 libavservices_minijail.vendor \
811 libc2dcolorconvert \
812 libOmxAacEnc \
813 libOmxAmrEnc \
814 libOmxCore \
815 libOmxEvrcEnc \
816 libOmxQcelp13Enc \
817 libOmxVdec \
818 libOmxVenc \
819 libqomx_core \
820 libaacwrapper \
821 libmm-omxcore \
822 libstagefrighthw \
823 libstagefright_softomx.vendor
824
825
826#
827# system prop for opengles version
828#
829# 196608 is decimal for 0x30000 to report major/minor versions as 3/0
830# 196609 is decimal for 0x30001 to report major/minor versions as 3/1
831# 196610 is decimal for 0x30002 to report major/minor versions as 3/2
Bharathdec76372022-10-10 20:15:42 +0530832PRODUCT_VENDOR_PROPERTIES += \
Bharath756d7dd2021-08-07 23:53:55 +0530833 ro.opengles.version=196610
834
835
Bharath12163282022-06-20 15:10:58 +0530836# AOSP Packages
837PRODUCT_PACKAGES += \
838 DeskClock \
839 Calendar \
840 CalendarProvider \
841 Camera2 \
842 CertInstaller \
843 Gallery2 \
844 LatinIME \
845 Launcher3 \
846 LiveWallpapersPicker \
847 Music \
848 netutils-wrapper-1.0 \
849 Provision \
850 Protips \
851 QuickSearchBox \
852 Settings \
853 Stk \
854 SystemUI \
855
856
Bharath756d7dd2021-08-07 23:53:55 +0530857# Perf
858PRODUCT_COPY_FILES += \
859 $(FP_PATH)/configs/powerhint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.xml
860
Bharathdec76372022-10-10 20:15:42 +0530861PRODUCT_VENDOR_PROPERTIES += \
Bharath12163282022-06-20 15:10:58 +0530862 persist.vendor.qcomsysd.enabled=1 \
863 ro.vendor.extension_library=libqti-perfd-client.so \
864 sys.vendor.shutdown.waittime=500
865
Bharath756d7dd2021-08-07 23:53:55 +0530866
867# Power
868PRODUCT_PACKAGES += \
869 android.hardware.power@1.0-impl \
870 android.hardware.power@1.0-service \
871 power.qcom
872
873
Bharath756d7dd2021-08-07 23:53:55 +0530874# privapp-permissions whitelisting
Bharathdec76372022-10-10 20:15:42 +0530875PRODUCT_VENDOR_PROPERTIES += ro.control_privapp_permissions=enforce
Bharath756d7dd2021-08-07 23:53:55 +0530876
877
878# Protobuf
879PRODUCT_PACKAGES += \
880 libprotobuf-cpp-full \
881 libprotobuf-cpp-full-vendorcompat \
882 libprotobuf-cpp-lite-vendorcompat
883
884
Bharath12163282022-06-20 15:10:58 +0530885# include additional QCOM build utilities
Bharath8e773362022-10-05 09:42:57 +0530886include $(FP_PATH)/utils.mk
Bharath12163282022-06-20 15:10:58 +0530887
Bharath756d7dd2021-08-07 23:53:55 +0530888# RIL properties
Bharathdec76372022-10-10 20:15:42 +0530889PRODUCT_VENDOR_PROPERTIES += vendor.rild.libpath=/vendor/lib64/libril-qc-qmi-1.so
Bharath756d7dd2021-08-07 23:53:55 +0530890#vendor prop to disable advanced network scanning
Bharathdec76372022-10-10 20:15:42 +0530891PRODUCT_VENDOR_PROPERTIES += \
Bharath756d7dd2021-08-07 23:53:55 +0530892 persist.vendor.radio.enableadvancedscan=false
893
Bharath12163282022-06-20 15:10:58 +0530894# Enable Dual SIM by default
Bharathdec76372022-10-10 20:15:42 +0530895PRODUCT_VENDOR_PROPERTIES += persist.radio.multisim.config=dsds
Bharath12163282022-06-20 15:10:58 +0530896
Bharathdec76372022-10-10 20:15:42 +0530897PRODUCT_VENDOR_PROPERTIES += \
Bharath12163282022-06-20 15:10:58 +0530898 persist.vendor.radio.apm_sim_not_pwdn=1 \
899 persist.vendor.radio.sib16_support=1 \
900 persist.vendor.radio.custom_ecc=1 \
901 persist.vendor.radio.rat_on=combine \
902 persist.vendor.radio.procedure_bytes=SKIP
903
Bharath756d7dd2021-08-07 23:53:55 +0530904
905# RenderScript
906PRODUCT_PACKAGES += \
907 android.hardware.renderscript@1.0-impl
908
909
910# SDCard
911# default is nosdcard, S/W button enabled in resource
912PRODUCT_CHARACTERISTICS := nosdcard
913
914
915# Seccomp
916PRODUCT_COPY_FILES += \
917 $(FP_PATH)/seccomp/mediacodec-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
918 $(FP_PATH)/seccomp/mediaextractor-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaextractor.policy
919
920
Bharath1710e062021-08-20 11:30:47 +0530921# Secure Element
922PRODUCT_PACKAGES += \
923 android.hardware.secure_element@1.2
924
925
Bharathca82a242022-08-18 19:48:51 +0530926# Sound Recorder
927PRODUCT_PACKAGES += \
928 QtiSoundRecorder
929
930
Bharath756d7dd2021-08-07 23:53:55 +0530931# System helper
932PRODUCT_PACKAGES += \
933 vendor.qti.hardware.systemhelper@1.0
934
935
936# Service tracker
937PRODUCT_PACKAGES += \
938 vendor.qti.hardware.servicetracker@1.2.vendor
939
940
Bharatha60665d2021-08-19 09:37:22 +0530941# Sensors
942PRODUCT_PACKAGES += \
943 sensors.FP3 \
944 android.hardware.sensors@1.0-impl \
945 android.hardware.sensors@1.0-service \
946 libsensorndkbridge
947
948# Sensor HAL conf file
949PRODUCT_COPY_FILES += \
950 $(FP_PATH)/configs/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf
951
952# Feature definition files for msm8953
953PRODUCT_COPY_FILES += \
954 frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
955 frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
956 frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
957 frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
958 frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
959 frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
960 frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml
961
962
Bharath756d7dd2021-08-07 23:53:55 +0530963# Telephony Permissions
Bharath12163282022-06-20 15:10:58 +0530964# whitelisted app
965PRODUCT_COPY_FILES += \
Bharath8e773362022-10-05 09:42:57 +0530966 $(FP_PATH)/configs/qti_whitelist.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/sysconfig/qti_whitelist.xml
Bharath12163282022-06-20 15:10:58 +0530967
968PRODUCT_COPY_FILES += \
Bharath8e773362022-10-05 09:42:57 +0530969 $(FP_PATH)/configs/privapp-permissions-qti.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/privapp-permissions-qti.xml
Bharath12163282022-06-20 15:10:58 +0530970
971# Telephony wrappers
972PRODUCT_PACKAGES += \
973 qti-telephony-hidl-wrapper \
974 qti_telephony_hidl_wrapper.xml \
975 qti-telephony-utils \
976 qti_telephony_utils.xml
Bharath756d7dd2021-08-07 23:53:55 +0530977
978
979# Thermal
980PRODUCT_PACKAGES += \
981 android.hardware.thermal@1.0-impl \
982 android.hardware.thermal@1.0-service
983
984
985# Tinyxml
986PRODUCT_PACKAGES += \
987 libtinyxml
988
989# USB
990PRODUCT_PACKAGES += \
991 android.hardware.usb@1.0-service
992
993-include vendor/qcom/opensource/usb/vendor_product.mk
994
995
996# Vendor move
997PRODUCT_VENDOR_MOVE_ENABLED := true
998
999
1000# Vibrator
1001PRODUCT_PACKAGES += \
1002 android.hardware.vibrator@1.0-impl \
Bharath12163282022-06-20 15:10:58 +05301003 android.hardware.vibrator@1.0-service \
1004 vendor.qti.hardware.vibrator.service
1005
1006PRODUCT_COPY_FILES += \
1007 vendor/qcom/opensource/vibrator/excluded-input-devices.xml:$(TARGET_COPY_OUT_VENDOR)/etc/excluded-input-devices.xml
Bharath756d7dd2021-08-07 23:53:55 +05301008
1009
Bharathed255712021-08-14 20:37:05 +05301010# WiFi
1011# WLAN drivers
1012PRODUCT_COPY_FILES += \
1013 $(FP_PATH)/wifi/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_qcom_cfg.ini \
1014 $(FP_PATH)/wifi/WCNSS_wlan_dictionary.dat:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_wlan_dictionary.dat \
1015 $(FP_PATH)/wifi/WCNSS_qcom_wlan_nv.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/wlan/prima/WCNSS_qcom_wlan_nv.bin # From Android 10
1016
1017# Flag to check if wcnss_service is built from source
1018TARGET_USE_WCNSS_HAL := false
1019
1020# If building from source then drop proprietary dependency
1021ifeq ($(TARGET_USE_WCNSS_HAL),true)
1022TARGET_USES_QCOM_WCNSS_QMI := false
Bharath70cf2ae2022-02-14 12:13:50 +05301023
1024PRODUCT_PACKAGES += \
1025 libwcnss_qmi \
1026 wcnss_service
Bharathed255712021-08-14 20:37:05 +05301027endif
1028
1029# WiFi HAL
1030PRODUCT_PACKAGES += \
1031 android.hardware.wifi@1.0-service
1032
Bharath12163282022-06-20 15:10:58 +05301033# WLAN DLKM
1034PRODUCT_PACKAGES += \
1035 pronto_wlan.ko
1036
Bharathed255712021-08-14 20:37:05 +05301037# WiFi Components
1038PRODUCT_PACKAGES += \
1039 hostapd \
1040 hostapd.accept \
1041 hostapd.deny \
1042 hostapd_cli \
1043 hostapd_default.conf \
1044 libnl \
1045 libqsap_sdk \
Bharathed255712021-08-14 20:37:05 +05301046 libwifi-hal-qcom \
1047 libwpa_client \
1048 p2p_supplicant_overlay.conf \
1049 vendor.qti.hardware.wifi.supplicant@1.0.vendor \
Bharathed255712021-08-14 20:37:05 +05301050 wificond \
1051 wpa_cli \
1052 wpa_supplicant.conf \
1053 wpa_supplicant \
1054 wpa_supplicant_overlay.conf \
1055 WifiOverlay \
1056 TetheringConfigOverlay
1057
1058
Bharath12163282022-06-20 15:10:58 +05301059# Zlib
1060PRODUCT_HOST_PACKAGES += minigzip
1061
1062
Bharath83dcc442022-10-10 20:16:21 +05301063# Enable zygote critical window.
1064PRODUCT_VENDOR_OVERRIDES += \
1065 zygote.critical_window.minute=10
1066
1067
Bharath12163282022-06-20 15:10:58 +05301068#soong namespace for qssi vs vendor differentiation
1069SOONG_CONFIG_NAMESPACES += qssi_vs_vendor
1070SOONG_CONFIG_qssi_vs_vendor += qssi_or_vendor
1071SOONG_CONFIG_qssi_vs_vendor_qssi_or_vendor := vendor
1072
1073SOONG_CONFIG_NAMESPACES += aosp_vs_qva
1074SOONG_CONFIG_aosp_vs_qva += aosp_or_qva
1075ifeq ($(TARGET_FWK_SUPPORTS_FULL_VALUEADDS),true)
1076SOONG_CONFIG_aosp_vs_qva_aosp_or_qva := qva
1077else
1078SOONG_CONFIG_aosp_vs_qva_aosp_or_qva := aosp
1079endif
1080
1081SOONG_CONFIG_NAMESPACES += qtidisplaycommonsys
1082# Soong Keys
1083SOONG_CONFIG_qtidisplaycommonsys := displayconfig_enabled
1084# Soong Values
1085SOONG_CONFIG_qtidisplaycommonsys_displayconfig_enabled := true
1086
1087
Bharath756d7dd2021-08-07 23:53:55 +05301088# Call the proprietary setup
Bharatha3a85a72022-05-23 17:50:24 +05301089FP3_PROPRIETARY_PATH := device/fairphone/fp3-proprietary
Bharatha3a85a72022-05-23 17:50:24 +05301090
Karsten Tauscheff99b112022-09-19 12:04:31 +02001091DEVICE_BLOB_VERSION := 4.A.0017.2
Francesco Salvatore03117482019-02-28 16:39:11 +01001092
1093GET_BLOBS_CMD = vendor/fairphone/tools/bin/get_blobs.py --device FP3 --build-id $(DEVICE_BLOB_VERSION) --blobs-dir $(FP3_PROPRIETARY_PATH)
1094
1095# Check the presence of proprietary blobs
1096ifeq ("$(wildcard $(FP3_PROPRIETARY_PATH)/device-vendor.mk)","")
1097define BLOBS_INSTRUCTION
1098Cannot find FP3 binary blobs.
1099Please run
1100 $(GET_BLOBS_CMD)
1101and accept the terms of agreement.
1102endef
1103$(error $(BLOBS_INSTRUCTION))
1104endif
1105
Bharath756d7dd2021-08-07 23:53:55 +05301106# Call this in the end so that flags if required can be utilized.
Bharatha3a85a72022-05-23 17:50:24 +05301107$(call inherit-product, $(FP3_PROPRIETARY_PATH)/device-vendor.mk)
1108
Bharath12163282022-06-20 15:10:58 +05301109# Build some more display components to vendor
1110$(call inherit-product, vendor/qcom/opensource/commonsys-intf/display/config/display-interfaces-product.mk)
Bharath756d7dd2021-08-07 23:53:55 +05301111###################################################################################