blob: 29ecf1fa9081dd2e115a33263137dbe1081d479f [file] [log] [blame]
padarshree369942019-04-09 15:32:45 +05301#For QSSI, we build only the system image. Here we explicitly set the images
2#we build so there is no confusion.
Mulugeta Engdawfd11c892020-02-05 17:32:22 -08003
Mohamed Moussa2c8c5df2020-05-29 17:15:55 -07004#Enable product partition Native I/F. It is automatically set to current if
5#the shipping API level for the target is greater than 29
6PRODUCT_PRODUCT_VNDK_VERSION := current
7
8#Enable product partition Java I/F. It is automatically set to true if
9#the shipping API level for the target is greater than 29
10PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE := true
11
padarshree369942019-04-09 15:32:45 +053012PRODUCT_BUILD_SYSTEM_IMAGE := true
13PRODUCT_BUILD_SYSTEM_OTHER_IMAGE := false
14PRODUCT_BUILD_VENDOR_IMAGE := false
Divya Sharma10f07a42019-09-16 15:59:50 -070015PRODUCT_BUILD_SYSTEM_EXT_IMAGE := false
padarshree369942019-04-09 15:32:45 +053016PRODUCT_BUILD_ODM_IMAGE := false
17PRODUCT_BUILD_CACHE_IMAGE := false
Vinayak Soni48a17b22019-04-23 21:10:25 -070018PRODUCT_BUILD_USERDATA_IMAGE := false
padarshree369942019-04-09 15:32:45 +053019
20#Also, there is no need to build an OTA package as this will be done later
21#when we combine this system build with the non-system images.
22TARGET_SKIP_OTA_PACKAGE := true
23
David Ng716698c2018-03-23 12:30:23 -070024# Enable AVB 2.0
25BOARD_AVB_ENABLE := true
26
Mohamed Moussa48117032020-04-15 03:00:38 -070027# Set SYSTEMEXT_SEPARATE_PARTITION_ENABLE if was not already set (set earlier via build.sh).
28SYSTEMEXT_SEPARATE_PARTITION_ENABLE ?= false
29
Vinay Vermaca210fb2019-04-11 20:59:07 +053030#### Dynamic Partition Handling
31
32####
padarshr2cea79e2019-06-11 19:05:48 +053033
34# Retain the earlier default behavior i.e. ota config (dynamic partition was disabled if not set explicitly), so set
35# SHIPPING_API_LEVEL to 28 if it was not set earlier (this is generally set earlier via build.sh per-target)
36SHIPPING_API_LEVEL ?= 28
37
Tyler Wear0088d112020-06-11 14:57:34 -070038$(call inherit-product-if-exists, vendor/qcom/defs/product-defs/system/cne_url*.mk)
39
padarshr2cea79e2019-06-11 19:05:48 +053040#### Turning BOARD_DYNAMIC_PARTITION_ENABLE flag to TRUE will enable dynamic partition/super image creation.
41# Enable Dynamic partitions only for Q new launch devices.
42ifeq ($(SHIPPING_API_LEVEL),29)
Vinay Verma55d0bf62019-07-04 20:11:08 +053043 BOARD_DYNAMIC_PARTITION_ENABLE ?= true
44 PRODUCT_SHIPPING_API_LEVEL := 29
padarshr2cea79e2019-06-11 19:05:48 +053045else ifeq ($(SHIPPING_API_LEVEL),28)
Vinay Verma55d0bf62019-07-04 20:11:08 +053046 BOARD_DYNAMIC_PARTITION_ENABLE ?= false
47 $(call inherit-product, build/make/target/product/product_launched_with_p.mk)
padarshr2cea79e2019-06-11 19:05:48 +053048endif
Vinay Vermaca210fb2019-04-11 20:59:07 +053049
50ifneq ($(strip $(BOARD_DYNAMIC_PARTITION_ENABLE)),true)
51# Enable chain partition for system, to facilitate system-only OTA in Treble.
52BOARD_AVB_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
53BOARD_AVB_SYSTEM_ALGORITHM := SHA256_RSA2048
54BOARD_AVB_SYSTEM_ROLLBACK_INDEX := 0
55BOARD_AVB_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
Vinay Verma916e5e92019-05-27 20:40:44 +053056PRODUCT_BUILD_RAMDISK_IMAGE := false
Mulugeta Engdaw0a6d9202019-05-29 12:11:40 -070057PRODUCT_BUILD_PRODUCT_IMAGE := false
Vinay Vermaca210fb2019-04-11 20:59:07 +053058else
59PRODUCT_USE_DYNAMIC_PARTITIONS := true
60# Disable building the SUPER partition in this build. SUPER should be built
61# after QSSI has been merged with the SoC build.
Mohamed Moussa48117032020-04-15 03:00:38 -070062ifeq ($(SYSTEMEXT_SEPARATE_PARTITION_ENABLE), true)
63PRODUCT_BUILD_SYSTEM_EXT_IMAGE := true
64endif
Mulugeta Engdaw0a6d9202019-05-29 12:11:40 -070065PRODUCT_BUILD_PRODUCT_IMAGE := true
Vinay Vermaca210fb2019-04-11 20:59:07 +053066PRODUCT_BUILD_SUPER_PARTITION := false
Vinay Verma916e5e92019-05-27 20:40:44 +053067PRODUCT_BUILD_RAMDISK_IMAGE := true
Mohamed Moussa48117032020-04-15 03:00:38 -070068ifeq ($(SYSTEMEXT_SEPARATE_PARTITION_ENABLE), true)
69BOARD_AVB_VBMETA_SYSTEM := system system_ext product
70else
sureshc6bbe502020-04-14 13:19:09 -070071BOARD_AVB_VBMETA_SYSTEM := system product
Mohamed Moussa48117032020-04-15 03:00:38 -070072endif
Vinay Vermaca210fb2019-04-11 20:59:07 +053073BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
74BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
75BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
76BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
77endif
78#### Dynamic Partition Handling
79
Vinayak Sonib0b9f0a2019-02-26 14:55:51 -080080PRODUCT_SOONG_NAMESPACES += \
81 hardware/google/av \
82 hardware/google/interfaces
83
Smita Ghoshaaafcc72018-11-30 16:12:53 -080084VENDOR_QTI_PLATFORM := msmnile
85VENDOR_QTI_DEVICE := qssi
86
87#QSSI configuration
88#Single system image project structure
89TARGET_USES_QSSI := true
90
Mulugeta Engdawfd11c892020-02-05 17:32:22 -080091TARGET_USES_NEW_ION := true
92
padarshr0f476a12019-01-14 19:44:35 +053093ENABLE_AB ?= true
94
David Ng716698c2018-03-23 12:30:23 -070095TARGET_DEFINES_DALVIK_HEAP := true
padarshr1ebabf02018-12-14 19:20:10 +053096$(call inherit-product, device/qcom/qssi/common64.mk)
David Ng716698c2018-03-23 12:30:23 -070097
98#Inherit all except heap growth limit from phone-xhdpi-2048-dalvik-heap.mk
99PRODUCT_PROPERTY_OVERRIDES += \
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800100 dalvik.vm.heapstartsize=8m \
101 dalvik.vm.heapsize=512m \
102 dalvik.vm.heaptargetutilization=0.75 \
103 dalvik.vm.heapminfree=512k \
104 dalvik.vm.heapmaxfree=8m
David Ng716698c2018-03-23 12:30:23 -0700105
David Ng716698c2018-03-23 12:30:23 -0700106
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800107PRODUCT_NAME := $(VENDOR_QTI_DEVICE)
108PRODUCT_DEVICE := $(VENDOR_QTI_DEVICE)
109PRODUCT_BRAND := qti
110PRODUCT_MODEL := qssi system image for arm64
David Ng716698c2018-03-23 12:30:23 -0700111
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800112#Initial bringup flags
113TARGET_USES_AOSP := false
114TARGET_USES_AOSP_FOR_AUDIO := false
115TARGET_USES_QCOM_BSP := false
116
117# RRO configuration
118TARGET_USES_RRO := true
119
Vinayak Soni7a7faff2019-01-15 22:27:27 -0800120TARGET_USES_NQ_NFC := true
David Ng716698c2018-03-23 12:30:23 -0700121
Mohamed Moussa48117032020-04-15 03:00:38 -0700122
David Ng716698c2018-03-23 12:30:23 -0700123# default is nosdcard, S/W button enabled in resource
124PRODUCT_CHARACTERISTICS := nosdcard
David Ng716698c2018-03-23 12:30:23 -0700125BOARD_FRP_PARTITION_NAME := frp
126
David Ng716698c2018-03-23 12:30:23 -0700127#Android EGL implementation
128PRODUCT_PACKAGES += libGLES_android
129
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800130PRODUCT_BOOT_JARS += tcmiface
131PRODUCT_BOOT_JARS += telephony-ext
David Ng716698c2018-03-23 12:30:23 -0700132PRODUCT_PACKAGES += telephony-ext
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800133
David Ng716698c2018-03-23 12:30:23 -0700134TARGET_ENABLE_QC_AV_ENHANCEMENTS := false
135
Paresh Purabhiyaea59eb12019-11-28 12:43:00 +0530136TARGET_SYSTEM_PROP += device/qcom/qssi/system.prop
137
David Ng716698c2018-03-23 12:30:23 -0700138TARGET_DISABLE_DASH := true
Anurudh Kumar Tiwarief2e1dc2019-03-14 23:52:14 +0530139TARGET_DISABLE_QTI_VPP := true
David Ng716698c2018-03-23 12:30:23 -0700140
141ifneq ($(TARGET_DISABLE_DASH), true)
142 PRODUCT_BOOT_JARS += qcmediaplayer
143endif
144
Vinayak Soni3e453c72018-12-10 00:35:58 -0800145#Project is missing on sdm845, comment it for now
146#ifneq ($(strip $(QCPATH)),)
147# PRODUCT_BOOT_JARS += libprotobuf-java_mls
148#endif
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800149
David Ng716698c2018-03-23 12:30:23 -0700150PRODUCT_PACKAGES += android.hardware.media.omx@1.0-impl
151
152# Audio configuration file
Naresh Tanniru4ea70d92019-01-30 21:36:44 +0530153-include $(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/qssi/qssi.mk
Ajit Pandey2a752832020-01-13 13:28:45 +0530154-include $(TOPDIR)vendor/qcom/opensource/commonsys/audio/configs/qssi/qssi.mk
Pawan Chilkab5c0a622019-02-18 21:23:01 +0530155AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
Pawan Chilkab5c0a622019-02-18 21:23:01 +0530156USE_LIB_PROCESS_GROUP := true
157
David Ng716698c2018-03-23 12:30:23 -0700158PRODUCT_PACKAGES += fs_config_files
159
padarshr0f476a12019-01-14 19:44:35 +0530160ifeq ($(ENABLE_AB), true)
David Ng716698c2018-03-23 12:30:23 -0700161#A/B related packages
162PRODUCT_PACKAGES += update_engine \
163 update_engine_client \
164 update_verifier \
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800165 bootctrl.msmnile \
David Ng716698c2018-03-23 12:30:23 -0700166 android.hardware.boot@1.0-impl \
167 android.hardware.boot@1.0-service
168
Divya Sharma4e022e62019-03-21 17:45:23 -0700169PRODUCT_HOST_PACKAGES += \
Ravi Kiran Kasula6f09cd12019-03-31 20:40:25 -0700170 brillo_update_payload
Divya Sharma4e022e62019-03-21 17:45:23 -0700171
David Ng716698c2018-03-23 12:30:23 -0700172#Boot control HAL test app
173PRODUCT_PACKAGES_DEBUG += bootctl
padarshr0f476a12019-01-14 19:44:35 +0530174endif
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800175
176#Healthd packages
177PRODUCT_PACKAGES += \
178 android.hardware.health@1.0-impl \
179 android.hardware.health@1.0-convert \
180 android.hardware.health@1.0-service \
181 libhealthd.msm
182
padarshr563490e2019-01-14 19:51:22 +0530183DEVICE_FRAMEWORK_MANIFEST_FILE := device/qcom/qssi/framework_manifest.xml
Deepthi Gunturi2f662b62019-01-21 11:51:14 +0530184DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := vendor/qcom/opensource/core-utils/vendor_framework_compatibility_matrix.xml
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800185
Nitin Shivpured00592e2019-02-03 00:59:01 +0530186#audio related module
187PRODUCT_PACKAGES += libvolumelistener
David Ng716698c2018-03-23 12:30:23 -0700188
189# Display/Graphics
190PRODUCT_PACKAGES += \
David Ng716698c2018-03-23 12:30:23 -0700191 android.hardware.configstore@1.0-service \
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800192 android.hardware.broadcastradio@1.0-impl
David Ng716698c2018-03-23 12:30:23 -0700193
David Ng716698c2018-03-23 12:30:23 -0700194# Camera configuration file. Shared by passthrough/binderized camera HAL
195PRODUCT_PACKAGES += camera.device@3.2-impl
196PRODUCT_PACKAGES += camera.device@1.0-impl
197PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-impl
198# Enable binderized camera HAL
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800199PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-service_64
David Ng716698c2018-03-23 12:30:23 -0700200
David Ng716698c2018-03-23 12:30:23 -0700201
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800202# Context hub HAL
David Ng716698c2018-03-23 12:30:23 -0700203PRODUCT_PACKAGES += \
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800204 android.hardware.contexthub@1.0-impl.generic \
205 android.hardware.contexthub@1.0-service
David Ng716698c2018-03-23 12:30:23 -0700206
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800207# system prop for enabling QFS (QTI Fingerprint Solution)
208PRODUCT_PROPERTY_OVERRIDES += \
209 persist.vendor.qfp=true
210
211
212# USB default HAL
213PRODUCT_PACKAGES += \
214 android.hardware.usb@1.0-service
215
216#PASR HAL and APP
217PRODUCT_PACKAGES += \
218 vendor.qti.power.pasrmanager@1.0-service \
219 vendor.qti.power.pasrmanager@1.0-impl \
220 pasrservice
David Ng716698c2018-03-23 12:30:23 -0700221
222# Kernel modules install path
223KERNEL_MODULES_INSTALL := dlkm
224KERNEL_MODULES_OUT := out/target/product/$(PRODUCT_NAME)/$(KERNEL_MODULES_INSTALL)/lib/modules
225
David Ng4e8e9e22020-02-28 17:24:25 -0800226ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
Mulugeta Engdaw0a351ff2020-02-04 15:33:20 -0800227PRODUCT_COPY_FILES += \
228 device/qcom/qssi/init.qcom.testscripts.sh:$(TARGET_COPY_OUT_PRODUCT)/etc/init.qcom.testscripts.sh
David Ng4e8e9e22020-02-28 17:24:25 -0800229endif
Mulugeta Engdaw0a351ff2020-02-04 15:33:20 -0800230
Mulugeta Engdaw450ab0b2020-03-30 15:11:21 -0700231PRODUCT_COPY_FILES += \
232 device/qcom/qssi/public.libraries.product-qti.txt:$(TARGET_COPY_OUT_PRODUCT)/etc/public.libraries-qti.txt
233
shoudila0248392020-05-28 18:07:35 +0800234# copy system_ext specific whitelisted libraries to system_ext/etc
235PRODUCT_COPY_FILES += \
236 device/qcom/qssi/public.libraries.system_ext-qti.txt:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/public.libraries-qti.txt
237
David Ng716698c2018-03-23 12:30:23 -0700238#Enable full treble flag
David Ng716698c2018-03-23 12:30:23 -0700239PRODUCT_FULL_TREBLE_OVERRIDE := true
240PRODUCT_VENDOR_MOVE_ENABLED := true
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800241PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true
David Ng716698c2018-03-23 12:30:23 -0700242
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800243ifneq ($(strip $(TARGET_USES_RRO)),true)
David Ng716698c2018-03-23 12:30:23 -0700244DEVICE_PACKAGE_OVERLAYS += device/qcom/qssi/overlay
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800245endif
David Ng716698c2018-03-23 12:30:23 -0700246
David Ng716698c2018-03-23 12:30:23 -0700247
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800248#Enable vndk-sp Libraries
249PRODUCT_PACKAGES += vndk_package
250
251PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE:=true
252
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800253
254TARGET_MOUNT_POINTS_SYMLINKS := false
255
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800256TARGET_USES_MKE2FS := true
257
258PRODUCT_PROPERTY_OVERRIDES += \
259ro.crypto.volume.filenames_mode = "aes-256-cts" \
260ro.crypto.allow_encrypt_override = true
261
Vinayak Soni3e453c72018-12-10 00:35:58 -0800262TARGET_USES_QCOM_DISPLAY_BSP := true
263
264ifeq ($(TARGET_USES_NEW_ION),true)
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800265AUDIO_FEATURE_ENABLED_DLKM := true
Vinayak Soni3e453c72018-12-10 00:35:58 -0800266else
267AUDIO_FEATURE_ENABLED_DLKM := false
268endif
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800269
P.Adarsh Reddy7597c5a2020-01-22 14:53:26 +0530270ifeq ($(ENABLE_VIRTUAL_AB), true)
271 $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk)
272endif
273
Mohamed Moussa9908f8c2020-05-04 13:32:21 -0700274ifeq ($(SYSTEMEXT_SEPARATE_PARTITION_ENABLE), false)
275PRODUCT_PACKAGES += \
276 qti_skip_mount.cfg
277endif
278
Mohamed Moussa48117032020-04-15 03:00:38 -0700279# Include mainline components and QSSI whitelist
Mohamed Moussa2c8c5df2020-05-29 17:15:55 -0700280ifeq (true,$(call math_gt_or_eq,$(SHIPPING_API_LEVEL),29))
Mohamed Moussa48117032020-04-15 03:00:38 -0700281 $(call inherit-product, device/qcom/qssi/qssi_whitelist.mk)
282 PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := true
283endif
284
padarshr1ebabf02018-12-14 19:20:10 +0530285###################################################################################
286# This is the End of target.mk file.
287# Now, Pickup other split product.mk files:
288###################################################################################
289$(call inherit-product-if-exists, vendor/qcom/defs/product-defs/system/*.mk)
290###################################################################################