smarcimx8mq4g.conf 3.49 KB
#@TYPE: Machine
#@NAME: EMBEDIAN SMARC-iMX8MQ CPU Module with 4GB LPDDR4
#@SOC: i.MX8MQ
#@DESCRIPTION: Machine configuration for Embedian SMARC-iMX8MQ
#@MAINTAINER: Eric Lee <eric.lee@embedian.com>

MACHINEOVERRIDES =. "mx8:mx8m:mx8mq:"

require conf/machine/include/imx-base.inc
require conf/machine/include/tune-cortexa53.inc
require conf/machine/include/smarc-common.inc

MACHINE_FEATURES += " usbgadget vfat ext2 alsa serial pci wifi bluetooth nxp8997"

IMAGE_FEATURES += "package-management"

# Embedian BSP default providers
PREFERRED_PROVIDER_virtual/kernel_smarcimx8mq4g ?= "linux-smarcimx8mq"
PREFERRED_VERSION_linux-smarcimx8mq4g_smarcimx8mq4g = "5.10"

KERNEL_DEVICETREE = " \
                     embedian/imx8mq-smarc.dtb \
                     embedian/imx8mq-smarc-dcss-lvds.dtb \
                     embedian/imx8mq-smarc-lcdif-lvds.dtb \
		     embedian/imx8mq-smarc-hdmi.dtb \
		     embedian/imx8mq-smarc-dp.dtb \
		     embedian/imx8mq-smarc-dual-display.dtb \
		     embedian/imx8mq-smarc-m4.dtb \
		     embedian/imx8mq-smarc-m4-dcss-lvds.dtb \
		     embedian/imx8mq-smarc-m4-lcdif-lvds.dtb \
		     embedian/imx8mq-smarc-m4-hdmi.dtb \
		     embedian/imx8mq-smarc-m4-dp.dtb \
		     embedian/imx8mq-smarc-m4-dual-display.dtb \		     
"

MACHINE_FEATURES_remove_smarcimx8mq4g = "qca6174"
MACHINE_FEATURES_append_smarcimx8mq4g = " bcm43455 bcm4356 bcm4359 nxp8997"
WKS_FILE_DEPENDS_append_smarcimx8mq4g = " imx-m4-demos"
IMAGE_BOOT_FILES += " imx8mq_m4_TCM_hello_world.bin \
		      imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \
		      imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin \
"

PREFERRED_PROVIDER_u-boot_smarcimx8mq4g = "u-boot-smarcimx8mq"
PREFERRED_PROVIDER_virtual/bootloader_smarcimx8mq4g = "u-boot-smarcimx8mq"

UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "smarcimx8mq_4g_ser3_defconfig,sdcard"
SPL_BINARY = "spl/u-boot-spl.bin"

# Set DDR FIRMWARE
DDR_FIRMWARE_NAME = "lpddr4_pmu_train_1d_imem.bin lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_2d_imem.bin lpddr4_pmu_train_2d_dmem.bin"

# Set u-boot DTB
UBOOT_DTB_NAME = "imx8mq-smarc.dtb"

# Set imx-mkimage boot target
IMXBOOT_TARGETS = "flash_evk flash_evk_no_hdmi flash_dp_evk"

# Set Serial console
SERIAL_CONSOLES = "115200;ttymxc0"

IMAGE_BOOTLOADER = "imx-boot"

LOADADDR = ""
UBOOT_SUFFIX = "bin"
UBOOT_MAKE_TARGET = ""
IMX_BOOT_SEEK = "33"

OPTEE_BIN_EXT = "8mq"

MACHINE_EXTRA_RDEPENDS += " \
			   imx-boot \
                           packagegroup-tools-bluetooth \
                           pm-utils \
                           kmod \
                           hdparm \
                           gptfdisk \
                           lftp \
                           vim \
                           ntp \
                           boost \
                           nodejs \
                           networkmanager \
			   imx-gpu-viv \
			   android-tools \
                           "

# eIQ Machine Learning. Note that many of the features require Qt 5. Disable
# this when you build image without QT 5.
IMAGE_INSTALL_append = " \
	packagegroup-imx-ml \
	firmware-imx-sdma \
	firmware-imx-regulatory \
	fsl-rc-local \
        "
#IMAGE_INSTALL_append = " \
#        firmware-imx-sdma \
#        firmware-imx-regulatory \
#        fsl-rc-local \
#        "

#TOOLCHAIN_TARGET_TASK_append += " tensorflow-lite-staticdev tensorflow-lite-dev armnn-dev onnxruntimedev"

IMAGE_FSTYPES = "tar.bz2"

# Ship all kernel modules by default
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"

# Add additional firmware
MACHINE_FIRMWARE_append = " linux-firmware-ath10k"