device_brax_brax3/BoardConfig.mk
Vincent Vidal 96a50307c5 update
2025-08-22 12:30:14 +02:00

213 lines
6.8 KiB
Makefile

DEVICE_PATH := device/brax/brax3
KEYS_PATH := vendor/lineage-priv/keys
TARGET_KERNEL_PATH := device/brax/brax3-kernel
BUILD_BROKEN_DUP_RULES := true
# A/B
AB_OTA_UPDATER := true
BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true
BOARD_USES_RECOVERY_AS_BOOT :=
TARGET_NO_RECOVERY := true
AB_OTA_PARTITIONS += \
boot \
dtbo \
init_boot \
odm_dlkm \
product \
system \
system_ext \
system_dlkm \
vbmeta \
vbmeta_system \
vbmeta_vendor \
vendor \
vendor_boot \
vendor_dlkm
# Architecture
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-2a
TARGET_CPU_VARIANT := cortex-a55
TARGET_CPU_ABI := arm64-v8a
TARGET_CPU_ABI2 :=
TARGET_CPU_SMP := true
TARGET_2ND_ARCH := arm
TARGET_2ND_ARCH_VARIANT := armv8-2a
TARGET_2ND_CPU_VARIANT := cortex-a55
TARGET_2ND_CPU_ABI := armeabi-v7a
TARGET_2ND_CPU_ABI2 := armeabi
# Bootloader
TARGET_BOOTLOADER_BOARD_NAME := k6835v1_64
# Display
TARGET_SCREEN_DENSITY := 280
# Kernel
TARGET_PREBUILT_KERNEL := $(TARGET_KERNEL_PATH)/kernel
BOARD_KERNEL_CMDLINE := \
bootopt=64S3,32N2,64N2
#BOARD_KERNEL_CMDLINE += \
androidboot.selinux=permissive
BOARD_KERNEL_BASE := 0x40000000
BOARD_KERNEL_OFFSET = 0
BOARD_RAMDISK_OFFSET = 0x26F00000
BOARD_TAGS_OFFSET = 0x07C80000
BOARD_KERNEL_DTB_OFFSET = 0x07C80000
BOARD_KERNEL_PAGESIZE := 4096
BOARD_BOOT_HEADER_VERSION = 4
BOARD_MKBOOTIMG_ARGS := \
--base $(BOARD_KERNEL_BASE) \
--kernel_offset $(BOARD_KERNEL_OFFSET) \
--ramdisk_offset $(BOARD_RAMDISK_OFFSET) \
--tags_offset $(BOARD_TAGS_OFFSET) \
--dtb_offset $(BOARD_KERNEL_DTB_OFFSET) \
--pagesize $(BOARD_KERNEL_PAGESIZE) \
--header_version $(BOARD_BOOT_HEADER_VERSION)
BOARD_RAMDISK_USE_LZ4 := true
# Kernel modules
BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(TARGET_KERNEL_PATH)/vendor_dlkm/modules.load))
BOARD_VENDOR_KERNEL_MODULES := $(wildcard $(TARGET_KERNEL_PATH)/vendor_dlkm/*.ko)
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(TARGET_KERNEL_PATH)/vendor_boot/modules.load))
BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(wildcard $(TARGET_KERNEL_PATH)/vendor_boot/*.ko)
# Device Tree
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
TARGET_NEEDS_DTBOIMAGE := true
BOARD_PREBUILT_DTBIMAGE_DIR := $(TARGET_KERNEL_PATH)
BOARD_PREBUILT_DTBOIMAGE := $(BOARD_PREBUILT_DTBIMAGE_DIR)/dtbo.img
# Init Boot
BOARD_INIT_BOOT_HEADER_VERSION := 4
BOARD_MKBOOTIMG_INIT_ARGS += --header_version $(BOARD_INIT_BOOT_HEADER_VERSION)
# HIDL
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
$(DEVICE_PATH)/framework_compatibility_matrix.xml
DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest.xml
# Metadata
BOARD_USES_METADATA_PARTITION := true
# Partitions
BOARD_PRODUCTIMAGE_MINIMAL_PARTITION_RESERVED_SIZE := false
-include vendor/lineage/config/BoardConfigReservedSize.mk
BOARD_BOOTIMAGE_PARTITION_SIZE := 67108864
BOARD_DTBOIMG_PARTITION_SIZE := 8388608
BOARD_INIT_BOOT_IMAGE_PARTITION_SIZE := 8388608
BOARD_USERDATAIMAGE_PARTITION_SIZE := 238748139520
BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 67108864
BOARD_ODM_DLKMIMAGE_FILE_SYSTEM_TYPE := erofs
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := erofs
BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := erofs
BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := erofs
BOARD_SYSTEM_DLKMIMAGE_FILE_SYSTEM_TYPE := erofs
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := erofs
BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := erofs
BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
BOARD_SUPER_PARTITION_GROUPS := mediatek_dynamic_partitions
BOARD_SUPER_PARTITION_SIZE := 9663676416
BOARD_MEDIATEK_DYNAMIC_PARTITIONS_PARTITION_LIST := odm_dlkm product system system_ext system_dlkm vendor vendor_dlkm
BOARD_MEDIATEK_DYNAMIC_PARTITIONS_SIZE := 9661579264
BOARD_FLASH_BLOCK_SIZE := 262144
TARGET_COPY_OUT_ODM := vendor/odm
TARGET_COPY_OUT_ODM_DLKM := odm_dlkm
TARGET_COPY_OUT_PRODUCT := product
TARGET_COPY_OUT_SYSTEM_DLKM := system_dlkm
TARGET_COPY_OUT_SYSTEM_EXT := system_ext
TARGET_COPY_OUT_VENDOR := vendor
TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm
# Platform
TARGET_BOARD_PLATFORM := mt6835
# Recovery
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/init/fstab.mt6835
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
TARGET_USERIMAGES_USE_EXT4 := true
TARGET_USERIMAGES_USE_F2FS := true
# RIL
ENABLE_VENDOR_RIL_SERVICE := true
# SELinux
BOARD_MTK_SEPOLICY_IS_LEGACY := true
include device/mediatek/sepolicy_vndr/SEPolicy.mk
BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
# SPL
VENDOR_SECURITY_PATCH := 2025-04-05
# 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_ALGORITHM := SHA256_RSA2048
ifneq (,$(wildcard $(KEYS_PATH)/brax3-oem.pem))
BOARD_AVB_KEY_PATH := $(KEYS_PATH)/brax3-oem.pem
else
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3
BOARD_AVB_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
endif
BOARD_AVB_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
ifneq (,$(wildcard $(KEYS_PATH)/brax3-boot.pem))
BOARD_AVB_BOOT_KEY_PATH := $(KEYS_PATH)/brax3-boot.pem
else
BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
endif
BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA2048
BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 3
BOARD_AVB_VBMETA_SYSTEM := system system_dlkm system_ext product
ifneq (,$(wildcard $(KEYS_PATH)/brax3-system.pem))
BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := $(KEYS_PATH)/brax3-system.pem
else
BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
endif
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 := vendor vendor_dlkm odm_dlkm
ifneq (,$(wildcard $(KEYS_PATH)/brax3-vendor.pem))
BOARD_AVB_VBMETA_VENDOR_KEY_PATH := $(KEYS_PATH)/brax3-vendor.pem
else
BOARD_AVB_VBMETA_VENDOR_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
endif
BOARD_AVB_VBMETA_VENDOR_ALGORITHM := SHA256_RSA2048
BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX_LOCATION := 4
# Wi-Fi
WPA_SUPPLICANT_VERSION := VER_0_8_X
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_mt66xx
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_mt66xx
WIFI_DRIVER_FW_PATH_PARAM := "/dev/wmtWifi"
WIFI_DRIVER_FW_PATH_STA:="STA"
WIFI_DRIVER_FW_PATH_AP:="AP"
WIFI_DRIVER_FW_PATH_P2P:="P2P"
WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wmtWifi"
WIFI_DRIVER_STATE_ON := "1"
WIFI_DRIVER_STATE_OFF := "0"
WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
WIFI_HIDL_FEATURE_DUAL_INTERFACE:= true
BOARD_SHIPPING_API_LEVEL := 33
BOARD_VNDK_VERSION := current
TARGET_BRM_PLATFORM := mt6835
VEXT_BRM_PLATFORM := mt6835
# Include the proprietary files BoardConfig.
include vendor/brax/brax3/BoardConfigVendor.mk