blob: c8a18e3b4516aefb4444ed00d1284fc9b2e07906 [file] [log] [blame]
#For QSSI, we build only the system image. Here we explicitly set the images
#we build so there is no confusion.
TARGET_BOARD_PLATFORM := qssi
TARGET_BOOTLOADER_BOARD_NAME := qssi
# Skip VINTF checks for kernel configs since we do not have kernel source
PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
#Enable product partition Native I/F. It is automatically set to current if
#the shipping API level for the target is greater than 29
PRODUCT_PRODUCT_VNDK_VERSION := current
RELAX_USES_LIBRARY_CHECK := true
NEED_AIDL_NDK_PLATFORM_BACKEND := true
#Enable product partition Java I/F. It is automatically set to true if
#the shipping API level for the target is greater than 29
PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE := true
PRODUCT_BUILD_SYSTEM_IMAGE := true
PRODUCT_BUILD_SYSTEM_OTHER_IMAGE := false
PRODUCT_BUILD_VENDOR_IMAGE := false
PRODUCT_BUILD_SYSTEM_EXT_IMAGE := false
PRODUCT_BUILD_ODM_IMAGE := false
PRODUCT_BUILD_CACHE_IMAGE := false
PRODUCT_BUILD_USERDATA_IMAGE := false
# Enable debugfs restrictions
PRODUCT_SET_DEBUGFS_RESTRICTIONS := true
#Also, there is no need to build an OTA package as this will be done later
#when we combine this system build with the non-system images.
TARGET_SKIP_OTA_PACKAGE := true
# Enable AVB 2.0
BOARD_AVB_ENABLE := true
#### Dynamic Partition Handling
####
# Retain the earlier default behavior i.e. ota config (dynamic partition was disabled if not set explicitly), so set
# SHIPPING_API_LEVEL to 28 if it was not set earlier (this is generally set earlier via build.sh per-target)
SHIPPING_API_LEVEL := 33
$(call inherit-product-if-exists, vendor/qcom/defs/product-defs/system/cne_url*.mk)
#### Turning BOARD_DYNAMIC_PARTITION_ENABLE flag to TRUE will enable dynamic partition/super image creation.
# Enable Dynamic partitions only for Q new launch devices and beyond.
ifeq (true,$(call math_gt_or_eq,$(SHIPPING_API_LEVEL),29))
BOARD_DYNAMIC_PARTITION_ENABLE ?= true
PRODUCT_SHIPPING_API_LEVEL := $(SHIPPING_API_LEVEL)
else ifeq ($(SHIPPING_API_LEVEL),28)
BOARD_DYNAMIC_PARTITION_ENABLE ?= false
$(call inherit-product, build/make/target/product/product_launched_with_p.mk)
endif
ifneq ($(strip $(BOARD_DYNAMIC_PARTITION_ENABLE)),true)
# Enable chain partition for system, to facilitate system-only OTA in Treble.
BOARD_AVB_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_SYSTEM_ALGORITHM := SHA256_RSA2048
BOARD_AVB_SYSTEM_ROLLBACK_INDEX := 0
BOARD_AVB_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
PRODUCT_BUILD_RAMDISK_IMAGE := false
PRODUCT_BUILD_PRODUCT_IMAGE := false
else
PRODUCT_USE_DYNAMIC_PARTITIONS := true
# Disable building the SUPER partition in this build. SUPER should be built
# after QSSI has been merged with the SoC build.
PRODUCT_BUILD_SYSTEM_EXT_IMAGE := true
PRODUCT_BUILD_PRODUCT_IMAGE := true
PRODUCT_BUILD_SUPER_PARTITION := false
PRODUCT_BUILD_RAMDISK_IMAGE := true
BOARD_AVB_VBMETA_SYSTEM := system system_ext product
BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
endif
#### Dynamic Partition Handling
PRODUCT_SOONG_NAMESPACES += \
hardware/google/av \
hardware/google/interfaces
VENDOR_QTI_PLATFORM := qssi
VENDOR_QTI_DEVICE := qssi
#QSSI configuration
#Single system image project structure
TARGET_USES_QSSI := true
TARGET_USES_NEW_ION := true
ENABLE_AB ?= true
TARGET_DEFINES_DALVIK_HEAP := true
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, device/qcom/qssi/common64.mk)
#Inherit all except heap growth limit from phone-xhdpi-2048-dalvik-heap.mk
PRODUCT_PROPERTY_OVERRIDES += \
dalvik.vm.heapstartsize=8m \
dalvik.vm.heapsize=512m \
dalvik.vm.heaptargetutilization=0.75 \
dalvik.vm.heapminfree=512k \
dalvik.vm.heapmaxfree=8m
PRODUCT_NAME := $(VENDOR_QTI_DEVICE)
PRODUCT_DEVICE := $(VENDOR_QTI_DEVICE)
PRODUCT_BRAND := Fairphone
PRODUCT_MODEL := FP5
PRODUCT_MANUFACTURER := Fairphone
# MODIFIED-BEGIN by Gu xiaocong, 2019-12-04,BUG-8671753
# OVERRIDE_TARGET_PRODUCT change
OVERRIDE_TARGET_PRODUCT := FP5
OVERRIDE_TARGET_DEVICE := FP5
# MODIFIED-END by Gu xiaocong,BUG-8671
PRODUCT_EXTRA_VNDK_VERSIONS := 30 31 32
#Initial bringup flags
TARGET_USES_AOSP := false
TARGET_USES_AOSP_FOR_AUDIO := false
TARGET_USES_QCOM_BSP := false
# RRO configuration
TARGET_USES_RRO := true
TARGET_USES_NQ_NFC := false
# default is nosdcard, S/W button enabled in resource
PRODUCT_CHARACTERISTICS := nosdcard
BOARD_FRP_PARTITION_NAME := frp
#Android EGL implementation
PRODUCT_PACKAGES += libGLES_android
PRODUCT_PACKAGES += fsck.exfat
PRODUCT_PACKAGES += mkfs.exfat
PRODUCT_BOOT_JARS += tcmiface
PRODUCT_BOOT_JARS += telephony-ext
PRODUCT_PACKAGES += telephony-ext
TARGET_ENABLE_QC_AV_ENHANCEMENTS := false
TARGET_SYSTEM_PROP += device/qcom/qssi/system.prop
TARGET_DISABLE_DASH := true
TARGET_DISABLE_QTI_VPP := true
ifneq ($(TARGET_DISABLE_DASH), true)
PRODUCT_BOOT_JARS += qcmediaplayer
endif
#Project is missing on sdm845, comment it for now
#ifneq ($(strip $(QCPATH)),)
# PRODUCT_BOOT_JARS += libprotobuf-java_mls
#endif
PRODUCT_PACKAGES += android.hardware.media.omx@1.0-impl
# Audio configuration file
-include $(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/qssi/qssi.mk
-include $(TOPDIR)vendor/qcom/opensource/commonsys/audio/configs/qssi/qssi.mk
-include $(TOPDIR)vendor/st/nfc/st21nfc/NfcDeviceConfig.mk
AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
USE_LIB_PROCESS_GROUP := true
PRODUCT_PACKAGES += fs_config_files
ifeq ($(ENABLE_AB), true)
#A/B related packages
PRODUCT_PACKAGES += update_engine \
update_engine_client \
update_verifier \
bootctrl.msmnile \
android.hardware.boot@1.0-impl \
android.hardware.boot@1.0-service
PRODUCT_HOST_PACKAGES += \
brillo_update_payload
#Boot control HAL test app
PRODUCT_PACKAGES_DEBUG += bootctl
endif
PRODUCT_PACKAGES += libtctcameraalgo_jni.tct
#Healthd packages
PRODUCT_PACKAGES += \
android.hardware.health@1.0-impl \
android.hardware.health@1.0-convert \
android.hardware.health@1.0-service \
libhealthd.msm
DEVICE_FRAMEWORK_MANIFEST_FILE := device/qcom/qssi/framework_manifest.xml
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := vendor/qcom/opensource/core-utils/vendor_framework_compatibility_matrix.xml
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += device/qcom/qssi/pxlw/vendor_framework_compatibility_matrix.xml
#audio related module
PRODUCT_PACKAGES += libvolumelistener
#PlayAutoInstallStub
PRODUCT_PACKAGES += PlayAutoInstallStub
# Display/Graphics
PRODUCT_PACKAGES += \
android.hardware.configstore@1.0-service \
android.hardware.broadcastradio@1.0-impl
# Camera configuration file. Shared by passthrough/binderized camera HAL
PRODUCT_PACKAGES += camera.device@3.2-impl
PRODUCT_PACKAGES += camera.device@1.0-impl
PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-impl
# Enable binderized camera HAL
PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-service_64
# default permissions
PRODUCT_COPY_FILES += \
device/qcom/qssi/default-permissions-cameratct.xml:system_ext/etc/default-permissions/default-permissions-cameratct.xml
# default permissions for wallpaper
PRODUCT_COPY_FILES += \
device/qcom/qssi/default-permissions-wallpaper.xml:system_ext/etc/default-permissions/default-permissions-wallpaper.xml
# Context hub HAL
PRODUCT_PACKAGES += \
android.hardware.contexthub@1.0-impl.generic \
android.hardware.contexthub@1.0-service
# system prop for enabling QFS (QTI Fingerprint Solution)
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.qfp=true
PRODUCT_SYSTEM_PROPERTIES += \
persist.device_config.runtime_native_boot.iorap_perfetto_enable=true
ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
PRODUCT_SYSTEM_PROPERTIES += \
vold.debug=true
endif
# USB default HAL
PRODUCT_PACKAGES += \
android.hardware.usb@1.0-service
#MMITest
PRODUCT_PACKAGES += MMITest
#MTF
PRODUCT_PACKAGES += MTFCamera
#DualCali
PRODUCT_PACKAGES += DualCaliTool
#tp rawdata
PRODUCT_PACKAGES += TpRawdata
#OIS
PRODUCT_PACKAGES += CameraOIS
#Iris
PRODUCT_PACKAGES += Iris
ifeq ($(TARGET_BUILD_MMITEST),false)
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.telephony.euicc.xml:system/etc/permissions/android.hardware.telephony.euicc.xml
PRODUCT_PACKAGES += EuiccGoogle T2mEuiccOverlay
endif
#PASR HAL and APP
PRODUCT_PACKAGES += \
vendor.qti.power.pasrmanager@1.0-service \
vendor.qti.power.pasrmanager@1.0-impl \
pasrservice
# Kernel modules install path
KERNEL_MODULES_INSTALL := dlkm
KERNEL_MODULES_OUT := out/target/product/$(PRODUCT_NAME)/$(KERNEL_MODULES_INSTALL)/lib/modules
ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
PRODUCT_COPY_FILES += \
device/qcom/qssi/init.qcom.testscripts.sh:$(TARGET_COPY_OUT_PRODUCT)/etc/init.qcom.testscripts.sh
endif
PRODUCT_COPY_FILES += \
device/qcom/qssi/public.libraries.product-qti.txt:$(TARGET_COPY_OUT_PRODUCT)/etc/public.libraries-qti.txt
# copy system_ext specific whitelisted libraries to system_ext/etc
PRODUCT_COPY_FILES += \
device/qcom/qssi/public.libraries.system_ext-qti.txt:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/public.libraries-qti.txt
#Begin added by shounanyang on 20230117
PRODUCT_COPY_FILES += \
device/qcom/qssi/public.libraries-tct.txt:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/public.libraries-tct.txt
#End added by shounanyang on 20230117
#ThemePicker permissions
PRODUCT_COPY_FILES +=\
device/qcom/qssi/privapp-permissions-wallpaper.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/privapp-permissions-wallpaper.xml
#Enable full treble flag
PRODUCT_FULL_TREBLE_OVERRIDE := true
PRODUCT_VENDOR_MOVE_ENABLED := true
PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true
ifneq ($(strip $(TARGET_USES_RRO)),true)
DEVICE_PACKAGE_OVERLAYS += device/qcom/qssi/overlay
endif
PRODUCT_PACKAGE_OVERLAYS += device/qcom/qssi/fairphone/overlay
#+ FP5-564. Disable Android's rescue party. liquan.zhou.t2m. 20230412
PRODUCT_SYSTEM_EXT_PROPERTIES += persist.sys.disable_rescue=true
#- FP5-564. Disable Android's rescue party. liquan.zhou.t2m. 20230412
#Enable vndk-sp Libraries
PRODUCT_PACKAGES += vndk_package
#Enable sysrilcmd
PRODUCT_PACKAGES += \
qcrilhook \
qcrilhook.xml \
sysrilcmd \
sysrilcmd.xml
PRODUCT_PACKAGES += EuiccOverlay
PRODUCT_PACKAGES += SetupWizardOverlay
ifeq ($(TARGET_BUILD_MMITEST),true)
PRODUCT_PACKAGES += Robust \
robustd \
memtester \
libwifi_robust_jni \
libwifitestmodejni \
TctWlanTestMode
endif
#aw882xx cali file
PRODUCT_PACKAGES += aw882xx_cali
PRODUCT_PACKAGES += FPCamera
PRODUCT_PACKAGES += fpconfig_util
PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE:=true
TARGET_MOUNT_POINTS_SYMLINKS := false
TARGET_USES_MKE2FS := true
PRODUCT_PROPERTY_OVERRIDES += \
ro.crypto.volume.filenames_mode = "aes-256-cts" \
ro.crypto.allow_encrypt_override = true
TARGET_USES_QCOM_DISPLAY_BSP := true
ifeq ($(TARGET_USES_NEW_ION),true)
AUDIO_FEATURE_ENABLED_DLKM := true
else
AUDIO_FEATURE_ENABLED_DLKM := false
endif
# Enable virtual A/B compression
$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/android_t_baseline.mk)
PRODUCT_VIRTUAL_AB_COMPRESSION_METHOD := gz
# Include mainline components and QSSI whitelist
ifeq (true,$(call math_gt_or_eq,$(SHIPPING_API_LEVEL),29))
$(call inherit-product, device/qcom/qssi/qssi_whitelist.mk)
PRODUCT_ARTIFACT_PATH_REQUIREMENT_IGNORE_PATHS := /system/system_ext/
PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := true
endif
ifeq ($(TARGET_BUILD_MMITEST),false)
$(call inherit-product, vendor/partner_gms/products/gms_eea_v2_type4c.mk)
$(call inherit-product-if-exists, vendor/partner_modules/build/mainline_modules.mk)
endif
PRODUCT_PACKAGES += \
smcd \
OneTouchFeedback \
privapp_permissions_onetouchfeedback
PRODUCT_PACKAGES += WallpaperPicker
PRODUCT_PACKAGES += ThemePicker
PRODUCT_PACKAGES += ThemesStub
PRODUCT_PACKAGES += FAIRPHONE.html.gz
PRODUCT_PACKAGES += FAIRPHONE.png
PRODUCT_PACKAGES += \
libulk_ancbase \
libFaceDetectCA \
libanc_faceid \
libanc_faceid_jni
PRODUCT_PACKAGES += MyFairPhone
PRODUCT_PACKAGES += FairphoneActivator
PRODUCT_PACKAGES += privapp_permissions_FairphoneActivator
PRODUCT_COPY_FILES += device/qcom/qssi/google_clientidbase_config/google_clientidbase.rc:$(TARGET_COPY_OUT_SYSTEM)/etc/init/google_clientidbase.rc
PRODUCT_COPY_FILES += \
device/qcom/qssi/splash/bootanimation.zip:system/media/bootanimation.zip
PRODUCT_COPY_FILES += \
device/qcom/qssi/default-permissions-fp5.xml:system_ext/etc/default-permissions/default-permissions-fp5.xml
###################################################################################
# This is the End of target.mk file.
# Now, Pickup other split product.mk files:
###################################################################################
$(call inherit-product-if-exists, vendor/qcom/defs/product-defs/system/*.mk)
###################################################################################
$(call inherit-product, device/t2m/common/qssi.mk)
$(call inherit-product-if-exists, vendor/customer_carrier/customer_carrier.mk)