blob: c037c97d04045ecb2dc907cb99aa2653eb8056e1 [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
Vinay Vermaca210fb2019-04-11 20:59:07 +053027#### Dynamic Partition Handling
28
29####
padarshr2cea79e2019-06-11 19:05:48 +053030
31# Retain the earlier default behavior i.e. ota config (dynamic partition was disabled if not set explicitly), so set
32# SHIPPING_API_LEVEL to 28 if it was not set earlier (this is generally set earlier via build.sh per-target)
P.Adarsh Reddybe6c09d2020-06-26 18:28:45 +053033SHIPPING_API_LEVEL := 30
padarshr2cea79e2019-06-11 19:05:48 +053034
Tyler Wear0088d112020-06-11 14:57:34 -070035$(call inherit-product-if-exists, vendor/qcom/defs/product-defs/system/cne_url*.mk)
36
padarshr2cea79e2019-06-11 19:05:48 +053037#### Turning BOARD_DYNAMIC_PARTITION_ENABLE flag to TRUE will enable dynamic partition/super image creation.
P.Adarsh Reddybe6c09d2020-06-26 18:28:45 +053038# Enable Dynamic partitions only for Q new launch devices and beyond.
39ifeq (true,$(call math_gt_or_eq,$(SHIPPING_API_LEVEL),29))
Vinay Verma55d0bf62019-07-04 20:11:08 +053040 BOARD_DYNAMIC_PARTITION_ENABLE ?= true
P.Adarsh Reddybe6c09d2020-06-26 18:28:45 +053041 PRODUCT_SHIPPING_API_LEVEL := $(SHIPPING_API_LEVEL)
padarshr2cea79e2019-06-11 19:05:48 +053042else ifeq ($(SHIPPING_API_LEVEL),28)
Vinay Verma55d0bf62019-07-04 20:11:08 +053043 BOARD_DYNAMIC_PARTITION_ENABLE ?= false
44 $(call inherit-product, build/make/target/product/product_launched_with_p.mk)
padarshr2cea79e2019-06-11 19:05:48 +053045endif
Vinay Vermaca210fb2019-04-11 20:59:07 +053046
47ifneq ($(strip $(BOARD_DYNAMIC_PARTITION_ENABLE)),true)
48# Enable chain partition for system, to facilitate system-only OTA in Treble.
49BOARD_AVB_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
50BOARD_AVB_SYSTEM_ALGORITHM := SHA256_RSA2048
51BOARD_AVB_SYSTEM_ROLLBACK_INDEX := 0
52BOARD_AVB_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
Vinayak Sonia1de01e2020-07-08 15:25:28 +053053PRODUCT_BUILD_RAMDISK_IMAGE := false
Mulugeta Engdaw0a6d9202019-05-29 12:11:40 -070054PRODUCT_BUILD_PRODUCT_IMAGE := false
Vinay Vermaca210fb2019-04-11 20:59:07 +053055else
56PRODUCT_USE_DYNAMIC_PARTITIONS := true
57# Disable building the SUPER partition in this build. SUPER should be built
58# after QSSI has been merged with the SoC build.
Mohamed Moussa48117032020-04-15 03:00:38 -070059PRODUCT_BUILD_SYSTEM_EXT_IMAGE := true
Mulugeta Engdaw0a6d9202019-05-29 12:11:40 -070060PRODUCT_BUILD_PRODUCT_IMAGE := true
Vinay Vermaca210fb2019-04-11 20:59:07 +053061PRODUCT_BUILD_SUPER_PARTITION := false
Vinayak Sonia1de01e2020-07-08 15:25:28 +053062PRODUCT_BUILD_RAMDISK_IMAGE := true
Mohamed Moussa48117032020-04-15 03:00:38 -070063BOARD_AVB_VBMETA_SYSTEM := system system_ext product
Vinay Vermaca210fb2019-04-11 20:59:07 +053064BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
65BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
66BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
67BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
68endif
69#### Dynamic Partition Handling
70
Vinayak Sonib0b9f0a2019-02-26 14:55:51 -080071PRODUCT_SOONG_NAMESPACES += \
72 hardware/google/av \
73 hardware/google/interfaces
74
Smita Ghoshaaafcc72018-11-30 16:12:53 -080075VENDOR_QTI_PLATFORM := msmnile
76VENDOR_QTI_DEVICE := qssi
77
78#QSSI configuration
79#Single system image project structure
80TARGET_USES_QSSI := true
81
Mulugeta Engdawfd11c892020-02-05 17:32:22 -080082TARGET_USES_NEW_ION := true
83
padarshr0f476a12019-01-14 19:44:35 +053084ENABLE_AB ?= true
85
David Ng716698c2018-03-23 12:30:23 -070086TARGET_DEFINES_DALVIK_HEAP := true
padarshr1ebabf02018-12-14 19:20:10 +053087$(call inherit-product, device/qcom/qssi/common64.mk)
David Ng716698c2018-03-23 12:30:23 -070088
89#Inherit all except heap growth limit from phone-xhdpi-2048-dalvik-heap.mk
90PRODUCT_PROPERTY_OVERRIDES += \
Smita Ghoshaaafcc72018-11-30 16:12:53 -080091 dalvik.vm.heapstartsize=8m \
92 dalvik.vm.heapsize=512m \
93 dalvik.vm.heaptargetutilization=0.75 \
94 dalvik.vm.heapminfree=512k \
95 dalvik.vm.heapmaxfree=8m
David Ng716698c2018-03-23 12:30:23 -070096
David Ng716698c2018-03-23 12:30:23 -070097
Smita Ghoshaaafcc72018-11-30 16:12:53 -080098PRODUCT_NAME := $(VENDOR_QTI_DEVICE)
99PRODUCT_DEVICE := $(VENDOR_QTI_DEVICE)
100PRODUCT_BRAND := qti
101PRODUCT_MODEL := qssi system image for arm64
David Ng716698c2018-03-23 12:30:23 -0700102
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800103#Initial bringup flags
104TARGET_USES_AOSP := false
105TARGET_USES_AOSP_FOR_AUDIO := false
106TARGET_USES_QCOM_BSP := false
107
108# RRO configuration
109TARGET_USES_RRO := true
110
Vinayak Soni7a7faff2019-01-15 22:27:27 -0800111TARGET_USES_NQ_NFC := true
David Ng716698c2018-03-23 12:30:23 -0700112
Mohamed Moussa48117032020-04-15 03:00:38 -0700113
David Ng716698c2018-03-23 12:30:23 -0700114# default is nosdcard, S/W button enabled in resource
115PRODUCT_CHARACTERISTICS := nosdcard
David Ng716698c2018-03-23 12:30:23 -0700116BOARD_FRP_PARTITION_NAME := frp
117
David Ng716698c2018-03-23 12:30:23 -0700118#Android EGL implementation
119PRODUCT_PACKAGES += libGLES_android
120
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800121PRODUCT_BOOT_JARS += tcmiface
122PRODUCT_BOOT_JARS += telephony-ext
David Ng716698c2018-03-23 12:30:23 -0700123PRODUCT_PACKAGES += telephony-ext
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800124
David Ng716698c2018-03-23 12:30:23 -0700125TARGET_ENABLE_QC_AV_ENHANCEMENTS := false
126
Paresh Purabhiyaea59eb12019-11-28 12:43:00 +0530127TARGET_SYSTEM_PROP += device/qcom/qssi/system.prop
128
David Ng716698c2018-03-23 12:30:23 -0700129TARGET_DISABLE_DASH := true
Anurudh Kumar Tiwarief2e1dc2019-03-14 23:52:14 +0530130TARGET_DISABLE_QTI_VPP := true
David Ng716698c2018-03-23 12:30:23 -0700131
132ifneq ($(TARGET_DISABLE_DASH), true)
133 PRODUCT_BOOT_JARS += qcmediaplayer
134endif
135
Vinayak Soni3e453c72018-12-10 00:35:58 -0800136#Project is missing on sdm845, comment it for now
137#ifneq ($(strip $(QCPATH)),)
138# PRODUCT_BOOT_JARS += libprotobuf-java_mls
139#endif
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800140
David Ng716698c2018-03-23 12:30:23 -0700141PRODUCT_PACKAGES += android.hardware.media.omx@1.0-impl
142
143# Audio configuration file
Naresh Tanniru4ea70d92019-01-30 21:36:44 +0530144-include $(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/qssi/qssi.mk
Ajit Pandey2a752832020-01-13 13:28:45 +0530145-include $(TOPDIR)vendor/qcom/opensource/commonsys/audio/configs/qssi/qssi.mk
Pawan Chilkab5c0a622019-02-18 21:23:01 +0530146AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
Pawan Chilkab5c0a622019-02-18 21:23:01 +0530147USE_LIB_PROCESS_GROUP := true
148
David Ng716698c2018-03-23 12:30:23 -0700149PRODUCT_PACKAGES += fs_config_files
150
padarshr0f476a12019-01-14 19:44:35 +0530151ifeq ($(ENABLE_AB), true)
David Ng716698c2018-03-23 12:30:23 -0700152#A/B related packages
153PRODUCT_PACKAGES += update_engine \
154 update_engine_client \
155 update_verifier \
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800156 bootctrl.msmnile \
David Ng716698c2018-03-23 12:30:23 -0700157 android.hardware.boot@1.0-impl \
158 android.hardware.boot@1.0-service
159
Divya Sharma4e022e62019-03-21 17:45:23 -0700160PRODUCT_HOST_PACKAGES += \
Ravi Kiran Kasula6f09cd12019-03-31 20:40:25 -0700161 brillo_update_payload
Divya Sharma4e022e62019-03-21 17:45:23 -0700162
David Ng716698c2018-03-23 12:30:23 -0700163#Boot control HAL test app
164PRODUCT_PACKAGES_DEBUG += bootctl
padarshr0f476a12019-01-14 19:44:35 +0530165endif
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800166
167#Healthd packages
168PRODUCT_PACKAGES += \
169 android.hardware.health@1.0-impl \
170 android.hardware.health@1.0-convert \
171 android.hardware.health@1.0-service \
172 libhealthd.msm
173
padarshr563490e2019-01-14 19:51:22 +0530174DEVICE_FRAMEWORK_MANIFEST_FILE := device/qcom/qssi/framework_manifest.xml
Deepthi Gunturi2f662b62019-01-21 11:51:14 +0530175DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := vendor/qcom/opensource/core-utils/vendor_framework_compatibility_matrix.xml
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800176
Nitin Shivpured00592e2019-02-03 00:59:01 +0530177#audio related module
178PRODUCT_PACKAGES += libvolumelistener
David Ng716698c2018-03-23 12:30:23 -0700179
180# Display/Graphics
181PRODUCT_PACKAGES += \
David Ng716698c2018-03-23 12:30:23 -0700182 android.hardware.configstore@1.0-service \
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800183 android.hardware.broadcastradio@1.0-impl
David Ng716698c2018-03-23 12:30:23 -0700184
David Ng716698c2018-03-23 12:30:23 -0700185# Camera configuration file. Shared by passthrough/binderized camera HAL
186PRODUCT_PACKAGES += camera.device@3.2-impl
187PRODUCT_PACKAGES += camera.device@1.0-impl
188PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-impl
189# Enable binderized camera HAL
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800190PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-service_64
David Ng716698c2018-03-23 12:30:23 -0700191
David Ng716698c2018-03-23 12:30:23 -0700192
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800193# Context hub HAL
David Ng716698c2018-03-23 12:30:23 -0700194PRODUCT_PACKAGES += \
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800195 android.hardware.contexthub@1.0-impl.generic \
196 android.hardware.contexthub@1.0-service
David Ng716698c2018-03-23 12:30:23 -0700197
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800198# system prop for enabling QFS (QTI Fingerprint Solution)
199PRODUCT_PROPERTY_OVERRIDES += \
200 persist.vendor.qfp=true
201
202
203# USB default HAL
204PRODUCT_PACKAGES += \
205 android.hardware.usb@1.0-service
206
207#PASR HAL and APP
208PRODUCT_PACKAGES += \
209 vendor.qti.power.pasrmanager@1.0-service \
210 vendor.qti.power.pasrmanager@1.0-impl \
211 pasrservice
David Ng716698c2018-03-23 12:30:23 -0700212
213# Kernel modules install path
214KERNEL_MODULES_INSTALL := dlkm
215KERNEL_MODULES_OUT := out/target/product/$(PRODUCT_NAME)/$(KERNEL_MODULES_INSTALL)/lib/modules
216
David Ng4e8e9e22020-02-28 17:24:25 -0800217ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
Mulugeta Engdaw0a351ff2020-02-04 15:33:20 -0800218PRODUCT_COPY_FILES += \
219 device/qcom/qssi/init.qcom.testscripts.sh:$(TARGET_COPY_OUT_PRODUCT)/etc/init.qcom.testscripts.sh
David Ng4e8e9e22020-02-28 17:24:25 -0800220endif
Mulugeta Engdaw0a351ff2020-02-04 15:33:20 -0800221
Mulugeta Engdaw450ab0b2020-03-30 15:11:21 -0700222PRODUCT_COPY_FILES += \
223 device/qcom/qssi/public.libraries.product-qti.txt:$(TARGET_COPY_OUT_PRODUCT)/etc/public.libraries-qti.txt
224
shoudila0248392020-05-28 18:07:35 +0800225# copy system_ext specific whitelisted libraries to system_ext/etc
226PRODUCT_COPY_FILES += \
227 device/qcom/qssi/public.libraries.system_ext-qti.txt:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/public.libraries-qti.txt
228
David Ng716698c2018-03-23 12:30:23 -0700229#Enable full treble flag
David Ng716698c2018-03-23 12:30:23 -0700230PRODUCT_FULL_TREBLE_OVERRIDE := true
231PRODUCT_VENDOR_MOVE_ENABLED := true
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800232PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true
David Ng716698c2018-03-23 12:30:23 -0700233
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800234ifneq ($(strip $(TARGET_USES_RRO)),true)
David Ng716698c2018-03-23 12:30:23 -0700235DEVICE_PACKAGE_OVERLAYS += device/qcom/qssi/overlay
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800236endif
David Ng716698c2018-03-23 12:30:23 -0700237
David Ng716698c2018-03-23 12:30:23 -0700238
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800239#Enable vndk-sp Libraries
240PRODUCT_PACKAGES += vndk_package
241
242PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE:=true
243
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800244
245TARGET_MOUNT_POINTS_SYMLINKS := false
246
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800247TARGET_USES_MKE2FS := true
248
249PRODUCT_PROPERTY_OVERRIDES += \
250ro.crypto.volume.filenames_mode = "aes-256-cts" \
251ro.crypto.allow_encrypt_override = true
252
Vinayak Soni3e453c72018-12-10 00:35:58 -0800253TARGET_USES_QCOM_DISPLAY_BSP := true
254
255ifeq ($(TARGET_USES_NEW_ION),true)
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800256AUDIO_FEATURE_ENABLED_DLKM := true
Vinayak Soni3e453c72018-12-10 00:35:58 -0800257else
258AUDIO_FEATURE_ENABLED_DLKM := false
259endif
Smita Ghoshaaafcc72018-11-30 16:12:53 -0800260
P.Adarsh Reddy7597c5a2020-01-22 14:53:26 +0530261ifeq ($(ENABLE_VIRTUAL_AB), true)
262 $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk)
263endif
264
Mohamed Moussa48117032020-04-15 03:00:38 -0700265# Include mainline components and QSSI whitelist
Mohamed Moussa2c8c5df2020-05-29 17:15:55 -0700266ifeq (true,$(call math_gt_or_eq,$(SHIPPING_API_LEVEL),29))
Mohamed Moussa48117032020-04-15 03:00:38 -0700267 $(call inherit-product, device/qcom/qssi/qssi_whitelist.mk)
Mohamed Moussa14db93a2020-06-09 10:24:14 -0700268 PRODUCT_ARTIFACT_PATH_REQUIREMENT_IGNORE_PATHS := /system/system_ext/
Mohamed Moussa48117032020-04-15 03:00:38 -0700269 PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := true
270endif
271
padarshr1ebabf02018-12-14 19:20:10 +0530272###################################################################################
273# This is the End of target.mk file.
274# Now, Pickup other split product.mk files:
275###################################################################################
276$(call inherit-product-if-exists, vendor/qcom/defs/product-defs/system/*.mk)
277###################################################################################