1# 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# Include settings for 16k developer option, if enabled 20include device/google/zuma/BoardConfig-16k-common.mk 21 22# HACK : To fix up after bring up multimedia devices. 23TARGET_SOC := zuma 24 25TARGET_SOC_NAME := google 26 27USES_DEVICE_GOOGLE_ZUMA := true 28 29TARGET_ARCH := arm64 30TARGET_ARCH_VARIANT := armv8-2a 31TARGET_CPU_ABI := arm64-v8a 32TARGET_CPU_VARIANT := cortex-a55 33 34BOARD_KERNEL_CMDLINE += earlycon=exynos4210,0x10870000 console=ttySAC0,115200 androidboot.console=ttySAC0 printk.devkmsg=on 35BOARD_KERNEL_CMDLINE += cma_sysfs.experimental=Y 36BOARD_KERNEL_CMDLINE += cgroup_disable=memory 37BOARD_KERNEL_CMDLINE += rcupdate.rcu_expedited=1 rcu_nocbs=all rcutree.enable_rcu_lazy 38BOARD_KERNEL_CMDLINE += swiotlb=1024 39BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem 40BOARD_KERNEL_CMDLINE += sysctl.kernel.sched_pelt_multiplier=4 41 42# Normal (non-_fullmte) builds should disable kasan 43ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT))) 44BOARD_KERNEL_CMDLINE += kasan=off 45endif 46 47# Enable a limited subset of MTE for "normal" (non-_fullmte) eng builds. 48# Don't touch any settings for _fullmte builds. They are set somewhere else. 49ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT))) 50ifeq ($(TARGET_BUILD_VARIANT),eng) 51BOARD_KERNEL_CMDLINE += bootloader.pixel.MTE_FORCE_ON 52ifeq ($(filter memtag_heap,$(SANITIZE_TARGET)),) 53SANITIZE_TARGET := $(strip $(SANITIZE_TARGET) memtag_heap) 54endif 55endif 56endif 57 58BOARD_BOOTCONFIG += androidboot.boot_devices=13200000.ufs 59 60TARGET_NO_BOOTLOADER := true 61TARGET_NO_RADIOIMAGE := true 62BOARD_PREBUILT_BOOTIMAGE := $(wildcard $(TARGET_KERNEL_DIR)/boot.img) 63ifneq (,$(BOARD_PREBUILT_BOOTIMAGE)) 64TARGET_NO_KERNEL := true 65else 66TARGET_NO_KERNEL := false 67endif 68BOARD_USES_GENERIC_KERNEL_IMAGE := true 69BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true 70BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true 71TARGET_RECOVERY_WIPE := device/google/zuma/conf/recovery.wipe 72 73# This is the fstab file that will be included in the recovery image. Note that 74# recovery doesn't care about the encryption settings, so it doesn't matter 75# whether we use the normal or the fips fstab here. 76TARGET_RECOVERY_FSTAB_GENRULE := gen_fstab.zuma-sw-encrypt 77 78TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888 79TARGET_RECOVERY_UI_MARGIN_HEIGHT := 165 80TARGET_RECOVERY_UI_LIB := \ 81 //hardware/google/pixel/recovery:librecovery_ui_pixel \ 82 libfstab 83 84AB_OTA_UPDATER := true 85 86AB_OTA_PARTITIONS += \ 87 system \ 88 system_dlkm \ 89 system_ext \ 90 product \ 91 vbmeta_system 92 93ifneq ($(PRODUCT_BUILD_BOOT_IMAGE),false) 94AB_OTA_PARTITIONS += boot 95endif 96ifneq ($(PRODUCT_BUILD_INIT_BOOT_IMAGE), false) 97AB_OTA_PARTITIONS += init_boot 98endif 99ifneq ($(PRODUCT_BUILD_VENDOR_BOOT_IMAGE),false) 100AB_OTA_PARTITIONS += vendor_boot 101AB_OTA_PARTITIONS += dtbo 102endif 103ifeq ($(PRODUCT_BUILD_VENDOR_KERNEL_BOOT_IMAGE),true) 104AB_OTA_PARTITIONS += vendor_kernel_boot 105endif 106ifneq ($(PRODUCT_BUILD_VBMETA_IMAGE),false) 107AB_OTA_PARTITIONS += vbmeta 108endif 109ifneq ($(PRODUCT_BUILD_PVMFW_IMAGE),false) 110AB_OTA_PARTITIONS += pvmfw 111endif 112 113# EMULATOR common modules 114BOARD_EMULATOR_COMMON_MODULES := liblight 115 116OVERRIDE_RS_DRIVER := libRSDriverArm.so 117BOARD_EGL_CFG := device/google/zuma/conf/egl.cfg 118#BOARD_USES_HGL := true 119USE_OPENGL_RENDERER := true 120NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3 121BOARD_USES_EXYNOS5_COMMON_GRALLOC := true 122BOARD_USES_EXYNOS_GRALLOC_VERSION := 4 123#BOARD_USES_EXYNOS_GRALLOC_VERSION := $(DEVICE_USES_EXYNOS_GRALLOC_VERSION) 124BOARD_USES_ALIGN_RESTRICTION := false 125BOARD_USES_GRALLOC_ION_SYNC := true 126 127# This should be the same value as USE_SWIFTSHADER in device.mk 128BOARD_USES_SWIFTSHADER := false 129 130# Gralloc4 131ifeq ($(BOARD_USES_EXYNOS_GRALLOC_VERSION),4) 132ifeq ($(BOARD_USES_SWIFTSHADER),true) 133TARGET_DISABLE_TRIPLE_BUFFERING := true 134$(call soong_config_set,arm_gralloc,gralloc_arm_no_external_afbc,true) 135$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_basic,false) 136$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_wideblk,false) 137$(call soong_config_set,arm_gralloc,gralloc_init_afbc,false) 138$(call soong_config_set,arm_gralloc,dpu_support_1010102_afbc,false) 139else 140$(call soong_config_set,arm_gralloc,gralloc_arm_no_external_afbc,false) 141$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_basic,true) 142$(call soong_config_set,arm_gralloc,mali_gpu_support_afbc_wideblk,true) 143$(call soong_config_set,arm_gralloc,gralloc_init_afbc,true) 144$(call soong_config_set,arm_gralloc,dpu_support_1010102_afbc,true) 145endif # ifeq ($(BOARD_USES_SWIFTSHADER),true) 146$(call soong_config_set,arm_gralloc,gralloc_ion_sync_on_lock,$(BOARD_USES_GRALLOC_ION_SYNC)) 147endif # ifeq ($(BOARD_USES_EXYNOS_GRALLOC_VERSION),4) 148 149# libVendorGraphicbuffer 150ifeq ($(BOARD_USES_EXYNOS_GRALLOC_VERSION),4) 151$(call soong_config_set,vendorgraphicbuffer,gralloc_version,four) 152else 153$(call soong_config_set,vendorgraphicbuffer,gralloc_version,three) 154endif 155 156#display_unit_test 157ifeq ($(USES_DEVICE_GOOGLE_ZUMA),true) 158$(call soong_config_set,display_unit_test,soc,zuma) 159endif 160 161# Graphics 162#BOARD_USES_EXYNOS_DATASPACE_FEATURE := true 163 164# Enable chain partition for system. 165BOARD_AVB_VBMETA_SYSTEM := system system_dlkm system_ext product 166BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem 167BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048 168BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 169BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1 170 171ifneq ($(PRODUCT_BUILD_PVMFW_IMAGE),false) 172BOARD_AVB_VBMETA_SYSTEM += pvmfw 173endif 174 175# Enable chained vbmeta for boot images 176BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem 177BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA2048 178BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 179BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2 180 181# Enable chained vbmeta for init_boot images 182BOARD_AVB_INIT_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem 183BOARD_AVB_INIT_BOOT_ALGORITHM := SHA256_RSA2048 184BOARD_AVB_INIT_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 185BOARD_AVB_INIT_BOOT_ROLLBACK_INDEX_LOCATION := 4 186 187TARGET_USERIMAGES_USE_EXT4 := true 188TARGET_USERIMAGES_USE_F2FS := true 189BOARD_USERDATAIMAGE_PARTITION_SIZE := 11796480000 190BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs 191PRODUCT_FS_COMPRESSION := 1 192BOARD_FLASH_BLOCK_SIZE := 4096 193BOARD_MOUNT_SDCARD_RW := true 194 195# system.img 196BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4 197 198# product.img 199BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 200TARGET_COPY_OUT_PRODUCT := product 201 202# system_ext.img 203BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 204TARGET_COPY_OUT_SYSTEM_EXT := system_ext 205 206# persist.img 207BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := f2fs 208 209######################## 210# Video Codec 211######################## 212# 1. Exynos C2 213BOARD_USE_CODEC2_HIDL_1_2 := true 214BOARD_USE_CSC_FILTER := false 215BOARD_USE_DEC_SW_CSC := true 216BOARD_USE_ENC_SW_CSC := true 217BOARD_SUPPORT_MFC_ENC_RGB := true 218BOARD_USE_BLOB_ALLOCATOR := false 219BOARD_SUPPORT_MFC_ENC_BT2020 := true 220BOARD_SUPPORT_FLEXIBLE_P010 := true 221BOARD_SUPPORT_MFC_VERSION := 1660 222$(call soong_config_set,video_codec,target_soc_name,$(TARGET_SOC_NAME)) 223$(call soong_config_set_bool,video_codec,board_use_codec2_hidl_1_2,$(BOARD_USE_CODEC2_HIDL_1_2)) 224$(call soong_config_set_bool,video_codec,board_use_csc_filter,$(BOARD_USE_CSC_FILTER)) 225$(call soong_config_set_bool,video_codec,board_use_dec_sw_csc,$(BOARD_USE_DEC_SW_CSC)) 226$(call soong_config_set_bool,video_codec,board_use_enc_sw_csc,$(BOARD_USE_ENC_SW_CSC)) 227$(call soong_config_set_bool,video_codec,board_support_mfc_enc_rgb,$(BOARD_SUPPORT_MFC_ENC_RGB)) 228$(call soong_config_set_bool,video_codec,board_use_blob_allocator,$(BOARD_USE_BLOB_ALLOCATOR)) 229$(call soong_config_set_bool,video_codec,board_support_mfc_enc_bt2020,$(BOARD_SUPPORT_MFC_ENC_BT2020)) 230$(call soong_config_set_bool,video_codec,board_support_flexible_p010,$(BOARD_SUPPORT_FLEXIBLE_P010)) 231$(call soong_config_set_bool,video_codec,board_use_codec2_aidl,$(if $(BOARD_USE_CODEC2_AIDL),true,false)) 232$(call soong_config_set,video_codec,board_support_mfc_version,$(BOARD_SUPPORT_MFC_VERSION)) 233######################## 234 235BOARD_SUPER_PARTITION_SIZE := 8531214336 236BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions 237# Set size to BOARD_SUPER_PARTITION_SIZE - overhead (4MiB) (b/182237294) 238BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 8527020032 239BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \ 240 system \ 241 system_dlkm \ 242 system_ext \ 243 product \ 244 vendor \ 245 vendor_dlkm 246 247# Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB 248BOARD_SUPER_PARTITION_ERROR_LIMIT := 8006926336 249 250# Build a separate system_dlkm partition 251BOARD_USES_SYSTEM_DLKMIMAGE := true 252BOARD_SYSTEM_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4 253TARGET_COPY_OUT_SYSTEM_DLKM := system_dlkm 254 255# Testing related defines 256BOARD_PERFSETUP_SCRIPT := platform_testing/scripts/perf-setup/p23-setup.sh 257 258# 259# AUDIO & VOICE 260# 261BOARD_USES_GENERIC_AUDIO := true 262 263$(call soong_config_set,aoc_audio_func,ext_hidl,true) 264 265ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 266$(call soong_config_set,aoc_audio_func,dump_usecase_data,true) 267$(call soong_config_set,aoc_audio_func,hal_socket_control,true) 268$(call soong_config_set,aoc_audio_func,record_tuning_keys,true) 269endif 270 271ifneq (,$(filter aosp_%,$(TARGET_PRODUCT))) 272$(call soong_config_set,aoc_audio_func,aosp_build,true) 273endif 274 275# Primary AudioHAL Configuration 276#BOARD_USE_COMMON_AUDIOHAL := true 277#BOARD_USE_CALLIOPE_AUDIOHAL := false 278#BOARD_USE_AUDIOHAL := true 279 280# Compress Offload Configuration 281#BOARD_USE_OFFLOAD_AUDIO := true 282#BOARD_USE_OFFLOAD_EFFECT := false 283 284# SoundTriggerHAL Configuration 285#BOARD_USE_SOUNDTRIGGER_HAL := false 286 287# Vibrator HAL actuator model configuration 288$(call soong_config_set,haptics,actuator_model,$(ACTUATOR_MODEL)) 289$(call soong_config_set,haptics,adaptive_haptics_feature,$(ADAPTIVE_HAPTICS_FEATURE)) 290 291# HWComposer 292BOARD_HWC_VERSION := hwc3 293TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK := false 294BOARD_HDMI_INCAPABLE := true 295TARGET_USES_HWC2 := true 296HWC_SUPPORT_RENDER_INTENT := true 297HWC_SUPPORT_COLOR_TRANSFORM := true 298#BOARD_USES_DISPLAYPORT := true 299# if AFBC is enabled, must set ro.vendor.ddk.set.afbc=1 300BOARD_USES_EXYNOS_AFBC_FEATURE := true 301#BOARD_USES_HDRUI_GLES_CONVERSION := true 302 303BOARD_LIBACRYL_DEFAULT_COMPOSITOR := fimg2d_zuma 304BOARD_LIBACRYL_G2D_HDR_PLUGIN := libacryl_hdr_plugin 305$(call soong_config_set,acryl,libacryl_g2d_hdr_plugin,//hardware/google/graphics/zuma/libacryl_plugins:libacryl_hdr_plugin) 306$(call soong_config_set,acryl,libacryl_c_include,hardware/google/graphics/$(TARGET_BOARD_PLATFORM)/libcap) 307 308# HWCServices 309BOARD_USES_HWC_SERVICES := true 310 311# WiFiDisplay 312# BOARD_USES_VIRTUAL_DISPLAY := true 313# BOARD_USES_VDS_EXYNOS_HWC := true 314# BOARD_USES_WIFI_DISPLAY:= true 315# BOARD_USES_EGL_SURFACE_FOR_COMPOSITION_MIXED := true 316# BOARD_USES_VDS_YUV420SPM := true 317# BOARD_USES_VDS_OTHERFORMAT := true 318# BOARD_USES_VDS_DEBUG_FLAG := true 319# BOARD_USES_DISABLE_COMPOSITIONTYPE_GLES := true 320# BOARD_USES_SECURE_ENCODER_ONLY := true 321# BOARD_USES_TSMUX := true 322 323# SCALER 324BOARD_USES_DEFAULT_CSC_HW_SCALER := true 325BOARD_DEFAULT_CSC_HW_SCALER := 4 326BOARD_USES_SCALER_M2M1SHOT := true 327 328# Device Tree 329BOARD_USES_DT := true 330BOARD_INCLUDE_DTB_IN_BOOTIMG := true 331BOARD_PREBUILT_DTBIMAGE_DIR := $(TARGET_KERNEL_DIR) 332BOARD_PREBUILT_DTBOIMAGE := $(BOARD_PREBUILT_DTBIMAGE_DIR)/dtbo.img 333 334# PLATFORM LOG 335TARGET_USES_LOGD := true 336 337# LIBHWJPEG 338#TARGET_USES_UNIVERSAL_LIBHWJPEG := true 339#LIBHWJPEG_HWSCALER_ID := 0 340 341#Keymaster 342#BOARD_USES_KEYMASTER_VER1 := true 343 344#FMP 345#BOARD_USES_FMP_DM_CRYPT := true 346#BOARD_USES_FMP_FSCRYPTO := true 347BOARD_USES_METADATA_PARTITION := true 348 349# SKIA 350#BOARD_USES_SKIA_MULTITHREADING := true 351#BOARD_USES_FIMGAPI_V5X := true 352 353# SECCOMP Policy 354BOARD_SECCOMP_POLICY = device/google/zuma/seccomp_policy 355 356#CURL 357BOARD_USES_CURL := true 358 359# Sensor HAL 360BOARD_USES_EXYNOS_SENSORS_DUMMY := true 361 362# VISION 363# Exynos vision framework (EVF) 364#TARGET_USES_EVF := true 365# HW acceleration 366#TARGET_USES_VPU_KERNEL := true 367#TARGET_USES_SCORE_KERNEL := true 368#TARGET_USES_CL_KERNEL := false 369 370# exynos RIL 371TARGET_EXYNOS_RIL_SOURCE := true 372ENABLE_VENDOR_RIL_SERVICE := true 373 374# GNSS 375# BOARD_USES_EXYNOS_GNSS_DUMMY := true 376 377# Bluetooth defines 378# TODO(b/123695868): Remove the need for this 379BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := \ 380 build/make/target/board/mainline_arm64/bluetooth 381 382#VNDK 383BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true 384BOARD_VNDK_VERSION := current 385 386# H/W align restriction of MM IPs 387BOARD_EXYNOS_S10B_FORMAT_ALIGN := 64 388 389# Boot.img 390BOARD_RAMDISK_USE_LZ4 := true 391#BOARD_KERNEL_BASE := 0x80000000 392#BOARD_KERNEL_PAGESIZE := 2048 393#BOARD_KERNEL_OFFSET := 0x80000 394#BOARD_RAMDISK_OFFSET := 0x4000000 395BOARD_BOOT_HEADER_VERSION := 4 396BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) 397 398BOARD_INIT_BOOT_HEADER_VERSION := 4 399BOARD_MKBOOTIMG_INIT_ARGS += --header_version $(BOARD_INIT_BOOT_HEADER_VERSION) 400 401# Enable AVB2.0 402BOARD_AVB_ENABLE := true 403BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000 404BOARD_INIT_BOOT_IMAGE_PARTITION_SIZE := 0x800000 405BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 0x04000000 406BOARD_DTBOIMG_PARTITION_SIZE := 0x01000000 407 408# Build vendor kernel boot image 409BOARD_VENDOR_KERNEL_BOOTIMAGE_PARTITION_SIZE := 0x04000000 410 411# Vendor ramdisk image for kernel development 412BOARD_BUILD_VENDOR_RAMDISK_IMAGE := true 413 414KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR) 415KERNEL_MODULES := $(wildcard $(KERNEL_MODULE_DIR)/*.ko) 416 417BOARD_SYSTEM_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/system_dlkm.modules.blocklist 418BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.blocklist 419 420# Prebuilt kernel modules that are *not* listed in vendor_kernel_boot.modules.load 421BOARD_PREBUILT_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES = fips140.ko 422BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA = $(foreach k,$(BOARD_PREBUILT_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES),$(if $(wildcard $(KERNEL_MODULE_DIR)/$(k)), $(k))) 423 424# Kernel modules that are listed in vendor_kernel_boot.modules.load 425BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_kernel_boot.modules.load)) 426ifndef BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE 427$(error vendor_kernel_boot.modules.load not found or empty) 428endif 429BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD := $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA) 430BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD += $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE) 431BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA)) 432BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES += $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE))) 433 434BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.load)) 435ifndef BOARD_VENDOR_KERNEL_MODULES_LOAD 436$(error vendor_dlkm.modules.load not found or empty) 437endif 438BOARD_VENDOR_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_KERNEL_MODULES_LOAD))) 439 440BOARD_SYSTEM_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/system_dlkm.modules.load)) 441ifndef BOARD_SYSTEM_KERNEL_MODULES_LOAD 442$(error system_dlkm.modules.load not found or empty) 443endif 444BOARD_SYSTEM_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_SYSTEM_KERNEL_MODULES_LOAD))) 445 446# Using BUILD_COPY_HEADERS 447BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true 448 449include device/google/zuma-sepolicy/zuma-sepolicy.mk 450 451# Battery options 452BOARD_KERNEL_CMDLINE += at24.write_timeout=100 453 454# Enable larger logbuf 455BOARD_KERNEL_CMDLINE += log_buf_len=1024K 456 457# Protected VM firmware 458BOARD_PVMFWIMAGE_PARTITION_SIZE := 0x00100000 459 460# pick up library for cleaning digital car keys on factory reset 461-include vendor/google_devices/gs-common/proprietary/BoardConfigVendor.mk 462