1# 2# Copyright (C) 2016 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# 16 17include build/make/target/board/BoardConfigMainlineCommon.mk 18include build/make/target/board/BoardConfigPixelCommon.mk 19 20TARGET_BOARD_PLATFORM := sdm710 21TARGET_BOARD_INFO_FILE := device/google/bonito/board-info.txt 22USES_DEVICE_GOOGLE_B4S4 := true 23 24TARGET_ARCH := arm64 25TARGET_ARCH_VARIANT := armv8-a 26TARGET_CPU_ABI := arm64-v8a 27TARGET_CPU_ABI2 := 28TARGET_CPU_VARIANT := generic 29TARGET_CPU_VARIANT_RUNTIME := cortex-a75 30 31TARGET_2ND_ARCH := arm 32TARGET_2ND_ARCH_VARIANT := armv8-a 33TARGET_2ND_CPU_ABI := armeabi-v7a 34TARGET_2ND_CPU_ABI2 := armeabi 35TARGET_2ND_CPU_VARIANT := generic 36TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a75 37 38TARGET_BOARD_COMMON_PATH := device/google/bonito/sdm710 39 40BUILD_BROKEN_DUP_RULES := true 41 42BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on 43BOARD_KERNEL_CMDLINE += msm_rtb.filter=0x237 44BOARD_KERNEL_CMDLINE += ehci-hcd.park=3 45BOARD_KERNEL_CMDLINE += service_locator.enable=1 46BOARD_KERNEL_CMDLINE += firmware_class.path=/vendor/firmware 47BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem 48# STOPSHIP Bringup hack- no low power 49BOARD_KERNEL_CMDLINE += lpm_levels.sleep_disabled=1 50BOARD_KERNEL_CMDLINE += loop.max_part=7 51BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/7c4000.sdhci 52 53BOARD_KERNEL_BASE := 0x00000000 54BOARD_KERNEL_PAGESIZE := 4096 55ifeq ($(filter-out bonito_kasan sargo_kasan, $(TARGET_PRODUCT)),) 56BOARD_KERNEL_OFFSET := 0x80000 57BOARD_KERNEL_TAGS_OFFSET := 0x02500000 58BOARD_RAMDISK_OFFSET := 0x02700000 59BOARD_MKBOOTIMG_ARGS := --kernel_offset $(BOARD_KERNEL_OFFSET) --ramdisk_offset $(BOARD_RAMDISK_OFFSET) --tags_offset $(BOARD_KERNEL_TAGS_OFFSET) 60else 61BOARD_KERNEL_TAGS_OFFSET := 0x01E00000 62BOARD_RAMDISK_OFFSET := 0x02000000 63endif 64 65BOARD_INCLUDE_DTB_IN_BOOTIMG := true 66BOARD_BOOT_HEADER_VERSION := 2 67BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) 68 69# DTBO partition definitions 70BOARD_PREBUILT_DTBOIMAGE := device/google/bonito-kernel/dtbo.img 71BOARD_DTBOIMG_PARTITION_SIZE := 8388608 72 73TARGET_NO_KERNEL := false 74BOARD_USES_RECOVERY_AS_BOOT := true 75BOARD_USES_METADATA_PARTITION := true 76 77AB_OTA_UPDATER := true 78 79AB_OTA_PARTITIONS += \ 80 boot \ 81 system \ 82 vbmeta \ 83 dtbo \ 84 product \ 85 system_ext 86 87BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 88BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 89 90# Partitions (listed in the file) to be wiped under recovery. 91TARGET_RECOVERY_WIPE := device/google/bonito/recovery.wipe 92TARGET_RECOVERY_FSTAB := device/google/bonito/fstab.hardware 93TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 94TARGET_RECOVERY_UI_LIB := \ 95 librecovery_ui_pixel \ 96 libfstab 97 98# system.img 99BOARD_SYSTEMIMAGE_JOURNAL_SIZE := 0 100 101# persist.img 102BOARD_PERSISTIMAGE_PARTITION_SIZE := 41943040 103BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4 104 105# boot.img 106BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000 107 108BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions 109BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \ 110 system \ 111 vendor \ 112 product \ 113 system_ext 114 115BOARD_SUPER_PARTITION_SIZE := 4072669184 116BOARD_SUPER_PARTITION_METADATA_DEVICE := system 117BOARD_SUPER_PARTITION_BLOCK_DEVICES := system vendor 118BOARD_SUPER_PARTITION_SYSTEM_DEVICE_SIZE := 3267362816 119BOARD_SUPER_PARTITION_VENDOR_DEVICE_SIZE := 805306368 120# Assume 4MB metadata size. 121# TODO(b/117997386): Use correct metadata size. 122BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 4068474880 123 124BOARD_FLASH_BLOCK_SIZE := 131072 125 126BOARD_ROOT_EXTRA_SYMLINKS := /mnt/vendor/persist:/persist 127BOARD_ROOT_EXTRA_SYMLINKS += /vendor/dsp:/dsp 128 129include device/google/bonito-sepolicy/bonito-sepolicy.mk 130 131TARGET_FS_CONFIG_GEN := device/google/bonito/config.fs 132 133QCOM_BOARD_PLATFORMS += sdm710 134BOARD_HAVE_BLUETOOTH_QCOM := true 135BOARD_USES_COMMON_BLUETOOTH_HAL := true 136 137# Camera 138TARGET_USES_AOSP := true 139BOARD_QTI_CAMERA_32BIT_ONLY := false 140CAMERA_DAEMON_NOT_PRESENT := true 141TARGET_USES_ION := true 142TARGET_USES_EASEL := true 143BOARD_USES_EASEL := true 144 145# GPS 146TARGET_NO_RPC := true 147BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default 148BOARD_VENDOR_QCOM_LOC_PDK_FEATURE_SET := true 149 150# RenderScript 151OVERRIDE_RS_DRIVER := libRSDriver_adreno.so 152 153# Sensors 154USE_SENSOR_MULTI_HAL := true 155TARGET_SUPPORT_DIRECT_REPORT := true 156# Enable sensor Version V_2 157USE_SENSOR_HAL_VER := 2.0 158 159# CHRE 160CHRE_DAEMON_ENABLED := true 161CHRE_DAEMON_LOAD_INTO_SENSORSPD := true 162 163# wlan 164BOARD_WLAN_DEVICE := qcwcn 165BOARD_WPA_SUPPLICANT_DRIVER := NL80211 166BOARD_HOSTAPD_DRIVER := NL80211 167WIFI_DRIVER_DEFAULT := qca_cld3 168WPA_SUPPLICANT_VERSION := VER_0_8_X 169BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) 170BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) 171WIFI_HIDL_FEATURE_AWARE := true 172WIFI_HIDL_FEATURE_DUAL_INTERFACE:= true 173WIFI_FEATURE_WIFI_EXT_HAL := true 174WIFI_FEATURE_IMU_DETECTION := false 175WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true 176 177# Audio 178BOARD_USES_ALSA_AUDIO := true 179AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true 180AUDIO_FEATURE_ENABLED_SND_MONITOR := true 181AUDIO_FEATURE_ENABLED_USB_TUNNEL := true 182AUDIO_FEATURE_ENABLED_CIRRUS_SPKR_PROTECTION := true 183BOARD_SUPPORTS_SOUND_TRIGGER := true 184AUDIO_FEATURE_FLICKER_SENSOR_INPUT := true 185SOUND_TRIGGER_FEATURE_LPMA_ENABLED := true 186AUDIO_FEATURE_ENABLED_MAXX_AUDIO := true 187BOARD_SUPPORTS_SOUND_TRIGGER_5514 := true 188AUDIO_FEATURE_ENABLED_24BITS_CAMCORDER := true 189 190# Graphics 191TARGET_USES_GRALLOC1 := true 192TARGET_USES_HWC2 := true 193TARGET_USES_NV21_CAMERA_PREVIEW := true 194 195VSYNC_EVENT_PHASE_OFFSET_NS := 2000000 196SF_VSYNC_EVENT_PHASE_OFFSET_NS := 6000000 197 198# Display 199TARGET_HAS_WIDE_COLOR_DISPLAY := false 200TARGET_USES_DISPLAY_RENDER_INTENTS := true 201TARGET_USES_COLOR_METADATA := true 202TARGET_USES_DRM_PP := true 203 204# Vendor Interface Manifest 205DEVICE_MANIFEST_FILE := device/google/bonito/manifest.xml 206DEVICE_MATRIX_FILE := device/google/bonito/compatibility_matrix.xml 207DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := device/google/bonito/device_framework_matrix.xml 208 209# Userdebug only Vendor Interface Manifest 210ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 211DEVICE_FRAMEWORK_MANIFEST_FILE += device/google/bonito/framework_manifest_userdebug.xml 212DEVICE_MATRIX_FILE += device/google/bonito/compatibility_matrix_userdebug.xml 213endif 214 215ODM_MANIFEST_SKUS := \ 216 G020A \ 217 G020B \ 218 G020C \ 219 G020D \ 220 G020E \ 221 G020F \ 222 G020G \ 223 G020H \ 224 225ODM_MANIFEST_G020A_FILES := device/google/bonito/nfc/manifest_se_SIM1.xml 226ODM_MANIFEST_G020B_FILES := device/google/bonito/nfc/manifest_se_SIM1.xml 227ODM_MANIFEST_G020C_FILES := device/google/bonito/nfc/manifest_se_SIM1.xml 228ODM_MANIFEST_G020D_FILES := device/google/bonito/nfc/manifest_se_eSE1.xml 229ODM_MANIFEST_G020E_FILES := device/google/bonito/nfc/manifest_se_SIM1.xml 230ODM_MANIFEST_G020F_FILES := device/google/bonito/nfc/manifest_se_SIM1.xml 231ODM_MANIFEST_G020G_FILES := device/google/bonito/nfc/manifest_se_SIM1.xml 232ODM_MANIFEST_G020H_FILES := device/google/bonito/nfc/manifest_se_eSE1.xml 233 234# Use mke2fs to create ext4 images 235TARGET_USES_MKE2FS := true 236 237# Kernel modules 238ifeq (,$(filter-out sargo_kasan bonito_kasan, $(TARGET_PRODUCT))) 239BOARD_VENDOR_KERNEL_MODULES += \ 240 $(wildcard device/google/bonito-kernel/kasan/*.ko) 241else ifeq (,$(filter-out sargo_kernel_debug_memory bonito_kernel_debug_memory, $(TARGET_PRODUCT))) 242BOARD_VENDOR_KERNEL_MODULES += \ 243 $(wildcard device/google/bonito-kernel/debug_memory/*.ko) 244else ifeq (,$(filter-out sargo_kernel_debug_memory_accounting bonito_kernel_debug_memory_accounting, $(TARGET_PRODUCT))) 245BOARD_VENDOR_KERNEL_MODULES += \ 246 $(wildcard device/google/bonito-kernel/debug_memory_acounting/*.ko) 247BOARD_KERNEL_CMDLINE += page_owner=on 248else ifeq (,$(filter-out sargo_kernel_debug_locking bonito_kernel_debug_locking, $(TARGET_PRODUCT))) 249BOARD_VENDOR_KERNEL_MODULES += \ 250 $(wildcard device/google/bonito-kernel/debug_locking/*.ko) 251else ifeq (,$(filter-out sargo_kernel_debug_hang bonito_kernel_debug_hang, $(TARGET_PRODUCT))) 252BOARD_VENDOR_KERNEL_MODULES += \ 253 $(wildcard device/google/bonito-kernel/debug_hang/*.ko) 254else ifeq (,$(filter-out sargo_kernel_debug_api bonito_kernel_debug_api, $(TARGET_PRODUCT))) 255BOARD_VENDOR_KERNEL_MODULES += \ 256 $(wildcard device/google/bonito-kernel/debug_api/*.ko) 257else 258BOARD_VENDOR_KERNEL_MODULES += \ 259 $(wildcard device/google/bonito-kernel/*.ko) 260endif 261 262# DTB 263ifeq (,$(filter-out sargo_kasan bonito_kasan, $(TARGET_PRODUCT))) 264BOARD_PREBUILT_DTBIMAGE_DIR := device/google/bonito-kernel/kasan 265else ifeq (,$(filter-out sargo_kernel_debug_memory bonito_kernel_debug_memory, $(TARGET_PRODUCT))) 266BOARD_PREBUILT_DTBIMAGE_DIR := device/google/bonito-kernel/debug_memory 267else ifeq (,$(filter-out sargo_kernel_debug_memory_accounting bonito_kernel_debug_memory_accounting, $(TARGET_PRODUCT))) 268BOARD_PREBUILT_DTBIMAGE_DIR := device/google/bonito-kernel/debug_memory_accounting 269else ifeq (,$(filter-out sargo_kernel_debug_locking bonito_kernel_debug_locking, $(TARGET_PRODUCT))) 270BOARD_PREBUILT_DTBIMAGE_DIR := device/google/bonito-kernel/debug_locking 271else ifeq (,$(filter-out sargo_kernel_debug_hang bonito_kernel_debug_hang, $(TARGET_PRODUCT))) 272BOARD_PREBUILT_DTBIMAGE_DIR := device/google/bonito-kernel/debug_hang 273else ifeq (,$(filter-out sargo_kernel_debug_api bonito_kernel_debug_api, $(TARGET_PRODUCT))) 274BOARD_PREBUILT_DTBIMAGE_DIR := device/google/bonito-kernel/debug_api 275else 276BOARD_PREBUILT_DTBIMAGE_DIR := device/google/bonito-kernel 277endif 278 279# Testing related defines 280BOARD_PERFSETUP_SCRIPT := platform_testing/scripts/perf-setup/b4s4-setup.sh 281 282-include vendor/google_devices/bonito/proprietary/BoardConfigVendor.mk 283