blob: 65077c8c4e916f75a556f2860f3c541f0d8017a6 [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
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 \
38 vendor_boot
micky38781c15c82021-05-21 12:59:35 +020039
micky38718f07ac2019-06-10 00:40:50 +020040# Architecture
41TARGET_ARCH := arm64
42TARGET_ARCH_VARIANT := armv8-a
43TARGET_CPU_ABI := arm64-v8a
44TARGET_CPU_ABI2 :=
micky38737138e32022-01-04 13:30:38 +010045TARGET_CPU_VARIANT := generic
micky387009b31a2022-01-20 18:48:41 +010046TARGET_CPU_VARIANT_RUNTIME := kryo385
micky38718f07ac2019-06-10 00:40:50 +020047
48TARGET_2ND_ARCH := arm
micky38737138e32022-01-04 13:30:38 +010049TARGET_2ND_ARCH_VARIANT := armv8-a
micky38718f07ac2019-06-10 00:40:50 +020050TARGET_2ND_CPU_ABI := armeabi-v7a
51TARGET_2ND_CPU_ABI2 := armeabi
micky38737138e32022-01-04 13:30:38 +010052TARGET_2ND_CPU_VARIANT := generic
micky387009b31a2022-01-20 18:48:41 +010053TARGET_2ND_CPU_VARIANT_RUNTIME := kryo385
micky38718f07ac2019-06-10 00:40:50 +020054
micky38781c15c82021-05-21 12:59:35 +020055# Bluetooth
56BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth
micky38718f07ac2019-06-10 00:40:50 +020057
Cosmin Tanislav756ac8f2022-02-10 22:04:32 +020058# Biometrics
59TARGET_SURFACEFLINGER_UDFPS_LIB := //$(DEVICE_PATH):libudfps_extension.sake
60
micky38718f07ac2019-06-10 00:40:50 +020061# Bootloader
micky38781c15c82021-05-21 12:59:35 +020062TARGET_BOOTLOADER_BOARD_NAME := lahaina
micky38718f07ac2019-06-10 00:40:50 +020063TARGET_NO_BOOTLOADER := true
64
micky3874eedc682019-06-11 02:29:28 +020065# A/B
micky3874a9d7842019-10-14 20:53:12 +020066BOARD_AVB_ENABLE := true
micky38778244a72020-04-30 08:06:35 +020067BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --set_hashtree_disabled_flag
Ashwin R C2e115a12019-06-19 16:19:56 +080068BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 2
micky387009b31a2022-01-20 18:48:41 +010069BOARD_AVB_VBMETA_SYSTEM := product system system_ext
micky38781c15c82021-05-21 12:59:35 +020070BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
71BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
72BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
73BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
micky3874eedc682019-06-11 02:29:28 +020074
micky38718f07ac2019-06-10 00:40:50 +020075# ANT+
76BOARD_ANT_WIRELESS_DEVICE := "qualcomm-hidl"
77
Marko Manef8d7e42018-08-26 23:20:31 +020078# Audio
micky38781c15c82021-05-21 12:59:35 +020079#USE_CUSTOM_AUDIO_POLICY := 1
micky387a6f10062019-08-11 14:34:11 +020080USE_XML_AUDIO_POLICY_CONF := 1
micky387b46724e2020-02-08 20:30:22 +010081AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := true
82AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
83AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
84AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
85AUDIO_FEATURE_ENABLED_RECORD_PLAY_CONCURRENCY := true
86AUDIO_FEATURE_ENABLED_VOICE_CONCURRENCY := true
Marko Manef8d7e42018-08-26 23:20:31 +020087
micky387ccee9192021-11-25 22:00:34 +010088# Broken flags
micky387009b31a2022-01-20 18:48:41 +010089BUILD_BROKEN_DUP_RULES := true
micky387ccee9192021-11-25 22:00:34 +010090BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
Chenyang Zhongf3a053b2021-10-16 00:51:21 -040091BUILD_BROKEN_ENFORCE_SYSPROP_OWNER := true
micky387ccee9192021-11-25 22:00:34 +010092
micky38718f07ac2019-06-10 00:40:50 +020093# charger
micky38781c15c82021-05-21 12:59:35 +020094BOARD_CHARGER_DISABLE_INIT_BLANK := true
micky38718f07ac2019-06-10 00:40:50 +020095
96# Dex
97ifeq ($(HOST_OS),linux)
98 ifneq ($(TARGET_BUILD_VARIANT),eng)
99 WITH_DEXPREOPT ?= true
100 endif
101endif
micky38718f07ac2019-06-10 00:40:50 +0200102
103# Display
104TARGET_USES_HWC2 := true
micky387009b31a2022-01-20 18:48:41 +0100105TARGET_SCREEN_DENSITY := 440
Alexander Koskovicheb540b92022-03-14 08:24:50 -0700106SOONG_CONFIG_qtidisplay_udfps := true
micky38718f07ac2019-06-10 00:40:50 +0200107
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
micky3871da5f362022-02-11 19:24:58 +0100125DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += $(DEVICE_PATH)/vendor_framework_compatibility_matrix.xml \
126 $(DEVICE_PATH)/asus_framework_matrix.xml
micky3878459a0c2020-05-01 18:24:34 +0200127DEVICE_FRAMEWORK_MANIFEST_FILE += $(DEVICE_PATH)/framework_manifest.xml
micky387009b31a2022-01-20 18:48:41 +0100128DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest_lahaina.xml
129DEVICE_MATRIX_FILE += $(DEVICE_PATH)/compatibility_matrix.xml
micky387ac0969c2019-12-16 11:48:55 +0100130
micky387679a11f2019-06-11 02:18:20 +0200131# Kernel
micky387887400f2021-05-30 02:37:28 +0200132KERNEL_LD := LD=ld.lld
micky38781c15c82021-05-21 12:59:35 +0200133BOARD_BOOT_HEADER_VERSION := 3
134BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
micky3876e3fa0b2021-05-26 02:40:00 +0200135BOARD_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 +0100136#BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
micky387679a11f2019-06-11 02:18:20 +0200137BOARD_KERNEL_PAGESIZE := 4096
138BOARD_KERNEL_BASE := 0x00000000
micky387679a11f2019-06-11 02:18:20 +0200139TARGET_KERNEL_ARCH := arm64
140TARGET_KERNEL_HEADER_ARCH := arm64
micky38781c15c82021-05-21 12:59:35 +0200141BOARD_KERNEL_IMAGE_NAME := Image
micky387679a11f2019-06-11 02:18:20 +0200142TARGET_COMPILE_WITH_MSM_KERNEL := true
micky38781c15c82021-05-21 12:59:35 +0200143TARGET_KERNEL_CONFIG := vendor/zf8_defconfig
144TARGET_KERNEL_SOURCE := kernel/asus/sm8350
145BOARD_INCLUDE_DTB_IN_BOOTIMG := true
micky387679a11f2019-06-11 02:18:20 +0200146BOARD_KERNEL_SEPARATED_DTBO := true
147TARGET_KERNEL_CLANG_COMPILE := true
micky387b69e4b82021-11-26 22:58:05 +0100148TARGET_KERNEL_ADDITIONAL_FLAGS := \
149 DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc \
150 HOSTCFLAGS="-fuse-ld=lld -Wno-unused-command-line-argument"
Alessandro Astone5ae31b92021-06-09 15:19:02 +0200151TARGET_KERNEL_ADDITIONAL_FLAGS += LLVM=1
152
153# Use Gnu AS until we can switch to LLVM_IAS=1
154KERNEL_TOOLCHAIN := $(shell pwd)/prebuilts/gas/$(HOST_PREBUILT_TAG)
155TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-gnu-
micky3870f68c2b2019-09-11 14:28:27 +0200156
micky387009b31a2022-01-20 18:48:41 +0100157BOARD_VENDOR_KERNEL_MODULES_LOAD := \
158 adsp_loader_dlkm.ko \
159 apr_dlkm.ko \
160 aw8697.ko \
161 bolero_cdc_dlkm.ko \
162 bt_fm_slim.ko \
163 btpower.ko \
164 camera.ko \
165 cs35l45_i2c_dlkm.ko \
166 e4000.ko \
167 fc0011.ko \
168 fc0012.ko \
169 fc0013.ko \
170 fc2580.ko \
171 focaltech_fts_zf.ko \
172 gf_spi.ko \
173 hdmi_dlkm.ko \
174 hid-aksys.ko \
175 icm206xx.ko \
176 it913x.ko \
177 lid.ko \
178 lid_2.ko \
179 llcc_perfmon.ko \
180 m88rs6000t.ko \
181 machine_dlkm.ko \
182 max2165.ko \
183 mbhc_dlkm.ko \
184 mc44s803.ko \
185 msi001.ko \
186 msm_drm.ko \
187 mt2060.ko \
188 mt2063.ko \
189 mt20xx.ko \
190 mt2131.ko \
191 mt2266.ko \
192 mxl301rf.ko \
193 mxl5005s.ko \
194 mxl5007t.ko \
195 native_dlkm.ko \
196 pinctrl_lpi_dlkm.ko \
197 pinctrl_wcd_dlkm.ko \
198 platform_dlkm.ko \
199 q6_dlkm.ko \
200 q6_notifier_dlkm.ko \
201 q6_pdr_dlkm.ko \
micky387bbf5d992022-03-02 21:54:01 +0100202 wlan.ko \
micky387009b31a2022-01-20 18:48:41 +0100203 qcom_edac.ko \
204 qm1d1b0004.ko \
205 qm1d1c0042.ko \
206 qt1010.ko \
207 r820t.ko \
208 rdbg.ko \
209 rmnet_core.ko \
210 rmnet_ctl.ko \
211 rmnet_offload.ko \
212 rmnet_shs.ko \
213 rx_macro_dlkm.ko \
214 sensors_vcnl36866.ko \
215 si2157.ko \
216 sla.ko \
217 slimbus-ngd.ko \
218 slimbus.ko \
219 snd-soc-es928x.ko \
220 snd_event_dlkm.ko \
221 stub_dlkm.ko \
222 swr_ctrl_dlkm.ko \
223 swr_dlkm.ko \
224 swr_dmic_dlkm.ko \
225 swr_haptics_dlkm.ko \
226 sx932x_sake.ko \
227 tda18212.ko \
228 tda18218.ko \
229 tda18250.ko \
230 tda9887.ko \
231 tea5761.ko \
232 tea5767.ko \
233 tua9001.ko \
234 tuner-simple.ko \
235 tuner-types.ko \
236 tuner-xc2028.ko \
237 tx_macro_dlkm.ko \
238 va_macro_dlkm.ko \
239 wcd937x_dlkm.ko \
240 wcd937x_slave_dlkm.ko \
241 wcd938x_dlkm.ko \
242 wcd938x_slave_dlkm.ko \
243 wcd9xxx_dlkm.ko \
244 wcd_core_dlkm.ko \
245 wsa883x_dlkm.ko \
246 wsa_macro_dlkm.ko \
247 xc4000.ko \
248 xc5000.ko
249
micky387009b31a2022-01-20 18:48:41 +0100250BOOT_KERNEL_MODULES := \
251 msm_drm.ko
252
253BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := \
254 msm_drm.ko
255
micky38781c15c82021-05-21 12:59:35 +0200256# NFC
257TARGET_USES_NQ_NFC := true
258
micky38718f07ac2019-06-10 00:40:50 +0200259# Partitions
micky38781c15c82021-05-21 12:59:35 +0200260ifneq ($(ROM_BUILDTYPE),$(filter $(ROM_BUILDTYPE),GAPPS MICROG))
261BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE := 1258291200
262BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 1258291200
micky38757447472021-08-11 04:07:46 +0200263BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE := 629145600
micky38781c15c82021-05-21 12:59:35 +0200264endif
265
266BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
267BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4
268BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
269BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4
micky3877736aab2021-05-25 12:40:38 +0200270BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
micky387f37c3262021-06-02 22:37:19 +0200271BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
micky38782663782019-07-11 03:55:12 +0200272BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
micky387009b31a2022-01-20 18:48:41 +0100273BOARD_KERNEL_BINARIES := kernel
micky387bdad4fe2021-05-25 03:11:37 +0200274BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296
micky387b1f1cd62021-06-29 04:45:35 +0200275BOARD_DTBOIMG_PARTITION_SIZE := 25165824
micky38781c15c82021-05-21 12:59:35 +0200276BOARD_USERDATAIMAGE_PARTITION_SIZE := 495457218560
micky38718f07ac2019-06-10 00:40:50 +0200277BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
micky3878a6b37a2019-08-05 02:23:59 +0200278BOARD_USES_METADATA_PARTITION := true
micky38781c15c82021-05-21 12:59:35 +0200279TARGET_COPY_OUT_ODM := odm
280TARGET_COPY_OUT_PRODUCT := product
281TARGET_COPY_OUT_SYSTEM_EXT := system_ext
micky38718f07ac2019-06-10 00:40:50 +0200282TARGET_COPY_OUT_VENDOR := vendor
283
micky38781c15c82021-05-21 12:59:35 +0200284BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := \
285 system \
286 system_ext \
micky387f37c3262021-06-02 22:37:19 +0200287 odm \
288 product \
289 vendor
micky387009b31a2022-01-20 18:48:41 +0100290
291BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 7512192768 # BOARD_SUPER_PARTITION_SIZE - 4MB
micky38781c15c82021-05-21 12:59:35 +0200292BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions
micky387de4a5842021-10-02 11:08:03 +0200293BOARD_SUPER_PARTITION_SIZE := 7516192768
micky38781c15c82021-05-21 12:59:35 +0200294
micky38781c15c82021-05-21 12:59:35 +0200295BOARD_ROOT_EXTRA_FOLDERS += ADF APD asdf batinfo
micky387a44d9cd2019-06-16 17:50:52 +0200296
micky38718f07ac2019-06-10 00:40:50 +0200297# Platform
micky387009b31a2022-01-20 18:48:41 +0100298QCOM_HARDWARE_VARIANT := sm8350
micky38781c15c82021-05-21 12:59:35 +0200299TARGET_BOARD_PLATFORM := lahaina
300TARGET_BOARD_PLATFORM_GPU := qcom-adreno660
301
302# Properties
micky387516f5662021-08-11 22:20:41 +0200303TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop
micky38781c15c82021-05-21 12:59:35 +0200304TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
micky387516f5662021-08-11 22:20:41 +0200305TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/system_ext.prop
micky387009b31a2022-01-20 18:48:41 +0100306TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
micky38718f07ac2019-06-10 00:40:50 +0200307
micky38718f07ac2019-06-10 00:40:50 +0200308# Recovery
309BOARD_USES_RECOVERY_AS_BOOT := true
310TARGET_NO_RECOVERY := true
micky3876e3fa0b2021-05-26 02:40:00 +0200311TARGET_USERIMAGES_USE_EXT4 := true
312TARGET_USERIMAGES_USE_F2FS := true
micky387009b31a2022-01-20 18:48:41 +0100313TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/ramdisk/fstab.default
micky3876e3fa0b2021-05-26 02:40:00 +0200314TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
micky3870d388a82021-06-27 05:09:42 +0200315TARGET_RECOVERY_UI_MARGIN_HEIGHT := 150
micky387009b31a2022-01-20 18:48:41 +0100316
317# Security patch level
micky387c1691cf2022-05-18 15:01:56 +0200318VENDOR_SECURITY_PATCH := 2022-04-05
micky3876525e302019-06-11 03:27:23 +0200319
320# Sepolicy
321include vendor/omni/sepolicy/sepolicy.mk
micky387009b31a2022-01-20 18:48:41 +0100322include device/qcom/sepolicy_vndr/SEPolicy.mk
323BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
Alexander Koskovicha7c00c52022-02-03 22:48:45 +0100324SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/private
micky3877a3d0e42022-02-02 19:37:28 +0100325
326# WiFi
327BOARD_WLAN_DEVICE := qcwcn
328BOARD_HOSTAPD_DRIVER := NL80211
329BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
330BOARD_WPA_SUPPLICANT_DRIVER := NL80211
331BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
332PRODUCT_VENDOR_MOVE_ENABLED := true
333WIFI_DRIVER_DEFAULT := qca_cld3
334WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan"
335WIFI_DRIVER_STATE_OFF := "OFF"
336WIFI_DRIVER_STATE_ON := "ON"
337WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
338WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
339WPA_SUPPLICANT_VERSION := VER_0_8_X