blob: edba7773fefd1e60e41591a369cbdcc3200ab0ac [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
58# Bootloader
micky38781c15c82021-05-21 12:59:35 +020059TARGET_BOOTLOADER_BOARD_NAME := lahaina
micky38718f07ac2019-06-10 00:40:50 +020060TARGET_NO_BOOTLOADER := true
61
micky3874eedc682019-06-11 02:29:28 +020062# A/B
micky3874a9d7842019-10-14 20:53:12 +020063BOARD_AVB_ENABLE := true
micky38778244a72020-04-30 08:06:35 +020064BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --set_hashtree_disabled_flag
Ashwin R C2e115a12019-06-19 16:19:56 +080065BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 2
micky387009b31a2022-01-20 18:48:41 +010066BOARD_AVB_VBMETA_SYSTEM := product system system_ext
micky38781c15c82021-05-21 12:59:35 +020067BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
68BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
69BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
70BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
micky3874eedc682019-06-11 02:29:28 +020071
micky38718f07ac2019-06-10 00:40:50 +020072# ANT+
73BOARD_ANT_WIRELESS_DEVICE := "qualcomm-hidl"
74
Marko Manef8d7e42018-08-26 23:20:31 +020075# Audio
micky38781c15c82021-05-21 12:59:35 +020076#USE_CUSTOM_AUDIO_POLICY := 1
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
micky387ccee9192021-11-25 22:00:34 +010089
micky38718f07ac2019-06-10 00:40:50 +020090# charger
micky38781c15c82021-05-21 12:59:35 +020091BOARD_CHARGER_DISABLE_INIT_BLANK := true
micky38718f07ac2019-06-10 00:40:50 +020092
93# Dex
94ifeq ($(HOST_OS),linux)
95 ifneq ($(TARGET_BUILD_VARIANT),eng)
96 WITH_DEXPREOPT ?= true
97 endif
98endif
micky38718f07ac2019-06-10 00:40:50 +020099
100# Display
101TARGET_USES_HWC2 := true
micky387009b31a2022-01-20 18:48:41 +0100102TARGET_SCREEN_DENSITY := 440
micky38718f07ac2019-06-10 00:40:50 +0200103
104# DRM
105TARGET_ENABLE_MEDIADRM_64 := true
106
Ɓukasz Patron357f1962019-11-08 11:01:46 +0100107# Filesystem
108TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs
109
micky38718f07ac2019-06-10 00:40:50 +0200110# Global
micky387e3a18112021-05-30 02:33:42 +0200111BOARD_EXT4_SHARE_DUP_BLOCKS := true
micky38718f07ac2019-06-10 00:40:50 +0200112BOARD_USES_QCOM_HARDWARE := true
113TARGET_SPECIFIC_HEADER_PATH := $(DEVICE_PATH)/include
114TARGET_SUPPORTS_32_BIT_APPS := true
115TARGET_SUPPORTS_64_BIT_APPS := true
116TARGET_USES_QCOM_BSP := false
micky38718f07ac2019-06-10 00:40:50 +0200117TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false
micky387009b31a2022-01-20 18:48:41 +0100118BOARD_EXT4_SHARE_DUP_BLOCKS := true
micky38718f07ac2019-06-10 00:40:50 +0200119
micky387ac0969c2019-12-16 11:48:55 +0100120#HIDL
121DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += $(DEVICE_PATH)/vendor_framework_compatibility_matrix.xml
micky3878459a0c2020-05-01 18:24:34 +0200122DEVICE_FRAMEWORK_MANIFEST_FILE += $(DEVICE_PATH)/framework_manifest.xml
micky387009b31a2022-01-20 18:48:41 +0100123DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest_lahaina.xml
124DEVICE_MATRIX_FILE += $(DEVICE_PATH)/compatibility_matrix.xml
micky387ac0969c2019-12-16 11:48:55 +0100125
micky387679a11f2019-06-11 02:18:20 +0200126# Kernel
micky387887400f2021-05-30 02:37:28 +0200127KERNEL_LD := LD=ld.lld
micky38781c15c82021-05-21 12:59:35 +0200128BOARD_BOOT_HEADER_VERSION := 3
129BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
micky3876e3fa0b2021-05-26 02:40:00 +0200130BOARD_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 +0100131#BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
micky387679a11f2019-06-11 02:18:20 +0200132BOARD_KERNEL_PAGESIZE := 4096
133BOARD_KERNEL_BASE := 0x00000000
micky387679a11f2019-06-11 02:18:20 +0200134TARGET_KERNEL_ARCH := arm64
135TARGET_KERNEL_HEADER_ARCH := arm64
micky38781c15c82021-05-21 12:59:35 +0200136BOARD_KERNEL_IMAGE_NAME := Image
micky387679a11f2019-06-11 02:18:20 +0200137TARGET_COMPILE_WITH_MSM_KERNEL := true
micky38781c15c82021-05-21 12:59:35 +0200138TARGET_KERNEL_CONFIG := vendor/zf8_defconfig
139TARGET_KERNEL_SOURCE := kernel/asus/sm8350
140BOARD_INCLUDE_DTB_IN_BOOTIMG := true
micky387679a11f2019-06-11 02:18:20 +0200141BOARD_KERNEL_SEPARATED_DTBO := true
142TARGET_KERNEL_CLANG_COMPILE := true
micky387b69e4b82021-11-26 22:58:05 +0100143TARGET_KERNEL_ADDITIONAL_FLAGS := \
144 DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc \
145 HOSTCFLAGS="-fuse-ld=lld -Wno-unused-command-line-argument"
Alessandro Astone5ae31b92021-06-09 15:19:02 +0200146TARGET_KERNEL_ADDITIONAL_FLAGS += LLVM=1
147
148# Use Gnu AS until we can switch to LLVM_IAS=1
149KERNEL_TOOLCHAIN := $(shell pwd)/prebuilts/gas/$(HOST_PREBUILT_TAG)
150TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-gnu-
micky3870f68c2b2019-09-11 14:28:27 +0200151
micky387009b31a2022-01-20 18:48:41 +0100152BOARD_VENDOR_KERNEL_MODULES_LOAD := \
153 adsp_loader_dlkm.ko \
154 apr_dlkm.ko \
155 aw8697.ko \
156 bolero_cdc_dlkm.ko \
157 bt_fm_slim.ko \
158 btpower.ko \
159 camera.ko \
160 cs35l45_i2c_dlkm.ko \
161 e4000.ko \
162 fc0011.ko \
163 fc0012.ko \
164 fc0013.ko \
165 fc2580.ko \
166 focaltech_fts_zf.ko \
167 gf_spi.ko \
168 hdmi_dlkm.ko \
169 hid-aksys.ko \
170 icm206xx.ko \
171 it913x.ko \
172 lid.ko \
173 lid_2.ko \
174 llcc_perfmon.ko \
175 m88rs6000t.ko \
176 machine_dlkm.ko \
177 max2165.ko \
178 mbhc_dlkm.ko \
179 mc44s803.ko \
180 msi001.ko \
181 msm_drm.ko \
182 mt2060.ko \
183 mt2063.ko \
184 mt20xx.ko \
185 mt2131.ko \
186 mt2266.ko \
187 mxl301rf.ko \
188 mxl5005s.ko \
189 mxl5007t.ko \
190 native_dlkm.ko \
191 pinctrl_lpi_dlkm.ko \
192 pinctrl_wcd_dlkm.ko \
193 platform_dlkm.ko \
194 q6_dlkm.ko \
195 q6_notifier_dlkm.ko \
196 q6_pdr_dlkm.ko \
micky3877a3d0e42022-02-02 19:37:28 +0100197 wlan.ko \
micky387009b31a2022-01-20 18:48:41 +0100198 qcom_edac.ko \
199 qm1d1b0004.ko \
200 qm1d1c0042.ko \
201 qt1010.ko \
202 r820t.ko \
203 rdbg.ko \
204 rmnet_core.ko \
205 rmnet_ctl.ko \
206 rmnet_offload.ko \
207 rmnet_shs.ko \
208 rx_macro_dlkm.ko \
209 sensors_vcnl36866.ko \
210 si2157.ko \
211 sla.ko \
212 slimbus-ngd.ko \
213 slimbus.ko \
214 snd-soc-es928x.ko \
215 snd_event_dlkm.ko \
216 stub_dlkm.ko \
217 swr_ctrl_dlkm.ko \
218 swr_dlkm.ko \
219 swr_dmic_dlkm.ko \
220 swr_haptics_dlkm.ko \
221 sx932x_sake.ko \
222 tda18212.ko \
223 tda18218.ko \
224 tda18250.ko \
225 tda9887.ko \
226 tea5761.ko \
227 tea5767.ko \
228 tua9001.ko \
229 tuner-simple.ko \
230 tuner-types.ko \
231 tuner-xc2028.ko \
232 tx_macro_dlkm.ko \
233 va_macro_dlkm.ko \
234 wcd937x_dlkm.ko \
235 wcd937x_slave_dlkm.ko \
236 wcd938x_dlkm.ko \
237 wcd938x_slave_dlkm.ko \
238 wcd9xxx_dlkm.ko \
239 wcd_core_dlkm.ko \
240 wsa883x_dlkm.ko \
241 wsa_macro_dlkm.ko \
242 xc4000.ko \
243 xc5000.ko
244
micky387009b31a2022-01-20 18:48:41 +0100245BOOT_KERNEL_MODULES := \
246 msm_drm.ko
247
248BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := \
249 msm_drm.ko
250
micky38781c15c82021-05-21 12:59:35 +0200251# NFC
252TARGET_USES_NQ_NFC := true
253
micky38718f07ac2019-06-10 00:40:50 +0200254# Partitions
micky38781c15c82021-05-21 12:59:35 +0200255ifneq ($(ROM_BUILDTYPE),$(filter $(ROM_BUILDTYPE),GAPPS MICROG))
256BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE := 1258291200
257BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 1258291200
micky38757447472021-08-11 04:07:46 +0200258BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE := 629145600
micky38781c15c82021-05-21 12:59:35 +0200259endif
260
261BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
262BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4
263BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
264BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4
micky3877736aab2021-05-25 12:40:38 +0200265BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
micky387f37c3262021-06-02 22:37:19 +0200266BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
micky38782663782019-07-11 03:55:12 +0200267BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
micky387009b31a2022-01-20 18:48:41 +0100268BOARD_KERNEL_BINARIES := kernel
micky387bdad4fe2021-05-25 03:11:37 +0200269BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296
micky387b1f1cd62021-06-29 04:45:35 +0200270BOARD_DTBOIMG_PARTITION_SIZE := 25165824
micky38781c15c82021-05-21 12:59:35 +0200271BOARD_USERDATAIMAGE_PARTITION_SIZE := 495457218560
micky38718f07ac2019-06-10 00:40:50 +0200272BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
micky3878a6b37a2019-08-05 02:23:59 +0200273BOARD_USES_METADATA_PARTITION := true
micky38781c15c82021-05-21 12:59:35 +0200274TARGET_COPY_OUT_ODM := odm
275TARGET_COPY_OUT_PRODUCT := product
276TARGET_COPY_OUT_SYSTEM_EXT := system_ext
micky38718f07ac2019-06-10 00:40:50 +0200277TARGET_COPY_OUT_VENDOR := vendor
278
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 \
284 vendor
micky387009b31a2022-01-20 18:48:41 +0100285
286BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 7512192768 # BOARD_SUPER_PARTITION_SIZE - 4MB
micky38781c15c82021-05-21 12:59:35 +0200287BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions
micky387de4a5842021-10-02 11:08:03 +0200288BOARD_SUPER_PARTITION_SIZE := 7516192768
micky38781c15c82021-05-21 12:59:35 +0200289
micky38781c15c82021-05-21 12:59:35 +0200290BOARD_ROOT_EXTRA_FOLDERS += ADF APD asdf batinfo
micky387a44d9cd2019-06-16 17:50:52 +0200291
micky38718f07ac2019-06-10 00:40:50 +0200292# Platform
micky387009b31a2022-01-20 18:48:41 +0100293QCOM_HARDWARE_VARIANT := sm8350
micky38781c15c82021-05-21 12:59:35 +0200294TARGET_BOARD_PLATFORM := lahaina
295TARGET_BOARD_PLATFORM_GPU := qcom-adreno660
296
297# Properties
micky387516f5662021-08-11 22:20:41 +0200298TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop
micky38781c15c82021-05-21 12:59:35 +0200299TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
micky387516f5662021-08-11 22:20:41 +0200300TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/system_ext.prop
micky387009b31a2022-01-20 18:48:41 +0100301TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
micky38718f07ac2019-06-10 00:40:50 +0200302
micky38718f07ac2019-06-10 00:40:50 +0200303# Recovery
304BOARD_USES_RECOVERY_AS_BOOT := true
305TARGET_NO_RECOVERY := true
micky3876e3fa0b2021-05-26 02:40:00 +0200306TARGET_USERIMAGES_USE_EXT4 := true
307TARGET_USERIMAGES_USE_F2FS := true
micky387009b31a2022-01-20 18:48:41 +0100308TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/ramdisk/fstab.default
micky3876e3fa0b2021-05-26 02:40:00 +0200309TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
micky3870d388a82021-06-27 05:09:42 +0200310TARGET_RECOVERY_UI_MARGIN_HEIGHT := 150
micky387009b31a2022-01-20 18:48:41 +0100311
312# Security patch level
313VENDOR_SECURITY_PATCH := 2021-11-05
micky3876525e302019-06-11 03:27:23 +0200314
315# Sepolicy
316include vendor/omni/sepolicy/sepolicy.mk
micky387009b31a2022-01-20 18:48:41 +0100317include device/qcom/sepolicy_vndr/SEPolicy.mk
318BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
micky3877a3d0e42022-02-02 19:37:28 +0100319
320# WiFi
321BOARD_WLAN_DEVICE := qcwcn
322BOARD_HOSTAPD_DRIVER := NL80211
323BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
324BOARD_WPA_SUPPLICANT_DRIVER := NL80211
325BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
326PRODUCT_VENDOR_MOVE_ENABLED := true
327WIFI_DRIVER_DEFAULT := qca_cld3
328WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan"
329WIFI_DRIVER_STATE_OFF := "OFF"
330WIFI_DRIVER_STATE_ON := "ON"
331WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
332WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
333WPA_SUPPLICANT_VERSION := VER_0_8_X