blob: 702c6a7d1e252ce8d5fda44bf1369cf5d964fbae [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
Bharath776a9712022-03-18 00:00:41 +0530124# Ramdisk fstab file
125PRODUCT_PACKAGES += fstab_ramdisk.qcom
126
Bharath776a9712022-03-18 00:00:41 +0530127endif
Bharath756d7dd2021-08-07 23:53:55 +0530128
Bharath2307d3b2022-01-06 22:23:25 +0530129# APN
130PRODUCT_COPY_FILES += \
131 $(LOCAL_PATH)/apns-conf.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/apns-conf.xml
132
133
Bharath756d7dd2021-08-07 23:53:55 +0530134# AVB
135BOARD_AVB_ENABLE := true
136
137
138# Additional native libraries
139PRODUCT_COPY_FILES += \
140 $(FP_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt
141
142
Bharath12163282022-06-20 15:10:58 +0530143# OEM Unlock reporting
Bharathdec76372022-10-10 20:15:42 +0530144PRODUCT_VENDOR_PROPERTIES += \
Bharath12163282022-06-20 15:10:58 +0530145 ro.oem_unlock_supported=1
146
147
Bharath756d7dd2021-08-07 23:53:55 +0530148# Atrace HAL
149PRODUCT_PACKAGES += \
150 android.hardware.atrace@1.0-service
151
152
153# Audio
Bharath756d7dd2021-08-07 23:53:55 +0530154PRODUCT_PACKAGES += \
Mikhail Naganovb0f62432021-02-17 02:16:06 +0000155 android.hardware.audio@7.0 \
156 android.hardware.audio.common@7.0 \
157 android.hardware.audio.common@7.0-util \
Carter Hsud99854f2022-02-08 17:33:35 +0800158 android.hardware.audio@7.1-impl \
Mikhail Naganovb0f62432021-02-17 02:16:06 +0000159 android.hardware.audio.effect@7.0 \
160 android.hardware.audio.effect@7.0-impl \
Bharath756d7dd2021-08-07 23:53:55 +0530161 android.hardware.audio.service \
162 android.hardware.soundtrigger@2.1-impl \
Bharath756d7dd2021-08-07 23:53:55 +0530163 audio.primary.msm8953 \
164 audio.r_submix.default \
165 audio.usb.default \
166 libaacwrapper \
167 libaudio-resampler \
Bharath756d7dd2021-08-07 23:53:55 +0530168 libqcompostprocbundle \
169 libqcomvisualizer \
170 libqcomvoiceprocessing \
171 libvolumelistener \
172 tinymix
173
174
Bharathf96fea32022-10-05 09:43:16 +0530175AUDIO_HAL_PATH := hardware/qcom/audio
Bharath756d7dd2021-08-07 23:53:55 +0530176
177# Audio files
178PRODUCT_COPY_FILES += \
Bharath756d7dd2021-08-07 23:53:55 +0530179 $(AUDIO_HAL_PATH)/configs/msm8953/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \
180 $(AUDIO_HAL_PATH)/configs/msm8953/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
181 $(AUDIO_HAL_PATH)/configs/msm8953/audio_output_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_output_policy.conf \
182 $(AUDIO_HAL_PATH)/configs/msm8953/audio_platform_info_intcodec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_intcodec.xml \
183 $(AUDIO_HAL_PATH)/configs/msm8953/audio_platform_info_sku3_tasha.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_sku3_tasha.xml \
184 $(AUDIO_HAL_PATH)/configs/msm8953/audio_platform_info_sku4.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_sku4.xml \
185 $(AUDIO_HAL_PATH)/configs/msm8953/audio_platform_info_tasha.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_tasha.xml \
186 $(AUDIO_HAL_PATH)/configs/msm8953/audio_platform_info_tashalite.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_tashalite.xml \
187 $(AUDIO_HAL_PATH)/configs/msm8953/audio_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy.conf \
188 $(AUDIO_HAL_PATH)/configs/msm8953/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \
189 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
190 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths_mtp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_mtp.xml \
191 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths_sku3_tasha.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_sku3_tasha.xml \
192 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths_sku4.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_sku4.xml \
193 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths_tasha.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tasha.xml \
194 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths_tashalite.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tashalite.xml \
195 $(AUDIO_HAL_PATH)/configs/msm8953/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml \
196 $(AUDIO_HAL_PATH)/configs/msm8953/sound_trigger_mixer_paths_wcd9306.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9306.xml \
197 $(AUDIO_HAL_PATH)/configs/msm8953/sound_trigger_mixer_paths_wcd9330.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9330.xml \
198 $(AUDIO_HAL_PATH)/configs/msm8953/sound_trigger_mixer_paths_wcd9335.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9335.xml \
199 $(AUDIO_HAL_PATH)/configs/msm8953/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml
200
201
202# Audio config files
203PRODUCT_COPY_FILES += \
Mikhail Naganovb0f62432021-02-17 02:16:06 +0000204 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 +0530205 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 +0000206 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 +0530207 frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
208 frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
209 frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml
210
211# Custom config files
212PRODUCT_COPY_FILES += \
213 $(FP_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml
214
215
216# Audio firmware files
217PRODUCT_COPY_FILES += \
218 $(FP_PATH)/aw/aw8898_cfg.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/aw8898_cfg.bin \
219 $(FP_PATH)/tas2557_fw/OBO_0617_music.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/tas2557_uCDSP.bin \
220 $(FP_PATH)/tas2557_fw/tas2557evm_OBO_0617.ftcfg:$(TARGET_COPY_OUT_VENDOR)/firmware/tas2557evm_aacspk_a.ftcfg
221
222
223# Audio Specific device overlays
224DEVICE_PACKAGE_OVERLAYS += $(AUDIO_HAL_PATH)/configs/common/overlay
225
226
227# Audio Specific properties
228# Properties
229-include $(LOCAL_PATH)/audio_properties.mk
230
231
232# Audio Kernel modules
233AUDIO_DLKM := audio_apr.ko
234AUDIO_DLKM += audio_q6_notifier.ko
235AUDIO_DLKM += audio_adsp_loader.ko
236AUDIO_DLKM += audio_q6.ko
237AUDIO_DLKM += audio_usf.ko
238AUDIO_DLKM += audio_pinctrl_wcd.ko
239AUDIO_DLKM += audio_swr.ko
240AUDIO_DLKM += audio_wcd_core.ko
241AUDIO_DLKM += audio_swr_ctrl.ko
242AUDIO_DLKM += audio_wsa881x.ko
243AUDIO_DLKM += audio_wsa881x_analog.ko
244AUDIO_DLKM += audio_platform.ko
245AUDIO_DLKM += audio_cpe_lsm.ko
246AUDIO_DLKM += audio_hdmi.ko
247AUDIO_DLKM += audio_stub.ko
248AUDIO_DLKM += audio_wcd9xxx.ko
249AUDIO_DLKM += audio_mbhc.ko
250AUDIO_DLKM += audio_wcd9335.ko
251AUDIO_DLKM += audio_wcd_cpe.ko
252AUDIO_DLKM += audio_digital_cdc.ko
253AUDIO_DLKM += audio_analog_cdc.ko
254AUDIO_DLKM += audio_native.ko
255AUDIO_DLKM += audio_machine_sdm450.ko
256AUDIO_DLKM += audio_machine_ext_sdm450.ko
257PRODUCT_PACKAGES += $(AUDIO_DLKM)
258
259
Bharath9cdcce22021-12-08 15:43:43 +0530260# Automation/ATS
261PRODUCT_PACKAGES += \
262 automation_setup \
263 automation_adb_setup
264
265
Bharathfe661fb2021-08-16 18:56:32 +0530266# ANT
267PRODUCT_PACKAGES += \
268 AntHalService \
269 antradio_app \
270 com.dsi.ant@1.0 \
Bharath70cf2ae2022-02-14 12:13:50 +0530271 com.dsi.ant@1.0.vendor \
Bharathfe661fb2021-08-16 18:56:32 +0530272 libantradio
273
Bharath756d7dd2021-08-07 23:53:55 +0530274# Bluetooth
Bharathfe661fb2021-08-16 18:56:32 +0530275PRODUCT_PACKAGES += \
Bharathfe661fb2021-08-16 18:56:32 +0530276 audio.bluetooth.default \
277 android.hardware.bluetooth.audio@2.0-impl \
278 android.hardware.bluetooth@1.0 \
279 vendor.qti.hardware.bluetooth_audio@2.0 \
Bharath19ec3492022-03-14 10:22:26 +0530280 vendor.qti.hardware.bluetooth_audio@2.1.vendor
Bharathfe661fb2021-08-16 18:56:32 +0530281
282# Bluetooth Permissions
283PRODUCT_COPY_FILES += \
284 frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
285 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 +0530286
Etienne Ruffieux8ac2cec2022-01-20 21:27:18 +0000287# Bluetooth Properties
Sal Savage776e8102022-02-04 09:40:38 -0800288# Set supported Bluetooth profiles to enabled
Etienne Ruffieux8ac2cec2022-01-20 21:27:18 +0000289PRODUCT_PRODUCT_PROPERTIES += \
Bharath107ddb12022-11-24 16:05:11 +0530290 bluetooth.profile.asha.central.enabled?=false \
Sal Savage590b8d92022-04-27 13:13:03 -0700291 bluetooth.profile.a2dp.source.enabled?=true \
292 bluetooth.profile.avrcp.target.enabled?=true \
Sal Savage590b8d92022-04-27 13:13:03 -0700293 bluetooth.profile.bas.client.enabled?=true \
Sal Savage590b8d92022-04-27 13:13:03 -0700294 bluetooth.profile.gatt.enabled?=true \
Sal Savage590b8d92022-04-27 13:13:03 -0700295 bluetooth.profile.hfp.ag.enabled?=true \
296 bluetooth.profile.hid.device.enabled?=true \
297 bluetooth.profile.hid.host.enabled?=true \
298 bluetooth.profile.map.server.enabled?=true \
Sal Savage590b8d92022-04-27 13:13:03 -0700299 bluetooth.profile.opp.enabled?=true \
300 bluetooth.profile.pan.nap.enabled?=true \
301 bluetooth.profile.pan.panu.enabled?=true \
302 bluetooth.profile.pbap.server.enabled?=true \
Bharath4baf2322022-10-10 20:19:45 +0530303 bluetooth.profile.sap.server.enabled?=true
Etienne Ruffieux8ac2cec2022-01-20 21:27:18 +0000304
Sal Savagede026932022-04-25 16:42:15 -0700305# Set the Bluetooth Class of Device
306# Service Field: 0x5A -> 90
307# Bit 17: Networking
308# Bit 19: Capturing
309# Bit 20: Object Transfer
310# Bit 22: Telephony
311# MAJOR_CLASS: 0x02 -> 2 (Phone)
312# MINOR_CLASS: 0x0C -> 12 (Smart Phone)
313PRODUCT_PRODUCT_PROPERTIES += \
314 bluetooth.device.class_of_device=90,2,12
315
Bharath756d7dd2021-08-07 23:53:55 +0530316
Bharath12163282022-06-20 15:10:58 +0530317# Board platforms lists to be used for
318# TARGET_BOARD_PLATFORM specific featurization
319QCOM_BOARD_PLATFORMS += msm8953
320
321
Bharath756d7dd2021-08-07 23:53:55 +0530322# Boot
323PRODUCT_PACKAGES += \
324 android.hardware.boot@1.0-impl \
325 android.hardware.boot@1.0-impl.recovery \
326 android.hardware.boot@1.0-service \
327 bootctrl.msm8953 \
Bharathe341d1d2022-04-06 09:49:27 +0530328 bootctrl.msm8953.recovery \
Bharath756d7dd2021-08-07 23:53:55 +0530329 update_engine \
330 update_engine_client \
331 update_engine_sideload \
332 update_verifier
333
Bharath12163282022-06-20 15:10:58 +0530334# MSM updater library
335PRODUCT_PACKAGES += librecovery_updater_msm
336
337
338# Skip boot jars check
339SKIP_BOOT_JARS_CHECK := true
340
Bharath756d7dd2021-08-07 23:53:55 +0530341
342# Boot animation
343TARGET_SCREEN_HEIGHT := 2160
344TARGET_SCREEN_WIDTH := 1080
345
346
347PRODUCT_COPY_FILES += \
348 vendor/fairphone/media/bootanimation/bootanimation.zip:$(TARGET_COPY_OUT_PRODUCT)/media/bootanimation.zip
349
350
351# Camera
Bharathcbfb0a92021-08-19 21:13:50 +0530352PRODUCT_PACKAGES += \
353 android.frameworks.displayservice@1.0.vendor \
354 android.hidl.base@1.0.vendor \
355 android.hardware.camera.device@3.5 \
356 android.hardware.camera.provider@2.4 \
357 android.hardware.camera.provider@2.4-external \
358 android.hardware.camera.provider@2.4-impl \
359 android.hardware.camera.provider@2.4-legacy \
360 android.hardware.camera.provider@2.4-service \
361 android.hardware.camera.provider@2.6 \
362 camera.device@1.0-impl \
363 camera.device@3.5-impl \
364 camera.device@3.6-external-impl \
365 camera.msm8953 \
Bharathcbfb0a92021-08-19 21:13:50 +0530366 libcamera2ndk_vendor \
367 libhal_dbg \
Maarten Derks058c0ec2023-05-25 15:17:10 +0200368 libjni_burstpmk \
Bharathcbfb0a92021-08-19 21:13:50 +0530369 libmm-qcamera \
370 libmmcamera_interface \
371 libmmjpeg_interface \
372 libmmlib2d_interface \
373 libqomx_core \
374 libxml2 \
375 mm-qcamera-app \
376 vendor.qti.hardware.camera.device@1.0 \
377 vendor.qti.hardware.camera.device@1.0.vendor
378
379# Fairphone Camera
380PRODUCT_PACKAGES += \
381 FairphoneCamera
382
383# Arcsoft camera libraries
384PRODUCT_PACKAGES += \
385 libarcimageprocess \
386 libarcsoft_aiscenedetection \
387 libarcsoft_hdr_detection \
388 libarcsoft_high_dynamic_range \
389 libarcsoft_low_light_hdr \
390 libarcsoft_low_light_shot \
391 libarcsoft_object_tracking \
392 libarcsoft_panorama_burstcapture \
393 libarcsoft_singlecam_bokeh \
394 libarcsoft_videoautozoom \
Karsten Tausche5406ee32023-01-31 16:50:48 +0100395 libarcsoft_videostabs \
Bharathdfba02c2023-02-14 13:56:48 +0530396 libmpbase
Bharathcbfb0a92021-08-19 21:13:50 +0530397
Luca Weissaf8451b2023-03-15 14:12:20 +0100398# Arcsoft libraries segfault with scudo, use svelte for 32-bit only
399MALLOC_SVELTE_FOR_LIBC32 := true
400
Bharathcbfb0a92021-08-19 21:13:50 +0530401# Feature flags for camera
402PRODUCT_COPY_FILES += \
403 frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
404 frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
405 frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
406 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 +0530407
408
409# Component overrides
Bharathe025dac2022-08-02 15:02:41 +0530410PRODUCT_COPY_FILES += \
Bharath756d7dd2021-08-07 23:53:55 +0530411 $(FP_PATH)/configs/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml
412
413
Bharath12163282022-06-20 15:10:58 +0530414# Charger
415PRODUCT_PACKAGES += \
416 charger \
417 charger_res_images
418
419
420# Chromium
421PRODUCT_PACKAGES += \
422 libwebviewchromium_loader \
423 libwebviewchromium_plat_support
424
425
426# Curl
427PRODUCT_PACKAGES += \
428 curl \
429 libcurl
430
431
432# Data/rmnetctrl
433PRODUCT_PACKAGES += \
434 librmnetctl
435
leolee75d66582020-10-21 15:26:49 +0800436# IPV4
Karsten Tauscheec351ce2023-04-04 11:49:27 +0200437PRODUCT_SYSTEM_EXT_PROPERTIES += \
leolee75d66582020-10-21 15:26:49 +0800438 persist.vendor.data.profile_update=true
439
Bharathdec76372022-10-10 20:15:42 +0530440PRODUCT_VENDOR_PROPERTIES += ro.telephony.iwlan_operation_mode=legacy
Bharatha701c6b2022-07-25 17:26:28 +0530441
Bharath12163282022-06-20 15:10:58 +0530442
Jiakai Zhange915cae2022-05-20 14:56:44 +0100443# Preopt SystemUI
444PRODUCT_DEXPREOPT_SPEED_APPS += SystemUI # For AOSP
445
446
Bharath756d7dd2021-08-07 23:53:55 +0530447# Display
448PRODUCT_PACKAGES += \
449 android.hardware.graphics.allocator@2.0-impl \
450 android.hardware.graphics.allocator@2.0-service \
451 android.hardware.graphics.composer@2.1-service \
452 android.hardware.graphics.mapper@2.0-impl-2.1 \
453 android.hardware.memtrack@1.0-impl \
454 android.hardware.memtrack@1.0-service \
455 gralloc.default \
456 gralloc.msm8953 \
457 hwcomposer.msm8953 \
Bharath756d7dd2021-08-07 23:53:55 +0530458 libdisplayconfig \
Bharath12163282022-06-20 15:10:58 +0530459 libdisplayconfig.qti \
460 libdrm \
461 libgralloc.qti \
Bharath756d7dd2021-08-07 23:53:55 +0530462 libqdMetaData \
Bharath12163282022-06-20 15:10:58 +0530463 libqdutils \
Bharath756d7dd2021-08-07 23:53:55 +0530464 libvulkan \
Bharath12163282022-06-20 15:10:58 +0530465 memtrack.msm8953 \
Bharath756d7dd2021-08-07 23:53:55 +0530466 vendor.qti.hardware.display.composer@3.0
467
468
469# Vendor Display
470# Disable skip validate
Bharathdec76372022-10-10 20:15:42 +0530471PRODUCT_VENDOR_PROPERTIES += \
Bharath756d7dd2021-08-07 23:53:55 +0530472 vendor.display.disable_skip_validate=1
473
Bharathdec76372022-10-10 20:15:42 +0530474PRODUCT_VENDOR_PROPERTIES += ro.hardware.vulkan=adreno
475PRODUCT_VENDOR_PROPERTIES += ro.hardware.egl=adreno
Bharatha701c6b2022-07-25 17:26:28 +0530476
Bharath756d7dd2021-08-07 23:53:55 +0530477
478# Display Properties
479PRODUCT_AAPT_CONFIG := normal
480PRODUCT_AAPT_PREF_CONFIG := xxhdpi
481
482
483# DRM
484PRODUCT_PACKAGES += \
Edwin Wong8de56c72021-03-25 00:19:58 -0700485 android.hardware.drm@1.4-service.clearkey
Bharath756d7dd2021-08-07 23:53:55 +0530486
487
Pradeep Chenthatib4c3c102021-10-19 20:07:52 +0530488# Elabel
489PRODUCT_PACKAGES += \
490 eLabel.html.gz \
491 eLabel1.png \
492 eLabel2.png \
493 FAIRPHONE.html.gz \
494 FAIRPHONE.png
495
496
Bharath756d7dd2021-08-07 23:53:55 +0530497# Enable vndk-sp Libraries
498PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true
499TARGET_USES_MKE2FS := true
500
501PRODUCT_PACKAGES += \
502 vndk_package
503
504
505# Encryption
Bharathdec76372022-10-10 20:15:42 +0530506PRODUCT_VENDOR_PROPERTIES += ro.crypto.allow_encrypt_override=true
507PRODUCT_VENDOR_PROPERTIES += ro.crypto.volume.filenames_mode=aes-256-cts
Bharath756d7dd2021-08-07 23:53:55 +0530508
509
Bharath12163282022-06-20 15:10:58 +0530510# E2fsck
511PRODUCT_PACKAGES += \
512 e2fsck
513
Bharath44ee36f2022-05-02 15:37:19 +0530514
Bharathe341d1d2022-04-06 09:49:27 +0530515# Fastbootd
516PRODUCT_PACKAGES += fastbootd
517
518
Bharath756d7dd2021-08-07 23:53:55 +0530519# FBE support
520PRODUCT_COPY_FILES += \
521 $(FP_PATH)/init.qti.qseecomd.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qti.qseecomd.sh
522
523
Bharath1710e062021-08-20 11:30:47 +0530524# Feature flags and permissions
525PRODUCT_COPY_FILES += \
526 frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
527 frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \
528 frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \
529 frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \
530 frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
531 frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
532 frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
533 frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \
534 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 +0530535 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 +0530536 frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
537 frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
538 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 +0530539 frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \
540 frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \
541 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 +0800542 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 +0530543 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 +0530544 frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
545
Bharath1dcb6512021-08-20 00:41:08 +0530546# Fingerprint
547PRODUCT_PACKAGES += \
548 android.hardware.biometrics.fingerprint@2.1 \
549 android.hardware.biometrics.fingerprint@2.1-service \
550 elan_device.rc \
551 fingerprint.default
552
553# Fingerprint files
554include $(FP_PATH)/elan_lib/fingerprint/elan_lib.mk
555
556# Fingerprint feature flag
557PRODUCT_COPY_FILES += \
Luca Weiss9656b9c2022-03-03 11:15:21 +0100558 frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/android.hardware.fingerprint.xml
Bharath1dcb6512021-08-20 00:41:08 +0530559
560
Bharath756d7dd2021-08-07 23:53:55 +0530561# Framework Detect
562PRODUCT_PACKAGES += \
563 libqti_vndfwk_detect \
564 libqti_vndfwk_detect.vendor \
565 libvndfwk_detect_jni.qti \
566 libvndfwk_detect_jni.qti.vendor \
567 vndservicemanager
568
Bharath12163282022-06-20 15:10:58 +0530569# FRP
Bharathdec76372022-10-10 20:15:42 +0530570PRODUCT_VENDOR_PROPERTIES += ro.frp.pst=/dev/block/bootdevice/by-name/config
Bharath12163282022-06-20 15:10:58 +0530571
Bharath756d7dd2021-08-07 23:53:55 +0530572
573# HIDL
574PRODUCT_PACKAGES += \
575 android.hidl.base@1.0 \
576 libhidltransport \
577 libhidltransport.vendor \
578 libhwbinder \
579 libhwbinder.vendor
580
581
Bharath1710e062021-08-20 11:30:47 +0530582# GPS
583BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default
Luca Weissa8a60262022-02-28 15:00:31 +0100584LOC_HIDL_VERSION := 4.0
Bharath1710e062021-08-20 11:30:47 +0530585
586PRODUCT_PACKAGES += \
Bharath70cf2ae2022-02-14 12:13:50 +0530587 android.hardware.gnss@2.1-impl-qti \
Bharath1710e062021-08-20 11:30:47 +0530588 android.hardware.gnss@2.1-service-qti \
589 libbatching \
590 libgeofencing \
591 libgnss \
592 libjson \
593 libwifi-hal-ctrl \
594 libgps.utils
595
596PRODUCT_PACKAGES += \
597 flp.conf \
598 gps.conf
599
600# gps/location secuity configuration file
601PRODUCT_COPY_FILES += \
602 $(FP_PATH)/configs/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config
603
604# Permissions
605PRODUCT_COPY_FILES += \
606 frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml
607
Bharathdec76372022-10-10 20:15:42 +0530608PRODUCT_VENDOR_PROPERTIES += \
Bharath12163282022-06-20 15:10:58 +0530609 persist.backup.ntpServer=0.pool.ntp.org
610
Bharath1710e062021-08-20 11:30:47 +0530611
Bharath756d7dd2021-08-07 23:53:55 +0530612# Health
613PRODUCT_PACKAGES += \
614 android.hardware.health@2.1-impl \
615 android.hardware.health@2.1-impl.recovery \
616 android.hardware.health@2.1-service
617
618# IMS
619PRODUCT_PACKAGES += \
620 ims-ext-common \
621 ims_ext_common.xml \
622 ConfURIDialer
623
Bharath12163282022-06-20 15:10:58 +0530624
625# Init
626PRODUCT_PACKAGES += \
627 fstab.qcom \
628 init.class_main.sh \
629 init.crda.sh \
Karsten Tauschee270bad2022-08-22 15:41:19 +0200630 init.legacy_prop.rc \
Bharath12163282022-06-20 15:10:58 +0530631 init.mdm.sh \
632 init.qcom.class_core.sh \
Bharath12163282022-06-20 15:10:58 +0530633 init.qcom.early_boot.sh \
Bharath12163282022-06-20 15:10:58 +0530634 init.qcom.factory.rc \
635 init.qcom.post_boot.sh \
636 init.qcom.rc \
Bharath12163282022-06-20 15:10:58 +0530637 init.qcom.sensors.sh \
638 init.qcom.sh \
639 init.qcom.usb.rc \
640 init.qcom.usb.sh \
641 init.recovery.qcom.rc \
642 init.target.rc \
643 init.veth_ipa_config.sh \
Bharath12163282022-06-20 15:10:58 +0530644 ueventd.qcom.rc \
645 vold.fstab
646
647#intialise PRODUCT_PACKAGES_DEBUG list for debug modules
Bharath12163282022-06-20 15:10:58 +0530648#Add init.qcom.test.rc to PRODUCT_PACKAGES_DEBUG list
Bharath12163282022-06-20 15:10:58 +0530649PRODUCT_PACKAGES_DEBUG += \
Karsten Tauschece117af2022-11-28 12:46:06 +0100650 init.qcom.test.rc \
651 init.qcom.debug.sh
Bharath12163282022-06-20 15:10:58 +0530652
653
654# IP and iptables
655PRODUCT_PACKAGES += \
656 ip \
657 libiprouteutil \
658 iptables \
659 ip-up-vpn \
660 libext
661
662
Bharath756d7dd2021-08-07 23:53:55 +0530663# IPACM
664PRODUCT_PACKAGES += \
665 ipacm \
666 IPACM_cfg.xml \
667 libipanat \
668 liboffloadhal \
669 libqsap_sdk
670
671# IRQ
672PRODUCT_COPY_FILES += \
673 $(FP_PATH)/configs/msm_irqbalance.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance.conf \
674 $(FP_PATH)/configs/msm_irqbalance_little_big.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance_little_big.conf
675
676
677# Kernel modules
678# Kernel modules install path
679KERNEL_MODULES_INSTALL := dlkm
680KERNEL_MODULES_OUT := out/target/product/$(PRODUCT_NAME)/$(KERNEL_MODULES_INSTALL)/lib/modules
Bharath12163282022-06-20 15:10:58 +0530681KERNEL_TO_BUILD_ROOT_OFFSET := ../../
682
683
684# Key layouts
685PRODUCT_PACKAGES += \
686 ft5x06_ts.kl \
687 gpio-keys.kl \
688 synaptics_dsx.kl \
689 synaptics_dsxv26.kl \
690 synaptics_rmi4_i2c.kl
Bharath756d7dd2021-08-07 23:53:55 +0530691
692
Bharatha701c6b2022-07-25 17:26:28 +0530693# Keystore
Bharathdec76372022-10-10 20:15:42 +0530694PRODUCT_VENDOR_PROPERTIES += ro.hardware.keystore_desede=true
Bharatha701c6b2022-07-25 17:26:28 +0530695
696
Bharath756d7dd2021-08-07 23:53:55 +0530697# LED packages
698PRODUCT_PACKAGES += \
699 android.hardware.light@2.0-impl \
700 android.hardware.light@2.0-service \
701 lights.msm8953
702
703
704# Media / StagefrightCodec 2.0
Bharathdec76372022-10-10 20:15:42 +0530705PRODUCT_VENDOR_PROPERTIES += debug.stagefright.omx_default_rank=0
Bharath756d7dd2021-08-07 23:53:55 +0530706
Bharathe3615be2021-08-18 22:25:42 +0530707# Enable features in video HAL that can compile only on this platform
Bharath12163282022-06-20 15:10:58 +0530708MSM_VIDC_TARGET_LIST := msm8953
Bharathe3615be2021-08-18 22:25:42 +0530709TARGET_USES_MEDIA_EXTENSIONS := true
710
711
Bharath4c762882022-10-10 20:15:40 +0530712#
713# media profiles and media codecs xmls
714#
715# We select non-default xmls in system partition with the properties.
716PRODUCT_SYSTEM_PROPERTIES += \
Karsten Tauscheda4fb3f2022-11-23 18:43:11 +0100717 ro.media.xml_variant.codecs=_vendor
Bharath4c762882022-10-10 20:15:40 +0530718
719PRODUCT_COPY_FILES += \
720 $(FP_PATH)/media/media_codecs_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor.xml \
721 $(FP_PATH)/media/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \
Karsten Tauscheda4fb3f2022-11-23 18:43:11 +0100722 $(FP_PATH)/media/media_profiles_8953.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml
Bharath4c762882022-10-10 20:15:40 +0530723
724# media files for GSI - using default paths
Bharathe3615be2021-08-18 22:25:42 +0530725PRODUCT_COPY_FILES += \
Bharathe3615be2021-08-18 22:25:42 +0530726 $(FP_PATH)/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
Bharathe3615be2021-08-18 22:25:42 +0530727 $(FP_PATH)/media/media_codecs_performance_8953.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
Bharath4c762882022-10-10 20:15:40 +0530728 $(FP_PATH)/media/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
Bharath12163282022-06-20 15:10:58 +0530729
730PRODUCT_COPY_FILES += \
731 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
732 frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
733 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
734 frameworks/av/media/libstagefright/data/media_codecs_google_video_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video_le.xml \
735 frameworks/av/media/libstagefright/data/media_codecs_google_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2.xml \
736 frameworks/av/media/libstagefright/data/media_codecs_google_c2_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_audio.xml \
737 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 +0530738
Bharath756d7dd2021-08-07 23:53:55 +0530739
Bharath8d5d3992022-10-10 20:15:30 +0530740# Disable media transcoding
741PRODUCT_VENDOR_PROPERTIES += \
742 persist.sys.fuse.transcode_user_control=true \
743 persist.sys.fuse.transcode_enabled=false
744
745
Bharath756d7dd2021-08-07 23:53:55 +0530746# NFC
Bharath1710e062021-08-20 11:30:47 +0530747PRODUCT_PACKAGES += \
Bharath4c28e932022-10-10 20:23:25 +0530748 NfcNci \
Bharath1710e062021-08-20 11:30:47 +0530749 Tag \
750 com.android.nfc_extras \
751 com.nxp.nfc.nq \
752 com.nxp.nfc.nq.xml \
753 libnqnfc-nci \
Bharath1710e062021-08-20 11:30:47 +0530754 nfc_nci.nqx.default.hw \
755 vendor.nxp.hardware.nfc@2.0-service
756
757# Permissions
758PRODUCT_COPY_FILES += \
759 frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
760 frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.android.nfc_extras.xml \
761 frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
762 frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
763 frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
764 frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
765 frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
766 vendor/nxp/opensource/halimpl/halimpl/libnfc-nci.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nci.conf \
767 vendor/nxp/opensource/halimpl/SN100x/halimpl/libnfc-nci.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nci_SN100.conf
Bharath756d7dd2021-08-07 23:53:55 +0530768
769
770# OMX
771PRODUCT_PACKAGES += \
772 libavservices_minijail.vendor \
773 libc2dcolorconvert \
774 libOmxAacEnc \
775 libOmxAmrEnc \
776 libOmxCore \
777 libOmxEvrcEnc \
778 libOmxQcelp13Enc \
779 libOmxVdec \
780 libOmxVenc \
781 libqomx_core \
782 libaacwrapper \
783 libmm-omxcore \
784 libstagefrighthw \
785 libstagefright_softomx.vendor
786
787
788#
789# system prop for opengles version
790#
791# 196608 is decimal for 0x30000 to report major/minor versions as 3/0
792# 196609 is decimal for 0x30001 to report major/minor versions as 3/1
793# 196610 is decimal for 0x30002 to report major/minor versions as 3/2
Bharathdec76372022-10-10 20:15:42 +0530794PRODUCT_VENDOR_PROPERTIES += \
Bharath756d7dd2021-08-07 23:53:55 +0530795 ro.opengles.version=196610
796
797
Bharath12163282022-06-20 15:10:58 +0530798# AOSP Packages
799PRODUCT_PACKAGES += \
800 DeskClock \
801 Calendar \
802 CalendarProvider \
803 Camera2 \
804 CertInstaller \
805 Gallery2 \
806 LatinIME \
807 Launcher3 \
808 LiveWallpapersPicker \
809 Music \
810 netutils-wrapper-1.0 \
811 Provision \
812 Protips \
813 QuickSearchBox \
814 Settings \
815 Stk \
816 SystemUI \
817
818
Jason Changa2f3d762020-04-28 06:58:32 +0800819# Set support one-handed mode
820PRODUCT_PRODUCT_PROPERTIES += \
821 ro.support_one_handed_mode=true
822
823
Bharath756d7dd2021-08-07 23:53:55 +0530824# Perf
825PRODUCT_COPY_FILES += \
826 $(FP_PATH)/configs/powerhint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.xml
827
Bharathdec76372022-10-10 20:15:42 +0530828PRODUCT_VENDOR_PROPERTIES += \
Bharath12163282022-06-20 15:10:58 +0530829 persist.vendor.qcomsysd.enabled=1 \
830 ro.vendor.extension_library=libqti-perfd-client.so \
831 sys.vendor.shutdown.waittime=500
832
Bharath756d7dd2021-08-07 23:53:55 +0530833
834# Power
835PRODUCT_PACKAGES += \
836 android.hardware.power@1.0-impl \
837 android.hardware.power@1.0-service \
838 power.qcom
839
840
Bharath756d7dd2021-08-07 23:53:55 +0530841# privapp-permissions whitelisting
Bharathdec76372022-10-10 20:15:42 +0530842PRODUCT_VENDOR_PROPERTIES += ro.control_privapp_permissions=enforce
Bharath756d7dd2021-08-07 23:53:55 +0530843
844
845# Protobuf
846PRODUCT_PACKAGES += \
847 libprotobuf-cpp-full \
848 libprotobuf-cpp-full-vendorcompat \
849 libprotobuf-cpp-lite-vendorcompat
850
851
Bharath12163282022-06-20 15:10:58 +0530852# include additional QCOM build utilities
Bharath8e773362022-10-05 09:42:57 +0530853include $(FP_PATH)/utils.mk
Bharath12163282022-06-20 15:10:58 +0530854
Bharath756d7dd2021-08-07 23:53:55 +0530855# RIL properties
Bharathdec76372022-10-10 20:15:42 +0530856PRODUCT_VENDOR_PROPERTIES += vendor.rild.libpath=/vendor/lib64/libril-qc-qmi-1.so
Bharath756d7dd2021-08-07 23:53:55 +0530857#vendor prop to disable advanced network scanning
Bharathdec76372022-10-10 20:15:42 +0530858PRODUCT_VENDOR_PROPERTIES += \
Bharath756d7dd2021-08-07 23:53:55 +0530859 persist.vendor.radio.enableadvancedscan=false
860
Bharath12163282022-06-20 15:10:58 +0530861# Enable Dual SIM by default
Bharathdec76372022-10-10 20:15:42 +0530862PRODUCT_VENDOR_PROPERTIES += persist.radio.multisim.config=dsds
Bharath12163282022-06-20 15:10:58 +0530863
Bharathdec76372022-10-10 20:15:42 +0530864PRODUCT_VENDOR_PROPERTIES += \
Bharath12163282022-06-20 15:10:58 +0530865 persist.vendor.radio.apm_sim_not_pwdn=1 \
866 persist.vendor.radio.sib16_support=1 \
867 persist.vendor.radio.custom_ecc=1 \
868 persist.vendor.radio.rat_on=combine \
869 persist.vendor.radio.procedure_bytes=SKIP
870
Bharath756d7dd2021-08-07 23:53:55 +0530871
872# RenderScript
873PRODUCT_PACKAGES += \
874 android.hardware.renderscript@1.0-impl
875
876
877# SDCard
878# default is nosdcard, S/W button enabled in resource
879PRODUCT_CHARACTERISTICS := nosdcard
880
881
882# Seccomp
883PRODUCT_COPY_FILES += \
884 $(FP_PATH)/seccomp/mediacodec-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
885 $(FP_PATH)/seccomp/mediaextractor-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaextractor.policy
886
887
Bharath1710e062021-08-20 11:30:47 +0530888# Secure Element
889PRODUCT_PACKAGES += \
890 android.hardware.secure_element@1.2
891
892
Bharathca82a242022-08-18 19:48:51 +0530893# Sound Recorder
894PRODUCT_PACKAGES += \
895 QtiSoundRecorder
896
897
Bharath756d7dd2021-08-07 23:53:55 +0530898# System helper
899PRODUCT_PACKAGES += \
900 vendor.qti.hardware.systemhelper@1.0
901
902
903# Service tracker
904PRODUCT_PACKAGES += \
905 vendor.qti.hardware.servicetracker@1.2.vendor
906
907
Bharatha60665d2021-08-19 09:37:22 +0530908# Sensors
909PRODUCT_PACKAGES += \
910 sensors.FP3 \
911 android.hardware.sensors@1.0-impl \
912 android.hardware.sensors@1.0-service \
913 libsensorndkbridge
914
915# Sensor HAL conf file
916PRODUCT_COPY_FILES += \
917 $(FP_PATH)/configs/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf
918
919# Feature definition files for msm8953
920PRODUCT_COPY_FILES += \
921 frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
922 frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
923 frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
924 frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
925 frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
926 frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
927 frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml
928
929
Bharath756d7dd2021-08-07 23:53:55 +0530930# Telephony Permissions
Bharath12163282022-06-20 15:10:58 +0530931# whitelisted app
932PRODUCT_COPY_FILES += \
Bharath8e773362022-10-05 09:42:57 +0530933 $(FP_PATH)/configs/qti_whitelist.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/sysconfig/qti_whitelist.xml
Bharath12163282022-06-20 15:10:58 +0530934
935PRODUCT_COPY_FILES += \
Bharath8e773362022-10-05 09:42:57 +0530936 $(FP_PATH)/configs/privapp-permissions-qti.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/privapp-permissions-qti.xml
Bharath12163282022-06-20 15:10:58 +0530937
938# Telephony wrappers
939PRODUCT_PACKAGES += \
940 qti-telephony-hidl-wrapper \
941 qti_telephony_hidl_wrapper.xml \
942 qti-telephony-utils \
943 qti_telephony_utils.xml
Bharath756d7dd2021-08-07 23:53:55 +0530944
945
946# Thermal
947PRODUCT_PACKAGES += \
Bharathdd838772023-05-21 13:03:24 +0530948 android.hardware.thermal@2.0-service.qti
Bharath756d7dd2021-08-07 23:53:55 +0530949
950
951# Tinyxml
952PRODUCT_PACKAGES += \
953 libtinyxml
954
955# USB
956PRODUCT_PACKAGES += \
957 android.hardware.usb@1.0-service
958
959-include vendor/qcom/opensource/usb/vendor_product.mk
960
961
962# Vendor move
963PRODUCT_VENDOR_MOVE_ENABLED := true
964
965
966# Vibrator
967PRODUCT_PACKAGES += \
968 android.hardware.vibrator@1.0-impl \
Bharath12163282022-06-20 15:10:58 +0530969 android.hardware.vibrator@1.0-service \
970 vendor.qti.hardware.vibrator.service
971
972PRODUCT_COPY_FILES += \
973 vendor/qcom/opensource/vibrator/excluded-input-devices.xml:$(TARGET_COPY_OUT_VENDOR)/etc/excluded-input-devices.xml
Bharath756d7dd2021-08-07 23:53:55 +0530974
975
Bharathed255712021-08-14 20:37:05 +0530976# WiFi
977# WLAN drivers
978PRODUCT_COPY_FILES += \
979 $(FP_PATH)/wifi/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_qcom_cfg.ini \
980 $(FP_PATH)/wifi/WCNSS_wlan_dictionary.dat:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_wlan_dictionary.dat \
981 $(FP_PATH)/wifi/WCNSS_qcom_wlan_nv.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/wlan/prima/WCNSS_qcom_wlan_nv.bin # From Android 10
982
983# Flag to check if wcnss_service is built from source
984TARGET_USE_WCNSS_HAL := false
985
986# If building from source then drop proprietary dependency
987ifeq ($(TARGET_USE_WCNSS_HAL),true)
988TARGET_USES_QCOM_WCNSS_QMI := false
Bharath70cf2ae2022-02-14 12:13:50 +0530989
990PRODUCT_PACKAGES += \
991 libwcnss_qmi \
992 wcnss_service
Bharathed255712021-08-14 20:37:05 +0530993endif
994
995# WiFi HAL
996PRODUCT_PACKAGES += \
997 android.hardware.wifi@1.0-service
998
Bharath12163282022-06-20 15:10:58 +0530999# WLAN DLKM
1000PRODUCT_PACKAGES += \
1001 pronto_wlan.ko
1002
Bharathed255712021-08-14 20:37:05 +05301003# WiFi Components
1004PRODUCT_PACKAGES += \
1005 hostapd \
1006 hostapd.accept \
1007 hostapd.deny \
1008 hostapd_cli \
1009 hostapd_default.conf \
1010 libnl \
1011 libqsap_sdk \
Bharathed255712021-08-14 20:37:05 +05301012 libwifi-hal-qcom \
1013 libwpa_client \
1014 p2p_supplicant_overlay.conf \
1015 vendor.qti.hardware.wifi.supplicant@1.0.vendor \
Bharathed255712021-08-14 20:37:05 +05301016 wificond \
1017 wpa_cli \
1018 wpa_supplicant.conf \
1019 wpa_supplicant \
1020 wpa_supplicant_overlay.conf \
1021 WifiOverlay \
1022 TetheringConfigOverlay
1023
Karsten Tausche234d0742022-12-09 16:59:29 +01001024# Configure legacy Qualcomm wpa_supplicant_8_lib path for CFI
1025PRODUCT_CFI_INCLUDE_PATHS += \
1026 hardware/qcom/wlan/qcwcn/wpa_supplicant_8_lib
Bharathed255712021-08-14 20:37:05 +05301027
Bharath12163282022-06-20 15:10:58 +05301028# Zlib
1029PRODUCT_HOST_PACKAGES += minigzip
1030
1031
Bharath83dcc442022-10-10 20:16:21 +05301032# Enable zygote critical window.
1033PRODUCT_VENDOR_OVERRIDES += \
1034 zygote.critical_window.minute=10
1035
1036
Bharath756d7dd2021-08-07 23:53:55 +05301037# Call the proprietary setup
Bharatha3a85a72022-05-23 17:50:24 +05301038FP3_PROPRIETARY_PATH := device/fairphone/fp3-proprietary
Bharatha3a85a72022-05-23 17:50:24 +05301039
jenkins-agentd4bf5932023-11-22 11:24:28 +01001040DEVICE_BLOB_VERSION := 6.A.023
Francesco Salvatore03117482019-02-28 16:39:11 +01001041
1042GET_BLOBS_CMD = vendor/fairphone/tools/bin/get_blobs.py --device FP3 --build-id $(DEVICE_BLOB_VERSION) --blobs-dir $(FP3_PROPRIETARY_PATH)
1043
1044# Check the presence of proprietary blobs
1045ifeq ("$(wildcard $(FP3_PROPRIETARY_PATH)/device-vendor.mk)","")
1046define BLOBS_INSTRUCTION
1047Cannot find FP3 binary blobs.
1048Please run
1049 $(GET_BLOBS_CMD)
1050and accept the terms of agreement.
1051endef
1052$(error $(BLOBS_INSTRUCTION))
1053endif
1054
Bharath756d7dd2021-08-07 23:53:55 +05301055# Call this in the end so that flags if required can be utilized.
Bharatha3a85a72022-05-23 17:50:24 +05301056$(call inherit-product, $(FP3_PROPRIETARY_PATH)/device-vendor.mk)
1057
Bharath12163282022-06-20 15:10:58 +05301058# Build some more display components to vendor
1059$(call inherit-product, vendor/qcom/opensource/commonsys-intf/display/config/display-interfaces-product.mk)
Bharath756d7dd2021-08-07 23:53:55 +05301060###################################################################################