smarcimx8qm4g.conf 3.61 KB
#@TYPE: Machine
#@NAME: EMBEDIAN SMARC-iMX8QM COMPUTER ON MODULES with 8GB LPDDR4 MEMORY
#@SOC: i.MX8QM
#@DESCRIPTION: Machine configuration for Embedian SMARC-iMX8QM
#@MAINTAINER: Eric Lee <eric.lee@embedian.com>
#
# http://www.www.embedian.com

MACHINEOVERRIDES =. "mx8:mx8qm:"

require conf/machine/include/imx-base.inc
require conf/machine/include/arm/arch-arm64.inc
require conf/machine/include/smarc-common.inc

MACHINE_FEATURES_append = " pci optee bcm43455 bcm4356 bcm4359 nxp8997 bcm4356 bcm4359"

# Don't include kernels in standard images
RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""

RDEPENDS_${KERNEL_PACKAGE_NAME}-image = ""
UBOOT_MAKE_TARGET = \
    "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '', \
                                                        'u-boot.bin', d)}"
SPL_BINARY = \
    "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'spl/u-boot-spl.bin', \
                                                        '', d)}"
IMX_BOOT_SEEK = "32"

LOADADDR = ""

# We have to disable SERIAL_CONSOLE due to auto-serial-console
SERIAL_CONSOLES = "115200;ttyAMA0"

# we do not want to have getty running on tty1 as we run
# auto-serial-console there
USE_VT = "0"

# Embedian BSP default providers
PREFERRED_PROVIDER_virtual/kernel_smarcimx8qm4g ?= "linux-smarcimx8qm"
PREFERRED_VERSION_linux-smarcimx8qm4g_smarcimx8qm4g = "5.4"

KERNEL_DEVICETREE = " \
        embedian/imx8qm-smarc.dtb \
        embedian/imx8qm-smarc-lvds.dtb \
        embedian/imx8qm-smarc-hdmi.dtb \
        embedian/imx8qm-smarc-dp.dtb \
        embedian/imx8qm-smarc-rpmsg.dtb \
        embedian/imx8qm-smarc-edp.dtb \
"
MACHINE_EXTRA_RRECOMMENDS_append_mx8qm  = " imx-m4-demos"
IMAGE_BOOTFILES_DEPENDS += "imx-m4-demos:do_deploy"
IMAGE_BOOT_FILES += "hdmitxfw.bin hdmirxfw.bin dpfw.bin"

PREFERRED_PROVIDER_u-boot_smarcimx8qm4g = "u-boot-smarcimx8qm"
PREFERRED_PROVIDER_virtual/bootloader_smarcimx8qm4g = "u-boot-smarcimx8qm"

UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "smarcimx8qm_4g_ser3_defconfig,sdcard"
UBOOT_CONFIG[mfgtool] = "smarcimx8qm_4g_ser3_defconfig"

# Set U-Boot DTB
UBOOT_DTB_NAME = "fsl-smarcimx8qm.dtb"

# Set imx-mkimage boot target
IMXBOOT_TARGETS_SD = \
    "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'flash_linux_m4 flash_spl', \
                                                       '' , d)}"
IMXBOOT_TARGETS = \
    "${@bb.utils.contains('UBOOT_CONFIG',         'sd', '${IMXBOOT_TARGETS_SD}', \
                                                       '' , d)}"
BOARD_TYPE = "smarc4g"

IMAGE_BOOTLOADER = "imx-boot"

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

# Packages added to all images (including core-image-minimal)

# 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 \
	firmware-imx-vpu-imx8 \
	firmware-imx-hdmi \
	firmware-imx-xuvi \
	sof-imx \
       	"
#IMAGE_INSTALL_append = " \
#        firmware-imx-sdma \
#        firmware-imx-regulatory \
#        fsl-rc-local \
#        firmware-imx-vpu-imx8 \
#        firmware-imx-hdmi \
#        firmware-imx-xuvi \
#        sof-imx \
#        "

IMAGE_FSTYPES = "tar.bz2"

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

MACHINE_FIRMWARE_append_mx8 = " linux-firmware-ath10k"
MACHINE_FIRMWARE_append_mx8qm  = " firmware-imx-vpu-imx8 firmware-imx-hdmi firmware-imx-xuvi sof-imx"