blob: c8b2f494930b3cf1b6b96dcd01b63388617b451c [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
padarshree369942019-04-09 15:32:45 +05304PRODUCT_BUILD_SYSTEM_IMAGE := true
5PRODUCT_BUILD_SYSTEM_OTHER_IMAGE := false
6PRODUCT_BUILD_VENDOR_IMAGE := false
Divya Sharma10f07a42019-09-16 15:59:50 -07007PRODUCT_BUILD_SYSTEM_EXT_IMAGE := false
padarshree369942019-04-09 15:32:45 +05308PRODUCT_BUILD_ODM_IMAGE := false
9PRODUCT_BUILD_CACHE_IMAGE := false
Vinayak Soni48a17b22019-04-23 21:10:25 -070010PRODUCT_BUILD_USERDATA_IMAGE := false
padarshree369942019-04-09 15:32:45 +053011
12#Also, there is no need to build an OTA package as this will be done later
13#when we combine this system build with the non-system images.
14TARGET_SKIP_OTA_PACKAGE := true
15
David Ng716698c2018-03-23 12:30:23 -070016# Enable AVB 2.0
17BOARD_AVB_ENABLE := true
18
Mohamed Moussa48117032020-04-15 03:00:38 -070019# Set SYSTEMEXT_SEPARATE_PARTITION_ENABLE if was not already set (set earlier via build.sh).
20SYSTEMEXT_SEPARATE_PARTITION_ENABLE ?= false
21
Vinay Vermaca210fb2019-04-11 20:59:07 +053022#### Dynamic Partition Handling
23
24####
padarshr2cea79e2019-06-11 19:05:48 +053025
26# Retain the earlier default behavior i.e. ota config (dynamic partition was disabled if not set explicitly), so set
27# SHIPPING_API_LEVEL to 28 if it was not set earlier (this is generally set earlier via build.sh per-target)
28SHIPPING_API_LEVEL ?= 28
29
30#### Turning BOARD_DYNAMIC_PARTITION_ENABLE flag to TRUE will enable dynamic partition/super image creation.
31# Enable Dynamic partitions only for Q new launch devices.
32ifeq ($(SHIPPING_API_LEVEL),29)
Vinay Verma55d0bf62019-07-04 20:11:08 +053033 BOARD_DYNAMIC_PARTITION_ENABLE ?= true
34 PRODUCT_SHIPPING_API_LEVEL := 29
padarshr2cea79e2019-06-11 19:05:48 +053035else ifeq ($(SHIPPING_API_LEVEL),28)
Vinay Verma55d0bf62019-07-04 20:11:08 +053036 BOARD_DYNAMIC_PARTITION_ENABLE ?= false
37 $(call inherit-product, build/make/target/product/product_launched_with_p.mk)
padarshr2cea79e2019-06-11 19:05:48 +053038endif
Vinay Vermaca210fb2019-04-11 20:59:07 +053039
40ifneq ($(strip $(BOARD_DYNAMIC_PARTITION_ENABLE)),true)
41# Enable chain partition for system, to facilitate system-only OTA in Treble.
42BOARD_AVB_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
43BOARD_AVB_SYSTEM_ALGORITHM := SHA256_RSA2048
44BOARD_AVB_SYSTEM_ROLLBACK_INDEX := 0
45BOARD_AVB_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
Vinay Verma916e5e92019-05-27 20:40:44 +053046PRODUCT_BUILD_RAMDISK_IMAGE := false
Mulugeta Engdaw0a6d9202019-05-29 12:11:40 -070047PRODUCT_BUILD_PRODUCT_IMAGE := false
Vinay Vermaca210fb2019-04-11 20:59:07 +053048else
49PRODUCT_USE_DYNAMIC_PARTITIONS := true
50# Disable building the SUPER partition in this build. SUPER should be built
51# after QSSI has been merged with the SoC build.
Mohamed Moussa48117032020-04-15 03:00:38 -070052ifeq ($(SYSTEMEXT_SEPARATE_PARTITION_ENABLE), true)
53PRODUCT_BUILD_SYSTEM_EXT_IMAGE := true
54endif
Mulugeta Engdaw0a6d9202019-05-29 12:11:40 -070055PRODUCT_BUILD_PRODUCT_IMAGE := true
Vinay Vermaca210fb2019-04-11 20:59:07 +053056PRODUCT_BUILD_SUPER_PARTITION := false
Vinay Verma916e5e92019-05-27 20:40:44 +053057PRODUCT_BUILD_RAMDISK_IMAGE := true
Mohamed Moussa48117032020-04-15 03:00:38 -070058ifeq ($(SYSTEMEXT_SEPARATE_PARTITION_ENABLE), true)
59BOARD_AVB_VBMETA_SYSTEM := system system_ext product
60else
sureshc6bbe502020-04-14 13:19:09 -070061BOARD_AVB_VBMETA_SYSTEM := system product
Mohamed Moussa48117032020-04-15 03:00:38 -070062endif
Vinay Vermaca210fb2019-04-11 20:59:07 +053063BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
64BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
65BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
66BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
67endif
68#### Dynamic Partition Handling
69
Vinayak Sonib0b9f0a2019-02-26 14:55:51 -080070PRODUCT_SOONG_NAMESPACES += \
71 hardware/google/av \
72 hardware/google/interfaces
73
Smita Ghoshaaafcc72018-11-30 16:12:53 -080074VENDOR_QTI_PLATFORM := msmnile
75VENDOR_QTI_DEVICE := qssi
76
77#QSSI configuration
78#Single system image project structure
79TARGET_USES_QSSI := true
80
Mulugeta Engdawfd11c892020-02-05 17:32:22 -080081TARGET_USES_NEW_ION := true
82
padarshr0f476a12019-01-14 19:44:35 +053083ENABLE_AB ?= true
84
David Ng716698c2018-03-23 12:30:23 -070085TARGET_DEFINES_DALVIK_HEAP := true
padarshr1ebabf02018-12-14 19:20:10 +053086$(call inherit-product, device/qcom/qssi/common64.mk)
David Ng716698c2018-03-23 12:30:23 -070087
88#Inherit all except heap growth limit from phone-xhdpi-2048-dalvik-heap.mk
89PRODUCT_PROPERTY_OVERRIDES += \
Smita Ghoshaaafcc72018-11-30 16:12:53 -080090 dalvik.vm.heapstartsize=8m \
91 dalvik.vm.heapsize=512m \
92 dalvik.vm.heaptargetutilization=0.75 \
93 dalvik.vm.heapminfree=512k \
94 dalvik.vm.heapmaxfree=8m
David Ng716698c2018-03-23 12:30:23 -070095
David Ng716698c2018-03-23 12:30:23 -070096
Smita Ghoshaaafcc72018-11-30 16:12:53 -080097PRODUCT_NAME := $(VENDOR_QTI_DEVICE)
98PRODUCT_DEVICE := $(VENDOR_QTI_DEVICE)
99PRODUCT_BRAND := qti
100PRODUCT_MODEL := qssi system image for arm64
David Ng716698c2018-03-23 12:30:23 -0700101
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800102#Initial bringup flags
103TARGET_USES_AOSP := false
104TARGET_USES_AOSP_FOR_AUDIO := false
105TARGET_USES_QCOM_BSP := false
106
107# RRO configuration
108TARGET_USES_RRO := true
109
Vinayak Soni7a7faff2019-01-15 22:27:27 -0800110TARGET_USES_NQ_NFC := true
David Ng716698c2018-03-23 12:30:23 -0700111
Mohamed Moussa48117032020-04-15 03:00:38 -0700112
David Ng716698c2018-03-23 12:30:23 -0700113# default is nosdcard, S/W button enabled in resource
114PRODUCT_CHARACTERISTICS := nosdcard
David Ng716698c2018-03-23 12:30:23 -0700115BOARD_FRP_PARTITION_NAME := frp
116
David Ng716698c2018-03-23 12:30:23 -0700117#Android EGL implementation
118PRODUCT_PACKAGES += libGLES_android
119
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800120PRODUCT_BOOT_JARS += tcmiface
121PRODUCT_BOOT_JARS += telephony-ext
David Ng716698c2018-03-23 12:30:23 -0700122PRODUCT_PACKAGES += telephony-ext
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800123
David Ng716698c2018-03-23 12:30:23 -0700124TARGET_ENABLE_QC_AV_ENHANCEMENTS := false
125
Paresh Purabhiyaea59eb12019-11-28 12:43:00 +0530126TARGET_SYSTEM_PROP += device/qcom/qssi/system.prop
127
David Ng716698c2018-03-23 12:30:23 -0700128TARGET_DISABLE_DASH := true
Anurudh Kumar Tiwarief2e1dc2019-03-14 23:52:14 +0530129TARGET_DISABLE_QTI_VPP := true
David Ng716698c2018-03-23 12:30:23 -0700130
131ifneq ($(TARGET_DISABLE_DASH), true)
132 PRODUCT_BOOT_JARS += qcmediaplayer
133endif
134
Vinayak Soni3e453c72018-12-10 00:35:58 -0800135#Project is missing on sdm845, comment it for now
136#ifneq ($(strip $(QCPATH)),)
137# PRODUCT_BOOT_JARS += libprotobuf-java_mls
138#endif
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800139
David Ng716698c2018-03-23 12:30:23 -0700140PRODUCT_PACKAGES += android.hardware.media.omx@1.0-impl
141
142# Audio configuration file
Naresh Tanniru4ea70d92019-01-30 21:36:44 +0530143-include $(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/qssi/qssi.mk
Ajit Pandey2a752832020-01-13 13:28:45 +0530144-include $(TOPDIR)vendor/qcom/opensource/commonsys/audio/configs/qssi/qssi.mk
Pawan Chilkab5c0a622019-02-18 21:23:01 +0530145AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
Pawan Chilkab5c0a622019-02-18 21:23:01 +0530146USE_LIB_PROCESS_GROUP := true
147
David Ng716698c2018-03-23 12:30:23 -0700148PRODUCT_PACKAGES += fs_config_files
149
padarshr0f476a12019-01-14 19:44:35 +0530150ifeq ($(ENABLE_AB), true)
David Ng716698c2018-03-23 12:30:23 -0700151#A/B related packages
152PRODUCT_PACKAGES += update_engine \
153 update_engine_client \
154 update_verifier \
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800155 bootctrl.msmnile \
David Ng716698c2018-03-23 12:30:23 -0700156 android.hardware.boot@1.0-impl \
157 android.hardware.boot@1.0-service
158
Divya Sharma4e022e62019-03-21 17:45:23 -0700159PRODUCT_HOST_PACKAGES += \
Ravi Kiran Kasula6f09cd12019-03-31 20:40:25 -0700160 brillo_update_payload
Divya Sharma4e022e62019-03-21 17:45:23 -0700161
David Ng716698c2018-03-23 12:30:23 -0700162#Boot control HAL test app
163PRODUCT_PACKAGES_DEBUG += bootctl
padarshr0f476a12019-01-14 19:44:35 +0530164endif
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800165
166#Healthd packages
167PRODUCT_PACKAGES += \
168 android.hardware.health@1.0-impl \
169 android.hardware.health@1.0-convert \
170 android.hardware.health@1.0-service \
171 libhealthd.msm
172
padarshr563490e2019-01-14 19:51:22 +0530173DEVICE_FRAMEWORK_MANIFEST_FILE := device/qcom/qssi/framework_manifest.xml
Deepthi Gunturi2f662b62019-01-21 11:51:14 +0530174DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := vendor/qcom/opensource/core-utils/vendor_framework_compatibility_matrix.xml
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800175
Nitin Shivpured00592e2019-02-03 00:59:01 +0530176#audio related module
177PRODUCT_PACKAGES += libvolumelistener
David Ng716698c2018-03-23 12:30:23 -0700178
179# Display/Graphics
180PRODUCT_PACKAGES += \
David Ng716698c2018-03-23 12:30:23 -0700181 android.hardware.configstore@1.0-service \
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800182 android.hardware.broadcastradio@1.0-impl
David Ng716698c2018-03-23 12:30:23 -0700183
David Ng716698c2018-03-23 12:30:23 -0700184# Camera configuration file. Shared by passthrough/binderized camera HAL
185PRODUCT_PACKAGES += camera.device@3.2-impl
186PRODUCT_PACKAGES += camera.device@1.0-impl
187PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-impl
188# Enable binderized camera HAL
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800189PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-service_64
David Ng716698c2018-03-23 12:30:23 -0700190
David Ng716698c2018-03-23 12:30:23 -0700191
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800192# Context hub HAL
David Ng716698c2018-03-23 12:30:23 -0700193PRODUCT_PACKAGES += \
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800194 android.hardware.contexthub@1.0-impl.generic \
195 android.hardware.contexthub@1.0-service
David Ng716698c2018-03-23 12:30:23 -0700196
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800197# system prop for enabling QFS (QTI Fingerprint Solution)
198PRODUCT_PROPERTY_OVERRIDES += \
199 persist.vendor.qfp=true
200
201
202# USB default HAL
203PRODUCT_PACKAGES += \
204 android.hardware.usb@1.0-service
205
206#PASR HAL and APP
207PRODUCT_PACKAGES += \
208 vendor.qti.power.pasrmanager@1.0-service \
209 vendor.qti.power.pasrmanager@1.0-impl \
210 pasrservice
David Ng716698c2018-03-23 12:30:23 -0700211
212# Kernel modules install path
213KERNEL_MODULES_INSTALL := dlkm
214KERNEL_MODULES_OUT := out/target/product/$(PRODUCT_NAME)/$(KERNEL_MODULES_INSTALL)/lib/modules
215
David Ng4e8e9e22020-02-28 17:24:25 -0800216ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
Mulugeta Engdaw0a351ff2020-02-04 15:33:20 -0800217PRODUCT_COPY_FILES += \
218 device/qcom/qssi/init.qcom.testscripts.sh:$(TARGET_COPY_OUT_PRODUCT)/etc/init.qcom.testscripts.sh
David Ng4e8e9e22020-02-28 17:24:25 -0800219endif
Mulugeta Engdaw0a351ff2020-02-04 15:33:20 -0800220
David Ng716698c2018-03-23 12:30:23 -0700221#Enable full treble flag
David Ng716698c2018-03-23 12:30:23 -0700222PRODUCT_FULL_TREBLE_OVERRIDE := true
223PRODUCT_VENDOR_MOVE_ENABLED := true
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800224PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true
David Ng716698c2018-03-23 12:30:23 -0700225
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800226ifneq ($(strip $(TARGET_USES_RRO)),true)
David Ng716698c2018-03-23 12:30:23 -0700227DEVICE_PACKAGE_OVERLAYS += device/qcom/qssi/overlay
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800228endif
David Ng716698c2018-03-23 12:30:23 -0700229
David Ng716698c2018-03-23 12:30:23 -0700230
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800231#Enable vndk-sp Libraries
232PRODUCT_PACKAGES += vndk_package
233
234PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE:=true
235
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800236
237TARGET_MOUNT_POINTS_SYMLINKS := false
238
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800239TARGET_USES_MKE2FS := true
240
241PRODUCT_PROPERTY_OVERRIDES += \
242ro.crypto.volume.filenames_mode = "aes-256-cts" \
243ro.crypto.allow_encrypt_override = true
244
Vinayak Soni3e453c72018-12-10 00:35:58 -0800245TARGET_USES_QCOM_DISPLAY_BSP := true
246
247ifeq ($(TARGET_USES_NEW_ION),true)
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800248AUDIO_FEATURE_ENABLED_DLKM := true
Vinayak Soni3e453c72018-12-10 00:35:58 -0800249else
250AUDIO_FEATURE_ENABLED_DLKM := false
251endif
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800252
P.Adarsh Reddy7597c5a2020-01-22 14:53:26 +0530253ifeq ($(ENABLE_VIRTUAL_AB), true)
254 $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk)
255endif
256
Mohamed Moussa48117032020-04-15 03:00:38 -0700257# Include mainline components and QSSI whitelist
258ifeq ($(shell test $(SHIPPING_API_LEVEL) -ge 29; echo $$?),0)
259 $(call inherit-product, device/qcom/qssi/qssi_whitelist.mk)
260 PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := true
261endif
262
padarshr1ebabf02018-12-14 19:20:10 +0530263###################################################################################
264# This is the End of target.mk file.
265# Now, Pickup other split product.mk files:
266###################################################################################
267$(call inherit-product-if-exists, vendor/qcom/defs/product-defs/system/*.mk)
268###################################################################################