initial nmhw23 (imx8) bsp layer

To apply: include meta-netmodule-bsp/recipes-bsp/imx8 to local bblayer
Requires: offical meta-freescale layer
linux kernel: use 4.14 kernel exclusive for imx8

BugzID: 57544

Signed-off-by: Ramon Moesching <ramon.moesching@netmodule.com>
This commit is contained in:
Ramon Moesching 2019-06-12 19:08:50 +02:00
parent 2603028f48
commit 8506320178
21 changed files with 603 additions and 35 deletions

View File

@ -5,6 +5,7 @@ BBPATH .= ":${LAYERDIR}"
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend" ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "netmodule-bsp" BBFILE_COLLECTIONS += "netmodule-bsp"
BBFILE_PATTERN_netmodule-bsp = "^${LAYERDIR}/" BBFILE_PATTERN_netmodule-bsp = "^${LAYERDIR}/"
BBFILE_PRIORITY_netmodule-bsp = "10" BBFILE_PRIORITY_netmodule-bsp = "10"

View File

@ -0,0 +1,17 @@
### Machine definition file utilities
def make_dtb_boot_files(d):
# Generate IMAGE_BOOT_FILES entries for device tree files listed in
# KERNEL_DEVICETREE.
# Use only the basename for dtb files:
alldtbs = d.getVar('KERNEL_DEVICETREE')
def transform(dtb):
if not (dtb.endswith('dtb') or dtb.endswith('dtbo')):
# eg: whatever/bcm2708-rpi-b.dtb has:
# DEPLOYDIR file: bcm2708-rpi-b.dtb
# destination: bcm2708-rpi-b.dtb
bb.error("KERNEL_DEVICETREE entry %s is not a .dtb or .dtbo file." % (dtb) )
return os.path.basename(dtb)
return ' '.join([transform(dtb) for dtb in alldtbs.split() if dtb])

View File

@ -0,0 +1,27 @@
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "7"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
YOCTOROOT = "${@os.path.abspath(os.path.join("${TOPDIR}", os.pardir))}"
BBLAYERS ?= " \
${YOCTOROOT}/meta \
${YOCTOROOT}/meta-poky \
${YOCTOROOT}/meta-yocto-bsp \
${YOCTOROOT}/meta-netmodule-bsp \
${YOCTOROOT}/meta-netmodule-bsp/recipes-bsp/imx8 \
${YOCTOROOT}/meta-netmodule-distro \
${YOCTOROOT}/meta-openembedded/meta-python \
${YOCTOROOT}/meta-openembedded/meta-oe \
${YOCTOROOT}/meta-openembedded/meta-networking \
${YOCTOROOT}/meta-openembedded/meta-filesystems \
${YOCTOROOT}/meta-updater \
${YOCTOROOT}/meta-freescale\
"
BBLAYERS_NON_REMOVABLE ?= " \
${YOCTOROOT}/meta \
${YOCTOROOT}/meta-yocto \
"

View File

@ -0,0 +1,22 @@
# Layer configuration for meta-imx8bsp layer
# Copyright 2012 Intel Corporation
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have various recipe-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/*/*.bb ${LAYERDIR}/*/*.bbappend"
BBFILE_COLLECTIONS += "imx8bsp"
BBFILE_PATTERN_imx8bsp := "^${LAYERDIR}/"
BBFILE_PRIORITY_imx8bsp = "11"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_imx8bsp = "1"
LAYERDEPENDS_imx8bsp = "core freescale-layer"
LAYERSERIES_COMPAT_imx8bsp = "warrior"
LICENSE_PATH += "${LAYERDIR}/licenses"

View File

