summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/fitimage.bbclass29
-rw-r--r--classes/kconfig.bbclass25
-rw-r--r--classes/wic-helper.bbclass13
-rw-r--r--conf/bblayers.conf.sample13
-rw-r--r--conf/layer.conf2
-rw-r--r--conf/local.conf.sample7
-rw-r--r--conf/machine/include/phyam335x.inc2
-rw-r--r--conf/machine/include/phyimx6.inc8
-rw-r--r--conf/machine/include/phyimx6ul.inc12
-rw-r--r--conf/machine/include/phyimx8.inc19
-rw-r--r--conf/machine/include/phyrk3288.inc19
-rw-r--r--conf/machine/phyboard-mira-imx6-10.conf2
-rw-r--r--conf/machine/phyboard-mira-imx6-11.conf2
-rw-r--r--conf/machine/phyboard-mira-imx6-12.conf2
-rw-r--r--conf/machine/phyboard-mira-imx6-13.conf2
-rw-r--r--conf/machine/phyboard-mira-imx6-14.conf4
-rw-r--r--conf/machine/phyboard-mira-imx6-15.conf2
-rw-r--r--conf/machine/phyboard-mira-imx6-3.conf2
-rw-r--r--conf/machine/phyboard-mira-imx6-4.conf2
-rw-r--r--conf/machine/phyboard-mira-imx6-5.conf2
-rw-r--r--conf/machine/phyboard-mira-imx6-6.conf2
-rw-r--r--conf/machine/phyboard-mira-imx6-7.conf2
-rw-r--r--conf/machine/phyboard-mira-imx6-8.conf4
-rw-r--r--conf/machine/phyboard-mira-imx6-9.conf2
-rw-r--r--conf/machine/phyboard-nunki-imx6-1.conf2
-rw-r--r--conf/machine/phyboard-polaris-imx8m-2.conf43
-rw-r--r--conf/machine/phyboard-polaris-imx8m-3.conf9
-rw-r--r--conf/machine/phyboard-polis-imx8mm-3.conf (renamed from conf/machine/phyboard-polis-imx8mm-2.conf)16
-rw-r--r--conf/machine/phyboard-polis-imx8mn-1.conf (renamed from conf/machine/phyboard-polis-imx8mm-1.conf)23
-rw-r--r--conf/machine/phyboard-segin-imx6ul-2.conf2
-rw-r--r--conf/machine/phyboard-segin-imx6ul-3.conf2
-rw-r--r--conf/machine/phyboard-segin-imx6ul-4.conf2
-rw-r--r--conf/machine/phyboard-segin-imx6ul-5.conf2
-rw-r--r--conf/machine/phyboard-segin-imx6ul-6.conf2
-rw-r--r--conf/machine/phyboard-segin-imx6ul-7.conf2
-rw-r--r--conf/machine/phyboard-segin-imx6ul-8.conf16
-rw-r--r--conf/machine/phycard-imx6-2.conf17
-rw-r--r--conf/machine/phycore-imx8-2.conf6
-rw-r--r--conf/machine/phycore-rk3288-4.conf14
-rw-r--r--conf/machine/phycore-stm32mp1-1.conf46
-rw-r--r--conf/machine/phycore-stm32mp1-2.conf115
-rw-r--r--conf/machine/phycore-stm32mp1-3.conf116
-rw-r--r--conf/machine/phycore-stm32mp1-4.conf116
-rw-r--r--conf/machine/phycore-stm32mp1-5.conf113
-rw-r--r--conf/machine/phycore-stm32mp1-6.conf139
-rw-r--r--conf/machine/phycore-stm32mp1-7.conf138
-rw-r--r--conf/machine/phyflex-imx6-1.conf2
-rw-r--r--conf/machine/phyflex-imx6-10.conf2
-rw-r--r--conf/machine/phyflex-imx6-11.conf2
-rw-r--r--conf/machine/phyflex-imx6-2.conf2
-rw-r--r--conf/machine/phyflex-imx6-3.conf2
-rw-r--r--conf/machine/phyflex-imx6-4.conf2
-rw-r--r--conf/machine/phyflex-imx6-5.conf2
-rw-r--r--conf/machine/phyflex-imx6-6.conf2
-rw-r--r--conf/machine/phyflex-imx6-7.conf2
-rw-r--r--conf/machine/phyflex-imx6-8.conf2
-rw-r--r--conf/machine/phyflex-imx6-9.conf2
-rw-r--r--dynamic-layers/freescale-layer/recipes-kernel/linux/linux-imx_4.14.98-phy6.bb (renamed from recipes-kernel/linux/linux-imx_4.14.98-phy4.bb)9
-rw-r--r--dynamic-layers/freescale-layer/recipes-kernel/linux/linux-imx_5.4.47_2.2.0-phy1.bb (renamed from recipes-kernel/linux/linux-imx_4.19.35_1.0.0-phy1.bb)15
-rw-r--r--dynamic-layers/fsl-bsp-release/recipes-bsp/imx-atf/imx-atf_2.0.bbappend30
-rw-r--r--dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot-phytec/0001-Revert-imx8m-Add-DTB-pre-process-script-to-check-u-b.patch147
-rw-r--r--dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot-phytec/0002-Fix-size-calculation-in-HAB-FIT-shellscripts.patch57
-rw-r--r--dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot-phytec_1.0.bb274
-rw-r--r--dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend15
-rwxr-xr-xdynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-mkimage/0001-Parsing-the-devicetree-name.patch30
-rw-r--r--dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-mkimage_%.bbappend3
-rw-r--r--dynamic-layers/fsl-bsp-release/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_%.bbappend1
-rw-r--r--dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia/0001-videonode-remove-imx-plugin.patch33
-rw-r--r--dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_git.bbappend2
-rw-r--r--recipes-bsp/barebox/barebox-boot-scripts.inc81
-rw-r--r--[-rwxr-xr-x]recipes-bsp/barebox/barebox-hosttools-native_2019.11.0-phy3.bb (renamed from recipes-bsp/barebox/barebox-hosttools-native_2017.12.0-phy6.bb)0
-rw-r--r--[-rwxr-xr-x]recipes-bsp/barebox/barebox-hosttools-native_2020.09.0-phy1.bb (renamed from recipes-bsp/barebox/barebox-hosttools-native_2019.01.0-phy4.bb)0
-rw-r--r--recipes-bsp/barebox/barebox-protectionshield.inc42
-rw-r--r--recipes-bsp/barebox/barebox-secureboot.inc85
-rw-r--r--recipes-bsp/barebox/barebox-targettools_2019.11.0-phy3.bb (renamed from recipes-bsp/barebox/barebox-targettools_2017.12.0-phy6.bb)0
-rw-r--r--recipes-bsp/barebox/barebox-targettools_2020.09.0-phy1.bb (renamed from recipes-bsp/barebox/barebox-targettools_2019.01.0-phy4.bb)0
-rw-r--r--recipes-bsp/barebox/barebox.inc12
-rw-r--r--recipes-bsp/barebox/barebox/0001-scripts-compiler.h-inline-functions-in-headers-must-.patch50
-rw-r--r--recipes-bsp/barebox/barebox/set-password.cfg5
-rw-r--r--recipes-bsp/barebox/barebox_2018.11.0-phy3.bb5
-rw-r--r--recipes-bsp/barebox/barebox_2019.11.0-phy3.bb (renamed from recipes-bsp/barebox/barebox_2017.12.0-phy6.bb)366
-rw-r--r--recipes-bsp/barebox/barebox_2020.09.0-phy1.bb (renamed from recipes-bsp/barebox/barebox_2019.01.0-phy4.bb)147
-rw-r--r--recipes-bsp/barebox/barebox_master.bb3
-rw-r--r--recipes-bsp/firmware/laird-sterling-etsi_3.5.4.2.bb5
-rw-r--r--recipes-bsp/firmwared/firmwared/firmwared.service9
-rw-r--r--recipes-bsp/firmwared/firmwared_git.bb34
-rw-r--r--recipes-bsp/lm_sensors/lmsensors-config/mx8mm/fancontrol13
-rw-r--r--recipes-bsp/lm_sensors/lmsensors-config_1.0.bbappend1
-rw-r--r--recipes-bsp/u-boot/libubootenv/fw_env.config38
-rw-r--r--recipes-bsp/u-boot/libubootenv/mx8m/fw_env.config2
-rw-r--r--recipes-bsp/u-boot/libubootenv_%.bbappend10
-rw-r--r--recipes-bsp/u-boot/u-boot-imx_2018.03-phy4.bb (renamed from recipes-bsp/u-boot/u-boot-imx_2018.03-phy3.bb)6
-rw-r--r--recipes-bsp/u-boot/u-boot-imx_2020.04_2.2.0-phy1.bb (renamed from recipes-bsp/u-boot/u-boot-imx_2019.04_1.0.0-phy1.bb)12
-rw-r--r--recipes-bsp/u-boot/u-boot/0001-FORUPSTREAM-phycore-rk3288-Remove-PMIC-related-stuff.patch95
-rw-r--r--recipes-bsp/u-boot/u-boot_2020.07.bbappend (renamed from recipes-bsp/u-boot/u-boot_2020.01.bbappend)5
-rw-r--r--recipes-devtools/bbu/bbu.bb7
-rw-r--r--recipes-devtools/bbu/bbu/imx/bbu_emmc.sh92
-rw-r--r--recipes-devtools/eeprom-flashtool/phytec-eeprom-flashtool_1.01.02.bb2
-rw-r--r--recipes-devtools/nxp-cst/nxp-cst.inc10
-rw-r--r--recipes-devtools/nxp-cst/nxp-cst_3.3.0.bb22
-rw-r--r--recipes-devtools/nxp-cst/nxp-cst_3.3.1.bb25
-rw-r--r--recipes-devtools/python/python-mako_1.0.7.bb2
-rw-r--r--recipes-devtools/rkeeprom/rkeeprom.bb2
-rwxr-xr-xrecipes-devtools/rkeeprom/rkeeprom/rkeeprom.py2
-rw-r--r--recipes-graphics/libdrm/libdrm_2.4.74.bb48
-rw-r--r--recipes-graphics/mali-t760-libs/files/0001-gbm.h-Add-a-missing-stddef.h-include-for-size_t.patch12
-rw-r--r--recipes-graphics/mali-t760-libs/mali-t760-libs_r12p0-04rel0.bb65
-rw-r--r--recipes-graphics/mali-t760-libs/mali-t760-libs_r9p0-05rel0.bb58
-rw-r--r--recipes-graphics/mesa/mesa_%.bbappend11
-rw-r--r--recipes-graphics/wayland/wayland_%.bbappend7
-rw-r--r--recipes-graphics/wayland/weston_%.bbappend4
-rw-r--r--recipes-kernel/linux/linux-common.inc11
-rw-r--r--recipes-kernel/linux/linux-common/0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch60
-rw-r--r--recipes-kernel/linux/linux-imx_4.1.15-phy3.bb2
-rw-r--r--recipes-kernel/linux/linux-mainline_4.14.184-phy1.bb (renamed from recipes-kernel/linux/linux-mainline_4.14.93-phy2.bb)5
-rw-r--r--recipes-kernel/linux/linux-mainline_4.14.78-phy4.bb3
-rw-r--r--recipes-kernel/linux/linux-mainline_4.14.78-rt47-phy4.bb2
-rw-r--r--recipes-kernel/linux/linux-mainline_4.19.100-phy3.bb (renamed from recipes-kernel/linux/linux-mainline_4.14.134-phy2.bb)6
-rw-r--r--recipes-kernel/linux/linux-mainline_4.19.y-phy.bb28
-rw-r--r--recipes-kernel/linux/linux-mainline_4.9.98-phy6.bb33
-rw-r--r--recipes-kernel/linux/linux-mainline_4.9.98-rt76-phy1.bb30
-rw-r--r--recipes-kernel/linux/linux-vanilla_5.7.11.bb (renamed from recipes-kernel/linux/linux-vanilla_5.0.5.bb)8
-rw-r--r--recipes-multimedia/gstreamer-rockchip/gstreamer1.0-rockchip.inc41
-rw-r--r--recipes-multimedia/gstreamer-rockchip/gstreamer1.0-rockchip_20170607.bb9
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugin-bayer2rgb-neon_0.4.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugin-bayer2rgb-neon_0.3.bb)4
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.2.bb2
-rw-r--r--recipes-multimedia/rockchip-mpp/rockchip-mpp.inc23
-rw-r--r--recipes-multimedia/rockchip-mpp/rockchip-mpp_20170428.bb11
-rwxr-xr-xscripts/copy_file_by_priority.py2
-rwxr-xr-xscripts/init15
-rwxr-xr-xscripts/init_bblayers.py12
-rw-r--r--scripts/lib/wic/canned-wks/am335x-update-sdimage.wks5
-rw-r--r--scripts/lib/wic/canned-wks/imx6-rauc-sdimage.wks10
-rw-r--r--scripts/lib/wic/canned-wks/imx6-sdimage.wks2
-rw-r--r--scripts/lib/wic/canned-wks/imx6-update-sdimage.wks13
-rw-r--r--scripts/lib/wic/canned-wks/imx8-sdimage.wks (renamed from scripts/lib/wic/canned-wks/imx8-sdimage.wks.in)0
-rw-r--r--scripts/lib/wic/canned-wks/imx8m-rauc-sdimage.wks10
-rw-r--r--scripts/lib/wic/canned-wks/imx8m-sdimage.wks (renamed from scripts/lib/wic/canned-wks/imx8m-sdimage.wks.in)0
-rw-r--r--scripts/lib/wic/canned-wks/imx8mn-sdimage.wks10
-rw-r--r--scripts/lib/wic/canned-wks/rauc-sdimage.wks.inc4
-rw-r--r--scripts/lib/wic/canned-wks/rk3288-sdimage.wks2
-rw-r--r--scripts/lib/wic/canned-wks/rk3288-update-sdimage.wks5
-rw-r--r--scripts/phylib.py10
143 files changed, 2331 insertions, 1200 deletions
diff --git a/classes/fitimage.bbclass b/classes/fitimage.bbclass
index e034fd9..24e5ab8 100644
--- a/classes/fitimage.bbclass
+++ b/classes/fitimage.bbclass
@@ -37,14 +37,16 @@ deltask do_package_write_ipk
deltask do_package_write_deb
deltask do_package_write_rpm
-#DEPENDS = "u-boot-mkimage-fitcheck-native dtc-native"
-DEPENDS = "u-boot-mkimage-native dtc-native"
+DEPENDS = "phytec-dev-ca-native u-boot-mkimage-native dtc-native"
FITIMAGE_HASH ??= "sha1"
FITIMAGE_LOADADDRESS ??= "0x8000"
FITIMAGE_ENTRYPOINT ??= "0x8000"
FITIMAGE_RD_LOADADDRESS ??= ""
FITIMAGE_RD_ENTRYPOINT ??= ""
+FITIMAGE_SIGN ??= "false"
+FITIMAGE_SIGN[type] = "boolean"
+
# Create dependency list from images
python __anonymous() {
for slot in (d.getVar('FITIMAGE_SLOTS') or "").split():
@@ -103,6 +105,7 @@ def fitimage_emit_section_kernel(d,fd,imgpath,imgsource,imgcomp):
ENTRYPOINT = d.expand("${FITIMAGE_ENTRYPOINT}")
LOADADDRESS = d.expand("${FITIMAGE_LOADADDRESS}")
arch = d.getVar("TARGET_ARCH", True)
+ arch = "arm64" if arch == "aarch64" else arch
fd.write('\t\t' + 'kernel@%s {\n' % kernelcount)
fd.write('\t\t\t' + 'description = "Linux kernel";\n')
fd.write('\t\t\t' + 'data = /incbin/("%s/%s");\n' % (imgpath,imgsource))
@@ -123,6 +126,7 @@ def fitimage_emit_section_kernel(d,fd,imgpath,imgsource,imgcomp):
def fitimage_emit_section_dtb(d,fd,dtb_file,dtb_path):
dtb_csum = d.expand("${FITIMAGE_HASH}")
arch = d.getVar("TARGET_ARCH", True)
+ arch = "arm64" if arch == "aarch64" else arch
fd.write('\t\t' + 'fdt@%s {\n' % dtb_file)
fd.write('\t\t\t' + 'description = "Flattened Device Tree blob";\n')
fd.write('\t\t\t' + 'data = /incbin/("%s/%s");\n' % (dtb_path, dtb_file))
@@ -141,9 +145,10 @@ def fitimage_emit_section_ramdisk(d,fd,img_file,img_path):
ramdisk_count = "1"
ramdisk_csum = d.expand("${FITIMAGE_HASH}")
arch = d.getVar("TARGET_ARCH", True)
+ arch = "arm64" if arch == "aarch64" else arch
ramdisk_ctype = "none"
- ramdisk_loadline = ""
- ramdisk_entryline = ""
+ ramdisk_loadline = "load = <00000000>;"
+ ramdisk_entryline = "entry = <00000000>;"
if len(d.expand("${FITIMAGE_RD_ENTRYPOINT}")) > 0:
ramdisk_loadline = "load = <%s>;" % d.expand("${FITIMAGE_RD_ENTRYPOINT}")
@@ -225,7 +230,7 @@ def fitimage_emit_section_config(d,fd,dtb,kernelcount,ramdiskcount,setupcount,i)
fd.write('\t\t\t\t' + 'algo = "%s,%s";\n' % (conf_csum, conf_encrypt))
fd.write('\t\t\t\t' + 'key-name-hint = "%s";\n' % conf_sign_keyname[0])
fd.write('\t\t\t\t' + '%s\n' % sign_line)
- fd.write('\t\t\t\t' + 'signer = "%s";\n' % d.getVar("FITIMAGE_SIGNER", True))
+ fd.write('\t\t\t\t' + 'signer-name = "%s";\n' % d.getVar("FITIMAGE_SIGNER", True))
fd.write('\t\t\t\t' + 'signer-version = "%s";\n' % d.getVar("FITIMAGE_SIGNER_VERSION", True))
fd.write('\t\t\t' + '};\n')
else:
@@ -318,10 +323,6 @@ do_fitimagebundle () {
-k "${path_key}" \
-K "${B}/pubkey.dtb" \
-r "${B}/fitImage"
-
- #fit_check_sign \
- # -f "${B}/fitImage" \
- # -k "${B}/pubkey.dtb"
else
bberror "${FITIMAGE_SIGN_KEY_PATH} Key File do not exist for signing FIT Image"
fi
@@ -337,19 +338,19 @@ addtask fitimagebundle after do_configure before do_build
inherit deploy
-do_deploy[vardepsexclude] += "DATETIME"
+do_deploy[vardepsexclude] += "IMAGE_VERSION_SUFFIX"
do_deploy() {
# Update deploy directory
install -d ${DEPLOYDIR}
- its_base_name="${PN}-${PV}-${PR}-${MACHINE}-${DATETIME}"
+ its_base_name="${PN}-${PV}-${PR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
its_symlink_name="${PN}-${MACHINE}"
printf 'Copying fit-image.its source file...'
install -m 0644 ${S}/manifest.its ${DEPLOYDIR}/${its_base_name}.its
- linux_bin_base_name="${PN}-${PV}-${PR}-${MACHINE}-${DATETIME}"
- linux_bin_symlink_name="${PN}-${MACHINE}"
- printf 'Copying linux.bin file...'
+ linux_bin_base_name="${PN}-${PV}-${PR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
+ linux_bin_symlink_name="fitImage"
+ printf 'Copying fitImage file...'
install -m 0644 ${B}/fitImage ${DEPLOYDIR}/${linux_bin_base_name}.fitimg
cd ${DEPLOYDIR}
diff --git a/classes/kconfig.bbclass b/classes/kconfig.bbclass
index 8df3554..617f238 100644
--- a/classes/kconfig.bbclass
+++ b/classes/kconfig.bbclass
@@ -36,6 +36,15 @@ def find_cfgs(d):
sources_list.append(os.path.join(d.getVar("WORKDIR", True), (base + ext)))
return sources_list
+def get_absolut_defconfigs(d):
+ defconfigs=d.getVar("INTREE_DEFCONFIG", True).split()
+ arch = d.getVar('ARCH', True)
+ absdefconfs=[]
+ for defconfig in defconfigs:
+ absdefconfs.append(os.path.join(d.getVar("S", True),
+ "arch", arch, "configs", defconfig))
+ return absdefconfs
+
kconfig_do_configure() {
# fixes extra + in /lib/modules/2.6.37+
# $ scripts/setlocalversion . => +
@@ -54,8 +63,15 @@ kconfig_do_configure() {
cp -f "$defconfig" "$config"
oe_runmake -C ${S} ${CONFIG_COMMAND}
elif [ ! -z "${INTREE_DEFCONFIG}" ]; then
- bbnote "Using intree defconfig: ${INTREE_DEFCONFIG}"
- oe_runmake -C ${S} ${INTREE_DEFCONFIG}
+ if [ 1 -eq ${@len(d.getVar("INTREE_DEFCONFIG", True).split())} ]; then
+ bbnote "Using intree defconfig: ${INTREE_DEFCONFIG}"
+ oe_runmake -C ${S} ${INTREE_DEFCONFIG}
+ else
+ bbnote "Merge intree defconfigs: ${INTREE_DEFCONFIG}"
+ defcfgs="${@' '.join(get_absolut_defconfigs(d))}"
+ ${S}/scripts/kconfig/merge_config.sh -m -O "${B}" $defcfgs
+ oe_runmake -C ${S} ${CONFIG_COMMAND}
+ fi
else
bbwarn "No defconfig provided. This will propably lead to errors."
fi
@@ -63,10 +79,7 @@ kconfig_do_configure() {
fragments="${@' '.join(find_cfgs(d))}"
if test ! -z "$fragments"; then
bbnote "combining kconfig fragments into .config"
- # Change directory to WORKDIR, because the fragments are located there
- # and filenames in variable $fragments are not absolute.
- # Use subshell to avoid changing the work directory of current shell.
- (cd "${WORKDIR}" && ${S}/scripts/kconfig/merge_config.sh -m -O "${B}" "$config" $fragments)
+ ${S}/scripts/kconfig/merge_config.sh -m -O "${B}" "$config" $fragments
fi
if [ ! -z "${LOCALVERSION}" ]; then
diff --git a/classes/wic-helper.bbclass b/classes/wic-helper.bbclass
index 2e50d24..abe908e 100644
--- a/classes/wic-helper.bbclass
+++ b/classes/wic-helper.bbclass
@@ -1,16 +1,7 @@
# This is a helper class for creating patitioned images with WIC for sd cards and emmc
+BAREBOX_BINARY ??= "barebox.bin"
-def parse_dtbs(d):
- import re
- kdt=re.sub(r'\b[\w-]+\/', '', d.getVar('KERNEL_DEVICETREE', ''))
- dtbs=""
- dtbcount=1
- for DTB in kdt.split():
- if dtbcount == 1:
- dtbs += DTB+";oftree"
- dtbs += " "+DTB
- dtbcount += 1
- return dtbs
+WICVARS_append = " BAREBOX_BINARY"
do_image_wic[depends] += "\
dosfstools-native:do_populate_sysroot \
diff --git a/conf/bblayers.conf.sample b/conf/bblayers.conf.sample
index d8f4418..045ed1a 100644
--- a/conf/bblayers.conf.sample
+++ b/conf/bblayers.conf.sample
@@ -6,12 +6,7 @@ BBPATH = "${TOPDIR}"
BBFILES ?= ""
OEROOT := "##OEROOT##"
-BBLAYERS ?= " \
- ${OEROOT}/meta \
- ${OEROOT}/meta-poky \
- ${OEROOT}/../meta-openembedded/meta-oe \
- ${OEROOT}/../meta-openembedded/meta-networking \
- ${OEROOT}/../meta-openembedded/meta-python \
- ${OEROOT}/../meta-openembedded/meta-multimedia \
- ${OEROOT}/../meta-openembedded/meta-filesystems \
- "
+
+# In our BSPs active layers are defined by the manifest.xml for all BSPs. The
+# bblayers.conf gets created by the init_bblayers.py script.
+BBLAYERS ?= ""
diff --git a/conf/layer.conf b/conf/layer.conf
index 9268cc5..15fa9c2 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -11,7 +11,7 @@ BBFILE_PATTERN_phytec = "^${LAYERDIR}/"
BBFILE_PRIORITY_phytec = "20"
LAYERVERSION_phytec = "2"
LAYERDEPENDS_phytec = "core"
-LAYERSERIES_COMPAT_phytec = "zeus"
+LAYERSERIES_COMPAT_phytec = "dunfell"
# Additional license directories.
LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/conf/local.conf.sample b/conf/local.conf.sample
index 7c07caf..67314dd 100644
--- a/conf/local.conf.sample
+++ b/conf/local.conf.sample
@@ -60,8 +60,15 @@ BB_DISKMON_DIRS ??= "\
# This variable is ordering dependend.
#IMAGE_FSTYPES = "tar.gz wic ubifs emmc"
+# Select a preconfigured A/B system setup for SD/eMMC images.
+#WKS_FILES_mx6 = "imx6-rauc-sdimage.wks"
+#WKS_FILES_mx6ul = "imx6-rauc-sdimage.wks"
+#WKS_FILES_mx8m = "imx8m-rauc-sdimage.wks"
+
# Turn on debugging options of the kernel
DEBUG_BUILD_pn-linux-mainline = "1"
+# Turn on debugging options of the imx kernel
+DEBUG_BUILD_pn-linux-imx = "1"
# Turn on debugging options of the barebox
DEBUG_BUILD_pn-barebox = "1"
diff --git a/conf/machine/include/phyam335x.inc b/conf/machine/include/phyam335x.inc
index 32f0996..b2d407c 100644
--- a/conf/machine/include/phyam335x.inc
+++ b/conf/machine/include/phyam335x.inc
@@ -57,7 +57,7 @@ QT_QPA_DEFAULT_PLATFORM ?= "${@bb.utils.contains('MACHINE_FEATURES', 'sgx', 'egl
#WIC
IMAGE_CLASSES += "wic-helper"
IMAGE_CLASSES += "wic-am335x-helper"
-IMAGE_BOOT_FILES = "barebox.bin MLO zImage ${@parse_dtbs(d)}"
+IMAGE_BOOT_FILES = "barebox.bin MLO zImage oftree ${KERNEL_DEVICETREE}"
#copy ubifs image to sdcard
IMAGE_BOOT_FILES += "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.ubifs;${IMAGE_LINK_NAME}.ubifs"
IMAGE_TYPEDEP_wic ??= "ubifs"
diff --git a/conf/machine/include/phyimx6.inc b/conf/machine/include/phyimx6.inc
index 5a1e500..302983e 100644
--- a/conf/machine/include/phyimx6.inc
+++ b/conf/machine/include/phyimx6.inc
@@ -7,7 +7,7 @@ SOC_FAMILY = "imx:mx6"
#Bootloader
PREFERRED_PROVIDER_virtual/bootloader ?= "barebox"
-# Kernel
+# Kernel
PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline"
KERNEL_IMAGETYPE ?= "zImage"
# Install modules in initramfs and roofs
@@ -27,6 +27,7 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
# Ship kernel modules
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
+MACHINE_EXTRA_RDEPENDS = "firmware-imx-sdma-imx6q"
SERIAL_CONSOLES = "115200;ttymxc0"
@@ -35,7 +36,10 @@ MACHINE_FEATURES = "apm usbgadget usbhost vfat"
#WIC
IMAGE_CLASSES += "wic-helper"
-IMAGE_BOOT_FILES = "zImage ${@parse_dtbs(d)}"
+IMAGE_BOOT_FILES = "zImage oftree ${KERNEL_DEVICETREE}"
+IMAGE_BOOT_FILES_secureboot = "fitImage.fitimg"
+BAREBOX_BINARY = "barebox.bin"
+BAREBOX_BINARY_secureboot = "barebox-s.bin"
WKS_FILES_mx6 ?= "imx6-sdimage.wks"
# default images to build
diff --git a/conf/machine/include/phyimx6ul.inc b/conf/machine/include/phyimx6ul.inc
index 838bac4..99d21b8 100644
--- a/conf/machine/include/phyimx6ul.inc
+++ b/conf/machine/include/phyimx6ul.inc
@@ -14,13 +14,18 @@ PACKAGE_EXTRA_ARCHS_append = " ${MACHINE_SOCARCH}"
#Bootloader
PREFERRED_PROVIDER_virtual/bootloader ?= "barebox"
+
# Kernel
PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline"
KERNEL_IMAGETYPE ?= "zImage"
+
# Install modules in initramfs and roofs
PACKAGE_INSTALL_append = " kernel-modules"
+
# Ship kernel modules
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
+MACHINE_EXTRA_RDEPENDS = "firmware-imx-sdma-imx6q"
+
# dont install kernelimage to rootfs
RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
@@ -40,7 +45,10 @@ UBINIZE_ARGS = "-m 2048 -p 128KiB -s 2048 -O 2048"
#WIC
IMAGE_CLASSES += "wic-helper"
-IMAGE_BOOT_FILES = "zImage ${@parse_dtbs(d)}"
+IMAGE_BOOT_FILES = "zImage oftree ${KERNEL_DEVICETREE}"
+IMAGE_BOOT_FILES_secureboot = "fitImage.fitimg"
+BAREBOX_BINARY = "barebox.bin"
+BAREBOX_BINARY_secureboot = "barebox-s.bin"
WKS_FILES_mx6ul ?= "imx6-sdimage.wks"
# default images to build
@@ -49,7 +57,7 @@ IMAGE_FSTYPES ?= "tar.gz wic ubifs"
# Avoid pulling package 'gstreamer1.0-plugins-bad-meta' into the image
# 'core-image-sato', because the recipe gstreamer1.0-plugins-bad depends on
# virtual/libgles2.
-RRECOMMENDS_gst-player-bin_remove_pn-gst-player = "gstreamer1.0-plugins-bad-meta"
+RRECOMMENDS_gst-examples-bin_remove_pn-gst-examples = "gstreamer1.0-plugins-bad-meta"
# XServer
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
diff --git a/conf/machine/include/phyimx8.inc b/conf/machine/include/phyimx8.inc
index b86d839..1cc581f 100644
--- a/conf/machine/include/phyimx8.inc
+++ b/conf/machine/include/phyimx8.inc
@@ -1,14 +1,19 @@
-# Common settings for phytecs imx8 boards
+# Common settings for PHYTEC's i.MX8 boards
PREFERRED_PROVIDER_virtual/bootloader= "u-boot-imx"
+PREFERRED_PROVIDER_imx-boot="imx-boot-phytec"
+PREFERRED_PROVIDER_u-boot-fw-utils = "libubootenv"
+PREFERRED_PROVIDER_opencl-headers_imx = "imx-gpu-viv"
-#WIC
+# Wic
IMAGE_CLASSES += "wic-helper"
IMAGE_CLASSES += "wic-imx8-helper"
IMAGE_BOOTFILES_DEPENDS ?= ""
-IMAGE_BOOT_FILES ?= "Image ${@parse_dtbs(d)}"
-WKS_FILES_mx8 ?= "imx8-sdimage.wks.in"
-WKS_FILES_mx8m ?= "imx8m-sdimage.wks.in"
+IMAGE_BOOT_FILES += "oftree"
+WKS_FILES_mx8 ?= "imx8-sdimage.wks"
+WKS_FILES_mx8m ?= "imx8m-sdimage.wks"
+WKS_FILES_mx8mn ?= "imx8mn-sdimage.wks"
+WKS_FILES_mx8mp ?= "imx8mn-sdimage.wks"
-# default images to build
-IMAGE_FSTYPES_mx8 = "tar.gz wic"
+# Default images to build
+IMAGE_FSTYPES = "tar.gz wic"
diff --git a/conf/machine/include/phyrk3288.inc b/conf/machine/include/phyrk3288.inc
index a53fae1..6c8c674 100644
--- a/conf/machine/include/phyrk3288.inc
+++ b/conf/machine/include/phyrk3288.inc
@@ -17,26 +17,9 @@ PACKAGE_INSTALL_append = " kernel-modules"
SERIAL_CONSOLES = "115200;ttyS2"
-PREFERRED_PROVIDER_virtual/egl ?= "mali-t760-libs"
-PREFERRED_PROVIDER_virtual/libgles1 ?= "mali-t760-libs"
-PREFERRED_PROVIDER_virtual/libgles2 ?= "mali-t760-libs"
-
-PREFERRED_VERSION_libdrm ?= "2.4.74"
-
-# Workaround: package.bbclass cannot extract dependency information from mali
-# library automatically. SONAME is missing and libEGL and libGLES are only
-# links to libmali. With this the package 'qtbase' rdepends on
-# 'mali-t760-libs' correctly.
-ASSUME_SHLIBS += "libEGL.so:mali-t760-libs"
-ASSUME_SHLIBS += "libGLESv1_CM.so:mali-t760-libs"
-ASSUME_SHLIBS += "libGLESv2.so:mali-t760-libs"
-ASSUME_SHLIBS += "libOpenCL.so:mali-t760-libs"
-ASSUME_SHLIBS += "libgbm.so:mali-t760-libs"
-ASSUME_SHLIBS += "libwayland-egl.so:mali-t760-libs"
-
#WIC
IMAGE_CLASSES += "wic-helper"
-IMAGE_BOOT_FILES = "zImage;linuximage boot.scr ${@parse_dtbs(d)}"
+IMAGE_BOOT_FILES = "zImage;linuximage boot.scr oftree ${KERNEL_DEVICETREE}"
WKS_FILES_rk3288 ?= "rk3288-sdimage.wks"
# default images to build
diff --git a/conf/machine/phyboard-mira-imx6-10.conf b/conf/machine/phyboard-mira-imx6-10.conf
index c089053..052f0fe 100644
--- a/conf/machine/phyboard-mira-imx6-10.conf
+++ b/conf/machine/phyboard-mira-imx6-10.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyboard-mira-imx6"
KERNEL_DEVICETREE = "imx6q-phytec-mira-ff-rdk-nand.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6q-som-nand-1gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6q-som-nand-1gib"
MACHINE_FEATURES += "resistivetouch pci can wifi"
diff --git a/conf/machine/phyboard-mira-imx6-11.conf b/conf/machine/phyboard-mira-imx6-11.conf
index 327fc6e..20096c6 100644
--- a/conf/machine/phyboard-mira-imx6-11.conf
+++ b/conf/machine/phyboard-mira-imx6-11.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyboard-mira-imx6"
KERNEL_DEVICETREE = "imx6q-phytec-mira-ff-rdk-nand.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6q-som-nand-1gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6q-som-nand-1gib"
MACHINE_FEATURES += "resistivetouch pci can wifi"
diff --git a/conf/machine/phyboard-mira-imx6-12.conf b/conf/machine/phyboard-mira-imx6-12.conf
index 4f3bd56..dfddea4 100644
--- a/conf/machine/phyboard-mira-imx6-12.conf
+++ b/conf/machine/phyboard-mira-imx6-12.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyboard-mira-imx6"
KERNEL_DEVICETREE = "imx6q-phytec-mira-ff-rdk-nand-rs485.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6q-som-nand-1gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6q-som-nand-1gib"
MACHINE_FEATURES += "resistivetouch pci can wifi"
diff --git a/conf/machine/phyboard-mira-imx6-13.conf b/conf/machine/phyboard-mira-imx6-13.conf
index 0039514..dbfeda3 100644
--- a/conf/machine/phyboard-mira-imx6-13.conf
+++ b/conf/machine/phyboard-mira-imx6-13.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyboard-mira-imx6"
KERNEL_DEVICETREE = "imx6q-phytec-mira-ff-rdk-nand.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6q-som-nand-1gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6q-som-nand-1gib"
MACHINE_FEATURES += "resistivetouch pci can wifi"
diff --git a/conf/machine/phyboard-mira-imx6-14.conf b/conf/machine/phyboard-mira-imx6-14.conf
index 1c0b676..e629579 100644
--- a/conf/machine/phyboard-mira-imx6-14.conf
+++ b/conf/machine/phyboard-mira-imx6-14.conf
@@ -12,8 +12,8 @@ SOC_FAMILY .= ":phyboard-mira-imx6"
KERNEL_DEVICETREE = "imx6dl-phytec-mira-ff-rdk-emmc.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6dl-som-emmc-1gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6dl-som-emmc-1gib"
-MACHINE_FEATURES += "resistivetouch pci can wifi"
+MACHINE_FEATURES += "resistivetouch pci can wifi emmc"
SERIAL_CONSOLES = "115200;ttymxc1"
diff --git a/conf/machine/phyboard-mira-imx6-15.conf b/conf/machine/phyboard-mira-imx6-15.conf
index a55365c..7cbce56 100644
--- a/conf/machine/phyboard-mira-imx6-15.conf
+++ b/conf/machine/phyboard-mira-imx6-15.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyboard-mira-imx6"
KERNEL_DEVICETREE = "imx6dl-phytec-mira-ff-rdk-nand.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6dl-som-nand-256mb.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6dl-som-nand-256mb"
MACHINE_FEATURES += "resistivetouch pci can wifi"
diff --git a/conf/machine/phyboard-mira-imx6-3.conf b/conf/machine/phyboard-mira-imx6-3.conf
index d64e897..4b5adb0 100644
--- a/conf/machine/phyboard-mira-imx6-3.conf
+++ b/conf/machine/phyboard-mira-imx6-3.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyboard-mira-imx6"
KERNEL_DEVICETREE = "imx6q-phytec-mira-ff-rdk-nand.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6q-som-nand-1gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6q-som-nand-1gib"
MACHINE_FEATURES += "resistivetouch pci can wifi"
diff --git a/conf/machine/phyboard-mira-imx6-4.conf b/conf/machine/phyboard-mira-imx6-4.conf
index d07adb8..2ac1a8d 100644
--- a/conf/machine/phyboard-mira-imx6-4.conf
+++ b/conf/machine/phyboard-mira-imx6-4.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyboard-mira-imx6"
KERNEL_DEVICETREE = "imx6dl-phytec-mira-lc-rdk-nand.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6dl-som-lc-nand-256mb.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6dl-som-lc-nand-256mb"
MACHINE_FEATURES += "wifi"
diff --git a/conf/machine/phyboard-mira-imx6-5.conf b/conf/machine/phyboard-mira-imx6-5.conf
index b92dfa4..6dfe6c3 100644
--- a/conf/machine/phyboard-mira-imx6-5.conf
+++ b/conf/machine/phyboard-mira-imx6-5.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyboard-mira-imx6"
KERNEL_DEVICETREE = "imx6q-phytec-mira-ff-rdk-emmc.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6q-som-emmc-2gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6q-som-emmc-2gib"
MACHINE_FEATURES += "resistivetouch pci can wifi emmc"
diff --git a/conf/machine/phyboard-mira-imx6-6.conf b/conf/machine/phyboard-mira-imx6-6.conf
index 2905a02..671e472 100644
--- a/conf/machine/phyboard-mira-imx6-6.conf
+++ b/conf/machine/phyboard-mira-imx6-6.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyboard-mira-imx6"
KERNEL_DEVICETREE = "imx6dl-phytec-mira-lc-rdk-nand.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6dl-som-nand-1gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6dl-som-nand-1gib"
MACHINE_FEATURES += "wifi"
diff --git a/conf/machine/phyboard-mira-imx6-7.conf b/conf/machine/phyboard-mira-imx6-7.conf
index 23ed4fa..eb7ef39 100644
--- a/conf/machine/phyboard-mira-imx6-7.conf
+++ b/conf/machine/phyboard-mira-imx6-7.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyboard-mira-imx6"
KERNEL_DEVICETREE = "imx6dl-phytec-mira-lc-rdk-emmc.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6dl-som-lc-emmc-1gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6dl-som-lc-emmc-1gib"
MACHINE_FEATURES += "wifi emmc"
diff --git a/conf/machine/phyboard-mira-imx6-8.conf b/conf/machine/phyboard-mira-imx6-8.conf
index 4191dc0..ce1d526 100644
--- a/conf/machine/phyboard-mira-imx6-8.conf
+++ b/conf/machine/phyboard-mira-imx6-8.conf
@@ -12,8 +12,8 @@ SOC_FAMILY .= ":phyboard-mira-imx6"
KERNEL_DEVICETREE = "imx6q-phytec-mira-ff-rdk-emmc.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6q-som-emmc-1gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6q-som-emmc-1gib"
-MACHINE_FEATURES += "resistivetouch pci can wifi"
+MACHINE_FEATURES += "resistivetouch pci can wifi emmc"
SERIAL_CONSOLES = "115200;ttymxc1"
diff --git a/conf/machine/phyboard-mira-imx6-9.conf b/conf/machine/phyboard-mira-imx6-9.conf
index 145d5f6..f638769 100644
--- a/conf/machine/phyboard-mira-imx6-9.conf
+++ b/conf/machine/phyboard-mira-imx6-9.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyboard-mira-imx6"
KERNEL_DEVICETREE = "imx6qp-phytec-mira-ff-rdk-nand.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6qp-som-nand-1gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6qp-som-nand-1gib"
MACHINE_FEATURES += "resistivetouch pci can wifi"
diff --git a/conf/machine/phyboard-nunki-imx6-1.conf b/conf/machine/phyboard-nunki-imx6-1.conf
index 0e190c5..e71b80d 100644
--- a/conf/machine/phyboard-nunki-imx6-1.conf
+++ b/conf/machine/phyboard-nunki-imx6-1.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyboard-nunki-imx6"
KERNEL_DEVICETREE = "imx6q-phytec-nunki-rdk-nand.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6q-som-nand-1gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6q-som-nand-1gib"
MACHINE_FEATURES += "resistivetouch pci can"
diff --git a/conf/machine/phyboard-polaris-imx8m-2.conf b/conf/machine/phyboard-polaris-imx8m-2.conf
deleted file mode 100644
index 1dc759f..0000000
--- a/conf/machine/phyboard-polaris-imx8m-2.conf
+++ /dev/null
@@ -1,43 +0,0 @@
-#@TYPE: Machine
-#@NAME: phyboard-polaris-imx8m-2
-#@DESCRIPTION: PHYTEC phyBOARD-POLARIS i.MX8M Quad 1GB RAM, 4GB eMMC (deprecated)
-#@ARTICLENUMBERS: PB-02419-010I.A1
-
-MACHINEOVERRIDES =. "mx8:mx8m:mx8mq:"
-
-include conf/machine/include/imx-base.inc
-include conf/machine/include/phyimx8.inc
-require conf/machine/include/arm/arch-arm64.inc
-
-MACHINE_FEATURES += " emmc pci wifi bluetooth"
-
-KERNEL_DEVICETREE = "freescale/phytec-imx8mq-phyboard-polaris-rdk-emmc-rev1.dtb freescale/phytec-imx8mq-phyboard-polaris-rdk-emmc-sterling-rev1.dtb"
-
-# 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"
-
-UBOOT_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "pcl066_defconfig,sdcard"
-UBOOT_CONFIG[mfgtool] = "pcl066_defconfig"
-SPL_BINARY = "spl/u-boot-spl.bin"
-
-# Set u-boot DTB
-UBOOT_DTB_NAME = "phytec-phycore-imx8mq.dtb"
-
-# Set imx-mkimage boot target
-IMXBOOT_TARGETS = "flash_evk"
-
-# Set Serial console
-SERIAL_CONSOLES = "115200;ttymxc0"
-
-IMAGE_BOOTLOADER = "imx-boot"
-
-DEFAULTTUNE_mx8 = "aarch64"
-
-IMX_DEFAULT_KERNEL = "linux-imx"
-
-KERNEL_IMAGETYPE = "Image"
-
-LOADADDR = ""
-UBOOT_SUFFIX = "bin"
-UBOOT_MAKE_TARGET = ""
diff --git a/conf/machine/phyboard-polaris-imx8m-3.conf b/conf/machine/phyboard-polaris-imx8m-3.conf
index c3e3e95..ee7306d 100644
--- a/conf/machine/phyboard-polaris-imx8m-3.conf
+++ b/conf/machine/phyboard-polaris-imx8m-3.conf
@@ -7,22 +7,21 @@ MACHINEOVERRIDES =. "mx8:mx8m:mx8mq:"
include conf/machine/include/imx-base.inc
include conf/machine/include/phyimx8.inc
-require conf/machine/include/arm/arch-arm64.inc
+require conf/machine/include/tune-cortexa53.inc
MACHINE_FEATURES += " emmc pci wifi bluetooth"
-KERNEL_DEVICETREE = "freescale/phytec-imx8mq-phyboard-polaris-rdk-emmc.dtb freescale/phytec-imx8mq-phyboard-polaris-rdk-emmc-sterling.dtb"
+KERNEL_DEVICETREE = "freescale/imx8mq-phyboard-polaris-rdk-emmc.dtb freescale/imx8mq-phyboard-polaris-rdk-emmc-sterling.dtb"
# 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"
UBOOT_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "pcl066_defconfig,sdcard"
-UBOOT_CONFIG[mfgtool] = "pcl066_defconfig"
+UBOOT_CONFIG[sd] = "phycore-imx8mq_defconfig,sdcard"
SPL_BINARY = "spl/u-boot-spl.bin"
# Set u-boot DTB
-UBOOT_DTB_NAME = "phytec-phycore-imx8mq.dtb"
+UBOOT_DTB_NAME = "phycore-imx8mq.dtb"
# Set imx-mkimage boot target
IMXBOOT_TARGETS = "flash_evk"
diff --git a/conf/machine/phyboard-polis-imx8mm-2.conf b/conf/machine/phyboard-polis-imx8mm-3.conf
index 778b7c0..bb42e15 100644
--- a/conf/machine/phyboard-polis-imx8mm-2.conf
+++ b/conf/machine/phyboard-polis-imx8mm-3.conf
@@ -1,31 +1,32 @@
#@TYPE: Machine
-#@NAME: phyboard-polis-imx8mm-2
+#@NAME: phyboard-polis-imx8mm-3
#@DESCRIPTION: PHYTEC phyBOARD-POLIS i.MX8M Mini 2GB RAM, 16GB eMMC
-#@ARTICLENUMBERS: PB-02820.A1
+#@ARTICLENUMBERS: PB-02820.A2
MACHINEOVERRIDES =. "mx8:mx8m:mx8mm:"
require conf/machine/include/imx-base.inc
include conf/machine/include/phyimx8.inc
-require conf/machine/include/arm/arch-arm64.inc
+require conf/machine/include/tune-cortexa53.inc
MACHINE_FEATURES += " emmc pci wifi bluetooth can"
-KERNEL_DEVICETREE = "freescale/phytec-imx8mm-phyboard-polis-rdk.dtb"
+KERNEL_DEVICETREE = "freescale/imx8mm-phyboard-polis-rdk.dtb"
# 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"
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "phycore-imx8mm_defconfig,sdcard"
-UBOOT_CONFIG[mfgtool] = "phycore-imx8mm_defconfig"
+#UBOOT_CONFIG[fspi] = "phycore-imx8mm_fspi_defconfig"
SPL_BINARY = "spl/u-boot-spl.bin"
# Set u-boot DTB
-UBOOT_DTB_NAME = "phytec-phycore-imx8mm.dtb"
+UBOOT_DTB_NAME = "phycore-imx8mm.dtb"
# Set imx-mkimage boot target
IMXBOOT_TARGETS = "flash_evk"
+PREFERRED_VERSION_imx-atf = "2.0%"
# Set Serial console
SERIAL_CONSOLES = "115200;ttymxc2"
@@ -38,8 +39,5 @@ IMX_DEFAULT_KERNEL = "linux-imx"
KERNEL_IMAGETYPE = "Image"
-BOOT_SPACE = "32768"
-
LOADADDR = ""
-UBOOT_SUFFIX = "bin"
UBOOT_MAKE_TARGET = ""
diff --git a/conf/machine/phyboard-polis-imx8mm-1.conf b/conf/machine/phyboard-polis-imx8mn-1.conf
index 4a76db3..4aa22f7 100644
--- a/conf/machine/phyboard-polis-imx8mm-1.conf
+++ b/conf/machine/phyboard-polis-imx8mn-1.conf
@@ -1,31 +1,33 @@
#@TYPE: Machine
-#@NAME: phyboard-polis-imx8mm-1
-#@DESCRIPTION: PHYTEC phyBOARD-POLIS i.MX8M Mini 2GB RAM, 16GB eMMC (deprecated)
-#@ARTICLENUMBERS: PB-02820.A0
+#@NAME: phyboard-polis-imx8mn-1
+#@DESCRIPTION: PHYTEC phyBOARD-POLIS i.MX8M NANO SL 1GB RAM, 4GB eMMC, MIPI
+#@ARTICLENUMBERS: PCL-069-0611010C
-MACHINEOVERRIDES =. "mx8:mx8m:mx8mm:"
+MACHINEOVERRIDES =. "mx8:mx8m:mx8mn:"
require conf/machine/include/imx-base.inc
include conf/machine/include/phyimx8.inc
-require conf/machine/include/arm/arch-arm64.inc
+require conf/machine/include/tune-cortexa53.inc
MACHINE_FEATURES += " emmc pci wifi bluetooth can"
-KERNEL_DEVICETREE = "freescale/phytec-imx8mm-phyboard-polis-rdk-alpha1.dtb"
+KERNEL_DEVICETREE = "freescale/imx8mn-phyboard-polis-rdk.dtb"
# 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"
UBOOT_CONFIG ??= "sd"
-UBOOT_CONFIG[sd] = "phycore-imx8mm_defconfig,sdcard"
-UBOOT_CONFIG[mfgtool] = "phycore-imx8mm_defconfig"
+UBOOT_CONFIG[sd] = "phycore-imx8mn_defconfig,sdcard"
SPL_BINARY = "spl/u-boot-spl.bin"
+WKS_FILES_mx8m ?= "imx8mn-sdimage.wks"
+
# Set u-boot DTB
-UBOOT_DTB_NAME = "phytec-phycore-imx8mm.dtb"
+UBOOT_DTB_NAME = "phycore-imx8mn.dtb"
# Set imx-mkimage boot target
IMXBOOT_TARGETS = "flash_evk"
+PREFERRED_VERSION_imx-atf = "2.0%"
# Set Serial console
SERIAL_CONSOLES = "115200;ttymxc2"
@@ -38,8 +40,5 @@ IMX_DEFAULT_KERNEL = "linux-imx"
KERNEL_IMAGETYPE = "Image"
-BOOT_SPACE = "32768"
-
LOADADDR = ""
-UBOOT_SUFFIX = "bin"
UBOOT_MAKE_TARGET = ""
diff --git a/conf/machine/phyboard-segin-imx6ul-2.conf b/conf/machine/phyboard-segin-imx6ul-2.conf
index e7a8da9..6d6d7bb 100644
--- a/conf/machine/phyboard-segin-imx6ul-2.conf
+++ b/conf/machine/phyboard-segin-imx6ul-2.conf
@@ -11,6 +11,6 @@ SOC_FAMILY .= ":phyboard-segin-imx6ul"
KERNEL_DEVICETREE = "imx6ul-phytec-segin-ff-rdk-nand.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6ul-nand-512mb.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6ul-nand-512mb"
MACHINE_FEATURES += "resistivetouch can alsa wifi"
diff --git a/conf/machine/phyboard-segin-imx6ul-3.conf b/conf/machine/phyboard-segin-imx6ul-3.conf
index 4e6345b..bb7b489 100644
--- a/conf/machine/phyboard-segin-imx6ul-3.conf
+++ b/conf/machine/phyboard-segin-imx6ul-3.conf
@@ -11,6 +11,6 @@ SOC_FAMILY .= ":phyboard-segin-imx6ul"
KERNEL_DEVICETREE = "imx6ull-phytec-segin-lc-rdk-nand.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6ull-lc-nand-256mb.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6ull-lc-nand-256mb"
MACHINE_FEATURES += "resistivetouch can alsa"
diff --git a/conf/machine/phyboard-segin-imx6ul-4.conf b/conf/machine/phyboard-segin-imx6ul-4.conf
index 74cd7eb..7e2ced4 100644
--- a/conf/machine/phyboard-segin-imx6ul-4.conf
+++ b/conf/machine/phyboard-segin-imx6ul-4.conf
@@ -11,6 +11,6 @@ SOC_FAMILY .= ":phyboard-segin-imx6ul"
KERNEL_DEVICETREE = "imx6ul-phytec-segin-ff-rdk-nand-rs485.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6ul-nand-512mb.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6ul-nand-512mb"
MACHINE_FEATURES += "resistivetouch can alsa wifi"
diff --git a/conf/machine/phyboard-segin-imx6ul-5.conf b/conf/machine/phyboard-segin-imx6ul-5.conf
index 5c895cd..c3a8018 100644
--- a/conf/machine/phyboard-segin-imx6ul-5.conf
+++ b/conf/machine/phyboard-segin-imx6ul-5.conf
@@ -11,6 +11,6 @@ SOC_FAMILY .= ":phyboard-segin-imx6ul"
KERNEL_DEVICETREE = "imx6ul-phytec-segin-ff-rdk-nand.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6ul-nand-512mb.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6ul-nand-512mb"
MACHINE_FEATURES += "resistivetouch can alsa wifi"
diff --git a/conf/machine/phyboard-segin-imx6ul-6.conf b/conf/machine/phyboard-segin-imx6ul-6.conf
index 9be898c..fe70b93 100644
--- a/conf/machine/phyboard-segin-imx6ul-6.conf
+++ b/conf/machine/phyboard-segin-imx6ul-6.conf
@@ -11,6 +11,6 @@ SOC_FAMILY .= ":phyboard-segin-imx6ul"
KERNEL_DEVICETREE = "imx6ull-phytec-segin-ff-rdk-nand.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6ull-nand-512mb.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6ull-nand-512mb"
MACHINE_FEATURES += "resistivetouch can alsa wifi"
diff --git a/conf/machine/phyboard-segin-imx6ul-7.conf b/conf/machine/phyboard-segin-imx6ul-7.conf
index 69a149f..4a51d0a 100644
--- a/conf/machine/phyboard-segin-imx6ul-7.conf
+++ b/conf/machine/phyboard-segin-imx6ul-7.conf
@@ -11,6 +11,6 @@ SOC_FAMILY .= ":phyboard-segin-imx6ul"
KERNEL_DEVICETREE = "imx6ull-phytec-segin-ff-rdk-emmc.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-phycore-imx6ull-emmc-512mb.img"
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6ull-emmc-512mb"
MACHINE_FEATURES += "resistivetouch can alsa wifi emmc"
diff --git a/conf/machine/phyboard-segin-imx6ul-8.conf b/conf/machine/phyboard-segin-imx6ul-8.conf
new file mode 100644
index 0000000..7082673
--- /dev/null
+++ b/conf/machine/phyboard-segin-imx6ul-8.conf
@@ -0,0 +1,16 @@
+#@TYPE: Machine
+#@NAME: phyboard-segin-imx6ul-8
+#@DESCRIPTION: PHYTEC phyBOARD-Segin i.MX6 UltraLight, 512MB RAM, eMMC
+#@ARTICLENUMBERS: PB-02013-510I.A0, PCL-063-20420CI.A0
+
+require conf/machine/include/phyimx6ul.inc
+
+SOC_FAMILY .= ":phyboard-segin-imx6ul"
+
+# Kernel
+KERNEL_DEVICETREE = "imx6ul-phytec-segin-ff-rdk-emmc.dtb"
+
+# Barebox Config
+BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6ul-emmc-512mb"
+
+MACHINE_FEATURES += "resistivetouch can alsa emmc"
diff --git a/conf/machine/phycard-imx6-2.conf b/conf/machine/phycard-imx6-2.conf
new file mode 100644
index 0000000..dcb2923
--- /dev/null
+++ b/conf/machine/phycard-imx6-2.conf
@@ -0,0 +1,17 @@
+#@TYPE: Machine
+#@NAME: phycard-imx6-2
+#@DESCRIPTION: PHYTEC phyCARD-i.MX6 Quad 1GiB RAM one bank, 1GB NAND
+#@ARTICLENUMBERS: PCA-A-XL3-KSP02.A4-A6
+
+require conf/machine/include/phyimx6qdl.inc
+
+SOC_FAMILY .= ":mx6q"
+SOC_FAMILY .= ":phycard-imx6"
+
+# Kernel
+KERNEL_DEVICETREE = "imx6q-phytec-phycard.dtb"
+
+# Barebox Config
+BAREBOX_BIN = "images/barebox-phytec-phycard-imx6q-1gib-1bank.img"
+
+SERIAL_CONSOLES = "115200;ttymxc2"
diff --git a/conf/machine/phycore-imx8-2.conf b/conf/machine/phycore-imx8-2.conf
index f4fa020..14dcee2 100644
--- a/conf/machine/phycore-imx8-2.conf
+++ b/conf/machine/phycore-imx8-2.conf
@@ -7,10 +7,12 @@ MACHINEOVERRIDES =. "mx8:mx8qm:"
include conf/machine/include/imx-base.inc
include conf/machine/include/phyimx8.inc
-require conf/machine/include/arm/arch-arm64.inc
+require conf/machine/include/tune-cortexa53.inc
MACHINE_FEATURES_append = " emmc pci can bluetooth wifi"
+PREFERRED_RPROVIDER_linux-firmware-bcm43430 = "laird-sterling-etsi"
+
# Don't include kernels in standard images
RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
RDEPENDS_${KERNEL_PACKAGE_NAME}-image = ""
@@ -41,4 +43,4 @@ IMXBOOT_TARGETS_SD = "flash"
IMXBOOT_TARGETS = "${IMXBOOT_TARGETS_SD}"
#WIC
-IMAGE_BOOT_FILES = "Image ${@parse_dtbs(d)} hdmitxfw.bin hdmirxfw.bin dpfw.bin"
+IMAGE_BOOT_FILES += " hdmitxfw.bin hdmirxfw.bin dpfw.bin"
diff --git a/conf/machine/phycore-rk3288-4.conf b/conf/machine/phycore-rk3288-4.conf
deleted file mode 100644
index 2594115..0000000
--- a/conf/machine/phycore-rk3288-4.conf
+++ /dev/null
@@ -1,14 +0,0 @@
-#@TYPE: Machine
-#@NAME: phycore-rk3288-4
-#@DESCRIPTION: RK3288 Webbox HW, AI Kit 1
-#@ARTICLENUMBERS:
-
-include conf/machine/include/phyrk3288.inc
-
-KERNEL_DEVICETREE = "rk3288-wbox.dtb"
-
-UBOOT_MACHINE = "phycore-rk3288_defconfig"
-
-MACHINE_FEATURES += "emmc alsa"
-
-WKS_FILES_rk3288 = "rk3288-sdimage.wks"
diff --git a/conf/machine/phycore-stm32mp1-1.conf b/conf/machine/phycore-stm32mp1-1.conf
index 37908a5..9db8ea2 100644
--- a/conf/machine/phycore-stm32mp1-1.conf
+++ b/conf/machine/phycore-stm32mp1-1.conf
@@ -1,9 +1,10 @@
-
#@TYPE: Machine
#@NAME: phycore-stm32mp1-1
-#@DESCRIPTION: Configuration for phyCORE-STM32MP1-1 Dev Board - PCM-068-1534-0-00/PCM-939-1517-1-002 (Trusted boot and SDcard only)
-#@NEEDED_BSPLAYERS:
+#@DESCRIPTION: PHYTEC phyCORE-STM32MP1 ALPHA1-Kit - stm32mp157aac @650Mhz MPU (old rev), 3D GPU, 1GiB RAM, 8GiB eMMC
+#@BOOTSCHEME: SD-Card and NOR-eMMC (Basic and Trusted boot support)
+#@ARTICLENUMBERS: PCM-068-1534-0, PCM-939-1517.1
+require conf/machine/include/phytec-machine-extlinux-config-phycore-stm32mp1-1.inc
include conf/machine/include/phytec-machine-common-stm32mp.inc
MACHINEOVERRIDES .= ":phycore"
@@ -20,12 +21,12 @@ include conf/machine/include/tune-cortexa7.inc
# =========================================================================
# boot scheme
# =========================================================================
-#BOOTSCHEME_LABELS += "basic"
+BOOTSCHEME_LABELS += "basic"
BOOTSCHEME_LABELS += "trusted"
#BOOTSCHEME_LABELS += "optee"
-PREFERRED_VERSION_u-boot-stm32mp = "2018.11"
+#PREFERRED_VERSION_u-boot-stm32mp = "2018.11"
# =========================================================================
# Machine settings
@@ -35,8 +36,8 @@ STM32MP_DT_FILES_PHYCORE += "phycore-stm32mp1-1"
# =========================================================================
# Machine features
# =========================================================================
-MACHINE_FEATURES += "bluetooth"
-MACHINE_FEATURES += "wifi"
+#MACHINE_FEATURES += "bluetooth"
+#MACHINE_FEATURES += "wifi"
MACHINE_FEATURES += "${@'gpu' if d.getVar('ACCEPT_EULA_'+d.getVar('MACHINE')) == '1' else ''}"
# Splashscreen enabled
MACHINE_FEATURES += "splashscreen"
@@ -63,17 +64,13 @@ ST_KERNEL_LOADADDR = "0xC2000040"
LINUX_A7_EXAMPLES_DT += "phycore-stm32mp1-1-a7-examples"
-PREFERRED_VERSION_linux-stm32mp = "4.19"
+#PREFERRED_VERSION_linux-stm32mp = "4.19"
# =========================================================================
# flashlayout
# =========================================================================
# Define the config labels to use to generate flashlayout file
-#FLASHLAYOUT_CONFIG_LABELS += "emmc"
-#FLASHLAYOUT_CONFIG_LABELS += "nand-4-256"
-#FLASHLAYOUT_CONFIG_LABELS += "nor-sdcard"
FLASHLAYOUT_CONFIG_LABELS += "nor-emmc"
-#FLASHLAYOUT_CONFIG_LABELS += "nor-nand-4-256"
FLASHLAYOUT_CONFIG_LABELS += "sdcard"
# =========================================================================
@@ -89,5 +86,26 @@ M4_BOARDS = "STM32MP157C-PHY"
# extlinux configuration
# =========================================================================
# As example, modify the default boot config for each target to M4 config
-UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-1_sdcard = "phycore-stm32mp1-examples-sdcard"
-UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-1_sdcard-optee = "phycore-stm32mp1-m4-examples-sdcard-optee"
+#UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-1_sdcard = "phycore-stm32mp1-1-m4-examples-sdcard"
+#UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-1_sdcard-optee = "phycore-stm32mp1-1-m4-examples-sdcard-optee"
+
+# =========================================================================
+# WIC for sdcard raw image
+# =========================================================================
+WIC_CREATE_EXTRA_ARGS = "--no-fstab-update"
+WKS_FILE_DEPENDS ?= " \
+ u-boot-stm32mp \
+ tf-a-stm32mp \
+ ${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'optee-os-stm32mp', '', d)} \
+ st-image-bootfs \
+ st-image-vendorfs \
+ st-image-userfs \
+"
+# for generated a WIC file, please uncomment the 7 following lines
+#IMAGE_FSTYPES += "wic"
+#WKS_FILE_openstlinux-tiny += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-tiny-phycore-stm32mp1-1-optee-1GB.wks', 'sdcard-tiny-phycore-stm32mp1-1-trusted-1GB.wks', d)}"
+#WKS_FILE_openstlinux-eglfs += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-eglfs-phycore-stm32mp1-1-optee-1GB.wks', 'sdcard-eglfs-phycore-stm32mp1-1-trusted-1GB.wks', d)}"
+#WKS_FILE_openstlinux-weston += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-weston-phycore-stm32mp1-1-optee-1GB.wks', 'sdcard-weston-phycore-stm32mp1-1-trusted-1GB.wks', d)"
diff --git a/conf/machine/phycore-stm32mp1-2.conf b/conf/machine/phycore-stm32mp1-2.conf
new file mode 100644
index 0000000..e944461
--- /dev/null
+++ b/conf/machine/phycore-stm32mp1-2.conf
@@ -0,0 +1,115 @@
+#@TYPE: Machine
+#@NAME: phycore-stm32mp1-2
+#@DESCRIPTION: PHYTEC phyCORE-STM32MP1 ALPHA2-Kit, stm32mp157aac @650Mhz MPU (old rev), 3D GPU, 1GiB RAM, 8GiB eMMC
+#@BOOTSCHEME: SD-Card and NOR-eMMC (Basic and Trusted boot support)
+#@ARTICLENUMBERS: PCM-068-1534-0, PCM-939-1517-2
+
+require conf/machine/include/phytec-machine-extlinux-config-phycore-stm32mp1-2.inc
+include conf/machine/include/phytec-machine-common-stm32mp.inc
+
+MACHINEOVERRIDES .= ":phycore"
+
+EULA_FILE_ST_stm32mpcommon = "${PHYCORE_STM32MP_BASE}/conf/eula/${MACHINE}"
+EULA_FILE_ST_MD5SUM_stm32mpcommon = "8b505090fb679839cefbcc784afe8ce9"
+
+# =========================================================================
+# Chip architecture
+# =========================================================================
+DEFAULTTUNE = "cortexa7thf-neon-vfpv4"
+include conf/machine/include/tune-cortexa7.inc
+
+# =========================================================================
+# boot scheme
+# =========================================================================
+BOOTSCHEME_LABELS += "basic"
+BOOTSCHEME_LABELS += "trusted"
+#BOOTSCHEME_LABELS += "optee"
+
+
+#PREFERRED_VERSION_u-boot-stm32mp = "2018.11"
+
+# =========================================================================
+# Machine settings
+# =========================================================================
+STM32MP_DT_FILES_PHYCORE += "phycore-stm32mp1-2"
+
+# =========================================================================
+# Machine features
+# =========================================================================
+MACHINE_FEATURES += "bluetooth"
+MACHINE_FEATURES += "wifi"
+MACHINE_FEATURES += "hdmi"
+MACHINE_FEATURES += "${@'gpu' if d.getVar('ACCEPT_EULA_'+d.getVar('MACHINE')) == '1' else ''}"
+# Splashscreen enabled
+MACHINE_FEATURES += "splashscreen"
+
+# =========================================================================
+# Image
+# =========================================================================
+# Add ubi FSTYPES to default ones for nand volumes
+#IMAGE_FSTYPES += "stmultiubi"
+
+# =========================================================================
+# Kernel
+# =========================================================================
+# Kernel config
+# Set this address to 0xC2000040, which is 0xC2000000 + 0x40.
+# 0xC2000000 is the memory address where U-Boot will copy from flash the file uImage and 0x40 is uImage header size (64Bytes).
+# With this value, U-Boot will be able to execute in place the zImage contained in uImage.
+ST_KERNEL_LOADADDR = "0xC2000040"
+
+# For eval board: auto-load goodix module (touchscreen module)
+#KERNEL_MODULE_AUTOLOAD = "goodix"
+
+# Define the devicetree for Linux A7 examples
+LINUX_A7_EXAMPLES_DT += "phycore-stm32mp1-2-a7-examples"
+
+
+#PREFERRED_VERSION_linux-stm32mp = "4.19"
+
+# =========================================================================
+# flashlayout
+# =========================================================================
+# Define the config labels to use to generate flashlayout file
+FLASHLAYOUT_CONFIG_LABELS += "nor-emmc"
+FLASHLAYOUT_CONFIG_LABELS += "sdcard"
+
+# =========================================================================
+# M4 copro
+# =========================================================================
+# Define the devicetree for M4 example
+CUBE_M4_EXAMPLES_DT += "phycore-stm32mp1-2-m4-examples"
+
+# Define specific board reference to use
+M4_BOARDS = "STM32MP157C-PHY"
+
+# =========================================================================
+# extlinux configuration
+# =========================================================================
+# As example, modify the default boot config for each target to M4 config
+#UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-2_sdcard = "phycore-stm32mp1-2-m4-examples-sdcard"
+#UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-2_sdcard-optee = "phycore-stm32mp1-2-m4-examples-sdcard-optee"
+
+# EDID firmware. This variable can be used to force specific HDMI screen resolution.
+#HDMI_EDID_KERNEL_ARGS = "drm_kms_helper.edid_firmware=HDMI-A-1:edid/1280x720.bin"
+
+# =========================================================================
+# WIC for sdcard raw image
+# =========================================================================
+WIC_CREATE_EXTRA_ARGS = "--no-fstab-update"
+WKS_FILE_DEPENDS ?= " \
+ u-boot-stm32mp \
+ tf-a-stm32mp \
+ ${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'optee-os-stm32mp', '', d)} \
+ st-image-bootfs \
+ st-image-vendorfs \
+ st-image-userfs \
+"
+# for generated a WIC file, please uncomment the 7 following lines
+#IMAGE_FSTYPES += "wic"
+#WKS_FILE_openstlinux-tiny += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-tiny-phycore-stm32mp1-2-optee-1GB.wks', 'sdcard-tiny-phycore-stm32mp1-2-trusted-1GB.wks', d)}"
+#WKS_FILE_openstlinux-eglfs += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-eglfs-phycore-stm32mp1-2-optee-1GB.wks', 'sdcard-eglfs-phycore-stm32mp1-2-trusted-1GB.wks', d)}"
+#WKS_FILE_openstlinux-weston += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-weston-phycore-stm32mp1-2-optee-1GB.wks', 'sdcard-weston-phycore-stm32mp1-2-trusted-1GB.wks', d)" 'sdcard-tiny-phycore-stm32mp1-2-optee-1GB.wks', 'sdcard-tiny-phycore-stm32mp1-2-trusted-1GB.wks', d)}"
diff --git a/conf/machine/phycore-stm32mp1-3.conf b/conf/machine/phycore-stm32mp1-3.conf
new file mode 100644
index 0000000..d78598b
--- /dev/null
+++ b/conf/machine/phycore-stm32mp1-3.conf
@@ -0,0 +1,116 @@
+#@TYPE: Machine
+#@NAME: phycore-stm32mp1-3
+#@DESCRIPTION: PHYTEC phyCORE-STM32MP1 phyBOARD-Sargas full-featured, stm32mp157cac @650Mhz MPU, 3D GPU, 1GiB RAM, 8GiB eMMC, 16MB QSPI NOR
+#@BOOTSCHEME: SD-Card, eMMC and NOR flash (Basic and Trusted boot support)
+#@ARTICLENUMBERS: PCM-068-025113I.A0, PCM-939-1517.2
+
+require conf/machine/include/phytec-machine-extlinux-config-phycore-stm32mp1-3.inc
+include conf/machine/include/phytec-machine-common-stm32mp.inc
+
+MACHINEOVERRIDES .= ":phycore"
+
+EULA_FILE_ST_stm32mpcommon = "${PHYCORE_STM32MP_BASE}/conf/eula/${MACHINE}"
+EULA_FILE_ST_MD5SUM_stm32mpcommon = "8b505090fb679839cefbcc784afe8ce9"
+
+# =========================================================================
+# Chip architecture
+# =========================================================================
+DEFAULTTUNE = "cortexa7thf-neon-vfpv4"
+include conf/machine/include/tune-cortexa7.inc
+
+# =========================================================================
+# boot scheme
+# =========================================================================
+BOOTSCHEME_LABELS += "basic"
+BOOTSCHEME_LABELS += "trusted"
+#BOOTSCHEME_LABELS += "optee"
+
+
+#PREFERRED_VERSION_u-boot-stm32mp = "2018.11"
+
+# =========================================================================
+# Machine settings
+# =========================================================================
+STM32MP_DT_FILES_PHYCORE += "phycore-stm32mp1-3"
+
+# =========================================================================
+# Machine features
+# =========================================================================
+MACHINE_FEATURES += "bluetooth"
+MACHINE_FEATURES += "wifi"
+MACHINE_FEATURES += "hdmi"
+MACHINE_FEATURES += "${@'gpu' if d.getVar('ACCEPT_EULA_'+d.getVar('MACHINE')) == '1' else ''}"
+# Splashscreen enabled
+MACHINE_FEATURES += "splashscreen"
+
+# =========================================================================
+# Image
+# =========================================================================
+# Add ubi FSTYPES to default ones for nand volumes
+#IMAGE_FSTYPES += "stmultiubi"
+
+# =========================================================================
+# Kernel
+# =========================================================================
+# Kernel config
+# Set this address to 0xC2000040, which is 0xC2000000 + 0x40.
+# 0xC2000000 is the memory address where U-Boot will copy from flash the file uImage and 0x40 is uImage header size (64Bytes).
+# With this value, U-Boot will be able to execute in place the zImage contained in uImage.
+ST_KERNEL_LOADADDR = "0xC2000040"
+
+# For eval board: auto-load goodix module (touchscreen module)
+#KERNEL_MODULE_AUTOLOAD = "goodix"
+
+# Define the devicetree for Linux A7 examples
+LINUX_A7_EXAMPLES_DT += "phycore-stm32mp1-3-a7-examples"
+
+
+#PREFERRED_VERSION_linux-stm32mp = "4.19"
+
+# =========================================================================
+# flashlayout
+# =========================================================================
+# Define the config labels to use to generate flashlayout file
+FLASHLAYOUT_CONFIG_LABELS += "emmc"
+FLASHLAYOUT_CONFIG_LABELS += "nor-emmc"
+FLASHLAYOUT_CONFIG_LABELS += "sdcard"
+
+# =========================================================================
+# M4 copro
+# =========================================================================
+# Define the devicetree for M4 example
+CUBE_M4_EXAMPLES_DT += "phycore-stm32mp1-3-m4-examples"
+
+# Define specific board reference to use
+M4_BOARDS = "STM32MP157C-PHY"
+
+# =========================================================================
+# extlinux configuration
+# =========================================================================
+# As example, modify the default boot config for each target to M4 config
+#UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-3_sdcard = "phycore-stm32mp1-3-m4-examples-sdcard"
+#UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-3_sdcard-optee = "phycore-stm32mp1-3-m4-examples-sdcard-optee"
+
+# EDID firmware. This variable can be used to force specific HDMI screen resolution.
+#HDMI_EDID_KERNEL_ARGS = "drm_kms_helper.edid_firmware=HDMI-A-1:edid/1280x720.bin"
+
+# =========================================================================
+# WIC for sdcard raw image
+# =========================================================================
+WIC_CREATE_EXTRA_ARGS = "--no-fstab-update"
+WKS_FILE_DEPENDS ?= " \
+ u-boot-stm32mp \
+ tf-a-stm32mp \
+ ${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'optee-os-stm32mp', '', d)} \
+ st-image-bootfs \
+ st-image-vendorfs \
+ st-image-userfs \
+"
+# for generated a WIC file, please uncomment the 7 following lines
+#IMAGE_FSTYPES += "wic"
+#WKS_FILE_openstlinux-tiny += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-tiny-phycore-stm32mp1-3-optee-1GB.wks', 'sdcard-tiny-phycore-stm32mp1-3-trusted-1GB.wks', d)}"
+#WKS_FILE_openstlinux-eglfs += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-eglfs-phycore-stm32mp1-3-optee-1GB.wks', 'sdcard-eglfs-phycore-stm32mp1-3-trusted-1GB.wks', d)}"
+#WKS_FILE_openstlinux-weston += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-weston-phycore-stm32mp1-3-optee-1GB.wks', 'sdcard-weston-phycore-stm32mp1-3-trusted-1GB.wks', d)"
diff --git a/conf/machine/phycore-stm32mp1-4.conf b/conf/machine/phycore-stm32mp1-4.conf
new file mode 100644
index 0000000..7ef0096
--- /dev/null
+++ b/conf/machine/phycore-stm32mp1-4.conf
@@ -0,0 +1,116 @@
+#@TYPE: Machine
+#@NAME: phycore-stm32mp1-4
+#@DESCRIPTION: PHYTEC phyCORE-STM32MP1 phyBOARD-Sargas full-featured, stm32mp157fac @800Mhz MPU, 3D GPU, 1GiB RAM, 8GiB eMMC, 16MB QSPI NOR
+#@BOOTSCHEME: SD-Card, eMMC and NOR flash (Basic and Trusted boot support)
+#@ARTICLENUMBERS: PCM-068-625113I.A0, PCM-939-1517.2
+
+require conf/machine/include/phytec-machine-extlinux-config-phycore-stm32mp1-4.inc
+include conf/machine/include/phytec-machine-common-stm32mp.inc
+
+MACHINEOVERRIDES .= ":phycore"
+
+EULA_FILE_ST_stm32mpcommon = "${PHYCORE_STM32MP_BASE}/conf/eula/${MACHINE}"
+EULA_FILE_ST_MD5SUM_stm32mpcommon = "8b505090fb679839cefbcc784afe8ce9"
+
+# =========================================================================
+# Chip architecture
+# =========================================================================
+DEFAULTTUNE = "cortexa7thf-neon-vfpv4"
+include conf/machine/include/tune-cortexa7.inc
+
+# =========================================================================
+# boot scheme
+# =========================================================================
+BOOTSCHEME_LABELS += "basic"
+BOOTSCHEME_LABELS += "trusted"
+#BOOTSCHEME_LABELS += "optee"
+
+
+#PREFERRED_VERSION_u-boot-stm32mp = "2018.11"
+
+# =========================================================================
+# Machine settings
+# =========================================================================
+STM32MP_DT_FILES_PHYCORE += "phycore-stm32mp1-4"
+
+# =========================================================================
+# Machine features
+# =========================================================================
+MACHINE_FEATURES += "bluetooth"
+MACHINE_FEATURES += "wifi"
+MACHINE_FEATURES += "hdmi"
+MACHINE_FEATURES += "${@'gpu' if d.getVar('ACCEPT_EULA_'+d.getVar('MACHINE')) == '1' else ''}"
+# Splashscreen enabled
+MACHINE_FEATURES += "splashscreen"
+
+# =========================================================================
+# Image
+# =========================================================================
+# Add ubi FSTYPES to default ones for nand volumes
+#IMAGE_FSTYPES += "stmultiubi"
+
+# =========================================================================
+# Kernel
+# =========================================================================
+# Kernel config
+# Set this address to 0xC2000040, which is 0xC2000000 + 0x40.
+# 0xC2000000 is the memory address where U-Boot will copy from flash the file uImage and 0x40 is uImage header size (64Bytes).
+# With this value, U-Boot will be able to execute in place the zImage contained in uImage.
+ST_KERNEL_LOADADDR = "0xC2000040"
+
+# For eval board: auto-load goodix module (touchscreen module)
+#KERNEL_MODULE_AUTOLOAD = "goodix"
+
+# Define the devicetree for Linux A7 examples
+LINUX_A7_EXAMPLES_DT += "phycore-stm32mp1-4-a7-examples"
+
+
+#PREFERRED_VERSION_linux-stm32mp = "4.19"
+
+# =========================================================================
+# flashlayout
+# =========================================================================
+# Define the config labels to use to generate flashlayout file
+FLASHLAYOUT_CONFIG_LABELS += "emmc"
+FLASHLAYOUT_CONFIG_LABELS += "nor-emmc"
+FLASHLAYOUT_CONFIG_LABELS += "sdcard"
+
+# =========================================================================
+# M4 copro
+# =========================================================================
+# Define the devicetree for M4 example
+CUBE_M4_EXAMPLES_DT += "phycore-stm32mp1-4-m4-examples"
+
+# Define specific board reference to use
+M4_BOARDS = "STM32MP157C-PHY"
+
+# =========================================================================
+# extlinux configuration
+# =========================================================================
+# As example, modify the default boot config for each target to M4 config
+#UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-4_sdcard = "phycore-stm32mp1-4-m4-examples-sdcard"
+#UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-4_sdcard-optee = "phycore-stm32mp1-4-m4-examples-sdcard-optee"
+
+# EDID firmware. This variable can be used to force specific HDMI screen resolution.
+#HDMI_EDID_KERNEL_ARGS = "drm_kms_helper.edid_firmware=HDMI-A-1:edid/1280x720.bin"
+
+# =========================================================================
+# WIC for sdcard raw image
+# =========================================================================
+WIC_CREATE_EXTRA_ARGS = "--no-fstab-update"
+WKS_FILE_DEPENDS ?= " \
+ u-boot-stm32mp \
+ tf-a-stm32mp \
+ ${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'optee-os-stm32mp', '', d)} \
+ st-image-bootfs \
+ st-image-vendorfs \
+ st-image-userfs \
+"
+# for generated a WIC file, please uncomment the 7 following lines
+#IMAGE_FSTYPES += "wic"
+#WKS_FILE_openstlinux-tiny += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-tiny-phycore-stm32mp1-4-optee-1GB.wks', 'sdcard-tiny-phycore-stm32mp1-4-trusted-1GB.wks', d)}"
+#WKS_FILE_openstlinux-eglfs += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-eglfs-phycore-stm32mp1-4-optee-1GB.wks', 'sdcard-eglfs-phycore-stm32mp1-4-trusted-1GB.wks', d)}"
+#WKS_FILE_openstlinux-weston += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-weston-phycore-stm32mp1-4-optee-1GB.wks', 'sdcard-weston-phycore-stm32mp1-4-trusted-1GB.wks', d)"
diff --git a/conf/machine/phycore-stm32mp1-5.conf b/conf/machine/phycore-stm32mp1-5.conf
new file mode 100644
index 0000000..6c44321
--- /dev/null
+++ b/conf/machine/phycore-stm32mp1-5.conf
@@ -0,0 +1,113 @@
+#@TYPE: Machine
+#@NAME: phycore-stm32mp1-5
+#@DESCRIPTION: PHYTEC phyCORE-STM32MP1 phyBOARD-Sargas full featured, stm32mp153aac @650Mhz MPU, no 3D GPU, 1GiB RAM, 8GiB eMMC
+#@BOOTSCHEME: SD-Card, eMMC and NOR flash (Basic and Trusted boot support)
+#@ARTICLENUMBERS: PCM-068-325113I.A0, PCM-939-1517.2
+
+require conf/machine/include/phytec-machine-extlinux-config-phycore-stm32mp1-5.inc
+include conf/machine/include/phytec-machine-common-stm32mp.inc
+
+MACHINEOVERRIDES .= ":phycore"
+
+EULA_FILE_ST_stm32mpcommon = "${PHYCORE_STM32MP_BASE}/conf/eula/${MACHINE}"
+EULA_FILE_ST_MD5SUM_stm32mpcommon = "8b505090fb679839cefbcc784afe8ce9"
+
+# =========================================================================
+# Chip architecture
+# =========================================================================
+DEFAULTTUNE = "cortexa7thf-neon-vfpv4"
+include conf/machine/include/tune-cortexa7.inc
+
+# =========================================================================
+# boot scheme
+# =========================================================================
+BOOTSCHEME_LABELS += "basic"
+BOOTSCHEME_LABELS += "trusted"
+#BOOTSCHEME_LABELS += "optee"
+
+
+#PREFERRED_VERSION_u-boot-stm32mp = "2018.11"
+
+# =========================================================================
+# Machine settings
+# =========================================================================
+STM32MP_DT_FILES_PHYCORE += "phycore-stm32mp1-5"
+
+# =========================================================================
+# Machine features
+# =========================================================================
+MACHINE_FEATURES += "bluetooth"
+MACHINE_FEATURES += "wifi"
+MACHINE_FEATURES += "hdmi"
+# Splashscreen enabled
+MACHINE_FEATURES += "splashscreen"
+
+# =========================================================================
+# Image
+# =========================================================================
+# Add ubi FSTYPES to default ones for nand volumes
+#IMAGE_FSTYPES += "stmultiubi"
+
+# =========================================================================
+# Kernel
+# =========================================================================
+# Kernel config
+# Set this address to 0xC2000040, which is 0xC2000000 + 0x40.
+# 0xC2000000 is the memory address where U-Boot will copy from flash the file uImage and 0x40 is uImage header size (64Bytes).
+# With this value, U-Boot will be able to execute in place the zImage contained in uImage.
+ST_KERNEL_LOADADDR = "0xC2000040"
+
+# For eval board: auto-load goodix module (touchscreen module)
+#KERNEL_MODULE_AUTOLOAD = "goodix"
+
+# Define the devicetree for Linux A7 examples
+LINUX_A7_EXAMPLES_DT += "phycore-stm32mp1-5-a7-examples"
+
+
+#PREFERRED_VERSION_linux-stm32mp = "4.19"
+
+# =========================================================================
+# flashlayout
+# =========================================================================
+# Define the config labels to use to generate flashlayout file
+FLASHLAYOUT_CONFIG_LABELS += "emmc"
+FLASHLAYOUT_CONFIG_LABELS += "nor-emmc"
+FLASHLAYOUT_CONFIG_LABELS += "sdcard"
+
+# =========================================================================
+# M4 copro
+# =========================================================================
+# Define the devicetree for M4 example
+CUBE_M4_EXAMPLES_DT += "phycore-stm32mp1-5-m4-examples"
+
+# Define specific board reference to use
+M4_BOARDS = "STM32MP157C-PHY"
+
+# =========================================================================
+# extlinux configuration
+# =========================================================================
+# As example, modify the default boot config for each target to M4 config
+#UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-5_sdcard = "phycore-stm32mp1-5-m4-examples-sdcard"
+#UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-5_sdcard-optee = "phycore-stm32mp1-5-m4-examples-sdcard-optee"
+
+# EDID firmware. This variable can be used to force specific HDMI screen resolution.
+#HDMI_EDID_KERNEL_ARGS = "drm_kms_helper.edid_firmware=HDMI-A-1:edid/1280x720.bin"
+
+# =========================================================================
+# WIC for sdcard raw image
+# =========================================================================
+WIC_CREATE_EXTRA_ARGS = "--no-fstab-update"
+WKS_FILE_DEPENDS ?= " \
+ u-boot-stm32mp \
+ tf-a-stm32mp \
+ ${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'optee-os-stm32mp', '', d)} \
+ st-image-bootfs \
+ st-image-vendorfs \
+ st-image-userfs \
+"
+# for generated a WIC file, please uncomment the 5 following lines
+#IMAGE_FSTYPES += "wic"
+#WKS_FILE_openstlinux-tiny += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-tiny-phycore-stm32mp1-5-optee-1GB.wks', 'sdcard-tiny-phycore-stm32mp1-5-trusted-1GB.wks', d)}"
+#WKS_FILE_openstlinux-eglfs += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-eglfs-phycore-stm32mp1-5-optee-1GB.wks', 'sdcard-eglfs-phycore-stm32mp1-5-trusted-1GB.wks', d)}"
diff --git a/conf/machine/phycore-stm32mp1-6.conf b/conf/machine/phycore-stm32mp1-6.conf
new file mode 100644
index 0000000..929a64d
--- /dev/null
+++ b/conf/machine/phycore-stm32mp1-6.conf
@@ -0,0 +1,139 @@
+#@TYPE: Machine
+#@NAME: phycore-stm32mp1-6
+#@DESCRIPTION: PHYTEC phyCORE-STM32MP1 phyBOARD-Sargas low cost, stm32mp153aac @650Mhz MPU, no 3D GPU, 512MB RAM, 512MB NAND
+#@BOOTSCHEME: SD-Card (trusted and basic boot), NAND (Trusted boot)
+#@ARTICLENUMBERS: PCM-068-312011I.A0, PCM-939-1517.2
+
+require conf/machine/include/phytec-machine-extlinux-config-phycore-stm32mp1-6.inc
+include conf/machine/include/phytec-machine-common-stm32mp.inc
+
+MACHINEOVERRIDES .= ":phycore"
+
+EULA_FILE_ST_stm32mpcommon = "${PHYCORE_STM32MP_BASE}/conf/eula/${MACHINE}"
+EULA_FILE_ST_MD5SUM_stm32mpcommon = "8b505090fb679839cefbcc784afe8ce9"
+
+# =========================================================================
+# Chip architecture
+# =========================================================================
+DEFAULTTUNE = "cortexa7thf-neon-vfpv4"
+include conf/machine/include/tune-cortexa7.inc
+
+# =========================================================================
+# boot scheme
+# =========================================================================
+BOOTSCHEME_LABELS += "basic"
+BOOTSCHEME_LABELS += "trusted"
+#BOOTSCHEME_LABELS += "optee"
+
+
+#PREFERRED_VERSION_u-boot-stm32mp = "2018.11"
+
+# =========================================================================
+# Machine settings
+# =========================================================================
+STM32MP_DT_FILES_PHYCORE += "phycore-stm32mp1-6"
+
+# =========================================================================
+# Machine features
+# =========================================================================
+MACHINE_FEATURES += "bluetooth"
+MACHINE_FEATURES += "wifi"
+MACHINE_FEATURES += "hdmi"
+MACHINE_FEATURES += "nand"
+# Splashscreen enabled
+MACHINE_FEATURES += "splashscreen"
+
+# =========================================================================
+# Image
+# =========================================================================
+# Add ubi FSTYPES to default ones for nand volumes
+IMAGE_FSTYPES += "stmultiubi"
+
+# ST Naming rules partitions for UBI format are :
+# nand_<PageSize>_<BlockSize>
+# nor_<BlockSize>
+# Like that a same UBI partition can be used for severals NAND/NOR providers
+
+# UBI Args for NAND soldered by default on phyCORE-STM32mp1-6
+# Micron MT29F8G08ABACAWP
+# LEB = BLOCK_SIZE - (2 * page size): 64*2048 - (2*2048)
+MKUBIFS_ARGS_nand_2_256 = "--min-io-size 2048 --leb-size 126976 --max-leb-cnt 972 --space-fixup"
+UBINIZE_ARGS_nand_2_256 = "--min-io-size 2048 --peb-size 128KiB"
+EXTRA_UBIFS_SIZE_nand_2_256 = "2304"
+
+# Define UBI labels to build
+MULTIUBI_BUILD = "nand_2_256"
+
+# Define image partition size (supposed to be set as max size in image recipe)
+BOOTFS_PARTITION_SIZE = "32768"
+# New value proposed for rootfs is 384MB
+ROOTFS_PARTITION_SIZE = "393216"
+# If we consider the highest constraint is NAND size (so < 512MB)
+# Boot binaries 4 MB max (with optee) + bootfs 32 MB max + rootfs 384MB max + userfs size (64MB) < 512MB
+USERFS_PARTITION_SIZE = "65536"
+# New value proposed for vendorfs is 16MB
+VENDORFS_PARTITION_SIZE = "16384"
+
+
+# =========================================================================
+# Kernel
+# =========================================================================
+# Kernel config
+# Set this address to 0xC2000040, which is 0xC2000000 + 0x40.
+# 0xC2000000 is the memory address where U-Boot will copy from flash the file uImage and 0x40 is uImage header size (64Bytes).
+# With this value, U-Boot will be able to execute in place the zImage contained in uImage.
+ST_KERNEL_LOADADDR = "0xC2000040"
+
+# For eval board: auto-load goodix module (touchscreen module)
+#KERNEL_MODULE_AUTOLOAD = "goodix"
+
+# Define the devicetree for Linux A7 examples
+LINUX_A7_EXAMPLES_DT += "phycore-stm32mp1-6-a7-examples"
+
+
+#PREFERRED_VERSION_linux-stm32mp = "4.19"
+
+# =========================================================================
+# flashlayout
+# =========================================================================
+# Define the config labels to use to generate flashlayout file
+FLASHLAYOUT_CONFIG_LABELS += "nand-2-256"
+FLASHLAYOUT_CONFIG_LABELS += "sdcard"
+
+# =========================================================================
+# M4 copro
+# =========================================================================
+# Define the devicetree for M4 example
+CUBE_M4_EXAMPLES_DT += "phycore-stm32mp1-6-m4-examples"
+
+# Define specific board reference to use
+M4_BOARDS = "STM32MP157C-PHY"
+
+# =========================================================================
+# extlinux configuration
+# =========================================================================
+# As example, modify the default boot config for each target to M4 config
+#UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-6_sdcard = "phycore-stm32mp1-6-m4-examples-sdcard"
+#UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-6_sdcard-optee = "phycore-stm32mp1-6-m4-examples-sdcard-optee"
+
+# EDID firmware. This variable can be used to force specific HDMI screen resolution.
+#HDMI_EDID_KERNEL_ARGS = "drm_kms_helper.edid_firmware=HDMI-A-1:edid/1280x720.bin"
+
+# =========================================================================
+# WIC for sdcard raw image
+# =========================================================================
+WIC_CREATE_EXTRA_ARGS = "--no-fstab-update"
+WKS_FILE_DEPENDS ?= " \
+ u-boot-stm32mp \
+ tf-a-stm32mp \
+ ${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'optee-os-stm32mp', '', d)} \
+ st-image-bootfs \
+ st-image-vendorfs \
+ st-image-userfs \
+"
+# for generated a WIC file, please uncomment the 3 following lines
+#IMAGE_FSTYPES += "wic"
+#WKS_FILE_openstlinux-tiny += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-tiny-phycore-stm32mp1-6-optee-1GB.wks', 'sdcard-tiny-phycore-stm32mp1-6-trusted-1GB.wks', d)}"
+#WKS_FILE_openstlinux-eglfs += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-eglfs-phycore-stm32mp1-6-optee-1GB.wks', 'sdcard-eglfs-phycore-stm32mp1-6-trusted-1GB.wks', d)}"
diff --git a/conf/machine/phycore-stm32mp1-7.conf b/conf/machine/phycore-stm32mp1-7.conf
new file mode 100644
index 0000000..5116f97
--- /dev/null
+++ b/conf/machine/phycore-stm32mp1-7.conf
@@ -0,0 +1,138 @@
+#@TYPE: Machine
+#@NAME: phycore-stm32mp1-7
+#@DESCRIPTION: PHYTEC phyCORE-STM32mp1 phyBOARD-Sargas super low cost, stm32mp153aac @650Mhz MPU, no 3D GPU, 512MB RAM, 128MB NAND
+#@BOOTSCHEME: SD-Card (trusted and basic boot), NAND (trusted boot)
+#@ARTICLENUMBERS: PCM-068-510011I.A0, PCM-939-1517.2
+
+require conf/machine/include/phytec-machine-extlinux-config-phycore-stm32mp1-7.inc
+include conf/machine/include/phytec-machine-common-stm32mp.inc
+
+MACHINEOVERRIDES .= ":phycore"
+
+EULA_FILE_ST_stm32mpcommon = "${PHYCORE_STM32MP_BASE}/conf/eula/${MACHINE}"
+EULA_FILE_ST_MD5SUM_stm32mpcommon = "8b505090fb679839cefbcc784afe8ce9"
+
+# =========================================================================
+# Chip architecture
+# =========================================================================
+DEFAULTTUNE = "cortexa7thf-neon-vfpv4"
+include conf/machine/include/tune-cortexa7.inc
+
+# =========================================================================
+# boot scheme
+# =========================================================================
+BOOTSCHEME_LABELS += "basic"
+BOOTSCHEME_LABELS += "trusted"
+#BOOTSCHEME_LABELS += "optee"
+
+
+#PREFERRED_VERSION_u-boot-stm32mp = "2018.11"
+
+# =========================================================================
+# Machine settings
+# =========================================================================
+STM32MP_DT_FILES_PHYCORE += "phycore-stm32mp1-7"
+
+# =========================================================================
+# Machine features
+# =========================================================================
+MACHINE_FEATURES += "bluetooth"
+MACHINE_FEATURES += "wifi"
+#MACHINE_FEATURES += "hdmi"
+MACHINE_FEATURES += "nand"
+
+# Splashscreen enabled
+#MACHINE_FEATURES += "splashscreen"
+
+# =========================================================================
+# Image
+# =========================================================================
+# Add ubi FSTYPES to default ones for nand volumes
+IMAGE_FSTYPES += "stmultiubi"
+
+# ST Naming rules partitions for UBI format are :
+# nand_<PageSize>_<BlockSize>
+# nor_<BlockSize>
+# Like that a same UBI partition can be used for severals NAND/NOR providers
+
+# UBI Args for NAND soldered by default on phyCORE-STM32mp1-7
+# Micron MT29F1G08ABAEAWP
+# LEB = BLOCK_SIZE - (2 * page size): 64*2048 - (2*2048)
+MKUBIFS_ARGS_nand_2_64 = "--min-io-size 2048 --leb-size 126976 --max-leb-cnt 972 --space-fixup"
+UBINIZE_ARGS_nand_2_64 = "--min-io-size 2048 --peb-size 128KiB"
+EXTRA_UBIFS_SIZE_nand_2_64 = "2304"
+
+# Define UBI labels to build
+MULTIUBI_BUILD = "nand_2_64"
+
+# Define image partition size (supposed to be set as max size in image recipe)
+BOOTFS_PARTITION_SIZE = "12288"
+# New value proposed for rootfs is 64MB
+ROOTFS_PARTITION_SIZE = "65536"
+# If we consider the highest constraint is NAND size (so < 128MB)
+# Boot binaries 4 MB max (with optee) + bootfs 12 MB max + rootfs 64 MB max + userfs size (16MB) < 128 MB
+USERFS_PARTITION_SIZE = "16384"
+# New value proposed for vendorfs is 16MB
+VENDORFS_PARTITION_SIZE = "16384"
+
+
+# =========================================================================
+# Kernel
+# =========================================================================
+# Kernel config
+# Set this address to 0xC2000040, which is 0xC2000000 + 0x40.
+# 0xC2000000 is the memory address where U-Boot will copy from flash the file uImage and 0x40 is uImage header size (64Bytes).
+# With this value, U-Boot will be able to execute in place the zImage contained in uImage.
+ST_KERNEL_LOADADDR = "0xC2000040"
+
+# For eval board: auto-load goodix module (touchscreen module)
+#KERNEL_MODULE_AUTOLOAD = "goodix"
+
+# Define the devicetree for Linux A7 examples
+LINUX_A7_EXAMPLES_DT += "phycore-stm32mp1-7-a7-examples"
+
+
+#PREFERRED_VERSION_linux-stm32mp = "4.19"
+
+# =========================================================================
+# flashlayout
+# =========================================================================
+# Define the config labels to use to generate flashlayout file
+FLASHLAYOUT_CONFIG_LABELS += "nand-2-64"
+FLASHLAYOUT_CONFIG_LABELS += "sdcard"
+
+# =========================================================================
+# M4 copro
+# =========================================================================
+# Define the devicetree for M4 example
+CUBE_M4_EXAMPLES_DT += "phycore-stm32mp1-7-m4-examples"
+
+# Define specific board reference to use
+M4_BOARDS = "STM32MP157C-PHY"
+
+# =========================================================================
+# extlinux configuration
+# =========================================================================
+# As example, modify the default boot config for each target to M4 config
+#UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-7_sdcard = "phycore-stm32mp1-7-m4-examples-sdcard"
+#UBOOT_EXTLINUX_DEFAULT_LABEL_mp1-7_sdcard-optee = "phycore-stm32mp1-7-m4-examples-sdcard-optee"
+
+# EDID firmware. This variable can be used to force specific HDMI screen resolution.
+#HDMI_EDID_KERNEL_ARGS = "drm_kms_helper.edid_firmware=HDMI-A-1:edid/1280x720.bin"
+
+# =========================================================================
+# WIC for sdcard raw image
+# =========================================================================
+WIC_CREATE_EXTRA_ARGS = "--no-fstab-update"
+WKS_FILE_DEPENDS ?= " \
+ u-boot-stm32mp \
+ tf-a-stm32mp \
+ ${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'optee-os-stm32mp', '', d)} \
+ st-image-bootfs \
+ st-image-vendorfs \
+ st-image-userfs \
+"
+# for generated a WIC file, please uncomment the 3 following lines
+#IMAGE_FSTYPES += "wic"
+#WKS_FILE_openstlinux-tiny += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', \
+# 'sdcard-tiny-phycore-stm32mp1-7-optee-1GB.wks', 'sdcard-tiny-phycore-stm32mp1-7-trusted-1GB.wks', d)}"
diff --git a/conf/machine/phyflex-imx6-1.conf b/conf/machine/phyflex-imx6-1.conf
index e6c0a77..8db1572 100644
--- a/conf/machine/phyflex-imx6-1.conf
+++ b/conf/machine/phyflex-imx6-1.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyflex-imx6"
KERNEL_DEVICETREE = "imx6q-phytec-pbab01.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-pbab01-1gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-pbab01-1gib"
# resistivetouch, the rdk has one attached
MACHINE_FEATURES += "resistivetouch pci can alsa"
diff --git a/conf/machine/phyflex-imx6-10.conf b/conf/machine/phyflex-imx6-10.conf
index a40430d..188c0af 100644
--- a/conf/machine/phyflex-imx6-10.conf
+++ b/conf/machine/phyflex-imx6-10.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyflex-imx6"
KERNEL_DEVICETREE = "imx6dl-phytec-pbab01-nonor.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-pbab01s-128mb-1bank.img"
+BAREBOX_BASE_BIN = "barebox-phytec-pbab01s-128mb-1bank"
# resistivetouch, the rdk has one attached
MACHINE_FEATURES += "resistivetouch pci can alsa"
diff --git a/conf/machine/phyflex-imx6-11.conf b/conf/machine/phyflex-imx6-11.conf
index a647390..9f3c638 100644
--- a/conf/machine/phyflex-imx6-11.conf
+++ b/conf/machine/phyflex-imx6-11.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyflex-imx6"
KERNEL_DEVICETREE = "imx6q-phytec-pbab01.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-pbab01-4gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-pbab01-4gib"
# resistivetouch, the rdk has one attached
MACHINE_FEATURES += "resistivetouch pci can alsa"
diff --git a/conf/machine/phyflex-imx6-2.conf b/conf/machine/phyflex-imx6-2.conf
index 60f233d..ed765eb 100644
--- a/conf/machine/phyflex-imx6-2.conf
+++ b/conf/machine/phyflex-imx6-2.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyflex-imx6"
KERNEL_DEVICETREE = "imx6q-phytec-pbab01.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-pbab01-1gib-1bank.img"
+BAREBOX_BASE_BIN = "barebox-phytec-pbab01-1gib-1bank"
# resistivetouch, the rdk has one attached
MACHINE_FEATURES += "resistivetouch pci can alsa"
diff --git a/conf/machine/phyflex-imx6-3.conf b/conf/machine/phyflex-imx6-3.conf
index 727b278..1f9992f 100644
--- a/conf/machine/phyflex-imx6-3.conf
+++ b/conf/machine/phyflex-imx6-3.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyflex-imx6"
KERNEL_DEVICETREE = "imx6q-phytec-pbab01.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-pbab01-2gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-pbab01-2gib"
# resistivetouch, the rdk has one attached
MACHINE_FEATURES += "resistivetouch pci can alsa"
diff --git a/conf/machine/phyflex-imx6-4.conf b/conf/machine/phyflex-imx6-4.conf
index d655a47..7217a61 100644
--- a/conf/machine/phyflex-imx6-4.conf
+++ b/conf/machine/phyflex-imx6-4.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyflex-imx6"
KERNEL_DEVICETREE = "imx6q-phytec-pbab01.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-pbab01-4gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-pbab01-4gib"
# resistivetouch, the rdk has one attached
MACHINE_FEATURES += "resistivetouch pci can alsa"
diff --git a/conf/machine/phyflex-imx6-5.conf b/conf/machine/phyflex-imx6-5.conf
index 4a99bcd..321a160 100644
--- a/conf/machine/phyflex-imx6-5.conf
+++ b/conf/machine/phyflex-imx6-5.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyflex-imx6"
KERNEL_DEVICETREE = "imx6q-phytec-pbab01.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-pbab01-512mb-1bank.img"
+BAREBOX_BASE_BIN = "barebox-phytec-pbab01-512mb-1bank"
# resistivetouch, the rdk has one attached
MACHINE_FEATURES += "resistivetouch pci can alsa"
diff --git a/conf/machine/phyflex-imx6-6.conf b/conf/machine/phyflex-imx6-6.conf
index 51d1a83..37d21b5 100644
--- a/conf/machine/phyflex-imx6-6.conf
+++ b/conf/machine/phyflex-imx6-6.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyflex-imx6"
KERNEL_DEVICETREE = "imx6dl-phytec-pbab01.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-pbab01dl-1gib.img"
+BAREBOX_BASE_BIN = "barebox-phytec-pbab01dl-1gib"
# resistivetouch, the rdk has one attached
MACHINE_FEATURES += "resistivetouch pci can alsa"
diff --git a/conf/machine/phyflex-imx6-7.conf b/conf/machine/phyflex-imx6-7.conf
index 6229382..f859fcf 100644
--- a/conf/machine/phyflex-imx6-7.conf
+++ b/conf/machine/phyflex-imx6-7.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyflex-imx6"
KERNEL_DEVICETREE = "imx6dl-phytec-pbab01.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-pbab01dl-1gib-1bank.img"
+BAREBOX_BASE_BIN = "barebox-phytec-pbab01dl-1gib-1bank"
# resistivetouch, the rdk has one attached
MACHINE_FEATURES += "resistivetouch pci can alsa"
diff --git a/conf/machine/phyflex-imx6-8.conf b/conf/machine/phyflex-imx6-8.conf
index 14f1aa9..2571465 100644
--- a/conf/machine/phyflex-imx6-8.conf
+++ b/conf/machine/phyflex-imx6-8.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyflex-imx6"
KERNEL_DEVICETREE = "imx6dl-phytec-pbab01-nonor.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-pbab01s-512mb-1bank.img"
+BAREBOX_BASE_BIN = "barebox-phytec-pbab01s-512mb-1bank"
# resistivetouch, the rdk has one attached
MACHINE_FEATURES += "resistivetouch pci can alsa"
diff --git a/conf/machine/phyflex-imx6-9.conf b/conf/machine/phyflex-imx6-9.conf
index e74c352..9aad86a 100644
--- a/conf/machine/phyflex-imx6-9.conf
+++ b/conf/machine/phyflex-imx6-9.conf
@@ -12,7 +12,7 @@ SOC_FAMILY .= ":phyflex-imx6"
KERNEL_DEVICETREE = "imx6dl-phytec-pbab01-nonor.dtb"
# Barebox Config
-BAREBOX_BIN = "images/barebox-phytec-pbab01s-256mb-1bank.img"
+BAREBOX_BASE_BIN = "barebox-phytec-pbab01s-256mb-1bank"
# resistivetouch, the rdk has one attached
MACHINE_FEATURES += "resistivetouch pci can alsa"
diff --git a/recipes-kernel/linux/linux-imx_4.14.98-phy4.bb b/dynamic-layers/freescale-layer/recipes-kernel/linux/linux-imx_4.14.98-phy6.bb
index 2cae071..95483ec 100644
--- a/recipes-kernel/linux/linux-imx_4.14.98-phy4.bb
+++ b/dynamic-layers/freescale-layer/recipes-kernel/linux/linux-imx_4.14.98-phy6.bb
@@ -3,7 +3,10 @@
inherit phygittag
inherit buildinfo
-include linux-common.inc
+inherit fsl-vivante-kernel-driver-handler
+include recipes-kernel/linux/linux-common.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
GIT_URL = "git://git.phytec.de/${PN}"
SRC_URI = "${GIT_URL};branch=${BRANCH}"
@@ -11,7 +14,7 @@ PR = "${INC_PR}.0"
# NOTE: PV must be in the format "x.y.z-.*". It cannot begin with a 'v'.
# NOTE: Keep version in filename in sync with commit id!
-SRCREV = "f46e2003388e8a5e625e2ec458a66cd4daa944c3"
+SRCREV = "4e2c230cd0508185a8b4555fe5f187d091fb6698"
S = "${WORKDIR}/git"
@@ -19,6 +22,4 @@ INTREE_DEFCONFIG = "defconfig"
COMPATIBLE_MACHINE = "^("
COMPATIBLE_MACHINE .= "phycore-imx8-2"
-COMPATIBLE_MACHINE .= "|phyboard-polaris-imx8m-2"
-COMPATIBLE_MACHINE .= "|phyboard-polaris-imx8m-3"
COMPATIBLE_MACHINE .= ")$"
diff --git a/recipes-kernel/linux/linux-imx_4.19.35_1.0.0-phy1.bb b/dynamic-layers/freescale-layer/recipes-kernel/linux/linux-imx_5.4.47_2.2.0-phy1.bb
index 20c27d4..e409bf0 100644
--- a/recipes-kernel/linux/linux-imx_4.19.35_1.0.0-phy1.bb
+++ b/dynamic-layers/freescale-layer/recipes-kernel/linux/linux-imx_5.4.47_2.2.0-phy1.bb
@@ -3,23 +3,24 @@
inherit phygittag
inherit buildinfo
-include linux-common.inc
+inherit fsl-vivante-kernel-driver-handler
+include recipes-kernel/linux/linux-common.inc
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-
-BRANCH = "v4.19.35_1.0.0-phy"
+BRANCH = "v5.4.47_2.2.0-phy"
GIT_URL = "git://git.phytec.de/${PN}"
SRC_URI = "${GIT_URL};branch=${BRANCH}"
PR = "${INC_PR}.0"
# NOTE: PV must be in the format "x.y.z-.*". It cannot begin with a 'v'.
# NOTE: Keep version in filename in sync with commit id!
-SRCREV = "5157ab18c37f0a1e8a5838497f7dcd0869092110"
+SRCREV = "c115f88f1cd68a80e49cf717e30cab8081c97c30"
S = "${WORKDIR}/git"
-INTREE_DEFCONFIG = "defconfig"
+INTREE_DEFCONFIG = "imx_v8_defconfig imx8_phytec_distro.config imx8_phytec_platform.config"
COMPATIBLE_MACHINE = "^("
-COMPATIBLE_MACHINE .= "phyboard-polis-imx8mm-1"
+COMPATIBLE_MACHINE .= "phyboard-polis-imx8mm-3"
+COMPATIBLE_MACHINE .= "|phyboard-polis-imx8mn-1"
+COMPATIBLE_MACHINE .= "|phyboard-polaris-imx8m-3"
COMPATIBLE_MACHINE .= ")$"
diff --git a/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-atf/imx-atf_2.0.bbappend b/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-atf/imx-atf_2.0.bbappend
new file mode 100644
index 0000000..cca835d
--- /dev/null
+++ b/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-atf/imx-atf_2.0.bbappend
@@ -0,0 +1,30 @@
+SRCBRANCH = "imx_5.4.3_2.0.0"
+ATF_SRC ?= "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https"
+SRC_URI = "${ATF_SRC};branch=${SRCBRANCH} \
+ file://0001-Allow-BUILD_STRING-to-be-set-in-.revision-file.patch \
+"
+SRCREV = "f1a195b5cce64365a7227557a9009a4f545aa02d"
+
+PLATFORM_mx8x = "imx8qx"
+# Override PLATFORM_mx8qxp from the included recipe
+PLATFORM_mx8qxp = "imx8qx"
+PLATFORM_mx8mn = "imx8mn"
+PLATFORM_mx8mp = "imx8mp"
+PLATFORM_imx8dxlevk = "imx8dxl"
+PLATFORM_mx8dxlevk-phantom = "imx8qx"
+PLATFORM_mx8dx = "imx8dx"
+
+BUILD_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}"
+
+do_compile_append() {
+ if [ "${BUILD_OPTEE}" = "true" ]; then
+ oe_runmake clean BUILD_BASE=build-optee
+ oe_runmake BUILD_BASE=build-optee SPD=opteed bl31
+ fi
+}
+
+do_deploy_append () {
+ if [ "${BUILD_OPTEE}" = "true" ]; then
+ install -m 0644 ${S}/build-optee/${PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${PLATFORM}.bin-optee
+ fi
+}
diff --git a/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot-phytec/0001-Revert-imx8m-Add-DTB-pre-process-script-to-check-u-b.patch b/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot-phytec/0001-Revert-imx8m-Add-DTB-pre-process-script-to-check-u-b.patch
new file mode 100644
index 0000000..ede0a6b
--- /dev/null
+++ b/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot-phytec/0001-Revert-imx8m-Add-DTB-pre-process-script-to-check-u-b.patch
@@ -0,0 +1,147 @@
+From 9002df9bbf7f11006a6ffedeb003a4836d2a05ee Mon Sep 17 00:00:00 2001
+From: Teresa Remmet <t.remmet@phytec.de>
+Date: Mon, 27 Jul 2020 14:18:59 +0200
+Subject: [PATCH] Revert "imx8m: Add DTB pre-process script to check u-boot
+ DTB"
+
+This reverts commit ab433440269bbd5383b47ee60957e9906cda0b3b.
+
+This patch causes a lot of trouble for us it is only useful in NXP
+context and breaks our u-boot image creation in multiple ways.
+
+Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
+---
+ iMX8M/soc.mak | 29 +++++------------------------
+ scripts/dtb_check.sh | 27 ---------------------------
+ 2 files changed, 5 insertions(+), 51 deletions(-)
+ delete mode 100755 scripts/dtb_check.sh
+
+diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak
+index b7b3986fb59d..5b79971ba0f3 100644
+--- a/iMX8M/soc.mak
++++ b/iMX8M/soc.mak
+@@ -19,7 +19,6 @@ ARCHIVE_NAME ?= $(shell cat nightly.txt).tar
+ BITBUCKET_SERVER=https://bitbucket.sw.nxp.com
+ DDR_FW_DIR=projects/IMX/repos/linux-firmware-imx/raw/firmware/ddr/synopsys
+ PAD_IMAGE = ../scripts/pad_image.sh
+-DTB_PREPROC = ../scripts/dtb_check.sh
+
+ PRINT_FIT_HAB_OFFSET ?= 0x60000
+ DEK_BLOB_LOAD_ADDR = 0x40400000
+@@ -133,53 +132,38 @@ u-boot-atf-tee.bin: u-boot.bin bl31.bin tee.bin
+ clean:
+ @rm -f $(MKIMG) u-boot-atf.bin u-boot-atf-tee.bin u-boot-spl-ddr.bin u-boot.itb u-boot.its u-boot-ddr3l.itb u-boot-ddr3l.its u-boot-spl-ddr3l.bin u-boot-ddr4.itb u-boot-ddr4.its u-boot-spl-ddr4.bin u-boot-ddr4-evk.itb u-boot-ivt.itb u-boot-ddr4-evk.its $(OUTIMG)
+
+-dtbs = evk.dtb
+-$(dtbs):
+- ./$(DTB_PREPROC) $(PLAT)-evk.dtb $(dtbs)
+-
++dtbs = fsl-$(PLAT)-evk.dtb
+ u-boot.itb: $(dtbs)
+ ./$(PAD_IMAGE) tee.bin
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtbs)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtbs) > u-boot.its
+ ./mkimage_uboot -E -p 0x3000 -f u-boot.its u-boot.itb
+- @rm -f u-boot.its $(dtbs)
+-
+-dtbs_ddr3l = valddr3l.dtb
+-$(dtbs_ddr3l):
+- ./$(DTB_PREPROC) $(PLAT)-ddr3l-$(VAL_BOARD).dtb $(dtbs_ddr3l)
++ @rm -f u-boot.its
+
++dtbs_ddr3l = fsl-$(PLAT)-ddr3l-$(VAL_BOARD).dtb
+ u-boot-ddr3l.itb: $(dtbs_ddr3l)
+ ./$(PAD_IMAGE) tee.bin
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtbs_ddr3l)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtbs_ddr3l) > u-boot-ddr3l.its
+ ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr3l.its u-boot-ddr3l.itb
+- @rm -f u-boot.its $(dtbs_ddr3l)
+-
+-dtbs_ddr4 = valddr4.dtb
+-$(dtbs_ddr4):
+- ./$(DTB_PREPROC) $(PLAT)-ddr4-$(VAL_BOARD).dtb $(dtbs_ddr4)
+
++dtbs_ddr4 = fsl-$(PLAT)-ddr4-$(VAL_BOARD).dtb
+ u-boot-ddr4.itb: $(dtbs_ddr4)
+ ./$(PAD_IMAGE) tee.bin
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtbs_ddr4)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtbs_ddr4) > u-boot-ddr4.its
+ ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr4.its u-boot-ddr4.itb
+- @rm -f u-boot.its $(dtbs_ddr4)
+-
+-dtbs_ddr4_evk = evkddr4.dtb
+-$(dtbs_ddr4_evk):
+- ./$(DTB_PREPROC) $(PLAT)-ddr4-evk.dtb $(dtbs_ddr4_evk)
+
++dtbs_ddr4_evk = fsl-$(PLAT)-ddr4-evk.dtb
+ u-boot-ddr4-evk.itb: $(dtbs_ddr4_evk)
+ ./$(PAD_IMAGE) tee.bin
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtbs_ddr4_evk)
+ DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtbs_ddr4_evk) > u-boot-ddr4-evk.its
+ ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb
+- @rm -f u-boot.its $(dtbs_ddr4_evk)
+
+ ifeq ($(HDMI),yes)
+ flash_evk: $(MKIMG) signed_hdmi_imx8m.bin u-boot-spl-ddr.bin u-boot.itb
+@@ -256,21 +240,18 @@ print_fit_hab: u-boot-nodtb.bin bl31.bin $(dtbs)
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtbs)
+ TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) VERSION=$(VERSION) ./print_fit_hab.sh $(PRINT_FIT_HAB_OFFSET) $(dtbs)
+- @rm -f $(dtbs)
+
+ print_fit_hab_ddr4: u-boot-nodtb.bin bl31.bin $(dtbs_ddr4_evk)
+ ./$(PAD_IMAGE) tee.bin
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtbs_ddr4_evk)
+ TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) VERSION=$(VERSION) ./print_fit_hab.sh $(PRINT_FIT_HAB_OFFSET) $(dtbs_ddr4_evk)
+- @rm -f $(dtbs_ddr4_evk)
+
+ print_fit_hab_flexspi: u-boot-nodtb.bin bl31.bin $(dtbs)
+ ./$(PAD_IMAGE) tee.bin
+ ./$(PAD_IMAGE) bl31.bin
+ ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtbs)
+ TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) VERSION=$(VERSION) BOOT_DEV="flexspi" ./print_fit_hab.sh $(PRINT_FIT_HAB_OFFSET) $(dtbs)
+- @rm -f $(dtbs)
+
+ nightly :
+ @echo "Pulling nightly for $(PLAT) evk board from $(SERVER)/$(DIR)"
+diff --git a/scripts/dtb_check.sh b/scripts/dtb_check.sh
+deleted file mode 100755
+index ecf986d260aa..000000000000
+--- a/scripts/dtb_check.sh
++++ /dev/null
+@@ -1,27 +0,0 @@
+-#!/bin/bash
+-
+-let dtba=0
+-if [ -f $1 ]; then
+- let dtba=1
+-fi
+-
+-if [ -f fsl-$1 ]; then
+- let dtba=$((dtba + 2))
+-fi
+-
+-if [ $((dtba)) == 3 ]; then
+- echo " Two u-boot DTB files exist: fsl-"$1 "and" $1
+- echo " Please delete unused one!"
+- echo " u-boot imx_v2020.04: "$1
+- echo " u-boot imx_v2019.04: fsl-"$1
+- exit -1
+-elif [ $((dtba)) == 0 ]; then
+- echo " Can't find u-boot DTB file, please copy from u-boot"
+- exit -2
+-elif [ $((dtba)) == 1 ]; then
+- echo "Use u-boot DTB: "$1
+- cp -f $1 $2
+-elif [ $((dtba)) == 2 ]; then
+- echo "Use u-boot DTB: fsl-"$1
+- cp -f fsl-$1 $2
+-fi
+--
+2.7.4
+
diff --git a/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot-phytec/0002-Fix-size-calculation-in-HAB-FIT-shellscripts.patch b/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot-phytec/0002-Fix-size-calculation-in-HAB-FIT-shellscripts.patch
new file mode 100644
index 0000000..c4c115d
--- /dev/null
+++ b/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot-phytec/0002-Fix-size-calculation-in-HAB-FIT-shellscripts.patch
@@ -0,0 +1,57 @@
+From 21f05fd98b696ba5729b18baac92276dbd96d445 Mon Sep 17 00:00:00 2001
+From: Albert Schwarzkopf <a.schwarzkopf@phytec.de>
+Date: Tue, 29 Sep 2020 16:18:18 +0200
+Subject: [PATCH] Fix size calculation in HAB/FIT shellscripts
+
+The previous approach would give wrong results on symlinks or in the
+(unlikely) case should there be more columns in the ls output
+(e. g. due to spaces in group names.).
+
+JIRA: SECRES-249
+
+Signed-off-by: Albert Schwarzkopf <a.schwarzkopf@phytec.de>
+---
+ iMX8M/print_fit_hab.sh | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/iMX8M/print_fit_hab.sh b/iMX8M/print_fit_hab.sh
+index b915115..373a73f 100755
+--- a/iMX8M/print_fit_hab.sh
++++ b/iMX8M/print_fit_hab.sh
+@@ -26,7 +26,7 @@ else
+ let uboot_sign_off=$((fit_off - 0x8000 - ivt_off + 0x3000))
+ fi
+
+-let uboot_size=$(ls -lct u-boot-nodtb.bin | awk '{print $5}')
++let uboot_size=$(stat -L -c "%s" u-boot-nodtb.bin)
+ let uboot_load_addr=0x40200000
+
+ let last_sign_off=$(((uboot_sign_off + uboot_size + 3) & ~3))
+@@ -43,7 +43,7 @@ for dtname in $*
+ do
+ if [ ${cnt} != 0 ]
+ then
+- let fdt${cnt}_size=$(ls -lct $dtname | awk '{print $5}')
++ let fdt${cnt}_size=$(stat -L -c "%s" $dtname)
+
+ let fdt${cnt}_sign_off=$((last_sign_off))
+ let fdt${cnt}_load_addr=$((last_load_addr))
+@@ -64,13 +64,13 @@ done
+
+ let atf_sign_off=$((last_sign_off))
+ let atf_load_addr=$ATF_LOAD_ADDR
+-let atf_size=$(ls -lct bl31.bin | awk '{print $5}')
++let atf_size=$(stat -L -c "%s" bl31.bin)
+
+ if [ ! -f $BL32 ]; then
+ let tee_size=0x0
+ let tee_sign_off=$((atf_sign_off + atf_size))
+ else
+- let tee_size=$(ls -lct tee.bin | awk '{print $5}')
++ let tee_size=$(stat -L -c "%s" tee.bin)
+
+ let tee_sign_off=$(((atf_sign_off + atf_size + 3) & ~3))
+ let tee_load_addr=$TEE_LOAD_ADDR
+--
+2.17.1
+
diff --git a/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot-phytec_1.0.bb b/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot-phytec_1.0.bb
new file mode 100644
index 0000000..fd41261
--- /dev/null
+++ b/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot-phytec_1.0.bb
@@ -0,0 +1,274 @@
+# Copyright 2017-2020 NXP
+
+require recipes-bsp/imx-mkimage/imx-mkimage_git.inc
+require recipes-bsp/imx-seco/imx-seco.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"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://0001-Revert-imx8m-Add-DTB-pre-process-script-to-check-u-b.patch \
+ file://0002-Fix-size-calculation-in-HAB-FIT-shellscripts.patch \
+ "
+
+IMX_EXTRA_FIRMWARE = "firmware-imx-8 imx-sc-firmware imx-seco"
+IMX_EXTRA_FIRMWARE_mx8m = "firmware-imx-8m"
+IMX_EXTRA_FIRMWARE_mx8x = "imx-sc-firmware imx-seco"
+DEPENDS += " \
+ u-boot \
+ ${IMX_EXTRA_FIRMWARE} \
+ imx-atf \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os', '', d)} \
+"
+DEPENDS_append_mx8m = " u-boot-mkimage-native 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}"
+
+IMX_M4_DEMOS = ""
+IMX_M4_DEMOS_mx8qm = "imx-m4-demos:do_deploy"
+IMX_M4_DEMOS_mx8x = "imx-m4-demos:do_deploy"
+IMX_M4_DEMOS_mx8dxl = "imx-m4-demos:do_deploy"
+
+M4_DEFAULT_IMAGE ?= "m4_image.bin"
+M4_DEFAULT_IMAGE_mx8qxp = "imx8qx_m4_TCM_power_mode_switch.bin"
+M4_DEFAULT_IMAGE_mx8phantomdxl = "imx8dxl-phantom_m4_TCM_srtm_demo.bin"
+M4_DEFAULT_IMAGE_mx8dxl = "imx8dxl_m4_TCM_power_mode_switch.bin"
+M4_DEFAULT_IMAGE_mx8dx = "imx8qx_m4_TCM_power_mode_switch.bin"
+
+# 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 \
+ ${IMX_M4_DEMOS} \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os:do_deploy', '', d)} \
+"
+
+SC_FIRMWARE_NAME ?= "scfw_tcm.bin"
+
+ATF_MACHINE_NAME ?= "bl31-imx8qm.bin"
+ATF_MACHINE_NAME_mx8qm = "bl31-imx8qm.bin"
+ATF_MACHINE_NAME_mx8x = "bl31-imx8qx.bin"
+ATF_MACHINE_NAME_mx8mq = "bl31-imx8mq.bin"
+ATF_MACHINE_NAME_mx8mm = "bl31-imx8mm.bin"
+ATF_MACHINE_NAME_mx8mn = "bl31-imx8mn.bin"
+ATF_MACHINE_NAME_mx8mp = "bl31-imx8mp.bin"
+ATF_MACHINE_NAME_mx8phantomdxl = "bl31-imx8qx.bin"
+ATF_MACHINE_NAME_mx8dxl = "bl31-imx8dxl.bin"
+ATF_MACHINE_NAME_mx8dx = "bl31-imx8dx.bin"
+ATF_MACHINE_NAME_append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
+
+TOOLS_NAME ?= "mkimage_imx8"
+
+SOC_TARGET ?= "INVALID"
+SOC_TARGET_mx8qm = "iMX8QM"
+SOC_TARGET_mx8x = "iMX8QX"
+SOC_TARGET_mx8mq = "iMX8M"
+SOC_TARGET_mx8mm = "iMX8MM"
+SOC_TARGET_mx8mn = "iMX8MN"
+SOC_TARGET_mx8mp = "iMX8MP"
+SOC_TARGET_mx8dxl = "iMX8DXL"
+SOC_TARGET_mx8phantomdxl = "iMX8QX"
+SOC_TARGET_mx8dx = "iMX8DX"
+
+DEPLOY_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}"
+
+IMXBOOT_TARGETS ?= \
+ "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \
+ bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand', \
+ 'flash_multi_cores flash_dcd', d), d)}"
+
+BOOT_STAGING = "${S}/${SOC_TARGET}"
+BOOT_STAGING_mx8m = "${S}/iMX8M"
+BOOT_STAGING_mx8dx = "${S}/iMX8QX"
+
+SOC_FAMILY = "INVALID"
+SOC_FAMILY_mx8 = "mx8"
+SOC_FAMILY_mx8m = "mx8m"
+SOC_FAMILY_mx8x = "mx8x"
+
+REV_OPTION ?= ""
+REV_OPTION_mx8qxpc0 = "REV=C0"
+
+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_dp_imx8m.bin ${BOOT_STAGING}
+ cp ${DEPLOY_DIR_IMAGE}/signed_hdmi_imx8m.bin ${BOOT_STAGING}
+ cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME} ${BOOT_STAGING}
+ bbnote "\
+Using standard mkimage from u-boot-tools for FIT image builds. The standard \
+mkimage is compatible for this use, and using it saves us from having to \
+maintain a custom recipe."
+ ln -sf ${STAGING_DIR_NATIVE}${bindir}/mkimage ${BOOT_STAGING}/mkimage_uboot
+ cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
+ for type in ${UBOOT_CONFIG}; do
+ cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${type} \
+ ${BOOT_STAGING}/u-boot-spl.bin-${type}
+ cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type} \
+ ${BOOT_STAGING}/u-boot-nodtb.bin-${type}
+ cp ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.bin-${type} ${BOOT_STAGING}/u-boot.bin-${type}
+ done
+}
+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
+ for type in ${UBOOT_CONFIG}; do
+ cp ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.bin-${type} ${BOOT_STAGING}/u-boot.bin-${type}
+ if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${type} ] ; then
+ cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${type} \
+ ${BOOT_STAGING}/u-boot-spl.bin-${type}
+ fi
+ done
+ cp ${DEPLOY_DIR_IMAGE}/imx8qm_m4_0_TCM_power_mode_switch_m40.bin \
+ ${BOOT_STAGING}/m4_image.bin
+ cp ${DEPLOY_DIR_IMAGE}/imx8qm_m4_1_TCM_power_mode_switch_m41.bin \
+ ${BOOT_STAGING}/m4_1_image.bin
+ cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}
+}
+
+compile_mx8x() {
+ bbnote 8QX boot binary build
+ cp ${DEPLOY_DIR_IMAGE}/${M4_DEFAULT_IMAGE} ${BOOT_STAGING}/m4_image.bin
+ cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${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
+ for type in ${UBOOT_CONFIG}; do
+ cp ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.bin-${type} ${BOOT_STAGING}/u-boot.bin-${type}
+ if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${type} ] ; then
+ cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${type} \
+ ${BOOT_STAGING}/u-boot-spl.bin-${type}
+ fi
+ done
+}
+do_compile() {
+ compile_${SOC_FAMILY}
+ # Copy TEE binary to SoC target folder to mkimage
+ if ${DEPLOY_OPTEE}; then
+ cp ${DEPLOY_DIR_IMAGE}/tee.bin ${BOOT_STAGING}
+ fi
+ # mkimage for i.MX8
+ for target in ${IMXBOOT_TARGETS}; do
+ for type in ${UBOOT_CONFIG}; do
+ allbins="u-boot.bin u-boot-nodtb.bin u-boot-spl.bin"
+ for bin in ${allbins} ; do
+ if [ -e "${BOOT_STAGING}/${bin}" ]; then
+ rm ${BOOT_STAGING}/${bin}
+ fi
+ if [ -e "${BOOT_STAGING}/${bin}-${type}" ]; then
+ ln -s ${bin}-${type} ${BOOT_STAGING}/${bin}
+ fi
+ done
+ make clean
+ if [ "$target" = "flash_linux_m4_no_v2x" ]; then
+ # Special target build for i.MX 8DXL with V2X off
+ bbnote "building ${SOC_TARGET} - ${REV_OPTION} V2X=NO ${target}"
+ make SOC=${SOC_TARGET} dtbs=${UBOOT_DTB_NAME} ${REV_OPTION} V2X=NO flash_linux_m4
+ else
+ bbnote "building ${SOC_TARGET} - ${REV_OPTION} ${target}"
+ make SOC=${SOC_TARGET} dtbs=${UBOOT_DTB_NAME} ${REV_OPTION} ${target}
+ fi
+ if [ -e "${BOOT_STAGING}/flash.bin" ]; then
+ cp ${BOOT_STAGING}/flash.bin ${S}/${BOOT_NAME}-${MACHINE}-${type}.bin-${target}
+ fi
+ done
+ done
+}
+
+do_install () {
+ install -d ${D}/boot
+ for target in ${IMXBOOT_TARGETS}; do
+ for type in ${UBOOT_CONFIG}; do
+ install -m 0644 ${S}/${BOOT_NAME}-${MACHINE}-${type}.bin-${target} ${D}/boot/
+ done
+ done
+}
+
+deploy_mx8m() {
+ install -d ${DEPLOYDIR}/${BOOT_TOOLS}
+ for type in ${UBOOT_CONFIG}; do
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${type} \
+ ${DEPLOYDIR}/${BOOT_TOOLS}
+ done
+ for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${DEPLOYDIR}/${BOOT_TOOLS}
+ done
+ install -m 0644 ${BOOT_STAGING}/signed_dp_imx8m.bin ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/signed_hdmi_imx8m.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}
+ install -m 0755 ${BOOT_STAGING}/mkimage_uboot ${DEPLOYDIR}/${BOOT_TOOLS}
+}
+deploy_mx8() {
+ install -d ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/m4_image.bin ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/m4_1_image.bin ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ for type in ${UBOOT_CONFIG}; do
+ if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${type} ] ; then
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${type} \
+ ${DEPLOYDIR}/${BOOT_TOOLS}
+ fi
+ done
+}
+deploy_mx8x() {
+ install -d ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/m4_image.bin ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ for type in ${UBOOT_CONFIG}; do
+ if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${type} ] ; then
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${type} \
+ ${DEPLOYDIR}/${BOOT_TOOLS}
+ fi
+ done
+}
+do_deploy() {
+ deploy_${SOC_FAMILY}
+ # copy tee.bin to deploy path
+ if "${DEPLOY_OPTEE}"; then
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/tee.bin ${DEPLOYDIR}/${BOOT_TOOLS}
+ fi
+ # copy the tool mkimage to deploy path and sc fw, dcd and uboot
+ for type in ${UBOOT_CONFIG}; do
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.bin-${type} \
+ ${DEPLOYDIR}/${BOOT_TOOLS}
+ done
+ # 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
+ for type in ${UBOOT_CONFIG}; do
+ install -m 0644 ${S}/${BOOT_NAME}-${MACHINE}-${type}.bin-${target} \
+ ${DEPLOYDIR}
+ # Link last type
+ ln -sf ${BOOT_NAME}-${MACHINE}-${type}.bin-${IMAGE_IMXBOOT_TARGET} \
+ ${DEPLOYDIR}/${BOOT_NAME}
+ done
+ done
+}
+addtask deploy before do_build after do_compile
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+FILES_${PN} = "/boot"
+
+COMPATIBLE_MACHINE = "(mx8)"
diff --git a/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend b/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend
deleted file mode 100644
index b0def7d..0000000
--- a/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend
+++ /dev/null
@@ -1,15 +0,0 @@
-do_compile() {
- compile_${SOC_FAMILY}
- # Copy TEE binary to SoC target folder to mkimage
- if ${DEPLOY_OPTEE}; then
- cp ${DEPLOY_DIR_IMAGE}/tee.bin ${BOOT_STAGING}
- fi
- # mkimage for i.MX8
- for target in ${IMXBOOT_TARGETS}; do
- bbnote "building ${SOC_TARGET} - ${target}"
- make SOC=${SOC_TARGET} dtbs=${UBOOT_DTB_NAME} ${target}
- if [ -e "${BOOT_STAGING}/flash.bin" ]; then
- cp ${BOOT_STAGING}/flash.bin ${S}/${BOOT_CONFIG_MACHINE}-${target}
- fi
- done
-}
diff --git a/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-mkimage/0001-Parsing-the-devicetree-name.patch b/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-mkimage/0001-Parsing-the-devicetree-name.patch
deleted file mode 100755
index bc5c123..0000000
--- a/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-mkimage/0001-Parsing-the-devicetree-name.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From fe346e05564e6166b78ac6b784cd4bc9a474e0dd Mon Sep 17 00:00:00 2001
-From: Christian Hemp <c.hemp@phytec.de>
-Date: Thu, 1 Aug 2019 10:10:59 +0200
-Subject: [PATCH] Parsing the devicetree name
-
-The devicetree name is hardcoded to the NXP eval board.
-Because our u-boot devicetree has not the same name, we need a
-possibility to pass the name to the image creation.
-
-Signed-off-by: Christian Hemp <c.hemp@phytec.de>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 49ef486..7f5c08c 100644
---- a/Makefile
-+++ b/Makefile
-@@ -17,7 +17,7 @@ vpath $(INCLUDE)
-
- .DEFAULT:
- @$(MAKE) -s --no-print-directory bin
-- @$(MAKE) --no-print-directory -C $(SOC_DIR) -f soc.mak $@
-+ @$(MAKE) dtbs=${DTBS} --no-print-directory -C $(SOC_DIR) -f soc.mak $@
-
- #print out usage as the default target
- all: $(MKIMG) help
---
-2.17.1
-
diff --git a/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-mkimage_%.bbappend b/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-mkimage_%.bbappend
deleted file mode 100644
index b8561ec..0000000
--- a/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-mkimage/imx-mkimage_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += "file://0001-Parsing-the-devicetree-name.patch"
diff --git a/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_%.bbappend b/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_%.bbappend
new file mode 100644
index 0000000..0ccc5b0
--- /dev/null
+++ b/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_%.bbappend
@@ -0,0 +1 @@
+COMPATIBLE_MACHINE = "(mx8mp)"
diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia/0001-videonode-remove-imx-plugin.patch b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia/0001-videonode-remove-imx-plugin.patch
deleted file mode 100644
index 6f40235..0000000
--- a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia/0001-videonode-remove-imx-plugin.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From ecb72b397631997460f9ae9a68c43450036dc3bb Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Stefan=20M=C3=BCller-Klieser?= <s.mueller-klieser@phytec.de>
-Date: Thu, 10 Aug 2017 14:00:29 +0200
-Subject: [PATCH] videonode: remove imx plugin
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The plugins has render bug. It will not output frames to the screen
-using the imx-gpu-viv_5.0.11.p8.6-hfp driver. The default EGL plugin
-will at least output the video.
-
-Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de>
----
- src/plugins/videonode/videonode.pro | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/src/plugins/videonode/videonode.pro b/src/plugins/videonode/videonode.pro
-index ab72954..1529fff 100644
---- a/src/plugins/videonode/videonode.pro
-+++ b/src/plugins/videonode/videonode.pro
-@@ -1,8 +1,4 @@
- TEMPLATE = subdirs
- QT_FOR_CONFIG += gui-private multimedia-private
-
--qtConfig(gpu_vivante) {
-- SUBDIRS += imx6
--}
--
- qtConfig(egl):qtConfig(opengles2):!android: SUBDIRS += egl
---
-2.7.4
-
diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_git.bbappend b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_git.bbappend
deleted file mode 100644
index c53d4d0..0000000
--- a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_git.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-#SRC_URI += "file://0001-videonode-remove-imx-plugin.patch"
diff --git a/recipes-bsp/barebox/barebox-boot-scripts.inc b/recipes-bsp/barebox/barebox-boot-scripts.inc
new file mode 100644
index 0000000..831fa35
--- /dev/null
+++ b/recipes-bsp/barebox/barebox-boot-scripts.inc
@@ -0,0 +1,81 @@
+inherit barebox-environment-2
+inherit buildinfo
+inherit phygittag
+
+def env_add_boot_scripts(d, kernelname, mmcid, emmcid):
+ import textwrap
+
+ mmcboot = textwrap.dedent("""\
+ #!/bin/sh
+
+ detect mmc{mmcid}
+
+ [ -e /env/config-expansions ] && /env/config-expansions
+
+ global.bootm.appendroot=1
+ global.bootm.root_dev=/dev/mmc{mmcid}.{rootid}
+ global.bootm.image="/mnt/mmc{mmcid}.{partid}/{kernel}"
+ global.bootm.oftree="/mnt/mmc{mmcid}.{partid}/oftree"
+ global.linux.bootargs.dyn.root="rootflags='data=journal'"
+ """)
+ nandboot = textwrap.dedent("""\
+ #!/bin/sh
+
+ [ -e /env/config-expansions ] && /env/config-expansions
+
+ [ ! -e /dev/nand0.root.ubi ] && ubiattach /dev/nand0.root
+
+ global.bootm.image="/dev/nand0.root.ubi.kernel{partid}"
+ global.bootm.oftree="/dev/nand0.root.ubi.oftree{partid}"
+ global.linux.bootargs.dyn.root="root=ubi0:root{partid} ubi.mtd=root rootfstype=ubifs"
+ """)
+ netboot = textwrap.dedent("""\
+ #!/bin/sh
+
+ [ -e /env/config-expansions ] && /env/config-expansions
+
+ path="/mnt/tftp"
+
+ global.bootm.image="${path}/${global.user}-linux-${global.hostname}"
+
+ oftree="${path}/${global.user}-oftree-${global.hostname}"
+ if [ -f "${oftree}" ]; then
+ global.bootm.oftree="$oftree"
+ fi
+
+ nfsroot="/nfsroot/${global.hostname}"
+ ip_route_get -b ${global.net.server} global.linux.bootargs.dyn.ip
+ global.linux.bootargs.dyn.root="root=/dev/nfs nfsroot=$nfsroot,vers=3,tcp"
+ """)
+ spiboot = textwrap.dedent("""\
+ #!/bin/sh
+
+ [ -e /env/config-expansions ] && /env/config-expansions
+
+ global.bootm.image="/dev/m25p0.kernel"
+ global.bootm.oftree="/dev/m25p0.oftree"
+ global.linux.bootargs.dyn.root="{root}"
+ """)
+
+ if bb.utils.contains("MACHINE_FEATURES", "emmc", True, False, d):
+ env_add(d, "boot/emmc", mmcboot.format(kernel=kernelname,
+ mmcid=emmcid, partid=0,
+ rootid=1))
+ env_add(d, "boot/system0", mmcboot.format(kernel=kernelname,
+ mmcid=emmcid, partid=0,
+ rootid=1))
+ env_add(d, "boot/system1", mmcboot.format(kernel=kernelname,
+ mmcid=emmcid, partid=2,
+ rootid=3))
+ spiroot = "root=/dev/mmcblk{}p2 rootflags='data=journal'".format(emmcid)
+ else:
+ env_add(d, "boot/nand", nandboot.format(partid=""))
+ env_add(d, "boot/system0", nandboot.format(partid=0))
+ env_add(d, "boot/system1", nandboot.format(partid=1))
+ spiroot = "root=ubi0:root ubi.mtd=root rootfstype=ubifs"
+
+ env_add(d, "boot/mmc", mmcboot.format(kernel=kernelname,
+ mmcid=mmcid, partid=0,
+ rootid=1))
+ env_add(d, "boot/net", netboot)
+ env_add(d, "boot/spi", spiboot.format(root = spiroot))
diff --git a/recipes-bsp/barebox/barebox-hosttools-native_2017.12.0-phy6.bb b/recipes-bsp/barebox/barebox-hosttools-native_2019.11.0-phy3.bb
index 60e58d2..60e58d2 100755..100644
--- a/recipes-bsp/barebox/barebox-hosttools-native_2017.12.0-phy6.bb
+++ b/recipes-bsp/barebox/barebox-hosttools-native_2019.11.0-phy3.bb
diff --git a/recipes-bsp/barebox/barebox-hosttools-native_2019.01.0-phy4.bb b/recipes-bsp/barebox/barebox-hosttools-native_2020.09.0-phy1.bb
index 60e58d2..60e58d2 100755..100644
--- a/recipes-bsp/barebox/barebox-hosttools-native_2019.01.0-phy4.bb
+++ b/recipes-bsp/barebox/barebox-hosttools-native_2020.09.0-phy1.bb
diff --git a/recipes-bsp/barebox/barebox-protectionshield.inc b/recipes-bsp/barebox/barebox-protectionshield.inc
new file mode 100644
index 0000000..d11ef09
--- /dev/null
+++ b/recipes-bsp/barebox/barebox-protectionshield.inc
@@ -0,0 +1,42 @@
+EXTRAPATHS_prepend := "${THISDIR}/barebox:"
+
+SRC_URI_append = " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'protectionshield','file://set-password.cfg', '', d)} \
+"
+
+PROTECTION_SHIELD_ROOT_PASSWORD ??= "root"
+
+def set_root_password(d, hashvalue):
+ pathS = d.getVar("S", True)
+ fn = "passwdfile"
+ pathFN = pathS + "/" + fn
+ if not os.path.exists(pathS):
+ os.makedirs(pathS)
+ try:
+ manifest = open(pathFN,'w')
+ except OSError:
+ raise bb.build.FuncFailed('Unable to open passwdfile')
+ manifest.write(hashvalue)
+ manifest.close()
+
+def set_shield_password(d):
+ import hashlib
+ passwd = d.getVar('PROTECTION_SHIELD_ROOT_PASSWORD', True) or ""
+ hashvalue = hashlib.sha512(passwd.encode()).hexdigest()
+ set_root_password(d,hashvalue)
+
+
+do_patch_append_shieldlow (){
+ set_shield_password(d)
+}
+
+do_patch_append_shieldmedium (){
+ set_shield_password(d)
+}
+
+python do_patch_append_shieldhigh () {
+ import binascii
+ #random hash
+ hashvalue = binascii.hexlify(os.urandom(64)).decode('ascii')
+ set_root_password(d,hashvalue)
+}
diff --git a/recipes-bsp/barebox/barebox-secureboot.inc b/recipes-bsp/barebox/barebox-secureboot.inc
index 0ac51bb..225df61 100644
--- a/recipes-bsp/barebox/barebox-secureboot.inc
+++ b/recipes-bsp/barebox/barebox-secureboot.inc
@@ -1,10 +1,16 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/barebox:"
-SRC_URI_append = " \
+SRC_URI_append_secureboot = " \
file://dynamic-config.cfg \
"
-DEPENDS += "nxp-cst-native dtc-native u-boot-mkimage-native"
+DEPENDS_append_secureboot = " phytec-dev-ca-native nxp-cst-native dtc-native u-boot-mkimage-native"
+do_patch[depends] += "phytec-dev-ca-native:do_install dtc-native:do_populate_sysroot u-boot-mkimage-native:do_populate_sysroot"
+
+BAREBOX_BIN_SIGNED ?= "images/${BAREBOX_BASE_BIN}-s.img"
+BAREBOX_BIN_SIGNEDUSB ?= "images/${BAREBOX_BASE_BIN}-us.img"
+
+BAREBOX_LINK_NAME ?= "barebox"
#Create an empty device tree
def write_signature_node(d):
@@ -82,25 +88,20 @@ def write_command(name,out):
def check_fitimage_keyring(d):
- # check for problematic certificate setups
- shasum = write_command("sha256sum " + d.getVar("FITIMAGE_SIGN_KEY_PATH",True),'')
- if (len(shasum) > 0) and \
- (shasum.split(' ',1)[0] == "fda2863c40b971a6909ff5c278d27988dc14361d10920299c51e9a1a163984dc") :
- bb.warn("!! CRITICAL SECURITY WARNING: You're using Phytec's Development Keyring for Secure Boot in the fit-image. Please create your own!!")
+ # check for problematic certificate setups
+ shasum = write_command("sha256sum " + d.getVar("FITIMAGE_SIGN_KEY_PATH",True),'')
+ if ((len(shasum) > 0) and (shasum.split(' ',1)[0] == "6f92252aab834bbe8090e92c44f051b2c40db8e3953c8c26c04c14e7ae2db7d8")) or \
+ ((len(shasum) > 0) and (shasum.split(' ',1)[0] == "1e3eb95fe6a7d1e45db761bff6eedafb9291661480e1a1ad10eb6f5b8b9961c1")):
+ bb.warn("!! CRITICAL SECURITY WARNING: You're using Phytec's Development Keyring for Secure Boot in the fit-image. Please create your own!!")
def check_bootloader_keyring(d):
- # check for problematic certificate setups
- shasumIMG=write_command("sha256sum " + d.getVar("BAREBOX_SIGN_IMG_PATH", True),'')
- shasumCSF=write_command("sha256sum " + d.getVar("BAREBOX_SIGN_CSF_PATH", True),'')
- shasumSRK=write_command("sha256sum " + d.getVar("BAREBOX_SIGN_SRKFUSE_PATH", True),'')
- if ((len(shasumIMG) > 0) and (shasumIMG.split(' ',1)[0] == "e8cb6f5c1aa9bdeb6229ecf370657ff07a04cdde844398ed1608b133869c207f")) or \
- ((len(shasumCSF) >0) and (shasumCSF.split(' ',1)[0] == "4a88f679dee78597ef7204e6e134047e6428ed83d8b66fd894dbe208a199f6b8")) or \
- ((len(shasumSRK) >0) and (shasumSRK.split(' ',1)[0] == "0d5dbc6ed8b0a55414648b19727e217453c54d1527cef3a62784ae818c9777e7")):
- bb.warn("!! CRITICAL SECURITY WARNING: You're using Phytec's Development Keyring fore Secure Boot in the bootloader. Please create your own!!")
-
-#python do_create_dynamic_cfg () {
-do_patch_append() {
+ # check for problematic certificate setups
+ shasumSRK=write_command("sha256sum "+ d.getVar("BOOTLOADER_SIGN_SRKFUSE_PATH", True),'')
+ if ((len(shasumSRK) >0) and (shasumSRK.split(' ',1)[0] == "0d5dbc6ed8b0a55414648b19727e217453c54d1527cef3a62784ae818c9777e7")):
+ bb.warn("!! CRITICAL SECURITY WARNING: You're using Phytec's Development Keyring for Secure Boot in the bootloader. Please create your own!!")
+
+do_patch_append_secureboot() {
import os
import subprocess
@@ -112,18 +113,26 @@ do_patch_append() {
# noch Verzeinis Pruefen ansonsten anlegen
file = open(pathCFG,"w")
- #if (d.getVar("BAREBOX_SIGN", True) == "1"):
- if oe.data.typed_value("BAREBOX_SIGN", d):
+ if oe.data.typed_value("BOOTLOADER_SIGN", d):
check_bootloader_keyring(d)
+ #activated HAB
file.write("CONFIG_HAB=y\n")
file.write("CONFIG_HABV4=y\n")
- file.write('CONFIG_HABV4_TABLE_BIN="%s"\n' % d.getVar("BAREBOX_SIGN_SRKFUSE_PATH", True))
- file.write('CONFIG_HABV4_CSF_CRT_PEM="%s"\n' % d.getVar("BAREBOX_SIGN_CSF_PATH", True))
- file.write('CONFIG_HABV4_IMG_CRT_PEM="%s"\n' % d.getVar("BAREBOX_SIGN_IMG_PATH", True))
+ file.write('CONFIG_HABV4_TABLE_BIN="%s"\n' % d.getVar("BOOTLOADER_SIGN_SRKFUSE_PATH", True))
+ file.write('CONFIG_HABV4_CSF_CRT_PEM="%s"\n' % d.getVar("BOOTLOADER_SIGN_CSF_PATH", True))
+ file.write('CONFIG_HABV4_IMG_CRT_PEM="%s"\n' % d.getVar("BOOTLOADER_SIGN_IMG_PATH", True))
+ #add hab command for burning fuses
file.write("CONFIG_CMD_HAB=y\n")
+ #signing images
+ file.write("CONFIG_HABV4_IMAGE_SIGNED=y\n")
+ file.write("CONFIG_HABV4_IMAGE_SIGNED_USB=y\n")
+ #no loading of environment from the flash and use compile in environment
+ file.write("# CONFIG_ENV_HANDLING is not set\n")
+ file.write("CONFIG_DEFAULT_ENVIRONMENT=y\n")
+ file.write("# CONFIG_CMD_SAVEENV is not set\n")
+ file.write("# CONFIG_CMD_LOADENV is not set\n")
- #if (d.getVar("FITIMAGE_SIGN", True) == "1"):
if oe.data.typed_value("FITIMAGE_SIGN", d):
check_fitimage_keyring(d)
file.write("CONFIG_FITIMAGE=y\n")
@@ -141,9 +150,11 @@ do_patch_append() {
file.close()
}
-#addtask do_create_dynamic_cfg before do_configure
-python do_create_dynamic_dtree (){
+python do_create_dynamic_dtree(){
+}
+
+python do_create_dynamic_dtree_append_secureboot (){
import os
pathDD = d.getVar("WORKDIR", True)
@@ -151,7 +162,6 @@ python do_create_dynamic_dtree (){
os.makedirs(pathDD)
#Create Pubkey Signature for Barebox
- #if (d.getVar("FITIMAGE_SIGN", True) == "1"):
if oe.data.typed_value("FITIMAGE_SIGN", d):
write_signature_node(d)
write_signature_creation(d)
@@ -159,8 +169,27 @@ python do_create_dynamic_dtree (){
path, file = os.path.split(d.getVar("FITIMAGE_SIGN_KEY_PATH", True))
write_command("mkimage -f " + pathDD + "/signature_creation.its -k " + path + " -K " + pathDD + "/signature_node.dtb -r " + pathDD + "/dummy.img", '')
write_command("dtc -I dtb " + pathDD + "/signature_node.dtb", d.getVar("FITIMAGE_PUBKEY_SIGNATURE_PATH", True))
-
}
addtask do_create_dynamic_dtree before do_configure after do_patch
+do_install_append_secureboot () {
+ if [ "${PN}" = "barebox" ] ; then
+ bbnote "Installing signed barebox image on target rootfs"
+ install ${B}/${BAREBOX_BIN_SIGNED} ${D}${base_bootdir}/${BAREBOX_IMAGE_NAME}-s.bin
+ ln -sf ${BAREBOX_IMAGE_NAME}-s.bin ${D}${base_bootdir}/${BAREBOX_LINK_NAME}-s.bin
+ install ${B}/${BAREBOX_BIN_SIGNEDUSB} ${D}${base_bootdir}/${BAREBOX_IMAGE_NAME}-us.bin
+ ln -sf ${BAREBOX_IMAGE_NAME}-us.bin ${D}${base_bootdir}/${BAREBOX_LINK_NAME}-us.bin
+ fi
+}
+
+do_deploy_append_secureboot () {
+ if [ "${PN}" = "barebox" ] ; then
+ bbnote "Deploying signed barebox"
+ install -m 644 ${B}/${BAREBOX_BIN_SIGNED} ${DEPLOYDIR}/${BAREBOX_IMAGE_NAME}-s.bin
+ ln -sf ${BAREBOX_IMAGE_NAME}-s.bin ${DEPLOYDIR}/${BAREBOX_LINK_NAME}-s.bin
+ bbnote "Deploying signed USB barebox"
+ install -m 644 ${B}/${BAREBOX_BIN_SIGNEDUSB} ${DEPLOYDIR}/${BAREBOX_IMAGE_NAME}-us.bin
+ ln -sf ${BAREBOX_IMAGE_NAME}-us.bin ${DEPLOYDIR}/${BAREBOX_LINK_NAME}-us.bin
+ fi
+}
diff --git a/recipes-bsp/barebox/barebox-targettools_2017.12.0-phy6.bb b/recipes-bsp/barebox/barebox-targettools_2019.11.0-phy3.bb
index 21b95af..21b95af 100644
--- a/recipes-bsp/barebox/barebox-targettools_2017.12.0-phy6.bb
+++ b/recipes-bsp/barebox/barebox-targettools_2019.11.0-phy3.bb
diff --git a/recipes-bsp/barebox/barebox-targettools_2019.01.0-phy4.bb b/recipes-bsp/barebox/barebox-targettools_2020.09.0-phy1.bb
index 21b95af..21b95af 100644
--- a/recipes-bsp/barebox/barebox-targettools_2019.01.0-phy4.bb
+++ b/recipes-bsp/barebox/barebox-targettools_2020.09.0-phy1.bb
diff --git a/recipes-bsp/barebox/barebox.inc b/recipes-bsp/barebox/barebox.inc
index b37fc9b..25dd53a 100644
--- a/recipes-bsp/barebox/barebox.inc
+++ b/recipes-bsp/barebox/barebox.inc
@@ -5,15 +5,20 @@ DESCRIPTION = "The barebox is a bootloader designed for embedded systems. It \
HOMEPAGE = "http://www.barebox.org"
SECTION = "bootloaders"
LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=057bf9e50e1ca857d0eb97bfe4ba8e5d"
-DEPENDS += "lzop-native coreutils-native"
+LIC_FILES_CHKSUM ?= "file://COPYING;md5=f5125d13e000b9ca1f0d3364286c4192"
+DEPENDS += "lzop-native coreutils-native bison-native"
PROVIDES = "virtual/bootloader"
# Increase INC_PR everytime the include file is changed.
INC_PR = "r7"
+FILESEXTRAPATHS_prepend := "${THISDIR}/barebox:"
SRC_URI = "http://barebox.org/download/barebox-${PV}.tar.bz2"
PATCHTOOL = "git"
+SRC_URI_append = " \
+ ${@oe.utils.conditional('DEBUG_BUILD','1','file://debugging.cfg','',d)} \
+"
+
inherit kernel-arch deploy
inherit kconfig
@@ -27,7 +32,8 @@ EXTRA_OEMAKE = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${TARGET_PREFIX}gcc" V="${V
B = "${WORKDIR}/build"
# name of the image created by barebox Makefile
-BAREBOX_BIN ?= "barebox.bin"
+BAREBOX_BASE_BIN ?= "barebox"
+BAREBOX_BIN ?= "images/${BAREBOX_BASE_BIN}.img"
# filename of file to be deployed by this recipe
BAREBOX_IMAGE_NAME ?= "barebox-${MACHINE}-${PKGV}-${PKGR}${IMAGE_VERSION_SUFFIX}"
BAREBOX_IMAGE_NAME[vardepsexclude] += "IMAGE_VERSION_SUFFIX"
diff --git a/recipes-bsp/barebox/barebox/0001-scripts-compiler.h-inline-functions-in-headers-must-.patch b/recipes-bsp/barebox/barebox/0001-scripts-compiler.h-inline-functions-in-headers-must-.patch
deleted file mode 100644
index c96791e..0000000
--- a/recipes-bsp/barebox/barebox/0001-scripts-compiler.h-inline-functions-in-headers-must-.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 359966df3721803a1e0873c98182e7280029b068 Mon Sep 17 00:00:00 2001
-From: Michael Olbrich <m.olbrich@pengutronix.de>
-Date: Tue, 6 Feb 2018 11:43:24 +0100
-Subject: [PATCH] scripts/compiler.h: inline functions in headers must be
- static
-
-Without this building bareboxenv-target with gcc 7.3 fails with:
-
- CC scripts/bareboxenv-target
-/tmp/cc9G2oOY.o: In function `file_action':
-bareboxenv.c:(.text+0x14): undefined reference to `xzalloc'
-/tmp/cc9G2oOY.o: In function `concat_path_file':
-bareboxenv.c:(.text+0xf4): undefined reference to `xmalloc'
-/tmp/cc9G2oOY.o: In function `envfs_save':
-bareboxenv.c:(.text+0x5b4): undefined reference to `xzalloc'
-/tmp/cc9G2oOY.o: In function `envfs_load':
-bareboxenv.c:(.text+0x7d8): undefined reference to `xmalloc'
-collect2: error: ld returned 1 exit status
-
-Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
----
- scripts/compiler.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/scripts/compiler.h b/scripts/compiler.h
-index 0891c3b..4cf179b 100644
---- a/scripts/compiler.h
-+++ b/scripts/compiler.h
-@@ -113,7 +113,7 @@ typedef uint32_t __u32;
- (void) (&_min1 == &_min2); \
- _min1 < _min2 ? _min1 : _min2; })
-
--inline void *xmalloc(size_t size)
-+static inline void *xmalloc(size_t size)
- {
- void *p = NULL;
-
-@@ -125,7 +125,7 @@ inline void *xmalloc(size_t size)
- return p;
- }
-
--inline void *xzalloc(size_t size)
-+static inline void *xzalloc(size_t size)
- {
- void *p = xmalloc(size);
- memset(p, 0, size);
---
-2.7.4
-
diff --git a/recipes-bsp/barebox/barebox/set-password.cfg b/recipes-bsp/barebox/barebox/set-password.cfg
new file mode 100644
index 0000000..9f550af
--- /dev/null
+++ b/recipes-bsp/barebox/barebox/set-password.cfg
@@ -0,0 +1,5 @@
+CONFIG_CMD_LOGIN=y
+CONFIG_PASSWORD=y
+CONFIG_PASSWD_MODE_STAR=y
+CONFIG_PASSWD_SUM_SHA512=y
+CONFIG_PASSWORD_DEFAULT="passwdfile"
diff --git a/recipes-bsp/barebox/barebox_2018.11.0-phy3.bb b/recipes-bsp/barebox/barebox_2018.11.0-phy3.bb
index 2214c9c..c5212bb 100644
--- a/recipes-bsp/barebox/barebox_2018.11.0-phy3.bb
+++ b/recipes-bsp/barebox/barebox_2018.11.0-phy3.bb
@@ -3,11 +3,10 @@ inherit buildinfo
require barebox.inc
inherit barebox-environment-2
+LIC_FILES_CHKSUM = "file://COPYING;md5=057bf9e50e1ca857d0eb97bfe4ba8e5d"
+
GIT_URL = "git://git.phytec.de/barebox"
SRC_URI = "${GIT_URL};branch=${BRANCH}"
-SRC_URI += "\
- ${@oe.utils.conditional('DEBUG_BUILD','1','file://debugging.cfg','',d)} \
-"
S = "${WORKDIR}/git"
diff --git a/recipes-bsp/barebox/barebox_2017.12.0-phy6.bb b/recipes-bsp/barebox/barebox_2019.11.0-phy3.bb
index 953526e..aee91ff 100644
--- a/recipes-bsp/barebox/barebox_2017.12.0-phy6.bb
+++ b/recipes-bsp/barebox/barebox_2019.11.0-phy3.bb
@@ -6,8 +6,9 @@ inherit buildinfo
require barebox.inc
inherit barebox-environment-2
-_XTRA_SETUP = "${@bb.utils.contains('DISTRO_FEATURES', 'secureboot', 'secureboot', 'none', d)}"
-include ${THISDIR}/barebox-${_XTRA_SETUP}.inc
+include barebox-secureboot.inc
+include barebox-protectionshield.inc
+include barebox-boot-scripts.inc
GIT_URL = "git://git.phytec.de/barebox"
SRC_URI = "${GIT_URL};branch=${BRANCH}"
@@ -17,11 +18,7 @@ S = "${WORKDIR}/git"
PR = "${INC_PR}.0"
# NOTE: Keep version in filename in sync with commit id!
-SRCREV = "503e2dc772f9d0ab3ca21d54f6ee1af25018dbf7"
-SRC_URI += "\
- ${@oe.utils.conditional('DEBUG_BUILD','1','file://debugging.cfg','',d)} \
- file://0001-scripts-compiler.h-inline-functions-in-headers-must-.patch \
-"
+SRCREV = "b6bff90e9d775b3152ec2af223d941b4e66051f0"
python do_env_append() {
env_add(d, "nv/allow_color", "false\n")
@@ -46,60 +43,30 @@ fi
}
python do_env_append_mx6() {
- env_add(d, "boot/mmc",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-global.bootm.image="/mnt/mmc/zImage"
-global.bootm.oftree="/mnt/mmc/oftree"
-global.linux.bootargs.dyn.root="root=/dev/mmcblk2p2 rootflags='data=journal'"
-""")
- env_add(d, "boot/nand",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-[ ! -e /dev/nand0.root.ubi ] && ubiattach /dev/nand0.root
-
-global.bootm.image="/dev/nand0.root.ubi.kernel"
-global.bootm.oftree="/dev/nand0.root.ubi.oftree"
-global.linux.bootargs.dyn.root="root=ubi0:root ubi.mtd=root rootfstype=ubifs"
-""")
- env_add(d, "boot/net",
-"""#!/bin/sh
+ kernelname = d.getVar("KERNEL_IMAGETYPE", True)
+ if "secureboot" in d.getVar("DISTRO_FEATURES", True):
+ kernelname = "fitImage.fitimg"
+ sdid = "2"
+ emmcid = None
+ dhcp_vendor = "phyFLEX-i.MX6"
-[ -e /env/config-expansions ] && /env/config-expansions
+ if "phyboard" in d.getVar("SOC_FAMILY"):
+ sdid = "0"
+ emmcid = "3"
+ dhcp_vendor = "phyCORE-i.MX6"
-path="/mnt/tftp"
+ if "phycard" in d.getVar("SOC_FAMILY"):
+ dhcp_vendor = "phyCARD-i.MX6"
-global.bootm.image="${path}/${global.user}-linux-${global.hostname}"
+ env_add_boot_scripts(d, kernelname, sdid, emmcid)
-oftree="${path}/${global.user}-oftree-${global.hostname}"
-if [ -f "${oftree}" ]; then
- global.bootm.oftree="$oftree"
-fi
-
-nfsroot="/nfsroot/${global.hostname}"
-bootargs-ip
-global.linux.bootargs.dyn.root="root=/dev/nfs nfsroot=$nfsroot,vers=3,udp"
-""")
- env_add(d, "boot/spi",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-global.bootm.image="/dev/m25p0.kernel"
-global.bootm.oftree="/dev/m25p0.oftree"
-global.linux.bootargs.dyn.root="root=ubi0:root ubi.mtd=root rootfstype=ubifs"
-""")
env_add(d, "expansions/imx6qdl-mira-enable-lvds",
-"""of_fixup_status /soc/aips-bus@02000000/ldb/lvds-channel@0
-of_fixup_status /soc/aips-bus@02100000/i2c@021a0000/touchctrl@44
+"""of_fixup_status /ldb/lvds-channel@0
+of_fixup_status /soc/aips-bus@2100000/i2c@21a0000/touchctrl@44
""")
env_add(d, "expansions/imx6qdl-nunki-enable-lvds",
-"""of_fixup_status /soc/aips-bus@02000000/ldb/lvds-channel@0
-of_fixup_status /soc/aips-bus@02100000/i2c@021a0000/touchctrl@44
+"""of_fixup_status /ldb/lvds-channel@0
+of_fixup_status /soc/aips-bus@2100000/i2c@21a0000/touchctrl@44
""")
env_add(d, "expansions/imx6qdl-mira-peb-eval-01",
"""of_fixup_status /gpio-keys
@@ -107,35 +74,38 @@ of_fixup_status /user-leds
""")
env_add(d, "expansions/imx6qdl-phytec-lcd",
"""#!/bin/sh
-of_fixup_status /soc/aips-bus@02000000/ldb/lvds-channel@0
-of_fixup_status /soc/aips-bus@02100000/i2c@021a4000/polytouch@38
+of_fixup_status /panel-lcd
+of_fixup_status /ldb/lvds-channel@0
+of_fixup_status /soc/aips-bus@2100000/i2c@21a4000/polytouch@38
+""")
+ env_add(d, "expansions/imx6qdl-phytec-lcd-res",
+"""#!/bin/sh
+of_fixup_status /panel-lcd
+of_fixup_status /ldb/lvds-channel@0
+of_fixup_status /soc/aips-bus@2100000/i2c@21a4000/touchctrl@41
""")
env_add(d, "expansions/imx6qdl-phytec-lcd-018-peb-av-02",
-"""of_fixup_status /display@di0
-of_fixup_status /soc/aips-bus@02100000/i2c@021a0000/polytouch@38
+"""of_fixup_status /panel-lcd
+of_fixup_status /display@di0
+of_fixup_status /soc/aips-bus@2100000/i2c@21a0000/polytouch@38
""")
env_add(d, "expansions/imx6qdl-phytec-lcd-018-peb-av-02-res",
-"""of_fixup_status /display@di0
-of_fixup_status /soc/aips-bus@02100000/i2c@021a0000/touchctrl@44
+"""of_fixup_status /panel-lcd
+of_fixup_status /display@di0
+of_fixup_status /soc/aips-bus@2100000/i2c@21a0000/touchctrl@44
""")
env_add(d, "expansions/imx6qdl-phytec-peb-wlbt-01",
"""#!/bin/sh
-of_fixup_status /soc/aips-bus@02100000/usdhc@02198000
+of_fixup_status /soc/aips-bus@2100000/usdhc@2198000
of_fixup_status /regulator-wlan-en
""")
- env_add(d, "network/eth0",
-"""#!/bin/sh
-
-# ip setting (static/dhcp)
-ip=static
-global.dhcp.vendor_id=barebox-${global.hostname}
-
-# static setup used if ip=static
-ipaddr=192.168.3.11
-netmask=255.255.255.0
-gateway=192.168.3.10
-serverip=192.168.3.10
-""")
+ env_add(d, "nv/dev.eth0.mode", "static")
+ env_add(d, "nv/dev.eth0.ipaddr", "192.168.3.11")
+ env_add(d, "nv/dev.eth0.netmask", "255.255.255.0")
+ env_add(d, "nv/net.gateway", "192.168.3.10")
+ env_add(d, "nv/dev.eth0.serverip", "192.168.3.10")
+ env_add(d, "nv/dev.eth0.linux.devname", "eth0")
+ env_add(d, "nv/dhcp.vendor_id", "barebox-{}".format(dhcp_vendor))
}
python do_env_append_phyflex-imx6() {
@@ -149,19 +119,19 @@ python do_env_append_phyflex-imx6() {
#. /env/expansions/imx6qdl-phytec-lcd-res
# imx6qdl-phytec-lcd: 7" display (AC158 / AC138)
-of_display_timings -P "/panel-lcd" -c "edt,etm0700g0edh6"
+of_property -s -f "/panel-lcd" compatible "edt,etm0700g0edh6"
# imx6qdl-phytec-lcd: 7" display (AC104)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0700g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0700g0dh6"
# imx6qdl-phytec-lcd: 5.7" display (AC103)
-#of_display_timings -P "/panel-lcd" -c "edt,etmv570g2dhu"
+#of_property -s -f "/panel-lcd" compatible "edt,etmv570g2dhu"
# imx6qdl-phytec-lcd: 4.3" display (AC102)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0430g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0430g0dh6"
# imx6qdl-phytec-lcd: 3.5" display (AC167 / AC101)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0350g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0350g0dh6"
#Enable VM-XXX on CSI0
@@ -170,34 +140,11 @@ of_display_timings -P "/panel-lcd" -c "edt,etm0700g0edh6"
#Enable VM-XXX on CSI1
#of_camera_selection -a 0x48 -p 1 -b phyCAM-P VM-011-COL
""")
- env_add(d, "expansions/imx6qdl-phytec-lcd-res",
-"""#!/bin/sh
-of_fixup_status /soc/aips-bus@02000000/ldb/lvds-channel@0
-of_fixup_status /soc/aips-bus@02100000/i2c@021a4000/touchctrl@41
-""")
# Enable 32 bit color depth for framebuffer emulation on phyFLEX-CarrierBoard
env_add(d, "nv/linux.bootargs.fb", "imxdrm.legacyfb_depth=32\n");
}
python do_env_append_phyboard-mira-imx6() {
- env_add(d, "boot/emmc",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-global.bootm.image="/mnt/emmc/zImage"
-global.bootm.oftree="/mnt/emmc/oftree"
-global.linux.bootargs.dyn.root="root=/dev/mmcblk3p2 rootflags='data=journal'"
-""")
- env_add(d, "boot/mmc",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-global.bootm.image="/mnt/mmc/zImage"
-global.bootm.oftree="/mnt/mmc/oftree"
-global.linux.bootargs.dyn.root="root=/dev/mmcblk0p2 rootflags='data=journal'"
-""")
env_add(d, "config-expansions",
"""#!/bin/sh
@@ -212,19 +159,19 @@ global.linux.bootargs.dyn.root="root=/dev/mmcblk0p2 rootflags='data=journal'"
#. /env/expansions/imx6qdl-phytec-lcd-018-peb-av-02-res
# imx6qdl-phytec-lcd: 7" display (AC158 / AC138)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0700g0edh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0700g0edh6"
# imx6qdl-phytec-lcd: 7" display (AC104)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0700g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0700g0dh6"
# imx6qdl-phytec-lcd: 5.7" display (AC103)
-#of_display_timings -P "/panel-lcd" -c "edt,etmv570g2dhu"
+#of_property -s -f "/panel-lcd" compatible "edt,etmv570g2dhu"
# imx6qdl-phytec-lcd: 4.3" display (AC102)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0430g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0430g0dh6"
# imx6qdl-phytec-lcd: 3.5" display (AC167 / AC101)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0350g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0350g0dh6"
#Enable VM-XXX on CSI0
#of_camera_selection -a 0x48 -p 0 -b phyCAM-S+ VM-010-BW
@@ -234,24 +181,6 @@ global.linux.bootargs.dyn.root="root=/dev/mmcblk0p2 rootflags='data=journal'"
}
python do_env_append_phyboard-nunki-imx6() {
- env_add(d, "boot/emmc",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-global.bootm.image="/mnt/emmc/zImage"
-global.bootm.oftree="/mnt/emmc/oftree"
-global.linux.bootargs.dyn.root="root=/dev/mmcblk3p2 rootflags='data=journal'"
-""")
- env_add(d, "boot/mmc",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-global.bootm.image="/mnt/mmc/zImage"
-global.bootm.oftree="/mnt/mmc/oftree"
-global.linux.bootargs.dyn.root="root=/dev/mmcblk0p2 rootflags='data=journal'"
-""")
env_add(d, "config-expansions",
"""#!/bin/sh
@@ -264,19 +193,19 @@ global.linux.bootargs.dyn.root="root=/dev/mmcblk0p2 rootflags='data=journal'"
#. /env/expansions/imx6qdl-phytec-lcd-018-peb-av-02-res
# imx6qdl-phytec-lcd: 7" display (AC158 / AC138)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0700g0edh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0700g0edh6"
# imx6qdl-phytec-lcd: 7" display (AC104)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0700g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0700g0dh6"
# imx6qdl-phytec-lcd: 5.7" display (AC103)
-#of_display_timings -P "/panel-lcd" -c "edt,etmv570g2dhu"
+#of_property -s -f "/panel-lcd" compatible "edt,etmv570g2dhu"
# imx6qdl-phytec-lcd: 4.3" display (AC102)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0430g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0430g0dh6"
# imx6qdl-phytec-lcd: 3.5" display (AC167 / AC101)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0350g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0350g0dh6"
#Enable VM-XXX on CSI0
of_camera_selection -a 0x48 -p 0 -b phyCAM-P VM-010-BW
@@ -288,41 +217,15 @@ of_camera_selection -a 0x48 -p 0 -b phyCAM-P VM-010-BW
env_add(d, "nv/linux.bootargs.fb", "imxdrm.legacyfb_depth=32\n");
}
-python do_env_append_phyflex-imx6-3() {
- env_add(d, "nv/linux.bootargs.cma", "cma=256M@1G\n")
-}
-
python do_env_append_phyflex-imx6-4() {
- env_add(d, "nv/linux.bootargs.cma", "cma=256M@1G\n")
+ env_add(d, "nv/linux.bootargs.cma", "cma=256M\n")
}
python do_env_append_phyboard-mira-imx6-4() {
env_add(d, "nv/linux.bootargs.cma", "cma=64M\n")
}
-python do_env_append_phyboard-mira-imx6-5() {
- env_add(d, "boot/spi",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-global.bootm.image="/dev/m25p0.kernel"
-global.bootm.oftree="/dev/m25p0.oftree"
-global.linux.bootargs.dyn.root="root=/dev/mmcblk3p2 rootflags='data=journal'"
-""")
- env_add(d, "nv/linux.bootargs.cma", "cma=256M@1G\n")
-}
-
python do_env_append_phyboard-mira-imx6-6() {
- env_add(d, "boot/spi",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-global.bootm.image="/dev/m25p0.kernel"
-global.bootm.oftree="/dev/m25p0.oftree"
-global.linux.bootargs.dyn.root="root=/dev/mmcblk3p2 rootflags='data=journal'"
-""")
env_add(d, "config-expansions",
"""#!/bin/sh
@@ -337,49 +240,25 @@ global.linux.bootargs.dyn.root="root=/dev/mmcblk3p2 rootflags='data=journal'"
#. /env/expansions/imx6qdl-phytec-lcd-018-peb-av-02-res
# imx6qdl-phytec-lcd: 7" display (AC158 / AC138)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0700g0edh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0700g0edh6"
# imx6qdl-phytec-lcd: 7" display (AC104)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0700g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0700g0dh6"
# imx6qdl-phytec-lcd: 5.7" display (AC103)
-#of_display_timings -P "/panel-lcd" -c "edt,etmv570g2dhu"
+#of_property -s -f "/panel-lcd" compatible "edt,etmv570g2dhu"
# imx6qdl-phytec-lcd: 4.3" display (AC102)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0430g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0430g0dh6"
# imx6qdl-phytec-lcd: 3.5" display (AC167 / AC101)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0350g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0350g0dh6"
#Enable VM-XXX on CSI0
#of_camera_selection -a 0x48 -p 0 -b phyCAM-S+ VM-010-BW
""")
}
-python do_env_append_phyboard-mira-imx6-7() {
- env_add(d, "boot/spi",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-global.bootm.image="/dev/m25p0.kernel"
-global.bootm.oftree="/dev/m25p0.oftree"
-global.linux.bootargs.dyn.root="root=/dev/mmcblk3p2 rootflags='data=journal'"
-""")
-}
-
-python do_env_append_phyboard-mira-imx6-8() {
- env_add(d, "boot/spi",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-global.bootm.image="/dev/m25p0.kernel"
-global.bootm.oftree="/dev/m25p0.oftree"
-global.linux.bootargs.dyn.root="root=/dev/mmcblk3p2 rootflags='data=journal'"
-""")
-}
-
python do_env_append_phyboard-mira-imx6-10() {
env_add(d, "config-expansions",
"""#!/bin/sh
@@ -395,19 +274,19 @@ python do_env_append_phyboard-mira-imx6-10() {
#. /env/expansions/imx6qdl-phytec-lcd-018-peb-av-02-res
# imx6qdl-phytec-lcd: 7" display (AC158 / AC138)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0700g0edh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0700g0edh6"
# imx6qdl-phytec-lcd: 7" display (AC104)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0700g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0700g0dh6"
# imx6qdl-phytec-lcd: 5.7" display (AC103)
-#of_display_timings -P "/panel-lcd" -c "edt,etmv570g2dhu"
+#of_property -s -f "/panel-lcd" compatible "edt,etmv570g2dhu"
# imx6qdl-phytec-lcd: 4.3" display (AC102)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0430g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0430g0dh6"
# imx6qdl-phytec-lcd: 3.5" display (AC167 / AC101)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0350g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0350g0dh6"
#Enable VM-XXX on CSI0
#of_camera_selection -a 0x48 -p 0 -b phyCAM-S+ VM-010-BW
@@ -429,19 +308,19 @@ python do_env_append_phyboard-mira-imx6-11() {
#. /env/expansions/imx6qdl-phytec-lcd-018-peb-av-02-res
# imx6qdl-phytec-lcd: 7" display (AC158 / AC138)
-of_display_timings -P "/panel-lcd" -c "edt,etm0700g0edh6"
+of_property -s -f "/panel-lcd" compatible "edt,etm0700g0edh6"
# imx6qdl-phytec-lcd: 7" display (AC104)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0700g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0700g0dh6"
# imx6qdl-phytec-lcd: 5.7" display (AC103)
-#of_display_timings -P "/panel-lcd" -c "edt,etmv570g2dhu"
+#of_property -s -f "/panel-lcd" compatible "edt,etmv570g2dhu"
# imx6qdl-phytec-lcd: 4.3" display (AC102)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0430g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0430g0dh6"
# imx6qdl-phytec-lcd: 3.5" display (AC167 / AC101)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0350g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0350g0dh6"
#Enable VM-XXX on CSI0
#of_camera_selection -a 0x48 -p 0 -b phyCAM-S+ VM-010-BW
@@ -462,97 +341,74 @@ python do_env_append_phyboard-mira-imx6-13() {
#. /env/expansions/imx6qdl-phytec-lcd-018-peb-av-02-res
# imx6qdl-phytec-lcd: 7" display (AC158 / AC138)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0700g0edh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0700g0edh6"
# imx6qdl-phytec-lcd: 7" display (AC104)
-of_display_timings -P "/panel-lcd" -c "edt,etm0700g0dh6"
+of_property -s -f "/panel-lcd" compatible "edt,etm0700g0dh6"
# imx6qdl-phytec-lcd: 5.7" display (AC103)
-#of_display_timings -P "/panel-lcd" -c "edt,etmv570g2dhu"
+#of_property -s -f "/panel-lcd" compatible "edt,etmv570g2dhu"
# imx6qdl-phytec-lcd: 4.3" display (AC102)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0430g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0430g0dh6"
# imx6qdl-phytec-lcd: 3.5" display (AC167 / AC101)
-#of_display_timings -P "/panel-lcd" -c "edt,etm0350g0dh6"
+#of_property -s -f "/panel-lcd" compatible "edt,etm0350g0dh6"
#Enable VM-XXX on CSI0
#of_camera_selection -a 0x48 -p 0 -b phyCAM-S+ VM-010-BW
""")
}
-python do_env_append_phyboard-mira-imx6-14() {
- env_add(d, "boot/spi",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-global.bootm.image="/dev/m25p0.kernel"
-global.bootm.oftree="/dev/m25p0.oftree"
-global.linux.bootargs.dyn.root="root=/dev/mmcblk3p2 rootflags='data=journal'"
-""")
-}
-
python do_env_append_phyboard-mira-imx6-15() {
env_add(d, "nv/linux.bootargs.cma", "cma=64M\n")
}
#Enviroment changes for RAUC
python do_env_append_phyboard-mira-imx6-3() {
- env_add(d, "boot/nand2",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-[ ! -e /dev/nand0.root.ubi ] && ubiattach /dev/nand0.root
-
-global.bootm.image="/dev/nand0.root.ubi.kernel2"
-global.bootm.oftree="/dev/nand0.root.ubi.oftree2"
-
-global.linux.bootargs.dyn.root="root=ubi0:root2 ubi.mtd=root rootfstype=ubifs"
-""")
env_add(d, "nv/bootchooser.state_prefix", """state""")
env_add(d, "nv/bootchooser.targets", """system0 system1""")
- env_add(d, "nv/bootchooser.system0.boot", """nand""")
- env_add(d, "nv/bootchooser.system1.boot", """nand2""")
+ env_add(d, "nv/bootchooser.system0.boot", """system0""")
+ env_add(d, "nv/bootchooser.system1.boot", """system1""")
env_add(d, "nv/bootchooser.state_prefix", """state.bootstate""")
- env_add(d, "bin/create_nand_partitions",
+ env_add(d, "bin/rauc_init_nand",
"""#!/bin/sh
-echo "Create NAND partitions"
+#For 1GB NANDs (otherwise other partition sizes)
+ROOTFSSIZE=450M
+echo "Format /dev/nand0.root"
+
ubiformat -q /dev/nand0.root
ubiattach /dev/nand0.root
-#Hold the following order or change the /dev/ubi0_X enumeration in /etc/rauc/system.conf
-ubimkvol -t static /dev/nand0.root.ubi kernel 8M
-ubimkvol -t static /dev/nand0.root.ubi oftree 1M
-#For 1GB NANDs (otherwise other partition sizes)
-ubimkvol -t dynamic /dev/nand0.root.ubi root 450M
-ubimkvol -t static /dev/nand0.root.ubi kernel2 8M
-ubimkvol -t static /dev/nand0.root.ubi oftree2 1M
-ubimkvol -t dynamic /dev/nand0.root.ubi root2 450M
+ubimkvol -t static /dev/nand0.root.ubi kernel0 16M
+ubimkvol -t static /dev/nand0.root.ubi oftree0 1M
+ubimkvol /dev/nand0.root.ubi root0 ${ROOTFSSIZE}
+ubimkvol -t static /dev/nand0.root.ubi kernel1 16M
+ubimkvol -t static /dev/nand0.root.ubi oftree1 1M
+ubimkvol /dev/nand0.root.ubi root1 ${ROOTFSSIZE}
+
+ubidetach 0
""")
- env_add(d, "bin/init_flash_from_mmc",
+ env_add(d, "bin/rauc_flash_nand_from_mmc",
"""#!/bin/sh
echo "Initialize NAND flash from MMC"
-barebox_update -t MLO.nand /mnt/mmc0.0/MLO -y
-barebox_update -t nand /mnt/mmc0.0/barebox.bin -y
[ ! -e /dev/nand0.root.ubi ] && ubiattach /dev/nand0.root
-ubiupdatevol /dev/nand0.root.ubi.kernel /mnt/mmc0.0/zImage
-ubiupdatevol /dev/nand0.root.ubi.kernel2 /mnt/mmc0.0/zImage
-ubiupdatevol /dev/nand0.root.ubi.oftree /mnt/mmc0.0/oftree
-ubiupdatevol /dev/nand0.root.ubi.oftree2 /mnt/mmc0.0/oftree
-cp /mnt/mmc0.0/root.ubifs /dev/nand0.root.ubi.root
-cp /mnt/mmc0.0/root.ubifs /dev/nand0.root.ubi.root2
-""")
- env_add(d, "bin/init_flash_from_tftp",
+ubiupdatevol /dev/nand0.root.ubi.kernel0 /mnt/mmc0.0/zImage
+ubiupdatevol /dev/nand0.root.ubi.kernel1 /mnt/mmc0.0/zImage
+ubiupdatevol /dev/nand0.root.ubi.oftree0 /mnt/mmc0.0/oftree
+ubiupdatevol /dev/nand0.root.ubi.oftree1 /mnt/mmc0.0/oftree
+cp /mnt/mmc0.0/root.ubifs /dev/nand0.root.ubi.root0
+cp /mnt/mmc0.0/root.ubifs /dev/nand0.root.ubi.root1
+""")
+ env_add(d, "bin/rauc_flash_nand_from_tftp",
"""#!/bin/sh
echo "Initialize NAND flash from TFTP"
[ ! -e /dev/nand0.root.ubi ] && ubiattach /dev/nand0.root
-ubiupdatevol /dev/nand0.root.ubi.kernel /mnt/tftp/zImage
-ubiupdatevol /dev/nand0.root.ubi.kernel2 /mnt/tftp/zImage
-ubiupdatevol /dev/nand0.root.ubi.oftree /mnt/tftp/oftree
-ubiupdatevol /dev/nand0.root.ubi.oftree2 /mnt/tftp/oftree
-cp /mnt/tftp/root.ubifs /dev/nand0.root.ubi.root
-cp /mnt/tftp/root.ubifs /dev/nand0.root.ubi.root2
+ubiupdatevol /dev/nand0.root.ubi.kernel0 /mnt/tftp/zImage
+ubiupdatevol /dev/nand0.root.ubi.kernel1 /mnt/tftp/zImage
+ubiupdatevol /dev/nand0.root.ubi.oftree0 /mnt/tftp/oftree
+ubiupdatevol /dev/nand0.root.ubi.oftree1 /mnt/tftp/oftree
+cp /mnt/tftp/root.ubifs /dev/nand0.root.ubi.root0
+cp /mnt/tftp/root.ubifs /dev/nand0.root.ubi.root1
""")
}
@@ -571,6 +427,8 @@ COMPATIBLE_MACHINE .= "|phyflex-imx6-9"
COMPATIBLE_MACHINE .= "|phyflex-imx6-10"
COMPATIBLE_MACHINE .= "|phyflex-imx6-11"
+COMPATIBLE_MACHINE .= "|phycard-imx6-2"
+
COMPATIBLE_MACHINE .= "|phyboard-mira-imx6-3"
COMPATIBLE_MACHINE .= "|phyboard-mira-imx6-4"
COMPATIBLE_MACHINE .= "|phyboard-mira-imx6-5"
diff --git a/recipes-bsp/barebox/barebox_2019.01.0-phy4.bb b/recipes-bsp/barebox/barebox_2020.09.0-phy1.bb
index 91d56c4..906114c 100644
--- a/recipes-bsp/barebox/barebox_2019.01.0-phy4.bb
+++ b/recipes-bsp/barebox/barebox_2020.09.0-phy1.bb
@@ -5,21 +5,22 @@ inherit buildinfo
require barebox.inc
inherit barebox-environment-2
+include barebox-boot-scripts.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=f5125d13e000b9ca1f0d3364286c4192"
+
_XTRA_SETUP = "${@bb.utils.contains('DISTRO_FEATURES', 'secureboot', 'secureboot', 'none', d)}"
include ${THISDIR}/barebox-${_XTRA_SETUP}.inc
GIT_URL = "git://git.phytec.de/barebox"
SRC_URI = "${GIT_URL};branch=${BRANCH}"
-SRC_URI += "\
- ${@oe.utils.conditional('DEBUG_BUILD','1','file://debugging.cfg','',d)} \
-"
S = "${WORKDIR}/git"
PR = "${INC_PR}.0"
# NOTE: Keep version in filename in sync with commit id!
-SRCREV = "b6819504dfaa461d9e7f01c6e32438a33079e531"
+SRCREV = "630e5953e31a32545117c0ea046f4216c483b274"
python do_env_append() {
env_add(d, "nv/allow_color", "false\n")
@@ -44,62 +45,12 @@ fi
}
python do_env_append_mx6ul() {
- env_add(d, "boot/mmc",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-global.bootm.image="/mnt/mmc/zImage"
-global.bootm.oftree="/mnt/mmc/oftree"
-global.linux.bootargs.dyn.root="root=/dev/mmcblk0p2 rootflags='data=journal'"
-""")
- env_add(d, "boot/nand",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
+ kernelname = d.getVar("KERNEL_IMAGETYPE", True)
+ sdid = "0"
+ emmcid = "1"
-[ ! -e /dev/nand0.root.ubi ] && ubiattach /dev/nand0.root
-
-global.bootm.image="/dev/nand0.root.ubi.kernel"
-global.bootm.oftree="/dev/nand0.root.ubi.oftree"
-global.linux.bootargs.dyn.root="root=ubi0:root ubi.mtd=root rootfstype=ubifs"
-""")
- env_add(d, "boot/emmc",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-global.bootm.image="/mnt/emmc/zImage"
-global.bootm.oftree="/mnt/emmc/oftree"
-global.linux.bootargs.dyn.root="root=/dev/mmcblk1p2 rootflags='discard,data=journal'"
-""")
- env_add(d, "boot/net",
-"""#!/bin/sh
+ env_add_boot_scripts(d, kernelname, sdid, emmcid)
-[ -e /env/config-expansions ] && /env/config-expansions
-
-path="/mnt/tftp"
-
-global.bootm.image="${path}/${global.user}-linux-${global.hostname}"
-
-oftree="${path}/${global.user}-oftree-${global.hostname}"
-if [ -f "${oftree}" ]; then
- global.bootm.oftree="$oftree"
-fi
-
-nfsroot="/nfsroot/${global.hostname}"
-ip_route_get -b ${global.net.server} global.linux.bootargs.dyn.ip
-global.linux.bootargs.dyn.root="root=/dev/nfs nfsroot=$nfsroot,vers=3,udp"
-""")
- env_add(d, "boot/spi",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-global.bootm.image="/dev/m25p0.kernel"
-global.bootm.oftree="/dev/m25p0.oftree"
-global.linux.bootargs.dyn.root="root=ubi0:root ubi.mtd=root rootfstype=ubifs"
-""")
env_add(d, "nv/dev.eth0.mode", "static")
env_add(d, "nv/dev.eth0.ipaddr", "192.168.3.11")
env_add(d, "nv/dev.eth0.netmask", "255.255.255.0")
@@ -108,31 +59,6 @@ global.linux.bootargs.dyn.root="root=ubi0:root ubi.mtd=root rootfstype=ubifs"
env_add(d, "nv/dev.eth0.linux.devname", "eth0")
env_add(d, "nv/dhcp.vendor_id", "phytec")
- #NAND boot scripts for RAUC
- env_add(d, "boot/system0",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-[ ! -e /dev/nand0.root.ubi ] && ubiattach /dev/nand0.root
-
-global.bootm.image="/dev/nand0.root.ubi.kernel0"
-global.bootm.oftree="/dev/nand0.root.ubi.oftree0"
-
-global.linux.bootargs.dyn.root="root=ubi0:root0 ubi.mtd=root rootfstype=ubifs"
-""")
- env_add(d, "boot/system1",
-"""#!/bin/sh
-
-[ -e /env/config-expansions ] && /env/config-expansions
-
-[ ! -e /dev/nand0.root.ubi ] && ubiattach /dev/nand0.root
-
-global.bootm.image="/dev/nand0.root.ubi.kernel1"
-global.bootm.oftree="/dev/nand0.root.ubi.oftree1"
-
-global.linux.bootargs.dyn.root="root=ubi0:root1 ubi.mtd=root rootfstype=ubifs"
-""")
env_add(d, "nv/bootchooser.targets", """system0 system1""")
env_add(d, "nv/bootchooser.system0.boot", """system0""")
env_add(d, "nv/bootchooser.system1.boot", """system1""")
@@ -152,17 +78,8 @@ python do_env_append_phyboard-segin-imx6ul() {
#use this expansion when peb-wlbt-01 adapter is connected
#. /env/expansions/imx6ul-phytec-peb-wlbt-01
-# imx6ul-phytec-lcd: 7" display
-#of_display_timings -S /soc/aips-bus@2100000/lcdif@21c8000/display@di0/display-timings/ETM0700G0EDH6
-
-# imx6ul-phytec-lcd: 5.7" display
-#of_display_timings -S /soc/aips-bus@2100000/lcdif@21c8000/display@di0/display-timings/ETMV570G2DHU
-
-# imx6ul-phytec-lcd: 4.3" display
-#of_display_timings -S /soc/aips-bus@2100000/lcdif@21c8000/display@di0/display-timings/ETM0430G0DH6
-
-# imx6ul-phytec-lcd: 3.5" display
-#of_display_timings -S /soc/aips-bus@2100000/lcdif@21c8000/display@di0/display-timings/ETM0350G0DH6
+#use this expansion when peb-wlbt-05 adapter is connected
+#. /env/expansions/imx6ul-phytec-peb-wlbt-05
#use this bootarg if the VM010 Color is connected
#. /env/expansions/imx6ul-phytec-vm010-col
@@ -187,7 +104,7 @@ of_fixup_status /user-leds
env_add(d, "expansions/imx6ul-phytec-segin-peb-av-02",
"""
of_fixup_status /soc/aips-bus@2100000/lcdif@21c8000/
-of_fixup_status /soc/aips-bus@2100000/lcdif@21c8000/display@di0
+of_fixup_status /panel-lcd
of_fixup_status /backlight
of_fixup_status /soc/aips-bus@2100000/i2c@21a0000/edt-ft5x06@38
of_fixup_status /soc/aips-bus@2000000/pwm@2088000/
@@ -195,9 +112,9 @@ of_fixup_status /soc/aips-bus@2000000/pwm@2088000/
env_add(d, "expansions/imx6ul-phytec-segin-peb-av-02-res",
"""
of_fixup_status /soc/aips-bus@2100000/lcdif@21c8000/
-of_fixup_status /soc/aips-bus@2100000/lcdif@21c8000/display@di0
+of_fixup_status /panel-lcd
of_fixup_status /backlight
-of_fixup_status /soc/aips-bus@2100000/i2c@21a0000/stmpe@44
+of_fixup_status /soc/aips-bus@2100000/i2c@21a0000/touchscreen@44
of_fixup_status /soc/aips-bus@2000000/pwm@2088000/
""")
env_add(d, "expansions/imx6ul-phytec-peb-wlbt-01",
@@ -206,6 +123,14 @@ of_fixup_status /soc/aips-bus@2100000/usdhc@2194000
of_fixup_status /regulator-wlan-en
of_fixup_status -d /soc/aips-bus@2100000/adc@2198000
""")
+ env_add(d, "expansions/imx6ul-phytec-peb-wlbt-05",
+"""#!/bin/sh
+of_fixup_status /soc/aips-bus@2100000/serial@21e8000
+of_fixup_status /soc/aips-bus@2100000/usdhc@2194000
+of_fixup_status /regulator-bt-en
+of_fixup_status /regulator-wlan-en
+of_fixup_status -d /soc/aips-bus@2100000/adc@2198000
+""")
env_add(d, "expansions/imx6ul-phytec-vm010-col",
"""#!/bin/sh
CAM_PATH="/soc/aips-bus@2100000/i2c@21a0000/cam0@48"
@@ -340,31 +265,22 @@ python do_env_append_phyboard-segin-imx6ul-5() {
#use this expansion when peb-wlbt-01 adapter is connected
. /env/expansions/imx6ul-phytec-peb-wlbt-01
-# imx6ul-phytec-lcd: 7" display
-#of_display_timings -S /soc/aips-bus@2100000/lcdif@21c8000/display@di0/display-timings/ETM0700G0EDH6
-
-# imx6ul-phytec-lcd: 5.7" display
-#of_display_timings -S /soc/aips-bus@2100000/lcdif@21c8000/display@di0/display-timings/ETMV570G2DHU
-
-# imx6ul-phytec-lcd: 4.3" display
-#of_display_timings -S /soc/aips-bus@2100000/lcdif@21c8000/display@di0/display-timings/ETM0430G0DH6
-
-# imx6ul-phytec-lcd: 3.5" display
-#of_display_timings -S /soc/aips-bus@2100000/lcdif@21c8000/display@di0/display-timings/ETM0350G0DH6
+#use this expansion when peb-wlbt-05 adapter is connected
+#. /env/expansions/imx6ul-phytec-peb-wlbt-05
#use this bootarg when the VM010 Color is connected
#nv linux.bootargs.mt9v022="mt9v022.sensor_type=color"
""")
}
-#Currently there is no rauc support for eMMC
python do_env_append_phyboard-segin-imx6ul-7() {
- env_rm(d, "boot/system0")
- env_rm(d, "boot/system1")
- env_rm(d, "nv/bootchooser.targets")
- env_rm(d, "nv/bootchooser.system0.boot")
- env_rm(d, "nv/bootchooser.system1.boot")
- env_rm(d, "nv/bootchooser.state_prefix")
+ env_rm(d, "bin/rauc_init_nand")
+ env_rm(d, "bin/rauc_flash_nand_from_mmc")
+ env_rm(d, "bin/rauc_flash_nand_from_tftp")
+}
+
+python do_env_append_phyboard-segin-imx6ul-8() {
+ env_rm(d, "bin/rauc_init_nand")
env_rm(d, "bin/rauc_flash_nand_from_mmc")
env_rm(d, "bin/rauc_flash_nand_from_tftp")
}
@@ -378,4 +294,5 @@ COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-4"
COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-5"
COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-6"
COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-7"
+COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-8"
COMPATIBLE_MACHINE .= ")$"
diff --git a/recipes-bsp/barebox/barebox_master.bb b/recipes-bsp/barebox/barebox_master.bb
index 1e0abaf..c821bdc 100644
--- a/recipes-bsp/barebox/barebox_master.bb
+++ b/recipes-bsp/barebox/barebox_master.bb
@@ -13,9 +13,6 @@ DEFAULT_PREFERENCE = "-1"
GIT_URL = "git://git.pengutronix.de/git/barebox.git"
SRC_URI = "${GIT_URL};branch=master"
-SRC_URI += "\
- ${@oe.utils.conditional('DEBUG_BUILD','1','file://debugging.cfg','',d)} \
-"
S = "${WORKDIR}/git"
diff --git a/recipes-bsp/firmware/laird-sterling-etsi_3.5.4.2.bb b/recipes-bsp/firmware/laird-sterling-etsi_3.5.4.2.bb
index d378b2d..5194b7b 100644
--- a/recipes-bsp/firmware/laird-sterling-etsi_3.5.4.2.bb
+++ b/recipes-bsp/firmware/laird-sterling-etsi_3.5.4.2.bb
@@ -7,6 +7,7 @@ SRC_URI = "ftp://ftp.phytec.de/pub/Software/Linux/Driver/Sterling-bcm43430_v1.1.
SRC_URI[md5sum] = "8213f4feee96560592746a8bea5f985c"
SRC_URI[sha256sum] = "fe52f348c819f4cde62db3153b2c68ee5eaa828fe34a8857ecd0f6c2bb23bb93"
+RDEPENDS_${PN} = "brcm-patchram-plus"
RCONFLICTS_${PN} = "linux-firmware-bcm43430"
RREPLACES_${PN} = "linux-firmware-bcm43430"
RPROVIDES_${PN} = "linux-firmware-bcm43430"
@@ -28,3 +29,7 @@ FILES_${PN} = "${FIRMWARE_PATH}/4343w.hcd \
${FIRMWARE_PATH}/brcmfmac43430-sdio.bin \
${FIRMWARE_PATH}/brcmfmac43430-sdio.clm_blob \
"
+
+COMPATIBLE_MACHINE = "^("
+COMPATIBLE_MACHINE .= "phycore-imx8-2"
+COMPATIBLE_MACHINE .= ")$"
diff --git a/recipes-bsp/firmwared/firmwared/firmwared.service b/recipes-bsp/firmwared/firmwared/firmwared.service
new file mode 100644
index 0000000..c2106a2
--- /dev/null
+++ b/recipes-bsp/firmwared/firmwared/firmwared.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Linux Firmware Loader Daemon
+
+[Service]
+Type=simple
+ExecStart=@BINDIR@/firmwared -d /lib/firmware
+
+[Install]
+WantedBy=multi-user.target
diff --git a/recipes-bsp/firmwared/firmwared_git.bb b/recipes-bsp/firmwared/firmwared_git.bb
new file mode 100644
index 0000000..7d6a1a6
--- /dev/null
+++ b/recipes-bsp/firmwared/firmwared_git.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Linux Firmware Loader Daemon"
+DESCRIPTION = "The Linux Firmware Loader Daemon monitors the kernel for \
+firmware requests and uploads the firmware blobs it has via the sysfs \
+interface."
+HOMEPAGE = "https://github.com/teg/firmwared"
+PR = "r0"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE-APACHE;md5=7b486c2338d225a1405d979ed2c15ce8 \
+ file://COPYING;md5=daa868b8e1ae17d03228a1145b4060da"
+
+SRC_URI = "git://github.com/teg/firmwared.git \
+ file://firmwared.service"
+
+PV = "1+git${SRCPV}"
+SRCREV = "2e6b5db43d63a5c0283a4cae9a6a20b7ad107a04"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "glib-2.0 systemd"
+
+inherit pkgconfig autotools systemd
+
+SYSTEMD_SERVICE_${PN} = "firmwared.service"
+
+do_configure_prepend() {
+ ( cd ${S}
+ ${S}/autogen.sh )
+}
+
+do_install_append() {
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/firmwared.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_unitdir}/system/firmwared.service
+}
diff --git a/recipes-bsp/lm_sensors/lmsensors-config/mx8mm/fancontrol b/recipes-bsp/lm_sensors/lmsensors-config/mx8mm/fancontrol
new file mode 100644
index 0000000..117367f
--- /dev/null
+++ b/recipes-bsp/lm_sensors/lmsensors-config/mx8mm/fancontrol
@@ -0,0 +1,13 @@
+# fancontrol configuration file.
+# Place your device specific configuration in this file.
+INTERVAL=10
+DEVPATH=hwmon0=devices/platform/gpio_fan hwmon1=devices/virtual/thermal/thermal_zone0
+DEVNAME=hwmon0=gpio_fan hwmon1=cpu_thermal
+FCTEMPS=hwmon0/device/pwm1=hwmon1/device/temp1_input
+FCFANS=hwmon0/device/pwm1=hwmon0/device/fan1_input
+MINTEMP=hwmon0/device/pwm1=60
+MAXTEMP=hwmon0/device/pwm1=70
+MINSTART=hwmon0/device/pwm1=1
+MINSTOP=hwmon0/device/pwm1=1
+MINPWM=hwmon0/device/pwm1=0
+MAXPWM=hwmon0/device/pwm1=255
diff --git a/recipes-bsp/lm_sensors/lmsensors-config_1.0.bbappend b/recipes-bsp/lm_sensors/lmsensors-config_1.0.bbappend
new file mode 100644
index 0000000..a78c184
--- /dev/null
+++ b/recipes-bsp/lm_sensors/lmsensors-config_1.0.bbappend
@@ -0,0 +1 @@
+FILESEXTRAPATHS_prepend := '${THISDIR}/${PN}/:'
diff --git a/recipes-bsp/u-boot/libubootenv/fw_env.config b/recipes-bsp/u-boot/libubootenv/fw_env.config
new file mode 100644
index 0000000..0a5881f
--- /dev/null
+++ b/recipes-bsp/u-boot/libubootenv/fw_env.config
@@ -0,0 +1,38 @@
+# Configuration file for fw_(printenv/setenv) utility.
+# Up to two entries are valid, in this case the redundant
+# environment sector is assumed present.
+# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.
+# Futhermore, if the Flash sector size is omitted, this value is assumed to
+# be the same as the Environment size, which is valid for NOR and SPI-dataflash
+# Device offset must be prefixed with 0x to be parsed as a hexadecimal value.
+
+# NOR example
+# MTD device name Device offset Env. size Flash sector size Number of sectors
+#/dev/mtd1 0x0000 0x4000 0x4000
+#/dev/mtd2 0x0000 0x4000 0x4000
+
+# MTD SPI-dataflash example
+# MTD device name Device offset Env. size Flash sector size Number of sectors
+#/dev/mtd5 0x4200 0x4200
+#/dev/mtd6 0x4200 0x4200
+
+# NAND example
+#/dev/mtd0 0x4000 0x4000 0x20000 2
+
+# On a block device a negative offset is treated as a backwards offset from the
+# end of the device/partition, rather than a forwards offset from the start.
+
+# Block device example
+#/dev/mmcblk0 0xc0000 0x20000
+#/dev/mmcblk0 -0x20000 0x20000
+
+# VFAT example
+#/boot/uboot.env 0x0000 0x4000
+
+# UBI volume
+#/dev/ubi0_0 0x0 0x1f000 0x1f000
+#/dev/ubi0_1 0x0 0x1f000 0x1f000
+
+# UBI volume by name
+#/dev/ubi0:env 0x0 0x1f000 0x1f000
+#/dev/ubi0:env-redund 0x0 0x1f000 0x1f000
diff --git a/recipes-bsp/u-boot/libubootenv/mx8m/fw_env.config b/recipes-bsp/u-boot/libubootenv/mx8m/fw_env.config
new file mode 100644
index 0000000..4e12683
--- /dev/null
+++ b/recipes-bsp/u-boot/libubootenv/mx8m/fw_env.config
@@ -0,0 +1,2 @@
+/dev/mmcblk2 0x3c0000 0x10000
+/dev/mmcblk2 0x3e0000 0x10000
diff --git a/recipes-bsp/u-boot/libubootenv_%.bbappend b/recipes-bsp/u-boot/libubootenv_%.bbappend
new file mode 100644
index 0000000..523a0b3
--- /dev/null
+++ b/recipes-bsp/u-boot/libubootenv_%.bbappend
@@ -0,0 +1,10 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/:"
+
+SRC_URI += "file://fw_env.config"
+
+do_install_append () {
+ install -d ${D}${sysconfdir}
+ install -m 644 ${S}/../fw_env.config ${D}${sysconfdir}/fw_env.config
+}
+
+FILES_${PN} += "${sysconfdir}/fw_env.config"
diff --git a/recipes-bsp/u-boot/u-boot-imx_2018.03-phy3.bb b/recipes-bsp/u-boot/u-boot-imx_2018.03-phy4.bb
index dc264f1..28bffb1 100644
--- a/recipes-bsp/u-boot/u-boot-imx_2018.03-phy3.bb
+++ b/recipes-bsp/u-boot/u-boot-imx_2018.03-phy4.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "i.MX U-Boot suppporting i.MX reference boards."
inherit phygittag
require recipes-bsp/u-boot/u-boot.inc
-inherit pythonnative
+inherit python3native
PROVIDES += "u-boot"
DEPENDS_append = " python dtc-native"
@@ -13,7 +13,7 @@ GIT_URL = "git://git.phytec.de/${PN}"
SRC_URI = "${GIT_URL};branch=${BRANCH}"
PR = "r0"
-SRCREV = "ae763766d87332334520ecc4db26000808f9b869"
+SRCREV = "c82b5d38b3c550924d1f5c8b035789f5f31664c0"
S = "${WORKDIR}/git"
@@ -45,8 +45,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "^("
COMPATIBLE_MACHINE .= "phycore-imx8-2"
-COMPATIBLE_MACHINE .= "|phyboard-polaris-imx8m-2"
-COMPATIBLE_MACHINE .= "|phyboard-polaris-imx8m-3"
COMPATIBLE_MACHINE .= ")$"
UBOOT_NAME_mx8 = "u-boot-${MACHINE}.bin-${UBOOT_CONFIG}"
diff --git a/recipes-bsp/u-boot/u-boot-imx_2019.04_1.0.0-phy1.bb b/recipes-bsp/u-boot/u-boot-imx_2020.04_2.2.0-phy1.bb
index 5877026..8ebebb5 100644
--- a/recipes-bsp/u-boot/u-boot-imx_2019.04_1.0.0-phy1.bb
+++ b/recipes-bsp/u-boot/u-boot-imx_2020.04_2.2.0-phy1.bb
@@ -2,19 +2,19 @@ DESCRIPTION = "i.MX U-Boot suppporting i.MX reference boards."
inherit phygittag
require recipes-bsp/u-boot/u-boot.inc
-inherit pythonnative
+inherit python3native
PROVIDES += "u-boot"
DEPENDS_append = " python dtc-native bison-native"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-BRANCH = "v2019.04_1.0.0-phy"
+BRANCH = "v2020.04_2.2.0-phy"
GIT_URL = "git://git.phytec.de/${PN}"
SRC_URI = "${GIT_URL};branch=${BRANCH}"
PR = "r0"
-SRCREV = "d559e713e24899d10aa385e482f83fcd9aedba59"
+SRCREV = "4a6f85dfadde519df66e032818187f3d6a1187bf"
S = "${WORKDIR}/git"
@@ -32,7 +32,7 @@ do_deploy_append_mx8m () {
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}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG}
+ install -m 0777 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type}
fi
done
unset j
@@ -45,7 +45,9 @@ do_deploy_append_mx8m () {
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "^("
-COMPATIBLE_MACHINE .= "phyboard-polis-imx8mm-1"
+COMPATIBLE_MACHINE .= "phyboard-polis-imx8mm-3"
+COMPATIBLE_MACHINE .= "|phyboard-polis-imx8mn-1"
+COMPATIBLE_MACHINE .= "|phyboard-polaris-imx8m-3"
COMPATIBLE_MACHINE .= ")$"
UBOOT_NAME_mx8 = "u-boot-${MACHINE}.bin-${UBOOT_CONFIG}"
diff --git a/recipes-bsp/u-boot/u-boot/0001-FORUPSTREAM-phycore-rk3288-Remove-PMIC-related-stuff.patch b/recipes-bsp/u-boot/u-boot/0001-FORUPSTREAM-phycore-rk3288-Remove-PMIC-related-stuff.patch
new file mode 100644
index 0000000..2343985
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot/0001-FORUPSTREAM-phycore-rk3288-Remove-PMIC-related-stuff.patch
@@ -0,0 +1,95 @@
+From a720757fe70d08e3023283242b1af9eb4364bdeb Mon Sep 17 00:00:00 2001
+From: Wadim Egorov <w.egorov@phytec.de>
+Date: Fri, 31 Jul 2020 07:35:07 +0000
+Subject: [PATCH] FORUPSTREAM: phycore-rk3288: Remove PMIC related stuff from
+ SPL
+
+We can remove the power stuff at the SPL stage from our board. The SOM
+was redesigned and is equipped with an STM8 connected to the RK818.
+The required setup we did before in the SPL is now done by the ST
+controller. know there are only a few SOMs without the STM8 out in
+the wild. So if I remove it it will affect only a few people who probably
+already have both boards.
+
+Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
+---
+ board/phytec/phycore_rk3288/phycore-rk3288.c | 42 ----------------------------
+ configs/phycore-rk3288_defconfig | 2 --
+ 2 files changed, 44 deletions(-)
+
+diff --git a/board/phytec/phycore_rk3288/phycore-rk3288.c b/board/phytec/phycore_rk3288/phycore-rk3288.c
+index 039ed0f..e9c514f 100644
+--- a/board/phytec/phycore_rk3288/phycore-rk3288.c
++++ b/board/phytec/phycore_rk3288/phycore-rk3288.c
+@@ -15,8 +15,6 @@
+ #include <i2c_eeprom.h>
+ #include <netdev.h>
+ #include "som.h"
+-#include <power/regulator.h>
+-#include <power/rk8xx_pmic.h>
+
+ static int valid_rk3288_som(struct rk3288_som *som)
+ {
+@@ -74,46 +72,6 @@ int rk3288_board_late_init(void)
+ return 0;
+ }
+
+-#ifdef CONFIG_SPL_BUILD
+-#if !defined(CONFIG_SPL_OF_PLATDATA)
+-static int phycore_init(void)
+-{
+- struct udevice *pmic;
+- int ret;
+-
+- ret = uclass_first_device_err(UCLASS_PMIC, &pmic);
+- if (ret)
+- return ret;
+-
+-#if defined(CONFIG_SPL_POWER_SUPPORT)
+- /* Increase USB input current to 2A */
+- ret = rk818_spl_configure_usb_input_current(pmic, 2000);
+- if (ret)
+- return ret;
+-
+- /* Close charger when USB lower then 3.26V */
+- ret = rk818_spl_configure_usb_chrg_shutdown(pmic, 3260000);
+- if (ret)
+- return ret;
+-#endif
+-
+- return 0;
+-}
+-#endif
+-
+ void spl_board_init(void)
+ {
+-#if !defined(CONFIG_SPL_OF_PLATDATA)
+- int ret;
+-
+- if (of_machine_is_compatible("phytec,rk3288-phycore-som")) {
+- ret = phycore_init();
+- if (ret) {
+- debug("Failed to set up phycore power settings: %d\n",
+- ret);
+- return;
+- }
+- }
+-#endif
+ }
+-#endif
+diff --git a/configs/phycore-rk3288_defconfig b/configs/phycore-rk3288_defconfig
+index 4c48d42..44bf439 100644
+--- a/configs/phycore-rk3288_defconfig
++++ b/configs/phycore-rk3288_defconfig
+@@ -20,8 +20,6 @@ CONFIG_DEFAULT_FDT_FILE="rk3288-phycore-rdk.dtb"
+ CONFIG_DISPLAY_BOARDINFO_LATE=y
+ CONFIG_SPL_STACK_R=y
+ CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x2000
+-CONFIG_SPL_I2C_SUPPORT=y
+-CONFIG_SPL_POWER_SUPPORT=y
+ CONFIG_CMD_GPIO=y
+ CONFIG_CMD_GPT=y
+ CONFIG_CMD_I2C=y
+--
+2.7.4
+
diff --git a/recipes-bsp/u-boot/u-boot_2020.01.bbappend b/recipes-bsp/u-boot/u-boot_2020.07.bbappend
index 8cf48e8..3b65838 100644
--- a/recipes-bsp/u-boot/u-boot_2020.01.bbappend
+++ b/recipes-bsp/u-boot/u-boot_2020.07.bbappend
@@ -3,6 +3,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/:"
DEPENDS += "u-boot-mkimage-native"
SRC_URI_append = " \
+ file://0001-FORUPSTREAM-phycore-rk3288-Remove-PMIC-related-stuff.patch \
file://boot.cmd \
"
@@ -11,7 +12,9 @@ do_deploy_append () {
${B}/tools/mkimage -n rk3288 -T rkimage -d ${B}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_BINARYNAME}.rkimage
${B}/tools/mkimage -n rk3288 -T rksd -d ${B}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_BINARYNAME}.rksd
${B}/tools/mkimage -n rk3288 -T rkspi -d ${B}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_BINARYNAME}.rkspi
- ${B}/tools/mkimage -n rk3288 -T rksd -d ${B}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_BINARYNAME}.rksd
+ cat ${B}/u-boot-dtb.bin >> ${DEPLOYDIR}/${SPL_BINARYNAME}.rkimage
+ cat ${B}/u-boot-dtb.bin >> ${DEPLOYDIR}/${SPL_BINARYNAME}.rksd
+ cat ${B}/u-boot-dtb.bin >> ${DEPLOYDIR}/${SPL_BINARYNAME}.rkspi
mkimage -C none -A arm -T script -d ${WORKDIR}/boot.cmd ${DEPLOYDIR}/boot.scr
}
diff --git a/recipes-devtools/bbu/bbu.bb b/recipes-devtools/bbu/bbu.bb
index f0fa114..a691525 100644
--- a/recipes-devtools/bbu/bbu.bb
+++ b/recipes-devtools/bbu/bbu.bb
@@ -7,6 +7,7 @@ SECTION = "devel"
PR = "r0"
SRC_URI = "file://bbu.sh"
+SRC_URI_append_mx6 = " file://bbu_emmc.sh"
S = "${WORKDIR}"
@@ -17,10 +18,14 @@ RDEPENDS_${PN}_append_mx6 = " barebox-targettools"
RDEPENDS_${PN}_append_mx6ul = " barebox-targettools"
RDEPENDS_${PN}_append_ti33x = " barebox-targettools"
RDEPENDS_${PN}_append_imx = " imx-kobs"
+RDEPENDS_${PN}_append_mx6 = "${@bb.utils.contains('MACHINE_FEATURES', 'emmc', ' mmc-utils', '', d)}"
+
+BBU = "bbu.sh"
+BBU_mx6 = "${@bb.utils.contains('MACHINE_FEATURES', 'emmc', 'bbu_emmc.sh', 'bbu.sh', d)}"
do_install() {
install -d ${D}${bindir}
- install -m 0755 bbu.sh ${D}${bindir}
+ install -m 0755 ${BBU} ${D}${bindir}/bbu.sh
}
FILES_${PN} = "${bindir}"
diff --git a/recipes-devtools/bbu/bbu/imx/bbu_emmc.sh b/recipes-devtools/bbu/bbu/imx/bbu_emmc.sh
new file mode 100644
index 0000000..447695f
--- /dev/null
+++ b/recipes-devtools/bbu/bbu/imx/bbu_emmc.sh
@@ -0,0 +1,92 @@
+#!/bin/sh
+# Copyright 2019 PHYTEC Messtechnik GmbH
+
+usage() {
+ echo "$0 <BOOTLOADER>"
+ echo "BOOTLOADER - barebox image format"
+}
+
+if [ "$#" -lt 1 ]; then
+ echo "Illegal number of parameters"
+ usage
+ exit 1
+fi
+
+# Verify barebox image format
+if ! hexdump -C $1 -s 0x20 -n 8 | grep -q "barebox"; then
+ echo "$1 is not a barebox Image format"
+ usage
+ exit 1
+fi
+
+# PARTITION_CONFIG Register
+# Bit[5:3] - 0x0 : Device not boot enabled (default)
+# - 0x1 : Boot partition 0 enabled for boot
+# - 0x2 : Boot partition 1 enabled for boot
+# - 0x7 : User area enabled for boot
+BOOTPART0_ENABLED=$((1<<3))
+BOOTPART1_ENABLED=$((2<<3))
+
+emmcdev=`cat /proc/cmdline | awk -F'root=' '{print $2}'`
+emmcdev=${emmcdev::12}
+
+if ! echo "$emmcdev" | grep 'mmc'; then
+ echo "Not an mmc device."
+fi
+if [ ! -e ${emmcdev}boot0 ]; then
+ echo "SD card detected. Script does not support SD card bootloader updates."
+ exit 1
+fi
+
+partcfg=`mmc extcsd read $emmcdev | grep -oE "PARTITION_CONFIG: 0x.." | grep -oE "0x.."`
+bsize=`ls -l $1 | awk '{print $5}'`
+
+case 1 in
+ $((partcfg == 0)))
+ echo "Selected boot source: User area (default)"
+ echo "Flashing ${emmcdev}"
+ dd if=$1 of=${emmcdev} bs=512 skip=2 seek=2
+ sync
+ MD5_SUM1=`dd if=$1 skip=1024 bs=1 | md5sum | awk '{print $1}'`
+ MD5_SUM2=`dd if=${emmcdev} skip=1024 bs=1 count=$((bsize - 1024)) | md5sum | awk '{print $1}'`
+ if [ "$MD5_SUM1" != "$MD5_SUM2" ]; then
+ echo "MD5 missmatch for $1"
+ exit 1
+ fi
+ echo "Successfully flashed user area"
+ ;;
+ $(( ($partcfg & $BOOTPART0_ENABLED) != 0 )) )
+ echo "Selected boot source: boot0"
+ echo "Flashing ${emmcdev}boot1"
+ echo 0 > ${emmcdev/dev/sys/block}boot1/force_ro
+ dd if=$1 of=${emmcdev}boot1
+ sync
+ MD5_SUM1=`md5sum $1 | awk '{print $1}'`
+ MD5_SUM2=`dd if=${emmcdev}boot1 bs=1 count=${bsize} | md5sum | awk '{print $1}'`
+ if [ "$MD5_SUM1" != "$MD5_SUM2" ]; then
+ echo "MD5 missmatch for $1"
+ echo 1 > ${emmcdev/dev/sys/block}boot1/force_ro
+ exit 1
+ fi
+ echo 1 > ${emmcdev/dev/sys/block}boot1/force_ro
+ mmc bootpart enable 2 0 ${emmcdev}
+ echo "Successfully flashed boot1"
+ ;;
+ $(( ($partcfg & $BOOTPART1_ENABLED) != 0 )) )
+ echo "Selected boot source: boot1"
+ echo "Flashing ${emmcdev}boot0"
+ echo 0 > ${emmcdev/dev/sys/block}boot0/force_ro
+ dd if=$1 of=${emmcdev}boot0
+ sync
+ MD5_SUM1=`md5sum $1 | awk '{print $1}'`
+ MD5_SUM2=`dd if=${emmcdev}boot0 bs=1 count=${bsize} | md5sum | awk '{print $1}'`
+ if [ "$MD5_SUM1" != "$MD5_SUM2" ]; then
+ echo "MD5 missmatch for $1"
+ echo 1 > ${emmcdev/dev/sys/block}boot0/force_ro
+ exit 1
+ fi
+ echo "Successfully flashed boot0"
+ mmc bootpart enable 1 0 ${emmcdev}
+ echo 1 > ${emmcdev/dev/sys/block}boot0/force_ro
+ ;;
+esac
diff --git a/recipes-devtools/eeprom-flashtool/phytec-eeprom-flashtool_1.01.02.bb b/recipes-devtools/eeprom-flashtool/phytec-eeprom-flashtool_1.01.02.bb
index 3bb05bc..1907890 100644
--- a/recipes-devtools/eeprom-flashtool/phytec-eeprom-flashtool_1.01.02.bb
+++ b/recipes-devtools/eeprom-flashtool/phytec-eeprom-flashtool_1.01.02.bb
@@ -12,7 +12,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING.MIT;md5=1117940313875d7598ccbb05f20129a7"
SRC_URI = "git://git.phytec.de/phytec-eeprom-flashtool.git"
-SRCREV = "2042c88d05ef29cecc3c4c17b63edf021bc3ca1b"
+SRCREV = "1e319ae7efcd8e2b6b322069d157abc4a5bb4763"
do_install () {
install -d ${D}${bindir}/${PN}
diff --git a/recipes-devtools/nxp-cst/nxp-cst.inc b/recipes-devtools/nxp-cst/nxp-cst.inc
index 8b1fc30..bc565d3 100644
--- a/recipes-devtools/nxp-cst/nxp-cst.inc
+++ b/recipes-devtools/nxp-cst/nxp-cst.inc
@@ -1,15 +1,17 @@
DEPENDS = "openssl"
REQUIRED_DISTRO_FEATURES = "secureboot"
-inherit distro_features_check
+inherit features_check
S = "${WORKDIR}"
+NXP_CST_BASE_PATH ??= "release"
+
do_install() {
install -d ${D}${bindir}
- install -m 0755 ${B}/release/linux64/bin/cst ${D}${bindir}/cst
- install -m 0755 ${B}/release/linux64/bin/srktool ${D}${bindir}/srktool
- install -m 0755 ${B}/release/keys/hab4_pki_tree.sh ${D}${bindir}/hab4_pki_tree.sh
+ install -m 0755 ${B}/${NXP_CST_BASE_PATH}/linux64/bin/cst ${D}${bindir}/cst
+ install -m 0755 ${B}/${NXP_CST_BASE_PATH}/linux64/bin/srktool ${D}${bindir}/srktool
+ install -m 0755 ${B}/${NXP_CST_BASE_PATH}/keys/hab4_pki_tree.sh ${D}${bindir}/hab4_pki_tree.sh
}
FILES_${PN} = "${bindir}"
diff --git a/recipes-devtools/nxp-cst/nxp-cst_3.3.0.bb b/recipes-devtools/nxp-cst/nxp-cst_3.3.0.bb
new file mode 100644
index 0000000..ffb2de6
--- /dev/null
+++ b/recipes-devtools/nxp-cst/nxp-cst_3.3.0.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "The link to the ftp.phytec.de is only a placeholder. \
+ Please download the NXP cst tool from the \
+ https://www.nxp.com/webapp/Download?colCode=IMX_CST_TOOL \
+ and store as tar file in the yocto download folder"
+
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = " \
+ file://release/LICENSE.bsd3;md5=1fbcd66ae51447aa94da10cbf6271530 \
+ file://release/LICENSE.hidapi;md5=e0ea014f523f64f0adb13409055ee59e \
+ file://release/LICENSE.openssl;md5=06698624268f7be8151210879bbcbcab \
+"
+
+require nxp-cst.inc
+
+SRC_URI = " \
+ ftp://ftp.phytec.de/pub/cst-${PV}.tar;name=tarball \
+"
+
+SRC_URI[tarball.md5sum] = "6c2d4c26d9da23f3014a8a26850b316f"
+SRC_URI[tarball.sha256sum] = "097a70ad6233225053c51281c220179a7c72275e1075bdf3373651367a69276c"
+
+INSANE_SKIP_${PN} += "already-stripped"
diff --git a/recipes-devtools/nxp-cst/nxp-cst_3.3.1.bb b/recipes-devtools/nxp-cst/nxp-cst_3.3.1.bb
new file mode 100644
index 0000000..0633f99
--- /dev/null
+++ b/recipes-devtools/nxp-cst/nxp-cst_3.3.1.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "The link to the ftp.phytec.de is only a placeholder. \
+ Please download the NXP cst tool from the \
+ https://www.nxp.com/webapp/Download?colCode=IMX_CST_TOOL \
+ and store as tar file in the yocto download folder"
+
+LICENSE = "Proprietary"
+
+NXP_CST_BASE_PATH ?= "cst-3.3.1"
+
+LIC_FILES_CHKSUM = " \
+ file://${NXP_CST_BASE_PATH}/LICENSE.bsd3;md5=1fbcd66ae51447aa94da10cbf6271530 \
+ file://${NXP_CST_BASE_PATH}/LICENSE.hidapi;md5=e0ea014f523f64f0adb13409055ee59e \
+ file://${NXP_CST_BASE_PATH}/LICENSE.openssl;md5=06698624268f7be8151210879bbcbcab \
+"
+
+require nxp-cst.inc
+
+SRC_URI = " \
+ ftp://ftp.phytec.de/pub/cst-${PV}.tar;name=tarball \
+"
+
+SRC_URI[tarball.md5sum] = "2b17b55aa3d5527e26e80e057cd7c792"
+SRC_URI[tarball.sha256sum] = "95b74019f39b9398260e4eb59012dc6da72d3b309d4488bad2e1fef8eaa3e34b"
+
+INSANE_SKIP_${PN} += "already-stripped"
diff --git a/recipes-devtools/python/python-mako_1.0.7.bb b/recipes-devtools/python/python-mako_1.0.7.bb
index 767c7c3..50fe82c 100644
--- a/recipes-devtools/python/python-mako_1.0.7.bb
+++ b/recipes-devtools/python/python-mako_1.0.7.bb
@@ -1,6 +1,6 @@
require python-mako.inc
-inherit setuptools
+inherit setuptools3
RDEPENDS_${PN} = "python-threading \
python-netclient \
diff --git a/recipes-devtools/rkeeprom/rkeeprom.bb b/recipes-devtools/rkeeprom/rkeeprom.bb
index 8f94ad3..72c537f 100644
--- a/recipes-devtools/rkeeprom/rkeeprom.bb
+++ b/recipes-devtools/rkeeprom/rkeeprom.bb
@@ -9,7 +9,7 @@ SRC_URI = "file://rkeeprom.py"
S = "${WORKDIR}"
-RDEPENDS_${PN} = "python python-smbus python-argparse"
+RDEPENDS_${PN} = "python3-core python3-smbus2"
do_install() {
install -d ${D}${bindir}
diff --git a/recipes-devtools/rkeeprom/rkeeprom/rkeeprom.py b/recipes-devtools/rkeeprom/rkeeprom/rkeeprom.py
index c8137c1..6fabbc9 100755
--- a/recipes-devtools/rkeeprom/rkeeprom/rkeeprom.py
+++ b/recipes-devtools/rkeeprom/rkeeprom/rkeeprom.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2.7
+#!/usr/bin/python3
# Copyright 2017 Phytec Messtechnik GmbH
# Author: Wadim Egorov <w.egorov@phytec.de>
diff --git a/recipes-graphics/libdrm/libdrm_2.4.74.bb b/recipes-graphics/libdrm/libdrm_2.4.74.bb
deleted file mode 100644
index 83981f2..0000000
--- a/recipes-graphics/libdrm/libdrm_2.4.74.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "Userspace interface to the kernel DRM services"
-DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
-stands for \"Direct Rendering Manager\", which is the kernel portion of the \
-\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
-accelerated OpenGL drivers."
-HOMEPAGE = "http://dri.freedesktop.org"
-SECTION = "x11/base"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-PROVIDES = "drm"
-DEPENDS = "libpthread-stubs udev libpciaccess"
-
-SRCBRANCH ?= "rockchip-2.4.74"
-SRC_URI = "git://github.com/rockchip-linux/libdrm-rockchip.git;branch=${SRCBRANCH}"
-SRCREV = "fde97735848fe63934c76a5ae579f9a915959db5"
-S = "${WORKDIR}/git"
-
-COMPATIBLE_MACHINE = "rk3288"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "--disable-cairo-tests \
- --enable-omap-experimental-api \
- --enable-rockchip-experimental-api \
- --enable-install-test-programs \
- --disable-manpages \
- --disable-valgrind \
- "
-
-ALLOW_EMPTY_${PN}-drivers = "1"
-PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
- ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \
- ${PN}-rockchip"
-
-RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
- ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
- ${PN}-rockchip"
-
-FILES_${PN}-tests = "${bindir}/*"
-FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
-FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
-FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*"
-FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
-FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
-FILES_${PN}-kms = "${libdir}/libkms*.so.*"
-FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
-FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.*"
-FILES_${PN}-rockchip = "${libdir}/libdrm_rockchip.so.*"
diff --git a/recipes-graphics/mali-t760-libs/files/0001-gbm.h-Add-a-missing-stddef.h-include-for-size_t.patch b/recipes-graphics/mali-t760-libs/files/0001-gbm.h-Add-a-missing-stddef.h-include-for-size_t.patch
deleted file mode 100644
index 1958c15..0000000
--- a/recipes-graphics/mali-t760-libs/files/0001-gbm.h-Add-a-missing-stddef.h-include-for-size_t.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/gbm/inc/gbm.h b/gbm/inc/gbm.h
-index 9d2a030..7a808a0 100644
---- a/gbm/inc/gbm.h
-+++ b/gbm/inc/gbm.h
-@@ -35,6 +35,7 @@ extern "C" {
-
- #define __GBM__ 1
-
-+#include <stddef.h>
- #include <stdint.h>
-
- /**
diff --git a/recipes-graphics/mali-t760-libs/mali-t760-libs_r12p0-04rel0.bb b/recipes-graphics/mali-t760-libs/mali-t760-libs_r12p0-04rel0.bb
deleted file mode 100644
index 96488c4..0000000
--- a/recipes-graphics/mali-t760-libs/mali-t760-libs_r12p0-04rel0.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "Userspace GPU driver for Mali-T760"
-DESCRIPTION = "Userspace GPU driver for Mali-T760"
-SECTION = "libs"
-LICENSE = "ARM-MALI-EULA"
-LIC_FILES_CHKSUM = "file://END_USER_LICENCE_AGREEMENT.txt;md5=3918cc9836ad038c5a090a0280233eea"
-
-PROVIDES += "libgbm virtual/libgles2 virtual/libgles1 virtual/egl virtual/opencl virtual/wayland-egl"
-
-DEPENDS += "wayland libdrm"
-RDEPENDS_${PN} += "wayland libdrm"
-
-PR = "r0"
-S = "${WORKDIR}/mali-t760-libs_${PV}"
-
-# checksums for mali-t760-libs_r12p0-04rel0.tar.gz
-SRC_URI[md5sum] = "71790b9a635263188bd88e539d24d89c"
-SRC_URI[sha256sum] = "f1ac336dd72401ec2656a9ef71fcee11d50a2f38d48fbd25a07f7750d1543a60"
-
-SRC_URI = "ftp://ftp.phytec.de/pub/Software/Linux/Driver/mali-t760/mali-t760-libs_${PV}.tar.gz \
- file://0001-gbm.h-Add-a-missing-stddef.h-include-for-size_t.patch \
-"
-
-PACKAGES = "${PN} ${PN}-dev ${PN}-dbg"
-
-do_install() {
- install -d ${D}${includedir}
- install -m 0644 gbm/inc/gbm.h ${D}${includedir}
-
- install -d ${D}${includedir}/EGL
- install -m 0644 v2.4.4-gles/inc/EGL/* ${D}${includedir}/EGL
- install -d ${D}${includedir}/GLES
- install -m 0644 v2.4.4-gles/inc/GLES/* ${D}${includedir}/GLES
- install -d ${D}${includedir}/GLES2
- install -m 0644 v2.4.4-gles/inc/GLES2/* ${D}${includedir}/GLES2
- install -d ${D}${includedir}/GLES3
- install -m 0644 v2.4.4-gles/inc/GLES3/* ${D}${includedir}/GLES3
- install -d ${D}${includedir}/KHR
- install -m 0644 v2.4.4-gles/inc/KHR/* ${D}${includedir}/KHR
-
- install -d ${D}${includedir}/CL
- install -m 0644 v1.1.0-cl/inc/CL/* ${D}${includedir}/CL
-
- install -d ${D}${libdir}/pkgconfig
- install -m 0644 pkgconfig/* ${D}${libdir}/pkgconfig
- cp -rd lib* ${D}${libdir}/
-}
-
-FILES_${PN} += "${libdir}"
-
-FILES_${PN}-dev += " \
- ${includedir} \
- ${libdir} \
- ${libdir}/pkgconfig \
-"
-
-INSANE_SKIP_${PN} = "dev-so already-stripped ldflags"
-
-# Fix warnings:
-# WARNING: do_package_qa: QA Issue: libqminimalegl.so contained in package qtbase-plugins
-# requires libEGL.so, but no providers found in RDEPENDS_qtbase-plugins? [file-rdeps]
-# WARNING: do_package_qa: QA Issue: libQt5OpenGL.so.5.6.1 contained in package qtbase
-# requires libGLESv2.so, but no providers found in RDEPENDS_qtbase? [file-rdeps]
-RPROVIDES_${PN} = "libwayland-egl.so libgbm.so libGLESv1_CM.so libGLESv2.so libEGL.so libOpenCL.so"
-
-COMPATIBLE_MACHINE = "rk3288"
diff --git a/recipes-graphics/mali-t760-libs/mali-t760-libs_r9p0-05rel0.bb b/recipes-graphics/mali-t760-libs/mali-t760-libs_r9p0-05rel0.bb
deleted file mode 100644
index 56b6432..0000000
--- a/recipes-graphics/mali-t760-libs/mali-t760-libs_r9p0-05rel0.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-SUMMARY = "Userspace GPU driver for Mali-T760"
-DESCRIPTION = "Userspace GPU driver for Mali-T760"
-SECTION = "libs"
-LICENSE = "proprietary-binary"
-LIC_FILES_CHKSUM = "file://END_USER_LICENCE_AGREEMENT.txt;md5=6c3209233a1523d6c38e3c188ec54e70"
-
-PROVIDES += "virtual/libgles2 virtual/libgles1 virtual/egl virtual/opencl"
-
-PR = "r0"
-S = "${WORKDIR}/mali-t760-libs_${PV}"
-
-# checksums for mali-t760-libs_r9p0-05rel0.tar.gz
-SRC_URI[md5sum] = "59b392b5b976214d6321156fa4170517"
-SRC_URI[sha256sum] = "9740b604e408c94b5b8c152110ef8aed3920b876bcd9ef84193beb9f79f8f8ba"
-
-SRC_URI = "ftp://ftp.phytec.de/pub/Software/Linux/Driver/mali-t760/mali-t760-libs_${PV}.tar.gz"
-
-PACKAGES = "${PN} ${PN}-dev ${PN}-dbg"
-
-do_install() {
- install -d ${D}${includedir}/EGL
- install -m 0644 v2.4.4-gles/inc/EGL/* ${D}${includedir}/EGL
- install -d ${D}${includedir}/GLES
- install -m 0644 v2.4.4-gles/inc/GLES/* ${D}${includedir}/GLES
- install -d ${D}${includedir}/GLES2
- install -m 0644 v2.4.4-gles/inc/GLES2/* ${D}${includedir}/GLES2
- install -d ${D}${includedir}/GLES3
- install -m 0644 v2.4.4-gles/inc/GLES3/* ${D}${includedir}/GLES3
- install -d ${D}${includedir}/KHR
- install -m 0644 v2.4.4-gles/inc/KHR/* ${D}${includedir}/KHR
-
- install -d ${D}${includedir}/CL
- install -m 0644 v1.1.0-cl/inc/CL/* ${D}${includedir}/CL
-
- install -d ${D}${libdir}/pkgconfig
- install -m 0644 pkgconfig/* ${D}${libdir}/pkgconfig
- cp -av lib* ${D}${libdir}/
- install -m 0644 libmali.so ${D}${libdir}/libmali.so
-}
-
-FILES_${PN} += "${libdir}"
-
-FILES_${PN}-dev += " \
- ${includedir} \
- ${libdir} \
- ${libdir}/pkgconfig \
-"
-
-INSANE_SKIP_${PN} = "dev-so"
-
-# Fix warnings:
-# WARNING: do_package_qa: QA Issue: libqminimalegl.so contained in package qtbase-plugins
-# requires libEGL.so, but no providers found in RDEPENDS_qtbase-plugins? [file-rdeps]
-# WARNING: do_package_qa: QA Issue: libQt5OpenGL.so.5.6.1 contained in package qtbase
-# requires libGLESv2.so, but no providers found in RDEPENDS_qtbase? [file-rdeps]
-RPROVIDES_${PN} = "libGLESv1_CM.so libGLESv2.so libEGL.so libOpenCL.so"
-
-COMPATIBLE_MACHINE = "rk3288"
diff --git a/recipes-graphics/mesa/mesa_%.bbappend b/recipes-graphics/mesa/mesa_%.bbappend
index 2bb54fd..29431ca 100644
--- a/recipes-graphics/mesa/mesa_%.bbappend
+++ b/recipes-graphics/mesa/mesa_%.bbappend
@@ -1,6 +1,13 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}"
+PACKAGECONFIG[kmsro] = ""
+
+GALLIUMDRIVERS_remove ="${@bb.utils.contains('PACKAGECONFIG', 'imx', ',imx', '', d)}"
+GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}"
+
# use Etnaviv gallium driver for imxgpu3d machines
# gpu needs to be covered by MACHINE_SOCARCH
-PACKAGECONFIG_append_imxgpu3d = " gallium"
-GALLIUMDRIVERS_imxgpu3d = "etnaviv,kmsro,vc4"
+PACKAGECONFIG_append_imxgpu3d = " gallium kmsro"
+GALLIUMDRIVERS_imxgpu3d = "etnaviv,vc4,swrast"
diff --git a/recipes-graphics/wayland/wayland_%.bbappend b/recipes-graphics/wayland/wayland_%.bbappend
deleted file mode 100644
index 3c2e750..0000000
--- a/recipes-graphics/wayland/wayland_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-do_install_append_rk3288() {
- # libwayland-egl has been moved to wayland 1.15+
- rm -f ${D}${libdir}/libwayland-egl*
- rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc
-}
-
-FILES_${PN}_remove_rk3288 = "${libdir}/libwayland-egl.so"
diff --git a/recipes-graphics/wayland/weston_%.bbappend b/recipes-graphics/wayland/weston_%.bbappend
deleted file mode 100644
index 4b9356c..0000000
--- a/recipes-graphics/wayland/weston_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-PACKAGECONFIG_rk3288 = " wayland kms fbdev egl systemd launch clients"
-EXTRA_OECONF_append_rk3288 = "\
- WESTON_NATIVE_BACKEND=drm-backend.so \
- "
diff --git a/recipes-kernel/linux/linux-common.inc b/recipes-kernel/linux/linux-common.inc
index 861de1a..afe563d 100644
--- a/recipes-kernel/linux/linux-common.inc
+++ b/recipes-kernel/linux/linux-common.inc
@@ -3,7 +3,9 @@
DESCRIPTION = "Linux Kernel Phytec common base"
SECTION = "kernel"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM ?= "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+LIC_FILES_CHKSUM ?= "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+
+CVE_VERSION = "${@d.getVar("PV").split('-')[0]}"
inherit kernel
inherit kconfig
@@ -14,6 +16,7 @@ SRC_URI_append = " \
${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'file://docker.cfg', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'file://systemd.cfg', '', d)} \
${@bb.utils.contains('DEBUG_BUILD', '1', 'file://debugging.cfg', '', d)} \
+ file://0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch \
"
INC_PR = "r0"
@@ -49,8 +52,14 @@ python do_dtsfixup () {
addtask dtsfixup after do_patch before do_compile
+def get_oftree(d):
+ kdt = d.getVar('KERNEL_DEVICETREE', '')
+ return os.path.basename(kdt.split()[0])
+
KERNEL_IMAGE_NAME = "${KERNEL_IMAGETYPE}-${PN}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
+FIRST_DTS = "${@get_oftree(d)}"
do_deploy_append() {
install -m 644 ${B}/.config ${DEPLOYDIR}/${KERNEL_IMAGE_NAME}.config
ln -sf ${KERNEL_IMAGE_NAME}.config ${DEPLOYDIR}/${KERNEL_IMAGETYPE}.config
+ ln -sf ${FIRST_DTS} ${DEPLOYDIR}/oftree
}
diff --git a/recipes-kernel/linux/linux-common/0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch b/recipes-kernel/linux/linux-common/0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch
new file mode 100644
index 0000000..4ca79db
--- /dev/null
+++ b/recipes-kernel/linux/linux-common/0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch
@@ -0,0 +1,60 @@
+From 0ada120c883d4f1f6aafd01cf0fbb10d8bbba015 Mon Sep 17 00:00:00 2001
+From: Changbin Du <changbin.du@gmail.com>
+Date: Tue, 28 Jan 2020 23:29:38 +0800
+Subject: [PATCH] perf: Make perf able to build with latest libbfd
+
+libbfd has changed the bfd_section_* macros to inline functions
+bfd_section_<field> since 2019-09-18. See below two commits:
+ o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html
+ o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html
+
+This fix make perf able to build with both old and new libbfd.
+
+Signed-off-by: Changbin Du <changbin.du@gmail.com>
+Acked-by: Jiri Olsa <jolsa@redhat.com>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+---
+ tools/perf/util/srcline.c | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c
+index 6ccf6f6d09df..5b7d6c16d33f 100644
+--- a/tools/perf/util/srcline.c
++++ b/tools/perf/util/srcline.c
+@@ -193,16 +193,30 @@ static void find_address_in_section(bfd *abfd, asection *section, void *data)
+ bfd_vma pc, vma;
+ bfd_size_type size;
+ struct a2l_data *a2l = data;
++ flagword flags;
+
+ if (a2l->found)
+ return;
+
+- if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
++#ifdef bfd_get_section_flags
++ flags = bfd_get_section_flags(abfd, section);
++#else
++ flags = bfd_section_flags(section);
++#endif
++ if ((flags & SEC_ALLOC) == 0)
+ return;
+
+ pc = a2l->addr;
++#ifdef bfd_get_section_vma
+ vma = bfd_get_section_vma(abfd, section);
++#else
++ vma = bfd_section_vma(section);
++#endif
++#ifdef bfd_get_section_size
+ size = bfd_get_section_size(section);
++#else
++ size = bfd_section_size(section);
++#endif
+
+ if (pc < vma || pc >= vma + size)
+ return;
+--
+2.23.0
+
diff --git a/recipes-kernel/linux/linux-imx_4.1.15-phy3.bb b/recipes-kernel/linux/linux-imx_4.1.15-phy3.bb
index 0c89940..2b3b662 100644
--- a/recipes-kernel/linux/linux-imx_4.1.15-phy3.bb
+++ b/recipes-kernel/linux/linux-imx_4.1.15-phy3.bb
@@ -5,6 +5,8 @@ inherit phygittag
inherit buildinfo
include linux-common.inc
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
GIT_URL = "git://git.phytec.de/${PN}"
SRC_URI = "${GIT_URL};branch=${BRANCH}"
diff --git a/recipes-kernel/linux/linux-mainline_4.14.93-phy2.bb b/recipes-kernel/linux/linux-mainline_4.14.184-phy1.bb
index 85061c4..793ee93 100644
--- a/recipes-kernel/linux/linux-mainline_4.14.93-phy2.bb
+++ b/recipes-kernel/linux/linux-mainline_4.14.184-phy1.bb
@@ -5,6 +5,8 @@ inherit phygittag
inherit buildinfo
include linux-common.inc
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
GIT_URL = "git://git.phytec.de/${PN}"
SRC_URI = "${GIT_URL};branch=${BRANCH}"
@@ -12,7 +14,7 @@ PR = "${INC_PR}.0"
# NOTE: PV must be in the format "x.y.z-.*". It cannot begin with a 'v'.
# NOTE: Keep version in filename in sync with commit id!
-SRCREV = "c1d815dd25e9b83546378f0ea0b061202b28e4c4"
+SRCREV = "51a58eef85cc1083896446ca8d9a905c3d32fc2d"
S = "${WORKDIR}/git"
@@ -25,4 +27,5 @@ COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-4"
COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-5"
COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-6"
COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-7"
+COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-8"
COMPATIBLE_MACHINE .= ")$"
diff --git a/recipes-kernel/linux/linux-mainline_4.14.78-phy4.bb b/recipes-kernel/linux/linux-mainline_4.14.78-phy4.bb
index acb01df..1084a86 100644
--- a/recipes-kernel/linux/linux-mainline_4.14.78-phy4.bb
+++ b/recipes-kernel/linux/linux-mainline_4.14.78-phy4.bb
@@ -5,6 +5,8 @@ inherit phygittag
inherit buildinfo
include linux-common.inc
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
#Skip this recipe if DISTRO_FEATURES contains the PREEMPT-RT value and
# a kernel with real-time is desired
python () {
@@ -22,7 +24,6 @@ SRC_URI_append_ti33x = "\
PR = "${INC_PR}.0"
-RDEPENDS_kernel-modules_rk3288 += "cryptodev-module"
RDEPENDS_kernel-modules_ti33x += "\
${@bb.utils.contains('MACHINE_FEATURES', 'suspend', 'amx3-cm3', '', d)} \
${@bb.utils.contains('MACHINE_FEATURES', 'sgx', 'ti-sgx-ddk-km', '', d)} \
diff --git a/recipes-kernel/linux/linux-mainline_4.14.78-rt47-phy4.bb b/recipes-kernel/linux/linux-mainline_4.14.78-rt47-phy4.bb
index fbd1bcc..36878eb 100644
--- a/recipes-kernel/linux/linux-mainline_4.14.78-rt47-phy4.bb
+++ b/recipes-kernel/linux/linux-mainline_4.14.78-rt47-phy4.bb
@@ -5,6 +5,8 @@ inherit phygittag
inherit buildinfo
include linux-common.inc
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
#Skip this recipe if DISTRO_FEATURES doesn't contain the PREEMPT-RT value and
# a kernel without real-time is desired
python () {
diff --git a/recipes-kernel/linux/linux-mainline_4.14.134-phy2.bb b/recipes-kernel/linux/linux-mainline_4.19.100-phy3.bb
index 8e366e6..6ff2d3b 100644
--- a/recipes-kernel/linux/linux-mainline_4.14.134-phy2.bb
+++ b/recipes-kernel/linux/linux-mainline_4.19.100-phy3.bb
@@ -12,11 +12,11 @@ PR = "${INC_PR}.0"
# NOTE: PV must be in the format "x.y.z-.*". It cannot begin with a 'v'.
# NOTE: Keep version in filename in sync with commit id!
-SRCREV = "7a1f2887e3bad8d3951d259927549606aca589e8"
+SRCREV = "0536f179a7f90ec195bc7e1b3fce8e6da427c302"
S = "${WORKDIR}/git"
-INTREE_DEFCONFIG = "imx_v6_v7_defconfig"
+INTREE_DEFCONFIG = "imx_v6_v7_defconfig imx6_phytec_distro.config imx6_phytec_machine.config imx6_phytec_platform.config"
COMPATIBLE_MACHINE = "^("
COMPATIBLE_MACHINE .= "phyflex-imx6-1"
@@ -31,6 +31,8 @@ COMPATIBLE_MACHINE .= "|phyflex-imx6-9"
COMPATIBLE_MACHINE .= "|phyflex-imx6-10"
COMPATIBLE_MACHINE .= "|phyflex-imx6-11"
+COMPATIBLE_MACHINE .= "|phycard-imx6-2"
+
COMPATIBLE_MACHINE .= "|phyboard-mira-imx6-3"
COMPATIBLE_MACHINE .= "|phyboard-mira-imx6-4"
COMPATIBLE_MACHINE .= "|phyboard-mira-imx6-5"
diff --git a/recipes-kernel/linux/linux-mainline_4.19.y-phy.bb b/recipes-kernel/linux/linux-mainline_4.19.y-phy.bb
deleted file mode 100644
index ca1b98a..0000000
--- a/recipes-kernel/linux/linux-mainline_4.19.y-phy.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (C) 2019 PHYTEC Messtechnik GmbH,
-# Author: Wadim Egorov <w.egorov@phytec.de>
-
-inherit phygittag
-inherit buildinfo
-include linux-common.inc
-
-DEFAULT_PREFERENCE = "-1"
-
-GIT_URL = "git://git.phytec.de/${PN}"
-SRC_URI = "${GIT_URL};branch=${BRANCH}"
-
-PR = "${INC_PR}.0"
-
-# tag: v4.19
-SRCREV = "bebc6082da0a9f5d47a1ea2edc099bf671058bd4"
-
-S = "${WORKDIR}/git"
-
-INTREE_DEFCONFIG = "imx_v6_v7_defconfig"
-
-COMPATIBLE_MACHINE = "^("
-COMPATIBLE_MACHINE .= "phyboard-segin-imx6ul-2"
-COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-3"
-COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-4"
-COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-5"
-COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-6"
-COMPATIBLE_MACHINE .= ")$"
diff --git a/recipes-kernel/linux/linux-mainline_4.9.98-phy6.bb b/recipes-kernel/linux/linux-mainline_4.9.98-phy6.bb
deleted file mode 100644
index 7337aab..0000000
--- a/recipes-kernel/linux/linux-mainline_4.9.98-phy6.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright (C) 2017 PHYTEC Messtechnik GmbH,
-# Author: Wadim Egorov <w.egorov@phytec.de>
-
-inherit phygittag
-inherit buildinfo
-include linux-common.inc
-
-#Skip this recipe if DISTRO_FEATURES contains the PREEMPT-RT value and
-# a kernel with real-time is desired
-python () {
- if 'preempt-rt' in d.getVar("DISTRO_FEATURES"):
- raise bb.parse.SkipPackage("Disable 'preempt-rt' in DISTRO_FEATURES!")
-}
-
-GIT_URL = "git://git.phytec.de/${PN}"
-SRC_URI = "${GIT_URL};branch=${BRANCH}"
-
-PR = "${INC_PR}.1"
-
-RDEPENDS_kernel-modules_rk3288 += "cryptodev-module"
-
-# NOTE: PV must be in the format "x.y.z-.*". It cannot begin with a 'v'.
-# NOTE: Keep version in filename in sync with commit id!
-SRCREV = "49b8b0145d3413457eac31ac3b4c72001afb9693"
-
-S = "${WORKDIR}/git"
-
-INTREE_DEFCONFIG_rk3288 = "rk3288_phytec_defconfig"
-
-COMPATIBLE_MACHINE = "^("
-COMPATIBLE_MACHINE .= "phycore-rk3288-3"
-COMPATIBLE_MACHINE .= "|phycore-rk3288-4"
-COMPATIBLE_MACHINE .= ")$"
diff --git a/recipes-kernel/linux/linux-mainline_4.9.98-rt76-phy1.bb b/recipes-kernel/linux/linux-mainline_4.9.98-rt76-phy1.bb
deleted file mode 100644
index 204d8ae..0000000
--- a/recipes-kernel/linux/linux-mainline_4.9.98-rt76-phy1.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (C) 2017 PHYTEC Messtechnik GmbH,
-# Author: Daniel Schultz <d.schultz@phytec.de>
-
-inherit phygittag
-inherit buildinfo
-include linux-common.inc
-
-#Skip this recipe if DISTRO_FEATURES doesn't contain the PREEMPT-RT value and
-# a kernel without real-time is desired
-python () {
- if not 'preempt-rt' in d.getVar("DISTRO_FEATURES"):
- raise bb.parse.SkipPackage("Enable 'preempt-rt' in DISTRO_FEATURES!")
-}
-
-GIT_URL = "git://git.phytec.de/${PN}"
-SRC_URI = "${GIT_URL};branch=${BRANCH}"
-
-PR = "${INC_PR}.1"
-
-# NOTE: PV must be in the format "x.y.z-.*". It cannot begin with a 'v'.
-# NOTE: Keep version in filename in sync with commit id!
-SRCREV = "2138ed7efa5a8646378446e80194fdaee65e4701"
-
-S = "${WORKDIR}/git"
-
-INTREE_DEFCONFIG_rk3288 = "rk3288_rt_phytec_defconfig"
-
-COMPATIBLE_MACHINE = "^("
-COMPATIBLE_MACHINE .= "phycore-rk3288-3"
-COMPATIBLE_MACHINE .= ")$"
diff --git a/recipes-kernel/linux/linux-vanilla_5.0.5.bb b/recipes-kernel/linux/linux-vanilla_5.7.11.bb
index e938fa2..86cd7f7 100644
--- a/recipes-kernel/linux/linux-vanilla_5.0.5.bb
+++ b/recipes-kernel/linux/linux-vanilla_5.7.11.bb
@@ -5,7 +5,7 @@ DESCRIPTION = "The linux-vanilla recipe provides a stable unpatched kernel.\
besides adding configuration data is prohibited. Its purpose is\
to evaluate features currently supported by the upstream kernel\
for our products."
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
GIT_URL = "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git"
SRC_URI = "${GIT_URL};branch=${BRANCH}"
@@ -13,8 +13,8 @@ SRC_URI = "${GIT_URL};branch=${BRANCH}"
PR = "${INC_PR}.0"
# NOTE: Keep version in filename in sync with commit id!
-SRCREV = "1f6f316a537d4310747b08f89fb32565317b288b"
-BRANCH = "linux-5.0.y"
+SRCREV = "09fd4bcb610a34127afdb97a5df73364c3d7b01c"
+BRANCH = "linux-5.7.y"
S = "${WORKDIR}/git"
@@ -25,4 +25,6 @@ COMPATIBLE_MACHINE .= "phyboard-wega-am335x-1"
COMPATIBLE_MACHINE .= "|phyboard-wega-am335x-2"
COMPATIBLE_MACHINE .= "|phycore-am335x-1"
COMPATIBLE_MACHINE .= "|phycore-rk3288-3"
+COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-2"
+COMPATIBLE_MACHINE .= "|phyboard-segin-imx6ul-7"
COMPATIBLE_MACHINE .= ")$"
diff --git a/recipes-multimedia/gstreamer-rockchip/gstreamer1.0-rockchip.inc b/recipes-multimedia/gstreamer-rockchip/gstreamer1.0-rockchip.inc
deleted file mode 100644
index 0c8c0dc..0000000
--- a/recipes-multimedia/gstreamer-rockchip/gstreamer1.0-rockchip.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright (C) 2016 - 2017 Randy Li <ayaka@soulik.info>
-# Released under the GNU GENERAL PUBLIC LICENSE Version 2
-# (see COPYING.GPLv2 for the terms)
-
-require recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc
-
-DESCRIPTION = "GStreamer 1.0 plugins for Rockchip platforms"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6d1e4aa87f6192354d3de840cf774d93"
-DEPENDS += "gstreamer1.0-plugins-base rockchip-mpp"
-
-SRC_URI_remove = " \
- file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
- file://gtk-doc-tweaks.patch \
-"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-FILESPATH_prepend := "${THISDIR}/${PN}:"
-
-inherit gettext autotools pkgconfig
-
-PACKAGECONFIG ??= " \
- mpp \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'drm', '', d)} \
-"
-PACKAGECONFIG[mpp] = "--enable-rockchipmpp,--disable-rockchipmpp,rockchip-mpp"
-PACKAGECONFIG[vpudec] = "--enable-vpudec,--disable-vpudec,rockchip-vpu"
-PACKAGECONFIG[drm] = "--enable-drmrockchip,--disable-drmrockchip,libdrm"
-
-EXTRA_OECONF += " \
- --disable-kms \
-"
-EXTRA_OECONF_remove = "--disable-gtk-doc"
-
-do_configure[prefuncs] = " delete_pkg_m4_file"
-
-do_configure() {
- NOCONFIGURE=true ${S}/autogen.sh
- oe_runconf
-}
diff --git a/recipes-multimedia/gstreamer-rockchip/gstreamer1.0-rockchip_20170607.bb b/recipes-multimedia/gstreamer-rockchip/gstreamer1.0-rockchip_20170607.bb
deleted file mode 100644
index 6704bc7..0000000
--- a/recipes-multimedia/gstreamer-rockchip/gstreamer1.0-rockchip_20170607.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2016 - 2017 Randy Li <ayaka@soulik.info>
-# Released under the GNU GENERAL PUBLIC LICENSE Version 2
-# (see COPYING.GPLv2 for the terms)
-include gstreamer1.0-rockchip.inc
-
-TAG = "release_${PV}"
-SRC_URI = "git://github.com/rockchip-linux/gstreamer-rockchip.git;tag=${TAG};nobranch=1 "
-
-S = "${WORKDIR}/git"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugin-bayer2rgb-neon_0.3.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugin-bayer2rgb-neon_0.4.bb
index 5b7d7a7..efbb51b 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugin-bayer2rgb-neon_0.3.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugin-bayer2rgb-neon_0.4.bb
@@ -12,8 +12,8 @@ SRC_URI = "git://git.phytec.de/gst-bayer2rgb-neon;branch=${BRANCH}"
S = "${WORKDIR}/git"
# NOTE: Keep sha1sum in sync with recipe version and git tag
-SRCREV = "6f7b546fbab8ee9b9119684123aa86a235d7e6e9"
-PV = "0.3+git${SRCPV}"
+SRCREV = "db6a8ee3ffb873e4f1f018c5fcc4440ac3ea2e85"
+PV = "0.4+git${SRCPV}"
PR = "r0"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.2.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.2.bb
index 8a1777f..aeff7eb 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.2.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.2.bb
@@ -58,7 +58,7 @@ PACKAGECONFIG[mp3encoder] = ",--disable-mp3encoder,imx-codec"
# LIBV is used by gst-plugins-package.inc to specify the GStreamer version (0.10 vs 1.0)
LIBV = "1.0"
-require recipes-multimedia/gstreamer/gst-plugins-package.inc
+require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
# the following line is required to produce one package for each plugin
PACKAGES_DYNAMIC = "^${PN}-.*"
diff --git a/recipes-multimedia/rockchip-mpp/rockchip-mpp.inc b/recipes-multimedia/rockchip-mpp/rockchip-mpp.inc
deleted file mode 100644
index 1663908..0000000
--- a/recipes-multimedia/rockchip-mpp/rockchip-mpp.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (C) 2016 - 2017 Randy Li <ayaka@soulik.info>
-# Released under the GNU GENERAL PUBLIC LICENSE Version 2
-# (see COPYING.GPLv2 for the terms)
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://inc/rk_mpi.h;beginline=4;endline=14;md5=acbba394ae5639b0c786f60c1f48e3d6"
-
-inherit pkgconfig cmake
-
-EXTRA_OECMAKE = " \
- -DRKPLATFORM=ON \
- -DHAVE_DRM=ON \
-"
-
-PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN} rockchip-vpu"
-FILES_rockchip-vpu = "${libdir}/lib*vpu${SOLIBS}"
-FILES_${PN} = "${libdir}/lib*mpp${SOLIBS}"
-FILES_${PN}-dev = "${libdir}/lib*${SOLIBSDEV} ${includedir} ${libdir}/pkgconfig"
-SECTION_${PN}-dev = "devel"
-FILES_${PN}-staticdev = "${libdir}/*.a"
-SECTION_${PN}-staticdev = "devel"
-
-COMPATIBLE_MACHINE = "rk3288"
diff --git a/recipes-multimedia/rockchip-mpp/rockchip-mpp_20170428.bb b/recipes-multimedia/rockchip-mpp/rockchip-mpp_20170428.bb
deleted file mode 100644
index 9b4ee18..0000000
--- a/recipes-multimedia/rockchip-mpp/rockchip-mpp_20170428.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright (C) 2016 - 2017 Randy Li <ayaka@soulik.info>
-# Released under the GNU GENERAL PUBLIC LICENSE Version 2
-# (see COPYING.GPLv2 for the terms)
-include rockchip-mpp.inc
-
-TAG = "release_${PV}"
-SRC_URI = " \
- git://github.com/rockchip-linux/mpp.git;tag=${TAG};nobranch=1 \
-"
-
-S = "${WORKDIR}/git"
diff --git a/scripts/copy_file_by_priority.py b/scripts/copy_file_by_priority.py
index 3a8396e..daeff0e 100755
--- a/scripts/copy_file_by_priority.py
+++ b/scripts/copy_file_by_priority.py
@@ -19,7 +19,7 @@ class BSP_BBLayerFile(BoardSupportPackage):
super(BSP_BBLayerFile, self).__init__()
project_priority = []
# ignore repos with layer.conf in unusual places
- project_filter = ["poky", "meta-openembedded", "meta-fsl-bsp-release", "base"]
+ project_filter = ["poky", "meta-openembedded", "meta-imx", "base"]
for p in set(self.project_paths).difference(project_filter):
abs_project_path = os.path.join(self.src.bsp_dir, 'sources', p)
layer_conf = os.path.join(abs_project_path, 'conf/layer.conf')
diff --git a/scripts/init b/scripts/init
index 5004ea8..a61f51a 100755
--- a/scripts/init
+++ b/scripts/init
@@ -49,9 +49,9 @@ if [ -z "${TEMPLATECONF}" ]; then
install -d ${TEMPLATECONF}
# Modify bblayers.conf.sample and local.conf.sample in case of freescale-release
case "$RELEASE_UID" in
- *FSL*)
+ *FSL* | *"IoTEdge-i.MX8"*)
# copy new EULA to meta-freescale
- cp ${ROOTDIR}/sources/meta-fsl-bsp-release/imx/EULA.txt ${ROOTDIR}/sources/meta-freescale/EULA
+ cp ${ROOTDIR}/sources/meta-imx/EULA.txt ${ROOTDIR}/sources/meta-freescale/EULA
# add commented line in local.conf.sample (for easy acceptable NXP EULA)
echo "" >> ${PHYTEC_DIR}/conf/local.conf.sample
@@ -61,17 +61,6 @@ if [ -z "${TEMPLATECONF}" ]; then
# add BSPDIR variable in bblayers.conf.sample (needed by recipes of NXP)
sed -e '9iBSPDIR := "${OEROOT}/../.."' -i ${PHYTEC_DIR}/conf/bblayers.conf.sample
-
- # add further sublayer in bblayers.conf.sample
- echo "" >> ${PHYTEC_DIR}/conf/bblayers.conf.sample
- echo "# Adding sublayer because of \"$RELEASE_UID\" release" >> ${PHYTEC_DIR}/conf/bblayers.conf.sample
- echo "BBLAYERS += \"\\" >> ${PHYTEC_DIR}/conf/bblayers.conf.sample
- echo " \${OEROOT}/../meta-openembedded/meta-gnome \\" >> ${PHYTEC_DIR}/conf/bblayers.conf.sample
- echo " \${OEROOT}/../meta-fsl-bsp-release/imx/meta-bsp \\" >> ${PHYTEC_DIR}/conf/bblayers.conf.sample
- echo " \${OEROOT}/../meta-fsl-bsp-release/imx/meta-sdk \\" >> ${PHYTEC_DIR}/conf/bblayers.conf.sample
- echo " \${OEROOT}/../meta-fsl-bsp-release/imx/meta-ml \\" >> ${PHYTEC_DIR}/conf/bblayers.conf.sample
- echo " \"" >> ${PHYTEC_DIR}/conf/bblayers.conf.sample
- echo "" >> ${PHYTEC_DIR}/conf/bblayers.conf.sample
;;
esac
$copy_file_by_priority conf/bblayers.conf.sample ${TEMPLATECONF}
diff --git a/scripts/init_bblayers.py b/scripts/init_bblayers.py
index 3d3e0f1..656b8b8 100755
--- a/scripts/init_bblayers.py
+++ b/scripts/init_bblayers.py
@@ -14,15 +14,13 @@ class BSP_BBLayer(BoardSupportPackage):
def __init__(self):
super(BSP_BBLayer, self).__init__()
self.bblayers_conf = os.path.join(self.src.bsp_dir, "build/conf/bblayers.conf")
- #layers in those project dirs will be controlled by the bblayers.conf.sample
- self.project_filter = ["poky", "meta-openembedded", "meta-fsl-bsp-release", "base"]
def init_bblayers(self):
- layers_to_add = set(self.project_paths).difference(self.project_filter)
+ layers_to_add = self.project_paths
print("Layers to add:", layers_to_add)
with open(self.bblayers_conf, "a") as f:
f.write("BBLAYERS += \"\\\n")
- for l in sorted(layers_to_add):
+ for l in layers_to_add:
f.write(" ${OEROOT}/../%s \\\n" % l)
f.write(" \"\n")
@@ -33,8 +31,10 @@ class BSP_BBLayer(BoardSupportPackage):
##############
def main():
- parser = argparse.ArgumentParser(description='Init the bblayers.conf. Poky, meta-openembedded and meta-fsl-bsp-release will be handled by the bblayers.conf.sample. The other layers will be added from the repo manifest.xml')
-
+ parser = argparse.ArgumentParser(description='This script dynamically creates '
+ 'the bblayers.conf. Active layers are defined by all projects in the '
+ 'manifest.xml and, in addition, the sublayers entries. Projects in '
+ 'the manifest can be deactivated with the <ignorebaselayer/> tag.')
args = parser.parse_args()
bsp = BSP_BBLayer()
diff --git a/scripts/lib/wic/canned-wks/am335x-update-sdimage.wks b/scripts/lib/wic/canned-wks/am335x-update-sdimage.wks
index 22cdf17..092de48 100644
--- a/scripts/lib/wic/canned-wks/am335x-update-sdimage.wks
+++ b/scripts/lib/wic/canned-wks/am335x-update-sdimage.wks
@@ -3,9 +3,6 @@
# boards that the user can directly dd to an SD card and boot.
# This image contains twice boot and rootfs partitions for a redundance system.
-part --source bootimg-partition --fstype=vfat --label boot --ondisk mmc --active --align 4096 --size 20
-part / --source rootfs --fstype=ext4 --label root --ondisk mmc --align 1024 --use-uuid
-part --source bootimg-partition --fstype=vfat --label boot2 --ondisk mmc2 --active --align 4096 --size 20
-part / --source rootfs --fstype=ext4 --label root2 --ondisk mmc --align 1024 --use-uuid
+include rauc-sdimage.wks.inc
bootloader --timeout=0
diff --git a/scripts/lib/wic/canned-wks/imx6-rauc-sdimage.wks b/scripts/lib/wic/canned-wks/imx6-rauc-sdimage.wks
new file mode 100644
index 0000000..b519d7b
--- /dev/null
+++ b/scripts/lib/wic/canned-wks/imx6-rauc-sdimage.wks
@@ -0,0 +1,10 @@
+# short-description: Create a Phytec i.MX6 disk image (SD card)
+# long-description: Creates a partitioned disk image for Phytec i.MX6 BSPs
+# boards that the user can directly dd to an SD card and boot.
+# This image contains twice boot and rootfs partitions for a redundance system.
+
+part BAREBOX --source rawcopy --sourceparams="file=${BAREBOX_BINARY},skip=1024" --ondisk mmc --no-table --align 1
+
+include rauc-sdimage.wks.inc
+
+bootloader --timeout=0
diff --git a/scripts/lib/wic/canned-wks/imx6-sdimage.wks b/scripts/lib/wic/canned-wks/imx6-sdimage.wks
index 7f991a5..ec2420d 100644
--- a/scripts/lib/wic/canned-wks/imx6-sdimage.wks
+++ b/scripts/lib/wic/canned-wks/imx6-sdimage.wks
@@ -2,7 +2,7 @@
# long-description: Creates a partitioned disk image for Phytec i.MX6 BSPs
# boards that the user can directly dd to an SD card and boot.
-part BAREBOX --source rawcopy --sourceparams="file=barebox.bin,skip=1024" --ondisk mmc --no-table --align 1
+part BAREBOX --source rawcopy --sourceparams="file=${BAREBOX_BINARY},skip=1024" --ondisk mmc --no-table --align 1
part --source bootimg-partition --fstype=vfat --label boot --ondisk mmc --active --align 4096 --size 20
part / --source rootfs --fstype=ext4 --label root --ondisk mmc --align 1024 --use-uuid
diff --git a/scripts/lib/wic/canned-wks/imx6-update-sdimage.wks b/scripts/lib/wic/canned-wks/imx6-update-sdimage.wks
deleted file mode 100644
index 64c8f52..0000000
--- a/scripts/lib/wic/canned-wks/imx6-update-sdimage.wks
+++ /dev/null
@@ -1,13 +0,0 @@
-# short-description: Create a Phytec i.MX6 disk image (SD card)
-# long-description: Creates a partitioned disk image for Phytec i.MX6 BSPs
-# boards that the user can directly dd to an SD card and boot.
-# This image contains twice boot and rootfs partitions for a redundance system.
-
-part BAREBOX --source rawcopy --sourceparams="file=barebox.bin,skip=1024" --ondisk mmc --no-table --align 1
-
-part --source bootimg-partition --fstype=vfat --label boot --ondisk mmc --active --align 4096 --size 20
-part / --source rootfs --fstype=ext4 --label root --ondisk mmc --align 1024 --use-uuid
-part --source bootimg-partition --fstype=vfat --label boot2 --ondisk mmc --active --align 4096 --size 20
-part / --source rootfs --fstype=ext4 --label root2 --ondisk mmc --align 1024 --use-uuid
-
-bootloader --timeout=0
diff --git a/scripts/lib/wic/canned-wks/imx8-sdimage.wks.in b/scripts/lib/wic/canned-wks/imx8-sdimage.wks
index c8a570a..c8a570a 100644
--- a/scripts/lib/wic/canned-wks/imx8-sdimage.wks.in
+++ b/scripts/lib/wic/canned-wks/imx8-sdimage.wks
diff --git a/scripts/lib/wic/canned-wks/imx8m-rauc-sdimage.wks b/scripts/lib/wic/canned-wks/imx8m-rauc-sdimage.wks
new file mode 100644
index 0000000..04dede4
--- /dev/null
+++ b/scripts/lib/wic/canned-wks/imx8m-rauc-sdimage.wks
@@ -0,0 +1,10 @@
+# short-description: Create a PHYTEC i.MX8M disk image (SD card)
+# long-description: Creates a partitioned disk image for PHYTEC i.MX8M BSPs that
+# the user can directly dd to an SD card and boot. This image contains two boot
+# and rootfs partitions for a redundant system.
+
+part U-BOOT --source rawcopy --sourceparams="file=imx-boot" --ondisk mmc --no-table --align 33
+
+include rauc-sdimage.wks.inc
+
+bootloader --timeout=0
diff --git a/scripts/lib/wic/canned-wks/imx8m-sdimage.wks.in b/scripts/lib/wic/canned-wks/imx8m-sdimage.wks
index 0b8edb6..0b8edb6 100644
--- a/scripts/lib/wic/canned-wks/imx8m-sdimage.wks.in
+++ b/scripts/lib/wic/canned-wks/imx8m-sdimage.wks
diff --git a/scripts/lib/wic/canned-wks/imx8mn-sdimage.wks b/scripts/lib/wic/canned-wks/imx8mn-sdimage.wks
new file mode 100644
index 0000000..5df3ff3
--- /dev/null
+++ b/scripts/lib/wic/canned-wks/imx8mn-sdimage.wks
@@ -0,0 +1,10 @@
+# short-description: Create a Phytec i.MX8MN disk image (SD card)
+# long-description: Creates a partitioned disk image for Phytec i.MX8M BSPs
+# boards that the user can directly dd to an SD card and boot.
+
+part U-BOOT --source rawcopy --sourceparams="file=imx-boot" --ondisk mmc --no-table --align 32
+
+part --source bootimg-partition --fstype=vfat --label boot --ondisk mmc --active --align 4096 --size 20
+part / --source rootfs --fstype=ext4 --label root --ondisk mmc --align 1024 --use-uuid
+
+bootloader --timeout=0
diff --git a/scripts/lib/wic/canned-wks/rauc-sdimage.wks.inc b/scripts/lib/wic/canned-wks/rauc-sdimage.wks.inc
new file mode 100644
index 0000000..9243687
--- /dev/null
+++ b/scripts/lib/wic/canned-wks/rauc-sdimage.wks.inc
@@ -0,0 +1,4 @@
+part --source bootimg-partition --fstype=vfat --label boot0 --ondisk mmc --active --align 4096 --size 20
+part / --source rootfs --fstype=ext4 --label root0 --ondisk mmc --use-uuid
+part --source bootimg-partition --fstype=vfat --label boot1 --ondisk mmc --active --size 20
+part / --source rootfs --fstype=ext4 --label root1 --ondisk mmc --use-uuid
diff --git a/scripts/lib/wic/canned-wks/rk3288-sdimage.wks b/scripts/lib/wic/canned-wks/rk3288-sdimage.wks
index 000eadf..8a58d61 100644
--- a/scripts/lib/wic/canned-wks/rk3288-sdimage.wks
+++ b/scripts/lib/wic/canned-wks/rk3288-sdimage.wks
@@ -3,8 +3,6 @@
# boards that the user can directly dd to an SD card and boot.
part SPL --source rawcopy --sourceparams="file=u-boot-spl-dtb.bin.rksd" --ondisk mmc --no-table --align 32
-part U-BOOT --source rawcopy --sourceparams="file=u-boot.bin" --ondisk mmc --no-table --align 64
-
part --source bootimg-partition --fstype=vfat --label boot --ondisk mmc --active --align 4096 --size 20
part / --source rootfs --fstype=ext4 --label root --ondisk mmc --align 1024 --use-uuid
diff --git a/scripts/lib/wic/canned-wks/rk3288-update-sdimage.wks b/scripts/lib/wic/canned-wks/rk3288-update-sdimage.wks
index 579abc1..900b364 100644
--- a/scripts/lib/wic/canned-wks/rk3288-update-sdimage.wks
+++ b/scripts/lib/wic/canned-wks/rk3288-update-sdimage.wks
@@ -6,9 +6,6 @@
part SPL --source rawcopy --sourceparams="file=u-boot-spl-dtb.bin.rksd" --ondisk mmc --no-table --align 32
part U-BOOT --source rawcopy --sourceparams="file=u-boot.bin" --ondisk mmc --no-table --align 64
-part --source bootimg-partition --fstype=vfat --label boot --ondisk mmc --active --align 4096 --size 20
-part / --source rootfs --fstype=ext4 --label root --ondisk mmc --align 1024 --use-uuid
-part --source bootimg-partition --fstype=vfat --label boot2 --ondisk mmc --active --align 4096 --size 20
-part / --source rootfs --fstype=ext4 --label root2 --ondisk mmc --align 1024 --use-uuid
+include rauc-sdimage.wks.inc
bootloader --timeout=0
diff --git a/scripts/phylib.py b/scripts/phylib.py
index 002061e..c45b903 100644
--- a/scripts/phylib.py
+++ b/scripts/phylib.py
@@ -220,7 +220,12 @@ class BoardSupportPackage(object):
if child.tag == "phytec":
release_info = child.attrib
elif child.tag == "project":
- projects.append(child.attrib)
+ if not child.findall("ignorebaselayer"):
+ projects.append(child.attrib)
+ for sublayer in child.iter("sublayer"):
+ subproject = sublayer.attrib
+ subproject["path"] = os.path.join(child.attrib["path"], subproject["path"])
+ projects.append(subproject)
# import meta data, some keys need special treatments
for key in list(release_info.keys()):
@@ -240,7 +245,8 @@ class BoardSupportPackage(object):
for project in projects:
for key in list(project.keys()):
if key == "path":
- path = os.path.split(project[key].rstrip('/'))[1]
+ path = project[key].split('/')[1:]
+ path = os.path.join(*path)
self.project_paths.append(path)
def probe_selected_release(self):