blob: 1113b588c4177ab821c855ddfc1b944f62b989c0 [file] [log] [blame]
Robin Pengc2b5ca92021-02-23 20:00:28 +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
Tianjiea76d1042021-03-12 11:42:05 -080017include build/make/target/board/BoardConfigPixelCommon.mk
Robin Pengc2b5ca92021-02-23 20:00:28 +080018
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.
23TARGET_SOC := gs101
24
25TARGET_SOC_NAME := google
26
27USES_DEVICE_GOOGLE_GS101 := true
28
29TARGET_ARCH := arm64
Philip Cuadra0111d392021-06-03 10:25:34 -070030TARGET_ARCH_VARIANT := armv8-2a
Robin Pengc2b5ca92021-02-23 20:00:28 +080031TARGET_CPU_ABI := arm64-v8a
Philip Cuadra0111d392021-06-03 10:25:34 -070032TARGET_CPU_VARIANT := cortex-a55
33TARGET_CPU_VARIANT_RUNTIME := cortex-a55
Robin Pengc2b5ca92021-02-23 20:00:28 +080034
Pat Tjindae7d3e2022-01-11 15:10:07 -080035ifeq (,$(filter %tangor %_64,$(TARGET_PRODUCT)))
Robin Pengc2b5ca92021-02-23 20:00:28 +080036TARGET_2ND_ARCH := arm
37TARGET_2ND_ARCH_VARIANT := armv8-a
38TARGET_2ND_CPU_ABI := armeabi-v7a
39TARGET_2ND_CPU_ABI2 := armeabi
40TARGET_2ND_CPU_VARIANT := generic
41TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a53
42endif
43
Minchan Kim5d135292021-03-17 15:13:38 -070044BOARD_KERNEL_CMDLINE += dyndbg=\"func alloc_contig_dump_pages +p\"
Oleg Matcovschi9963cf02021-03-23 14:03:45 -070045BOARD_KERNEL_CMDLINE += earlycon=exynos4210,0x10A00000 console=ttySAC0,115200 androidboot.console=ttySAC0 printk.devkmsg=on
Minchan Kim3623b572021-03-29 13:18:03 -070046BOARD_KERNEL_CMDLINE += cma_sysfs.experimental=Y
Minchan Kimc9f14082021-05-07 13:00:29 -070047BOARD_KERNEL_CMDLINE += stack_depot_disable=off page_pinner=on
Martin Liu5bcfdac2021-11-08 22:09:01 +080048BOARD_KERNEL_CMDLINE += swiotlb=noforce
Daniel Mentzc37a73b2021-04-08 20:24:38 -070049BOARD_BOOTCONFIG += androidboot.boot_devices=14700000.ufs
Robin Pengc2b5ca92021-02-23 20:00:28 +080050
51TARGET_NO_BOOTLOADER := true
Jason Chiud037bee2021-09-29 07:17:17 +000052TARGET_NO_RADIOIMAGE := true
Petri Gynther96a90bd2021-10-01 02:26:57 +000053ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
54BOARD_PREBUILT_BOOTIMAGE := $(wildcard $(TARGET_KERNEL_DIR)/boot.img)
55else
56BOARD_PREBUILT_BOOTIMAGE := $(wildcard $(TARGET_KERNEL_DIR)/boot-user.img)
57endif
58ifneq (,$(BOARD_PREBUILT_BOOTIMAGE))
59TARGET_NO_KERNEL := true
60else
61TARGET_NO_KERNEL := false
62endif
Robin Pengc2b5ca92021-02-23 20:00:28 +080063BOARD_USES_GENERIC_KERNEL_IMAGE := true
64BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true
65BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true
66TARGET_RECOVERY_WIPE := device/google/gs101/conf/recovery.wipe
Eric Biggersf739cf62021-08-30 14:09:06 -070067
68# This is the fstab file that will be included in the recovery image. Note that
69# recovery doesn't care about the encryption settings, so it doesn't matter
70# whether we use the normal or the fips fstab here.
Cole Faust23a4d7b2022-01-05 14:44:44 -080071TARGET_RECOVERY_FSTAB_GENRULE = gen_fstab.gs101
Eric Biggersf739cf62021-08-30 14:09:06 -070072
Robin Pengc2b5ca92021-02-23 20:00:28 +080073TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888
74TARGET_RECOVERY_UI_MARGIN_HEIGHT := 165
75TARGET_RECOVERY_UI_LIB := \
76 librecovery_ui_pixel \
77 libfstab
78
79AB_OTA_UPDATER := true
80
81AB_OTA_PARTITIONS += \
82 system \
83 system_ext \
84 product \
85 vbmeta_system
86
87ifneq ($(PRODUCT_BUILD_BOOT_IMAGE),false)
88AB_OTA_PARTITIONS += boot
89endif
90ifneq ($(PRODUCT_BUILD_VENDOR_BOOT_IMAGE),false)
91AB_OTA_PARTITIONS += vendor_boot
92AB_OTA_PARTITIONS += dtbo
93endif
94ifneq ($(PRODUCT_BUILD_VBMETA_IMAGE),false)
95AB_OTA_PARTITIONS += vbmeta
96endif
97
98# EMULATOR common modules
99BOARD_EMULATOR_COMMON_MODULES := liblight
100
101OVERRIDE_RS_DRIVER := libRSDriverArm.so
102BOARD_EGL_CFG := device/google/gs101/conf/egl.cfg
103#BOARD_USES_HGL := true
104USE_OPENGL_RENDERER := true
105NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
106BOARD_USES_EXYNOS5_COMMON_GRALLOC := true
Robin Pengc2b5ca92021-02-23 20:00:28 +0800107BOARD_USES_ALIGN_RESTRICTION := false
Sean Callanan13c4abd2021-03-25 18:27:04 -0700108BOARD_USES_GRALLOC_ION_SYNC := true
Robin Pengc2b5ca92021-02-23 20:00:28 +0800109
110# This should be the same value as USE_SWIFTSHADER in device.mk
111BOARD_USES_SWIFTSHADER := false
112
113# Gralloc4
Robin Pengc2b5ca92021-02-23 20:00:28 +0800114ifeq ($(BOARD_USES_SWIFTSHADER),true)
Sasha Smundakb44a6622021-12-15 10:00:29 -0800115$(call soong_config_set,arm_gralloc,gralloc_arm_no_external_afbc,true)
116$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_basic,false)
117$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_wideblk,false)
118$(call soong_config_set,arm_gralloc,gralloc_init_afbc,false)
119$(call soong_config_set,arm_gralloc,dpu_support_1010102_afbc,false)
Robin Pengc2b5ca92021-02-23 20:00:28 +0800120else
Sasha Smundakb44a6622021-12-15 10:00:29 -0800121$(call soong_config_set,arm_gralloc,gralloc_arm_no_external_afbc,false)
122$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_basic,true)
123$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_wideblk,true)
124$(call soong_config_set,arm_gralloc,gralloc_init_afbc,true)
125$(call soong_config_set,arm_gralloc,dpu_support_1010102_afbc,true)
Robin Pengc2b5ca92021-02-23 20:00:28 +0800126endif # ifeq ($(BOARD_USES_SWIFTSHADER),true)
Sasha Smundakb44a6622021-12-15 10:00:29 -0800127$(call soong_config_set,arm_gralloc,gralloc_ion_sync_on_lock,$(BOARD_USES_GRALLOC_ION_SYNC))
Robin Pengc2b5ca92021-02-23 20:00:28 +0800128
129# Graphics
130#BOARD_USES_EXYNOS_DATASPACE_FEATURE := true
131
Robin Pengc2b5ca92021-02-23 20:00:28 +0800132# Enable chain partition for system.
133BOARD_AVB_VBMETA_SYSTEM := system system_ext product
134BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
135BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
136BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
137BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1
138
Will McVickerb5b92ea2021-01-26 12:37:06 -0800139# Enable chained vbmeta for boot images
140BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
141BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA2048
142BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
143BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2
144
Robin Pengc2b5ca92021-02-23 20:00:28 +0800145TARGET_USERIMAGES_USE_EXT4 := true
146TARGET_USERIMAGES_USE_F2FS := true
147BOARD_USERDATAIMAGE_PARTITION_SIZE := 11796480000
148BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
149PRODUCT_FS_COMPRESSION := 1
150BOARD_FLASH_BLOCK_SIZE := 4096
151BOARD_MOUNT_SDCARD_RW := true
152
153# product.img
154BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
155TARGET_COPY_OUT_PRODUCT := product
156
157# system_ext.img
158BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
159TARGET_COPY_OUT_SYSTEM_EXT := system_ext
160
161########################
162# Video Codec
163########################
164# 1. Exynos C2
165BOARD_USE_CSC_FILTER := false
166BOARD_USE_DEC_SW_CSC := true
167BOARD_USE_ENC_SW_CSC := true
168BOARD_SUPPORT_MFC_ENC_RGB := true
Charlie Chen935a1dd2021-03-16 16:26:13 +0800169BOARD_USE_BLOB_ALLOCATOR := false
Robin Pengc2b5ca92021-02-23 20:00:28 +0800170########################
171
172BOARD_SUPER_PARTITION_SIZE := 8531214336
173BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions
Pat Tjin977ea342021-03-11 23:20:27 -0800174# Set size to BOARD_SUPER_PARTITION_SIZE - overhead (4MiB) (b/182237294)
175BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 8527020032
Robin Pengc2b5ca92021-02-23 20:00:28 +0800176BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \
177 system \
178 system_ext \
179 product \
Daniel Mentzfc05a5f2021-03-03 14:44:17 -0800180 vendor \
181 vendor_dlkm
Robin Pengc2b5ca92021-02-23 20:00:28 +0800182
183# Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB
184BOARD_SUPER_PARTITION_ERROR_LIMIT := 8006926336
185
186#
187# AUDIO & VOICE
188#
189BOARD_USES_GENERIC_AUDIO := true
190
Sasha Smundakb44a6622021-12-15 10:00:29 -0800191$(call soong_config_set,aoc_audio_func,ext_hidl,true)
Robin Pengc2b5ca92021-02-23 20:00:28 +0800192
193ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
Sasha Smundakb44a6622021-12-15 10:00:29 -0800194$(call soong_config_set,aoc_audio_func,dump_usecase_data,true)
195$(call soong_config_set,aoc_audio_func,hal_socket_control,true)
196$(call soong_config_set,aoc_audio_func,record_tunning_keys,true)
Robin Pengc2b5ca92021-02-23 20:00:28 +0800197endif
198
Carter Hsu977c44c2021-05-12 17:02:05 +0800199ifneq (,$(filter aosp_%,$(TARGET_PRODUCT)))
Sasha Smundakb44a6622021-12-15 10:00:29 -0800200$(call soong_config_set,aoc_audio_func,aosp_build,true)
Carter Hsu977c44c2021-05-12 17:02:05 +0800201endif
202
Sasha Smundakb44a6622021-12-15 10:00:29 -0800203$(call soong_config_set,haptics,actuator_model,$(ACTUATOR_MODEL))
Vince Leung58180f02021-08-27 03:50:21 +0000204
Robin Pengc2b5ca92021-02-23 20:00:28 +0800205# Primary AudioHAL Configuration
206#BOARD_USE_COMMON_AUDIOHAL := true
207#BOARD_USE_CALLIOPE_AUDIOHAL := false
208#BOARD_USE_AUDIOHAL := true
209
210# Compress Offload Configuration
211#BOARD_USE_OFFLOAD_AUDIO := true
212#BOARD_USE_OFFLOAD_EFFECT := false
213
214# SoundTriggerHAL Configuration
215#BOARD_USE_SOUNDTRIGGER_HAL := false
216
217# HWComposer
218BOARD_HWC_VERSION := libhwc2.1
219TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK := false
220BOARD_HDMI_INCAPABLE := true
221TARGET_USES_HWC2 := true
222HWC_SKIP_VALIDATE := true
223HWC_SUPPORT_RENDER_INTENT := true
224HWC_SUPPORT_COLOR_TRANSFORM := true
225#BOARD_USES_DISPLAYPORT := true
226# if AFBC is enabled, must set ro.vendor.ddk.set.afbc=1
227BOARD_USES_EXYNOS_AFBC_FEATURE := true
228#BOARD_USES_HDRUI_GLES_CONVERSION := true
229
230BOARD_LIBACRYL_DEFAULT_COMPOSITOR := fimg2d_gs101
231BOARD_LIBACRYL_G2D_HDR_PLUGIN := libacryl_hdr_plugin
232
233# HWCServices
234BOARD_USES_HWC_SERVICES := true
235
236# WiFiDisplay
237# BOARD_USES_VIRTUAL_DISPLAY := true
238# BOARD_USES_VDS_EXYNOS_HWC := true
239# BOARD_USES_WIFI_DISPLAY:= true
240# BOARD_USES_EGL_SURFACE_FOR_COMPOSITION_MIXED := true
241# BOARD_USES_VDS_YUV420SPM := true
242# BOARD_USES_VDS_OTHERFORMAT := true
243# BOARD_USES_VDS_DEBUG_FLAG := true
244# BOARD_USES_DISABLE_COMPOSITIONTYPE_GLES := true
245# BOARD_USES_SECURE_ENCODER_ONLY := true
246# BOARD_USES_TSMUX := true
247
248# SCALER
249BOARD_USES_DEFAULT_CSC_HW_SCALER := true
250BOARD_DEFAULT_CSC_HW_SCALER := 4
251BOARD_USES_SCALER_M2M1SHOT := true
252
253# Device Tree
254BOARD_USES_DT := true
255BOARD_INCLUDE_DTB_IN_BOOTIMG := true
256BOARD_PREBUILT_DTBIMAGE_DIR := $(TARGET_KERNEL_DIR)
257BOARD_PREBUILT_DTBOIMAGE := $(BOARD_PREBUILT_DTBIMAGE_DIR)/dtbo.img
258
259# PLATFORM LOG
260TARGET_USES_LOGD := true
261
262# LIBHWJPEG
263#TARGET_USES_UNIVERSAL_LIBHWJPEG := true
264#LIBHWJPEG_HWSCALER_ID := 0
265
266#Keymaster
267#BOARD_USES_KEYMASTER_VER1 := true
268
269#FMP
270#BOARD_USES_FMP_DM_CRYPT := true
271#BOARD_USES_FMP_FSCRYPTO := true
272BOARD_USES_METADATA_PARTITION := true
273
Robin Pengc2b5ca92021-02-23 20:00:28 +0800274# SKIA
275#BOARD_USES_SKIA_MULTITHREADING := true
276#BOARD_USES_FIMGAPI_V5X := true
277
278# SECCOMP Policy
279BOARD_SECCOMP_POLICY = device/google/gs101/seccomp_policy
280
281#CURL
282BOARD_USES_CURL := true
283
284# Sensor HAL
285BOARD_USES_EXYNOS_SENSORS_DUMMY := true
286
287# VISION
288# Exynos vision framework (EVF)
289#TARGET_USES_EVF := true
290# HW acceleration
291#TARGET_USES_VPU_KERNEL := true
292#TARGET_USES_SCORE_KERNEL := true
293#TARGET_USES_CL_KERNEL := false
294
295# exynos RIL
296TARGET_EXYNOS_RIL_SOURCE := true
297ENABLE_VENDOR_RIL_SERVICE := true
298
299# GNSS
300# BOARD_USES_EXYNOS_GNSS_DUMMY := true
301
302# Bluetooth defines
303# TODO(b/123695868): Remove the need for this
304BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := \
305 build/make/target/board/mainline_arm64/bluetooth
306
Robin Pengc2b5ca92021-02-23 20:00:28 +0800307#VNDK
308BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
309BOARD_VNDK_VERSION := current
310
311# H/W align restriction of MM IPs
312BOARD_EXYNOS_S10B_FORMAT_ALIGN := 64
313
Robin Pengc2b5ca92021-02-23 20:00:28 +0800314# NeuralNetworks
315GPU_SOURCE_PRESENT := $(wildcard vendor/arm/mali/valhall)
linjoey3097b782021-05-26 11:24:26 +0800316GPU_PREBUILD_PRESENT := $(wildcard vendor/google_devices/gs101/prebuilts/gpu/libs)
Sasha Smundak70f028e2021-09-02 11:29:01 -0700317ifneq (,$(strip $(GPU_SOURCE_PRESENT) $(GPU_PREBUILD_PRESENT)))
Robin Pengc2b5ca92021-02-23 20:00:28 +0800318ARMNN_COMPUTE_CL_ENABLE := 1
319else
320ARMNN_COMPUTE_CL_ENABLE := 0
321endif
322ARMNN_COMPUTE_NEON_ENABLE := 1
323
324# Boot.img
325BOARD_RAMDISK_USE_LZ4 := true
326#BOARD_KERNEL_BASE := 0x80000000
327#BOARD_KERNEL_PAGESIZE := 2048
328#BOARD_KERNEL_OFFSET := 0x80000
329#BOARD_RAMDISK_OFFSET := 0x4000000
Daniel Mentzc37a73b2021-04-08 20:24:38 -0700330BOARD_BOOT_HEADER_VERSION := 4
Robin Pengc2b5ca92021-02-23 20:00:28 +0800331BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
332
Daniel Mentzc37a73b2021-04-08 20:24:38 -0700333BOARD_VENDOR_RAMDISK_FRAGMENTS := dlkm
334BOARD_VENDOR_RAMDISK_FRAGMENT.dlkm.KERNEL_MODULE_DIRS := top
335
Robin Pengc2b5ca92021-02-23 20:00:28 +0800336# Enable AVB2.0
337BOARD_AVB_ENABLE := true
338BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000
339BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 0x04000000
340BOARD_DTBOIMG_PARTITION_SIZE := 0x01000000
341
342# System As Root
343BOARD_BUILD_SYSTEM_ROOT_IMAGE := false
344
Petri Gynther3c5da8c2021-03-07 01:19:46 -0800345# Vendor ramdisk image for kernel development
346BOARD_BUILD_VENDOR_RAMDISK_IMAGE := true
347
Daniel Mentz6a6d8f82021-05-11 22:58:19 -0700348KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)
349KERNEL_MODULES := $(wildcard $(KERNEL_MODULE_DIR)/*.ko)
Robin Pengc2b5ca92021-02-23 20:00:28 +0800350
Robin Peng85e14852022-01-21 18:08:36 +0800351BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.blocklist
352
Daniel Mentz6a6d8f82021-05-11 22:58:19 -0700353BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_boot.modules.load))
354ifndef BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD
355$(error vendor_boot.modules.load not found or empty)
356endif
357BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD)))
Robin Pengc2b5ca92021-02-23 20:00:28 +0800358
Daniel Mentz6a6d8f82021-05-11 22:58:19 -0700359BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.load))
360ifndef BOARD_VENDOR_KERNEL_MODULES_LOAD
361$(error vendor_dlkm.modules.load not found or empty)
362endif
363BOARD_VENDOR_KERNEL_MODULES := $(KERNEL_MODULES)
Robin Pengc2b5ca92021-02-23 20:00:28 +0800364
365# Using BUILD_COPY_HEADERS
366BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true
367
368include device/google/gs101-sepolicy/gs101-sepolicy.mk
Robin Pengc2b5ca92021-02-23 20:00:28 +0800369
370# Battery options
371BOARD_KERNEL_CMDLINE += at24.write_timeout=100
J. Aviladf9dc5c2021-04-12 18:22:36 +0000372
373# Enable larger logbuf
374BOARD_KERNEL_CMDLINE += log_buf_len=1024K
Jeffrey Carlyle15d83482021-06-15 08:26:29 -0700375
David Brazdilae3c59f2021-10-12 16:09:56 +0000376# Protected VM firmware
David Brazdilae3c59f2021-10-12 16:09:56 +0000377BOARD_PVMFWIMAGE_PARTITION_SIZE := 0x00100000
David Brazdilae3c59f2021-10-12 16:09:56 +0000378
Jeffrey Carlyle15d83482021-06-15 08:26:29 -0700379-include vendor/google_devices/gs101/proprietary/BoardConfigVendor.mk