blob: eabaa6921be2c8047d232d9f4989185ca1724d15 [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 \
33 system \
34 system_ext \
35 vbmeta \
micky387f37c3262021-06-02 22:37:19 +020036 vbmeta_system \
micky387adb34832021-06-03 21:11:19 +020037 vendor \
Alexander Koskovich3e4efc52022-01-22 22:22:06 -070038 vendor_boot \
39 vendor_dlkm
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
micky387009b31a2022-01-20 18:48:41 +010047TARGET_CPU_VARIANT_RUNTIME := kryo385
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
micky387009b31a2022-01-20 18:48:41 +010054TARGET_2ND_CPU_VARIANT_RUNTIME := kryo385
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
micky38718765c82022-11-03 12:51:36 +010060TARGET_BOOTLOADER_BOARD_NAME := taro
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
micky38718f07ac2019-06-10 00:40:50 +020073# ANT+
74BOARD_ANT_WIRELESS_DEVICE := "qualcomm-hidl"
75
Marko Manef8d7e42018-08-26 23:20:31 +020076# Audio
micky387a6f10062019-08-11 14:34:11 +020077USE_XML_AUDIO_POLICY_CONF := 1
micky387b46724e2020-02-08 20:30:22 +010078AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := true
79AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
80AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
81AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
82AUDIO_FEATURE_ENABLED_RECORD_PLAY_CONCURRENCY := true
83AUDIO_FEATURE_ENABLED_VOICE_CONCURRENCY := true
Marko Manef8d7e42018-08-26 23:20:31 +020084
micky387ccee9192021-11-25 22:00:34 +010085# Broken flags
micky387009b31a2022-01-20 18:48:41 +010086BUILD_BROKEN_DUP_RULES := true
micky387ccee9192021-11-25 22:00:34 +010087BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
Chenyang Zhongf3a053b2021-10-16 00:51:21 -040088BUILD_BROKEN_ENFORCE_SYSPROP_OWNER := true
micky387f2b513f2022-07-20 00:13:40 +020089BUILD_BROKEN_VENDOR_PROPERTY_NAMESPACE := true
micky387ccee9192021-11-25 22:00:34 +010090
micky38718f07ac2019-06-10 00:40:50 +020091# charger
micky38781c15c82021-05-21 12:59:35 +020092BOARD_CHARGER_DISABLE_INIT_BLANK := true
micky38718f07ac2019-06-10 00:40:50 +020093
94# Dex
95ifeq ($(HOST_OS),linux)
96 ifneq ($(TARGET_BUILD_VARIANT),eng)
97 WITH_DEXPREOPT ?= true
98 endif
99endif
micky38718f07ac2019-06-10 00:40:50 +0200100
101# Display
102TARGET_USES_HWC2 := true
micky387009b31a2022-01-20 18:48:41 +0100103TARGET_SCREEN_DENSITY := 440
micky38718f07ac2019-06-10 00:40:50 +0200104
105# DRM
106TARGET_ENABLE_MEDIADRM_64 := true
107
Ɓukasz Patron357f1962019-11-08 11:01:46 +0100108# Filesystem
109TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs
110
micky38718f07ac2019-06-10 00:40:50 +0200111# Global
micky387e3a18112021-05-30 02:33:42 +0200112BOARD_EXT4_SHARE_DUP_BLOCKS := true
micky38718f07ac2019-06-10 00:40:50 +0200113BOARD_USES_QCOM_HARDWARE := true
114TARGET_SPECIFIC_HEADER_PATH := $(DEVICE_PATH)/include
115TARGET_SUPPORTS_32_BIT_APPS := true
116TARGET_SUPPORTS_64_BIT_APPS := true
117TARGET_USES_QCOM_BSP := false
micky38718f07ac2019-06-10 00:40:50 +0200118TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false
micky387009b31a2022-01-20 18:48:41 +0100119BOARD_EXT4_SHARE_DUP_BLOCKS := true
micky38718f07ac2019-06-10 00:40:50 +0200120
micky387ac0969c2019-12-16 11:48:55 +0100121#HIDL
micky387e46d8d12022-10-30 09:57:31 +0100122DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += $(DEVICE_PATH)/manifest/vendor_framework_compatibility_matrix.xml \
123 $(DEVICE_PATH)/manifest/asus_framework_matrix.xml
124DEVICE_FRAMEWORK_MANIFEST_FILE += $(DEVICE_PATH)/manifest/framework_manifest.xml
micky38718765c82022-11-03 12:51:36 +0100125DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest/manifest_taro.xml
micky387e46d8d12022-10-30 09:57:31 +0100126DEVICE_MATRIX_FILE += $(DEVICE_PATH)/manifest/compatibility_matrix.xml
micky387ac0969c2019-12-16 11:48:55 +0100127
micky387679a11f2019-06-11 02:18:20 +0200128# Kernel
micky38775ccb312022-10-30 17:00:22 +0100129KERNEL_LD := LD=ld.lld AR=llvm-ar
micky38781c15c82021-05-21 12:59:35 +0200130BOARD_BOOT_HEADER_VERSION := 3
131BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
micky3876e3fa0b2021-05-26 02:40:00 +0200132BOARD_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 +0100133#BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
micky387679a11f2019-06-11 02:18:20 +0200134BOARD_KERNEL_PAGESIZE := 4096
135BOARD_KERNEL_BASE := 0x00000000
micky387679a11f2019-06-11 02:18:20 +0200136TARGET_KERNEL_ARCH := arm64
137TARGET_KERNEL_HEADER_ARCH := arm64
micky38781c15c82021-05-21 12:59:35 +0200138BOARD_KERNEL_IMAGE_NAME := Image
micky387679a11f2019-06-11 02:18:20 +0200139TARGET_COMPILE_WITH_MSM_KERNEL := true
micky38781c15c82021-05-21 12:59:35 +0200140TARGET_KERNEL_CONFIG := vendor/zf8_defconfig
141TARGET_KERNEL_SOURCE := kernel/asus/sm8350
142BOARD_INCLUDE_DTB_IN_BOOTIMG := true
micky387679a11f2019-06-11 02:18:20 +0200143BOARD_KERNEL_SEPARATED_DTBO := true
144TARGET_KERNEL_CLANG_COMPILE := true
micky387b69e4b82021-11-26 22:58:05 +0100145TARGET_KERNEL_ADDITIONAL_FLAGS := \
146 DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc \
147 HOSTCFLAGS="-fuse-ld=lld -Wno-unused-command-line-argument"
micky38775ccb312022-10-30 17:00:22 +0100148TARGET_KERNEL_ADDITIONAL_FLAGS += LLVM=1 LLVM_IAS=1
micky3870f68c2b2019-09-11 14:28:27 +0200149
micky387009b31a2022-01-20 18:48:41 +0100150BOARD_VENDOR_KERNEL_MODULES_LOAD := \
151 adsp_loader_dlkm.ko \
152 apr_dlkm.ko \
153 aw8697.ko \
154 bolero_cdc_dlkm.ko \
155 bt_fm_slim.ko \
156 btpower.ko \
157 camera.ko \
158 cs35l45_i2c_dlkm.ko \
159 e4000.ko \
160 fc0011.ko \
161 fc0012.ko \
162 fc0013.ko \
163 fc2580.ko \
164 focaltech_fts_zf.ko \
165 gf_spi.ko \
166 hdmi_dlkm.ko \
167 hid-aksys.ko \
168 icm206xx.ko \
169 it913x.ko \
170 lid.ko \
171 lid_2.ko \
172 llcc_perfmon.ko \
173 m88rs6000t.ko \
174 machine_dlkm.ko \
175 max2165.ko \
176 mbhc_dlkm.ko \
177 mc44s803.ko \
178 msi001.ko \
179 msm_drm.ko \
180 mt2060.ko \
181 mt2063.ko \
182 mt20xx.ko \
183 mt2131.ko \
184 mt2266.ko \
185 mxl301rf.ko \
186 mxl5005s.ko \
187 mxl5007t.ko \
188 native_dlkm.ko \
189 pinctrl_lpi_dlkm.ko \
190 pinctrl_wcd_dlkm.ko \
191 platform_dlkm.ko \
192 q6_dlkm.ko \
193 q6_notifier_dlkm.ko \
194 q6_pdr_dlkm.ko \
micky387bbf5d992022-03-02 21:54:01 +0100195 wlan.ko \
micky387009b31a2022-01-20 18:48:41 +0100196 qcom_edac.ko \
197 qm1d1b0004.ko \
198 qm1d1c0042.ko \
199 qt1010.ko \
200 r820t.ko \
201 rdbg.ko \
202 rmnet_core.ko \
203 rmnet_ctl.ko \
204 rmnet_offload.ko \
205 rmnet_shs.ko \
206 rx_macro_dlkm.ko \
207 sensors_vcnl36866.ko \
208 si2157.ko \
209 sla.ko \
210 slimbus-ngd.ko \
211 slimbus.ko \
212 snd-soc-es928x.ko \
213 snd_event_dlkm.ko \
214 stub_dlkm.ko \
215 swr_ctrl_dlkm.ko \
216 swr_dlkm.ko \
217 swr_dmic_dlkm.ko \
218 swr_haptics_dlkm.ko \
219 sx932x_sake.ko \
220 tda18212.ko \
221 tda18218.ko \
222 tda18250.ko \
223 tda9887.ko \
224 tea5761.ko \
225 tea5767.ko \
226 tua9001.ko \
227 tuner-simple.ko \
228 tuner-types.ko \
229 tuner-xc2028.ko \
230 tx_macro_dlkm.ko \
231 va_macro_dlkm.ko \
232 wcd937x_dlkm.ko \
233 wcd937x_slave_dlkm.ko \
234 wcd938x_dlkm.ko \
235 wcd938x_slave_dlkm.ko \
236 wcd9xxx_dlkm.ko \
237 wcd_core_dlkm.ko \
238 wsa883x_dlkm.ko \
239 wsa_macro_dlkm.ko \
240 xc4000.ko \
241 xc5000.ko
242
micky387009b31a2022-01-20 18:48:41 +0100243BOOT_KERNEL_MODULES := \
244 msm_drm.ko
245
246BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := \
247 msm_drm.ko
248
micky38781c15c82021-05-21 12:59:35 +0200249# NFC
250TARGET_USES_NQ_NFC := true
251
micky38718f07ac2019-06-10 00:40:50 +0200252# Partitions
micky38781c15c82021-05-21 12:59:35 +0200253ifneq ($(ROM_BUILDTYPE),$(filter $(ROM_BUILDTYPE),GAPPS MICROG))
254BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE := 1258291200
255BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 1258291200
micky38757447472021-08-11 04:07:46 +0200256BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE := 629145600
micky38781c15c82021-05-21 12:59:35 +0200257endif
258
259BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
260BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4
261BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
262BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4
micky3877736aab2021-05-25 12:40:38 +0200263BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
micky387f37c3262021-06-02 22:37:19 +0200264BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
Alexander Koskovich3e4efc52022-01-22 22:22:06 -0700265BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
micky38782663782019-07-11 03:55:12 +0200266BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
micky387009b31a2022-01-20 18:48:41 +0100267BOARD_KERNEL_BINARIES := kernel
micky387bdad4fe2021-05-25 03:11:37 +0200268BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296
micky387b1f1cd62021-06-29 04:45:35 +0200269BOARD_DTBOIMG_PARTITION_SIZE := 25165824
micky38781c15c82021-05-21 12:59:35 +0200270BOARD_USERDATAIMAGE_PARTITION_SIZE := 495457218560
micky38718f07ac2019-06-10 00:40:50 +0200271BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
micky3878a6b37a2019-08-05 02:23:59 +0200272BOARD_USES_METADATA_PARTITION := true
micky38781c15c82021-05-21 12:59:35 +0200273TARGET_COPY_OUT_ODM := odm
274TARGET_COPY_OUT_PRODUCT := product
275TARGET_COPY_OUT_SYSTEM_EXT := system_ext
micky38718f07ac2019-06-10 00:40:50 +0200276TARGET_COPY_OUT_VENDOR := vendor
Alexander Koskovich3e4efc52022-01-22 22:22:06 -0700277TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm
micky38718f07ac2019-06-10 00:40:50 +0200278
micky38781c15c82021-05-21 12:59:35 +0200279BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := \
280 system \
281 system_ext \
micky387f37c3262021-06-02 22:37:19 +0200282 odm \
283 product \
Alexander Koskovich3e4efc52022-01-22 22:22:06 -0700284 vendor \
285 vendor_dlkm
micky387009b31a2022-01-20 18:48:41 +0100286
287BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 7512192768 # BOARD_SUPER_PARTITION_SIZE - 4MB
micky38781c15c82021-05-21 12:59:35 +0200288BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions
micky387de4a5842021-10-02 11:08:03 +0200289BOARD_SUPER_PARTITION_SIZE := 7516192768
micky38781c15c82021-05-21 12:59:35 +0200290
micky38781c15c82021-05-21 12:59:35 +0200291BOARD_ROOT_EXTRA_FOLDERS += ADF APD asdf batinfo
micky387a44d9cd2019-06-16 17:50:52 +0200292
micky38718f07ac2019-06-10 00:40:50 +0200293# Platform
micky38718765c82022-11-03 12:51:36 +0100294QCOM_HARDWARE_VARIANT := sm8450
295TARGET_BOARD_PLATFORM := taro
micky38781c15c82021-05-21 12:59:35 +0200296TARGET_BOARD_PLATFORM_GPU := qcom-adreno660
297
298# Properties
micky387516f5662021-08-11 22:20:41 +0200299TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop
micky38781c15c82021-05-21 12:59:35 +0200300TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
micky387516f5662021-08-11 22:20:41 +0200301TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/system_ext.prop
micky387009b31a2022-01-20 18:48:41 +0100302TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
micky38718f07ac2019-06-10 00:40:50 +0200303
micky38718f07ac2019-06-10 00:40:50 +0200304# Recovery
305BOARD_USES_RECOVERY_AS_BOOT := true
306TARGET_NO_RECOVERY := true
micky3876e3fa0b2021-05-26 02:40:00 +0200307TARGET_USERIMAGES_USE_EXT4 := true
308TARGET_USERIMAGES_USE_F2FS := true
micky387009b31a2022-01-20 18:48:41 +0100309TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/ramdisk/fstab.default
micky3876e3fa0b2021-05-26 02:40:00 +0200310TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
micky3870d388a82021-06-27 05:09:42 +0200311TARGET_RECOVERY_UI_MARGIN_HEIGHT := 150
micky387009b31a2022-01-20 18:48:41 +0100312
313# Security patch level
micky387f7d716b2022-10-29 01:51:18 +0200314VENDOR_SECURITY_PATCH := 2022-10-05
micky3876525e302019-06-11 03:27:23 +0200315
316# Sepolicy
317include vendor/omni/sepolicy/sepolicy.mk
micky387009b31a2022-01-20 18:48:41 +0100318include device/qcom/sepolicy_vndr/SEPolicy.mk
319BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
Alexander Koskovicha7c00c52022-02-03 22:48:45 +0100320SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/private
micky3877a3d0e42022-02-02 19:37:28 +0100321
322# WiFi
323BOARD_WLAN_DEVICE := qcwcn
324BOARD_HOSTAPD_DRIVER := NL80211
325BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
326BOARD_WPA_SUPPLICANT_DRIVER := NL80211
327BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
328PRODUCT_VENDOR_MOVE_ENABLED := true
329WIFI_DRIVER_DEFAULT := qca_cld3
330WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan"
331WIFI_DRIVER_STATE_OFF := "OFF"
332WIFI_DRIVER_STATE_ON := "ON"
333WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
334WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
335WPA_SUPPLICANT_VERSION := VER_0_8_X