# # Copyright (C) 2025 The LineageOS Project # # SPDX-License-Identifier: Apache-2.0 # DEVICE_PATH := device/xiaomi/marble # A/B AB_OTA_PARTITIONS += \ boot \ dtbo \ odm \ product \ recovery \ system \ system_ext \ vbmeta \ vbmeta_system \ vendor \ vendor_boot \ vendor_dlkm # Architecture TARGET_ARCH := arm64 TARGET_ARCH_VARIANT := armv8-a-branchprot TARGET_CPU_ABI := arm64-v8a TARGET_CPU_ABI2 := TARGET_CPU_VARIANT := kryo300 TARGET_2ND_ARCH := arm TARGET_2ND_ARCH_VARIANT := armv8-2a TARGET_2ND_CPU_ABI := armeabi-v7a TARGET_2ND_CPU_ABI2 := armeabi TARGET_2ND_CPU_VARIANT := cortex-a75 # Bootloader TARGET_BOOTLOADER_BOARD_NAME := taro # Display TARGET_SCREEN_DENSITY := 440 # Filesystem TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/configs/config.fs # Kernel BOARD_INCLUDE_DTB_IN_BOOTIMG := true BOARD_RAMDISK_USE_LZ4 := true BOARD_USES_GENERIC_KERNEL_IMAGE := true BOARD_USES_QCOM_MERGE_DTBS_SCRIPT := true TARGET_NEEDS_DTBOIMAGE := true BOARD_KERNEL_BASE := 0x00000000 BOARD_KERNEL_PAGESIZE := 4096 BOARD_KERNEL_IMAGE_NAME := Image TARGET_KERNEL_ADDITIONAL_FLAGS := TARGET_PRODUCT=$(PRODUCT_DEVICE) TARGET_KERNEL_SOURCE := kernel/xiaomi/sm8450 TARGET_KERNEL_CONFIG := \ gki_defconfig \ vendor/waipio_GKI.config \ vendor/xiaomi_GKI.config \ vendor/$(PRODUCT_DEVICE)_GKI.config \ vendor/debugfs.config BOARD_BOOT_HEADER_VERSION := 4 BOARD_MKBOOTIMG_ARGS := --header_version $(BOARD_BOOT_HEADER_VERSION) BOARD_VENDOR_RAMDISK_FRAGMENTS := dlkm BOARD_VENDOR_RAMDISK_FRAGMENT.dlkm.KERNEL_MODULE_DIRS := top BOARD_KERNEL_CMDLINE := \ video=vfb:640x400,bpp=32,memsize=3072000 \ disable_dma32=on \ mtdoops.fingerprint=$(LINEAGE_VERSION) BOARD_BOOTCONFIG := \ androidboot.hardware=qcom \ androidboot.memcg=1 \ androidboot.usbcontroller=a600000.dwc3 # Kernel modules first_stage_modules := $(strip $(shell cat $(TARGET_KERNEL_SOURCE)/modules.list.msm.waipio)) second_stage_modules := $(strip $(shell cat $(DEVICE_PATH)/modules.list.second_stage)) vendor_dlkm_exclusive_modules := $(strip $(shell cat $(DEVICE_PATH)/modules.list.vendor_dlkm)) BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD += $(first_stage_modules) BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD += $(first_stage_modules) $(second_stage_modules) BOARD_VENDOR_KERNEL_MODULES_LOAD += $(second_stage_modules) $(vendor_dlkm_exclusive_modules) BOOT_KERNEL_MODULES += $(first_stage_modules) $(second_stage_modules) BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(TARGET_KERNEL_SOURCE)/modules.vendor_blocklist.msm.waipio BOARD_VENDOR_RAMDISK_KERNEL_MODULES_BLOCKLIST_FILE := $(BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE) TARGET_KERNEL_EXT_MODULE_ROOT := kernel/xiaomi/sm8450-modules TARGET_KERNEL_EXT_MODULES := \ qcom/opensource/mmrm-driver \ qcom/opensource/audio-kernel \ qcom/opensource/camera-kernel \ qcom/opensource/cvp-kernel \ 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/qcacld-3.0/.qca6490 \ qcom/opensource/wlan/qcacld-3.0/.qca6750 # Metadata BOARD_USES_METADATA_PARTITION := true # Partitions BOARD_FLASH_BLOCK_SIZE := 0x020000 # (BOARD_KERNEL_PAGESIZE * 64) BOARD_BOOTIMAGE_PARTITION_SIZE := 0x0C000000 BOARD_DTBOIMG_PARTITION_SIZE := 0x01800000 BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x06400000 BOARD_SUPER_PARTITION_SIZE := 9126805504 # 0x220000000 BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 0x06000000 BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := odm product system system_ext vendor vendor_dlkm BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 9122611200 # 0x21FC00000 # BOARD_SUPER_PARTITION_SIZE - overhead (4MiB) BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4 TARGET_COPY_OUT_ODM := odm TARGET_COPY_OUT_PRODUCT := product TARGET_COPY_OUT_SYSTEM_EXT := system_ext TARGET_COPY_OUT_VENDOR := vendor TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm -include vendor/lineage/config/BoardConfigReservedSize.mk # Platform BOARD_USES_QCOM_HARDWARE := true TARGET_BOARD_PLATFORM := taro # Recovery BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE := true TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/recovery.fstab TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 TARGET_USERIMAGES_USE_EXT4 := true TARGET_USERIMAGES_USE_F2FS := true # Verified Boot BOARD_AVB_ENABLE := true BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3 BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA4096 BOARD_AVB_RECOVERY_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1 BOARD_AVB_VBMETA_SYSTEM := product system system_ext 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 BOARD_AVB_VBMETA_VENDOR := odm vendor vendor_dlkm BOARD_AVB_VBMETA_VENDOR_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem BOARD_AVB_VBMETA_VENDOR_ALGORITHM := SHA256_RSA2048 BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX_LOCATION := 3 # Use sha256 for dm-verity partitions BOARD_AVB_VENDOR_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256 BOARD_AVB_VENDOR_DLKM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256 BOARD_AVB_ODM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256