blob: 21baec3898849668d8015838a99bed7c9183e4cd [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
Wilson Sung54b067e2021-03-03 18:08:45 +080063# Set system properties identifying the chipset
64PRODUCT_VENDOR_PROPERTIES += ro.soc.manufacturer=QTI
65PRODUCT_VENDOR_PROPERTIES += ro.soc.model=SDM450
66
67
Bharath756d7dd2021-08-07 23:53:55 +053068# We don't have the calibration data as this sort of
69# data can only be generated at the factory so don't generate persist.img
70FP3_SKIP_PERSIST_IMG := true
71
Bharath80ba1872021-08-21 11:53:57 +053072
73# Operator specific overlays
74DEVICE_PACKAGE_OVERLAYS += \
75 $(LOCAL_PATH)/overlay-operators
76
Bharath756d7dd2021-08-07 23:53:55 +053077# Overlays
78DEVICE_PACKAGE_OVERLAYS += \
79 $(LOCAL_PATH)/overlay
80
81
82# A/B related defines
83AB_OTA_UPDATER := true
Luca Weissd6c3ca12022-07-13 16:24:08 +020084AB_OTA_PARTITIONS := \
85 aboot \
86 cmnlib64 \
87 cmnlib \
88 devcfg \
89 dsp \
Bharath756d7dd2021-08-07 23:53:55 +053090 dtbo \
Luca Weissd6c3ca12022-07-13 16:24:08 +020091 keymaster \
92 lksecapp \
93 mdtp \
94 modem \
95 rpm \
96 sbl1 \
97 tz \
Bharath756d7dd2021-08-07 23:53:55 +053098 vbmeta \
Luca Weissd6c3ca12022-07-13 16:24:08 +020099 boot \
100 system \
Bharath756d7dd2021-08-07 23:53:55 +0530101 vendor
102
103
Bharath756d7dd2021-08-07 23:53:55 +0530104PRODUCT_PACKAGES += \
Bharath756d7dd2021-08-07 23:53:55 +0530105 update_engine_sideload
106
Bharath776a9712022-03-18 00:00:41 +0530107# Dynamic Partition
108# Enable retrofit dynamic partitions for FP3
109PRODUCT_USE_DYNAMIC_PARTITIONS := true
110PRODUCT_RETROFIT_DYNAMIC_PARTITIONS := true
111
112# Additional OTA partitions
113ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS), true)
114AB_OTA_PARTITIONS += \
115 odm \
116 product \
117 system_ext
118
119# Check OTA update status
120PRODUCT_PACKAGES += check_dynamic_partitions
121
122# Ramdisk fstab file
123PRODUCT_PACKAGES += fstab_ramdisk.qcom
124
125AB_OTA_POSTINSTALL_CONFIG += \
126 RUN_POSTINSTALL_product=true \
127 POSTINSTALL_PATH_product=bin/check_dynamic_partitions \
128 FILESYSTEM_TYPE_product=ext4 \
129 POSTINSTALL_OPTIONAL_product=false
130
131endif
Bharath756d7dd2021-08-07 23:53:55 +0530132
Bharath2307d3b2022-01-06 22:23:25 +0530133# APN
134PRODUCT_COPY_FILES += \
135 $(LOCAL_PATH)/apns-conf.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/apns-conf.xml
136
137
Bharath756d7dd2021-08-07 23:53:55 +0530138# AVB
139BOARD_AVB_ENABLE := true
140
141
142# Additional native libraries
143PRODUCT_COPY_FILES += \
144 $(FP_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt
145
146
Bharath12163282022-06-20 15:10:58 +0530147# OEM Unlock reporting
Bharathdec76372022-10-10 20:15:42 +0530148PRODUCT_VENDOR_PROPERTIES += \
Bharath12163282022-06-20 15:10:58 +0530149 ro.oem_unlock_supported=1
150
151
Bharath756d7dd2021-08-07 23:53:55 +0530152# Atrace HAL
153PRODUCT_PACKAGES += \
154 android.hardware.atrace@1.0-service
155
156
157# Audio
Bharath756d7dd2021-08-07 23:53:55 +0530158PRODUCT_PACKAGES += \
Mikhail Naganovb0f62432021-02-17 02:16:06 +0000159 android.hardware.audio@7.0 \
160 android.hardware.audio.common@7.0 \
161 android.hardware.audio.common@7.0-util \
162 android.hardware.audio@7.0-impl \
163 android.hardware.audio.effect@7.0 \
164 android.hardware.audio.effect@7.0-impl \
Bharath756d7dd2021-08-07 23:53:55 +0530165 android.hardware.audio.service \
166 android.hardware.soundtrigger@2.1-impl \
Bharath756d7dd2021-08-07 23:53:55 +0530167 audio.primary.msm8953 \
168 audio.r_submix.default \
169 audio.usb.default \
170 libaacwrapper \
171 libaudio-resampler \
172 libautohal \
173 libqcompostprocbundle \
174 libqcomvisualizer \
175 libqcomvoiceprocessing \
176 libvolumelistener \
177 tinymix
178
179
Bharathf96fea32022-10-05 09:43:16 +0530180AUDIO_HAL_PATH := hardware/qcom/audio
Bharath756d7dd2021-08-07 23:53:55 +0530181
182# Audio files
183PRODUCT_COPY_FILES += \
Bharath756d7dd2021-08-07 23:53:55 +0530184 $(AUDIO_HAL_PATH)/configs/msm8953/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \
185 $(AUDIO_HAL_PATH)/configs/msm8953/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
186 $(AUDIO_HAL_PATH)/configs/msm8953/audio_output_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_output_policy.conf \
187 $(AUDIO_HAL_PATH)/configs/msm8953/audio_platform_info_intcodec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_intcodec.xml \
188 $(AUDIO_HAL_PATH)/configs/msm8953/audio_platform_info_sku3_tasha.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_sku3_tasha.xml \
189 $(AUDIO_HAL_PATH)/configs/msm8953/audio_platform_info_sku4.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_sku4.xml \
190 $(AUDIO_HAL_PATH)/configs/msm8953/audio_platform_info_tasha.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_tasha.xml \
191 $(AUDIO_HAL_PATH)/configs/msm8953/audio_platform_info_tashalite.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_tashalite.xml \
192 $(AUDIO_HAL_PATH)/configs/msm8953/audio_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy.conf \
193 $(AUDIO_HAL_PATH)/configs/msm8953/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \
194 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
195 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths_mtp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_mtp.xml \
196 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths_sku3_tasha.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_sku3_tasha.xml \
197 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths_sku4.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_sku4.xml \
198 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths_tasha.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tasha.xml \
199 $(AUDIO_HAL_PATH)/configs/msm8953/mixer_paths_tashalite.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tashalite.xml \
200 $(AUDIO_HAL_PATH)/configs/msm8953/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml \
201 $(AUDIO_HAL_PATH)/configs/msm8953/sound_trigger_mixer_paths_wcd9306.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9306.xml \
202 $(AUDIO_HAL_PATH)/configs/msm8953/sound_trigger_mixer_paths_wcd9330.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9330.xml \
203 $(AUDIO_HAL_PATH)/configs/msm8953/sound_trigger_mixer_paths_wcd9335.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9335.xml \
204 $(AUDIO_HAL_PATH)/configs/msm8953/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml
205
206
207# Audio config files
208PRODUCT_COPY_FILES += \
Mikhail Naganovb0f62432021-02-17 02:16:06 +0000209 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 +0530210 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 +0000211 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 +0530212 frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
213 frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
214 frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml
215
216# Custom config files
217PRODUCT_COPY_FILES += \
218 $(FP_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml
219
220
221# Audio firmware files
222PRODUCT_COPY_FILES += \
223 $(FP_PATH)/aw/aw8898_cfg.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/aw8898_cfg.bin \
224 $(FP_PATH)/tas2557_fw/OBO_0617_music.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/tas2557_uCDSP.bin \
225 $(FP_PATH)/tas2557_fw/tas2557evm_OBO_0617.ftcfg:$(TARGET_COPY_OUT_VENDOR)/firmware/tas2557evm_aacspk_a.ftcfg
226
227
228# Audio Specific device overlays
229DEVICE_PACKAGE_OVERLAYS += $(AUDIO_HAL_PATH)/configs/common/overlay
230
231
232# Audio Specific properties
233# Properties
234-include $(LOCAL_PATH)/audio_properties.mk
235
236
237# Audio Kernel modules
238AUDIO_DLKM := audio_apr.ko
239AUDIO_DLKM += audio_q6_notifier.ko
240AUDIO_DLKM += audio_adsp_loader.ko
241AUDIO_DLKM += audio_q6.ko
242AUDIO_DLKM += audio_usf.ko
243AUDIO_DLKM += audio_pinctrl_wcd.ko
244AUDIO_DLKM += audio_swr.ko
245AUDIO_DLKM += audio_wcd_core.ko
246AUDIO_DLKM += audio_swr_ctrl.ko
247AUDIO_DLKM += audio_wsa881x.ko
248AUDIO_DLKM += audio_wsa881x_analog.ko
249AUDIO_DLKM += audio_platform.ko
250AUDIO_DLKM += audio_cpe_lsm.ko
251AUDIO_DLKM += audio_hdmi.ko
252AUDIO_DLKM += audio_stub.ko
253AUDIO_DLKM += audio_wcd9xxx.ko
254AUDIO_DLKM += audio_mbhc.ko
255AUDIO_DLKM += audio_wcd9335.ko
256AUDIO_DLKM += audio_wcd_cpe.ko
257AUDIO_DLKM += audio_digital_cdc.ko
258AUDIO_DLKM += audio_analog_cdc.ko
259AUDIO_DLKM += audio_native.ko
260AUDIO_DLKM += audio_machine_sdm450.ko
261AUDIO_DLKM += audio_machine_ext_sdm450.ko
262PRODUCT_PACKAGES += $(AUDIO_DLKM)
263
264
Bharath9cdcce22021-12-08 15:43:43 +0530265# Automation/ATS
266PRODUCT_PACKAGES += \
267 automation_setup \
268 automation_adb_setup
269
270
Bharathfe661fb2021-08-16 18:56:32 +0530271# ANT
272PRODUCT_PACKAGES += \
273 AntHalService \
274 antradio_app \
275 com.dsi.ant@1.0 \
Bharath70cf2ae2022-02-14 12:13:50 +0530276 com.dsi.ant@1.0.vendor \
Bharathfe661fb2021-08-16 18:56:32 +0530277 libantradio
278
Bharath756d7dd2021-08-07 23:53:55 +0530279# Bluetooth
Bharathfe661fb2021-08-16 18:56:32 +0530280PRODUCT_PACKAGES += \
Bharathfe661fb2021-08-16 18:56:32 +0530281 audio.bluetooth.default \
282 android.hardware.bluetooth.audio@2.0-impl \
283 android.hardware.bluetooth@1.0 \
284 vendor.qti.hardware.bluetooth_audio@2.0 \
Bharath19ec3492022-03-14 10:22:26 +0530285 vendor.qti.hardware.bluetooth_audio@2.1.vendor
Bharathfe661fb2021-08-16 18:56:32 +0530286
287# Bluetooth Permissions
288PRODUCT_COPY_FILES += \
289 frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
290 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 +0530291
Etienne Ruffieux8ac2cec2022-01-20 21:27:18 +0000292# Bluetooth Properties
Sal Savage776e8102022-02-04 09:40:38 -0800293# Set supported Bluetooth profiles to enabled
Etienne Ruffieux8ac2cec2022-01-20 21:27:18 +0000294PRODUCT_PRODUCT_PROPERTIES += \
Sal Savage776e8102022-02-04 09:40:38 -0800295 bluetooth.profile.asha.central.enabled=true \
296 bluetooth.profile.a2dp.source.enabled=true \
297 bluetooth.profile.avrcp.target.enabled=true \
298 bluetooth.profile.bap.broadcast.assist.enabled=true \
299 bluetooth.profile.bap.unicast.server.enabled=true \
300 bluetooth.profile.bas.client.enabled=true \
301 bluetooth.profile.csip.set_coordinator.enabled=true \
302 bluetooth.profile.gatt.enabled=true \
303 bluetooth.profile.hap.client.enabled=true \
304 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 \
308 bluetooth.profile.mcp.server.enabled=true \
309 bluetooth.profile.opp.enabled=true \
310 bluetooth.profile.pan.nap.enabled=true \
311 bluetooth.profile.pan.panu.enabled=true \
312 bluetooth.profile.pbap.server.enabled=true \
313 bluetooth.profile.sap.server.enabled=true \
314 bluetooth.profile.tbs.server.enabled=true \
315 bluetooth.profile.vc.server.enabled=true
Etienne Ruffieux8ac2cec2022-01-20 21:27:18 +0000316
Bharath756d7dd2021-08-07 23:53:55 +0530317
Bharath12163282022-06-20 15:10:58 +0530318# Board platforms lists to be used for
319# TARGET_BOARD_PLATFORM specific featurization
320QCOM_BOARD_PLATFORMS += msm8953
321
322
Bharath756d7dd2021-08-07 23:53:55 +0530323# Boot
324PRODUCT_PACKAGES += \
325 android.hardware.boot@1.0-impl \
326 android.hardware.boot@1.0-impl.recovery \
327 android.hardware.boot@1.0-service \
328 bootctrl.msm8953 \
Bharathe341d1d2022-04-06 09:49:27 +0530329 bootctrl.msm8953.recovery \
Bharath756d7dd2021-08-07 23:53:55 +0530330 update_engine \
331 update_engine_client \
332 update_engine_sideload \
333 update_verifier
334
Bharath12163282022-06-20 15:10:58 +0530335# MSM updater library
336PRODUCT_PACKAGES += librecovery_updater_msm
337
338
339# Skip boot jars check
340SKIP_BOOT_JARS_CHECK := true
341
Bharath756d7dd2021-08-07 23:53:55 +0530342
343# Boot animation
344TARGET_SCREEN_HEIGHT := 2160
345TARGET_SCREEN_WIDTH := 1080
346
347
348PRODUCT_COPY_FILES += \
349 vendor/fairphone/media/bootanimation/bootanimation.zip:$(TARGET_COPY_OUT_PRODUCT)/media/bootanimation.zip
350
351
352# Camera
Bharathcbfb0a92021-08-19 21:13:50 +0530353PRODUCT_PACKAGES += \
354 android.frameworks.displayservice@1.0.vendor \
355 android.hidl.base@1.0.vendor \
356 android.hardware.camera.device@3.5 \
357 android.hardware.camera.provider@2.4 \
358 android.hardware.camera.provider@2.4-external \
359 android.hardware.camera.provider@2.4-impl \
360 android.hardware.camera.provider@2.4-legacy \
361 android.hardware.camera.provider@2.4-service \
362 android.hardware.camera.provider@2.6 \
363 camera.device@1.0-impl \
364 camera.device@3.5-impl \
365 camera.device@3.6-external-impl \
366 camera.msm8953 \
Bharathcbfb0a92021-08-19 21:13:50 +0530367 libcamera2ndk_vendor \
368 libhal_dbg \
369 libjni_burstpmk \
370 libjni_imageutil \
371 libjni_snapcammosaic \
372 libjni_snapcamtinyplanet \
373 libmm-qcamera \
374 libmmcamera_interface \
375 libmmjpeg_interface \
376 libmmlib2d_interface \
377 libqomx_core \
378 libxml2 \
379 mm-qcamera-app \
380 vendor.qti.hardware.camera.device@1.0 \
381 vendor.qti.hardware.camera.device@1.0.vendor
382
383# Fairphone Camera
384PRODUCT_PACKAGES += \
385 FairphoneCamera
386
387# Arcsoft camera libraries
388PRODUCT_PACKAGES += \
389 libarcimageprocess \
390 libarcsoft_aiscenedetection \
391 libarcsoft_hdr_detection \
392 libarcsoft_high_dynamic_range \
393 libarcsoft_low_light_hdr \
394 libarcsoft_low_light_shot \
395 libarcsoft_object_tracking \
396 libarcsoft_panorama_burstcapture \
397 libarcsoft_singlecam_bokeh \
398 libarcsoft_videoautozoom \
399 libarcsoft_videostabs \
400 libmpbase \
401 libmpbase.vendor
402
403# Feature flags for camera
404PRODUCT_COPY_FILES += \
405 frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
406 frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
407 frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
408 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 +0530409
410
411# Component overrides
Bharathe025dac2022-08-02 15:02:41 +0530412PRODUCT_COPY_FILES += \
Bharath756d7dd2021-08-07 23:53:55 +0530413 $(FP_PATH)/configs/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml
414
415
Bharath12163282022-06-20 15:10:58 +0530416# Charger
417PRODUCT_PACKAGES += \
418 charger \
419 charger_res_images
420
421
422# Chromium
423PRODUCT_PACKAGES += \
424 libwebviewchromium_loader \
425 libwebviewchromium_plat_support
426
427
428# Curl
429PRODUCT_PACKAGES += \
430 curl \
431 libcurl
432
433
434# Data/rmnetctrl
435PRODUCT_PACKAGES += \
436 librmnetctl
437
leolee75d66582020-10-21 15:26:49 +0800438# IPV4
Bharathdec76372022-10-10 20:15:42 +0530439PRODUCT_VENDOR_PROPERTIES += \
leolee75d66582020-10-21 15:26:49 +0800440 persist.vendor.data.profile_update=true
441
Bharathdec76372022-10-10 20:15:42 +0530442PRODUCT_VENDOR_PROPERTIES += ro.telephony.iwlan_operation_mode=legacy
Bharatha701c6b2022-07-25 17:26:28 +0530443
Bharath12163282022-06-20 15:10:58 +0530444
Bharath756d7dd2021-08-07 23:53:55 +0530445# Display
446PRODUCT_PACKAGES += \
447 android.hardware.graphics.allocator@2.0-impl \
448 android.hardware.graphics.allocator@2.0-service \
449 android.hardware.graphics.composer@2.1-service \
450 android.hardware.graphics.mapper@2.0-impl-2.1 \
451 android.hardware.memtrack@1.0-impl \
452 android.hardware.memtrack@1.0-service \
453 gralloc.default \
454 gralloc.msm8953 \
455 hwcomposer.msm8953 \
Bharath756d7dd2021-08-07 23:53:55 +0530456 libdisplayconfig \
Bharath12163282022-06-20 15:10:58 +0530457 libdisplayconfig.qti \
458 libdrm \
459 libgralloc.qti \
Bharath756d7dd2021-08-07 23:53:55 +0530460 libqdMetaData \
Bharath12163282022-06-20 15:10:58 +0530461 libqdutils \
Bharath756d7dd2021-08-07 23:53:55 +0530462 libvulkan \
Bharath12163282022-06-20 15:10:58 +0530463 memtrack.msm8953 \
Bharath756d7dd2021-08-07 23:53:55 +0530464 vendor.qti.hardware.display.composer@3.0
465
466
467# Vendor Display
468# Disable skip validate
Bharathdec76372022-10-10 20:15:42 +0530469PRODUCT_VENDOR_PROPERTIES += \
Bharath756d7dd2021-08-07 23:53:55 +0530470 vendor.display.disable_skip_validate=1
471
Bharathdec76372022-10-10 20:15:42 +0530472PRODUCT_VENDOR_PROPERTIES += ro.hardware.vulkan=adreno
473PRODUCT_VENDOR_PROPERTIES += ro.hardware.egl=adreno
Bharatha701c6b2022-07-25 17:26:28 +0530474
Bharath756d7dd2021-08-07 23:53:55 +0530475
476# Display Properties
477PRODUCT_AAPT_CONFIG := normal
478PRODUCT_AAPT_PREF_CONFIG := xxhdpi
479
480
481# DRM
482PRODUCT_PACKAGES += \
Edwin Wong8de56c72021-03-25 00:19:58 -0700483 android.hardware.drm@1.4-service.clearkey
Bharath756d7dd2021-08-07 23:53:55 +0530484
485
Pradeep Chenthatib4c3c102021-10-19 20:07:52 +0530486# Elabel
487PRODUCT_PACKAGES += \
488 eLabel.html.gz \
489 eLabel1.png \
490 eLabel2.png \
491 FAIRPHONE.html.gz \
492 FAIRPHONE.png
493
494
Bharath756d7dd2021-08-07 23:53:55 +0530495# Enable vndk-sp Libraries
496PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true
497TARGET_USES_MKE2FS := true
498
499PRODUCT_PACKAGES += \
500 vndk_package
501
502
503# Encryption
Bharathdec76372022-10-10 20:15:42 +0530504PRODUCT_VENDOR_PROPERTIES += ro.crypto.allow_encrypt_override=true
505PRODUCT_VENDOR_PROPERTIES += ro.crypto.volume.filenames_mode=aes-256-cts
Bharath756d7dd2021-08-07 23:53:55 +0530506
507
Bharath12163282022-06-20 15:10:58 +0530508# E2fsck
509PRODUCT_PACKAGES += \
510 e2fsck
511
Bharath44ee36f2022-05-02 15:37:19 +0530512
Bharathe341d1d2022-04-06 09:49:27 +0530513# Fastbootd
514PRODUCT_PACKAGES += fastbootd
515
516
Bharath756d7dd2021-08-07 23:53:55 +0530517# FBE support
518PRODUCT_COPY_FILES += \
519 $(FP_PATH)/init.qti.qseecomd.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qti.qseecomd.sh
520
521
Bharath1710e062021-08-20 11:30:47 +0530522# Feature flags and permissions
523PRODUCT_COPY_FILES += \
524 frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
525 frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \
526 frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \
527 frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \
528 frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
529 frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
530 frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
531 frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \
532 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 +0530533 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 +0530534 frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
535 frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
536 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 +0530537 frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \
538 frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \
539 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 +0800540 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 +0530541 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 +0530542 frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
543
Bharath1dcb6512021-08-20 00:41:08 +0530544# Fingerprint
545PRODUCT_PACKAGES += \
546 android.hardware.biometrics.fingerprint@2.1 \
547 android.hardware.biometrics.fingerprint@2.1-service \
548 elan_device.rc \
549 fingerprint.default
550
551# Fingerprint files
552include $(FP_PATH)/elan_lib/fingerprint/elan_lib.mk
553
554# Fingerprint feature flag
555PRODUCT_COPY_FILES += \
Luca Weiss9656b9c2022-03-03 11:15:21 +0100556 frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/android.hardware.fingerprint.xml
Bharath1dcb6512021-08-20 00:41:08 +0530557
558
Bharath756d7dd2021-08-07 23:53:55 +0530559# Framework Detect
560PRODUCT_PACKAGES += \
561 libqti_vndfwk_detect \
562 libqti_vndfwk_detect.vendor \
563 libvndfwk_detect_jni.qti \
564 libvndfwk_detect_jni.qti.vendor \
565 vndservicemanager
566
Bharath12163282022-06-20 15:10:58 +0530567# FRP
Bharathdec76372022-10-10 20:15:42 +0530568PRODUCT_VENDOR_PROPERTIES += ro.frp.pst=/dev/block/bootdevice/by-name/config
Bharath12163282022-06-20 15:10:58 +0530569
Bharath756d7dd2021-08-07 23:53:55 +0530570
571# HIDL
572PRODUCT_PACKAGES += \
573 android.hidl.base@1.0 \
574 libhidltransport \
575 libhidltransport.vendor \
576 libhwbinder \
577 libhwbinder.vendor
578
579
Bharath1710e062021-08-20 11:30:47 +0530580# GPS
581BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default
Luca Weissa8a60262022-02-28 15:00:31 +0100582LOC_HIDL_VERSION := 4.0
Bharath1710e062021-08-20 11:30:47 +0530583
584PRODUCT_PACKAGES += \
Bharath70cf2ae2022-02-14 12:13:50 +0530585 android.hardware.gnss@2.1-impl-qti \
Bharath1710e062021-08-20 11:30:47 +0530586 android.hardware.gnss@2.1-service-qti \
587 libbatching \
588 libgeofencing \
589 libgnss \
590 libjson \
591 libwifi-hal-ctrl \
592 libgps.utils
593
594PRODUCT_PACKAGES += \
595 flp.conf \
596 gps.conf
597
598# gps/location secuity configuration file
599PRODUCT_COPY_FILES += \
600 $(FP_PATH)/configs/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config
601
602# Permissions
603PRODUCT_COPY_FILES += \
604 frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml
605
Bharathdec76372022-10-10 20:15:42 +0530606PRODUCT_VENDOR_PROPERTIES += \
Bharath12163282022-06-20 15:10:58 +0530607 persist.backup.ntpServer=0.pool.ntp.org
608
Bharath1710e062021-08-20 11:30:47 +0530609
Bharath756d7dd2021-08-07 23:53:55 +0530610# Health
611PRODUCT_PACKAGES += \
612 android.hardware.health@2.1-impl \
613 android.hardware.health@2.1-impl.recovery \
614 android.hardware.health@2.1-service
615
616# IMS
617PRODUCT_PACKAGES += \
618 ims-ext-common \
619 ims_ext_common.xml \
620 ConfURIDialer
621
Bharath12163282022-06-20 15:10:58 +0530622
623# Init
624PRODUCT_PACKAGES += \
625 fstab.qcom \
626 init.class_main.sh \
627 init.crda.sh \
Karsten Tauschee270bad2022-08-22 15:41:19 +0200628 init.legacy_prop.rc \
Bharath12163282022-06-20 15:10:58 +0530629 init.mdm.sh \
630 init.qcom.class_core.sh \
631 init.qcom.coex.sh \
632 init.qcom.early_boot.sh \
633 init.qcom.efs.sync.sh \
634 init.qcom.factory.rc \
635 init.qcom.post_boot.sh \
636 init.qcom.rc \
637 init.qcom.sdio.sh \
638 init.qcom.sensors.sh \
639 init.qcom.sh \
640 init.qcom.usb.rc \
641 init.qcom.usb.sh \
642 init.recovery.qcom.rc \
643 init.target.rc \
644 init.veth_ipa_config.sh \
645 qca6234-service.sh \
646 ueventd.qcom.rc \
647 vold.fstab
648
649#intialise PRODUCT_PACKAGES_DEBUG list for debug modules
Luca Weiss2327bfb2022-07-13 09:47:07 +0200650PRODUCT_PACKAGES_DEBUG += init.qcom.testscripts.sh
Bharath12163282022-06-20 15:10:58 +0530651
652#Add init.qcom.test.rc to PRODUCT_PACKAGES_DEBUG list
653PRODUCT_PACKAGES_DEBUG += init.qcom.test.rc
654PRODUCT_PACKAGES_DEBUG += init.qcom.debug.sh
655
656ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
657PRODUCT_COPY_FILES += \
Bharath8e773362022-10-05 09:42:57 +0530658 $(FP_PATH)/rootdir/etc/init.qcom.testscripts.sh:$(TARGET_COPY_OUT_PRODUCT)/etc/init.qcom.testscripts.sh
Bharath12163282022-06-20 15:10:58 +0530659endif
660
661PRODUCT_PACKAGES_DEBUG += \
662 init.qcom.debug.sh \
663 init.qcom.debug-sdm660.sh \
664 init.qcom.debug-sdm710.sh \
665 init.qti.debug-msmnile-apps.sh \
666 init.qti.debug-msmnile-modem.sh \
667 init.qti.debug-msmnile-slpi.sh \
668 init.qti.debug-talos.sh \
669 init.qti.debug-msmnile.sh \
670 init.qti.debug-kona.sh \
671 init.qti.debug-lito.sh \
672 init.qti.debug-trinket.sh \
673 init.qti.debug-atoll.sh \
674 init.qti.debug-lagoon.sh \
675 init.qti.debug-bengal.sh
676
677
678# IP and iptables
679PRODUCT_PACKAGES += \
680 ip \
681 libiprouteutil \
682 iptables \
683 ip-up-vpn \
684 libext
685
686
Bharath756d7dd2021-08-07 23:53:55 +0530687# IPACM
688PRODUCT_PACKAGES += \
689 ipacm \
690 IPACM_cfg.xml \
691 libipanat \
692 liboffloadhal \
693 libqsap_sdk
694
695# IRQ
696PRODUCT_COPY_FILES += \
697 $(FP_PATH)/configs/msm_irqbalance.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance.conf \
698 $(FP_PATH)/configs/msm_irqbalance_little_big.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance_little_big.conf
699
700
701# Kernel modules
702# Kernel modules install path
703KERNEL_MODULES_INSTALL := dlkm
704KERNEL_MODULES_OUT := out/target/product/$(PRODUCT_NAME)/$(KERNEL_MODULES_INSTALL)/lib/modules
Bharath12163282022-06-20 15:10:58 +0530705KERNEL_TO_BUILD_ROOT_OFFSET := ../../
706
707
708# Key layouts
709PRODUCT_PACKAGES += \
710 ft5x06_ts.kl \
711 gpio-keys.kl \
712 synaptics_dsx.kl \
713 synaptics_dsxv26.kl \
714 synaptics_rmi4_i2c.kl
Bharath756d7dd2021-08-07 23:53:55 +0530715
716
Bharatha701c6b2022-07-25 17:26:28 +0530717# Keystore
Bharathdec76372022-10-10 20:15:42 +0530718PRODUCT_VENDOR_PROPERTIES += ro.hardware.keystore_desede=true
Bharatha701c6b2022-07-25 17:26:28 +0530719
720
Bharath756d7dd2021-08-07 23:53:55 +0530721# LED packages
722PRODUCT_PACKAGES += \
723 android.hardware.light@2.0-impl \
724 android.hardware.light@2.0-service \
725 lights.msm8953
726
727
728# Media / StagefrightCodec 2.0
Bharathdec76372022-10-10 20:15:42 +0530729PRODUCT_VENDOR_PROPERTIES += debug.stagefright.omx_default_rank=0
Bharath756d7dd2021-08-07 23:53:55 +0530730
Bharathe3615be2021-08-18 22:25:42 +0530731# Enable features in video HAL that can compile only on this platform
Bharath12163282022-06-20 15:10:58 +0530732MSM_VIDC_TARGET_LIST := msm8953
Bharathe3615be2021-08-18 22:25:42 +0530733TARGET_USES_MEDIA_EXTENSIONS := true
734
735
Bharath4c762882022-10-10 20:15:40 +0530736#
737# media profiles and media codecs xmls
738#
739# We select non-default xmls in system partition with the properties.
740PRODUCT_SYSTEM_PROPERTIES += \
741 ro.media.xml_variant.codecs=_vendor \
742 ro.media.xml_variant.profiles=_8953_v1
743
744PRODUCT_COPY_FILES += \
745 $(FP_PATH)/media/media_codecs_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor.xml \
746 $(FP_PATH)/media/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \
747 $(FP_PATH)/media/media_profiles_8953_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_8953_v1.xml
748
749# media files for GSI - using default paths
Bharathe3615be2021-08-18 22:25:42 +0530750PRODUCT_COPY_FILES += \
Bharathe3615be2021-08-18 22:25:42 +0530751 $(FP_PATH)/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
Bharathe3615be2021-08-18 22:25:42 +0530752 $(FP_PATH)/media/media_codecs_performance_8953.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
Bharath4c762882022-10-10 20:15:40 +0530753 $(FP_PATH)/media/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
Bharath12163282022-06-20 15:10:58 +0530754
755PRODUCT_COPY_FILES += \
756 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
757 frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
758 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
759 frameworks/av/media/libstagefright/data/media_codecs_google_video_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video_le.xml \
760 frameworks/av/media/libstagefright/data/media_codecs_google_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2.xml \
761 frameworks/av/media/libstagefright/data/media_codecs_google_c2_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_audio.xml \
762 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 +0530763
Bharath756d7dd2021-08-07 23:53:55 +0530764
Bharath8d5d3992022-10-10 20:15:30 +0530765# Disable media transcoding
766PRODUCT_VENDOR_PROPERTIES += \
767 persist.sys.fuse.transcode_user_control=true \
768 persist.sys.fuse.transcode_enabled=false
769
770
Bharath756d7dd2021-08-07 23:53:55 +0530771# NFC
Bharath1710e062021-08-20 11:30:47 +0530772PRODUCT_PACKAGES += \
Bharathcaaa78e2022-09-06 10:18:06 +0530773 NQNfcNci \
Bharath1710e062021-08-20 11:30:47 +0530774 Tag \
775 com.android.nfc_extras \
776 com.nxp.nfc.nq \
777 com.nxp.nfc.nq.xml \
778 libnqnfc-nci \
779 libnqnfc_nci_jni \
780 nfc_nci.nqx.default.hw \
781 vendor.nxp.hardware.nfc@2.0-service
782
783# Permissions
784PRODUCT_COPY_FILES += \
785 frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
786 frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.android.nfc_extras.xml \
787 frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
788 frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
789 frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
790 frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
791 frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
792 vendor/nxp/opensource/halimpl/halimpl/libnfc-nci.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nci.conf \
793 vendor/nxp/opensource/halimpl/SN100x/halimpl/libnfc-nci.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nci_SN100.conf
Bharath756d7dd2021-08-07 23:53:55 +0530794
795
796# OMX
797PRODUCT_PACKAGES += \
798 libavservices_minijail.vendor \
799 libc2dcolorconvert \
800 libOmxAacEnc \
801 libOmxAmrEnc \
802 libOmxCore \
803 libOmxEvrcEnc \
804 libOmxQcelp13Enc \
805 libOmxVdec \
806 libOmxVenc \
807 libqomx_core \
808 libaacwrapper \
809 libmm-omxcore \
810 libstagefrighthw \
811 libstagefright_softomx.vendor
812
813
814#
815# system prop for opengles version
816#
817# 196608 is decimal for 0x30000 to report major/minor versions as 3/0
818# 196609 is decimal for 0x30001 to report major/minor versions as 3/1
819# 196610 is decimal for 0x30002 to report major/minor versions as 3/2
Bharathdec76372022-10-10 20:15:42 +0530820PRODUCT_VENDOR_PROPERTIES += \
Bharath756d7dd2021-08-07 23:53:55 +0530821 ro.opengles.version=196610
822
823
Bharath12163282022-06-20 15:10:58 +0530824# AOSP Packages
825PRODUCT_PACKAGES += \
826 DeskClock \
827 Calendar \
828 CalendarProvider \
829 Camera2 \
830 CertInstaller \
831 Gallery2 \
832 LatinIME \
833 Launcher3 \
834 LiveWallpapersPicker \
835 Music \
836 netutils-wrapper-1.0 \
837 Provision \
838 Protips \
839 QuickSearchBox \
840 Settings \
841 Stk \
842 SystemUI \
843
844
Bharath756d7dd2021-08-07 23:53:55 +0530845# Perf
846PRODUCT_COPY_FILES += \
847 $(FP_PATH)/configs/powerhint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.xml
848
Bharathdec76372022-10-10 20:15:42 +0530849PRODUCT_VENDOR_PROPERTIES += \
Bharath12163282022-06-20 15:10:58 +0530850 persist.vendor.qcomsysd.enabled=1 \
851 ro.vendor.extension_library=libqti-perfd-client.so \
852 sys.vendor.shutdown.waittime=500
853
Bharath756d7dd2021-08-07 23:53:55 +0530854
855# Power
856PRODUCT_PACKAGES += \
857 android.hardware.power@1.0-impl \
858 android.hardware.power@1.0-service \
859 power.qcom
860
861
Bharath756d7dd2021-08-07 23:53:55 +0530862# privapp-permissions whitelisting
Bharathdec76372022-10-10 20:15:42 +0530863PRODUCT_VENDOR_PROPERTIES += ro.control_privapp_permissions=enforce
Bharath756d7dd2021-08-07 23:53:55 +0530864
865
866# Protobuf
867PRODUCT_PACKAGES += \
868 libprotobuf-cpp-full \
869 libprotobuf-cpp-full-vendorcompat \
870 libprotobuf-cpp-lite-vendorcompat
871
872
Bharath12163282022-06-20 15:10:58 +0530873# include additional QCOM build utilities
Bharath8e773362022-10-05 09:42:57 +0530874include $(FP_PATH)/utils.mk
Bharath12163282022-06-20 15:10:58 +0530875
Bharath756d7dd2021-08-07 23:53:55 +0530876# RIL properties
Bharathdec76372022-10-10 20:15:42 +0530877PRODUCT_VENDOR_PROPERTIES += vendor.rild.libpath=/vendor/lib64/libril-qc-qmi-1.so
Bharath756d7dd2021-08-07 23:53:55 +0530878#vendor prop to disable advanced network scanning
Bharathdec76372022-10-10 20:15:42 +0530879PRODUCT_VENDOR_PROPERTIES += \
Bharath756d7dd2021-08-07 23:53:55 +0530880 persist.vendor.radio.enableadvancedscan=false
881
Bharath12163282022-06-20 15:10:58 +0530882# Enable Dual SIM by default
Bharathdec76372022-10-10 20:15:42 +0530883PRODUCT_VENDOR_PROPERTIES += persist.radio.multisim.config=dsds
Bharath12163282022-06-20 15:10:58 +0530884
Bharathdec76372022-10-10 20:15:42 +0530885PRODUCT_VENDOR_PROPERTIES += \
Bharath12163282022-06-20 15:10:58 +0530886 persist.vendor.radio.apm_sim_not_pwdn=1 \
887 persist.vendor.radio.sib16_support=1 \
888 persist.vendor.radio.custom_ecc=1 \
889 persist.vendor.radio.rat_on=combine \
890 persist.vendor.radio.procedure_bytes=SKIP
891
Bharath756d7dd2021-08-07 23:53:55 +0530892
893# RenderScript
894PRODUCT_PACKAGES += \
895 android.hardware.renderscript@1.0-impl
896
897
898# SDCard
899# default is nosdcard, S/W button enabled in resource
900PRODUCT_CHARACTERISTICS := nosdcard
901
902
903# Seccomp
904PRODUCT_COPY_FILES += \
905 $(FP_PATH)/seccomp/mediacodec-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
906 $(FP_PATH)/seccomp/mediaextractor-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaextractor.policy
907
908
Bharath1710e062021-08-20 11:30:47 +0530909# Secure Element
910PRODUCT_PACKAGES += \
911 android.hardware.secure_element@1.2
912
913
Bharathca82a242022-08-18 19:48:51 +0530914# Sound Recorder
915PRODUCT_PACKAGES += \
916 QtiSoundRecorder
917
918
Bharath756d7dd2021-08-07 23:53:55 +0530919# System helper
920PRODUCT_PACKAGES += \
921 vendor.qti.hardware.systemhelper@1.0
922
923
924# Service tracker
925PRODUCT_PACKAGES += \
926 vendor.qti.hardware.servicetracker@1.2.vendor
927
928
Bharatha60665d2021-08-19 09:37:22 +0530929# Sensors
930PRODUCT_PACKAGES += \
931 sensors.FP3 \
932 android.hardware.sensors@1.0-impl \
933 android.hardware.sensors@1.0-service \
934 libsensorndkbridge
935
936# Sensor HAL conf file
937PRODUCT_COPY_FILES += \
938 $(FP_PATH)/configs/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf
939
940# Feature definition files for msm8953
941PRODUCT_COPY_FILES += \
942 frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
943 frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
944 frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
945 frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
946 frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
947 frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
948 frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml
949
950
Bharath756d7dd2021-08-07 23:53:55 +0530951# Telephony Permissions
Bharath12163282022-06-20 15:10:58 +0530952# whitelisted app
953PRODUCT_COPY_FILES += \
Bharath8e773362022-10-05 09:42:57 +0530954 $(FP_PATH)/configs/qti_whitelist.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/sysconfig/qti_whitelist.xml
Bharath12163282022-06-20 15:10:58 +0530955
956PRODUCT_COPY_FILES += \
Bharath8e773362022-10-05 09:42:57 +0530957 $(FP_PATH)/configs/privapp-permissions-qti.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/privapp-permissions-qti.xml
Bharath12163282022-06-20 15:10:58 +0530958
959# Telephony wrappers
960PRODUCT_PACKAGES += \
961 qti-telephony-hidl-wrapper \
962 qti_telephony_hidl_wrapper.xml \
963 qti-telephony-utils \
964 qti_telephony_utils.xml
Bharath756d7dd2021-08-07 23:53:55 +0530965
966
967# Thermal
968PRODUCT_PACKAGES += \
969 android.hardware.thermal@1.0-impl \
970 android.hardware.thermal@1.0-service
971
972
973# Tinyxml
974PRODUCT_PACKAGES += \
975 libtinyxml
976
977# USB
978PRODUCT_PACKAGES += \
979 android.hardware.usb@1.0-service
980
981-include vendor/qcom/opensource/usb/vendor_product.mk
982
983
984# Vendor move
985PRODUCT_VENDOR_MOVE_ENABLED := true
986
987
988# Vibrator
989PRODUCT_PACKAGES += \
990 android.hardware.vibrator@1.0-impl \
Bharath12163282022-06-20 15:10:58 +0530991 android.hardware.vibrator@1.0-service \
992 vendor.qti.hardware.vibrator.service
993
994PRODUCT_COPY_FILES += \
995 vendor/qcom/opensource/vibrator/excluded-input-devices.xml:$(TARGET_COPY_OUT_VENDOR)/etc/excluded-input-devices.xml
Bharath756d7dd2021-08-07 23:53:55 +0530996
997
Bharathed255712021-08-14 20:37:05 +0530998# WiFi
999# WLAN drivers
1000PRODUCT_COPY_FILES += \
1001 $(FP_PATH)/wifi/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_qcom_cfg.ini \
1002 $(FP_PATH)/wifi/WCNSS_wlan_dictionary.dat:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_wlan_dictionary.dat \
1003 $(FP_PATH)/wifi/WCNSS_qcom_wlan_nv.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/wlan/prima/WCNSS_qcom_wlan_nv.bin # From Android 10
1004
1005# Flag to check if wcnss_service is built from source
1006TARGET_USE_WCNSS_HAL := false
1007
1008# If building from source then drop proprietary dependency
1009ifeq ($(TARGET_USE_WCNSS_HAL),true)
1010TARGET_USES_QCOM_WCNSS_QMI := false
Bharath70cf2ae2022-02-14 12:13:50 +05301011
1012PRODUCT_PACKAGES += \
1013 libwcnss_qmi \
1014 wcnss_service
Bharathed255712021-08-14 20:37:05 +05301015endif
1016
1017# WiFi HAL
1018PRODUCT_PACKAGES += \
1019 android.hardware.wifi@1.0-service
1020
Bharath12163282022-06-20 15:10:58 +05301021# WLAN DLKM
1022PRODUCT_PACKAGES += \
1023 pronto_wlan.ko
1024
Bharathed255712021-08-14 20:37:05 +05301025# WiFi Components
1026PRODUCT_PACKAGES += \
1027 hostapd \
1028 hostapd.accept \
1029 hostapd.deny \
1030 hostapd_cli \
1031 hostapd_default.conf \
1032 libnl \
1033 libqsap_sdk \
Bharathed255712021-08-14 20:37:05 +05301034 libwifi-hal-qcom \
1035 libwpa_client \
1036 p2p_supplicant_overlay.conf \
1037 vendor.qti.hardware.wifi.supplicant@1.0.vendor \
Bharathed255712021-08-14 20:37:05 +05301038 wificond \
1039 wpa_cli \
1040 wpa_supplicant.conf \
1041 wpa_supplicant \
1042 wpa_supplicant_overlay.conf \
1043 WifiOverlay \
1044 TetheringConfigOverlay
1045
1046
Bharath12163282022-06-20 15:10:58 +05301047# Zlib
1048PRODUCT_HOST_PACKAGES += minigzip
1049
1050
Bharath83dcc442022-10-10 20:16:21 +05301051# Enable zygote critical window.
1052PRODUCT_VENDOR_OVERRIDES += \
1053 zygote.critical_window.minute=10
1054
1055
Bharath12163282022-06-20 15:10:58 +05301056#soong namespace for qssi vs vendor differentiation
1057SOONG_CONFIG_NAMESPACES += qssi_vs_vendor
1058SOONG_CONFIG_qssi_vs_vendor += qssi_or_vendor
1059SOONG_CONFIG_qssi_vs_vendor_qssi_or_vendor := vendor
1060
1061SOONG_CONFIG_NAMESPACES += aosp_vs_qva
1062SOONG_CONFIG_aosp_vs_qva += aosp_or_qva
1063ifeq ($(TARGET_FWK_SUPPORTS_FULL_VALUEADDS),true)
1064SOONG_CONFIG_aosp_vs_qva_aosp_or_qva := qva
1065else
1066SOONG_CONFIG_aosp_vs_qva_aosp_or_qva := aosp
1067endif
1068
1069SOONG_CONFIG_NAMESPACES += qtidisplaycommonsys
1070# Soong Keys
1071SOONG_CONFIG_qtidisplaycommonsys := displayconfig_enabled
1072# Soong Values
1073SOONG_CONFIG_qtidisplaycommonsys_displayconfig_enabled := true
1074
1075
Bharath756d7dd2021-08-07 23:53:55 +05301076# Call the proprietary setup
Bharatha3a85a72022-05-23 17:50:24 +05301077FP3_PROPRIETARY_PATH := device/fairphone/fp3-proprietary
Bharatha3a85a72022-05-23 17:50:24 +05301078
Karsten Tauscheff99b112022-09-19 12:04:31 +02001079DEVICE_BLOB_VERSION := 4.A.0017.2
Francesco Salvatore03117482019-02-28 16:39:11 +01001080
1081GET_BLOBS_CMD = vendor/fairphone/tools/bin/get_blobs.py --device FP3 --build-id $(DEVICE_BLOB_VERSION) --blobs-dir $(FP3_PROPRIETARY_PATH)
1082
1083# Check the presence of proprietary blobs
1084ifeq ("$(wildcard $(FP3_PROPRIETARY_PATH)/device-vendor.mk)","")
1085define BLOBS_INSTRUCTION
1086Cannot find FP3 binary blobs.
1087Please run
1088 $(GET_BLOBS_CMD)
1089and accept the terms of agreement.
1090endef
1091$(error $(BLOBS_INSTRUCTION))
1092endif
1093
Bharath756d7dd2021-08-07 23:53:55 +05301094# Call this in the end so that flags if required can be utilized.
Bharatha3a85a72022-05-23 17:50:24 +05301095$(call inherit-product, $(FP3_PROPRIETARY_PATH)/device-vendor.mk)
1096
Bharath12163282022-06-20 15:10:58 +05301097# Build some more display components to vendor
1098$(call inherit-product, vendor/qcom/opensource/commonsys-intf/display/config/display-interfaces-product.mk)
Bharath756d7dd2021-08-07 23:53:55 +05301099###################################################################################