mirror of
https://github.com/Evolution-X-Devices/device_xiaomi_sky
synced 2026-01-28 16:46:07 +00:00
299 lines
9.6 KiB
Makefile
299 lines
9.6 KiB
Makefile
#
|
|
# Copyright (C) 2023 The Android Open Source Project
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
# Inherit from the proprietary version
|
|
-include vendor/xiaomi/sky/BoardConfigVendor.mk
|
|
|
|
DEVICE_PATH := device/xiaomi/sky
|
|
KERNEL_PATH := $(DEVICE_PATH)-kernel
|
|
|
|
# A/B
|
|
AB_OTA_UPDATER := true
|
|
|
|
AB_OTA_PARTITIONS += \
|
|
boot \
|
|
dtbo \
|
|
odm \
|
|
recovery \
|
|
product \
|
|
system \
|
|
system_ext \
|
|
vbmeta \
|
|
vbmeta_system \
|
|
vendor \
|
|
vendor_boot \
|
|
vendor_dlkm
|
|
|
|
# Architecture
|
|
TARGET_ARCH := arm64
|
|
TARGET_ARCH_VARIANT := armv8-a
|
|
TARGET_CPU_ABI := arm64-v8a
|
|
TARGET_CPU_ABI2 :=
|
|
TARGET_CPU_VARIANT := generic
|
|
TARGET_CPU_VARIANT_RUNTIME := 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 := generic
|
|
TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a75
|
|
|
|
# Audio
|
|
AUDIO_FEATURE_ENABLED_DLKM := true
|
|
AUDIO_FEATURE_ENABLED_DTS_EAGLE := false
|
|
AUDIO_FEATURE_ENABLED_GEF_SUPPORT := true
|
|
AUDIO_FEATURE_ENABLED_HW_ACCELERATED_EFFECTS := false
|
|
AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
|
|
AUDIO_FEATURE_ENABLED_PAL_HIDL := true
|
|
AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
|
|
|
|
BOARD_SUPPORTS_OPENSOURCE_STHAL := true
|
|
|
|
TARGET_PROVIDES_AUDIO_HAL ?= true
|
|
TARGET_USES_QCOM_MM_AUDIO := true
|
|
|
|
# Boot control
|
|
SOONG_CONFIG_NAMESPACES += ufsbsg
|
|
SOONG_CONFIG_ufsbsg += ufsframework
|
|
SOONG_CONFIG_ufsbsg_ufsframework := bsg
|
|
|
|
# Bootloader
|
|
TARGET_BOOTLOADER_BOARD_NAME := sky
|
|
TARGET_NO_BOOTLOADER := true
|
|
TARGET_BOARD_INFO_FILE := $(DEVICE_PATH)/board-info.txt
|
|
|
|
# Build
|
|
BUILD_BROKEN_DUP_RULES := true
|
|
BUILD_BROKEN_VENDOR_PROPERTY_NAMESPACE := true
|
|
|
|
# Camera
|
|
MALLOC_SVELTE := true
|
|
|
|
# Display
|
|
TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true
|
|
TARGET_GRALLOC_HANDLE_HAS_CUSTOM_CONTENT_MD_RESERVED_SIZE := false
|
|
TARGET_USES_DISPLAY_RENDER_INTENTS := true
|
|
TARGET_USES_GRALLOC4 := true
|
|
TARGET_USES_HWC2 := true
|
|
MAX_VIRTUAL_DISPLAY_DIMENSION := 4096
|
|
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
|
|
|
|
# DRM
|
|
TARGET_ENABLE_MEDIADRM_64 := true
|
|
|
|
# DTB
|
|
BOARD_USES_DT := true
|
|
BOARD_PREBUILT_DTBIMAGE_DIR := $(KERNEL_PATH)/dtbs
|
|
BOARD_PREBUILT_DTBOIMAGE := $(KERNEL_PATH)/dtbs/dtbo.img
|
|
|
|
# Filesystem
|
|
TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/configs/config.fs
|
|
|
|
# FM
|
|
BOARD_HAVE_QCOM_FM := true
|
|
|
|
# GPS
|
|
BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default
|
|
$(call soong_config_set, qtilocation, feature_nhz, false)
|
|
|
|
# Init
|
|
TARGET_INIT_VENDOR_LIB := //$(DEVICE_PATH):init_xiaomi_sky
|
|
|
|
# Kernel
|
|
BOARD_KERNEL_PAGESIZE := 4096
|
|
BOARD_KERNEL_BASE := 0x00000000
|
|
|
|
BOARD_KERNEL_CMDLINE := \
|
|
video=vfb:640x400,bpp=32,memsize=3072000 \
|
|
disable_dma32=on \
|
|
swinfo.fingerprint=$(LINEAGE_VERSION) \
|
|
mtdoops.fingerprint=$(LINEAGE_VERSION)
|
|
|
|
BOARD_BOOTCONFIG := \
|
|
androidboot.hardware=qcom \
|
|
androidboot.memcg=1 \
|
|
androidboot.usbcontroller=a600000.dwc3 \
|
|
androidboot.init_fatal_reboot_target=recovery
|
|
|
|
BOARD_BOOT_HEADER_VERSION := 4
|
|
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
|
|
|
|
BOARD_KERNEL_IMAGE_NAME := Image
|
|
|
|
BOARD_RAMDISK_USE_LZ4 := true
|
|
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
|
|
BOARD_USES_GENERIC_KERNEL_IMAGE := true
|
|
|
|
# Kill lineage kernel build task while preserving kernel
|
|
TARGET_NO_KERNEL_OVERRIDE := true
|
|
|
|
# Workaround to make lineage's soong generator work
|
|
TARGET_KERNEL_SOURCE := $(KERNEL_PATH)/kernel-headers
|
|
|
|
# Kernel Binary
|
|
TARGET_KERNEL_VERSION := 5.10
|
|
LOCAL_KERNEL := $(KERNEL_PATH)/Image
|
|
PRODUCT_COPY_FILES += \
|
|
$(LOCAL_KERNEL):kernel
|
|
|
|
# Kernel modules
|
|
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_PATH)/vendor_ramdisk/modules.load))
|
|
BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(addprefix $(KERNEL_PATH)/vendor_ramdisk/, $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD))
|
|
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_PATH)/vendor_ramdisk/modules.blocklist
|
|
|
|
# Also add recovery modules to vendor ramdisk
|
|
BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_PATH)/vendor_ramdisk/modules.load.recovery))
|
|
RECOVERY_MODULES := $(addprefix $(KERNEL_PATH)/vendor_ramdisk/, $(BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD))
|
|
|
|
# Prevent duplicated entries (to solve duplicated build rules problem)
|
|
BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(sort $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES) $(RECOVERY_MODULES))
|
|
|
|
# Vendor modules (installed to vendor_dlkm)
|
|
BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_PATH)/vendor_dlkm/modules.load))
|
|
BOARD_VENDOR_KERNEL_MODULES := $(addprefix $(KERNEL_PATH)/vendor_dlkm/, $(BOARD_VENDOR_KERNEL_MODULES_LOAD))
|
|
BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_PATH)/vendor_dlkm/modules.blocklist
|
|
|
|
# Lineage Health
|
|
TARGET_HEALTH_CHARGING_CONTROL_SUPPORTS_BYPASS := false
|
|
|
|
# Metadata
|
|
BOARD_USES_METADATA_PARTITION := true
|
|
|
|
# OTA assert
|
|
TARGET_OTA_ASSERT_DEVICE := sky, skyin
|
|
|
|
# Partitions
|
|
BOARD_FLASH_BLOCK_SIZE := 131072 # (BOARD_KERNEL_PAGESIZE * 64)
|
|
|
|
BOARD_DTBOIMG_PARTITION_SIZE := 24117248
|
|
BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
|
|
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 104857600
|
|
BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296
|
|
|
|
BOARD_SUPER_PARTITION_SIZE := 6979321856
|
|
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 := 6975127552
|
|
|
|
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
|
|
|
|
# Platform
|
|
TARGET_BOARD_PLATFORM := parrot
|
|
BOARD_USES_QCOM_HARDWARE := true
|
|
|
|
# Disable sparse on all filesystem images
|
|
TARGET_USERIMAGES_SPARSE_EROFS_DISABLED := true
|
|
TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true
|
|
TARGET_USERIMAGES_SPARSE_F2FS_DISABLED := true
|
|
|
|
# Power
|
|
TARGET_POWER_LIBPERFMGR_MODE_EXTENSION_LIB := //$(DEVICE_PATH):libperfmgr-ext-sky
|
|
|
|
# Properties
|
|
TARGET_ODM_PROP += $(DEVICE_PATH)/configs/properties/odm.prop
|
|
TARGET_PRODUCT_PROP += $(DEVICE_PATH)/configs/properties/product.prop
|
|
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/configs/properties/system.prop
|
|
TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/configs/properties/system_ext.prop
|
|
TARGET_VENDOR_PROP += $(DEVICE_PATH)/configs/properties/vendor.prop
|
|
|
|
# Recovery
|
|
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
|
|
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.default
|
|
TARGET_USERIMAGES_USE_F2FS := true
|
|
BOARD_USES_RECOVERY_AS_BOOT := false
|
|
BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE := true
|
|
|
|
# RIL
|
|
ENABLE_VENDOR_RIL_SERVICE := true
|
|
|
|
# Screen density
|
|
TARGET_SCREEN_DENSITY := 440
|
|
|
|
# Security patch level
|
|
VENDOR_SECURITY_PATCH := 2024-10-01
|
|
|
|
# Sepolicy
|
|
include device/qcom/sepolicy_vndr/SEPolicy.mk
|
|
|
|
SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/private
|
|
SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/public
|
|
BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
|
|
|
|
# Sepolicy - XiaomiParts
|
|
SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += \
|
|
$(DEVICE_PATH)/sepolicy/private/xiaomi/devicesettings
|
|
|
|
#SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS += \
|
|
# $(DEVICE_PATH)/sepolicy/public/xiaomi/devicesettings
|
|
|
|
# Vendor Boot
|
|
PRODUCT_COPY_FILES += \
|
|
$(DEVICE_PATH)/rootdir/etc/fstab.default:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.default
|
|
|
|
# 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 := system system_ext product
|
|
BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
|
|
BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA4096
|
|
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
|
|
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
|
|
|
|
# VINTF
|
|
DEVICE_MANIFEST_SKUS := ravelin
|
|
DEVICE_MATRIX_FILE := $(DEVICE_PATH)/configs/vintf/compatibility_matrix.xml
|
|
DEVICE_MANIFEST_RAVELIN_FILES := \
|
|
$(DEVICE_PATH)/configs/vintf/manifest_ravelin.xml \
|
|
hardware/qcom-caf/sm8450/audio/primary-hal/configs/common/manifest_non_qmaa_extn.xml
|
|
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
|
|
$(DEVICE_PATH)/configs/vintf/vendor_framework_compatibility_matrix.xml \
|
|
$(DEVICE_PATH)/configs/vintf/xiaomi_framework_compatibility_matrix.xml \
|
|
vendor/lineage/config/device_framework_matrix.xml
|
|
|
|
DEVICE_FRAMEWORK_MANIFEST_FILE += $(DEVICE_PATH)/configs/vintf/framework_manifest.xml
|
|
ODM_MANIFEST_SKUS += hceese hcesim hcesim1 hcesim1ese hcesimese
|
|
ODM_MANIFEST_HCEESE_FILES := $(DEVICE_PATH)/configs/vintf/manifest_hceese.xml
|
|
ODM_MANIFEST_HCESIM_FILES := $(DEVICE_PATH)/configs/vintf/manifest_hcesim.xml
|
|
ODM_MANIFEST_HCESIM1_FILES := $(DEVICE_PATH)/configs/vintf/manifest_hcesim1.xml
|
|
ODM_MANIFEST_HCESIM1ESE_FILES := $(DEVICE_PATH)/configs/vintf/manifest_hcesim1ese.xml
|
|
ODM_MANIFEST_HCESIMESE_FILES := $(DEVICE_PATH)/configs/vintf/manifest_hcesimese.xml
|
|
|
|
# WiFi
|
|
BOARD_WLAN_DEVICE := qcwcn
|
|
BOARD_HOSTAPD_DRIVER := NL80211
|
|
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
|
|
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
|
|
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
|
|
CONFIG_ACS := true
|
|
QC_WIFI_HIDL_FEATURE_DUAL_AP := true
|
|
QC_WIFI_HIDL_FEATURE_DUAL_STA := true
|
|
WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan"
|
|
WIFI_DRIVER_STATE_OFF := "OFF"
|
|
WIFI_DRIVER_STATE_ON := "ON"
|
|
WIFI_HIDL_FEATURE_AWARE := true
|
|
WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
|
|
WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
|
|
WPA_SUPPLICANT_VERSION := VER_0_8_X
|