blob: dd21ec0209d84eb1349f77ccf9ac09e2d998ebdb [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
26AB_OTA_UPDATER := true
27
28AB_OTA_PARTITIONS += \
29 boot \
30 dtbo \
micky387f37c3262021-06-02 22:37:19 +020031 odm \
micky38781c15c82021-05-21 12:59:35 +020032 product \
Elliot Bermand8b0afe2021-04-08 16:41:55 -070033 recovery \
micky38781c15c82021-05-21 12:59:35 +020034 system \
35 system_ext \
36 vbmeta \
micky387f37c3262021-06-02 22:37:19 +020037 vbmeta_system \
micky387adb34832021-06-03 21:11:19 +020038 vendor \
Alexander Koskovich3e4efc52022-01-22 22:22:06 -070039 vendor_boot \
40 vendor_dlkm
micky38781c15c82021-05-21 12:59:35 +020041
micky38718f07ac2019-06-10 00:40:50 +020042# Architecture
43TARGET_ARCH := arm64
Vinay Vermaf295d302021-02-11 19:43:16 +053044TARGET_ARCH_VARIANT := armv8-a-branchprot
micky38718f07ac2019-06-10 00:40:50 +020045TARGET_CPU_ABI := arm64-v8a
46TARGET_CPU_ABI2 :=
micky3875731cc52022-11-04 14:28:32 +010047TARGET_CPU_VARIANT := generic
48TARGET_CPU_VARIANT_RUNTIME := kryo385
micky38718f07ac2019-06-10 00:40:50 +020049
50TARGET_2ND_ARCH := arm
micky3875731cc52022-11-04 14:28:32 +010051TARGET_2ND_ARCH_VARIANT := armv8-a
micky38718f07ac2019-06-10 00:40:50 +020052TARGET_2ND_CPU_ABI := armeabi-v7a
53TARGET_2ND_CPU_ABI2 := armeabi
micky3875731cc52022-11-04 14:28:32 +010054TARGET_2ND_CPU_VARIANT := generic
55TARGET_2ND_CPU_VARIANT_RUNTIME := kryo385
micky38718f07ac2019-06-10 00:40:50 +020056
micky38781c15c82021-05-21 12:59:35 +020057# Bluetooth
58BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth
micky38718f07ac2019-06-10 00:40:50 +020059
60# Bootloader
micky38718f07ac2019-06-10 00:40:50 +020061TARGET_NO_BOOTLOADER := true
62
micky3874eedc682019-06-11 02:29:28 +020063# A/B
micky3874a9d7842019-10-14 20:53:12 +020064BOARD_AVB_ENABLE := true
micky38778244a72020-04-30 08:06:35 +020065BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --set_hashtree_disabled_flag
Ashwin R C2e115a12019-06-19 16:19:56 +080066BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 2
micky387009b31a2022-01-20 18:48:41 +010067BOARD_AVB_VBMETA_SYSTEM := product system system_ext
micky38781c15c82021-05-21 12:59:35 +020068BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
69BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
70BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
71BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
micky3874eedc682019-06-11 02:29:28 +020072
micky387b9eafeb2022-11-18 13:22:11 +010073BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
74BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA4096
75BOARD_AVB_RECOVERY_ROLLBACK_INDEX := 1
76BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1
77
78
micky38718f07ac2019-06-10 00:40:50 +020079# ANT+
80BOARD_ANT_WIRELESS_DEVICE := "qualcomm-hidl"
81
Marko Manef8d7e42018-08-26 23:20:31 +020082# Audio
micky387a6f10062019-08-11 14:34:11 +020083USE_XML_AUDIO_POLICY_CONF := 1
micky387b46724e2020-02-08 20:30:22 +010084AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := true
85AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
86AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
87AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
88AUDIO_FEATURE_ENABLED_RECORD_PLAY_CONCURRENCY := true
89AUDIO_FEATURE_ENABLED_VOICE_CONCURRENCY := true
Marko Manef8d7e42018-08-26 23:20:31 +020090
micky387ccee9192021-11-25 22:00:34 +010091# Broken flags
micky387009b31a2022-01-20 18:48:41 +010092BUILD_BROKEN_DUP_RULES := true
micky387ccee9192021-11-25 22:00:34 +010093BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
94
micky38718f07ac2019-06-10 00:40:50 +020095# charger
micky38781c15c82021-05-21 12:59:35 +020096BOARD_CHARGER_DISABLE_INIT_BLANK := true
micky38718f07ac2019-06-10 00:40:50 +020097
98# Dex
99ifeq ($(HOST_OS),linux)
100 ifneq ($(TARGET_BUILD_VARIANT),eng)
101 WITH_DEXPREOPT ?= true
102 endif
103endif
micky38718f07ac2019-06-10 00:40:50 +0200104
105# Display
106TARGET_USES_HWC2 := true
107
108# DRM
109TARGET_ENABLE_MEDIADRM_64 := true
110
Ɓukasz Patron357f1962019-11-08 11:01:46 +0100111# Filesystem
112TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs
113
micky38718f07ac2019-06-10 00:40:50 +0200114# Global
micky387e3a18112021-05-30 02:33:42 +0200115BOARD_EXT4_SHARE_DUP_BLOCKS := true
micky38718f07ac2019-06-10 00:40:50 +0200116BOARD_USES_QCOM_HARDWARE := true
117TARGET_SPECIFIC_HEADER_PATH := $(DEVICE_PATH)/include
118TARGET_SUPPORTS_32_BIT_APPS := true
119TARGET_SUPPORTS_64_BIT_APPS := true
120TARGET_USES_QCOM_BSP := false
micky38718f07ac2019-06-10 00:40:50 +0200121TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false
micky387009b31a2022-01-20 18:48:41 +0100122BOARD_EXT4_SHARE_DUP_BLOCKS := true
micky38718f07ac2019-06-10 00:40:50 +0200123
micky387ac0969c2019-12-16 11:48:55 +0100124#HIDL
micky387e46d8d12022-10-30 09:57:31 +0100125DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += $(DEVICE_PATH)/manifest/vendor_framework_compatibility_matrix.xml \
126 $(DEVICE_PATH)/manifest/asus_framework_matrix.xml
127DEVICE_FRAMEWORK_MANIFEST_FILE += $(DEVICE_PATH)/manifest/framework_manifest.xml
micky38718765c82022-11-03 12:51:36 +0100128DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest/manifest_taro.xml
micky387e46d8d12022-10-30 09:57:31 +0100129DEVICE_MATRIX_FILE += $(DEVICE_PATH)/manifest/compatibility_matrix.xml
micky387ac0969c2019-12-16 11:48:55 +0100130
micky387679a11f2019-06-11 02:18:20 +0200131# Kernel
micky38775ccb312022-10-30 17:00:22 +0100132KERNEL_LD := LD=ld.lld AR=llvm-ar
micky3879e0063b2022-11-03 15:11:37 +0100133BOARD_BOOT_HEADER_VERSION := 4
micky38781c15c82021-05-21 12:59:35 +0200134BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
micky3879e0063b2022-11-03 15:11:37 +0100135BOARD_KERNEL_CMDLINE := \
micky3879e0063b2022-11-03 15:11:37 +0100136 msm_geni_serial.con_enabled=0
137
micky387bf7b64e2022-11-18 15:44:23 +0100138BOARD_BOOTCONFIG := \
micky3879e0063b2022-11-03 15:11:37 +0100139 androidboot.hardware=qcom \
140 androidboot.memcg=1 \
141 androidboot.usbcontroller=a600000.dwc3
142
micky387b4b67a42019-11-09 03:21:12 +0100143#BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
micky387679a11f2019-06-11 02:18:20 +0200144BOARD_KERNEL_PAGESIZE := 4096
145BOARD_KERNEL_BASE := 0x00000000
micky387679a11f2019-06-11 02:18:20 +0200146TARGET_KERNEL_ARCH := arm64
147TARGET_KERNEL_HEADER_ARCH := arm64
micky38781c15c82021-05-21 12:59:35 +0200148BOARD_KERNEL_IMAGE_NAME := Image
micky387679a11f2019-06-11 02:18:20 +0200149TARGET_COMPILE_WITH_MSM_KERNEL := true
micky38781c15c82021-05-21 12:59:35 +0200150TARGET_KERNEL_CONFIG := vendor/zf8_defconfig
151TARGET_KERNEL_SOURCE := kernel/asus/sm8350
152BOARD_INCLUDE_DTB_IN_BOOTIMG := true
micky387679a11f2019-06-11 02:18:20 +0200153BOARD_KERNEL_SEPARATED_DTBO := true
Tengfei Fana557aa42021-07-27 18:21:31 +0800154BOARD_RAMDISK_USE_LZ4 := true
micky387679a11f2019-06-11 02:18:20 +0200155TARGET_KERNEL_CLANG_COMPILE := true
micky387b69e4b82021-11-26 22:58:05 +0100156TARGET_KERNEL_ADDITIONAL_FLAGS := \
157 DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc \
158 HOSTCFLAGS="-fuse-ld=lld -Wno-unused-command-line-argument"
micky38775ccb312022-10-30 17:00:22 +0100159TARGET_KERNEL_ADDITIONAL_FLAGS += LLVM=1 LLVM_IAS=1
micky3870f68c2b2019-09-11 14:28:27 +0200160
micky387b3cdba22022-11-04 13:20:57 +0100161BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true
162
micky38781c15c82021-05-21 12:59:35 +0200163# NFC
164TARGET_USES_NQ_NFC := true
165
micky38718f07ac2019-06-10 00:40:50 +0200166# Partitions
micky38781c15c82021-05-21 12:59:35 +0200167ifneq ($(ROM_BUILDTYPE),$(filter $(ROM_BUILDTYPE),GAPPS MICROG))
micky3876f9e9e42022-11-04 01:55:02 +0100168BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE := 629145600
169BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 629145600
micky38757447472021-08-11 04:07:46 +0200170BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE := 629145600
micky38781c15c82021-05-21 12:59:35 +0200171endif
172
173BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
174BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4
175BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
176BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4
micky3877736aab2021-05-25 12:40:38 +0200177BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
micky387f37c3262021-06-02 22:37:19 +0200178BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
Alexander Koskovich3e4efc52022-01-22 22:22:06 -0700179BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
micky38782663782019-07-11 03:55:12 +0200180BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
micky387009b31a2022-01-20 18:48:41 +0100181BOARD_KERNEL_BINARIES := kernel
micky387bdad4fe2021-05-25 03:11:37 +0200182BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296
micky387b1f1cd62021-06-29 04:45:35 +0200183BOARD_DTBOIMG_PARTITION_SIZE := 25165824
micky387f164a702022-11-03 15:22:44 +0100184BOARD_RECOVERYIMAGE_PARTITION_SIZE := 104857600
micky3876f9e9e42022-11-04 01:55:02 +0100185BOARD_USERDATAIMAGE_PARTITION_SIZE := 234211844096
micky38718f07ac2019-06-10 00:40:50 +0200186BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
micky3878a6b37a2019-08-05 02:23:59 +0200187BOARD_USES_METADATA_PARTITION := true
micky38781c15c82021-05-21 12:59:35 +0200188TARGET_COPY_OUT_ODM := odm
189TARGET_COPY_OUT_PRODUCT := product
190TARGET_COPY_OUT_SYSTEM_EXT := system_ext
micky38718f07ac2019-06-10 00:40:50 +0200191TARGET_COPY_OUT_VENDOR := vendor
Alexander Koskovich3e4efc52022-01-22 22:22:06 -0700192TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm
micky38718f07ac2019-06-10 00:40:50 +0200193
micky38781c15c82021-05-21 12:59:35 +0200194BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := \
195 system \
196 system_ext \
micky387f37c3262021-06-02 22:37:19 +0200197 odm \
198 product \
Alexander Koskovich3e4efc52022-01-22 22:22:06 -0700199 vendor \
200 vendor_dlkm
micky387009b31a2022-01-20 18:48:41 +0100201
micky3876f9e9e42022-11-04 01:55:02 +0100202BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 9122805504 # BOARD_SUPER_PARTITION_SIZE - 4MB
micky38781c15c82021-05-21 12:59:35 +0200203BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions
micky3876f9e9e42022-11-04 01:55:02 +0100204BOARD_SUPER_PARTITION_SIZE := 9126805504
micky38781c15c82021-05-21 12:59:35 +0200205
micky38781c15c82021-05-21 12:59:35 +0200206BOARD_ROOT_EXTRA_FOLDERS += ADF APD asdf batinfo
micky387a44d9cd2019-06-16 17:50:52 +0200207
micky38718f07ac2019-06-10 00:40:50 +0200208# Platform
micky38781c15c82021-05-21 12:59:35 +0200209TARGET_BOARD_PLATFORM_GPU := qcom-adreno660
210
211# Properties
micky387516f5662021-08-11 22:20:41 +0200212TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop
micky38781c15c82021-05-21 12:59:35 +0200213TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
micky387516f5662021-08-11 22:20:41 +0200214TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/system_ext.prop
micky387009b31a2022-01-20 18:48:41 +0100215TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
micky38718f07ac2019-06-10 00:40:50 +0200216
micky38718f07ac2019-06-10 00:40:50 +0200217# Recovery
Elliot Bermand8b0afe2021-04-08 16:41:55 -0700218BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE := true
micky3876e3fa0b2021-05-26 02:40:00 +0200219TARGET_USERIMAGES_USE_EXT4 := true
220TARGET_USERIMAGES_USE_F2FS := true
micky38762e73712022-11-03 13:13:29 +0100221TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/ramdisk/fstab.qcom
micky3876e3fa0b2021-05-26 02:40:00 +0200222TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
micky3870d388a82021-06-27 05:09:42 +0200223TARGET_RECOVERY_UI_MARGIN_HEIGHT := 150
micky387009b31a2022-01-20 18:48:41 +0100224
225# Security patch level
micky387ea0ecd52022-11-03 13:35:31 +0100226VENDOR_SECURITY_PATCH := 2022-10-01
micky3876525e302019-06-11 03:27:23 +0200227
228# Sepolicy
229include vendor/omni/sepolicy/sepolicy.mk
micky387b202f6e2022-11-04 00:37:46 +0100230include device/qcom/sepolicy_vendor/SEPolicy.mk
micky387009b31a2022-01-20 18:48:41 +0100231BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
Alexander Koskovicha7c00c52022-02-03 22:48:45 +0100232SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/private
micky3877a3d0e42022-02-02 19:37:28 +0100233
234# WiFi
235BOARD_WLAN_DEVICE := qcwcn
236BOARD_HOSTAPD_DRIVER := NL80211
237BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
238BOARD_WPA_SUPPLICANT_DRIVER := NL80211
239BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
240PRODUCT_VENDOR_MOVE_ENABLED := true
241WIFI_DRIVER_DEFAULT := qca_cld3
242WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan"
243WIFI_DRIVER_STATE_OFF := "OFF"
244WIFI_DRIVER_STATE_ON := "ON"
245WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
246WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
247WPA_SUPPLICANT_VERSION := VER_0_8_X