blob: fd7dfcf48f3fbe0f0b5545d142730d306a6dfbcd [file] [log] [blame]
Nahhk0b0b2e92025-03-19 06:23:56 -05001#
2# Copyright (C) 2025 The LineageOS Project
3#
4# SPDX-License-Identifier: Apache-2.0
5#
6
7# Inherit the proprietary files
8include vendor/xiaomi/sm6225-common/BoardConfigVendor.mk
9
10COMMON_PATH := device/xiaomi/sm6225-common
11
Nahhkbdc8b122024-12-19 15:20:28 -050012# A/B
13AB_OTA_PARTITIONS += \
14 boot \
15 dtbo \
16 init_boot \
17 odm \
18 product \
19 recovery \
20 system \
21 system_dlkm \
22 system_ext \
23 vbmeta \
24 vbmeta_system \
25 vendor \
26 vendor_boot \
27 vendor_dlkm
28
Nahhk0b0b2e92025-03-19 06:23:56 -050029# Architecture
30TARGET_ARCH := arm64
31TARGET_ARCH_VARIANT := armv8-a
32TARGET_CPU_ABI := arm64-v8a
33TARGET_CPU_ABI2 :=
Nahhk89645162025-03-12 13:24:50 -050034TARGET_CPU_VARIANT := cortex-a73
Nahhk0b0b2e92025-03-19 06:23:56 -050035
36TARGET_2ND_ARCH := arm
37TARGET_2ND_ARCH_VARIANT := armv7-a-neon
38TARGET_2ND_CPU_ABI := armeabi-v7a
39TARGET_2ND_CPU_ABI2 := armeabi
40TARGET_2ND_CPU_VARIANT := cortex-a9
41
42# Bootloader
43TARGET_BOOTLOADER_BOARD_NAME := bengal
44TARGET_NO_BOOTLOADER := true
45
Nahhke23ba1a2024-09-26 13:38:06 -050046# Filesystem
47TARGET_FS_CONFIG_GEN := $(COMMON_PATH)/configs/config.fs
48
Nahhk0b0b2e92025-03-19 06:23:56 -050049# Hardware
50BOARD_USES_QCOM_HARDWARE := true
51
Nahhkb9b95ca2024-12-14 17:01:07 -050052# Kernel
53BOARD_INCLUDE_DTB_IN_BOOTIMG := true
54BOARD_RAMDISK_USE_LZ4 := true
55TARGET_NEEDS_DTBOIMAGE := true
56
57BOARD_KERNEL_BASE := 0x00000000
58BOARD_KERNEL_PAGESIZE := 4096
59BOARD_KERNEL_IMAGE_NAME := Image
60
61BOARD_BOOT_HEADER_VERSION := 4
62BOARD_MKBOOTIMG_ARGS := --header_version $(BOARD_BOOT_HEADER_VERSION)
63
64BOARD_INIT_BOOT_HEADER_VERSION := 4
65BOARD_MKBOOTIMG_INIT_ARGS += --header_version $(BOARD_INIT_BOOT_HEADER_VERSION)
66
67BOARD_KERNEL_CMDLINE := \
68 video=vfb:640x400,bpp=32,memsize=3072000 \
69 swinfo.fingerprint=$(LINEAGE_VERSION) \
70 mtdoops.fingerprint=$(LINEAGE_VERSION)
71
72BOARD_BOOTCONFIG := \
73 androidboot.hardware=qcom \
74 androidboot.memcg=1 \
75 androidboot.usbcontroller=4e00000.dwc3 \
76 androidboot.selinux=permissive
77
Nahhk74c51492024-12-19 15:08:45 -050078# Metadata
79BOARD_USES_METADATA_PARTITION := true
80
81# Partitions
82BOARD_BOOTIMAGE_PARTITION_SIZE := 0x08000000
83BOARD_DTBOIMG_PARTITION_SIZE := 0x01800000
84BOARD_INIT_BOOT_IMAGE_PARTITION_SIZE := 0x00800000
85BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x06400000
86BOARD_SUPER_PARTITION_SIZE := 6442450944 # 0x180000000
87BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 0x06000000
88
89BOARD_FLASH_BLOCK_SIZE := 131072 # (BOARD_KERNEL_PAGESIZE * 64)
90
91BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions
92BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := odm product system system_dlkm system_ext vendor vendor_dlkm
93BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 6438256640 # (BOARD_SUPER_PARTITION_SIZE/2) - 4MB
94
95$(foreach p, $(call to-upper, $(BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST)), \
96 $(eval BOARD_$(p)IMAGE_FILE_SYSTEM_TYPE := ext4) \
97 $(eval TARGET_COPY_OUT_$(p) := $(call to-lower, $(p))))
98
Michael Bestas83be0792023-11-22 15:51:28 +020099include vendor/lineage/config/BoardConfigReservedSize.mk
100
Nahhk0b0b2e92025-03-19 06:23:56 -0500101# Platform
102TARGET_BOARD_PLATFORM := bengal
103TARGET_BOARD_SUFFIX := _515
Nahhkb9b95ca2024-12-14 17:01:07 -0500104
Nahhkac2edf42025-03-23 21:14:56 -0500105# Properties
106TARGET_ODM_PROP += $(COMMON_PATH)/properties/odm.prop
107TARGET_VENDOR_PROP += $(COMMON_PATH)/properties/vendor.prop
108
Nahhkb9b95ca2024-12-14 17:01:07 -0500109# Recovery
110BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE := true
Nahhkc20cc062025-03-19 08:42:03 -0500111TARGET_RECOVERY_FSTAB := $(COMMON_PATH)/rootdir/fstab.qcom
112TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
113TARGET_USERIMAGES_USE_EXT4 := true
114TARGET_USERIMAGES_USE_F2FS := true
Nahhkc058aa92025-03-19 17:11:55 -0500115
Naina Nalluric5fd3542018-01-24 13:11:47 -0800116# RIL
117ENABLE_VENDOR_RIL_SERVICE := true
118
Nahhkac2edf42025-03-23 21:14:56 -0500119# Security patch level
120VENDOR_SECURITY_PATCH := 2025-02-01
121
Nahhk88938ae2024-07-06 11:59:35 -0500122# Sepolicy
123include device/qcom/sepolicy_vndr/SEPolicy.mk
124
Nahhk952a7c02025-02-18 12:46:52 -0500125# VINTF
126DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
127 hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \
128 hardware/xiaomi/vintf/xiaomi_framework_compatibility_matrix.xml \
129 vendor/lineage/config/device_framework_matrix.xml
130
131DEVICE_MANIFEST_FILE := \
132 $(COMMON_PATH)/vintf/manifest.xml \
133 $(COMMON_PATH)/vintf/manifest_xiaomi.xml
134
135DEVICE_MATRIX_FILE := \
136 hardware/qcom-caf/common/compatibility_matrix.xml
137
Nahhkc058aa92025-03-19 17:11:55 -0500138# Verified Boot
139BOARD_AVB_ENABLE := true
140BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3
141BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true
142
143BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA2048
144BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
145BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
146BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 3
147
148BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA2048
149BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
150BOARD_AVB_RECOVERY_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
151BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1
152
153BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
154BOARD_AVB_VBMETA_SYSTEM := system system_dlkm system_ext product
155BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
156BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
157BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2