blob: 26e8d95942e9ca1beac6a1bcee0b5406b47e3bc9 [file] [log] [blame]
Aaron Dingd88f9a92022-04-15 13:16:16 +08001#
2# Copyright (C) 2019 The Android Open-Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16include build/make/target/board/BoardConfigMainlineCommon.mk
17include build/make/target/board/BoardConfigPixelCommon.mk
18
19# Should be uncommented after fixing vndk-sp violation is fixed.
20PRODUCT_FULL_TREBLE_OVERRIDE := true
21
22# HACK : To fix up after bring up multimedia devices.
Aaron Ding66befd82022-04-15 18:52:04 +080023TARGET_SOC := zuma
Aaron Dingd88f9a92022-04-15 13:16:16 +080024
25TARGET_SOC_NAME := google
26
Aaron Ding66befd82022-04-15 18:52:04 +080027USES_DEVICE_GOOGLE_ZUMA := true
Aaron Dingd88f9a92022-04-15 13:16:16 +080028
29TARGET_ARCH := arm64
30TARGET_ARCH_VARIANT := armv8-2a
31TARGET_CPU_ABI := arm64-v8a
32TARGET_CPU_VARIANT := cortex-a55
33TARGET_CPU_VARIANT_RUNTIME := cortex-a55
34
35BOARD_KERNEL_CMDLINE += dyndbg=\"func alloc_contig_dump_pages +p\"
36BOARD_KERNEL_CMDLINE += earlycon=exynos4210,0x10A00000 console=ttySAC0,115200 androidboot.console=ttySAC0 printk.devkmsg=on
37BOARD_KERNEL_CMDLINE += cma_sysfs.experimental=Y
38BOARD_KERNEL_CMDLINE += cgroup_disable=memory
39BOARD_KERNEL_CMDLINE += rcupdate.rcu_expedited=1 rcu_nocbs=all
40BOARD_KERNEL_CMDLINE += stack_depot_disable=off page_pinner=on
41BOARD_KERNEL_CMDLINE += swiotlb=1024
Jaegeuk Kim5fe10162022-06-23 23:49:46 -070042BOARD_BOOTCONFIG += androidboot.boot_devices=13200000.ufs
Aaron Dingd88f9a92022-04-15 13:16:16 +080043
44TARGET_NO_BOOTLOADER := true
45TARGET_NO_RADIOIMAGE := true
46ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
47BOARD_PREBUILT_BOOTIMAGE := $(wildcard $(TARGET_KERNEL_DIR)/boot.img)
48else
49BOARD_PREBUILT_BOOTIMAGE := $(wildcard $(TARGET_KERNEL_DIR)/boot-user.img)
50endif
51ifneq (,$(BOARD_PREBUILT_BOOTIMAGE))
52TARGET_NO_KERNEL := true
53else
54TARGET_NO_KERNEL := false
55endif
56BOARD_USES_GENERIC_KERNEL_IMAGE := true
57BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true
58BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true
Aaron Ding66befd82022-04-15 18:52:04 +080059TARGET_RECOVERY_WIPE := device/google/zuma/conf/recovery.wipe
Aaron Dingd88f9a92022-04-15 13:16:16 +080060
61# This is the fstab file that will be included in the recovery image. Note that
62# recovery doesn't care about the encryption settings, so it doesn't matter
63# whether we use the normal or the fips fstab here.
Aaron Ding66befd82022-04-15 18:52:04 +080064TARGET_RECOVERY_FSTAB_GENRULE := gen_fstab.zuma
Aaron Dingd88f9a92022-04-15 13:16:16 +080065
66TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888
67TARGET_RECOVERY_UI_MARGIN_HEIGHT := 165
68TARGET_RECOVERY_UI_LIB := \
69 librecovery_ui_pixel \
70 libfstab
71
72AB_OTA_UPDATER := true
73
74AB_OTA_PARTITIONS += \
75 system \
76 system_dlkm \
77 system_ext \
78 product \
79 vbmeta_system
80
81ifneq ($(PRODUCT_BUILD_BOOT_IMAGE),false)
82AB_OTA_PARTITIONS += boot
83endif
84ifneq ($(PRODUCT_BUILD_INIT_BOOT_IMAGE), false)
85AB_OTA_PARTITIONS += init_boot
86endif
87ifneq ($(PRODUCT_BUILD_VENDOR_BOOT_IMAGE),false)
88AB_OTA_PARTITIONS += vendor_boot
89AB_OTA_PARTITIONS += dtbo
90endif
91ifneq ($(PRODUCT_BUILD_VBMETA_IMAGE),false)
92AB_OTA_PARTITIONS += vbmeta
93endif
94ifneq ($(PRODUCT_BUILD_PVMFW_IMAGE),false)
95AB_OTA_PARTITIONS += pvmfw
96endif
97
98# EMULATOR common modules
99BOARD_EMULATOR_COMMON_MODULES := liblight
100
101OVERRIDE_RS_DRIVER := libRSDriverArm.so
Aaron Ding66befd82022-04-15 18:52:04 +0800102BOARD_EGL_CFG := device/google/zuma/conf/egl.cfg
Aaron Dingd88f9a92022-04-15 13:16:16 +0800103#BOARD_USES_HGL := true
104USE_OPENGL_RENDERER := true
105NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
106BOARD_USES_EXYNOS5_COMMON_GRALLOC := true
107BOARD_USES_EXYNOS_GRALLOC_VERSION := $(DEVICE_USES_EXYNOS_GRALLOC_VERSION)
108BOARD_USES_ALIGN_RESTRICTION := false
109BOARD_USES_GRALLOC_ION_SYNC := true
110
111# This should be the same value as USE_SWIFTSHADER in device.mk
112BOARD_USES_SWIFTSHADER := false
113
114# Gralloc4
115ifeq ($(BOARD_USES_EXYNOS_GRALLOC_VERSION),4)
116
117ifeq ($(BOARD_USES_SWIFTSHADER),true)
118$(call soong_config_set,arm_gralloc,gralloc_arm_no_external_afbc,true)
119$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_basic,false)
120$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_wideblk,false)
121$(call soong_config_set,arm_gralloc,gralloc_init_afbc,false)
122$(call soong_config_set,arm_gralloc,dpu_support_1010102_afbc,false)
123else
124$(call soong_config_set,arm_gralloc,gralloc_arm_no_external_afbc,false)
125$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_basic,true)
126$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_wideblk,true)
127$(call soong_config_set,arm_gralloc,gralloc_init_afbc,true)
128$(call soong_config_set,arm_gralloc,dpu_support_1010102_afbc,true)
129endif # ifeq ($(BOARD_USES_SWIFTSHADER),true)
130$(call soong_config_set,arm_gralloc,gralloc_ion_sync_on_lock,$(BOARD_USES_GRALLOC_ION_SYNC))
131endif # ifeq ($(BOARD_USES_EXYNOS_GRALLOC_VERSION),4)
132
133# libVendorGraphicbuffer
134ifeq ($(BOARD_USES_EXYNOS_GRALLOC_VERSION),4)
135$(call soong_config_set,vendorgraphicbuffer,gralloc_version,four)
136else
137$(call soong_config_set,vendorgraphicbuffer,gralloc_version,three)
138endif
139
140# Graphics
141#BOARD_USES_EXYNOS_DATASPACE_FEATURE := true
142
143# Enable chain partition for system.
144BOARD_AVB_VBMETA_SYSTEM := system system_dlkm system_ext product
145BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
146BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
147BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
148BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1
149
150# Enable chained vbmeta for boot images
151BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
152BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA2048
153BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
154BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2
155
156# Enable chained vbmeta for init_boot images
157BOARD_AVB_INIT_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
158BOARD_AVB_INIT_BOOT_ALGORITHM := SHA256_RSA2048
159BOARD_AVB_INIT_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
160BOARD_AVB_INIT_BOOT_ROLLBACK_INDEX_LOCATION := 4
161
162TARGET_USERIMAGES_USE_EXT4 := true
163TARGET_USERIMAGES_USE_F2FS := true
164BOARD_USERDATAIMAGE_PARTITION_SIZE := 11796480000
165BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
166PRODUCT_FS_COMPRESSION := 1
167BOARD_FLASH_BLOCK_SIZE := 4096
168BOARD_MOUNT_SDCARD_RW := true
169
170# system.img
Jaegeuk Kim39e44952022-06-24 08:40:14 -0700171BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4
Aaron Dingd88f9a92022-04-15 13:16:16 +0800172
173# product.img
Jaegeuk Kim39e44952022-06-24 08:40:14 -0700174BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
Aaron Dingd88f9a92022-04-15 13:16:16 +0800175TARGET_COPY_OUT_PRODUCT := product
176
177# system_ext.img
Jaegeuk Kim39e44952022-06-24 08:40:14 -0700178BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
Aaron Dingd88f9a92022-04-15 13:16:16 +0800179TARGET_COPY_OUT_SYSTEM_EXT := system_ext
180
181# persist.img
182BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := f2fs
183
184########################
185# Video Codec
186########################
187# 1. Exynos C2
188BOARD_USE_CSC_FILTER := false
189BOARD_USE_DEC_SW_CSC := true
190BOARD_USE_ENC_SW_CSC := true
191BOARD_SUPPORT_MFC_ENC_RGB := true
192BOARD_USE_BLOB_ALLOCATOR := false
193########################
194
195BOARD_SUPER_PARTITION_SIZE := 8531214336
196BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions
197# Set size to BOARD_SUPER_PARTITION_SIZE - overhead (4MiB) (b/182237294)
198BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 8527020032
199BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \
200 system \
201 system_dlkm \
202 system_ext \
203 product \
204 vendor \
205 vendor_dlkm
206
207# Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB
208BOARD_SUPER_PARTITION_ERROR_LIMIT := 8006926336
209
210# Build a separate system_dlkm partition
211BOARD_USES_SYSTEM_DLKMIMAGE := true
Jaegeuk Kim39e44952022-06-24 08:40:14 -0700212BOARD_SYSTEM_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
Aaron Dingd88f9a92022-04-15 13:16:16 +0800213TARGET_COPY_OUT_SYSTEM_DLKM := system_dlkm
214
215#
216# AUDIO & VOICE
217#
218BOARD_USES_GENERIC_AUDIO := true
219
220$(call soong_config_set,aoc_audio_func,ext_hidl,true)
221
222ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
223$(call soong_config_set,aoc_audio_func,dump_usecase_data,true)
224$(call soong_config_set,aoc_audio_func,hal_socket_control,true)
225$(call soong_config_set,aoc_audio_func,record_tunning_keys,true)
226endif
227
228ifneq (,$(filter aosp_%,$(TARGET_PRODUCT)))
229$(call soong_config_set,aoc_audio_func,aosp_build,true)
230endif
231
232# Primary AudioHAL Configuration
233#BOARD_USE_COMMON_AUDIOHAL := true
234#BOARD_USE_CALLIOPE_AUDIOHAL := false
235#BOARD_USE_AUDIOHAL := true
236
237# Compress Offload Configuration
238#BOARD_USE_OFFLOAD_AUDIO := true
239#BOARD_USE_OFFLOAD_EFFECT := false
240
241# SoundTriggerHAL Configuration
242#BOARD_USE_SOUNDTRIGGER_HAL := false
243
244# HWComposer
245BOARD_HWC_VERSION := hwc3
246TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK := false
247BOARD_HDMI_INCAPABLE := true
248TARGET_USES_HWC2 := true
249HWC_SKIP_VALIDATE := true
250HWC_SUPPORT_RENDER_INTENT := true
251HWC_SUPPORT_COLOR_TRANSFORM := true
252#BOARD_USES_DISPLAYPORT := true
253# if AFBC is enabled, must set ro.vendor.ddk.set.afbc=1
254BOARD_USES_EXYNOS_AFBC_FEATURE := true
255#BOARD_USES_HDRUI_GLES_CONVERSION := true
256
Aaron Ding66befd82022-04-15 18:52:04 +0800257BOARD_LIBACRYL_DEFAULT_COMPOSITOR := fimg2d_zuma
Aaron Dingd88f9a92022-04-15 13:16:16 +0800258BOARD_LIBACRYL_G2D_HDR_PLUGIN := libacryl_hdr_plugin
259
260# HWCServices
261BOARD_USES_HWC_SERVICES := true
262
263# WiFiDisplay
264# BOARD_USES_VIRTUAL_DISPLAY := true
265# BOARD_USES_VDS_EXYNOS_HWC := true
266# BOARD_USES_WIFI_DISPLAY:= true
267# BOARD_USES_EGL_SURFACE_FOR_COMPOSITION_MIXED := true
268# BOARD_USES_VDS_YUV420SPM := true
269# BOARD_USES_VDS_OTHERFORMAT := true
270# BOARD_USES_VDS_DEBUG_FLAG := true
271# BOARD_USES_DISABLE_COMPOSITIONTYPE_GLES := true
272# BOARD_USES_SECURE_ENCODER_ONLY := true
273# BOARD_USES_TSMUX := true
274
275# SCALER
276BOARD_USES_DEFAULT_CSC_HW_SCALER := true
277BOARD_DEFAULT_CSC_HW_SCALER := 4
278BOARD_USES_SCALER_M2M1SHOT := true
279
280# Device Tree
281BOARD_USES_DT := true
282BOARD_INCLUDE_DTB_IN_BOOTIMG := true
283BOARD_PREBUILT_DTBIMAGE_DIR := $(TARGET_KERNEL_DIR)
284BOARD_PREBUILT_DTBOIMAGE := $(BOARD_PREBUILT_DTBIMAGE_DIR)/dtbo.img
285
286# PLATFORM LOG
287TARGET_USES_LOGD := true
288
289# LIBHWJPEG
290#TARGET_USES_UNIVERSAL_LIBHWJPEG := true
291#LIBHWJPEG_HWSCALER_ID := 0
292
293#Keymaster
294#BOARD_USES_KEYMASTER_VER1 := true
295
296#FMP
297#BOARD_USES_FMP_DM_CRYPT := true
298#BOARD_USES_FMP_FSCRYPTO := true
299BOARD_USES_METADATA_PARTITION := true
300
301# SKIA
302#BOARD_USES_SKIA_MULTITHREADING := true
303#BOARD_USES_FIMGAPI_V5X := true
304
305# SECCOMP Policy
Aaron Ding66befd82022-04-15 18:52:04 +0800306BOARD_SECCOMP_POLICY = device/google/zuma/seccomp_policy
Aaron Dingd88f9a92022-04-15 13:16:16 +0800307
308#CURL
309BOARD_USES_CURL := true
310
311# Sensor HAL
312BOARD_USES_EXYNOS_SENSORS_DUMMY := true
313
314# VISION
315# Exynos vision framework (EVF)
316#TARGET_USES_EVF := true
317# HW acceleration
318#TARGET_USES_VPU_KERNEL := true
319#TARGET_USES_SCORE_KERNEL := true
320#TARGET_USES_CL_KERNEL := false
321
322# exynos RIL
323TARGET_EXYNOS_RIL_SOURCE := true
324ENABLE_VENDOR_RIL_SERVICE := true
325
326# GNSS
327# BOARD_USES_EXYNOS_GNSS_DUMMY := true
328
329# Bluetooth defines
330# TODO(b/123695868): Remove the need for this
331BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := \
332 build/make/target/board/mainline_arm64/bluetooth
333
334#VNDK
335BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
336BOARD_VNDK_VERSION := current
337
338# H/W align restriction of MM IPs
339BOARD_EXYNOS_S10B_FORMAT_ALIGN := 64
340
341# NeuralNetworks
342GPU_SOURCE_PRESENT := $(wildcard vendor/arm/mali/valhall)
343GPU_PREBUILD_PRESENT := $(wildcard vendor/google_devices/zebu/prebuilts/libs)
344ifneq (,$(strip $(GPU_SOURCE_PRESENT) $(GPU_PREBUILD_PRESENT)))
Aaron Ding6b9a1e02022-04-24 12:39:56 +0800345ARMNN_COMPUTE_CL_ENABLE := 1
Aaron Dingd88f9a92022-04-15 13:16:16 +0800346else
347ARMNN_COMPUTE_CL_ENABLE := 0
348endif
349ARMNN_COMPUTE_NEON_ENABLE := 1
350
351# Boot.img
352BOARD_RAMDISK_USE_LZ4 := true
353#BOARD_KERNEL_BASE := 0x80000000
354#BOARD_KERNEL_PAGESIZE := 2048
355#BOARD_KERNEL_OFFSET := 0x80000
356#BOARD_RAMDISK_OFFSET := 0x4000000
357BOARD_BOOT_HEADER_VERSION := 4
358BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
359
360BOARD_INIT_BOOT_HEADER_VERSION := 4
361BOARD_MKBOOTIMG_INIT_ARGS += --header_version $(BOARD_INIT_BOOT_HEADER_VERSION)
362
363BOARD_VENDOR_RAMDISK_FRAGMENTS := dlkm
364BOARD_VENDOR_RAMDISK_FRAGMENT.dlkm.KERNEL_MODULE_DIRS := top
365
366# Enable AVB2.0
367BOARD_AVB_ENABLE := true
368BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000
369BOARD_INIT_BOOT_IMAGE_PARTITION_SIZE := 0x800000
370BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 0x04000000
371BOARD_DTBOIMG_PARTITION_SIZE := 0x01000000
372
373# System As Root
374BOARD_BUILD_SYSTEM_ROOT_IMAGE := false
375
376# Vendor ramdisk image for kernel development
377BOARD_BUILD_VENDOR_RAMDISK_IMAGE := true
378
379KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)
380KERNEL_MODULES := $(wildcard $(KERNEL_MODULE_DIR)/*.ko)
381
Aaron Ding3d63c9d2022-05-16 18:51:23 +0800382# BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.blocklist
Aaron Dingd88f9a92022-04-15 13:16:16 +0800383
384BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_boot.modules.load))
385ifndef BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD
386$(error vendor_boot.modules.load not found or empty)
387endif
388BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD)))
389
390BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.load))
391ifndef BOARD_VENDOR_KERNEL_MODULES_LOAD
392$(error vendor_dlkm.modules.load not found or empty)
393endif
394BOARD_VENDOR_KERNEL_MODULES := $(KERNEL_MODULES)
395
396# Using BUILD_COPY_HEADERS
397BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true
398
Aaron Ding66befd82022-04-15 18:52:04 +0800399include device/google/zuma-sepolicy/zuma-sepolicy.mk
Aaron Dingd88f9a92022-04-15 13:16:16 +0800400
401# Battery options
402BOARD_KERNEL_CMDLINE += at24.write_timeout=100
403
404# Enable larger logbuf
405BOARD_KERNEL_CMDLINE += log_buf_len=1024K
406
407# Enable load module in parallel
408BOARD_BOOTCONFIG += androidboot.load_modules_parallel=true
409
410# Protected VM firmware
411BOARD_PVMFWIMAGE_PARTITION_SIZE := 0x00100000