@ -0,0 +1,52 @@
BB_NUMBER_THREADS ?= "4"
PARALLEL_MAKE ?= "-j 4"
PACKAGE_CLASSES ?= "package_rpm"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K \
ABORT,/tmp,10M,1K"
ASSUME_PROVIDED += "libsdl-native"
CONF_VERSION = "1"
IMAGE_FEATURES_append = " debug-tweaks"
INHERIT += "rm_work"
ERROR_QA_remove += "version-going-backwards"
WARN_QA_append += "version-going-backwards"
INHERIT += "buildhistory"
BUILDHISTORY_COMMIT = "1"
BUILDHISTORY_COMMIT_AUTHOR = "Mr Jenkins <ramon.moesching@netmodule.com>"
# Mirror GIT repo in download folders
BB_GENERATE_MIRROR_TARBALLS = "1"
# Add licences file to the rootfs
COPY_LIC_MANIFEST = "1"
COPY_LIC_DIRS = "1"
LICENSE_CREATE_PACKAGE = "1"
INHERIT += "buildstats-summary"
YOCTOROOT = "${@os.path.abspath(os.path.join("${TOPDIR}", os.pardir))}"
SSTATE_DIR ?= "${HOME}/yocto-share/sstate-cache"
DL_DIR ?= "${HOME}/yocto-share/downloads"
BUILDHISTORY_DIR = "${HOME}/yocto-share/buildhistory"
TMPDIR = "${YOCTOROOT}/shared-build/tmp"
ACCEPT_FSL_EULA = "1"
### Environment variables needed to build
#MACHINE = "am335x-nmhw21"
#DISTRO = "netmodule-linux" / "netmodule-linux-ostree"
#OSTREE_BRANCHNAME = "${MACHINE}-vcu"
#OSTREE_OSNAME = "hancock-os"

View File

@ -2,8 +2,11 @@
#@NAME: NetModule HW 23 #@NAME: NetModule HW 23
#@DESCRIPTION: Machine configuration for the nmhw23 mainboard #@DESCRIPTION: Machine configuration for the nmhw23 mainboard
require conf/machine/include/imx-base.inc
require conf/machine/include/arm/arch-arm64.inc require conf/machine/include/arm/arch-arm64.inc
MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:"
IMAGE_FSTYPES += "tar.gz cpio cpio.gz.u-boot" IMAGE_FSTYPES += "tar.gz cpio cpio.gz.u-boot"
IMAGE_CLASSES += "image_types" IMAGE_CLASSES += "image_types"
@ -16,13 +19,19 @@ SOTA_MACHINE = "${MACHINE}"
KERNEL_CLASSES_append = " kernel-fitimage" KERNEL_CLASSES_append = " kernel-fitimage"
KERNEL_IMAGETYPE = "Image" KERNEL_IMAGETYPE = "fitImage"
KERNEL_IMAGETYPES = "fitImage Image" KERNEL_IMAGETYPE_aarch64 = "fitImage"
KERNEL_IMAGETYPE_sota = "fitImage" KERNEL_ALT_IMAGETYPE = "Image"
KERNEL_IMAGETYPES_sota = "fitImage" UBOOT_ENTRYPOINT = "0x80280000"
UBOOT_ENTRYPOINT ?= "0x80020000" #UBOOT_MACHINE = "imx8_nmhw23_defconfig"
UBOOT_MACHINE = "imx8_nmhw23_defconfig"
IMAGE_BOOT_FILES = "flash.bin" IMAGE_BOOT_FILES = "flash.bin"
PREFERRED_PROVIDER_virtual/kernel = "linux-netmodule" PREFERRED_PROVIDER_virtual/kernel = "linux-netmodule"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx8-nmhw23" PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx8-nmhw23"
#PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx"
UBOOT_MAKE_TARGET = ""
#UBOOT_MAKE_TARGET = "u-boot.bin"
UBOOT_SUFFIX = "bin"
UBOOT_CONFIG ??= "flash"
UBOOT_CONFIG[flash] = "imx8_nmhw23_defconfig"

View File

