blob: e909aa546b699ac4d78c18c30eb546350d4465d6 [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#
micky38781c15c82021-05-21 12:59:35 +020021DEVICE_PATH := device/asus/zenfone8
micky387f37c3262021-06-02 22:37:19 +020022IMAGES_PATH := vendor/images/asus/zenfone8
micky38718f07ac2019-06-10 00:40:50 +020023
micky38703cfada2019-07-27 07:43:19 +020024BOARD_VENDOR := asus
micky38718f07ac2019-06-10 00:40:50 +020025
micky38781c15c82021-05-21 12:59:35 +020026# A/B
27AB_OTA_UPDATER := true
28
29AB_OTA_PARTITIONS += \
30 boot \
31 dtbo \
micky387f37c3262021-06-02 22:37:19 +020032 odm \
micky38781c15c82021-05-21 12:59:35 +020033 product \
34 system \
35 system_ext \
36 vbmeta \
micky387f37c3262021-06-02 22:37:19 +020037 vbmeta_system \
micky387adb34832021-06-03 21:11:19 +020038 vendor \
39 vendor_boot
micky38781c15c82021-05-21 12:59:35 +020040
micky38718f07ac2019-06-10 00:40:50 +020041# Architecture
42TARGET_ARCH := arm64
43TARGET_ARCH_VARIANT := armv8-a
44TARGET_CPU_ABI := arm64-v8a
45TARGET_CPU_ABI2 :=
micky38737138e32022-01-04 13:30:38 +010046TARGET_CPU_VARIANT := generic
47TARGET_CPU_VARIANT_RUNTIME := cortex-a7
micky38718f07ac2019-06-10 00:40:50 +020048
49TARGET_2ND_ARCH := arm
micky38737138e32022-01-04 13:30:38 +010050TARGET_2ND_ARCH_VARIANT := armv8-a
micky38718f07ac2019-06-10 00:40:50 +020051TARGET_2ND_CPU_ABI := armeabi-v7a
52TARGET_2ND_CPU_ABI2 := armeabi
micky38737138e32022-01-04 13:30:38 +010053TARGET_2ND_CPU_VARIANT := generic
54TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a76
micky38718f07ac2019-06-10 00:40:50 +020055
micky38781c15c82021-05-21 12:59:35 +020056# Bluetooth
57BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth
micky38718f07ac2019-06-10 00:40:50 +020058
59# Bootloader
micky38781c15c82021-05-21 12:59:35 +020060TARGET_BOOTLOADER_BOARD_NAME := lahaina
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
micky38781c15c82021-05-21 12:59:35 +020067BOARD_AVB_VBMETA_SYSTEM := system
68BOARD_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
micky38718f07ac2019-06-10 00:40:50 +020073# ANT+
74BOARD_ANT_WIRELESS_DEVICE := "qualcomm-hidl"
75
Marko Manef8d7e42018-08-26 23:20:31 +020076# Audio
micky38781c15c82021-05-21 12:59:35 +020077#USE_CUSTOM_AUDIO_POLICY := 1
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
micky38718f07ac2019-06-10 00:40:50 +020086# charger
micky38781c15c82021-05-21 12:59:35 +020087BOARD_CHARGER_DISABLE_INIT_BLANK := true
micky38718f07ac2019-06-10 00:40:50 +020088
89# Dex
90ifeq ($(HOST_OS),linux)
91 ifneq ($(TARGET_BUILD_VARIANT),eng)
92 WITH_DEXPREOPT ?= true
93 endif
94endif
micky38718f07ac2019-06-10 00:40:50 +020095
96# Display
97TARGET_USES_HWC2 := true
98
99# DRM
100TARGET_ENABLE_MEDIADRM_64 := true
101
Ɓukasz Patron357f1962019-11-08 11:01:46 +0100102# Filesystem
103TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs
104
micky38718f07ac2019-06-10 00:40:50 +0200105# Global
micky387e3a18112021-05-30 02:33:42 +0200106BOARD_EXT4_SHARE_DUP_BLOCKS := true
micky38718f07ac2019-06-10 00:40:50 +0200107BOARD_USES_QCOM_HARDWARE := true
108TARGET_SPECIFIC_HEADER_PATH := $(DEVICE_PATH)/include
109TARGET_SUPPORTS_32_BIT_APPS := true
110TARGET_SUPPORTS_64_BIT_APPS := true
111TARGET_USES_QCOM_BSP := false
micky38718f07ac2019-06-10 00:40:50 +0200112TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false
113
micky387ac0969c2019-12-16 11:48:55 +0100114#HIDL
115DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += $(DEVICE_PATH)/vendor_framework_compatibility_matrix.xml
micky3878459a0c2020-05-01 18:24:34 +0200116DEVICE_FRAMEWORK_MANIFEST_FILE += $(DEVICE_PATH)/framework_manifest.xml
micky387ac0969c2019-12-16 11:48:55 +0100117
micky387679a11f2019-06-11 02:18:20 +0200118# Kernel
micky387887400f2021-05-30 02:37:28 +0200119KERNEL_LD := LD=ld.lld
micky38781c15c82021-05-21 12:59:35 +0200120BOARD_BOOT_HEADER_VERSION := 3
121BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
micky3876e3fa0b2021-05-26 02:40:00 +0200122BOARD_KERNEL_CMDLINE := console=ttyMSM0,115200n8 androidboot.hardware=qcom androidboot.console=ttyMSM0 androidboot.memcg=1 lpm_levels.sleep_disabled=1 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 service_locator.enable=1 androidboot.usbcontroller=a600000.dwc3 swiotlb=0 firmware_class.path=/vendor/firmware loop.max_part=7 cgroup.memory=nokmem,nosocket pcie_ports=compat loop.max_part=7 iptable_raw.raw_before_defrag=1 ip6table_raw.raw_before_defrag=1
micky387b4b67a42019-11-09 03:21:12 +0100123#BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
micky387679a11f2019-06-11 02:18:20 +0200124BOARD_KERNEL_PAGESIZE := 4096
125BOARD_KERNEL_BASE := 0x00000000
micky387679a11f2019-06-11 02:18:20 +0200126TARGET_KERNEL_ARCH := arm64
127TARGET_KERNEL_HEADER_ARCH := arm64
micky38781c15c82021-05-21 12:59:35 +0200128BOARD_KERNEL_IMAGE_NAME := Image
micky387679a11f2019-06-11 02:18:20 +0200129TARGET_COMPILE_WITH_MSM_KERNEL := true
micky38781c15c82021-05-21 12:59:35 +0200130TARGET_KERNEL_CONFIG := vendor/zf8_defconfig
131TARGET_KERNEL_SOURCE := kernel/asus/sm8350
132BOARD_INCLUDE_DTB_IN_BOOTIMG := true
micky387679a11f2019-06-11 02:18:20 +0200133BOARD_KERNEL_SEPARATED_DTBO := true
134TARGET_KERNEL_CLANG_COMPILE := true
micky3879affa122021-01-04 18:25:29 +0100135TARGET_KERNEL_ADDITIONAL_FLAGS := DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc
Alessandro Astone5ae31b92021-06-09 15:19:02 +0200136TARGET_KERNEL_ADDITIONAL_FLAGS += LLVM=1
137
138# Use Gnu AS until we can switch to LLVM_IAS=1
139KERNEL_TOOLCHAIN := $(shell pwd)/prebuilts/gas/$(HOST_PREBUILT_TAG)
140TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-gnu-
micky3870f68c2b2019-09-11 14:28:27 +0200141
micky38781c15c82021-05-21 12:59:35 +0200142# NFC
143TARGET_USES_NQ_NFC := true
144
micky38718f07ac2019-06-10 00:40:50 +0200145# Partitions
micky38781c15c82021-05-21 12:59:35 +0200146ifneq ($(ROM_BUILDTYPE),$(filter $(ROM_BUILDTYPE),GAPPS MICROG))
147BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE := 1258291200
148BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 1258291200
micky38757447472021-08-11 04:07:46 +0200149BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE := 629145600
micky38781c15c82021-05-21 12:59:35 +0200150endif
151
152BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
153BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4
154BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
155BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4
micky3877736aab2021-05-25 12:40:38 +0200156BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
micky387f37c3262021-06-02 22:37:19 +0200157BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
micky38782663782019-07-11 03:55:12 +0200158BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
Raghavendra Rao Ananta5cf2a772020-11-03 15:58:41 -0800159BOARD_KERNEL_BINARIES := kernel kernel-gki
micky387bdad4fe2021-05-25 03:11:37 +0200160BOARD_KERNEL-GKI_BOOTIMAGE_PARTITION_SIZE := $(BOARD_BOOTIMAGE_PARTITION_SIZE)
161BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296
micky387b1f1cd62021-06-29 04:45:35 +0200162BOARD_DTBOIMG_PARTITION_SIZE := 25165824
micky38781c15c82021-05-21 12:59:35 +0200163BOARD_USERDATAIMAGE_PARTITION_SIZE := 495457218560
micky38718f07ac2019-06-10 00:40:50 +0200164BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
micky3878a6b37a2019-08-05 02:23:59 +0200165BOARD_USES_METADATA_PARTITION := true
micky38781c15c82021-05-21 12:59:35 +0200166TARGET_COPY_OUT_ODM := odm
167TARGET_COPY_OUT_PRODUCT := product
168TARGET_COPY_OUT_SYSTEM_EXT := system_ext
micky38718f07ac2019-06-10 00:40:50 +0200169TARGET_COPY_OUT_VENDOR := vendor
micky387f37c3262021-06-02 22:37:19 +0200170BOARD_PREBUILT_ODMIMAGE := $(IMAGES_PATH)/odm.img
171BOARD_PREBUILT_VENDORIMAGE := $(IMAGES_PATH)/vendor.img
micky38718f07ac2019-06-10 00:40:50 +0200172
micky38781c15c82021-05-21 12:59:35 +0200173BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := \
174 system \
175 system_ext \
micky387f37c3262021-06-02 22:37:19 +0200176 odm \
177 product \
178 vendor
micky387de4a5842021-10-02 11:08:03 +0200179BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 7511998464 # BOARD_SUPER_PARTITION_SIZE - 4MB
micky38781c15c82021-05-21 12:59:35 +0200180BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions
micky387de4a5842021-10-02 11:08:03 +0200181BOARD_SUPER_PARTITION_SIZE := 7516192768
micky38781c15c82021-05-21 12:59:35 +0200182
183
184BOARD_ROOT_EXTRA_FOLDERS += ADF APD asdf batinfo
micky387a44d9cd2019-06-16 17:50:52 +0200185
micky38718f07ac2019-06-10 00:40:50 +0200186# Platform
micky38781c15c82021-05-21 12:59:35 +0200187TARGET_BOARD_PLATFORM := lahaina
188TARGET_BOARD_PLATFORM_GPU := qcom-adreno660
189
190# Properties
micky387516f5662021-08-11 22:20:41 +0200191TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop
micky38781c15c82021-05-21 12:59:35 +0200192TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
micky387516f5662021-08-11 22:20:41 +0200193TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/system_ext.prop
micky38718f07ac2019-06-10 00:40:50 +0200194
micky38718f07ac2019-06-10 00:40:50 +0200195# Recovery
196BOARD_USES_RECOVERY_AS_BOOT := true
197TARGET_NO_RECOVERY := true
micky3876e3fa0b2021-05-26 02:40:00 +0200198TARGET_USERIMAGES_USE_EXT4 := true
199TARGET_USERIMAGES_USE_F2FS := true
micky38718f07ac2019-06-10 00:40:50 +0200200TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/recovery.fstab
micky3876e3fa0b2021-05-26 02:40:00 +0200201TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
micky3870d388a82021-06-27 05:09:42 +0200202TARGET_RECOVERY_UI_MARGIN_HEIGHT := 150
micky38781c15c82021-05-21 12:59:35 +0200203BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
204BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA4096
205BOARD_AVB_RECOVERY_ROLLBACK_INDEX := 1
206BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1
micky3876525e302019-06-11 03:27:23 +0200207
208# Sepolicy
209include vendor/omni/sepolicy/sepolicy.mk
micky3872d4c58a2021-01-08 07:32:10 +0100210include $(DEVICE_PATH)/sepolicy/SEPolicy.mk
micky3872fe12392022-01-04 14:00:19 +0100211SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/private \
micky3872d4c58a2021-01-08 07:32:10 +0100212 $(DEVICE_PATH)/sepolicy/qva/private
micky38781c15c82021-05-21 12:59:35 +0200213
micky387675e1d42021-01-02 02:17:57 +0100214PRODUCT_PRIVATE_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/product/private
micky38767c83442019-06-11 03:28:03 +0200215
216# Treble
217BOARD_VNDK_VERSION := current