blob: b3ac52e2621d49d383e46fbcc8b0dcd7f31f2868 [file] [log] [blame]
micky38718f07ac2019-06-10 00:40:50 +02001# Copyright (C) 2010 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15#
16# This file is the build configuration for a full Android
17# build for grouper hardware. This cleanly combines a set of
18# device-specific aspects (drivers) with a device-agnostic
19# product configuration (apps).
20#
micky38718765c82022-11-03 12:51:36 +010021DEVICE_PATH := device/asus/zenfone9
micky38718f07ac2019-06-10 00:40:50 +020022
micky38703cfada2019-07-27 07:43:19 +020023BOARD_VENDOR := asus
micky38718f07ac2019-06-10 00:40:50 +020024
micky38781c15c82021-05-21 12:59:35 +020025# A/B
micky38781c15c82021-05-21 12:59:35 +020026AB_OTA_PARTITIONS += \
27 boot \
28 dtbo \
micky387f37c3262021-06-02 22:37:19 +020029 odm \
micky38781c15c82021-05-21 12:59:35 +020030 product \
Elliot Bermand8b0afe2021-04-08 16:41:55 -070031 recovery \
micky38781c15c82021-05-21 12:59:35 +020032 system \
33 system_ext \
34 vbmeta \
micky387f37c3262021-06-02 22:37:19 +020035 vbmeta_system \
micky387adb34832021-06-03 21:11:19 +020036 vendor \
Alexander Koskovich3e4efc52022-01-22 22:22:06 -070037 vendor_boot \
38 vendor_dlkm
micky38781c15c82021-05-21 12:59:35 +020039
micky38718f07ac2019-06-10 00:40:50 +020040# Architecture
41TARGET_ARCH := arm64
Vinay Vermaf295d302021-02-11 19:43:16 +053042TARGET_ARCH_VARIANT := armv8-a-branchprot
micky38718f07ac2019-06-10 00:40:50 +020043TARGET_CPU_ABI := arm64-v8a
Danny Lin44e40192021-12-20 17:33:29 -050044TARGET_CPU_VARIANT := cortex-a76
micky38718f07ac2019-06-10 00:40:50 +020045
46TARGET_2ND_ARCH := arm
micky3875731cc52022-11-04 14:28:32 +010047TARGET_2ND_ARCH_VARIANT := armv8-a
micky38718f07ac2019-06-10 00:40:50 +020048TARGET_2ND_CPU_ABI := armeabi-v7a
49TARGET_2ND_CPU_ABI2 := armeabi
micky38769209782023-01-06 10:00:19 +010050TARGET_2ND_CPU_VARIANT := cortex-a76
micky38718f07ac2019-06-10 00:40:50 +020051
micky38781c15c82021-05-21 12:59:35 +020052# Bluetooth
53BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth
micky38718f07ac2019-06-10 00:40:50 +020054
55# Bootloader
micky38718f07ac2019-06-10 00:40:50 +020056TARGET_NO_BOOTLOADER := true
57
micky3874eedc682019-06-11 02:29:28 +020058# A/B
micky3874a9d7842019-10-14 20:53:12 +020059BOARD_AVB_ENABLE := true
micky38778244a72020-04-30 08:06:35 +020060BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --set_hashtree_disabled_flag
Ashwin R C2e115a12019-06-19 16:19:56 +080061BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 2
micky387009b31a2022-01-20 18:48:41 +010062BOARD_AVB_VBMETA_SYSTEM := product system system_ext
micky38781c15c82021-05-21 12:59:35 +020063BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
64BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
65BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
66BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
micky3874eedc682019-06-11 02:29:28 +020067
micky387b9eafeb2022-11-18 13:22:11 +010068BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
69BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA4096
70BOARD_AVB_RECOVERY_ROLLBACK_INDEX := 1
71BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1
72
73
micky38718f07ac2019-06-10 00:40:50 +020074# ANT+
75BOARD_ANT_WIRELESS_DEVICE := "qualcomm-hidl"
76
Marko Manef8d7e42018-08-26 23:20:31 +020077# Audio
micky387a6f10062019-08-11 14:34:11 +020078USE_XML_AUDIO_POLICY_CONF := 1
micky387b46724e2020-02-08 20:30:22 +010079AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := true
80AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
81AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
82AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
83AUDIO_FEATURE_ENABLED_RECORD_PLAY_CONCURRENCY := true
84AUDIO_FEATURE_ENABLED_VOICE_CONCURRENCY := true
Marko Manef8d7e42018-08-26 23:20:31 +020085
micky387ccee9192021-11-25 22:00:34 +010086# Broken flags
micky387ac5da252023-10-13 14:18:05 +020087BUILD_BROKEN_CLANG_PROPERTY := true
micky387009b31a2022-01-20 18:48:41 +010088BUILD_BROKEN_DUP_RULES := true
micky387ccee9192021-11-25 22:00:34 +010089BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
90
micky38778691a12022-07-18 23:42:44 +020091# Camera
92TARGET_CAMERA_NEEDS_CLIENT_INFO := true
93
micky38718f07ac2019-06-10 00:40:50 +020094# charger
micky38781c15c82021-05-21 12:59:35 +020095BOARD_CHARGER_DISABLE_INIT_BLANK := true
micky38718f07ac2019-06-10 00:40:50 +020096
micky38718f07ac2019-06-10 00:40:50 +020097# Display
Anton Hansson85d7daa2019-01-18 14:10:45 +000098TARGET_SCREEN_DENSITY := 440
micky387d47120a2023-01-01 12:27:40 +010099SOONG_CONFIG_qtidisplay_displayconfig_enabled := true
100SOONG_CONFIG_qtidisplaycommonsys_displayconfig_enabled := true
micky38718f07ac2019-06-10 00:40:50 +0200101
102# DRM
103TARGET_ENABLE_MEDIADRM_64 := true
104
Ɓukasz Patron357f1962019-11-08 11:01:46 +0100105# Filesystem
106TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs
107
micky38718f07ac2019-06-10 00:40:50 +0200108# Global
109BOARD_USES_QCOM_HARDWARE := true
110TARGET_SPECIFIC_HEADER_PATH := $(DEVICE_PATH)/include
111TARGET_SUPPORTS_32_BIT_APPS := true
112TARGET_SUPPORTS_64_BIT_APPS := true
113TARGET_USES_QCOM_BSP := false
micky38718f07ac2019-06-10 00:40:50 +0200114TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false
115
micky387ac0969c2019-12-16 11:48:55 +0100116#HIDL
micky387e46d8d12022-10-30 09:57:31 +0100117DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += $(DEVICE_PATH)/manifest/vendor_framework_compatibility_matrix.xml \
118 $(DEVICE_PATH)/manifest/asus_framework_matrix.xml
119DEVICE_FRAMEWORK_MANIFEST_FILE += $(DEVICE_PATH)/manifest/framework_manifest.xml
micky3877e4cf892023-01-04 18:34:56 +0100120DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest/manifest_cape.xml
micky387e46d8d12022-10-30 09:57:31 +0100121DEVICE_MATRIX_FILE += $(DEVICE_PATH)/manifest/compatibility_matrix.xml
micky387ac0969c2019-12-16 11:48:55 +0100122
micky387679a11f2019-06-11 02:18:20 +0200123# Kernel
micky387eea36632022-11-13 16:27:00 +0100124BOARD_USES_DT := true
125BOARD_USES_GENERIC_KERNEL_IMAGE := true
126BOARD_PREBUILT_DTBIMAGE_DIR := $(TARGET_KERNEL_DIR)/dtb
127BOARD_PREBUILT_DTBOIMAGE := $(TARGET_KERNEL_DIR)/dtbo.img
128BOARD_INCLUDE_DTB_IN_BOOTIMG := true
129TARGET_NO_KERNEL := false
130TARGET_NO_KERNEL_OVERRIDE := true
131
micky3879e0063b2022-11-03 15:11:37 +0100132BOARD_BOOT_HEADER_VERSION := 4
micky38781c15c82021-05-21 12:59:35 +0200133BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
micky3879e0063b2022-11-03 15:11:37 +0100134BOARD_KERNEL_CMDLINE := \
micky3879e0063b2022-11-03 15:11:37 +0100135 msm_geni_serial.con_enabled=0
136
micky387bf7b64e2022-11-18 15:44:23 +0100137BOARD_BOOTCONFIG := \
micky3879e0063b2022-11-03 15:11:37 +0100138 androidboot.hardware=qcom \
139 androidboot.memcg=1 \
micky387f9dc6252022-12-15 11:24:54 +0100140 androidboot.usbcontroller=a600000.dwc3
micky3879e0063b2022-11-03 15:11:37 +0100141
micky387f9dc6252022-12-15 11:24:54 +0100142#BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
micky387679a11f2019-06-11 02:18:20 +0200143BOARD_KERNEL_PAGESIZE := 4096
Tengfei Fana557aa42021-07-27 18:21:31 +0800144BOARD_RAMDISK_USE_LZ4 := true
micky387b3cdba22022-11-04 13:20:57 +0100145BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true
146
micky387eea36632022-11-13 16:27:00 +0100147# Kernel Modules
148KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/modules
149KERNEL_MODULES := $(wildcard $(KERNEL_MODULE_DIR)/*.ko)
150BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.blocklist
151BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.load))
152BOARD_VENDOR_KERNEL_MODULES := $(KERNEL_MODULES)
153
micky38781c15c82021-05-21 12:59:35 +0200154# NFC
155TARGET_USES_NQ_NFC := true
156
micky38718f07ac2019-06-10 00:40:50 +0200157# Partitions
micky38781c15c82021-05-21 12:59:35 +0200158ifneq ($(ROM_BUILDTYPE),$(filter $(ROM_BUILDTYPE),GAPPS MICROG))
micky387d5021b72023-09-06 23:58:50 +0200159BOARD_PRODUCTIMAGE_EXTFS_INODE_COUNT := -1
160BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE := 1629145600
161BOARD_SYSTEMIMAGE_EXTFS_INODE_COUNT := -1
162BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 429145600
micky387d5021b72023-09-06 23:58:50 +0200163BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE := 429145600
micky38781c15c82021-05-21 12:59:35 +0200164endif
165
166BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
167BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4
168BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
169BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4
micky3877736aab2021-05-25 12:40:38 +0200170BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
micky387f37c3262021-06-02 22:37:19 +0200171BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
Alexander Koskovich3e4efc52022-01-22 22:22:06 -0700172BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
micky38782663782019-07-11 03:55:12 +0200173BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
micky387009b31a2022-01-20 18:48:41 +0100174BOARD_KERNEL_BINARIES := kernel
micky387bdad4fe2021-05-25 03:11:37 +0200175BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296
micky387b1f1cd62021-06-29 04:45:35 +0200176BOARD_DTBOIMG_PARTITION_SIZE := 25165824
micky387f164a702022-11-03 15:22:44 +0100177BOARD_RECOVERYIMAGE_PARTITION_SIZE := 104857600
micky3876f9e9e42022-11-04 01:55:02 +0100178BOARD_USERDATAIMAGE_PARTITION_SIZE := 234211844096
micky38718f07ac2019-06-10 00:40:50 +0200179BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
micky3878a6b37a2019-08-05 02:23:59 +0200180BOARD_USES_METADATA_PARTITION := true
micky38781c15c82021-05-21 12:59:35 +0200181TARGET_COPY_OUT_ODM := odm
182TARGET_COPY_OUT_PRODUCT := product
183TARGET_COPY_OUT_SYSTEM_EXT := system_ext
micky38718f07ac2019-06-10 00:40:50 +0200184TARGET_COPY_OUT_VENDOR := vendor
Alexander Koskovich3e4efc52022-01-22 22:22:06 -0700185TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm
micky38718f07ac2019-06-10 00:40:50 +0200186
micky38781c15c82021-05-21 12:59:35 +0200187BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := \
188 system \
189 system_ext \
micky387f37c3262021-06-02 22:37:19 +0200190 odm \
191 product \
Alexander Koskovich3e4efc52022-01-22 22:22:06 -0700192 vendor \
193 vendor_dlkm
micky387009b31a2022-01-20 18:48:41 +0100194
micky38779edadd2023-03-03 18:37:56 +0100195BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 9122611200 # BOARD_SUPER_PARTITION_SIZE - 4MB (4194304)
micky38781c15c82021-05-21 12:59:35 +0200196BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions
micky3876f9e9e42022-11-04 01:55:02 +0100197BOARD_SUPER_PARTITION_SIZE := 9126805504
micky38781c15c82021-05-21 12:59:35 +0200198
micky38781c15c82021-05-21 12:59:35 +0200199BOARD_ROOT_EXTRA_FOLDERS += ADF APD asdf batinfo
micky387a44d9cd2019-06-16 17:50:52 +0200200
micky38718f07ac2019-06-10 00:40:50 +0200201# Platform
micky387d943db82022-11-30 09:49:36 +0100202QCOM_HARDWARE_VARIANT := sm8450
micky38781c15c82021-05-21 12:59:35 +0200203TARGET_BOARD_PLATFORM_GPU := qcom-adreno660
micky387dda5e9d2022-11-18 15:59:00 +0100204TARGET_USES_KERNEL_PLATFORM := true
micky38781c15c82021-05-21 12:59:35 +0200205
206# Properties
micky387516f5662021-08-11 22:20:41 +0200207TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop
micky38781c15c82021-05-21 12:59:35 +0200208TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
micky387516f5662021-08-11 22:20:41 +0200209TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/system_ext.prop
micky387009b31a2022-01-20 18:48:41 +0100210TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
micky38718f07ac2019-06-10 00:40:50 +0200211
micky38718f07ac2019-06-10 00:40:50 +0200212# Recovery
Elliot Bermand8b0afe2021-04-08 16:41:55 -0700213BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE := true
micky3876e3fa0b2021-05-26 02:40:00 +0200214TARGET_USERIMAGES_USE_EXT4 := true
215TARGET_USERIMAGES_USE_F2FS := true
micky38762e73712022-11-03 13:13:29 +0100216TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/ramdisk/fstab.qcom
Luofan Chenfcf6e7d2024-10-10 15:57:32 +0000217TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
micky3870d388a82021-06-27 05:09:42 +0200218TARGET_RECOVERY_UI_MARGIN_HEIGHT := 150
micky387eea36632022-11-13 16:27:00 +0100219BOARD_USES_FULL_RECOVERY_IMAGE := true
220
221BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/modules.load.recovery))
222BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD)))
223BOARD_VENDOR_RAMDISK_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.blocklist
224BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_boot.modules.load))
micky387009b31a2022-01-20 18:48:41 +0100225
226# Security patch level
micky38742502d92024-03-27 22:39:10 -0400227BOOT_SECURITY_PATCH := 2024-02-05
Alexander Koskovicha44a8782022-06-08 12:59:31 -0700228VENDOR_SECURITY_PATCH := $(BOOT_SECURITY_PATCH)
micky3876525e302019-06-11 03:27:23 +0200229
230# Sepolicy
231include vendor/omni/sepolicy/sepolicy.mk
micky387b202f6e2022-11-04 00:37:46 +0100232include device/qcom/sepolicy_vendor/SEPolicy.mk
micky387009b31a2022-01-20 18:48:41 +0100233BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
micky38778691a12022-07-18 23:42:44 +0200234SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/private
micky3877a3d0e42022-02-02 19:37:28 +0100235
daniml3001274e2022-01-02 20:34:14 +0100236# VNDK
237NEED_AIDL_NDK_PLATFORM_BACKEND := true
238
micky3877a3d0e42022-02-02 19:37:28 +0100239# WiFi
240BOARD_WLAN_DEVICE := qcwcn
241BOARD_HOSTAPD_DRIVER := NL80211
micky387295f89c2024-03-29 04:43:48 -0400242BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
micky387b1eb39e2024-03-31 09:50:18 -0400243BOARD_HOSTAPD_PRIVATE_LIB_EVENT := "ON"
micky3877a3d0e42022-02-02 19:37:28 +0100244BOARD_WPA_SUPPLICANT_DRIVER := NL80211
micky38781ed7922024-03-20 18:05:20 -0400245BOARD_WPA_SUPPLICANT_PRIVATE_LIB := $(BOARD_HOSTAPD_PRIVATE_LIB)
micky387b1eb39e2024-03-31 09:50:18 -0400246BOARD_WPA_SUPPLICANT_PRIVATE_LIB_EVENT := "ON"
micky3877a3d0e42022-02-02 19:37:28 +0100247PRODUCT_VENDOR_MOVE_ENABLED := true
248WIFI_DRIVER_DEFAULT := qca_cld3
249WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan"
250WIFI_DRIVER_STATE_OFF := "OFF"
251WIFI_DRIVER_STATE_ON := "ON"
252WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
253WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
254WPA_SUPPLICANT_VERSION := VER_0_8_X
Kumar Anandfe415a82018-01-22 15:02:54 -0800255
256CONFIG_ACS := true
Mahesh Palivela95c73b82012-06-30 13:57:52 +0300257CONFIG_IEEE80211AC := true
Peng Xua6a2edc2017-02-07 15:16:52 -0800258CONFIG_IEEE80211AX := true