@ -0,0 +1,22 @@
# Copyright (C) 2012-2016 Freescale Semiconductor
# Copyright 2017-2018 NXP
# Copyright (C) 2018 O.S. Systems Software LTDA.
SECTION = "base"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://COPYING;md5=80c0478f4339af024519b3723023fe28"
SRCBRANCH ?= "master"
SRC_URI = " \
${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \
"
#SRC_URI[md5sum] = "0967aa59b3fd8d80fcb98146a9aac91b"
#SRC_URI[sha256sum] = "910fbf866f61185adfd60c1704b2da41030cb175901d06e40402b49f9240bdee"
SRC_URI[md5sum] = "ff7e208761379890261b62f477b441ed"
SRC_URI[sha256sum] = "d6a1d8dc3ce8f2e928bc6b58c7d583126abfd14d8ab61a2d8ebd760a898b5195"
S = "${WORKDIR}/firmware-imx-${PV}"
inherit fsl-eula-unpack

View File

@ -0,0 +1,20 @@
# Copyright 2018 NXP
SUMMARY = "Freescale i.MX firmware for 8X family"
DESCRIPTION = "Freescale i.MX firmware for 8X family"
require firmware-imx-${PV}.inc
inherit deploy
do_install[noexec] = "1"
do_deploy() {
# SECO
install -m 0644 ${S}/firmware/seco/mx8qx-ahab-container.img ${DEPLOYDIR}
}
addtask deploy after do_install before do_build
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
COMPATIBLE_MACHINE = "(mx8x)"

View File

@ -0,0 +1,29 @@
From 4123893a8a4d93362a0a36f72134f75436fee457 Mon Sep 17 00:00:00 2001
From: Tom Hochstein <tom.hochstein@nxp.com>
Date: Thu, 18 Oct 2018 18:03:46 -0500
Subject: [PATCH] Allow BUILD_STRING to be set in .revision file.
Upstream-Status: Pending
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
---
Makefile | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Makefile b/Makefile
index 57c4a90..ec49397 100644
--- a/Makefile
+++ b/Makefile
@@ -97,6 +97,9 @@ endif
# Default build string (git branch and commit)
ifeq (${BUILD_STRING},)
+ BUILD_STRING := $(shell cat .revision 2> /dev/null)
+endif
+ifeq (${BUILD_STRING},)
BUILD_STRING := $(shell git describe --long --always --dirty --tags 2> /dev/null)
endif
VERSION_STRING := v${VERSION_MAJOR}.${VERSION_MINOR}(${BUILD_TYPE}):${BUILD_STRING}
--
2.7.4

View File

