blob: ff5b93de780caa9f97bb4d7760ea4a314ce9cc69 [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
30TARGET_ARCH_VARIANT := armv8-a
31TARGET_CPU_ABI := arm64-v8a
32TARGET_CPU_VARIANT := generic
33TARGET_CPU_VARIANT_RUNTIME := cortex-a53
34
35ifeq (,$(filter %_64,$(TARGET_PRODUCT)))
36TARGET_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
Oleg Matcovschiae9494e2021-04-02 06:30:49 -070046BOARD_KERNEL_CMDLINE += androidboot.boot_devices=14700000.ufs
Minchan Kim3623b572021-03-29 13:18:03 -070047BOARD_KERNEL_CMDLINE += cma_sysfs.experimental=Y
Robin Pengc2b5ca92021-02-23 20:00:28 +080048
49TARGET_NO_BOOTLOADER := true
50TARGET_NO_KERNEL := false
51TARGET_NO_RADIOIMAGE := true
52BOARD_USES_GENERIC_KERNEL_IMAGE := true
53BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true
54BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true
55TARGET_RECOVERY_WIPE := device/google/gs101/conf/recovery.wipe
56TARGET_RECOVERY_FSTAB := device/google/gs101/conf/fstab.gs101
57TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888
58TARGET_RECOVERY_UI_MARGIN_HEIGHT := 165
59TARGET_RECOVERY_UI_LIB := \
60 librecovery_ui_pixel \
61 libfstab
62
63AB_OTA_UPDATER := true
64
65AB_OTA_PARTITIONS += \
66 system \
67 system_ext \
68 product \
69 vbmeta_system
70
71ifneq ($(PRODUCT_BUILD_BOOT_IMAGE),false)
72AB_OTA_PARTITIONS += boot
73endif
74ifneq ($(PRODUCT_BUILD_VENDOR_BOOT_IMAGE),false)
75AB_OTA_PARTITIONS += vendor_boot
76AB_OTA_PARTITIONS += dtbo
77endif
78ifneq ($(PRODUCT_BUILD_VBMETA_IMAGE),false)
79AB_OTA_PARTITIONS += vbmeta
80endif
81
82# EMULATOR common modules
83BOARD_EMULATOR_COMMON_MODULES := liblight
84
85OVERRIDE_RS_DRIVER := libRSDriverArm.so
86BOARD_EGL_CFG := device/google/gs101/conf/egl.cfg
87#BOARD_USES_HGL := true
88USE_OPENGL_RENDERER := true
89NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
90BOARD_USES_EXYNOS5_COMMON_GRALLOC := true
91BOARD_USES_EXYNOS_GRALLOC_VERSION := $(DEVICE_USES_EXYNOS_GRALLOC_VERSION)
92BOARD_USES_ALIGN_RESTRICTION := false
Sean Callanan13c4abd2021-03-25 18:27:04 -070093BOARD_USES_GRALLOC_ION_SYNC := true
Robin Pengc2b5ca92021-02-23 20:00:28 +080094
95# This should be the same value as USE_SWIFTSHADER in device.mk
96BOARD_USES_SWIFTSHADER := false
97
98# Gralloc4
99ifeq ($(BOARD_USES_EXYNOS_GRALLOC_VERSION),4)
100SOONG_CONFIG_NAMESPACES += arm_gralloc
101SOONG_CONFIG_arm_gralloc := \
102 gralloc_arm_no_external_afbc \
103 mali_gpu_support_afbc_basic \
104 mali_gpu_support_afbc_wideblk \
105 gralloc_init_afbc \
106 gralloc_ion_sync_on_lock \
107 dpu_support_1010102_afbc
108
109ifeq ($(BOARD_USES_SWIFTSHADER),true)
110SOONG_CONFIG_arm_gralloc_gralloc_arm_no_external_afbc := true
111SOONG_CONFIG_arm_gralloc_mali_gpu_support_afbc_basic := false
112SOONG_CONFIG_arm_gralloc_mali_gpu_support_afbc_wideblk := false
113SOONG_CONFIG_arm_gralloc_gralloc_init_afbc := false
114SOONG_CONFIG_arm_gralloc_dpu_support_1010102_afbc := false
115else
116SOONG_CONFIG_arm_gralloc_gralloc_arm_no_external_afbc := false
117SOONG_CONFIG_arm_gralloc_mali_gpu_support_afbc_basic := true
118SOONG_CONFIG_arm_gralloc_mali_gpu_support_afbc_wideblk := true
119SOONG_CONFIG_arm_gralloc_gralloc_init_afbc := true
120SOONG_CONFIG_arm_gralloc_dpu_support_1010102_afbc := true
121endif # ifeq ($(BOARD_USES_SWIFTSHADER),true)
122SOONG_CONFIG_arm_gralloc_gralloc_ion_sync_on_lock := $(BOARD_USES_GRALLOC_ION_SYNC)
123endif # ifeq ($(BOARD_USES_EXYNOS_GRALLOC_VERSION),4)
124
125# libVendorGraphicbuffer
126SOONG_CONFIG_NAMESPACES += vendorgraphicbuffer
127SOONG_CONFIG_vendorgraphicbuffer := \
128 gralloc_version
129
130ifeq ($(BOARD_USES_EXYNOS_GRALLOC_VERSION),4)
131SOONG_CONFIG_vendorgraphicbuffer_gralloc_version := four
132else
133SOONG_CONFIG_vendorgraphicbuffer_gralloc_version := three
134endif
135
136# Graphics
137#BOARD_USES_EXYNOS_DATASPACE_FEATURE := true
138
Robin Pengc2b5ca92021-02-23 20:00:28 +0800139# Enable chain partition for system.
140BOARD_AVB_VBMETA_SYSTEM := system system_ext product
141BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
142BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
143BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
144BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1
145
Will McVickerb5b92ea2021-01-26 12:37:06 -0800146# Enable chained vbmeta for boot images
147BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
148BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA2048
149BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
150BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2
151
Robin Pengc2b5ca92021-02-23 20:00:28 +0800152TARGET_USERIMAGES_USE_EXT4 := true
153TARGET_USERIMAGES_USE_F2FS := true
154BOARD_USERDATAIMAGE_PARTITION_SIZE := 11796480000
155BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
156PRODUCT_FS_COMPRESSION := 1
157BOARD_FLASH_BLOCK_SIZE := 4096
158BOARD_MOUNT_SDCARD_RW := true
159
160# product.img
161BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
162TARGET_COPY_OUT_PRODUCT := product
163
164# system_ext.img
165BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
166TARGET_COPY_OUT_SYSTEM_EXT := system_ext
167
168########################
169# Video Codec
170########################
171# 1. Exynos C2
172BOARD_USE_CSC_FILTER := false
173BOARD_USE_DEC_SW_CSC := true
174BOARD_USE_ENC_SW_CSC := true
175BOARD_SUPPORT_MFC_ENC_RGB := true
Charlie Chen935a1dd2021-03-16 16:26:13 +0800176BOARD_USE_BLOB_ALLOCATOR := false
Robin Pengc2b5ca92021-02-23 20:00:28 +0800177########################
178
179BOARD_SUPER_PARTITION_SIZE := 8531214336
180BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions
Pat Tjin977ea342021-03-11 23:20:27 -0800181# Set size to BOARD_SUPER_PARTITION_SIZE - overhead (4MiB) (b/182237294)
182BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 8527020032
Robin Pengc2b5ca92021-02-23 20:00:28 +0800183BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \
184 system \
185 system_ext \
186 product \
Daniel Mentzfc05a5f2021-03-03 14:44:17 -0800187 vendor \
188 vendor_dlkm
Robin Pengc2b5ca92021-02-23 20:00:28 +0800189
190# Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB
191BOARD_SUPER_PARTITION_ERROR_LIMIT := 8006926336
192
193#
194# AUDIO & VOICE
195#
196BOARD_USES_GENERIC_AUDIO := true
197
198SOONG_CONFIG_NAMESPACES += aoc_audio_func
199
200SOONG_CONFIG_aoc_audio_func += \
201 ext_hidl
202
203SOONG_CONFIG_aoc_audio_func_ext_hidl := true
204
205ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
206SOONG_CONFIG_aoc_audio_func += \
207 dump_usecase_data \
208 hal_socket_control \
209 record_tunning_keys
210
211SOONG_CONFIG_aoc_audio_func_dump_usecase_data := true
212SOONG_CONFIG_aoc_audio_func_hal_socket_control := true
213SOONG_CONFIG_aoc_audio_func_record_tunning_keys := true
214endif
215
216# Primary AudioHAL Configuration
217#BOARD_USE_COMMON_AUDIOHAL := true
218#BOARD_USE_CALLIOPE_AUDIOHAL := false
219#BOARD_USE_AUDIOHAL := true
220
221# Compress Offload Configuration
222#BOARD_USE_OFFLOAD_AUDIO := true
223#BOARD_USE_OFFLOAD_EFFECT := false
224
225# SoundTriggerHAL Configuration
226#BOARD_USE_SOUNDTRIGGER_HAL := false
227
228# HWComposer
229BOARD_HWC_VERSION := libhwc2.1
230TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK := false
231BOARD_HDMI_INCAPABLE := true
232TARGET_USES_HWC2 := true
233HWC_SKIP_VALIDATE := true
234HWC_SUPPORT_RENDER_INTENT := true
235HWC_SUPPORT_COLOR_TRANSFORM := true
236#BOARD_USES_DISPLAYPORT := true
237# if AFBC is enabled, must set ro.vendor.ddk.set.afbc=1
238BOARD_USES_EXYNOS_AFBC_FEATURE := true
239#BOARD_USES_HDRUI_GLES_CONVERSION := true
240
241BOARD_LIBACRYL_DEFAULT_COMPOSITOR := fimg2d_gs101
242BOARD_LIBACRYL_G2D_HDR_PLUGIN := libacryl_hdr_plugin
243
244# HWCServices
245BOARD_USES_HWC_SERVICES := true
246
247# WiFiDisplay
248# BOARD_USES_VIRTUAL_DISPLAY := true
249# BOARD_USES_VDS_EXYNOS_HWC := true
250# BOARD_USES_WIFI_DISPLAY:= true
251# BOARD_USES_EGL_SURFACE_FOR_COMPOSITION_MIXED := true
252# BOARD_USES_VDS_YUV420SPM := true
253# BOARD_USES_VDS_OTHERFORMAT := true
254# BOARD_USES_VDS_DEBUG_FLAG := true
255# BOARD_USES_DISABLE_COMPOSITIONTYPE_GLES := true
256# BOARD_USES_SECURE_ENCODER_ONLY := true
257# BOARD_USES_TSMUX := true
258
259# SCALER
260BOARD_USES_DEFAULT_CSC_HW_SCALER := true
261BOARD_DEFAULT_CSC_HW_SCALER := 4
262BOARD_USES_SCALER_M2M1SHOT := true
263
264# Device Tree
265BOARD_USES_DT := true
266BOARD_INCLUDE_DTB_IN_BOOTIMG := true
267BOARD_PREBUILT_DTBIMAGE_DIR := $(TARGET_KERNEL_DIR)
268BOARD_PREBUILT_DTBOIMAGE := $(BOARD_PREBUILT_DTBIMAGE_DIR)/dtbo.img
269
270# PLATFORM LOG
271TARGET_USES_LOGD := true
272
273# LIBHWJPEG
274#TARGET_USES_UNIVERSAL_LIBHWJPEG := true
275#LIBHWJPEG_HWSCALER_ID := 0
276
277#Keymaster
278#BOARD_USES_KEYMASTER_VER1 := true
279
280#FMP
281#BOARD_USES_FMP_DM_CRYPT := true
282#BOARD_USES_FMP_FSCRYPTO := true
283BOARD_USES_METADATA_PARTITION := true
284
285# SELinux Platform Private policy for gs101
286SYSTEM_EXT_PRIVATE_SEPOLICY_DIR := device/google/sepolicy/private
287
288# SKIA
289#BOARD_USES_SKIA_MULTITHREADING := true
290#BOARD_USES_FIMGAPI_V5X := true
291
292# SECCOMP Policy
293BOARD_SECCOMP_POLICY = device/google/gs101/seccomp_policy
294
295#CURL
296BOARD_USES_CURL := true
297
298# Sensor HAL
299BOARD_USES_EXYNOS_SENSORS_DUMMY := true
300
301# VISION
302# Exynos vision framework (EVF)
303#TARGET_USES_EVF := true
304# HW acceleration
305#TARGET_USES_VPU_KERNEL := true
306#TARGET_USES_SCORE_KERNEL := true
307#TARGET_USES_CL_KERNEL := false
308
309# exynos RIL
310TARGET_EXYNOS_RIL_SOURCE := true
311ENABLE_VENDOR_RIL_SERVICE := true
312
313# GNSS
314# BOARD_USES_EXYNOS_GNSS_DUMMY := true
315
316# Bluetooth defines
317# TODO(b/123695868): Remove the need for this
318BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := \
319 build/make/target/board/mainline_arm64/bluetooth
320
321TARGET_BOARD_KERNEL_HEADERS := $(TARGET_KERNEL_DIR)/kernel-headers
322
323#VNDK
324BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
325BOARD_VNDK_VERSION := current
326
327# H/W align restriction of MM IPs
328BOARD_EXYNOS_S10B_FORMAT_ALIGN := 64
329
330# WiFi
331BOARD_WLAN_DEVICE := bcmdhd
332BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd
333BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd
334WPA_SUPPLICANT_VERSION := VER_0_8_X
335BOARD_WPA_SUPPLICANT_DRIVER := NL80211
336BOARD_HOSTAPD_DRIVER := NL80211
337# Wifi interface combination - {1 STA + 1 AP (bridged or single)} or {2 STA + 1 of (P2P or NAN)}
338WIFI_HAL_INTERFACE_COMBINATIONS := {{{STA}, 1}, {{AP}, 1}}, {{{STA}, 2}, {{P2P, NAN}, 1}}
339WIFI_FEATURE_WIFI_EXT_HAL := true
340WIFI_FEATURE_IMU_DETECTION := true
341# Avoid Wifi reset on MAC Address change
342WIFI_AVOID_IFACE_RESET_MAC_CHANGE := true
343WIFI_FEATURE_HOSTAPD_11AX := true
344
345# NeuralNetworks
346GPU_SOURCE_PRESENT := $(wildcard vendor/arm/mali/valhall)
347GPU_PREBUILD_PRESENT := $(wildcard vendor/google_devices/zebu/prebuilts/libs)
348ifneq "$(or $(GPU_SOURCE_PRESENT),$(GPU_PREBUILD_PRESENT))" ""
349ARMNN_COMPUTE_CL_ENABLE := 1
350else
351ARMNN_COMPUTE_CL_ENABLE := 0
352endif
353ARMNN_COMPUTE_NEON_ENABLE := 1
354
355# Boot.img
356BOARD_RAMDISK_USE_LZ4 := true
357#BOARD_KERNEL_BASE := 0x80000000
358#BOARD_KERNEL_PAGESIZE := 2048
359#BOARD_KERNEL_OFFSET := 0x80000
360#BOARD_RAMDISK_OFFSET := 0x4000000
Oleg Matcovschiae9494e2021-04-02 06:30:49 -0700361BOARD_BOOT_HEADER_VERSION := 3
Robin Pengc2b5ca92021-02-23 20:00:28 +0800362BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
363
364# Enable AVB2.0
365BOARD_AVB_ENABLE := true
366BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000
367BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 0x04000000
368BOARD_DTBOIMG_PARTITION_SIZE := 0x01000000
369
370# System As Root
371BOARD_BUILD_SYSTEM_ROOT_IMAGE := false
372
Petri Gynther3c5da8c2021-03-07 01:19:46 -0800373# Vendor ramdisk image for kernel development
374BOARD_BUILD_VENDOR_RAMDISK_IMAGE := true
375
Robin Pengc2b5ca92021-02-23 20:00:28 +0800376# Kernel modules
377BOARD_VENDOR_KERNEL_MODULES += \
378 $(wildcard $(TARGET_KERNEL_DIR)/*.ko)
379
380BOARD_VENDOR_RAMDISK_KERNEL_MODULES_FILTER += \
381 $(TARGET_KERNEL_DIR)/bcmdhd43752.ko \
382 $(TARGET_KERNEL_DIR)/bcmdhd4389.ko \
383 $(TARGET_KERNEL_DIR)/lwis.ko \
384 $(TARGET_KERNEL_DIR)/pinctrl-slg51000.ko \
385 $(TARGET_KERNEL_DIR)/pktgen.ko \
386 $(TARGET_KERNEL_DIR)/slg51000-core.ko \
387 $(TARGET_KERNEL_DIR)/slg51000-regulator.ko \
388 $(TARGET_KERNEL_DIR)/stmvl53l1.ko \
389 $(TARGET_KERNEL_DIR)/ftm5.ko \
390 $(TARGET_KERNEL_DIR)/haptics-cs40l2x.ko \
Victor Liu2207cb42021-04-19 18:37:46 -0700391 $(TARGET_KERNEL_DIR)/sec_touch.ko \
Tai Kuoeba08302021-04-11 18:04:40 +0800392 $(TARGET_KERNEL_DIR)/dw3000.ko \
393 $(TARGET_KERNEL_DIR)/cl_dsp.ko \
394 $(TARGET_KERNEL_DIR)/input-cs40l26-i2c.ko
Robin Pengc2b5ca92021-02-23 20:00:28 +0800395
396BOARD_VENDOR_RAMDISK_KERNEL_MODULES += \
397 $(filter-out $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_FILTER), $(foreach module, $(notdir \
398 $(shell cat $(TARGET_KERNEL_DIR)/modules.load)), \
399 $(TARGET_KERNEL_DIR)/$(module)))
400
401# Using BUILD_COPY_HEADERS
402BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true
403
404include device/google/gs101-sepolicy/gs101-sepolicy.mk
Robin Pengc2b5ca92021-02-23 20:00:28 +0800405
406# Battery options
407BOARD_KERNEL_CMDLINE += at24.write_timeout=100
J. Aviladf9dc5c2021-04-12 18:22:36 +0000408
409# Enable larger logbuf
410BOARD_KERNEL_CMDLINE += log_buf_len=1024K
Robin Pengc5b41642021-04-07 16:35:33 +0800411
412# Temporarily ignore the vendor selinux context namespace problem for PRODUCT_SHIPPING_API_LEVEL 31
413BUILD_BROKEN_VENDOR_PROPERTY_NAMESPACE := true