#@TYPE: Machine
#@NAME: Toradex Colibri iMX7D/S (NAND)
#@SOC: i.MX 7Dual / i.MX 7Solo
#@DESCRIPTION: Machine configuration for Toradex Colibri iMX7 SOM (NAND)
#@MAINTAINER: Max Krummenacher <max.krummenacher@toradex.com>

MACHINEOVERRIDES =. "mx7:mx7d:colibri-imx7:"

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

PREFERRED_PROVIDER_virtual/kernel:use-nxp-bsp ??= "linux-toradex"
KBUILD_DEFCONFIG:use-nxp-bsp ?= "colibri_imx7_defconfig"
KERNEL_IMAGETYPE = "zImage"

KERNEL_DEVICETREE = " \
    imx7d-colibri-eval-v3.dtb imx7s-colibri-eval-v3.dtb \
    imx7d-colibri-aster.dtb imx7s-colibri-aster.dtb \
"

KERNEL_DEVICETREE:append:use-nxp-bsp = " \
    imx7d-colibri-iris.dtb imx7s-colibri-iris.dtb \
    imx7d-colibri-iris-v2.dtb imx7s-colibri-iris-v2.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"

# 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_imx7_defconfig"
UBOOT_SUFFIX = "imx"

IMAGE_FSTYPES += "tar.xz"
# 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;ttymxc0"

MACHINE_FEATURES += "screen usbgadget usbhost vfat ext2 alsa touchscreen wifi bluetooth 3g"
MACHINE_FIRMWARE:remove = "firmware-imx-epdc"