@ -0,0 +1,47 @@
# Copyright 2017-2018 NXP
DESCRIPTION = "i.MX ARM Trusted Firmware"
SECTION = "BSP"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
PV = "1.5.0+git${SRCPV}"
SRCBRANCH = "imx_4.14.98_2.0.0_ga"
SRC_URI = "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \
file://0001-Allow-BUILD_STRING-to-be-set-in-.revision-file.patch \
"
SRCREV ?= "${AUTOREV}"
S = "${WORKDIR}/git"
inherit deploy
BOOT_TOOLS = "imx-boot-tools"
PLATFORM ?= "INVALID"
PLATFORM_mx8qm = "imx8qm"
PLATFORM_mx8qxp = "imx8qx"
PLATFORM_mx8mq = "imx8mq"
PLATFORM_mx8mm = "imx8mm"
EXTRA_OEMAKE += " \
CROSS_COMPILE="${TARGET_PREFIX}" \
PLAT=imx8qx \
"
do_compile() {
# Clear LDFLAGS to avoid the option -Wl recognize issue
unset LDFLAGS
oe_runmake bl31
}
do_install[noexec] = "1"
do_deploy() {
install -Dm 0644 ${S}/build/${PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${PLATFORM}p.bin
}
addtask deploy after do_compile
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
COMPATIBLE_MACHINE = "(mx8)"

View File

@ -0,0 +1,179 @@
# Copyright 2017-2018 NXP
require imx-mkimage_git.inc
DESCRIPTION = "Generate Boot Loader for i.MX 8 device"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
SECTION = "BSP"
IMX_EXTRA_FIRMWARE = "firmware-imx-8 imx-sc-firmware"
IMX_EXTRA_FIRMWARE_mx8m = "firmware-imx-8m"
IMX_EXTRA_FIRMWARE_mx8x = "firmware-imx-8x imx-sc-firmware"
DEPENDS += " \
u-boot \
firmware-imx \
${IMX_EXTRA_FIRMWARE} \
imx-atf \
"
DEPENDS_append_mx8m = " dtc-native"
BOOT_NAME = "imx-boot"
PROVIDES = "${BOOT_NAME}"
inherit deploy
# Add CFLAGS with native INCDIR & LIBDIR for imx-mkimage build
CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR_NATIVE} -L ${STAGING_LIBDIR_NATIVE}"
# This package aggregates output deployed by other packages,
# so set the appropriate dependencies
do_compile[depends] += " \
virtual/bootloader:do_deploy \
${@' '.join('%s:do_deploy' % r for r in '${IMX_EXTRA_FIRMWARE}'.split() )} \
imx-atf:do_deploy \
"
SC_FIRMWARE_NAME ?= "scfw_tcm_cfw.bin"
ATF_MACHINE_NAME ?= "bl31-imx8qm.bin"
ATF_MACHINE_NAME_mx8qm = "bl31-imx8qm.bin"
ATF_MACHINE_NAME_mx8qxp = "bl31-imx8qxp.bin"
ATF_MACHINE_NAME_mx8mq = "bl31-imx8mq.bin"
ATF_MACHINE_NAME_mx8mm = "bl31-imx8mm.bin"
ATF_MACHINE_NAME_append = "${@bb.utils.contains('COMBINED_FEATURES', 'optee', '-optee', '', d)}"
DCD_NAME ?= "imx8qm_dcd.cfg.tmp"
DCD_NAME_mx8qm = "imx8qm_dcd.cfg.tmp"
DCD_NAME_mx8qxp = "imx8qx_dcd.cfg.tmp"
UBOOT_NAME = "u-boot-${MACHINE}.bin-${UBOOT_CONFIG}"
BOOT_CONFIG_MACHINE = "${BOOT_NAME}-${MACHINE}-${UBOOT_CONFIG}.bin"
TOOLS_NAME ?= "mkimage_imx8"
SOC_TARGET ?= "INVALID"
SOC_TARGET_mx8qm = "iMX8QM"
SOC_TARGET_mx8qxp = "iMX8QX"
SOC_TARGET_mx8mq = "iMX8M"
SOC_TARGET_mx8mm = "iMX8MM"
IMXBOOT_TARGETS ?= \
"${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \
bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand', \
'flash flash_dcd', d), d)}"
IMXBOOT_TARGETS_mx8qxp = \
"${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \
bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand', \
'flash', d), d)}"
IMXBOOT_TARGETS_mx8qxpa0 = \
"${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi_a0', \
bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand_a0', \
'flash_a0 flash_dcd_a0', d), d)}"
BOOT_STAGING = "${S}/${SOC_TARGET}"
BOOT_STAGING_mx8mm = "${S}/iMX8M"
SOC_FAMILY = "INVALID"
SOC_FAMILY_mx8 = "mx8"
SOC_FAMILY_mx8m = "mx8m"
SOC_FAMILY_mx8x = "mx8x"
compile_mx8m() {
bbnote 8MQ/8MM boot binary build
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
bbnote "Copy ddr_firmware: ${ddr_firmware} from ${DEPLOY_DIR_IMAGE} -> ${BOOT_STAGING} "
cp ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${BOOT_STAGING}
done
cp ${DEPLOY_DIR_IMAGE}/signed_*_imx8m.bin ${BOOT_STAGING}
cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ${BOOT_STAGING}/u-boot-spl.bin
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME} ${BOOT_STAGING}
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin ${BOOT_STAGING}
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/mkimage_uboot ${BOOT_STAGING}
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin
}
compile_mx8() {
bbnote 8QM boot binary build
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin
cp ${DEPLOY_DIR_IMAGE}/mx8qm-ahab-container.img ${BOOT_STAGING}
}
compile_mx8x() {
bbnote 8QX boot binary build
cp ${DEPLOY_DIR_IMAGE}/mx8qx-ahab-container.img ${BOOT_STAGING}
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin
}
do_compile() {
compile_${SOC_FAMILY}
# mkimage for i.MX8
for target in ${IMXBOOT_TARGETS}; do
bbnote "building ${SOC_TARGET} - ${target}"
make SOC=${SOC_TARGET} ${target}
if [ -e "${BOOT_STAGING}/flash.bin" ]; then
cp ${BOOT_STAGING}/flash.bin ${S}/${BOOT_CONFIG_MACHINE}-${target}
dd if=${BOOT_STAGING}/flash.bin of=${S}/${BOOT_CONFIG_MACHINE}-${target}.sd bs=1k seek=32 conv=fsync
fi
done
}
do_install () {
install -d ${D}/boot
for target in ${IMXBOOT_TARGETS}; do
install -m 0644 ${S}/${BOOT_CONFIG_MACHINE}-${target} ${D}/boot/
install -m 0644 ${S}/${BOOT_CONFIG_MACHINE}-${target}.sd ${D}/boot/
done
}
deploy_mx8m() {
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ${DEPLOYDIR}/${BOOT_TOOLS}
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
install -m 0644 ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${DEPLOYDIR}/${BOOT_TOOLS}
done
install -m 0644 ${DEPLOY_DIR_IMAGE}/signed_hdmi*.bin ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${BOOT_STAGING}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${BOOT_STAGING}/mkimage_fit_atf.sh ${DEPLOYDIR}/${BOOT_TOOLS}
}
deploy_mx8() {
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0644 ${BOOT_STAGING}/${DCD_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0644 ${BOOT_STAGING}/mx8qm-ahab-container.img ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
}
deploy_mx8x() {
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
if [ "${MACHINE}" = "imx8qxpa0mek" ]; then
install -m 0644 ${BOOT_STAGING}/${DCD_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
fi
install -m 0644 ${BOOT_STAGING}/mx8qx-ahab-container.img ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
}
do_deploy() {
deploy_${SOC_FAMILY}
# copy the tool mkimage to deploy path and sc fw, dcd and uboot
install -m 0644 ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
# copy makefile (soc.mak) for reference
install -m 0644 ${BOOT_STAGING}/soc.mak ${DEPLOYDIR}/${BOOT_TOOLS}
# copy the generated boot image to deploy path
for target in ${IMXBOOT_TARGETS}; do
# Use first "target" as IMAGE_IMXBOOT_TARGET
if [ "$IMAGE_IMXBOOT_TARGET" = "" ]; then
IMAGE_IMXBOOT_TARGET="$target"
echo "Set boot target as $IMAGE_IMXBOOT_TARGET"
fi
install -m 0644 ${S}/${BOOT_CONFIG_MACHINE}-${target} ${DEPLOYDIR}
install -m 0644 ${S}/${BOOT_CONFIG_MACHINE}-${target}.sd ${DEPLOYDIR}
done
cd ${DEPLOYDIR}
ln -sf ${BOOT_CONFIG_MACHINE}-${IMAGE_IMXBOOT_TARGET} ${BOOT_NAME}
ln -sf ${BOOT_CONFIG_MACHINE}-${IMAGE_IMXBOOT_TARGET}.sd ${BOOT_NAME}.sd
cd -
}
addtask deploy before do_build after do_compile
PACKAGE_ARCH = "${MACHINE_ARCH}"
FILES_${PN} = "/boot"
COMPATIBLE_MACHINE = "(mx8)"

View File

@ -0,0 +1,35 @@
# Copyright (C) 2016 Freescale Semiconductor
# Copyright 2017-2018 NXP
require imx-mkimage_git.inc
DESCRIPTION = "i.MX make image"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
SECTION = "BSP"
inherit native deploy
CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR} -L ${STAGING_LIBDIR}"
do_compile () {
cd ${S}
oe_runmake clean
oe_runmake bin
oe_runmake -C iMX8M -f soc.mak mkimage_imx8
oe_runmake -C iMX8QM -f soc.mak imx8qm_dcd.cfg.tmp
oe_runmake -C iMX8QX -f soc.mak imx8qx_dcd.cfg.tmp
}
do_install () {
cd ${S}
install -d ${D}${bindir}
install -m 0755 iMX8M/mkimage_imx8 ${D}${bindir}/mkimage_imx8m
install -m 0755 mkimage_imx8 ${D}${bindir}/mkimage_imx8
}
do_deploy () {
install -m 0644 ${S}/iMX8QM/imx8qm_dcd.cfg.tmp ${DEPLOYDIR}
install -m 0644 ${S}/iMX8QX/imx8qx_dcd.cfg.tmp ${DEPLOYDIR}
}
addtask deploy before do_build after do_install

View File

@ -0,0 +1,12 @@
# Copyright 2017-2018 NXP
DEPENDS = "zlib-native openssl-native"
SRCBRANCH = "imx_4.14.98_2.0.0_ga"
SRC_URI = "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH}"
SRCREV ?= "${AUTOREV}"
S = "${WORKDIR}/git"
BOOT_TOOLS = "imx-boot-tools"
SYSROOT_DIRS += "/boot"

View File

@ -0,0 +1,2 @@
Custom build
TODO: Integrade https://git.netmodule.intranet/hancock/imx8-scfw as a recipe

Binary file not shown.

View File

@ -0,0 +1,42 @@
# Copyright (C) 2016 Freescale Semiconductor
# Copyright 2017-2018 NXP
DESCRIPTION = "i.MX System Controller Firmware"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=5ab1a30d0cd181e3408077727ea5a2db"
SECTION = "BSP"
inherit fsl-eula-unpack deploy
SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
SRC_URI[md5sum] = "3246a44a242b68fae601561a80d5925c"
SRC_URI[sha256sum] = "00024e0dd332b402df03b62eac9a515fabc903568d0ad7f30fabc7c98b494f15"
SC_FIRMWARE_NAME_mx8qxp = "scfw_tcm_cfw.bin"
symlink_name = "scfw_tcm.bin"
SRC_URI += "file://scfw_tcm_cfw.bin"
SC_FIRMWARE_NAME = "scfw_tcm_cfw.bin"
do_configure_prepend() {
cp ${WORKDIR}/scfw_tcm_cfw.bin ${B}
}
BOOT_TOOLS = "imx-boot-tools"
do_compile[noexec] = "1"
do_install[noexec] = "1"
do_deploy() {
install -Dm 0644 ${S}/${SC_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME}
ln -sf ${SC_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/${symlink_name}
}
addtask deploy after do_install
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "(mx8qm|mx8qxp)"

View File

@ -0,0 +1,20 @@
# Copyright (C) 2016 Freescale Semiconductor
SUMMARY = "A Daemon wait for Freescale/NXP mfgtools host's command"
SECTION = "base"
DEPENDS = "dosfstools-native"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
inherit autotools-brokensep
PV = "0.5.1+git${SRCPV}"
SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https"
SRCREV = "e3fbdfef978abd150d9ea71c4d174daded9c8d33"
S = "${WORKDIR}/git"
FILES_${PN} += "/linuxrc /fat"
COMPATIBLE_MACHINE = "(imx)"

View File

@ -0,0 +1,55 @@
# Copyright (C) 2013-2016 Freescale Semiconductor
# Copyright 2018 (C) O.S. Systems Software LTDA.
# Copyright 2017-2019 NXP
DESCRIPTION = "i.MX U-Boot suppporting i.MX reference boards."
require recipes-bsp/u-boot/u-boot.inc
PROVIDES += "u-boot"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot;protocol=ssh;user=gitea;branch=2018.03/imx/imx8-nmhw23;destsuffix=git"
SRCREV ?= "${AUTOREV}"
S = "${WORKDIR}/git"
inherit fsl-u-boot-localversion
LOCALVERSION ?= "-${SRCBRANCH}"
BOOT_TOOLS = "imx-boot-tools"
do_configure_prepend() {
if [ ! -d ${S}/board/netmodule/common ]; then
mkdir -p ${S}/board/netmodule/
ln -s ${S}/board/freescale/common ${S}/board/netmodule/common
fi
}
do_deploy_append_mx8m() {
# Deploy the mkimage, u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary
if [ -n "${UBOOT_CONFIG}" ]
then
for config in ${UBOOT_MACHINE}; do
i=$(expr $i + 1);
for type in ${UBOOT_CONFIG}; do
j=$(expr $j + 1);
if [ $j -eq $i ]
then
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0777 ${B}/${config}/arch/arm/dts/${UBOOT_DTB_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0777 ${B}/${config}/tools/mkimage ${DEPLOYDIR}/${BOOT_TOOLS}/mkimage_uboot
install -m 0777 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin
fi
done
unset j
done
unset i
fi
}
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"

View File

@ -1,28 +0,0 @@
require u-boot-nm.inc
DEPENDS += "bc-native coreutils-native dtc-native"
# Force machine configuration for this recipe
UBOOT_MACHINE = "imx8_nmhw23_defconfig"
# Be aware github/netmodule git
SRC_URI = "git://git.netmodule.intranet/nmrouter/u-boot;protocol=ssh;user=gitea;branch=2018.03/imx/imx8-nmhw23"
# License
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e"
# Should be updated when a new U-Boot Version is available
SRCREV ?= "${AUTOREV}"
PV = "v2018.03+git${SRCPV}"
UBOOT_BINARY = "flash.bin"
do_compile() {
sh ${B}build-imx8-nmhw23.sh
}
do_deploy_append() {
cp ${S}/flash.bin ${DEPLOYDIR}/flash.bin
cp ${S}/flash.sd ${DEPLOYDIR}/flash.sd
}

5
recipes-kernel/linux/linux-netmodule_git.bb Executable file → Normal file
View File

@ -11,6 +11,11 @@ SRC_URI = "git://git.netmodule.intranet/yoctoproject/linux-netmodule.git;protoco
SRCREV ?= "${AUTOREV}" SRCREV ?= "${AUTOREV}"
PV ?= "4.19.46-${SRCPV}" PV ?= "4.19.46-${SRCPV}"
SRC_URI_imx8-nmhw23 = "git://git.netmodule.intranet/yoctoproject/linux-netmodule.git;protocol=ssh;user=gitea;branch=4.14/develop/nmhw23"
SRCREV_imx8-nmhw23 ?= "${AUTOREV}"
PV_imx8-nmhw23 ?= "4.14.78-${SRCPV}"
LIC_FILES_CHKSUM_imx8-nmhw23 = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
PR = "r0" PR = "r0"
S = "${WORKDIR}/git" S = "${WORKDIR}/git"

View File

@ -1,5 +1,5 @@
# short-description: Create OTA-enabled SD card image # short-description: Create OTA-enabled SD card image
# long-description: Creates a partitioned SD card image with OSTree # long-description: Creates a partitioned SD card image with OSTree
part u-boot --source rawcopy --sourceparams="file=flash.bin" --ondisk mmcblk --no-table --align 32 part u-boot --source rawcopy --sourceparams="file=imx-boot" --ondisk mmcblk --no-table --align 32
part / --source otaimage --ondisk mmcblk --fstype=ext4 --align 4096 part / --source otaimage --ondisk mmcblk --fstype=ext4 --align 4096