Files
pjgowtham 2820a4ddd0 ferrari: Migrate to the SM8750 common tree and AIDL audio
Reuse the 6.6 common build while retaining WAIPIO kernel selection,
Ferrari partition sizes, shipping API and the existing hardware blobs.
Keep legacy radio declarations in the leaf manifest and replace the old
audio/PAL/AGM declarations with the common AIDL stack.

Use the common handset primary module configuration and AIDL effects
without Quasar, whose proprietary library is not supplied on Ferrari.
Load system_dlkm before the existing vendor loader. Retain the reviewed
WAIPIO module lists rather than inheriting Sun peripheral modules.

Assisted-by: LLM
Change-Id: I1fcf3cbf77e5496682f8242c931b72fd9e349050
2026-10-23 21:03:18 +05:30

100 lines
3.6 KiB
Makefile

#
# Copyright (C) 2021-2023 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
DEVICE_PATH := device/realme/ferrari
# WAIPIO hardware with the common 6.6 kernel and userspace build rules.
COMMON_VENDOR_PATH := vendor/oneplus/sm8450-common
TARGET_BOARD_PLATFORM := taro
TARGET_BOOTLOADER_BOARD_NAME := taro
TARGET_ARCH_VARIANT := armv8-a-branchprot
TARGET_CPU_VARIANT_RUNTIME := kryo300
TARGET_USES_INIT_BOOT := false
BOOT_SECURITY_PATCH := 2025-05-01
VENDOR_SECURITY_PATCH := $(BOOT_SECURITY_PATCH)
BOARD_BOOTIMAGE_PARTITION_SIZE := 201326592
BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 201326592
BOARD_USERDATAIMAGE_PARTITION_SIZE := 112362319872
BOARD_SUPER_PARTITION_SIZE := 11274289152
BOARD_BOOTCONFIG := \
androidboot.hardware=qcom \
androidboot.memcg=1 \
androidboot.serialconsole=0 \
androidboot.usbcontroller=a600000.dwc3
# Kernel
TARGET_KERNEL_VERSION := 6.6
TARGET_KERNEL_CLANG_VERSION := r547379
MERGE_ALL_KERNEL_CONFIGS_AT_ONCE := true
TARGET_KERNEL_CONFIG := \
gki_defconfig \
vendor/waipio_perf.config \
vendor/oplus/waipio_perf.config \
vendor/oplus/ferrari.config
TARGET_KERNEL_ADDITIONAL_FLAGS := \
CONFIG_MSM_BT_POWER=m \
CONFIG_BTFM_SLIM=m \
CONFIG_I2C_RTC6226_QCA=m
TARGET_MERGE_DTBS_WILDCARD := waipio*
TARGET_MERGE_DTBOS_WILDCARD := ferrari-21631-waipio-overlay
TARGET_KERNEL_EXT_MODULES := \
qcom/opensource/mmrm-driver \
qcom/opensource/mm-drivers/msm_ext_display \
qcom/opensource/mm-drivers/hw_fence \
qcom/opensource/mm-drivers/sync_fence \
qcom/opensource/securemsm-kernel \
qcom/opensource/synx-kernel \
qcom/opensource/dsp-kernel \
qcom/opensource/audio-kernel \
qcom/opensource/camera-kernel \
qcom/opensource/datarmnet-ext/mem \
qcom/opensource/dataipa/drivers/platform/msm \
qcom/opensource/datarmnet/core \
qcom/opensource/datarmnet-ext/aps \
qcom/opensource/datarmnet-ext/offload \
qcom/opensource/datarmnet-ext/shs \
qcom/opensource/datarmnet-ext/perf \
qcom/opensource/datarmnet-ext/perf_tether \
qcom/opensource/datarmnet-ext/sch \
qcom/opensource/datarmnet-ext/wlan \
qcom/opensource/display-drivers/msm \
qcom/opensource/eva-kernel \
qcom/opensource/video-driver \
qcom/opensource/wlan/platform \
qcom/opensource/wlan/qcacld-3.0/.qca6490 \
qcom/opensource/bt-kernel
BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := kernel/oneplus/sm8750/modules.vendor_blocklist.msm.waipio
BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load))
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load.vendor_boot))
BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load.recovery))
BOOT_KERNEL_MODULES := $(BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD)
SYSTEM_KERNEL_MODULES := $(strip $(shell sed 's/#.*$$//;/^$$/d' device/oneplus/sm8750-common/modules.load.system_dlkm))
TARGET_AUTO_COLLECT_KERNEL_MODULE_DEPS := true
# Include the common OEM chipset BoardConfig.
include device/oneplus/sm8750-common/BoardConfigCommon.mk
# Biometrics (Face)
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.biometrics.face.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.biometrics.face.xml
# HIDL
DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest.xml
# Properties
TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
# Recovery
TARGET_RECOVERY_DENSITY := xxhdpi
TARGET_RECOVERY_UI_MARGIN_HEIGHT := 126
# VINTF
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += \
$(DEVICE_PATH)/vintf/compatibility_matrix.xml
# Include the proprietary files BoardConfig.
include vendor/realme/ferrari/BoardConfigVendor.mk