# Architecture
BR2_aarch64=y
BR2_cortex_a72_a53=y

# Patches
BR2_GLOBAL_PATCH_DIR="board/chromebook/elm/patches/"

# Filesystem
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y

# Linux headers same as kernel (5.9 series)
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_9=y

# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.9"

# Build Kernel with a Custom config.
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/chromebook/elm/linux.config"

# DTS support
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="mediatek/mt8173-elm"

# Package Firmware for WiFi chip.
BR2_PACKAGE_LINUX_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797=y

# Scripts to generate final images.
BR2_ROOTFS_POST_BUILD_SCRIPT="board/chromebook/elm/sign.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/chromebook/mksd.sh"

# Supporting host tools to build / sign FIT Image.
BR2_PACKAGE_HOST_PARTED=y
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
BR2_PACKAGE_HOST_VBOOT_UTILS=y
