| Nahhk | 7117b47 | 2025-03-19 06:23:56 -0500 | [diff] [blame] | 1 | # |
| 2 | # Copyright (C) 2025 The LineageOS Project |
| 3 | # |
| 4 | # SPDX-License-Identifier: Apache-2.0 |
| 5 | # |
| 6 | |
| 7 | # Inherit the proprietary files |
| 8 | include vendor/xiaomi/sm6225-common/BoardConfigVendor.mk |
| 9 | |
| 10 | COMMON_PATH := device/xiaomi/sm6225-common |
| Nikita Savchenko | a5dd640 | 2025-04-22 13:41:11 +0000 | [diff] [blame] | 11 | KERNEL_PATH := device/xiaomi/$(TARGET_DEVICE)-kernel |
| Nahhk | 7117b47 | 2025-03-19 06:23:56 -0500 | [diff] [blame] | 12 | |
| Nikita Savchenko | 1d9c817 | 2025-08-26 22:03:31 +0000 | [diff] [blame] | 13 | # A/B |
| 14 | AB_OTA_PARTITIONS += \ |
| 15 | boot \ |
| 16 | dtbo \ |
| 17 | init_boot \ |
| 18 | odm \ |
| 19 | product \ |
| 20 | recovery \ |
| 21 | system \ |
| 22 | system_dlkm \ |
| 23 | system_ext \ |
| 24 | vbmeta \ |
| 25 | vbmeta_system \ |
| 26 | vendor \ |
| 27 | vendor_boot \ |
| 28 | vendor_dlkm |
| 29 | |
| Nahhk | 7117b47 | 2025-03-19 06:23:56 -0500 | [diff] [blame] | 30 | # Architecture |
| 31 | TARGET_ARCH := arm64 |
| 32 | TARGET_ARCH_VARIANT := armv8-a |
| 33 | TARGET_CPU_ABI := arm64-v8a |
| 34 | TARGET_CPU_ABI2 := |
| 35 | TARGET_CPU_VARIANT := generic |
| 36 | |
| Nikita Savchenko | d4df4e5 | 2025-06-29 22:28:29 +0000 | [diff] [blame] | 37 | # Audio |
| 38 | AUDIO_FEATURE_ENABLED_DLKM := true |
| 39 | AUDIO_FEATURE_ENABLED_DTS_EAGLE := false |
| 40 | AUDIO_FEATURE_ENABLED_GEF_SUPPORT := true |
| 41 | AUDIO_FEATURE_ENABLED_HW_ACCELERATED_EFFECTS := false |
| 42 | AUDIO_FEATURE_ENABLED_INSTANCE_ID := true |
| 43 | AUDIO_FEATURE_ENABLED_AGM_HIDL := true |
| 44 | AUDIO_FEATURE_ENABLED_EC_REF_CAPTURE := true |
| 45 | AUDIO_FEATURE_ENABLED_PAL_HIDL := true |
| 46 | AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true |
| 47 | BOARD_SUPPORTS_OPENSOURCE_STHAL := true |
| 48 | |
| Nahhk | 7117b47 | 2025-03-19 06:23:56 -0500 | [diff] [blame] | 49 | # Bootloader |
| 50 | TARGET_BOOTLOADER_BOARD_NAME := bengal |
| 51 | TARGET_NO_BOOTLOADER := true |
| 52 | |
| Nikita Savchenko | a5dd640 | 2025-04-22 13:41:11 +0000 | [diff] [blame] | 53 | # DTB/DTBO |
| 54 | BOARD_KERNEL_SEPARATED_DTBO := true |
| 55 | BOARD_USES_DT := true |
| 56 | BOARD_PREBUILT_DTBIMAGE_DIR := $(KERNEL_PATH)/dtbs |
| 57 | BOARD_PREBUILT_DTBOIMAGE := $(KERNEL_PATH)/dtbs/dtbo.img |
| 58 | |
| Nikita Savchenko | 3c6e12b | 2025-08-26 22:11:44 +0000 | [diff] [blame] | 59 | # Filesystem |
| 60 | TARGET_FS_CONFIG_GEN := $(COMMON_PATH)/configs/config.fs |
| 61 | |
| Nahhk | 7117b47 | 2025-03-19 06:23:56 -0500 | [diff] [blame] | 62 | # Hardware |
| 63 | BOARD_USES_QCOM_HARDWARE := true |
| 64 | |
| Nikita Savchenko | b3b2072 | 2025-06-30 15:28:34 +0000 | [diff] [blame] | 65 | # HIDL |
| 66 | DEVICE_FRAMEWORK_MANIFEST_FILE += $(COMMON_PATH)/configs/vintf/framework_manifest.xml |
| 67 | DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \ |
| 68 | hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \ |
| 69 | hardware/xiaomi/vintf/xiaomi_framework_compatibility_matrix.xml \ |
| 70 | vendor/lineage/config/device_framework_matrix.xml |
| 71 | DEVICE_MATRIX_FILE := hardware/qcom-caf/common/compatibility_matrix.xml |
| 72 | DEVICE_MANIFEST_FILE += \ |
| 73 | $(COMMON_PATH)/configs/vintf/manifest.xml \ |
| 74 | $(COMMON_PATH)/configs/vintf/manifest_radio.xml \ |
| 75 | $(COMMON_PATH)/configs/vintf/manifest_xiaomi.xml |
| 76 | |
| Nahhk | 3979258 | 2024-12-14 17:01:07 -0500 | [diff] [blame] | 77 | # Kernel |
| 78 | BOARD_INCLUDE_DTB_IN_BOOTIMG := true |
| 79 | BOARD_RAMDISK_USE_LZ4 := true |
| 80 | TARGET_NEEDS_DTBOIMAGE := true |
| 81 | |
| 82 | BOARD_KERNEL_BASE := 0x00000000 |
| 83 | BOARD_KERNEL_PAGESIZE := 4096 |
| 84 | BOARD_KERNEL_IMAGE_NAME := Image |
| 85 | |
| 86 | BOARD_BOOT_HEADER_VERSION := 4 |
| 87 | BOARD_MKBOOTIMG_ARGS := --header_version $(BOARD_BOOT_HEADER_VERSION) |
| 88 | |
| 89 | BOARD_INIT_BOOT_HEADER_VERSION := 4 |
| 90 | BOARD_MKBOOTIMG_INIT_ARGS += --header_version $(BOARD_INIT_BOOT_HEADER_VERSION) |
| 91 | |
| 92 | BOARD_KERNEL_CMDLINE := \ |
| 93 | video=vfb:640x400,bpp=32,memsize=3072000 \ |
| 94 | swinfo.fingerprint=$(LINEAGE_VERSION) \ |
| 95 | mtdoops.fingerprint=$(LINEAGE_VERSION) |
| 96 | |
| 97 | BOARD_BOOTCONFIG := \ |
| 98 | androidboot.hardware=qcom \ |
| 99 | androidboot.memcg=1 \ |
| 100 | androidboot.usbcontroller=4e00000.dwc3 \ |
| 101 | androidboot.selinux=permissive |
| 102 | |
| Nikita Savchenko | a5dd640 | 2025-04-22 13:41:11 +0000 | [diff] [blame] | 103 | # Kernel prebuilt |
| 104 | TARGET_KERNEL_ARCH := arm64 |
| 105 | TARGET_KERNEL_HEADER_ARCH := arm64 |
| 106 | TARGET_KERNEL_SOURCE := $(KERNEL_PATH)/kernel-headers |
| 107 | TARGET_KERNEL_VERSION := 5.15 |
| 108 | |
| 109 | TARGET_NO_KERNEL_OVERRIDE := true |
| 110 | |
| 111 | TARGET_FORCE_PREBUILT_KERNEL := true |
| 112 | TARGET_PREBUILT_KERNEL := $(KERNEL_PATH)/Image |
| 113 | |
| 114 | PRODUCT_COPY_FILES += $(TARGET_PREBUILT_KERNEL):kernel |
| 115 | |
| 116 | # Kernel modules |
| 117 | DLKM_MODULES_PATH := $(KERNEL_PATH)/vendor_dlkm |
| 118 | RAMDISK_MODULES_PATH := $(KERNEL_PATH)/vendor_ramdisk |
| 119 | BOARD_VENDOR_KERNEL_MODULES := $(wildcard $(DLKM_MODULES_PATH)/*.ko) |
| 120 | BOARD_VENDOR_KERNEL_MODULES_LOAD := $(patsubst %,$(DLKM_MODULES_PATH)/%,$(shell cat $(DLKM_MODULES_PATH)/modules.load)) |
| 121 | BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(DLKM_MODULES_PATH)/modules.blocklist |
| 122 | BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(wildcard $(RAMDISK_MODULES_PATH)/*.ko) |
| 123 | BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(patsubst %,$(RAMDISK_MODULES_PATH)/%,$(shell cat $(RAMDISK_MODULES_PATH)/modules.load)) |
| 124 | BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD := $(patsubst %,$(RAMDISK_MODULES_PATH)/%,$(shell cat $(RAMDISK_MODULES_PATH)/modules.load.recovery)) |
| 125 | BOARD_VENDOR_RAMDISK_KERNEL_MODULES_BLOCKLIST_FILE := $(RAMDISK_MODULES_PATH)/modules.blocklist |
| 126 | |
| Nahhk | a15ac6f | 2024-12-19 15:08:45 -0500 | [diff] [blame] | 127 | # Metadata |
| 128 | BOARD_USES_METADATA_PARTITION := true |
| 129 | |
| 130 | # Partitions |
| 131 | BOARD_BOOTIMAGE_PARTITION_SIZE := 0x08000000 |
| 132 | BOARD_DTBOIMG_PARTITION_SIZE := 0x01800000 |
| 133 | BOARD_INIT_BOOT_IMAGE_PARTITION_SIZE := 0x00800000 |
| 134 | BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x06400000 |
| 135 | BOARD_SUPER_PARTITION_SIZE := 6442450944 # 0x180000000 |
| 136 | BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 0x06000000 |
| 137 | |
| 138 | BOARD_FLASH_BLOCK_SIZE := 131072 # (BOARD_KERNEL_PAGESIZE * 64) |
| 139 | |
| 140 | BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions |
| 141 | BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := odm product system system_dlkm system_ext vendor vendor_dlkm |
| 142 | BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 6438256640 # (BOARD_SUPER_PARTITION_SIZE/2) - 4MB |
| 143 | |
| 144 | $(foreach p, $(call to-upper, $(BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST)), \ |
| 145 | $(eval BOARD_$(p)IMAGE_FILE_SYSTEM_TYPE := ext4) \ |
| 146 | $(eval TARGET_COPY_OUT_$(p) := $(call to-lower, $(p)))) |
| 147 | |
| Nahhk | 7117b47 | 2025-03-19 06:23:56 -0500 | [diff] [blame] | 148 | # Platform |
| 149 | TARGET_BOARD_PLATFORM := bengal |
| 150 | TARGET_BOARD_SUFFIX := _515 |
| 151 | |
| ReStranger | e037aaa | 2025-09-17 04:19:06 +0300 | [diff] [blame] | 152 | # Properties |
| 153 | TARGET_ODM_PROP += $(COMMON_PATH)/properties/odm.prop |
| 154 | TARGET_SYSTEM_PROP += $(COMMON_PATH)/properties/system.prop |
| 155 | TARGET_VENDOR_PROP += $(COMMON_PATH)/properties/vendor.prop |
| 156 | |
| Nahhk | 3979258 | 2024-12-14 17:01:07 -0500 | [diff] [blame] | 157 | # Recovery |
| 158 | BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE := true |
| Nahhk | 01babc7 | 2025-03-19 08:42:03 -0500 | [diff] [blame^] | 159 | TARGET_RECOVERY_FSTAB := $(COMMON_PATH)/rootdir/etc/fstab.qcom |
| 160 | TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 |
| 161 | TARGET_USERIMAGES_USE_EXT4 := true |
| 162 | TARGET_USERIMAGES_USE_F2FS := true |
| Nahhk | 3979258 | 2024-12-14 17:01:07 -0500 | [diff] [blame] | 163 | |
| Nikita Savchenko | 7340441 | 2025-06-30 11:40:00 +0000 | [diff] [blame] | 164 | # RIL |
| 165 | ENABLE_VENDOR_RIL_SERVICE := true |
| 166 | |
| Nikita Savchenko | 117d226 | 2025-07-03 14:24:47 +0000 | [diff] [blame] | 167 | # SELinux |
| 168 | include device/qcom/sepolicy_vndr/SEPolicy.mk |
| 169 | |
| Nikita Savchenko | 959fd21 | 2025-07-03 14:23:46 +0000 | [diff] [blame] | 170 | # Verified Boot |
| 171 | BOARD_AVB_ENABLE := true |
| 172 | BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3 |
| 173 | BOARD_AVB_VBMETA_SYSTEM := system system_dlkm system_ext product |
| 174 | BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem |
| 175 | BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048 |
| 176 | BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) |
| 177 | BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2 |
| 178 | BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true |
| 179 | |
| Nikita Savchenko | 573492a | 2025-06-30 10:16:51 +0000 | [diff] [blame] | 180 | # WiFi |
| 181 | BOARD_WLAN_DEVICE := qcwcn |
| 182 | BOARD_HOSTAPD_DRIVER := NL80211 |
| 183 | BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) |
| 184 | BOARD_WPA_SUPPLICANT_DRIVER := NL80211 |
| 185 | BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) |
| 186 | BOARD_WPA_SUPPLICANT_PRIVATE_LIB_EVENT := "ON" |
| 187 | CONFIG_IEEE80211AX := true |
| 188 | WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan" |
| 189 | WIFI_DRIVER_STATE_OFF := "OFF" |
| 190 | WIFI_DRIVER_STATE_ON := "ON" |
| 191 | WIFI_HIDL_FEATURE_AWARE := true |
| 192 | WIFI_HIDL_FEATURE_DUAL_INTERFACE := true |
| 193 | WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true |
| 194 | WPA_SUPPLICANT_VERSION := VER_0_8_X |
| 195 | |
| Nahhk | 7117b47 | 2025-03-19 06:23:56 -0500 | [diff] [blame] | 196 | # Inherit the proprietary files |
| 197 | include vendor/xiaomi/sm6225-common/BoardConfigVendor.mk |