# Architecture
BR2_riscv=y
BR2_RISCV_64=y
BR2_riscv_custom=y
BR2_RISCV_ISA_RVM=y
BR2_RISCV_ISA_RVA=y
BR2_RISCV_ISA_RVF=y
BR2_RISCV_ISA_RVD=y
BR2_RISCV_ISA_RVC=y
# BR2_RISCV_USE_MMU is not set
BR2_RISCV_ABI_LP64D=y

# Linux headers same as kernel, a 5.19 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y

# System
BR2_BINFMT_FLAT=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
BR2_GLOBAL_PATCH_DIR="board/canaan/k210-soc/patches"

# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19"
BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210_sdcard"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/linux-sdcard.config"
BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maix_dock"

# Packages
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set

# Filesystem
BR2_INIT_NONE=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_SIZE="64M"
BR2_ROOTFS_OVERLAY="board/canaan/k210-soc/rootfs_overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k210-soc/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/canaan/k210-soc/genimage.cfg"

# Bootloader and related host tools
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.04"
BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/uboot.config"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sipeed_maix_bitm"
BR2_TARGET_UBOOT_FORMAT_BIN=y
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_PYTHON_KFLASH=y
