You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
365 lines
13 KiB
365 lines
13 KiB
#
|
|
# Copyright (C) 2016 The Android Open-Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
include build/make/target/board/BoardConfigMainlineCommon.mk
|
|
include build/make/target/board/BoardConfigPixelCommon.mk
|
|
|
|
TARGET_BOARD_PLATFORM := sdm845
|
|
TARGET_BOARD_INFO_FILE := device/google/crosshatch/board-info.txt
|
|
USES_DEVICE_GOOGLE_B1C1 := true
|
|
|
|
TARGET_ARCH := arm64
|
|
TARGET_ARCH_VARIANT := armv8-a
|
|
TARGET_CPU_ABI := arm64-v8a
|
|
TARGET_CPU_ABI2 :=
|
|
TARGET_CPU_VARIANT := generic
|
|
TARGET_CPU_VARIANT_RUNTIME := kryo385
|
|
|
|
TARGET_2ND_ARCH := arm
|
|
TARGET_2ND_ARCH_VARIANT := armv8-a
|
|
TARGET_2ND_CPU_ABI := armeabi-v7a
|
|
TARGET_2ND_CPU_ABI2 := armeabi
|
|
TARGET_2ND_CPU_VARIANT := generic
|
|
TARGET_2ND_CPU_VARIANT_RUNTIME := kryo385
|
|
|
|
TARGET_BOARD_COMMON_PATH := device/google/crosshatch/sdm845
|
|
|
|
BUILD_BROKEN_DUP_RULES := true
|
|
|
|
BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on
|
|
BOARD_KERNEL_CMDLINE += msm_rtb.filter=0x237
|
|
BOARD_KERNEL_CMDLINE += ehci-hcd.park=3
|
|
BOARD_KERNEL_CMDLINE += service_locator.enable=1
|
|
BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem
|
|
BOARD_KERNEL_CMDLINE += lpm_levels.sleep_disabled=1
|
|
BOARD_KERNEL_CMDLINE += usbcore.autosuspend=7
|
|
BOARD_KERNEL_CMDLINE += loop.max_part=7
|
|
BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/1d84000.ufshc
|
|
|
|
BOARD_KERNEL_BASE := 0x00000000
|
|
BOARD_KERNEL_PAGESIZE := 4096
|
|
|
|
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
|
|
BOARD_BOOT_HEADER_VERSION := 2
|
|
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
|
|
|
|
# DTBO partition definitions
|
|
BOARD_PREBUILT_DTBOIMAGE := device/google/crosshatch-kernel/dtbo.img
|
|
BOARD_DTBOIMG_PARTITION_SIZE := 8388608
|
|
|
|
TARGET_NO_KERNEL := false
|
|
BOARD_USES_RECOVERY_AS_BOOT := true
|
|
BOARD_USES_METADATA_PARTITION := true
|
|
|
|
# Board uses A/B OTA.
|
|
AB_OTA_UPDATER := true
|
|
|
|
AB_OTA_PARTITIONS += \
|
|
system \
|
|
dtbo
|
|
|
|
ifneq ($(PRODUCT_BUILD_BOOT_IMAGE),false)
|
|
AB_OTA_PARTITIONS += boot
|
|
endif
|
|
ifneq ($(PRODUCT_BUILD_VBMETA_IMAGE),false)
|
|
AB_OTA_PARTITIONS += vbmeta
|
|
endif
|
|
|
|
# Skip product and system_ext partition for nodap build
|
|
ifeq ($(filter %_nodap,$(TARGET_PRODUCT)),)
|
|
AB_OTA_PARTITIONS += \
|
|
product \
|
|
system_ext
|
|
endif
|
|
|
|
ifneq ($(filter %_mainline,$(TARGET_PRODUCT)),)
|
|
AB_OTA_PARTITIONS += \
|
|
vbmeta_system
|
|
endif
|
|
|
|
# Partitions (listed in the file) to be wiped under recovery.
|
|
TARGET_RECOVERY_WIPE := device/google/crosshatch/recovery.wipe
|
|
ifneq ($(filter %_mainline,$(TARGET_PRODUCT)),)
|
|
TARGET_RECOVERY_FSTAB := device/google/crosshatch/fstab.mainline.hardware
|
|
else
|
|
TARGET_RECOVERY_FSTAB := device/google/crosshatch/fstab.hardware
|
|
endif
|
|
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
|
|
TARGET_RECOVERY_UI_LIB := \
|
|
librecovery_ui_pixel \
|
|
libfstab
|
|
|
|
ifneq ($(filter %_mainline,$(TARGET_PRODUCT)),)
|
|
BOARD_AVB_VBMETA_SYSTEM := system system_ext product
|
|
BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
|
|
BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
|
|
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
|
|
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1
|
|
endif
|
|
|
|
# product.img
|
|
ifneq ($(PRODUCT_NO_PRODUCT_PARTITION), true)
|
|
ifneq ($(PRODUCT_USE_DYNAMIC_PARTITIONS), true)
|
|
BOARD_PRODUCTIMAGE_PARTITION_SIZE := 314572800
|
|
endif
|
|
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
|
|
else
|
|
TARGET_COPY_OUT_PRODUCT := system/product
|
|
endif
|
|
|
|
# system.img
|
|
ifneq ($(PRODUCT_USE_DYNAMIC_PARTITIONS), true)
|
|
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2952790016
|
|
ifeq ($(PRODUCT_NO_PRODUCT_PARTITION), true)
|
|
# Increase inode count to add product modules
|
|
BOARD_SYSTEMIMAGE_EXTFS_INODE_COUNT := 8192
|
|
else
|
|
BOARD_SYSTEMIMAGE_EXTFS_INODE_COUNT := 4096
|
|
endif
|
|
endif
|
|
BOARD_SYSTEMIMAGE_JOURNAL_SIZE := 0
|
|
|
|
# userdata.img
|
|
BOARD_USERDATAIMAGE_PARTITION_SIZE := 10737418240
|
|
BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
|
|
|
|
# persist.img
|
|
BOARD_PERSISTIMAGE_PARTITION_SIZE := 41943040
|
|
BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4
|
|
|
|
# boot.img
|
|
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000
|
|
|
|
# system_ext.img
|
|
ifneq ($(PRODUCT_USE_DYNAMIC_PARTITIONS), true)
|
|
TARGET_COPY_OUT_SYSTEM_EXT := system/system_ext
|
|
else
|
|
BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
|
|
endif
|
|
ifeq ($(PRODUCT_NO_PRODUCT_PARTITION), true)
|
|
# no system_ext partition as well
|
|
TARGET_COPY_OUT_SYSTEM_EXT := system/system_ext
|
|
endif
|
|
|
|
ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS), true)
|
|
BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions
|
|
BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \
|
|
system \
|
|
vendor \
|
|
product \
|
|
system_ext
|
|
|
|
ifeq ($(PRODUCT_RETROFIT_DYNAMIC_PARTITIONS), true)
|
|
# Normal Pixel 3 must retrofit dynamic partitions.
|
|
BOARD_SUPER_PARTITION_SIZE := 4072669184
|
|
BOARD_SUPER_PARTITION_METADATA_DEVICE := system
|
|
BOARD_SUPER_PARTITION_BLOCK_DEVICES := system vendor product
|
|
BOARD_SUPER_PARTITION_SYSTEM_DEVICE_SIZE := 2952790016
|
|
BOARD_SUPER_PARTITION_VENDOR_DEVICE_SIZE := 805306368
|
|
BOARD_SUPER_PARTITION_PRODUCT_DEVICE_SIZE := 314572800
|
|
# Assume 4MB metadata size.
|
|
# TODO(b/117997386): Use correct metadata size.
|
|
BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 4069523456
|
|
else
|
|
# Mainline Pixel 3 has an actual super partition.
|
|
|
|
BOARD_SUPER_PARTITION_SIZE := 12884901888
|
|
# Assume 1MB metadata size.
|
|
# TODO(b/117997386): Use correct metadata size.
|
|
BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 6441402368
|
|
|
|
endif # PRODUCT_RETROFIT_DYNAMIC_PARTITIONS
|
|
endif # PRODUCT_USE_DYNAMIC_PARTITIONS
|
|
|
|
BOARD_FLASH_BLOCK_SIZE := 131072
|
|
|
|
BOARD_ROOT_EXTRA_SYMLINKS := /vendor/dsp:/dsp
|
|
BOARD_ROOT_EXTRA_SYMLINKS += /mnt/vendor/persist:/persist
|
|
|
|
# Add QC specific symlinks for backward compatibility
|
|
# Move the symlinks here instead of removing them
|
|
ifeq ($(PRODUCT_USE_QC_SPECIFIC_SYMLINKS), true)
|
|
BOARD_ROOT_EXTRA_SYMLINKS += /vendor/firmware_mnt:/firmware
|
|
endif
|
|
|
|
include device/google/crosshatch-sepolicy/crosshatch-sepolicy.mk
|
|
|
|
TARGET_FS_CONFIG_GEN := device/google/crosshatch/config.fs
|
|
|
|
QCOM_BOARD_PLATFORMS += sdm845
|
|
BOARD_HAVE_BLUETOOTH_QCOM := true
|
|
BOARD_HAVE_QCOM_FM := false
|
|
BOARD_USES_COMMON_BLUETOOTH_HAL := true
|
|
|
|
# Camera
|
|
TARGET_USES_AOSP := true
|
|
BOARD_QTI_CAMERA_32BIT_ONLY := false
|
|
CAMERA_DAEMON_NOT_PRESENT := true
|
|
TARGET_USES_ION := true
|
|
TARGET_USES_EASEL := true
|
|
BOARD_USES_EASEL := true
|
|
|
|
# GPS
|
|
TARGET_NO_RPC := true
|
|
BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default
|
|
BOARD_VENDOR_QCOM_LOC_PDK_FEATURE_SET := true
|
|
|
|
# RenderScript
|
|
OVERRIDE_RS_DRIVER := libRSDriver_adreno.so
|
|
|
|
# Sensors
|
|
USE_SENSOR_MULTI_HAL := true
|
|
TARGET_SUPPORT_DIRECT_REPORT := true
|
|
# Enable sensor Version V_2
|
|
USE_SENSOR_HAL_VER := 2.0
|
|
|
|
# CHRE
|
|
CHRE_DAEMON_ENABLED := true
|
|
CHRE_DAEMON_LPMA_ENABLED := true
|
|
CHRE_DAEMON_USE_SDSPRPC := true
|
|
|
|
# wlan
|
|
BOARD_WLAN_DEVICE := qcwcn
|
|
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
|
|
BOARD_HOSTAPD_DRIVER := NL80211
|
|
WIFI_DRIVER_DEFAULT := qca_cld3
|
|
WPA_SUPPLICANT_VERSION := VER_0_8_X
|
|
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
|
|
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
|
|
WIFI_HIDL_FEATURE_AWARE := true
|
|
WIFI_HIDL_FEATURE_DUAL_INTERFACE:= true
|
|
WIFI_FEATURE_WIFI_EXT_HAL := true
|
|
WIFI_FEATURE_IMU_DETECTION := false
|
|
WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
|
|
|
|
# Audio
|
|
BOARD_USES_ALSA_AUDIO := true
|
|
AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
|
|
AUDIO_FEATURE_ENABLED_SND_MONITOR := true
|
|
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
|
|
AUDIO_FEATURE_ENABLED_CIRRUS_SPKR_PROTECTION := true
|
|
BOARD_SUPPORTS_SOUND_TRIGGER := true
|
|
AUDIO_FEATURE_FLICKER_SENSOR_INPUT := true
|
|
SOUND_TRIGGER_FEATURE_LPMA_ENABLED := true
|
|
AUDIO_FEATURE_ENABLED_MAXX_AUDIO := true
|
|
AUDIO_FEATURE_ENABLED_24BITS_CAMCORDER := true
|
|
|
|
# Graphics
|
|
TARGET_USES_GRALLOC1 := true
|
|
TARGET_USES_HWC2 := true
|
|
|
|
VSYNC_EVENT_PHASE_OFFSET_NS := 2000000
|
|
SF_VSYNC_EVENT_PHASE_OFFSET_NS := 6000000
|
|
|
|
# Display
|
|
TARGET_HAS_WIDE_COLOR_DISPLAY := true
|
|
TARGET_HAS_HDR_DISPLAY := true
|
|
TARGET_USES_DISPLAY_RENDER_INTENTS := true
|
|
TARGET_USES_COLOR_METADATA := true
|
|
TARGET_USES_DRM_PP := true
|
|
|
|
# Vendor Interface Manifest
|
|
DEVICE_MANIFEST_FILE := device/google/crosshatch/manifest.xml
|
|
DEVICE_MATRIX_FILE := device/google/crosshatch/compatibility_matrix.xml
|
|
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := device/google/crosshatch/device_framework_matrix.xml
|
|
|
|
# Userdebug only Vendor Interface Manifest
|
|
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
|
DEVICE_FRAMEWORK_MANIFEST_FILE += device/google/crosshatch/framework_manifest_userdebug.xml
|
|
DEVICE_MATRIX_FILE += device/google/crosshatch/compatibility_matrix_userdebug.xml
|
|
endif
|
|
|
|
ODM_MANIFEST_SKUS += \
|
|
G013A \
|
|
G013B \
|
|
G013C \
|
|
G013D \
|
|
|
|
ODM_MANIFEST_G013A_FILES := device/google/crosshatch/nfc/manifest_se_SIM1.xml
|
|
ODM_MANIFEST_G013B_FILES := device/google/crosshatch/nfc/manifest_se_eSE1.xml
|
|
ODM_MANIFEST_G013C_FILES := device/google/crosshatch/nfc/manifest_se_SIM1.xml
|
|
ODM_MANIFEST_G013D_FILES := device/google/crosshatch/nfc/manifest_se_eSE1.xml
|
|
|
|
# Use mke2fs to create ext4 images
|
|
TARGET_USES_MKE2FS := true
|
|
|
|
# Kernel modules
|
|
ifeq (,$(filter-out blueline_kasan crosshatch_kasan, $(TARGET_PRODUCT)))
|
|
BOARD_VENDOR_KERNEL_MODULES += \
|
|
$(wildcard device/google/crosshatch-kernel/kasan/*.ko)
|
|
else ifeq (,$(filter-out blueline_kernel_debug_memory crosshatch_kernel_debug_memory, $(TARGET_PRODUCT)))
|
|
BOARD_VENDOR_KERNEL_MODULES += \
|
|
$(wildcard device/google/crosshatch-kernel/debug_memory/*.ko)
|
|
else ifeq (,$(filter-out blueline_kernel_debug_memory_accounting crosshatch_kernel_debug_memory_accounting, $(TARGET_PRODUCT)))
|
|
BOARD_VENDOR_KERNEL_MODULES += \
|
|
$(wildcard device/google/crosshatch-kernel/debug_memory_accounting/*.ko)
|
|
BOARD_KERNEL_CMDLINE += page_owner=on
|
|
else ifeq (,$(filter-out blueline_kernel_debug_locking crosshatch_kernel_debug_locking, $(TARGET_PRODUCT)))
|
|
BOARD_VENDOR_KERNEL_MODULES += \
|
|
$(wildcard device/google/crosshatch-kernel/debug_locking/*.ko)
|
|
else ifeq (,$(filter-out blueline_kernel_debug_hang crosshatch_kernel_debug_hang, $(TARGET_PRODUCT)))
|
|
BOARD_VENDOR_KERNEL_MODULES += \
|
|
$(wildcard device/google/crosshatch-kernel/debug_hang/*.ko)
|
|
else ifeq (,$(filter-out blueline_kernel_debug_api crosshatch_kernel_debug_api, $(TARGET_PRODUCT)))
|
|
BOARD_VENDOR_KERNEL_MODULES += \
|
|
$(wildcard device/google/crosshatch-kernel/debug_api/*.ko)
|
|
else ifneq (,$(TARGET_PREBUILT_KERNEL))
|
|
# If TARGET_PREBUILT_KERNEL is set, check whether there are modules packaged with that kernel
|
|
# image. If so, use them, otherwise fall back to the default directory.
|
|
TARGET_PREBUILT_KERNEL_PREBUILT_VENDOR_KERNEL_MODULES := \
|
|
$(wildcard $(dir $(TARGET_PREBUILT_KERNEL))/*.ko)
|
|
ifneq (,$(TARGET_PREBUILT_KERNEL_PREBUILT_VENDOR_KERNEL_MODULES))
|
|
BOARD_VENDOR_KERNEL_MODULES += $(TARGET_PREBUILT_KERNEL_PREBUILT_VENDOR_KERNEL_MODULES)
|
|
else
|
|
BOARD_VENDOR_KERNEL_MODULES += $(wildcard device/google/crosshatch-kernel/*.ko)
|
|
endif
|
|
# Do NOT delete TARGET_PREBUILT..., it will lead to empty BOARD_VENDOR_KERNEL_MODULES.
|
|
else
|
|
BOARD_VENDOR_KERNEL_MODULES += \
|
|
$(wildcard device/google/crosshatch-kernel/*.ko)
|
|
endif
|
|
|
|
# DTB
|
|
ifeq (,$(filter-out blueline_kasan crosshatch_kasan, $(TARGET_PRODUCT)))
|
|
BOARD_PREBUILT_DTBIMAGE_DIR := device/google/crosshatch-kernel/kasan
|
|
else ifeq (,$(filter-out blueline_kernel_debug_memory crosshatch_kernel_debug_memory, $(TARGET_PRODUCT)))
|
|
BOARD_PREBUILT_DTBIMAGE_DIR := device/google/crosshatch-kernel/debug_memory
|
|
else ifeq (,$(filter-out blueline_kernel_debug_memory_accounting crosshatch_kernel_debug_memory_accounting, $(TARGET_PRODUCT)))
|
|
BOARD_PREBUILT_DTBIMAGE_DIR := device/google/crosshatch-kernel/debug_memory_accounting
|
|
else ifeq (,$(filter-out blueline_kernel_debug_locking crosshatch_kernel_debug_locking, $(TARGET_PRODUCT)))
|
|
BOARD_PREBUILT_DTBIMAGE_DIR := device/google/crosshatch-kernel/debug_locking
|
|
else ifeq (,$(filter-out blueline_kernel_debug_hang crosshatch_kernel_debug_hang, $(TARGET_PRODUCT)))
|
|
BOARD_PREBUILT_DTBIMAGE_DIR := device/google/crosshatch-kernel/debug_hang
|
|
else ifeq (,$(filter-out blueline_kernel_debug_api crosshatch_kernel_debug_api, $(TARGET_PRODUCT)))
|
|
BOARD_PREBUILT_DTBIMAGE_DIR := device/google/crosshatch-kernel/debug_api
|
|
else ifneq (,$(TARGET_PREBUILT_KERNEL))
|
|
# If TARGET_PREBUILT_KERNEL is set, check whether there are dtb files packaged with that kernel
|
|
# image. If so, use them, otherwise fall back to the default directory.
|
|
PREBUILT_PREBUILT_DTBIMAGE_DIR := $(wildcard $(dir $(TARGET_PREBUILT_KERNEL))/*.dtb)
|
|
ifneq (,$(PREBUILT_PREBUILT_DTBIMAGE_DIR)
|
|
BOARD_PREBUILT_DTBIMAGE_DIR := $(dir $(TARGET_PREBUILT_KERNEL))
|
|
else
|
|
BOARD_PREBUILT_DTBIMAGE_DIR += device/google/crosshatch-kernel
|
|
endif
|
|
PREBUILT_VENDOR_KERNEL_MODULES :=
|
|
else
|
|
BOARD_PREBUILT_DTBIMAGE_DIR := device/google/crosshatch-kernel
|
|
endif
|
|
|
|
# Testing related defines
|
|
BOARD_PERFSETUP_SCRIPT := platform_testing/scripts/perf-setup/b1c1-setup.sh
|
|
-include vendor/google_devices/crosshatch/proprietary/BoardConfigVendor.mk
|