blob: 9483afff68d0a1daeaea185e0c8ef7e885f8cd6b [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
Robin Pengc2b5ca92021-02-23 20:00:28 +080019# HACK : To fix up after bring up multimedia devices.
20TARGET_SOC := gs101
21
22TARGET_SOC_NAME := google
23
24USES_DEVICE_GOOGLE_GS101 := true
25
26TARGET_ARCH := arm64
Philip Cuadra0111d392021-06-03 10:25:34 -070027TARGET_ARCH_VARIANT := armv8-2a
Robin Pengc2b5ca92021-02-23 20:00:28 +080028TARGET_CPU_ABI := arm64-v8a
Philip Cuadra0111d392021-06-03 10:25:34 -070029TARGET_CPU_VARIANT := cortex-a55
Robin Pengc2b5ca92021-02-23 20:00:28 +080030
Gina Kod8a98052022-03-14 18:26:30 +000031DEVICE_IS_64BIT_ONLY ?= $(if $(filter %_64,$(TARGET_PRODUCT)),true,false)
Gina Ko18bd11a2022-02-25 17:05:22 -080032
33ifneq ($(DEVICE_IS_64BIT_ONLY),true)
Robin Pengc2b5ca92021-02-23 20:00:28 +080034TARGET_2ND_ARCH := arm
35TARGET_2ND_ARCH_VARIANT := armv8-a
36TARGET_2ND_CPU_ABI := armeabi-v7a
37TARGET_2ND_CPU_ABI2 := armeabi
38TARGET_2ND_CPU_VARIANT := generic
39TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a53
40endif
41
Minchan Kim5d135292021-03-17 15:13:38 -070042BOARD_KERNEL_CMDLINE += dyndbg=\"func alloc_contig_dump_pages +p\"
Oleg Matcovschi9963cf02021-03-23 14:03:45 -070043BOARD_KERNEL_CMDLINE += earlycon=exynos4210,0x10A00000 console=ttySAC0,115200 androidboot.console=ttySAC0 printk.devkmsg=on
Minchan Kim3623b572021-03-29 13:18:03 -070044BOARD_KERNEL_CMDLINE += cma_sysfs.experimental=Y
Qais Yousef9adfff42024-08-12 14:31:07 +000045BOARD_KERNEL_CMDLINE += rcupdate.rcu_expedited=1 rcu_nocbs=all rcutree.enable_rcu_lazy
Martin Liu5bcfdac2021-11-08 22:09:01 +080046BOARD_KERNEL_CMDLINE += swiotlb=noforce
Robin Hsu60ef8d62024-10-14 02:50:00 +000047BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem
Daniel Mentzc37a73b2021-04-08 20:24:38 -070048BOARD_BOOTCONFIG += androidboot.boot_devices=14700000.ufs
Robin Pengc2b5ca92021-02-23 20:00:28 +080049
50TARGET_NO_BOOTLOADER := true
Jason Chiud037bee2021-09-29 07:17:17 +000051TARGET_NO_RADIOIMAGE := true
Petri Gynther96a90bd2021-10-01 02:26:57 +000052BOARD_PREBUILT_BOOTIMAGE := $(wildcard $(TARGET_KERNEL_DIR)/boot.img)
Petri Gynther96a90bd2021-10-01 02:26:57 +000053ifneq (,$(BOARD_PREBUILT_BOOTIMAGE))
54TARGET_NO_KERNEL := true
55else
56TARGET_NO_KERNEL := false
57endif
Robin Pengc2b5ca92021-02-23 20:00:28 +080058BOARD_USES_GENERIC_KERNEL_IMAGE := true
59BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true
60BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true
61TARGET_RECOVERY_WIPE := device/google/gs101/conf/recovery.wipe
Eric Biggersf739cf62021-08-30 14:09:06 -070062
63# This is the fstab file that will be included in the recovery image. Note that
64# recovery doesn't care about the encryption settings, so it doesn't matter
65# whether we use the normal or the fips fstab here.
Cole Faust23a4d7b2022-01-05 14:44:44 -080066TARGET_RECOVERY_FSTAB_GENRULE = gen_fstab.gs101
Eric Biggersf739cf62021-08-30 14:09:06 -070067
Robin Pengc2b5ca92021-02-23 20:00:28 +080068TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888
69TARGET_RECOVERY_UI_MARGIN_HEIGHT := 165
70TARGET_RECOVERY_UI_LIB := \
71 librecovery_ui_pixel \
72 libfstab
73
74AB_OTA_UPDATER := true
75
76AB_OTA_PARTITIONS += \
77 system \
78 system_ext \
79 product \
80 vbmeta_system
81
82ifneq ($(PRODUCT_BUILD_BOOT_IMAGE),false)
83AB_OTA_PARTITIONS += boot
84endif
85ifneq ($(PRODUCT_BUILD_VENDOR_BOOT_IMAGE),false)
86AB_OTA_PARTITIONS += vendor_boot
87AB_OTA_PARTITIONS += dtbo
88endif
89ifneq ($(PRODUCT_BUILD_VBMETA_IMAGE),false)
90AB_OTA_PARTITIONS += vbmeta
91endif
92
93# EMULATOR common modules
94BOARD_EMULATOR_COMMON_MODULES := liblight
95
96OVERRIDE_RS_DRIVER := libRSDriverArm.so
97BOARD_EGL_CFG := device/google/gs101/conf/egl.cfg
98#BOARD_USES_HGL := true
99USE_OPENGL_RENDERER := true
100NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
101BOARD_USES_EXYNOS5_COMMON_GRALLOC := true
Robin Pengc2b5ca92021-02-23 20:00:28 +0800102BOARD_USES_ALIGN_RESTRICTION := false
Sean Callanan13c4abd2021-03-25 18:27:04 -0700103BOARD_USES_GRALLOC_ION_SYNC := true
Robin Pengc2b5ca92021-02-23 20:00:28 +0800104
105# This should be the same value as USE_SWIFTSHADER in device.mk
106BOARD_USES_SWIFTSHADER := false
107
108# Gralloc4
Robin Pengc2b5ca92021-02-23 20:00:28 +0800109ifeq ($(BOARD_USES_SWIFTSHADER),true)
Sasha Smundakb44a6622021-12-15 10:00:29 -0800110$(call soong_config_set,arm_gralloc,gralloc_arm_no_external_afbc,true)
111$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_basic,false)
112$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_wideblk,false)
113$(call soong_config_set,arm_gralloc,gralloc_init_afbc,false)
114$(call soong_config_set,arm_gralloc,dpu_support_1010102_afbc,false)
Robin Pengc2b5ca92021-02-23 20:00:28 +0800115else
Sasha Smundakb44a6622021-12-15 10:00:29 -0800116$(call soong_config_set,arm_gralloc,gralloc_arm_no_external_afbc,false)
117$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_basic,true)
118$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_wideblk,true)
119$(call soong_config_set,arm_gralloc,gralloc_init_afbc,true)
120$(call soong_config_set,arm_gralloc,dpu_support_1010102_afbc,true)
Robin Pengc2b5ca92021-02-23 20:00:28 +0800121endif # ifeq ($(BOARD_USES_SWIFTSHADER),true)
Sasha Smundakb44a6622021-12-15 10:00:29 -0800122$(call soong_config_set,arm_gralloc,gralloc_ion_sync_on_lock,$(BOARD_USES_GRALLOC_ION_SYNC))
Robin Pengc2b5ca92021-02-23 20:00:28 +0800123
124# Graphics
125#BOARD_USES_EXYNOS_DATASPACE_FEATURE := true
126
Robin Pengc2b5ca92021-02-23 20:00:28 +0800127# Enable chain partition for system.
Akilesh Kailash7bb42932022-05-20 06:22:54 +0000128BOARD_AVB_VBMETA_SYSTEM := system system_ext product
Robin Pengc2b5ca92021-02-23 20:00:28 +0800129BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
130BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
131BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
132BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1
133
Pierre-Clément Tosi39764122023-04-18 11:25:52 +0100134ifneq ($(PRODUCT_BUILD_PVMFW_IMAGE),false)
135BOARD_AVB_VBMETA_SYSTEM += pvmfw
136endif
137
Will McVickerb5b92ea2021-01-26 12:37:06 -0800138# Enable chained vbmeta for boot images
139BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
140BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA2048
141BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
142BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2
143
Robin Pengc2b5ca92021-02-23 20:00:28 +0800144TARGET_USERIMAGES_USE_EXT4 := true
145TARGET_USERIMAGES_USE_F2FS := true
146BOARD_USERDATAIMAGE_PARTITION_SIZE := 11796480000
147BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
148PRODUCT_FS_COMPRESSION := 1
149BOARD_FLASH_BLOCK_SIZE := 4096
150BOARD_MOUNT_SDCARD_RW := true
151
152# product.img
153BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
154TARGET_COPY_OUT_PRODUCT := product
155
156# system_ext.img
157BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
158TARGET_COPY_OUT_SYSTEM_EXT := system_ext
159
160########################
161# Video Codec
162########################
163# 1. Exynos C2
wenchangliud662abb2023-12-14 18:21:07 +0000164BOARD_USE_CODEC2_HIDL_1_2 := true
Robin Pengc2b5ca92021-02-23 20:00:28 +0800165BOARD_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
Taehwan Kim4b4e1812022-09-23 18:39:27 +0900170BOARD_SUPPORT_MFC_ENC_BT2020 := true
wenchangliu49f6cdf2023-01-12 09:17:19 +0000171BOARD_SUPPORT_FLEXIBLE_P010 := true
Taehwan Kim4b4e1812022-09-23 18:39:27 +0900172
Robin Pengc2b5ca92021-02-23 20:00:28 +0800173########################
174
175BOARD_SUPER_PARTITION_SIZE := 8531214336
176BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions
Pat Tjin977ea342021-03-11 23:20:27 -0800177# Set size to BOARD_SUPER_PARTITION_SIZE - overhead (4MiB) (b/182237294)
178BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 8527020032
Robin Pengc2b5ca92021-02-23 20:00:28 +0800179BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \
180 system \
181 system_ext \
182 product \
Daniel Mentzfc05a5f2021-03-03 14:44:17 -0800183 vendor \
184 vendor_dlkm
Robin Pengc2b5ca92021-02-23 20:00:28 +0800185
Gina Koa4178502024-03-26 18:10:50 -0700186# Set error limit to BOARD_SUPER_PARTITON_SIZE - 400MB
187BOARD_SUPER_PARTITION_ERROR_LIMIT := 8111783936
Robin Pengc2b5ca92021-02-23 20:00:28 +0800188
Vincent Palomaresf78d6a12022-04-27 13:15:11 -0700189# Testing related defines
190BOARD_PERFSETUP_SCRIPT := platform_testing/scripts/perf-setup/r4o6-setup.sh
191
Robin Pengc2b5ca92021-02-23 20:00:28 +0800192#
193# AUDIO & VOICE
194#
195BOARD_USES_GENERIC_AUDIO := true
196
Sasha Smundakb44a6622021-12-15 10:00:29 -0800197$(call soong_config_set,aoc_audio_func,ext_hidl,true)
Robin Pengc2b5ca92021-02-23 20:00:28 +0800198
199ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
Sasha Smundakb44a6622021-12-15 10:00:29 -0800200$(call soong_config_set,aoc_audio_func,dump_usecase_data,true)
201$(call soong_config_set,aoc_audio_func,hal_socket_control,true)
Jasmine Cha88ae21d2023-10-17 15:10:42 +0800202$(call soong_config_set,aoc_audio_func,record_tuning_keys,true)
Robin Pengc2b5ca92021-02-23 20:00:28 +0800203endif
204
Carter Hsu977c44c2021-05-12 17:02:05 +0800205ifneq (,$(filter aosp_%,$(TARGET_PRODUCT)))
Sasha Smundakb44a6622021-12-15 10:00:29 -0800206$(call soong_config_set,aoc_audio_func,aosp_build,true)
Carter Hsu977c44c2021-05-12 17:02:05 +0800207endif
208
Sasha Smundakb44a6622021-12-15 10:00:29 -0800209$(call soong_config_set,haptics,actuator_model,$(ACTUATOR_MODEL))
Vince Leung58180f02021-08-27 03:50:21 +0000210
Robin Pengc2b5ca92021-02-23 20:00:28 +0800211# Primary AudioHAL Configuration
212#BOARD_USE_COMMON_AUDIOHAL := true
213#BOARD_USE_CALLIOPE_AUDIOHAL := false
214#BOARD_USE_AUDIOHAL := true
215
216# Compress Offload Configuration
217#BOARD_USE_OFFLOAD_AUDIO := true
218#BOARD_USE_OFFLOAD_EFFECT := false
219
220# SoundTriggerHAL Configuration
221#BOARD_USE_SOUNDTRIGGER_HAL := false
222
Chris Paulo2fd36962023-01-10 01:43:10 +0000223# Vibrator HAL actuator model and adaptive haptics configuration
224$(call soong_config_set,haptics,actuator_model,$(ACTUATOR_MODEL))
225$(call soong_config_set,haptics,adaptive_haptics_feature,$(ADAPTIVE_HAPTICS_FEATURE))
226
Robin Pengc2b5ca92021-02-23 20:00:28 +0800227# HWComposer
228BOARD_HWC_VERSION := libhwc2.1
229TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK := false
230BOARD_HDMI_INCAPABLE := true
231TARGET_USES_HWC2 := true
Robin Pengc2b5ca92021-02-23 20:00:28 +0800232HWC_SUPPORT_RENDER_INTENT := true
233HWC_SUPPORT_COLOR_TRANSFORM := true
234#BOARD_USES_DISPLAYPORT := true
235# if AFBC is enabled, must set ro.vendor.ddk.set.afbc=1
236BOARD_USES_EXYNOS_AFBC_FEATURE := true
237#BOARD_USES_HDRUI_GLES_CONVERSION := true
238
239BOARD_LIBACRYL_DEFAULT_COMPOSITOR := fimg2d_gs101
240BOARD_LIBACRYL_G2D_HDR_PLUGIN := libacryl_hdr_plugin
241
242# HWCServices
243BOARD_USES_HWC_SERVICES := true
244
245# WiFiDisplay
246# BOARD_USES_VIRTUAL_DISPLAY := true
247# BOARD_USES_VDS_EXYNOS_HWC := true
248# BOARD_USES_WIFI_DISPLAY:= true
249# BOARD_USES_EGL_SURFACE_FOR_COMPOSITION_MIXED := true
250# BOARD_USES_VDS_YUV420SPM := true
251# BOARD_USES_VDS_OTHERFORMAT := true
252# BOARD_USES_VDS_DEBUG_FLAG := true
253# BOARD_USES_DISABLE_COMPOSITIONTYPE_GLES := true
254# BOARD_USES_SECURE_ENCODER_ONLY := true
255# BOARD_USES_TSMUX := true
256
257# SCALER
258BOARD_USES_DEFAULT_CSC_HW_SCALER := true
259BOARD_DEFAULT_CSC_HW_SCALER := 4
260BOARD_USES_SCALER_M2M1SHOT := true
261
262# Device Tree
263BOARD_USES_DT := true
264BOARD_INCLUDE_DTB_IN_BOOTIMG := true
265BOARD_PREBUILT_DTBIMAGE_DIR := $(TARGET_KERNEL_DIR)
266BOARD_PREBUILT_DTBOIMAGE := $(BOARD_PREBUILT_DTBIMAGE_DIR)/dtbo.img
267
268# PLATFORM LOG
269TARGET_USES_LOGD := true
270
271# LIBHWJPEG
272#TARGET_USES_UNIVERSAL_LIBHWJPEG := true
273#LIBHWJPEG_HWSCALER_ID := 0
274
275#Keymaster
276#BOARD_USES_KEYMASTER_VER1 := true
277
278#FMP
279#BOARD_USES_FMP_DM_CRYPT := true
280#BOARD_USES_FMP_FSCRYPTO := true
281BOARD_USES_METADATA_PARTITION := true
282
Robin Pengc2b5ca92021-02-23 20:00:28 +0800283# SKIA
284#BOARD_USES_SKIA_MULTITHREADING := true
285#BOARD_USES_FIMGAPI_V5X := true
286
287# SECCOMP Policy
288BOARD_SECCOMP_POLICY = device/google/gs101/seccomp_policy
289
290#CURL
291BOARD_USES_CURL := true
292
293# Sensor HAL
294BOARD_USES_EXYNOS_SENSORS_DUMMY := true
295
296# VISION
297# Exynos vision framework (EVF)
298#TARGET_USES_EVF := true
299# HW acceleration
300#TARGET_USES_VPU_KERNEL := true
301#TARGET_USES_SCORE_KERNEL := true
302#TARGET_USES_CL_KERNEL := false
303
304# exynos RIL
305TARGET_EXYNOS_RIL_SOURCE := true
306ENABLE_VENDOR_RIL_SERVICE := true
307
308# GNSS
309# BOARD_USES_EXYNOS_GNSS_DUMMY := true
310
311# Bluetooth defines
312# TODO(b/123695868): Remove the need for this
313BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := \
314 build/make/target/board/mainline_arm64/bluetooth
315
Robin Pengc2b5ca92021-02-23 20:00:28 +0800316#VNDK
317BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
318BOARD_VNDK_VERSION := current
319
320# H/W align restriction of MM IPs
321BOARD_EXYNOS_S10B_FORMAT_ALIGN := 64
322
Robin Pengc2b5ca92021-02-23 20:00:28 +0800323# Boot.img
324BOARD_RAMDISK_USE_LZ4 := true
325#BOARD_KERNEL_BASE := 0x80000000
326#BOARD_KERNEL_PAGESIZE := 2048
327#BOARD_KERNEL_OFFSET := 0x80000
328#BOARD_RAMDISK_OFFSET := 0x4000000
Daniel Mentzc37a73b2021-04-08 20:24:38 -0700329BOARD_BOOT_HEADER_VERSION := 4
Robin Pengc2b5ca92021-02-23 20:00:28 +0800330BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
331
Daniel Mentzc37a73b2021-04-08 20:24:38 -0700332BOARD_VENDOR_RAMDISK_FRAGMENTS := dlkm
333BOARD_VENDOR_RAMDISK_FRAGMENT.dlkm.KERNEL_MODULE_DIRS := top
334
Robin Pengc2b5ca92021-02-23 20:00:28 +0800335# Enable AVB2.0
336BOARD_AVB_ENABLE := true
337BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000
338BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 0x04000000
339BOARD_DTBOIMG_PARTITION_SIZE := 0x01000000
340
Petri Gynther3c5da8c2021-03-07 01:19:46 -0800341# Vendor ramdisk image for kernel development
342BOARD_BUILD_VENDOR_RAMDISK_IMAGE := true
343
Daniel Mentz6a6d8f82021-05-11 22:58:19 -0700344KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)
345KERNEL_MODULES := $(wildcard $(KERNEL_MODULE_DIR)/*.ko)
Robin Pengc2b5ca92021-02-23 20:00:28 +0800346
Robin Peng85e14852022-01-21 18:08:36 +0800347BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.blocklist
348
Robin Pengd790cec2024-01-26 12:50:28 +0000349# Since Pixel 6/6pro doesn't have a system_dlkm partition, the GKI modules are
350# on the vendor_dlkm partition. In order to allow them to load properly, we
351# need to retain the module signature which would normally get stripped during
352# packaging. Disable stripping the vendor_dlkm modules to retain the GKI
353# modules' signature. Note, the pixel kernel builds always strip the modules in
354# favor of saving space via the kleaf property: strip_modules = True.
355BOARD_DO_NOT_STRIP_VENDOR_MODULES := true
356
Daniel Mentzf41ee9f2022-07-21 14:45:34 -0700357# Prebuilt kernel modules that are *not* listed in vendor_boot.modules.load
Qian-Hao Huang32035fe2024-04-23 23:22:27 +0800358BOARD_PREBUILT_VENDOR_RAMDISK_KERNEL_MODULES = fips140.ko
Daniel Mentzf41ee9f2022-07-21 14:45:34 -0700359BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD_EXTRA = $(foreach k,$(BOARD_PREBUILT_VENDOR_RAMDISK_KERNEL_MODULES),$(if $(wildcard $(KERNEL_MODULE_DIR)/$(k)), $(k)))
Daniel Mentzf41ee9f2022-07-21 14:45:34 -0700360
361# Kernel modules that are listed in vendor_boot.modules.load
Jacky Liuacf71382024-08-05 11:59:57 +0800362# Starting from 6.1, use modules.load instead. It lists modules for vendor ramdisk regardless of the partition name.
363ifneq ($(wildcard $(KERNEL_MODULE_DIR)/modules.load),)
364 BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD_FILE := $(strip $(shell cat $(KERNEL_MODULE_DIR)/modules.load))
365else
366 BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD_FILE := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_boot.modules.load))
367endif
Daniel Mentzf41ee9f2022-07-21 14:45:34 -0700368ifndef BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD_FILE
Daniel Mentz6a6d8f82021-05-11 22:58:19 -0700369$(error vendor_boot.modules.load not found or empty)
370endif
Daniel Mentzf41ee9f2022-07-21 14:45:34 -0700371BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD_EXTRA)
372BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD += $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD_FILE)
373BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD_EXTRA))
374BOARD_VENDOR_RAMDISK_KERNEL_MODULES += $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD_FILE)))
Robin Pengc2b5ca92021-02-23 20:00:28 +0800375
Yu Shan79c36032023-01-03 11:29:46 -0800376BOARD_VENDOR_KERNEL_MODULES_LOAD += $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.load))
Daniel Mentz6a6d8f82021-05-11 22:58:19 -0700377ifndef BOARD_VENDOR_KERNEL_MODULES_LOAD
378$(error vendor_dlkm.modules.load not found or empty)
379endif
Yu Shan79c36032023-01-03 11:29:46 -0800380BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES)
Robin Pengc2b5ca92021-02-23 20:00:28 +0800381
382# Using BUILD_COPY_HEADERS
383BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true
384
385include device/google/gs101-sepolicy/gs101-sepolicy.mk
Robin Pengc2b5ca92021-02-23 20:00:28 +0800386
387# Battery options
388BOARD_KERNEL_CMDLINE += at24.write_timeout=100
J. Aviladf9dc5c2021-04-12 18:22:36 +0000389
390# Enable larger logbuf
391BOARD_KERNEL_CMDLINE += log_buf_len=1024K
Jeffrey Carlyle15d83482021-06-15 08:26:29 -0700392
David Brazdilae3c59f2021-10-12 16:09:56 +0000393# Protected VM firmware
David Brazdilae3c59f2021-10-12 16:09:56 +0000394BOARD_PVMFWIMAGE_PARTITION_SIZE := 0x00100000
David Brazdilae3c59f2021-10-12 16:09:56 +0000395
Jeffrey Carlyle489f8192022-08-24 12:23:11 -0700396-include vendor/google_devices/gs-common/proprietary/BoardConfigVendor.mk