#@TYPE: Machine
#@NAME: Toradex Colibri VF50/VF61
#@SOC: VF500/VF610
#@DESCRIPTION: Machine configuration for Toradex Colibri VF50/VF61 powered by Freescale Vybrid SoC
#@MAINTAINER: Max Krummenacher <max.krummenacher@toradex.com>

MACHINEOVERRIDES =. "vf:"

include conf/machine/include/imx-base.inc
include conf/machine/include/arm/armv7a/tune-cortexa5.inc

PREFERRED_PROVIDER_virtual/kernel ?= "linux-toradex"

KERNEL_IMAGETYPE = "zImage"

KERNEL_DEVICETREE = " \
    vf500-colibri-eval-v3.dtb \
    vf610-colibri-eval-v3.dtb \
"

KERNEL_DEVICETREE:append:use-nxp-bsp = " \
    vf500-colibri-aster.dtb \
    vf610-colibri-aster.dtb \
"

# U-Boot of our newer release read the Kernel and device tree from static UBI volumes,
# hence no need to deploy the kernel binary in the image itself
RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""

IMX_DEFAULT_BOOTLOADER = "u-boot-toradex"
PREFERRED_PROVIDER_u-boot-default-script ?= "u-boot-script-toradex"
PREFERRED_PROVIDER_virtual/kernel-module-mcc ?= "kernel-module-mcc-toradex"
PREFERRED_PROVIDER_virtual/kernel-module-mcc-dev ?= "kernel-module-mcc-toradex"
PREFERRED_VERSION_mqxboot ?= "1.%"
PREFERRED_VERSION_weston:use-nxp-bsp = ""

# U-Boot NAND binary includes 0x400 padding required for NAND boot
UBOOT_BINARY = "u-boot-nand.imx"
UBOOT_MAKE_TARGET = "u-boot.imx"
UBOOT_MACHINE ?= "colibri_vf_defconfig"
UBOOT_SUFFIX = "imx"

IMAGE_FSTYPES += "tar.xz ubifs"
# wic support
IMAGE_BOOT_FILES:append = " boot.scr-${MACHINE};boot.scr"
WKS_FILE_DEPENDS:append = " u-boot-default-script"
WKS_FILE = "sdimage-bootpart.wks"

# Enable free --space-fixup (-F) by default, this allows DFU updates
MKUBIFS_ARGS = " -c 8112 -e 124KiB -m 2KiB -F"
UBINIZE_ARGS = " -p 128KiB -m 2048 -s 2048"
UBI_VOLNAME = "rootfs"

SERIAL_CONSOLES = "115200;ttyLP0"

MACHINE_FEATURES += "usbgadget usbhost vfat alsa touchscreen"
