From e0005b8eb61a869541cc09b4db18e6fe78b66d92 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 30 Nov 2022 15:07:22 +0100 Subject: [PATCH 001/144] imx-digi-base: yet another sync with meta-freescale's imx-base Signed-off-by: Javier Viguera --- .../conf/machine/include/imx-digi-base.inc | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/meta-digi-arm/conf/machine/include/imx-digi-base.inc b/meta-digi-arm/conf/machine/include/imx-digi-base.inc index 84ae86a30..62f2d3e9c 100644 --- a/meta-digi-arm/conf/machine/include/imx-digi-base.inc +++ b/meta-digi-arm/conf/machine/include/imx-digi-base.inc @@ -125,11 +125,15 @@ MACHINE_SOCARCH_FILTER:append:imxvulkan = " \ " MACHINE_SOCARCH_FILTER:append:imxgpu = " \ virtual/egl \ - virtual/mesa \ virtual/libopenvg \ + virtual/mesa \ + virtual/opencl-icd \ libdrm \ cairo \ libgal-imx \ + opencl-icd-loader \ + opencl-clhpp \ + opencl-headers \ opencv \ pango \ " @@ -153,16 +157,6 @@ MACHINE_SOCARCH_FILTER:append:imx-mainline-bsp = " \ pango \ qtbase \ " -MACHINE_SOCARCH_FILTER:append:mx6q-nxp-bsp = " \ - opencl-icd-loader \ - opencl-clhpp \ - opencl-headers \ -" -MACHINE_SOCARCH_FILTER:append:mx8-nxp-bsp = " \ - opencl-icd-loader \ - opencl-clhpp \ - opencl-headers \ -" MACHINE_SOCARCH_FILTER:append:mx8qm-nxp-bsp = " \ virtual/libopenvx \ " From 2e9528df4069fbbecc66554bb04e5fcfd95141c1 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 30 Nov 2022 15:07:52 +0100 Subject: [PATCH 002/144] meta-digi: remove outdated overlayed recipes A new set of meta-freescale updates made these recipes outdated. Signed-off-by: Javier Viguera --- ...001-Makefile-Fix-LIBDIR-for-multilib.patch | 27 ------------- ...d-v2x_test-to-the-installed-binaries.patch | 32 --------------- ...tall-to-clear-host-user-contaminated.patch | 33 --------------- .../recipes-bsp/imx-seco/imx-seco-libs_git.bb | 30 -------------- .../recipes-bsp/imx-seco/imx-seco_3.8.4.bb | 28 ------------- .../imx-parser/imx-parser.inc | 40 ------------------- .../imx-parser/imx-parser_4.6.3.bb | 12 ------ 7 files changed, 202 deletions(-) delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs/0001-Makefile-Fix-LIBDIR-for-multilib.patch delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs/0001-add-v2x_test-to-the-installed-binaries.patch delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs/0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs_git.bb delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco_3.8.4.bb delete mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-parser/imx-parser.inc delete mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-parser/imx-parser_4.6.3.bb diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs/0001-Makefile-Fix-LIBDIR-for-multilib.patch b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs/0001-Makefile-Fix-LIBDIR-for-multilib.patch deleted file mode 100644 index 8d9f62982..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs/0001-Makefile-Fix-LIBDIR-for-multilib.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 9e89d173a7fab97c913960344ae01dfa409b6258 Mon Sep 17 00:00:00 2001 -From: Cristinel Panfir -Date: Mon, 27 Jul 2020 18:55:30 +0000 -Subject: [PATCH] Makefile: Fix LIBDIR for multilib - -Signed-off-by: Cristinel Panfir ---- - Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index b16cebf..492d700 100644 ---- a/Makefile -+++ b/Makefile -@@ -4,7 +4,8 @@ all: she_test hsm_test v2x_test she_lib.a seco_nvm_manager.a hsm_lib.a - CFLAGS = -O1 -Werror -fPIC - DESTDIR ?= export - BINDIR ?= /usr/bin --LIBDIR ?= /usr/lib -+base_libdir ?= /lib -+LIBDIR ?= /usr/$(base_libdir) - INCLUDEDIR ?= /usr/include - - ifdef COVERAGE --- -2.7.4 - diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs/0001-add-v2x_test-to-the-installed-binaries.patch b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs/0001-add-v2x_test-to-the-installed-binaries.patch deleted file mode 100644 index 8aa893f4a..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs/0001-add-v2x_test-to-the-installed-binaries.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b62f020ea723dc33f28e5e865d0ddd13219971c9 Mon Sep 17 00:00:00 2001 -From: Cristinel Panfir -Date: Mon, 29 Mar 2021 15:24:42 +0300 -Subject: [PATCH] Makefile: Add v2x test to the installed-binaries - -Signed-off-by: Cristinel Panfir -[regenerate the patch to be applied after meta-imx patches] -Signed-off-by: Fausto Chiatante - ---- - Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index 25ad333..a397814 100644 ---- a/Makefile -+++ b/Makefile -@@ -61,9 +61,9 @@ hsm_doc: include/hsm/hsm_api.h - cp doc/latex/refman.pdf doc/hsm_api_document.pdf - rm -rf doc/latex/ - --install: hsm_test she_test she_lib.a seco_nvm_manager.a hsm_lib.a -+install: hsm_test she_test v2x_test she_lib.a seco_nvm_manager.a hsm_lib.a - mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(INCLUDEDIR) - cp seco_nvm_manager.a hsm_lib.a she_lib.a $(DESTDIR)$(LIBDIR) -- cp hsm_test she_test $(DESTDIR)$(BINDIR) -+ cp hsm_test she_test v2x_test $(DESTDIR)$(BINDIR) - cp -a include/* $(DESTDIR)$(INCLUDEDIR) - --- -2.25.1 - diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs/0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs/0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch deleted file mode 100644 index 67eec7164..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs/0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 99249f0f199d95f4a5213561dc0ce33f70b1e717 Mon Sep 17 00:00:00 2001 -From: Cristinel Panfir -Date: Mon, 29 Mar 2021 15:20:55 +0300 -Subject: [PATCH] Makefile: Fix install to clear host-user-contaminated - warnings [HSM-483] - -WARNING: imx-seco-libs-git-r0 do_package_qa: QA Issue: -imx-seco-libs: /usr/lib/hsm_lib.a is owned by uid 26292, which is the same as the user running bitbake. This may be due to host contamination -imx-seco-libs: /usr/lib/she_lib.a is owned by uid 26292, which is the same as the user running bitbake. This may be due to host contamination -imx-seco-libs: /usr/lib/seco_nvm_manager.a is owned by uid 26292, which is the same as the user running bitbake. -This may be due to host contamination [host-user-contaminated] - -Signed-off-by: Cristinel Panfir ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 492d700..25ad333 100644 ---- a/Makefile -+++ b/Makefile -@@ -63,7 +63,7 @@ hsm_doc: include/hsm/hsm_api.h - - install: hsm_test she_test she_lib.a seco_nvm_manager.a hsm_lib.a - mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(INCLUDEDIR) -- cp -a seco_nvm_manager.a hsm_lib.a she_lib.a $(DESTDIR)$(LIBDIR) -+ cp seco_nvm_manager.a hsm_lib.a she_lib.a $(DESTDIR)$(LIBDIR) - cp hsm_test she_test $(DESTDIR)$(BINDIR) - cp -a include/* $(DESTDIR)$(INCLUDEDIR) - --- -2.25.1 - diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs_git.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs_git.bb deleted file mode 100644 index 0bce35a16..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco-libs_git.bb +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 2019-21 NXP - -SUMMARY = "NXP i.MX SECO library" -DESCRIPTION = "NXP IMX SECO library" -SECTION = "base" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://EULA.txt;md5=76871788f27c28af824e2ec1ca187832" - -DEPENDS = "zlib" - -SRCBRANCH = "lf-5.10.72_2.2.0" -SECO_LIB_SRC ?= "git://github.com/NXP/imx-seco-libs.git;protocol=https" -SRC_URI = "${SECO_LIB_SRC};branch=${SRCBRANCH} \ - file://0001-Makefile-Fix-LIBDIR-for-multilib.patch \ - file://0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch \ - file://0001-add-v2x_test-to-the-installed-binaries.patch \ -" -SRCREV = "3e8ad6b168f23a8c6ecd75edabc18d2673403e24" - -S = "${WORKDIR}/git" - -TARGET_CC_ARCH += "${LDFLAGS}" - -do_install () { - oe_runmake DESTDIR=${D} install - chown -R root:root "${D}" -} - -COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" -COMPATIBLE_MACHINE:mx8m-nxp-bsp = "(^$)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco_3.8.4.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco_3.8.4.bb deleted file mode 100644 index e8463473b..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco_3.8.4.bb +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 2019-2021 NXP - -SUMMARY = "NXP i.MX SECO firmware" -DESCRIPTION = "NXP IMX SECO firmware" -SECTION = "base" -LICENSE = "Proprietary" - -LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f" - -inherit fsl-eula-unpack use-imx-security-controller-firmware deploy - -SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" - -SRC_URI[md5sum] = "38d298cda9ea91db945b266bd6774e07" -SRC_URI[sha256sum] = "ed65381fac7a17a7594099191952821ed3f3f54c944937926dc19f82ecd8fef5" - -do_compile[noexec] = "1" -do_install() { -} - -addtask deploy after do_install -do_deploy () { - # Deploy i.MX8 SECO firmware files - install -m 0644 ${S}/firmware/seco/${SECO_FIRMWARE_NAME} ${DEPLOYDIR} -} - -COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" -COMPATIBLE_MACHINE:mx8m-nxp-bsp = "(^$)" diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-parser/imx-parser.inc b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-parser/imx-parser.inc deleted file mode 100644 index 75d23c28a..000000000 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-parser/imx-parser.inc +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright (C) 2012-2014, 2016 O.S. Systems Software LTDA. -# Copyright (C) 2012-2016 Freescale Semiconductor -# Released under the MIT license (see COPYING.MIT for the terms) -DESCRIPTION = "Freescale Multimedia parser libs" -LICENSE = "Proprietary" -SECTION = "multimedia" -LIC_FILES_CHKSUM = "file://COPYING;md5=6b552f505eedab4a11ab538cf3db743a" - -# For backwards compatibility -PROVIDES += "libfslparser" -RREPLACES:${PN} = "libfslparser" -RPROVIDES:${PN} = "libfslparser" -RCONFLICTS:${PN} = "libfslparser" - -inherit fsl-eula-unpack autotools pkgconfig - -SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" - -# Choose between 32bit and 64bit binaries -EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \ - bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '--enable-fsw', d), d)}" - -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" - -python __set_insane_skip() { - # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have - # the source we cannot fix it. Disable the insane check for now. - # FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those - for p in d.getVar('PACKAGES', True).split(): - d.setVar("INSANE_SKIP:%s" % p, "ldflags dev-so textrel") -} - -do_package_qa[prefuncs] += "__set_insane_skip" - -# FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those -FILES:${PN} += "${libdir}/imx-mm/*/*${SOLIBS} ${libdir}/imx-mm/*/*${SOLIBSDEV}" - - -INHIBIT_SYSROOT_STRIP = "1" diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-parser/imx-parser_4.6.3.bb b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-parser/imx-parser_4.6.3.bb deleted file mode 100644 index 22e5e007f..000000000 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-parser/imx-parser_4.6.3.bb +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (C) 2013-2016 Freescale Semiconductor -# Copyright 2017-2021 NXP -# Released under the MIT license (see COPYING.MIT for the terms) - -include imx-parser.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f" - -SRC_URI[md5sum] = "7e6cf19ac1c5f7227bceac794fd72651" -SRC_URI[sha256sum] = "780b211b26b15f1a0fc29b4e9c662d075f9478ca8a67d653a5d263086dd34eef" - -COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8-nxp-bsp)" From db5067371e83d56d16b0312b1c67806a0d5ec8a8 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 30 Nov 2022 18:06:57 +0100 Subject: [PATCH 003/144] meta-digi: get rid of ccimx8mp-dvk Platform not supported. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/ccimx8mp-dvk.conf | 56 ---- .../conf/machine/include/digi-defaults.inc | 1 - .../firmware-murata/firmware-murata.bb | 2 +- .../u-boot/u-boot-dey/ccimx8mp-dvk/boot.txt | 96 ------ .../recipes-bsp/u-boot/u-boot-dey_2021.04.bb | 11 - .../ccimx8mp/80-mm-net-device-blacklist.rules | 18 -- .../wpa-supplicant/wpa-supplicant_%.bbappend | 1 - .../ccimx8mp-dvk/libdigiapix.conf | 36 --- sdk/build-github.sh | 2 - sdk/build.sh | 1 - sdk/config/ccimx8mp-dvk/bblayers.conf.sample | 26 -- sdk/config/ccimx8mp-dvk/conf-notes.txt | 11 - sdk/config/ccimx8mp-dvk/local.conf.sample | 293 ------------------ sdk/mkproject.sh | 2 +- 14 files changed, 2 insertions(+), 554 deletions(-) delete mode 100644 meta-digi-arm/conf/machine/ccimx8mp-dvk.conf delete mode 100644 meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mp-dvk/boot.txt delete mode 100644 meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2021.04.bb delete mode 100644 meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx8mp/80-mm-net-device-blacklist.rules delete mode 100644 meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx8mp-dvk/libdigiapix.conf delete mode 100644 sdk/config/ccimx8mp-dvk/bblayers.conf.sample delete mode 100644 sdk/config/ccimx8mp-dvk/conf-notes.txt delete mode 100644 sdk/config/ccimx8mp-dvk/local.conf.sample diff --git a/meta-digi-arm/conf/machine/ccimx8mp-dvk.conf b/meta-digi-arm/conf/machine/ccimx8mp-dvk.conf deleted file mode 100644 index 61e6a7db5..000000000 --- a/meta-digi-arm/conf/machine/ccimx8mp-dvk.conf +++ /dev/null @@ -1,56 +0,0 @@ -#@TYPE: Machine -#@NAME: ConnectCore 8M Plus Development Kit. -#@DESCRIPTION: Machine configuration for Digi's ConnectCore 8M Plus DVK. - -# Include the machine configuration for Digi's ConnectCore 8M module. -include conf/machine/include/ccimx8m.inc - -# Temporarily remove wifi and bluetooth machine features until -# we have proper support for the Murata module. -MACHINE_FEATURES:remove = "wifi bluetooth" - -DIGI_FAMILY = "ccimx8mp" -MACHINEOVERRIDES =. "mx8:mx8m:mx8mp:ccimx8m:${DIGI_FAMILY}:" - -BOOTLOADER_SEEK_USERDATA = "32" -BOOTLOADER_SEEK_BOOT = "0" - -# U-Boot configurations -# Last one is the default (the one the symlinks point at) -UBOOT_CONFIG ??= "ccimx8mp_dvk" -UBOOT_CONFIG[ccimx8mp_dvk] = "ccimx8mp_dvk_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" - -# Set DDR FIRMWARE -DDR_FIRMWARE_VERSION = "202006" -DDR_FIRMWARE_NAME = " \ - lpddr4_pmu_train_1d_dmem_${DDR_FIRMWARE_VERSION}.bin \ - lpddr4_pmu_train_1d_imem_${DDR_FIRMWARE_VERSION}.bin \ - lpddr4_pmu_train_2d_dmem_${DDR_FIRMWARE_VERSION}.bin \ - lpddr4_pmu_train_2d_imem_${DDR_FIRMWARE_VERSION}.bin \ -" - -SPL_BINARY = "spl/u-boot-spl.bin" - -# Set u-boot DTB -UBOOT_DTB_NAME = "ccimx8mp-dvk.dtb" - -ATF_PLATFORM = "imx8mp" - -KERNEL_DEVICETREE ?= " \ - digi/ccimx8mp-dvk.dtb \ -" - -SERIAL_CONSOLES ?= "115200;ttymxc0" - -# Bluetooth tty -BT_TTY ?= "ttymxc1" - -# XBees -XBEE_RESET_N_GPIO ?= "mca-gpio@15,gpio1@8" -XBEE_SLEEP_RQ_GPIO ?= "mca-gpio@11,gpio1@7" -XBEE_TTY ?= "ttymxc3" - -# Image FS types -IMAGE_FSTYPES ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", \ - "boot.vfat tar.bz2 recovery.vfat squashfs", \ - "boot.vfat ext4.gz sdcard.gz tar.bz2 recovery.vfat", d)}' diff --git a/meta-digi-arm/conf/machine/include/digi-defaults.inc b/meta-digi-arm/conf/machine/include/digi-defaults.inc index 8f2f9bb2c..5080047a8 100644 --- a/meta-digi-arm/conf/machine/include/digi-defaults.inc +++ b/meta-digi-arm/conf/machine/include/digi-defaults.inc @@ -16,7 +16,6 @@ PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" # ccimx8x 5.4 2020.04 (packaged in imx-boot) # ccimx8mn 5.4 2020.04 (packaged in imx-boot) # ccimx8mm 5.4 2020.04 (packaged in imx-boot) -# ccimx8mp 5.10 2021.04 (packaged in imx-boot) # ccmp15 5.15 2021.10 # ccmp13 5.15 2021.10 # diff --git a/meta-digi-arm/recipes-bsp/firmware-murata/firmware-murata.bb b/meta-digi-arm/recipes-bsp/firmware-murata/firmware-murata.bb index 418dec3f9..36da2d5af 100644 --- a/meta-digi-arm/recipes-bsp/firmware-murata/firmware-murata.bb +++ b/meta-digi-arm/recipes-bsp/firmware-murata/firmware-murata.bb @@ -66,4 +66,4 @@ INSANE_SKIP:${PN} += "build-deps" INSANE_SKIP:${PN} += "file-rdeps" PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(ccimx8mp|ccmp1)" +COMPATIBLE_MACHINE = "(ccmp1)" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mp-dvk/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mp-dvk/boot.txt deleted file mode 100644 index 3efee8a11..000000000 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mp-dvk/boot.txt +++ /dev/null @@ -1,96 +0,0 @@ -# -# U-Boot bootscript for EMMC/SD images created by Yocto. -# - -# As the first step in the boot script, check if we are using DualBoot and -# if an upgrade is available. This requires the script to change some variables -# and save them, while the rest of the script changes variables only temporarily -# without saving them. - -# Dual boot update verification -if test "${dualboot}" = "yes"; then - if test "${upgrade_available}" = "1"; then - echo "Update detected; Booting new system in ${active_system} (try ${bootcount})" - else - if test "${active_system}" = "linux_a"; then - echo "Booting from system A" - part number mmc ${mmcbootdev} linux_a pi - setenv mmcpart ${pi} - # Save the partition index on variable rootfs_a_index - part number mmc ${mmcbootdev} rootfs_a rootfs_a_index - # Save the rootfs_a UUID into mmcroot_a - part uuid mmc ${mmcbootdev}:${rootfs_a_index} mmcroot_a - setenv mmcroot PARTUUID=${mmcroot_a} - else - echo "Booting from system B" - part number mmc ${mmcbootdev} linux_b pi - setenv mmcpart ${pi} - # Save the partition index on variable rootfs_b_index - part number mmc ${mmcbootdev} rootfs_b rootfs_b_index - # Save the rootfs_b UUID into mmcroot_b - part uuid mmc ${mmcbootdev}:${rootfs_b_index} mmcroot_b - setenv mmcroot PARTUUID=${mmcroot_b} - fi - fi -else - # Get the UUID of the configured boot partition. - part uuid mmc ${mmcbootdev}:${mmcpart} bootpart - # Check the boot source. - if test "${bootpart}" = "${part1_uuid}"; then - # We are booting from the eMMC using 'linux'. - true - elif test "${bootpart}" = "${part2_uuid}"; then - # We are booting from the eMMC using 'recovery'. - setenv boot_initrd true - setenv initrd_file uramdisk-recovery.img - else - # We are booting from the SD card. - setenv mmcroot /dev/mmcblk${mmcbootdev}p2 - fi -fi - - -# Back up environment variables -setenv ORIG_overlays ${overlays} -setenv ORIG_extra_bootargs ${extra_bootargs} - -# Set SOC type to "imx8mp" if not already defined by U-Boot -if test ! -n "${soc_type}"; then - setenv soc_type "imx8mp" -fi - -# -# Determine overlays to apply depending on the hardware capabilities -# described by the HWID, SOM version, and carrier board version. -# -if test -n "${module_ram}"; then - setexpr module_has_wifi ${hwid_2} \& 10000 - setexpr module_has_wifi ${module_has_wifi} / 10000 - setexpr module_has_bt ${hwid_2} \& 20000 - setexpr module_has_bt ${module_has_bt} / 20000 - - ## - ## @TODO: THE OVERLAYS NEED TO BE ADJUSTED ONCE THE MURATA SUPPORT - ## IS IN PLACE. - ## - if test "${module_has_bt}" = "1" && test -z "${disable_bt}"; then - setenv overlays _ov_som_bt_ccimx8m.dtbo,${overlays} - fi - - if test "${module_has_wifi}" = "1" && test -z "${disable_wifi}"; then - setenv overlays _ov_som_wifi_ccimx8m.dtbo,${overlays} - fi -fi - -setenv extra_bootargs fbcon=logo-pos:center ${extra_bootargs} -dboot linux mmc ${mmcbootdev}:${mmcpart} - - - -# We only get here in case of an error on the dboot command. - -# Undo changes to environment variables -setenv overlays ${ORIG_overlays} -setenv ORIG_overlays -setenv extra_bootargs ${ORIG_extra_bootargs} -setenv ORIG_extra_bootargs diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2021.04.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2021.04.bb deleted file mode 100644 index a7125775d..000000000 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2021.04.bb +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright (C) 2022 Digi International - -require digi-u-boot.inc -LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025" - -DEPENDS += "flex-native bison-native" - -SRCBRANCH = "v2021.04/master" -SRCREV = "${AUTOREV}" - -COMPATIBLE_MACHINE = "(ccimx8mp)" diff --git a/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx8mp/80-mm-net-device-blacklist.rules b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx8mp/80-mm-net-device-blacklist.rules deleted file mode 100644 index b5f43b430..000000000 --- a/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx8mp/80-mm-net-device-blacklist.rules +++ /dev/null @@ -1,18 +0,0 @@ -ACTION!="add|change|move|bind", GOTO="mm_net_device_blacklist_end" - -# ModemManager documentation states that the best practice is to use the DEVPATH -# this way rather than other rules such as KERNEL, so be careful when modifying - -# Remove Ethernet interfaces from ModemManager probing -SUBSYSTEM=="net", DEVPATH=="/devices/platform/30be0000.ethernet*", ENV{ID_MM_CANDIDATE}="0", ENV{ID_MM_DEVICE_IGNORE}="1" - -# Remove SPI-to-CAN interface from ModemManager probing -SUBSYSTEM=="net", DEVPATH=="/devices/platform/30840000.ecspi*", ENV{ID_MM_CANDIDATE}="0", ENV{ID_MM_DEVICE_IGNORE}="1" - -# Remove MMC interfaces from ModemManager probing -SUBSYSTEM=="net", DEVPATH=="/devices/platform/30b40000.mmc*", ENV{ID_MM_CANDIDATE}="0", ENV{ID_MM_DEVICE_IGNORE}="1" - -# Remove PCIe interfaces from ModemManager probing -SUBSYSTEM=="net", DEVPATH=="/devices/platform/33800000.pcie*", ENV{ID_MM_CANDIDATE}="0", ENV{ID_MM_DEVICE_IGNORE}="1" - -LABEL="mm_net_device_blacklist_end" diff --git a/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend b/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend index d9596a6c7..e5081c079 100644 --- a/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend +++ b/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend @@ -42,7 +42,6 @@ MURATA_COMMON_PATCHES = " \ SRC_URI:append:ccimx6sbc = " file://wpa_supplicant_p2p.conf_atheros" SRC_URI:append:ccmp1 = " ${MURATA_COMMON_PATCHES}" -SRC_URI:append:ccimx8mp = " ${MURATA_COMMON_PATCHES}" do_install:append() { install -m 600 ${WORKDIR}/wpa_supplicant_p2p.conf ${D}${sysconfdir}/wpa_supplicant_p2p.conf diff --git a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx8mp-dvk/libdigiapix.conf b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx8mp-dvk/libdigiapix.conf deleted file mode 100644 index 5a4886fc3..000000000 --- a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx8mp-dvk/libdigiapix.conf +++ /dev/null @@ -1,36 +0,0 @@ -[board] -model = Digi International ConnectCore 8M Plus DVK. - -[GPIO] - -# USER LED1 -USER_LED = mca-gpio,12 -USER_LED1 = mca-gpio,12 - -# USER_LED2 -USER_LED2 = mca-gpio,18 - -# USER_LED3 -USER_LED3 = gpio2,19 - -# USER BUTTON1 -USER_BUTTON = mca-gpio,10 -USER_BUTTON1 = mca-gpio,10 - -# USER BUTTON2 -USER_BUTTON2 = gpio3,7 - -[I2C] - -# I2C-4 on Expansion connector. -DEFAULT_I2C_BUS = 4 - -[PWM] - -# PWM0 channel 1 USER_LED1. -DEFAULT_PWM = 0,1 - -[ADC] - -# MCA_IO1 (channel 1) at XBEE1_UART_TX. Not enabled by default. -DEFAULT_ADC = 0,1 diff --git a/sdk/build-github.sh b/sdk/build-github.sh index 3c468ba1f..961f8de49 100755 --- a/sdk/build-github.sh +++ b/sdk/build-github.sh @@ -25,7 +25,6 @@ set -e AVAILABLE_PLATFORMS=" \ ccimx8mm-dvk \ ccimx8mn-dvk \ - ccimx8mp-dvk \ ccimx8x-sbc-pro \ ccimx8x-sbc-express \ ccimx6qpsbc \ @@ -143,7 +142,6 @@ while read _pl _tgt; do done<<-_EOF_ ccimx8mm-dvk dey-image-qt ccimx8mn-dvk dey-image-qt - ccimx8mp-dvk dey-image-qt ccimx8x-sbc-pro dey-image-qt ccimx8x-sbc-express dey-image-qt ccimx6qpsbc dey-image-qt diff --git a/sdk/build.sh b/sdk/build.sh index 2dc47ed90..85e84a6a6 100755 --- a/sdk/build.sh +++ b/sdk/build.sh @@ -160,7 +160,6 @@ while read -r _pl _tgt; do done<<-_EOF_ ccimx8mm-dvk dey-image-qt,dey-image-crank ccimx8mn-dvk dey-image-qt,dey-image-crank - ccimx8mp-dvk dey-image-qt,dey-image-crank ccimx8x-sbc-pro dey-image-qt,dey-image-crank ccimx8x-sbc-express dey-image-qt ccimx6qpsbc dey-image-qt,dey-image-crank diff --git a/sdk/config/ccimx8mp-dvk/bblayers.conf.sample b/sdk/config/ccimx8mp-dvk/bblayers.conf.sample deleted file mode 100644 index f716b9844..000000000 --- a/sdk/config/ccimx8mp-dvk/bblayers.conf.sample +++ /dev/null @@ -1,26 +0,0 @@ -# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf -# changes incompatibly -POKY_BBLAYERS_CONF_VERSION = "2" - -BBPATH = "${TOPDIR}" -BBFILES ?= "" - -BBLAYERS ?= " \ - ##OEROOT##/meta \ - ##OEROOT##/meta-poky \ - ##OEROOT##/meta-yocto-bsp \ - ##DIGIBASE##/meta-openembedded/meta-oe \ - ##DIGIBASE##/meta-openembedded/meta-python \ - ##DIGIBASE##/meta-openembedded/meta-networking \ - ##DIGIBASE##/meta-openembedded/meta-webserver \ - ##DIGIBASE##/meta-qt5 \ - ##DIGIBASE##/meta-swupdate \ - ##DIGIBASE##/meta-freescale \ - ##DIGIBASE##/meta-fsl-demos \ - ##DIGIBASE##/meta-webkit \ - ##DIGIBASE##/meta-imx/meta-ml \ - ##DIGIBASE##/meta-selinux \ - ##DIGIBASE##/meta-timesys \ - ##DIGIBASE##/meta-digi/meta-digi-arm \ - ##DIGIBASE##/meta-digi/meta-digi-dey \ - " diff --git a/sdk/config/ccimx8mp-dvk/conf-notes.txt b/sdk/config/ccimx8mp-dvk/conf-notes.txt deleted file mode 100644 index b49f5e14b..000000000 --- a/sdk/config/ccimx8mp-dvk/conf-notes.txt +++ /dev/null @@ -1,11 +0,0 @@ -Digi Embedded Yocto provides the following image recipes: - - * dey-image-qt: graphical QT image - - By default the image is XWayland-based so it provides a full Weston - desktop environment. - - * dey-image-webkit: graphical WebKit image - - By default the image is XWayland-based so it provides a full Weston - desktop environment. diff --git a/sdk/config/ccimx8mp-dvk/local.conf.sample b/sdk/config/ccimx8mp-dvk/local.conf.sample deleted file mode 100644 index 157cb272c..000000000 --- a/sdk/config/ccimx8mp-dvk/local.conf.sample +++ /dev/null @@ -1,293 +0,0 @@ -# -# This file is your local configuration file and is where all local user settings -# are placed. The comments in this file give some guide to the options a new user -# to the system might want to change but pretty much any configuration option can -# be set in this file. More adventurous users can look at -# local.conf.sample.extended which contains other examples of configuration which -# can be placed in this file but new users likely won't need any of them -# initially. -# -# Lines starting with the '#' character are commented out and in some cases the -# default values are provided as comments to show people example syntax. Enabling -# the option is a question of removing the # character and making any change to the -# variable as required. - -# -# Machine Selection -# -# You need to select a specific machine to target the build with. There are a selection -# of emulated machines available which can boot and run in the QEMU emulator: -# -#MACHINE ?= "qemuarm" -#MACHINE ?= "qemuarm64" -#MACHINE ?= "qemumips" -#MACHINE ?= "qemumips64" -#MACHINE ?= "qemuppc" -#MACHINE ?= "qemux86" -#MACHINE ?= "qemux86-64" -# -# There are also the following hardware board target machines included for -# demonstration purposes: -# -#MACHINE ?= "beaglebone-yocto" -#MACHINE ?= "genericx86" -#MACHINE ?= "genericx86-64" -#MACHINE ?= "edgerouter" -# -# This sets the default machine to be qemux86-64 if no other machine is selected: -#MACHINE ??= "qemux86-64" - -MACHINE = "ccimx8mp-dvk" - -# -# Use Digi's internal git repositories -# -#DIGI_INTERNAL_GIT ?= "1" - -# -# Where to place downloads -# -# During a first build the system will download many different source code tarballs -# from various upstream projects. This can take a while, particularly if your network -# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you -# can preserve this directory to speed up this part of subsequent builds. This directory -# is safe to share between multiple builds on the same machine too. -# -# The default is a downloads directory under TOPDIR which is the build directory. -# -#DL_DIR ?= "${TOPDIR}/downloads" - -# -# Where to place shared-state files -# -# BitBake has the capability to accelerate builds based on previously built output. -# This is done using "shared state" files which can be thought of as cache objects -# and this option determines where those files are placed. -# -# You can wipe out TMPDIR leaving this directory intact and the build would regenerate -# from these files if no changes were made to the configuration. If changes were made -# to the configuration, only shared state files where the state was still valid would -# be used (done using checksums). -# -# The default is a sstate-cache directory under TOPDIR. -# -#SSTATE_DIR ?= "${TOPDIR}/sstate-cache" - -# -# Where to place the build output -# -# This option specifies where the bulk of the building work should be done and -# where BitBake should place its temporary files and output. Keep in mind that -# this includes the extraction and compilation of many applications and the toolchain -# which can use Gigabytes of hard disk space. -# -# The default is a tmp directory under TOPDIR. -# -#TMPDIR = "${TOPDIR}/tmp" - -# -# Default policy config -# -# The distribution setting controls which policy settings are used as defaults. -# The default value is fine for general Yocto project use, at least initially. -# Ultimately when creating custom policy, people will likely end up subclassing -# these defaults. -# -DISTRO ?= "dey" -# As an example of a subclass there is a "bleeding" edge policy configuration -# where many versions are set to the absolute latest code from the upstream -# source control systems. This is just mentioned here as an example, its not -# useful to most new users. -# DISTRO ?= "poky-bleeding" - -# -# Package Management configuration -# -# This variable lists which packaging formats to enable. Multiple package backends -# can be enabled at once and the first item listed in the variable will be used -# to generate the root filesystems. -# Options are: -# - 'package_deb' for debian style deb files -# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager) -# - 'package_rpm' for rpm style packages -# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" -# We default to rpm: -PACKAGE_CLASSES ?= "package_rpm" - -# -# SDK target architecture -# -# This variable specifies the architecture to build SDK items for and means -# you can build the SDK packages for architectures other than the machine you are -# running the build on (i.e. building i686 packages on an x86_64 host). -# Supported values are i686, x86_64, aarch64 -#SDKMACHINE ?= "i686" - -# -# Extra image configuration defaults -# -# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated -# images. Some of these options are added to certain image types automatically. The -# variable can contain the following options: -# "dbg-pkgs" - add -dbg packages for all installed packages -# (adds symbol information for debugging/profiling) -# "src-pkgs" - add -src packages for all installed packages -# (adds source code for debugging) -# "dev-pkgs" - add -dev packages for all installed packages -# (useful if you want to develop against libs in the image) -# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages -# (useful if you want to run the package test suites) -# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.) -# "tools-debug" - add debugging tools (gdb, strace) -# "eclipse-debug" - add Eclipse remote debugging support -# "tools-profile" - add profiling tools (oprofile, lttng, valgrind) -# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.) -# "debug-tweaks" - make an image suitable for development -# e.g. ssh root access has a blank password -# There are other application targets that can be used here too, see -# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details. -# We default to enabling the debugging tweaks. -EXTRA_IMAGE_FEATURES ?= "debug-tweaks" - -# -# Additional image features -# -# The following is a list of additional classes to use when building images which -# enable extra features. Some available options which can be included in this variable -# are: -# - 'buildstats' collect build statistics -USER_CLASSES ?= "buildstats" - -# -# Runtime testing of images -# -# The build system can test booting virtual machine images under qemu (an emulator) -# after any root filesystems are created and run tests against those images. It can also -# run tests against any SDK that are built. To enable this uncomment these lines. -# See classes/test{image,sdk}.bbclass for further details. -#IMAGE_CLASSES += "testimage testsdk" -#TESTIMAGE_AUTO:qemuall = "1" - -# -# Interactive shell configuration -# -# Under certain circumstances the system may need input from you and to do this it -# can launch an interactive shell. It needs to do this since the build is -# multithreaded and needs to be able to handle the case where more than one parallel -# process may require the user's attention. The default is iterate over the available -# terminal types to find one that works. -# -# Examples of the occasions this may happen are when resolving patches which cannot -# be applied, to use the devshell or the kernel menuconfig -# -# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none -# Note: currently, Konsole support only works for KDE 3.x due to the way -# newer Konsole versions behave -#OE_TERMINAL = "auto" -# By default disable interactive patch resolution (tasks will just fail instead): -PATCHRESOLVE = "noop" - -# -# Disk Space Monitoring during the build -# -# Monitor the disk space during the build. If there is less that 1GB of space or less -# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully -# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard halt -# of the build. The reason for this is that running completely out of space can corrupt -# files and damages the build in ways which may not be easily recoverable. -# It's necessary to monitor /tmp, if there is no space left the build will fail -# with very exotic errors. -BB_DISKMON_DIRS ??= "\ - STOPTASKS,${TMPDIR},1G,100K \ - STOPTASKS,${DL_DIR},1G,100K \ - STOPTASKS,${SSTATE_DIR},1G,100K \ - STOPTASKS,/tmp,100M,100K \ - HALT,${TMPDIR},100M,1K \ - HALT,${DL_DIR},100M,1K \ - HALT,${SSTATE_DIR},100M,1K \ - HALT,/tmp,10M,1K" - -# -# Shared-state files from other locations -# -# As mentioned above, shared state files are prebuilt cache data objects which can be -# used to accelerate build time. This variable can be used to configure the system -# to search other mirror locations for these objects before it builds the data itself. -# -# This can be a filesystem directory, or a remote url such as https or ftp. These -# would contain the sstate-cache results from previous builds (possibly from other -# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the -# cache locations to check for the shared objects. -# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH -# at the end as shown in the examples below. This will be substituted with the -# correct path within the directory structure. -#SSTATE_MIRRORS ?= "\ -#file://.* https://someserver.tld/share/sstate/PATH;downloadfilename=PATH \ -#file://.* file:///some/local/dir/sstate/PATH" - -# -# Yocto Project SState Mirror -# -# The Yocto Project has prebuilt artefacts available for its releases, you can enable -# use of these by uncommenting the following lines. This will mean the build uses -# the network to check for artefacts at the start of builds, which does slow it down -# equally, it will also speed up the builds by not having to build things if they are -# present in the cache. It assumes you can download something faster than you can build it -# which will depend on your network. -# Note: For this to work you also need hash-equivalence passthrough to the matching server -# -#BB_HASHSERVE_UPSTREAM = "typhoon.yocto.io:8687" -#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/4.0/PATH;downloadfilename=PATH" - -# -# Qemu configuration -# -# By default native qemu will build with a builtin VNC server where graphical output can be -# seen. The line below enables the SDL UI frontend too. -PACKAGECONFIG:append:pn-qemu-system-native = " sdl" -# By default libsdl2-native will be built, if you want to use your host's libSDL instead of -# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below. -#ASSUME_PROVIDED += "libsdl2-native" - -# You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds -# a handy set of menus for controlling the emulator. -#PACKAGECONFIG:append:pn-qemu-system-native = " gtk+" - -# -# Hash Equivalence -# -# Enable support for automatically running a local hash equivalence server and -# instruct bitbake to use a hash equivalence aware signature generator. Hash -# equivalence improves reuse of sstate by detecting when a given sstate -# artifact can be reused as equivalent, even if the current task hash doesn't -# match the one that generated the artifact. -# -# A shared hash equivalent server can be set with ":" format -# -#BB_HASHSERVE = "auto" -#BB_SIGNATURE_HANDLER = "OEEquivHash" - -# -# Memory Resident Bitbake -# -# Bitbake's server component can stay in memory after the UI for the current command -# has completed. This means subsequent commands can run faster since there is no need -# for bitbake to reload cache files and so on. Number is in seconds, after which the -# server will shut down. -# -#BB_SERVER_TIMEOUT = "60" - -# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to -# track the version of this file when it was generated. This can safely be ignored if -# this doesn't mean anything to you. -CONF_VERSION = "2" - -# -# Enable local PR server -# -PRSERV_HOST = "localhost:0" - -# -# Some libraries and packages are covered by NXP EULA -# -#ACCEPT_FSL_EULA = "1" diff --git a/sdk/mkproject.sh b/sdk/mkproject.sh index c4ac381c3..4f6c60305 100755 --- a/sdk/mkproject.sh +++ b/sdk/mkproject.sh @@ -28,7 +28,7 @@ MKP_NONE="\033[0m" MKP_CONFIGPATH="${MKP_SCRIPTPATH}/sources/meta-digi/sdk/config" # Blacklist platforms (not officially supported in a DEY release) -MKP_BLACKLIST_PLATFORMS="ccimx6qpsbc ccimx6sbc ccimx8mm-dvk ccimx8mn-dvk ccimx8mp-dvk ccimx8x-sbc-express ccimx8x-sbc-pro" +MKP_BLACKLIST_PLATFORMS="ccimx6qpsbc ccimx6sbc ccimx8mm-dvk ccimx8mn-dvk ccimx8x-sbc-express ccimx8x-sbc-pro" MKP_SETUP_ENVIRONMENT='#!/bin/bash From a6c570802ddde065f9a65bb490e48b8b397c3ae2 Mon Sep 17 00:00:00 2001 From: Arturo Buzarra Date: Thu, 1 Dec 2022 11:04:32 +0100 Subject: [PATCH 004/144] ccmp15-dvk: fix instructions for building images This commit removes any reference to X11, which is not supported on STM platforms. Signed-off-by: Arturo Buzarra --- sdk/config/ccmp15-dvk/conf-notes.txt | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/sdk/config/ccmp15-dvk/conf-notes.txt b/sdk/config/ccmp15-dvk/conf-notes.txt index 59067b488..ebfdec9b2 100644 --- a/sdk/config/ccmp15-dvk/conf-notes.txt +++ b/sdk/config/ccmp15-dvk/conf-notes.txt @@ -2,14 +2,9 @@ Digi Embedded Yocto provides the following image recipes: * dey-image-qt: graphical QT image - By default the image is X11-based so it provides a full SATO theme + By default the image is Wayland-based so it provides a full Weston desktop environment. - To compile the image for the framebuffer (instead of X11) add the - following line to the project's conf/local.conf: - - DISTRO_FEATURES_remove = "x11" - * core-image-base: a console-only image Expansion of native core-image-base by including all the support for the From f165e77194372ee9ac15aef31d668157945f776d Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Thu, 1 Dec 2022 14:07:55 +0100 Subject: [PATCH 005/144] u-boot-dey: cosmetic, rename include file Follow the pattern Yocto uses for most of the include files for recipes. Signed-off-by: Javier Viguera --- .../recipes-bsp/u-boot/{digi-u-boot.inc => u-boot-dey.inc} | 0 meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb | 2 +- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2020.04.bb | 2 +- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2021.10.bb | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename meta-digi-arm/recipes-bsp/u-boot/{digi-u-boot.inc => u-boot-dey.inc} (100%) diff --git a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc similarity index 100% rename from meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc rename to meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb index 54d808aa1..df23f490e 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb @@ -1,6 +1,6 @@ # Copyright (C) 2018-2021 Digi International -require digi-u-boot.inc +require u-boot-dey.inc SRCBRANCH = "v2017.03/master" SRCREV = "${AUTOREV}" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2020.04.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2020.04.bb index 600a521da..ac3ca7119 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2020.04.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2020.04.bb @@ -1,6 +1,6 @@ # Copyright (C) 2020-2022 Digi International -require digi-u-boot.inc +require u-boot-dey.inc LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e" DEPENDS += "flex-native bison-native" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2021.10.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2021.10.bb index 95d2c1904..2bd448264 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2021.10.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2021.10.bb @@ -1,6 +1,6 @@ # Copyright (C) 2022 Digi International -require digi-u-boot.inc +require u-boot-dey.inc LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025" DEPENDS += "flex-native bison-native" From e9ced229a813cd51d3680cb77bb5e24327f8a917 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Thu, 1 Dec 2022 15:22:49 +0100 Subject: [PATCH 006/144] meta-digi-arm: add recipe for u-boot v2022.04 At the moment disabled by default (DEFAULT_PREFERENCE = "-1") Signed-off-by: Javier Viguera --- .../recipes-bsp/u-boot/u-boot-dey_2022.04.bb | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2022.04.bb diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2022.04.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2022.04.bb new file mode 100644 index 000000000..2b0cedced --- /dev/null +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2022.04.bb @@ -0,0 +1,11 @@ +# Copyright (C) 2022 Digi International + +require u-boot-dey.inc +LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025" + +DEPENDS += "flex-native bison-native" + +SRCBRANCH = "v2022.04/master" +SRCREV = "${AUTOREV}" + +DEFAULT_PREFERENCE = "-1" From 6b4bf140aaf1b33e31bc30ab4508db73e7bc0b47 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Mon, 12 Dec 2022 17:32:07 +0100 Subject: [PATCH 007/144] stm32mp: gstreamer: update bbappends to 1.20.% The poky recipes were updated on the minor version to 1.20.4 but the bbappends were 1.20.3 specific so they did not apply. Use a wildcard to have them apply even if the minor version changes upstream. Signed-off-by: Hector Palacios (cherry picked from commit 0c73b31cf5345588115d37060b3872f05f478bef) --- ...0-libav_1.20.3.bbappend => gstreamer1.0-libav_1.20.%.bbappend} | 0 ...d_1.20.3.bbappend => gstreamer1.0-plugins-bad_1.20.%.bbappend} | 0 ..._1.20.3.bbappend => gstreamer1.0-plugins-base_1.20.%.bbappend} | 0 ..._1.20.3.bbappend => gstreamer1.0-plugins-good_1.20.%.bbappend} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/{gstreamer1.0-libav_1.20.3.bbappend => gstreamer1.0-libav_1.20.%.bbappend} (100%) rename meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/{gstreamer1.0-plugins-bad_1.20.3.bbappend => gstreamer1.0-plugins-bad_1.20.%.bbappend} (100%) rename meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/{gstreamer1.0-plugins-base_1.20.3.bbappend => gstreamer1.0-plugins-base_1.20.%.bbappend} (100%) rename meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/{gstreamer1.0-plugins-good_1.20.3.bbappend => gstreamer1.0-plugins-good_1.20.%.bbappend} (100%) diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.3.bbappend b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.%.bbappend similarity index 100% rename from meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.3.bbappend rename to meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.%.bbappend diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.bbappend b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.%.bbappend similarity index 100% rename from meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.bbappend rename to meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.%.bbappend diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.3.bbappend b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.%.bbappend similarity index 100% rename from meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.3.bbappend rename to meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.%.bbappend diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.3.bbappend b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.%.bbappend similarity index 100% rename from meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.3.bbappend rename to meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.%.bbappend From 7d90e6276b0bf27ef68eb1c78325f967ed110430 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 19 Dec 2022 18:19:21 +0100 Subject: [PATCH 008/144] digi-defaults: add default value for HAS_WIFI_VIRTWLANS This is later overridden in the machine config files, but a default (not empty) value is needed, to prevent a syntactic error in init-ifupdown recipe (where it is used). Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/include/digi-defaults.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-digi-arm/conf/machine/include/digi-defaults.inc b/meta-digi-arm/conf/machine/include/digi-defaults.inc index 5080047a8..3835caa73 100644 --- a/meta-digi-arm/conf/machine/include/digi-defaults.inc +++ b/meta-digi-arm/conf/machine/include/digi-defaults.inc @@ -25,6 +25,9 @@ HAVE_WIFI = "${@bb.utils.contains('MACHINE_FEATURES', 'wifi', '1', '', d)} HAVE_BT = "${@bb.utils.contains('MACHINE_FEATURES', 'bluetooth', '1', '', d)}" HAVE_GUI = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '1', '', d)}" +# Default value for WiFi virtual wlans +HAS_WIFI_VIRTWLANS ?= "false" + # # Ethernet, Wi-Fi, and Bluetooth configuration used in recipes # From 7e7fba9ba59bdeb9ae445a2af45df46d7853b872 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 19 Dec 2022 18:19:51 +0100 Subject: [PATCH 009/144] meta-digi-arm: machine: do not reset EXTRA_IMAGEDEPENDS Use += operator to prevent resetting the value of the EXTRA_IMAGEDEPENDS variable. That is how it's mostly used elsewhere. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/include/ccimx8m.inc | 2 +- meta-digi-arm/conf/machine/include/ccimx8x.inc | 2 +- meta-digi-arm/conf/machine/include/imx-digi-base.inc | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-digi-arm/conf/machine/include/ccimx8m.inc b/meta-digi-arm/conf/machine/include/ccimx8m.inc index 21fddb861..53e41755d 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8m.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8m.inc @@ -11,7 +11,7 @@ UBOOT_SUFFIX = "bin" UBOOT_HAS_FASTBOOT = "true" # The bootloader image that gets flashed consists of U-Boot and several fw binaries -EXTRA_IMAGEDEPENDS = "imx-boot" +EXTRA_IMAGEDEPENDS += "imx-boot" BOOTLOADER_IMAGE_RECIPE = "imx-boot" BOOTABLE_FILENAME = "${UBOOT_PREFIX}-${MACHINE}.bin" SDIMG_BOOTLOADER = "${DEPLOY_DIR_IMAGE}/${BOOTABLE_FILENAME}" diff --git a/meta-digi-arm/conf/machine/include/ccimx8x.inc b/meta-digi-arm/conf/machine/include/ccimx8x.inc index b116c959d..c585a5895 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8x.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8x.inc @@ -14,7 +14,7 @@ UBOOT_SUFFIX = "bin" UBOOT_HAS_FASTBOOT = "true" # The bootloader image that gets flashed consists of U-Boot and several fw binaries -EXTRA_IMAGEDEPENDS = "imx-boot" +EXTRA_IMAGEDEPENDS += "imx-boot" BOOTLOADER_IMAGE_RECIPE = "imx-boot" # BOOTLOADER_SEEK_USERDATA is 33 for step A of the silicon and 32 for step B BOOTLOADER_SEEK_USERDATA = "32" diff --git a/meta-digi-arm/conf/machine/include/imx-digi-base.inc b/meta-digi-arm/conf/machine/include/imx-digi-base.inc index 62f2d3e9c..fcff31453 100644 --- a/meta-digi-arm/conf/machine/include/imx-digi-base.inc +++ b/meta-digi-arm/conf/machine/include/imx-digi-base.inc @@ -244,7 +244,7 @@ PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "3.17.0.imx" #Use i.MX opencv Version for mx8 PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.6.0.imx" -EXTRA_IMAGEDEPENDS = "u-boot" +EXTRA_IMAGEDEPENDS += "u-boot" KERNEL_IMAGETYPE ?= "zImage" From ab52d0ec12163d83b261e6f312635b7c55f57418 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 19 Dec 2022 18:20:21 +0100 Subject: [PATCH 010/144] meta-digi: add new ccimx93-dvk platform Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/ccimx93-dvk.conf | 33 ++ .../conf/machine/include/ccimx93.inc | 61 ++++ .../conf/machine/include/digi-defaults.inc | 1 + .../conf/machine/include/imx-digi-base.inc | 3 + sdk/config/ccimx93-dvk/bblayers.conf.sample | 26 ++ sdk/config/ccimx93-dvk/conf-notes.txt | 11 + sdk/config/ccimx93-dvk/local.conf.sample | 293 ++++++++++++++++++ 7 files changed, 428 insertions(+) create mode 100644 meta-digi-arm/conf/machine/ccimx93-dvk.conf create mode 100644 meta-digi-arm/conf/machine/include/ccimx93.inc create mode 100644 sdk/config/ccimx93-dvk/bblayers.conf.sample create mode 100644 sdk/config/ccimx93-dvk/conf-notes.txt create mode 100644 sdk/config/ccimx93-dvk/local.conf.sample diff --git a/meta-digi-arm/conf/machine/ccimx93-dvk.conf b/meta-digi-arm/conf/machine/ccimx93-dvk.conf new file mode 100644 index 000000000..9470b0291 --- /dev/null +++ b/meta-digi-arm/conf/machine/ccimx93-dvk.conf @@ -0,0 +1,33 @@ +#@TYPE: Machine +#@NAME: ConnectCore 93 Development Kit +#@DESCRIPTION: Machine configuration for Digi's ConnectCore 93 DVK + +require include/ccimx93.inc + +# U-Boot configurations +UBOOT_CONFIG ??= "ccimx93dvk" +UBOOT_CONFIG[ccimx93dvk] = "ccimx93-dvk_defconfig" +UBOOT_DTB_NAME = "ccimx93-dvk.dtb" + +KERNEL_DEVICETREE ?= " \ + digi/ccimx93-dvk.dtb \ + digi/_ov_board_lvds_ccimx93-dvk.dtbo \ + digi/_ov_som_bt_ccimx93.dtbo \ + digi/_ov_som_wifi_ccimx93.dtbo \ +" + +SECO_FIRMWARE_NAME:mx9-nxp-bsp = "mx93a0-ahab-container.img" + +# Remove additional bluetooth packages +MACHINE_BLUETOOTH_EXTRA_INSTALL = "" + +IMAGE_BOOT_FILES:append:use-nxp-bsp = " \ + imx93_m33_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin \ + imx93_m33_TCM_rpmsg_lite_str_echo_rtos.bin \ +" +WKS_FILE_DEPENDS:append = " imx-m33-demos" + +# Image FS types +IMAGE_FSTYPES ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", \ + "boot.vfat recovery.vfat squashfs tar.bz2", \ + "boot.vfat recovery.vfat ext4.gz tar.bz2 sdcard.gz", d)}' diff --git a/meta-digi-arm/conf/machine/include/ccimx93.inc b/meta-digi-arm/conf/machine/include/ccimx93.inc new file mode 100644 index 000000000..816270ab5 --- /dev/null +++ b/meta-digi-arm/conf/machine/include/ccimx93.inc @@ -0,0 +1,61 @@ +#@TYPE: Machine +#@NAME: ConnectCore 93 family of SOMs +#@DESCRIPTION: Machine configuration for Digi's ConnectCore 93 family of SOMs + +DIGI_FAMILY = "ccimx93" +MACHINEOVERRIDES =. "${DIGI_FAMILY}:" +MACHINEOVERRIDES =. "mx93:" + +require conf/machine/include/imx-digi-base.inc +require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc + +# Platform u-boot settings +UBOOT_PREFIX = "u-boot" +UBOOT_SUFFIX = "bin" +UBOOT_HAS_FASTBOOT = "true" + +EXTRA_IMAGEDEPENDS += "imx-boot" +BOOTLOADER_IMAGE_RECIPE = "imx-boot" + +DDR_FIRMWARE_NAME = " \ + lpddr4_dmem_1d_v202201.bin \ + lpddr4_dmem_2d_v202201.bin \ + lpddr4_imem_1d_v202201.bin \ + lpddr4_imem_2d_v202201.bin \ +" + +MACHINE_FEATURES += "pci wifi bluetooth" +MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse" + +STORAGE_MEDIA = "mmc" + +# Linux kernel configuration +KERNEL_DEFCONFIG ?= "arch/arm64/configs/ccimx93_defconfig" +KERNEL_IMAGETYPE = "Image.gz" + +SPL_BINARY = "spl/u-boot-spl.bin" + +# Set ATF platform name +ATF_PLATFORM = "imx93" + +IMXBOOT_TARGETS = "flash_singleboot" + +IMX_BOOT_SOC_TARGET = "iMX9" +IMX_BOOT_SEEK = "32" + +SERIAL_CONSOLES = "115200;ttyLP5" + +# Bluetooth tty +BT_TTY ?= "ttyLP0" + +# Add additional firmware +MACHINE_FIRMWARE:append = " ethos-u-firmware" + +# Use systemd as default init manager +DISTRO_FEATURES:append = " systemd" +VIRTUAL-RUNTIME_init_manager ?= "systemd" +DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" + +# SWUpdate sw-description configuration +BOOTFS_EXT ?= ".boot.vfat" +ROOTFS_EXT ?= ".ext4.gz" diff --git a/meta-digi-arm/conf/machine/include/digi-defaults.inc b/meta-digi-arm/conf/machine/include/digi-defaults.inc index 3835caa73..20179eeae 100644 --- a/meta-digi-arm/conf/machine/include/digi-defaults.inc +++ b/meta-digi-arm/conf/machine/include/digi-defaults.inc @@ -16,6 +16,7 @@ PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" # ccimx8x 5.4 2020.04 (packaged in imx-boot) # ccimx8mn 5.4 2020.04 (packaged in imx-boot) # ccimx8mm 5.4 2020.04 (packaged in imx-boot) +# ccimx93 5.15 2022.04 (packaged in imx-boot) # ccmp15 5.15 2021.10 # ccmp13 5.15 2021.10 # diff --git a/meta-digi-arm/conf/machine/include/imx-digi-base.inc b/meta-digi-arm/conf/machine/include/imx-digi-base.inc index fcff31453..ff078dce4 100644 --- a/meta-digi-arm/conf/machine/include/imx-digi-base.inc +++ b/meta-digi-arm/conf/machine/include/imx-digi-base.inc @@ -48,6 +48,7 @@ MACHINEOVERRIDES_EXTENDER:mx8mn:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxd MACHINEOVERRIDES_EXTENDER:mx8mp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mp-generic-bsp:mx8mp-nxp-bsp" MACHINEOVERRIDES_EXTENDER:mx8qxp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8qxp-generic-bsp:mx8qxp-nxp-bsp" MACHINEOVERRIDES_EXTENDER:mx8dx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dx-generic-bsp:mx8dx-nxp-bsp" +MACHINEOVERRIDES_EXTENDER:mx93:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxpxp:mx9-generic-bsp:mx9-nxp-bsp:mx93-generic-bsp:mx93-nxp-bsp" ####### ### Mainline BSP specific overrides @@ -88,6 +89,7 @@ MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \ mx8qxp \ mx8dx \ mx8dxl \ + mx93 \ " MACHINEOVERRIDES_FILTERED_OUT_QA_ERROR = "%s overrides cannot be used and need conversion to use the new BSP-specific overrides. Check 'meta-freescale/scripts/convert-bsp-specific-overrides'." @@ -102,6 +104,7 @@ MACHINE_SOCARCH_SUFFIX:mx8mn-nxp-bsp = "-mx8mn" MACHINE_SOCARCH_SUFFIX:mx8mp-nxp-bsp = "-mx8mp" MACHINE_SOCARCH_SUFFIX:mx8qxp-nxp-bsp = "-mx8" MACHINE_SOCARCH_SUFFIX:mx8dx-nxp-bsp = "-mx8" +MACHINE_SOCARCH_SUFFIX:mx93-nxp-bsp = "-mx93" # For Mainline we use a single SoC suffix as we don't have different build options MACHINE_SOCARCH_SUFFIX:imx-mainline-bsp = "-imx" diff --git a/sdk/config/ccimx93-dvk/bblayers.conf.sample b/sdk/config/ccimx93-dvk/bblayers.conf.sample new file mode 100644 index 000000000..f716b9844 --- /dev/null +++ b/sdk/config/ccimx93-dvk/bblayers.conf.sample @@ -0,0 +1,26 @@ +# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf +# changes incompatibly +POKY_BBLAYERS_CONF_VERSION = "2" + +BBPATH = "${TOPDIR}" +BBFILES ?= "" + +BBLAYERS ?= " \ + ##OEROOT##/meta \ + ##OEROOT##/meta-poky \ + ##OEROOT##/meta-yocto-bsp \ + ##DIGIBASE##/meta-openembedded/meta-oe \ + ##DIGIBASE##/meta-openembedded/meta-python \ + ##DIGIBASE##/meta-openembedded/meta-networking \ + ##DIGIBASE##/meta-openembedded/meta-webserver \ + ##DIGIBASE##/meta-qt5 \ + ##DIGIBASE##/meta-swupdate \ + ##DIGIBASE##/meta-freescale \ + ##DIGIBASE##/meta-fsl-demos \ + ##DIGIBASE##/meta-webkit \ + ##DIGIBASE##/meta-imx/meta-ml \ + ##DIGIBASE##/meta-selinux \ + ##DIGIBASE##/meta-timesys \ + ##DIGIBASE##/meta-digi/meta-digi-arm \ + ##DIGIBASE##/meta-digi/meta-digi-dey \ + " diff --git a/sdk/config/ccimx93-dvk/conf-notes.txt b/sdk/config/ccimx93-dvk/conf-notes.txt new file mode 100644 index 000000000..b49f5e14b --- /dev/null +++ b/sdk/config/ccimx93-dvk/conf-notes.txt @@ -0,0 +1,11 @@ +Digi Embedded Yocto provides the following image recipes: + + * dey-image-qt: graphical QT image + + By default the image is XWayland-based so it provides a full Weston + desktop environment. + + * dey-image-webkit: graphical WebKit image + + By default the image is XWayland-based so it provides a full Weston + desktop environment. diff --git a/sdk/config/ccimx93-dvk/local.conf.sample b/sdk/config/ccimx93-dvk/local.conf.sample new file mode 100644 index 000000000..af572435d --- /dev/null +++ b/sdk/config/ccimx93-dvk/local.conf.sample @@ -0,0 +1,293 @@ +# +# This file is your local configuration file and is where all local user settings +# are placed. The comments in this file give some guide to the options a new user +# to the system might want to change but pretty much any configuration option can +# be set in this file. More adventurous users can look at +# local.conf.sample.extended which contains other examples of configuration which +# can be placed in this file but new users likely won't need any of them +# initially. +# +# Lines starting with the '#' character are commented out and in some cases the +# default values are provided as comments to show people example syntax. Enabling +# the option is a question of removing the # character and making any change to the +# variable as required. + +# +# Machine Selection +# +# You need to select a specific machine to target the build with. There are a selection +# of emulated machines available which can boot and run in the QEMU emulator: +# +#MACHINE ?= "qemuarm" +#MACHINE ?= "qemuarm64" +#MACHINE ?= "qemumips" +#MACHINE ?= "qemumips64" +#MACHINE ?= "qemuppc" +#MACHINE ?= "qemux86" +#MACHINE ?= "qemux86-64" +# +# There are also the following hardware board target machines included for +# demonstration purposes: +# +#MACHINE ?= "beaglebone-yocto" +#MACHINE ?= "genericx86" +#MACHINE ?= "genericx86-64" +#MACHINE ?= "edgerouter" +# +# This sets the default machine to be qemux86-64 if no other machine is selected: +#MACHINE ??= "qemux86-64" + +MACHINE = "ccimx93-dvk" + +# +# Use Digi's internal git repositories +# +#DIGI_INTERNAL_GIT ?= "1" + +# +# Where to place downloads +# +# During a first build the system will download many different source code tarballs +# from various upstream projects. This can take a while, particularly if your network +# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you +# can preserve this directory to speed up this part of subsequent builds. This directory +# is safe to share between multiple builds on the same machine too. +# +# The default is a downloads directory under TOPDIR which is the build directory. +# +#DL_DIR ?= "${TOPDIR}/downloads" + +# +# Where to place shared-state files +# +# BitBake has the capability to accelerate builds based on previously built output. +# This is done using "shared state" files which can be thought of as cache objects +# and this option determines where those files are placed. +# +# You can wipe out TMPDIR leaving this directory intact and the build would regenerate +# from these files if no changes were made to the configuration. If changes were made +# to the configuration, only shared state files where the state was still valid would +# be used (done using checksums). +# +# The default is a sstate-cache directory under TOPDIR. +# +#SSTATE_DIR ?= "${TOPDIR}/sstate-cache" + +# +# Where to place the build output +# +# This option specifies where the bulk of the building work should be done and +# where BitBake should place its temporary files and output. Keep in mind that +# this includes the extraction and compilation of many applications and the toolchain +# which can use Gigabytes of hard disk space. +# +# The default is a tmp directory under TOPDIR. +# +#TMPDIR = "${TOPDIR}/tmp" + +# +# Default policy config +# +# The distribution setting controls which policy settings are used as defaults. +# The default value is fine for general Yocto project use, at least initially. +# Ultimately when creating custom policy, people will likely end up subclassing +# these defaults. +# +DISTRO ?= "dey" +# As an example of a subclass there is a "bleeding" edge policy configuration +# where many versions are set to the absolute latest code from the upstream +# source control systems. This is just mentioned here as an example, its not +# useful to most new users. +# DISTRO ?= "poky-bleeding" + +# +# Package Management configuration +# +# This variable lists which packaging formats to enable. Multiple package backends +# can be enabled at once and the first item listed in the variable will be used +# to generate the root filesystems. +# Options are: +# - 'package_deb' for debian style deb files +# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager) +# - 'package_rpm' for rpm style packages +# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" +# We default to rpm: +PACKAGE_CLASSES ?= "package_rpm" + +# +# SDK target architecture +# +# This variable specifies the architecture to build SDK items for and means +# you can build the SDK packages for architectures other than the machine you are +# running the build on (i.e. building i686 packages on an x86_64 host). +# Supported values are i686, x86_64, aarch64 +#SDKMACHINE ?= "i686" + +# +# Extra image configuration defaults +# +# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated +# images. Some of these options are added to certain image types automatically. The +# variable can contain the following options: +# "dbg-pkgs" - add -dbg packages for all installed packages +# (adds symbol information for debugging/profiling) +# "src-pkgs" - add -src packages for all installed packages +# (adds source code for debugging) +# "dev-pkgs" - add -dev packages for all installed packages +# (useful if you want to develop against libs in the image) +# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages +# (useful if you want to run the package test suites) +# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.) +# "tools-debug" - add debugging tools (gdb, strace) +# "eclipse-debug" - add Eclipse remote debugging support +# "tools-profile" - add profiling tools (oprofile, lttng, valgrind) +# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.) +# "debug-tweaks" - make an image suitable for development +# e.g. ssh root access has a blank password +# There are other application targets that can be used here too, see +# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details. +# We default to enabling the debugging tweaks. +EXTRA_IMAGE_FEATURES ?= "debug-tweaks" + +# +# Additional image features +# +# The following is a list of additional classes to use when building images which +# enable extra features. Some available options which can be included in this variable +# are: +# - 'buildstats' collect build statistics +USER_CLASSES ?= "buildstats" + +# +# Runtime testing of images +# +# The build system can test booting virtual machine images under qemu (an emulator) +# after any root filesystems are created and run tests against those images. It can also +# run tests against any SDK that are built. To enable this uncomment these lines. +# See classes/test{image,sdk}.bbclass for further details. +#IMAGE_CLASSES += "testimage testsdk" +#TESTIMAGE_AUTO:qemuall = "1" + +# +# Interactive shell configuration +# +# Under certain circumstances the system may need input from you and to do this it +# can launch an interactive shell. It needs to do this since the build is +# multithreaded and needs to be able to handle the case where more than one parallel +# process may require the user's attention. The default is iterate over the available +# terminal types to find one that works. +# +# Examples of the occasions this may happen are when resolving patches which cannot +# be applied, to use the devshell or the kernel menuconfig +# +# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none +# Note: currently, Konsole support only works for KDE 3.x due to the way +# newer Konsole versions behave +#OE_TERMINAL = "auto" +# By default disable interactive patch resolution (tasks will just fail instead): +PATCHRESOLVE = "noop" + +# +# Disk Space Monitoring during the build +# +# Monitor the disk space during the build. If there is less that 1GB of space or less +# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully +# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard halt +# of the build. The reason for this is that running completely out of space can corrupt +# files and damages the build in ways which may not be easily recoverable. +# It's necessary to monitor /tmp, if there is no space left the build will fail +# with very exotic errors. +BB_DISKMON_DIRS ??= "\ + STOPTASKS,${TMPDIR},1G,100K \ + STOPTASKS,${DL_DIR},1G,100K \ + STOPTASKS,${SSTATE_DIR},1G,100K \ + STOPTASKS,/tmp,100M,100K \ + HALT,${TMPDIR},100M,1K \ + HALT,${DL_DIR},100M,1K \ + HALT,${SSTATE_DIR},100M,1K \ + HALT,/tmp,10M,1K" + +# +# Shared-state files from other locations +# +# As mentioned above, shared state files are prebuilt cache data objects which can be +# used to accelerate build time. This variable can be used to configure the system +# to search other mirror locations for these objects before it builds the data itself. +# +# This can be a filesystem directory, or a remote url such as https or ftp. These +# would contain the sstate-cache results from previous builds (possibly from other +# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the +# cache locations to check for the shared objects. +# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH +# at the end as shown in the examples below. This will be substituted with the +# correct path within the directory structure. +#SSTATE_MIRRORS ?= "\ +#file://.* https://someserver.tld/share/sstate/PATH;downloadfilename=PATH \ +#file://.* file:///some/local/dir/sstate/PATH" + +# +# Yocto Project SState Mirror +# +# The Yocto Project has prebuilt artefacts available for its releases, you can enable +# use of these by uncommenting the following lines. This will mean the build uses +# the network to check for artefacts at the start of builds, which does slow it down +# equally, it will also speed up the builds by not having to build things if they are +# present in the cache. It assumes you can download something faster than you can build it +# which will depend on your network. +# Note: For this to work you also need hash-equivalence passthrough to the matching server +# +#BB_HASHSERVE_UPSTREAM = "typhoon.yocto.io:8687" +#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/4.0/PATH;downloadfilename=PATH" + +# +# Qemu configuration +# +# By default native qemu will build with a builtin VNC server where graphical output can be +# seen. The line below enables the SDL UI frontend too. +PACKAGECONFIG:append:pn-qemu-system-native = " sdl" +# By default libsdl2-native will be built, if you want to use your host's libSDL instead of +# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below. +#ASSUME_PROVIDED += "libsdl2-native" + +# You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds +# a handy set of menus for controlling the emulator. +#PACKAGECONFIG:append:pn-qemu-system-native = " gtk+" + +# +# Hash Equivalence +# +# Enable support for automatically running a local hash equivalence server and +# instruct bitbake to use a hash equivalence aware signature generator. Hash +# equivalence improves reuse of sstate by detecting when a given sstate +# artifact can be reused as equivalent, even if the current task hash doesn't +# match the one that generated the artifact. +# +# A shared hash equivalent server can be set with ":" format +# +#BB_HASHSERVE = "auto" +#BB_SIGNATURE_HANDLER = "OEEquivHash" + +# +# Memory Resident Bitbake +# +# Bitbake's server component can stay in memory after the UI for the current command +# has completed. This means subsequent commands can run faster since there is no need +# for bitbake to reload cache files and so on. Number is in seconds, after which the +# server will shut down. +# +#BB_SERVER_TIMEOUT = "60" + +# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to +# track the version of this file when it was generated. This can safely be ignored if +# this doesn't mean anything to you. +CONF_VERSION = "2" + +# +# Enable local PR server +# +PRSERV_HOST = "localhost:0" + +# +# Some libraries and packages are covered by NXP EULA +# +#ACCEPT_FSL_EULA = "1" From cfa581c958d46e7b1d826029e6e8603c146fe62c Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 19 Dec 2022 18:20:51 +0100 Subject: [PATCH 011/144] meta-digi: add override files for ccimx93 These are just a verbatim copy of the ccimx8mm ones, so the project is buildable. This file list should be revisited and adapted for the ccimx93. Signed-off-by: Javier Viguera --- .../u-boot/u-boot-dey/ccimx93-dvk/boot.txt | 95 ++++++ .../u-boot/u-boot-dey/ccimx93/altboot.txt | 37 +++ .../ccimx93/install_linux_fw_sd.txt | 234 +++++++++++++++ .../ccimx93/install_linux_fw_usb.txt | 235 +++++++++++++++ .../ccimx93/install_linux_fw_uuu.sh | 277 ++++++++++++++++++ .../ccimx93/80-mm-net-device-blacklist.rules | 18 ++ .../busybox/busybox/ccimx93/acpid.map | 3 + .../busybox/busybox/ccimx93/standby | 116 ++++++++ .../busybox/busybox/ccimx93/standby-actions | 83 ++++++ .../ccimx93-dvk/libdigiapix.conf | 36 +++ 10 files changed, 1134 insertions(+) create mode 100644 meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt create mode 100644 meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/altboot.txt create mode 100644 meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/install_linux_fw_sd.txt create mode 100644 meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/install_linux_fw_usb.txt create mode 100644 meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/install_linux_fw_uuu.sh create mode 100644 meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx93/80-mm-net-device-blacklist.rules create mode 100644 meta-digi-dey/recipes-core/busybox/busybox/ccimx93/acpid.map create mode 100755 meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby create mode 100644 meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby-actions create mode 100644 meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx93-dvk/libdigiapix.conf diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt new file mode 100644 index 000000000..980500b91 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt @@ -0,0 +1,95 @@ +# +# U-Boot bootscript for EMMC/SD images created by Yocto. +# + +# As the first step in the boot script, check if we are using DualBoot and +# if an upgrade is available. This requires the script to change some variables +# and save them, while the rest of the script changes variables only temporarily +# without saving them. + +# Dual boot update verification +if test "${dualboot}" = "yes"; then + if test "${upgrade_available}" = "1"; then + echo "Update detected; Booting new system in ${active_system} (try ${bootcount})" + else + if test "${active_system}" = "linux_a"; then + echo "Booting from system A" + part number mmc ${mmcbootdev} linux_a pi + setenv mmcpart ${pi} + # Save the partition index on variable rootfs_a_index + part number mmc ${mmcbootdev} rootfs_a rootfs_a_index + # Save the rootfs_a UUID into mmcroot_a + part uuid mmc ${mmcbootdev}:${rootfs_a_index} mmcroot_a + setenv mmcroot PARTUUID=${mmcroot_a} + else + echo "Booting from system B" + part number mmc ${mmcbootdev} linux_b pi + setenv mmcpart ${pi} + # Save the partition index on variable rootfs_b_index + part number mmc ${mmcbootdev} rootfs_b rootfs_b_index + # Save the rootfs_b UUID into mmcroot_b + part uuid mmc ${mmcbootdev}:${rootfs_b_index} mmcroot_b + setenv mmcroot PARTUUID=${mmcroot_b} + fi + fi +else + # Get the UUID of the configured boot partition. + part uuid mmc ${mmcbootdev}:${mmcpart} bootpart + # Check the boot source. + if test "${bootpart}" = "${part1_uuid}"; then + # We are booting from the eMMC using 'linux'. + true + elif test "${bootpart}" = "${part2_uuid}"; then + # We are booting from the eMMC using 'recovery'. + setenv boot_initrd true + setenv initrd_file uramdisk-recovery.img + else + # We are booting from the SD card. + setenv mmcroot /dev/mmcblk${mmcbootdev}p2 + fi +fi + + +# Back up environment variables +setenv ORIG_overlays ${overlays} +setenv ORIG_extra_bootargs ${extra_bootargs} + +# Set SOC type to "imx8mm" if not already defined by U-Boot +if test ! -n "${soc_type}"; then + setenv soc_type "imx8mm" +fi + +# +# Determine overlays to apply depending on the hardware capabilities +# described by the HWID, SOM version, and carrier board version. +# +if test -n "${module_ram}"; then + setexpr som_hv ${hwid_2} \& 38 + setexpr som_hv ${som_hv} / 8 + + setexpr module_has_wifi ${hwid_2} \& 10000 + setexpr module_has_wifi ${module_has_wifi} / 10000 + setexpr module_has_bt ${hwid_2} \& 20000 + setexpr module_has_bt ${module_has_bt} / 20000 + + if test "${module_has_bt}" = "1" && test -z "${disable_bt}"; then + setenv overlays _ov_som_bt_ccimx8m.dtbo,${overlays} + fi + + if test "${module_has_wifi}" = "1" && test -z "${disable_wifi}"; then + setenv overlays _ov_som_wifi_ccimx8m.dtbo,${overlays} + fi +fi + +setenv extra_bootargs fbcon=logo-pos:center ${extra_bootargs} +dboot linux mmc ${mmcbootdev}:${mmcpart} + + + +# We only get here in case of an error on the dboot command. + +# Undo changes to environment variables +setenv overlays ${ORIG_overlays} +setenv ORIG_overlays +setenv extra_bootargs ${ORIG_extra_bootargs} +setenv ORIG_extra_bootargs diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/altboot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/altboot.txt new file mode 100644 index 000000000..29172875b --- /dev/null +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/altboot.txt @@ -0,0 +1,37 @@ +# +# U-Boot bootscript for altbootcmd (dual boot fallback after retries) +# + +# After an upgrade, active_system has changed. U-Boot tries to boot this system +# for a number of tries. If the limit is reached, altbootcmd is run instead. +# This is the script that it will run. It has to: +# * switch back to previous system +# * reset the firmware update flag +# * run the regular boot command + +if test "${dualboot}" = "yes" && test "${upgrade_available}" = "1"; then + echo "## Update failed; Rolling back to previous version." + if test "${active_system}" = "linux_a"; then + setenv active_system linux_b + part number mmc ${mmcbootdev} linux_b linux_b_index + setexpr mmcpart ${linux_b_index} + # Save the partition index on variable rootfs_b_index + part number mmc ${mmcbootdev} rootfs_b rootfs_b_index + # Save the rootfs_b UUID into mmcroot_b + part uuid mmc ${mmcbootdev}:${rootfs_b_index} mmcroot_b + setenv mmcroot PARTUUID=${mmcroot_b} + else + setenv active_system linux_a + part number mmc ${mmcbootdev} linux_a linux_a_index + setexpr mmcpart ${linux_a_index} + # Save the partition index on variable rootfs_a_index + part number mmc ${mmcbootdev} rootfs_a rootfs_a_index + # Save the rootfs_a UUID into mmcroot_a + part uuid mmc ${mmcbootdev}:${rootfs_a_index} mmcroot_a + setenv mmcroot PARTUUID=${mmcroot_a} + fi + setenv upgrade_available + setenv bootcount 0 + saveenv +fi +run bootcmd diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/install_linux_fw_sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/install_linux_fw_sd.txt new file mode 100644 index 000000000..e7deac14b --- /dev/null +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/install_linux_fw_sd.txt @@ -0,0 +1,234 @@ +# +# U-Boot script for installing Linux images created by Yocto from the SD +# card into the eMMC +# + +# Reset temp variables +install_abort=0 +BASEFILENAME=0 + +setenv INSTALL_UBOOT_FILENAME imx-boot-##MACHINE##.bin; +setenv INSTALL_MMCDEV 1 + +if test -z "${image-name}"; then + setenv image-name ##DEFAULT_IMAGE_NAME## +fi +GRAPHICAL_IMAGES="##GRAPHICAL_IMAGES##" +for g in ${GRAPHICAL_IMAGES}; do + if test "${image-name}" = "${g}"; then + BASEFILENAME="${image-name}-##GRAPHICAL_BACKEND##" + fi +done +if test "${BASEFILENAME}" = "0"; then + BASEFILENAME="${image-name}" +fi +setenv INSTALL_LINUX_FILENAME ${BASEFILENAME}-##MACHINE##.boot.vfat +setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.vfat +setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ext4 + +# Check for presence of firmware files on the SD card +for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do + if test ! -e mmc ${INSTALL_MMCDEV} ${install_f}; then + echo "ERROR: Could not find file ${install_f}"; + install_abort=1; + fi; +done +if test "${install_abort}" = "1"; then + echo "Aborted."; + exit; +fi + +echo "############################################################" +echo "# Linux firmware install from micro SD #" +echo "############################################################" +echo "" +echo " This process will erase your eMMC and will install the following files" +echo " on the partitions of the eMMC." +echo "" +echo " PARTITION FILENAME" +echo " --------- --------" +echo " bootloader ${INSTALL_UBOOT_FILENAME}" +if test "${dualboot}" = "yes"; then + echo " linux_a ${INSTALL_LINUX_FILENAME}" + echo " linux_b ${INSTALL_LINUX_FILENAME}" + echo " rootfs_a ${INSTALL_ROOTFS_FILENAME}" + echo " rootfs_b ${INSTALL_ROOTFS_FILENAME}" +else + echo " linux ${INSTALL_LINUX_FILENAME}" + echo " recovery ${INSTALL_RECOVERY_FILENAME}" + echo " rootfs ${INSTALL_ROOTFS_FILENAME}" +fi +echo "" +echo " Press CTRL+C now if you wish to abort or wait 10 seconds" +echo " to continue." + +sleep 10 +if test $? -eq 1; then + echo "Aborted by user."; + exit; +fi + +# Skip user confirmation for U-Boot update +setenv forced_update 1 + +# Set bootdelay to zero so that firmware update is run immediately after +# the first reset. +setenv bootdelay 0 + +# Set target MMC device index to eMMC +setenv mmcdev 0 + +# Update U-Boot +echo "" +echo "" +echo ">> Installing U-Boot boot loader image ${INSTALL_UBOOT_FILENAME} (target will reset)" +echo "" +echo "" +update uboot mmc ${INSTALL_MMCDEV} ${INSTALL_UBOOT_FILENAME} +if test $? -eq 1; then + # Use old-style update with source file system argument + update uboot mmc ${INSTALL_MMCDEV} fat ${INSTALL_UBOOT_FILENAME} + if test $? -eq 1; then + echo "[ERROR] Failed to update U-Boot boot loader!"; + echo ""; + echo "Aborted."; + exit; + fi +fi + +# Set 'bootcmd' to the second part of the script that will +# - Reset environment to defaults +# - Restore 'dualboot' if previously set +# - Save the environment +# - Force on-the-fly updates to avoid possible verification errors +# - Partition the eMMC user data area for Linux +# - If Dual Boot +# - Update the system partitions: linux_a, linux_b, rootfs_a, rootfs_b +# - If Normal Boot: +# - Update the system partitions: linux, recovery, rootfs +# - Erase the 'update' partition +# - Configure recovery to wipe 'update' partition +# - Run 'recovery' and let the system boot after +setenv bootcmd " + env default -a; + setenv dualboot ${dualboot}; + saveenv; + setenv otf-update yes; + echo \"\"; + echo \"\"; + echo \">> Creating Linux partition table on the eMMC\"; + echo \"\"; + echo \"\"; + run partition_mmc_linux; + if test \$? -eq 1; then + echo \"[ERROR] Failed to create Linux partition table!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + if test \"\$\{dualboot\}\" = yes; then + echo \"\"; + echo \"\"; + echo \">> Installing file ${INSTALL_LINUX_FILENAME} on linux_a\"; + echo \"\"; + echo \"\"; + update linux_a mmc ${INSTALL_MMCDEV} ${INSTALL_LINUX_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update linux_a!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + echo \"\"; + echo \"\"; + echo \">> Installing file ${INSTALL_LINUX_FILENAME} on linux_b\"; + echo \"\"; + echo \"\"; + update linux_b mmc ${INSTALL_MMCDEV} ${INSTALL_LINUX_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update linux_b!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + echo \"\"; + echo \"\"; + echo \">> Installing file ${INSTALL_ROOTFS_FILENAME} on rootfs_a\"; + echo \"\"; + echo \"\"; + update rootfs_a mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update rootfs_a partition!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + echo \"\"; + echo \"\"; + echo \">> Installing file ${INSTALL_ROOTFS_FILENAME} on rootfs_b\"; + echo \"\"; + echo \"\"; + update rootfs_b mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update rootfs_b partition!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + else + echo \"\"; + echo \"\"; + echo \">> Installing file ${INSTALL_LINUX_FILENAME} on linux\"; + echo \"\"; + echo \"\"; + update linux mmc ${INSTALL_MMCDEV} ${INSTALL_LINUX_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update linux!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + echo \"\"; + echo \"\"; + echo \">> Installing file ${INSTALL_RECOVERY_FILENAME} on recovery\"; + echo \"\"; + echo \"\"; + update recovery mmc ${INSTALL_MMCDEV} ${INSTALL_RECOVERY_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update recovery partition!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + echo \"\"; + echo \"\"; + echo \">> Installing file ${INSTALL_ROOTFS_FILENAME} on rootfs\"; + echo \"\"; + echo \"\"; + update rootfs mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update rootfs partition!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + echo \"\"; + setenv boot_recovery yes; + setenv recovery_command wipe_update; + fi; + setenv otf-update; + saveenv; + echo \"\"; + echo \"\"; + echo \">> Firmware installation complete.\"; + if test \"\$\{dualboot\}\" != yes; then + echo \"Rebooting into recovery mode for final deployment.\"; + fi; + echo \"\"; + echo \"\"; + sleep 1; + reset; +" + +saveenv +reset diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/install_linux_fw_usb.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/install_linux_fw_usb.txt new file mode 100644 index 000000000..1eb95d3bf --- /dev/null +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/install_linux_fw_usb.txt @@ -0,0 +1,235 @@ +# +# U-Boot script for installing Linux images created by Yocto from a USB stick +# into the eMMC +# + +# Reset temp variables +install_abort=0 +BASEFILENAME=0 + +setenv INSTALL_UBOOT_FILENAME imx-boot-##MACHINE##.bin; +setenv INSTALL_USBDEV 0 + +if test -z "${image-name}"; then + setenv image-name ##DEFAULT_IMAGE_NAME## +fi +GRAPHICAL_IMAGES="##GRAPHICAL_IMAGES##" +for g in ${GRAPHICAL_IMAGES}; do + if test "${image-name}" = "${g}"; then + BASEFILENAME="${image-name}-##GRAPHICAL_BACKEND##" + fi +done +if test "${BASEFILENAME}" = "0"; then + BASEFILENAME="${image-name}" +fi +setenv INSTALL_LINUX_FILENAME ${BASEFILENAME}-##MACHINE##.boot.vfat +setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.vfat +setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ext4 + +# Check for presence of firmware files on the USB +for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do + if test ! -e usb ${INSTALL_USBDEV} ${install_f}; then + echo "ERROR: Could not find file ${install_f}"; + install_abort=1; + fi; +done +if test "${install_abort}" = "1"; then + echo "Aborted."; + exit; +fi + +echo "############################################################" +echo "# Linux firmware install from USB #" +echo "############################################################" +echo "" +echo " This process will erase your eMMC and will install the following files" +echo " on the partitions of the eMMC." +echo "" +echo " PARTITION FILENAME" +echo " --------- --------" +echo " bootloader ${INSTALL_UBOOT_FILENAME}" +if test "${dualboot}" = "yes"; then + echo " linux_a ${INSTALL_LINUX_FILENAME}" + echo " linux_b ${INSTALL_LINUX_FILENAME}" + echo " rootfs_a ${INSTALL_ROOTFS_FILENAME}" + echo " rootfs_b ${INSTALL_ROOTFS_FILENAME}" +else + echo " linux ${INSTALL_LINUX_FILENAME}" + echo " recovery ${INSTALL_RECOVERY_FILENAME}" + echo " rootfs ${INSTALL_ROOTFS_FILENAME}" +fi +echo "" +echo " Press CTRL+C now if you wish to abort or wait 10 seconds" +echo " to continue." + +sleep 10 +if test $? -eq 1; then + echo "Aborted by user."; + exit; +fi + +# Skip user confirmation for U-Boot update +setenv forced_update 1 + +# Set bootdelay to zero so that firmware update is run immediately after +# the first reset. +setenv bootdelay 0 + +# Set target MMC device index to eMMC +setenv mmcdev 0 + +# Update U-Boot +echo "" +echo "" +echo ">> Installing U-Boot boot loader image ${INSTALL_UBOOT_FILENAME} (target will reset)" +echo "" +echo "" +update uboot usb ${INSTALL_USBDEV} ${INSTALL_UBOOT_FILENAME} +if test $? -eq 1; then + # Use old-style update with source file system argument + update uboot usb ${INSTALL_USBDEV} fat ${INSTALL_UBOOT_FILENAME} + if test $? -eq 1; then + echo "[ERROR] Failed to update U-Boot boot loader!"; + echo ""; + echo "Aborted."; + exit; + fi +fi + +# Set 'bootcmd' to the second part of the script that will +# - Reset environment to defaults +# - Restore 'dualboot' if previously set +# - Save the environment +# - Force on-the-fly updates to avoid possible verification errors +# - Partition the eMMC user data area for Linux +# - If Dual Boot +# - Update the system partitions: linux_a, linux_b, rootfs_a, rootfs_b +# - If Normal Boot: +# - Update the system partitions: linux, recovery, rootfs +# - Erase the 'update' partition +# - Configure recovery to wipe 'update' partition +# - Run 'recovery' and let the system boot after +setenv bootcmd " + env default -a; + setenv dualboot ${dualboot}; + saveenv; + setenv otf-update yes; + echo \"\"; + echo \"\"; + echo \">> Creating Linux partition table on the eMMC\"; + echo \"\"; + echo \"\"; + run partition_mmc_linux; + if test \$? -eq 1; then + echo \"[ERROR] Failed to create Linux partition table!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + usb start; + if test \"\$\{dualboot\}\" = yes; then + echo \"\"; + echo \"\"; + echo \">> Installing file ${INSTALL_LINUX_FILENAME} on linux_a\"; + echo \"\"; + echo \"\"; + update linux_a usb ${INSTALL_USBDEV} ${INSTALL_LINUX_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update linux_a!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + echo \"\"; + echo \"\"; + echo \">> Installing file ${INSTALL_LINUX_FILENAME} on linux_b\"; + echo \"\"; + echo \"\"; + update linux_b usb ${INSTALL_USBDEV} ${INSTALL_LINUX_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update linux_b!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + echo \"\"; + echo \"\"; + echo \">> Installing file ${INSTALL_ROOTFS_FILENAME} on rootfs_a\"; + echo \"\"; + echo \"\"; + update rootfs_a usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update rootfs_a partition!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + echo \"\"; + echo \"\"; + echo \">> Installing file ${INSTALL_ROOTFS_FILENAME} on rootfs_b\"; + echo \"\"; + echo \"\"; + update rootfs_b usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update rootfs_b partition!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + else + echo \"\"; + echo \"\"; + echo \">> Installing file ${INSTALL_LINUX_FILENAME} on linux\"; + echo \"\"; + echo \"\"; + update linux usb ${INSTALL_USBDEV} ${INSTALL_LINUX_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update linux!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + echo \"\"; + echo \"\"; + echo \">> Installing file ${INSTALL_RECOVERY_FILENAME} on recovery\"; + echo \"\"; + echo \"\"; + update recovery usb ${INSTALL_USBDEV} ${INSTALL_RECOVERY_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update recovery partition!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + echo \"\"; + echo \"\"; + echo \">> Installing file ${INSTALL_ROOTFS_FILENAME} on rootfs\"; + echo \"\"; + echo \"\"; + update rootfs usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update rootfs partition!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + echo \"\"; + setenv boot_recovery yes; + setenv recovery_command wipe_update; + fi; + setenv otf-update; + saveenv; + echo \"\"; + echo \"\"; + echo \">> Firmware installation complete.\"; + if test \"\$\{dualboot\}\" != yes; then + echo \"Rebooting into recovery mode for final deployment.\"; + fi; + echo \"\"; + echo \"\"; + sleep 1; + reset; +" + +saveenv +reset diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/install_linux_fw_uuu.sh b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/install_linux_fw_uuu.sh new file mode 100644 index 000000000..d580e5c02 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93/install_linux_fw_uuu.sh @@ -0,0 +1,277 @@ +#!/bin/sh +#=============================================================================== +# +# Copyright (C) 2020-2021 by Digi International Inc. +# All rights reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# +# Description: +# Script to flash Yocto build artifacts over USB to the target. +#=============================================================================== +# set -x + +# +# U-Boot script for installing Linux images created by Yocto +# + +# Exit on any error +set -e + +# Parse uuu cmd output +getenv() +{ + uuu -v fb: ucmd printenv "${1}" | sed -ne "s,^${1}=,,g;T;p" +} + +show_usage() +{ + echo "Usage: $0 [options]" + echo "" + echo " Options:" + echo " -h Show this help." + echo " -i Image name that prefixes the image filenames, such as 'dey-image-qt', " + echo " 'dey-image-webkit', 'core-image-base'..." + echo " Defaults to '##DEFAULT_IMAGE_NAME##' if not provided." + echo " -n No wait. Skips 10 seconds delay to stop script." + echo " -u U-Boot filename." + echo " Auto-determined by variant if not provided." + exit 2 +} + +# Update a partition +# Params: +# 1. partition +# 2. file +part_update() +{ + echo "\033[36m" + echo "=====================================================================================" + echo "Updating '${1}' partition with file: ${2}" + echo "=====================================================================================" + echo "\033[0m" + + if [ "${1}" = "bootloader" ]; then + uuu fb: flash "${1}" "${2}" + else + uuu fb: flash -raw2sparse "${1}" "${2}" + fi +} + +clear +echo "############################################################" +echo "# Linux firmware install through USB OTG #" +echo "############################################################" + +# Command line admits the following parameters: +# -u +# -i +while getopts 'hi:nu:' c +do + case $c in + h) show_usage ;; + i) IMAGE_NAME=${OPTARG} ;; + n) NOWAIT=true ;; + u) INSTALL_UBOOT_FILENAME=${OPTARG} ;; + esac +done + +# Enable the redirect support to get u-boot variables values +uuu fb: ucmd setenv stdout serial,fastboot + +# Check if dualboot variable is active +dualboot=$(getenv "dualboot") +if [ "${dualboot}" = "yes" ]; then + DUALBOOT=true; +fi + +# remove redirect +uuu fb: ucmd setenv stdout serial + +echo "" +echo "Determining image files to use..." + +# Determine U-Boot file to program basing on SOM's SOC type (linked to bus width) +if [ -z "${INSTALL_UBOOT_FILENAME}" ]; then + INSTALL_UBOOT_FILENAME="imx-boot-##MACHINE##.bin" +fi + +# Determine linux, recovery, and rootfs image filenames to update +if [ -z "${IMAGE_NAME}" ]; then + IMAGE_NAME="##DEFAULT_IMAGE_NAME##" +fi +GRAPHICAL_IMAGES="##GRAPHICAL_IMAGES##" +for g in ${GRAPHICAL_IMAGES}; do + if [ "${IMAGE_NAME}" = "${g}" ]; then + BASEFILENAME="${IMAGE_NAME}-##GRAPHICAL_BACKEND##" + fi +done +if [ -z "${BASEFILENAME}" ]; then + BASEFILENAME="${IMAGE_NAME}" +fi +INSTALL_LINUX_FILENAME="${BASEFILENAME}-##MACHINE##.boot.vfat" +INSTALL_RECOVERY_FILENAME="${BASEFILENAME}-##MACHINE##.recovery.vfat" +INSTALL_ROOTFS_FILENAME="${BASEFILENAME}-##MACHINE##.ext4" + +COMPRESSED_ROOTFS_IMAGE="${INSTALL_ROOTFS_FILENAME}.gz" + +# If the rootfs image is compressed, make sure to decompress it before the update +if [ -f ${COMPRESSED_ROOTFS_IMAGE} ] && [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; then + echo "\033[36m" + echo "=====================================================================================" + echo "Decompressing rootfs image '${COMPRESSED_ROOTFS_IMAGE}'" + echo "=====================================================================================" + echo "\033[0m" + gzip -d -k -f "${COMPRESSED_ROOTFS_IMAGE}" +fi + +# Verify existance of files before starting the update +FILES="${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}" +for f in ${FILES}; do + if [ ! -f ${f} ]; then + echo "\033[31m[ERROR] Could not find file '${f}'\033[0m" + ABORT=true + fi +done; + +[ "${ABORT}" = true ] && exit 1 + +# parts names +LINUX_NAME="linux" +RECOVERY_NAME="recovery" +ROOTFS_NAME="rootfs" +# Print warning about storage media being deleted +if [ "${NOWAIT}" != true ]; then + WAIT=10 + printf "\n" + printf " ====================\n" + printf " = IMPORTANT! =\n" + printf " ====================\n" + printf " This process will erase your eMMC and will install the following files\n" + printf " on the partitions of the eMMC.\n" + printf "\n" + printf " PARTITION\tFILENAME\n" + printf " ---------\t--------\n" + printf " bootloader\t${INSTALL_UBOOT_FILENAME}\n" + if [ "${DUALBOOT}" = true ]; then + printf " ${LINUX_NAME}_a\t${INSTALL_LINUX_FILENAME}\n" + printf " ${LINUX_NAME}_b\t${INSTALL_LINUX_FILENAME}\n" + printf " ${ROOTFS_NAME}_a\t${INSTALL_ROOTFS_FILENAME}\n" + printf " ${ROOTFS_NAME}_b\t${INSTALL_ROOTFS_FILENAME}\n" + else + printf " ${LINUX_NAME}\t${INSTALL_LINUX_FILENAME}\n" + printf " ${RECOVERY_NAME}\t${INSTALL_RECOVERY_FILENAME}\n" + printf " ${ROOTFS_NAME}\t${INSTALL_ROOTFS_FILENAME}\n" + fi + printf "\n" + printf " Press CTRL+C now if you wish to abort.\n" + printf "\n" + while [ ${WAIT} -gt 0 ]; do + printf "\r Update process starts in %d " ${WAIT} + sleep 1 + WAIT=$(( ${WAIT} - 1 )) + done + printf "\r \n" + printf " Starting update process\n" +fi + +# Set fastboot buffer address to $loadaddr, just in case +uuu fb: ucmd setenv fastboot_buffer \${loadaddr} + +# Skip user confirmation for U-Boot update +uuu fb: ucmd setenv forced_update 1 + +# Update U-Boot +part_update "bootloader" "${INSTALL_UBOOT_FILENAME}" + +# Set MMC to boot from BOOT1 partition +uuu fb: ucmd mmc partconf 0 1 1 1 + +# Set 'bootcmd' for the second part of the script that will +# - Reset environment to defaults +# - Save the environment +# - Partition the eMMC user data area for Linux +# - Update the 'linux' partition +# - Update the 'recovery' partition +# - Update the 'rootfs' partition +uuu fb: ucmd setenv bootcmd " + env default -a; + setenv dualboot \${dualboot}; + saveenv; + echo \"\"; + echo \"\"; + echo \">> Creating Linux partition table on the eMMC\"; + echo \"\"; + echo \"\"; + run partition_mmc_linux; + if test \$? -eq 1; then + echo \"[ERROR] Failed to create Linux partition table!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + echo \"\"; + echo \"\"; + echo \">> Start installation Linux firmware files\"; + echo \"\"; + echo \"\"; + saveenv; + fastboot 0; +" + +uuu fb: ucmd saveenv +uuu fb: acmd reset + +# Wait for the target to reset +sleep 3 + +# Restart fastboot with the latest MMC partition configuration +uuu fb: ucmd setenv fastboot_dev sata +uuu fb: ucmd setenv fastboot_dev mmc + +# Set fastboot buffer address to $loadaddr, just in case +uuu fb: ucmd setenv fastboot_buffer \${loadaddr} + +if [ "${DUALBOOT}" = true ]; then + # Update Linux A + part_update "${LINUX_NAME}_a" "${INSTALL_LINUX_FILENAME}" + # Update Linux B + part_update "${LINUX_NAME}_b" "${INSTALL_LINUX_FILENAME}" + # Update Rootfs A + part_update "${ROOTFS_NAME}_a" "${INSTALL_ROOTFS_FILENAME}" + # Update Rootfs B + part_update "${ROOTFS_NAME}_b" "${INSTALL_ROOTFS_FILENAME}" +else + # Update Linux + part_update "${LINUX_NAME}" "${INSTALL_LINUX_FILENAME}" + # Update Recovery + part_update "${RECOVERY_NAME}" "${INSTALL_RECOVERY_FILENAME}" + # Update Rootfs + part_update "${ROOTFS_NAME}" "${INSTALL_ROOTFS_FILENAME}" +fi + +# If the rootfs image was originally compressed, remove the uncompressed image +if [ -f ${COMPRESSED_ROOTFS_IMAGE} ] && [ -f ${INSTALL_ROOTFS_FILENAME} ]; then + rm -f "${INSTALL_ROOTFS_FILENAME}" +fi + +if [ "${DUALBOOT}" != true ]; then + # Configure u-boot to boot into recovery mode + uuu fb: ucmd setenv boot_recovery yes + uuu fb: ucmd setenv recovery_command wipe_update +fi +uuu fb: ucmd saveenv + +# Reset the target +uuu fb: acmd reset + +echo "\033[32m" +echo "=============================================================" +echo "Done! Wait for the target to complete first boot process." +echo "=============================================================" +echo "\033[0m" + +exit diff --git a/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx93/80-mm-net-device-blacklist.rules b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx93/80-mm-net-device-blacklist.rules new file mode 100644 index 000000000..b5f43b430 --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx93/80-mm-net-device-blacklist.rules @@ -0,0 +1,18 @@ +ACTION!="add|change|move|bind", GOTO="mm_net_device_blacklist_end" + +# ModemManager documentation states that the best practice is to use the DEVPATH +# this way rather than other rules such as KERNEL, so be careful when modifying + +# Remove Ethernet interfaces from ModemManager probing +SUBSYSTEM=="net", DEVPATH=="/devices/platform/30be0000.ethernet*", ENV{ID_MM_CANDIDATE}="0", ENV{ID_MM_DEVICE_IGNORE}="1" + +# Remove SPI-to-CAN interface from ModemManager probing +SUBSYSTEM=="net", DEVPATH=="/devices/platform/30840000.ecspi*", ENV{ID_MM_CANDIDATE}="0", ENV{ID_MM_DEVICE_IGNORE}="1" + +# Remove MMC interfaces from ModemManager probing +SUBSYSTEM=="net", DEVPATH=="/devices/platform/30b40000.mmc*", ENV{ID_MM_CANDIDATE}="0", ENV{ID_MM_DEVICE_IGNORE}="1" + +# Remove PCIe interfaces from ModemManager probing +SUBSYSTEM=="net", DEVPATH=="/devices/platform/33800000.pcie*", ENV{ID_MM_CANDIDATE}="0", ENV{ID_MM_DEVICE_IGNORE}="1" + +LABEL="mm_net_device_blacklist_end" diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/acpid.map b/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/acpid.map new file mode 100644 index 000000000..f3940541e --- /dev/null +++ b/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/acpid.map @@ -0,0 +1,3 @@ +#s_type n_type(hex) s_code n_code value description +EV_KEY 0x01 KEY_SLEEP 142 1 pswitch-standby +EV_KEY 0x01 KEY_POWER 116 1 pswitch-poweroff diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby b/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby new file mode 100755 index 000000000..b5b47210d --- /dev/null +++ b/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby @@ -0,0 +1,116 @@ +#!/bin/sh +#=============================================================================== +# +# standby +# +# Copyright (C) 2020 by Digi International Inc. +# All rights reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# +# !Description: suspend system to RAM +# +#=============================================================================== + +scriptname="$(basename $(readlink -f ${0}))" +syspower="/sys/power/state" +lockfile="/var/lock/${scriptname}.lock" +lockfd="9" + +BT_INIT="/etc/init.d/bluetooth-init" +BT_DAEMON="/etc/init.d/bluetooth" +NM_DAEMON="/etc/init.d/networkmanager" + +usage() { + printf "\nSuspend system to RAM memory\n" + printf "\nUsage: ${scriptname} [OPTIONS]\n + -h Show this help + \n" +} + +suspend_interfaces() { + # Stop NetworkManager before suspend + ${NM_DAEMON} stop + + # Suspend wireless interfaces + if [ -d "/proc/device-tree/wireless" ]; then + for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do + ifdown "${i}" && RESUME_IFACES="${RESUME_IFACES:+${RESUME_IFACES} }${i}" + done + grep -qs '^wlan' /proc/modules && rmmod wlan + fi + + # Suspend bluetooth interface + if [ -d "/proc/device-tree/bluetooth" ]; then + hciconfig hci0 2>&1 | grep -qs UP && up_bt_on_resume="1" + ${BT_DAEMON} stop >/dev/null + ${BT_INIT} stop >/dev/null + fi +} + +resume_interfaces() { + # Resume wireless interfaces + if [ -d "/proc/device-tree/wireless" ]; then + # Trigger wireless module loading event, and wait until the interface exists + udevadm trigger --action=add --attr-match="modalias=sdio:c00v0271d050A" + timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null + + # Bring up the interfaces that were bring down on suspend + for i in $(echo ${RESUME_IFACES} | tr ' ' '\n' | sort); do + grep -qs "^${i}" /var/run/ifstate || ifup "${i}" + done + fi + + # Resume bluetooth interface + if [ -d "/proc/device-tree/bluetooth" ]; then + if [ -n "${up_bt_on_resume}" ]; then + ${BT_INIT} start >/dev/null + ${BT_DAEMON} start >/dev/null + fi + fi + + # Resume NetworkManager after suspend + ${NM_DAEMON} start +} + +enter_critical_section() { + # Create lock file + eval "exec ${lockfd}>${lockfile}" + + # Acquire the lock in non blocking mode. Otherwise, additional calls + # to the script will be queued and the system will endlessly go in + # and out of suspend to ram + flock -n "${lockfd}" || exit 0 +} + +exit_critical_section() { + # Release the lock + flock -u "${lockfd}" +} + +while getopts "h" c; do + case "${c}" in + h) usage; exit;; + esac +done + +if [ -f "${syspower}" ]; then + # Avoid running multiple instances of this script in parallel + enter_critical_section + + # Pre-suspend actions + suspend_interfaces + + # Suspend the device + printf "mem" > ${syspower} + + # Post-resume actions + resume_interfaces + + exit_critical_section +else + printf "\n[ERROR] File ${syspower} not found\n\n" +fi diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby-actions b/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby-actions new file mode 100644 index 000000000..8d564dc37 --- /dev/null +++ b/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby-actions @@ -0,0 +1,83 @@ +#!/bin/sh +#=============================================================================== +# +# standby-actions +# +# Copyright (C) 2020 by Digi International Inc. +# All rights reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# +# !Description: manage interfaces before suspending and after resuming from +# suspend +# +#=============================================================================== + +if [ "${1}" == "pre" ]; then + # Stop NetworkManager before suspend + systemctl stop NetworkManager + + # Suspend wireless interfaces + if [ -d "/proc/device-tree/wireless" ]; then + for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do + ifdown "${i}" && RESUME_IFACES="${RESUME_IFACES:+${RESUME_IFACES} }${i}" + done + + echo ${RESUME_IFACES} > /tmp/suspend_wlan_ifaces + grep -qs '^wlan' /proc/modules && rmmod wlan + fi + + # Suspend bluetooth interface + if [ -d "/proc/device-tree/bluetooth" ]; then + hciconfig hci0 2>&1 | grep -qs UP && touch /tmp/up_bt_on_resume + systemctl stop bluetooth + systemctl stop bluetooth-init + fi + + # Configure Power LED for blinking in standby + if [ -d "/sys/class/leds/power:green" ]; then + # Configure LED for blinking + echo timer > /sys/class/leds/power\:green/trigger + # Turn LED on at max brightness + echo 19 > /sys/class/leds/power\:green/brightness + # Configure blinking timings + echo 100 > /sys/class/leds/power\:green/delay_on + echo 1000 > /sys/class/leds/power\:green/delay_off + fi +elif [ "${1}" == "post" ]; then + # Resume wireless interfaces + if [ -d "/proc/device-tree/wireless" ]; then + # Trigger wireless module loading event, and wait until the interface exists + udevadm trigger --action=add --attr-match="modalias=sdio:c00v0271d050A" + timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null + + # Bring up the interfaces that were brought down on suspend + for i in $(cat /tmp/suspend_wlan_ifaces | tr ' ' '\n' | sort); do + grep -qs "^${i}" /var/run/ifstate || ifup "${i}" + done + rm -f /tmp/suspend_wlan_ifaces + fi + + # Resume NetworkManager after suspend + systemctl start NetworkManager + + # Resume bluetooth interface + if [ -d "/proc/device-tree/bluetooth" ]; then + if [ -e "/tmp/up_bt_on_resume" ]; then + systemctl start bluetooth-init + systemctl start bluetooth + rm -f /tmp/up_bt_on_resume + fi + fi + + # Configure Power LED solid on after resume + if [ -d "/sys/class/leds/power:green" ]; then + # Reset LED settings by writing 0 to brigtness descriptor + echo 0 > /sys/class/leds/power\:green/brightness + # Turn LED on at max brightness + echo 19 > /sys/class/leds/power\:green/brightness + fi +fi diff --git a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx93-dvk/libdigiapix.conf b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx93-dvk/libdigiapix.conf new file mode 100644 index 000000000..2b1044637 --- /dev/null +++ b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx93-dvk/libdigiapix.conf @@ -0,0 +1,36 @@ +[board] +model = Digi International ConnectCore 8M Mini DVK. + +[GPIO] + +# USER LED1 +USER_LED = mca-gpio,12 +USER_LED1 = mca-gpio,12 + +# USER_LED2 +USER_LED2 = mca-gpio,18 + +# USER_LED3 +USER_LED3 = gpio2,19 + +# USER BUTTON1 +USER_BUTTON = mca-gpio,10 +USER_BUTTON1 = mca-gpio,10 + +# USER BUTTON2 +USER_BUTTON2 = gpio2,20 + +[I2C] + +# I2C-4 on Expansion connector. +DEFAULT_I2C_BUS = 4 + +[PWM] + +# PWM0 channel 1 USER_LED1. +DEFAULT_PWM = 0,1 + +[ADC] + +# MCA_IO1 (channel 1) at XBEE1_UART_TX. Not enabled by default. +DEFAULT_ADC = 0,1 From df49f2ec9eeaa50410fcfbba556acfdfb8f50a91 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 19 Dec 2022 18:21:21 +0100 Subject: [PATCH 012/144] imx-atf: update to version 2.6 and convert to bbappend Also: * Support ccimx93 * Add all the patches regardless of the platform (remove overrides). The patches do not clash, so adding all of them eases the maintanance and the migration to new versions of the imx-atf. Signed-off-by: Javier Viguera --- ...fine-UART1-as-console-for-boot-stage.patch | 6 +- ...0002-imx8mm-Disable-M4-debug-console.patch | 4 +- ...ine-UART1-as-console-for-boot-stage.patch} | 10 +-- ...004-imx8mn-Disable-M7-debug-console.patch} | 4 +- ...93-use-UART6-for-the-default-console.patch | 22 ++++++ .../recipes-bsp/imx-atf/imx-atf_2.4.bb | 73 ------------------- .../recipes-bsp/imx-atf/imx-atf_2.6.bbappend | 25 +++++++ 7 files changed, 59 insertions(+), 85 deletions(-) rename meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/{0001-imx8mn-Define-UART1-as-console-for-boot-stage.patch => 0003-imx8mn-Define-UART1-as-console-for-boot-stage.patch} (83%) rename meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/{0002-imx8mn-Disable-M7-debug-console.patch => 0004-imx8mn-Disable-M7-debug-console.patch} (89%) create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0005-ccimx93-use-UART6-for-the-default-console.patch delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.4.bb create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.6.bbappend diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0001-imx8mm-Define-UART1-as-console-for-boot-stage.patch b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0001-imx8mm-Define-UART1-as-console-for-boot-stage.patch index 0236e80dc..3cef0032b 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0001-imx8mm-Define-UART1-as-console-for-boot-stage.patch +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0001-imx8mm-Define-UART1-as-console-for-boot-stage.patch @@ -11,10 +11,10 @@ Signed-off-by: Gabriel Valcazar 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plat/imx/imx8m/imx8mm/platform.mk b/plat/imx/imx8m/imx8mm/platform.mk -index 83ebad65b..f47bdec22 100644 +index a24e41fd77e9..1c8c66435db7 100644 --- a/plat/imx/imx8m/imx8mm/platform.mk +++ b/plat/imx/imx8m/imx8mm/platform.mk -@@ -62,7 +62,7 @@ $(eval $(call add_define,BL32_BASE)) +@@ -153,7 +153,7 @@ $(eval $(call add_define,BL32_BASE)) BL32_SIZE ?= 0x2000000 $(eval $(call add_define,BL32_SIZE)) @@ -22,4 +22,4 @@ index 83ebad65b..f47bdec22 100644 +IMX_BOOT_UART_BASE ?= 0x30860000 $(eval $(call add_define,IMX_BOOT_UART_BASE)) - ifeq (${SPD},trusty) + $(eval $(call add_define,IMX8M_DDR4_DVFS)) diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0002-imx8mm-Disable-M4-debug-console.patch b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0002-imx8mm-Disable-M4-debug-console.patch index 8765b66d1..98e46e9c8 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0002-imx8mm-Disable-M4-debug-console.patch +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0002-imx8mm-Disable-M4-debug-console.patch @@ -12,10 +12,10 @@ Signed-off-by: Arturo Buzarra 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c b/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c -index f63b9fcad..8c9aa4de1 100644 +index 8702d5160a45..8ffeed204e90 100644 --- a/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c +++ b/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c -@@ -58,7 +58,7 @@ static const struct imx_rdc_cfg rdc[] = { +@@ -108,7 +108,7 @@ static const struct imx_rdc_cfg rdc[] = { RDC_MDAn(RDC_MDA_M4, DID1), /* peripherals domain permission */ diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0001-imx8mn-Define-UART1-as-console-for-boot-stage.patch b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0003-imx8mn-Define-UART1-as-console-for-boot-stage.patch similarity index 83% rename from meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0001-imx8mn-Define-UART1-as-console-for-boot-stage.patch rename to meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0003-imx8mn-Define-UART1-as-console-for-boot-stage.patch index 8569759d7..8ea3d3585 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0001-imx8mn-Define-UART1-as-console-for-boot-stage.patch +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0003-imx8mn-Define-UART1-as-console-for-boot-stage.patch @@ -12,10 +12,10 @@ Signed-off-by: Gabriel Valcazar 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c -index 71f3758c3..19be3e91c 100644 +index c87748a1888a..2dd3ab409e97 100644 --- a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c +++ b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c -@@ -51,7 +51,7 @@ static const struct imx_rdc_cfg rdc[] = { +@@ -106,7 +106,7 @@ static const struct imx_rdc_cfg rdc[] = { /* peripherals domain permission */ RDC_PDAPn(RDC_PDAP_UART4, D1R | D1W), @@ -25,10 +25,10 @@ index 71f3758c3..19be3e91c 100644 /* memory region */ diff --git a/plat/imx/imx8m/imx8mn/platform.mk b/plat/imx/imx8m/imx8mn/platform.mk -index 22846f289..fb5bef02d 100644 +index 8da9b298cfba..90c8bd0bab6b 100644 --- a/plat/imx/imx8m/imx8mn/platform.mk +++ b/plat/imx/imx8m/imx8mn/platform.mk -@@ -62,7 +62,7 @@ $(eval $(call add_define,BL32_BASE)) +@@ -63,7 +63,7 @@ $(eval $(call add_define,BL32_BASE)) BL32_SIZE ?= 0x2000000 $(eval $(call add_define,BL32_SIZE)) @@ -36,4 +36,4 @@ index 22846f289..fb5bef02d 100644 +IMX_BOOT_UART_BASE ?= 0x30860000 $(eval $(call add_define,IMX_BOOT_UART_BASE)) - ifeq (${SPD},trusty) + $(eval $(call add_define,IMX8M_DDR4_DVFS)) diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0002-imx8mn-Disable-M7-debug-console.patch b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0004-imx8mn-Disable-M7-debug-console.patch similarity index 89% rename from meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0002-imx8mn-Disable-M7-debug-console.patch rename to meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0004-imx8mn-Disable-M7-debug-console.patch index 342c070c7..12df98c55 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0002-imx8mn-Disable-M7-debug-console.patch +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0004-imx8mn-Disable-M7-debug-console.patch @@ -13,10 +13,10 @@ Signed-off-by: Gabriel Valcazar 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c -index 19be3e91c..c7c504788 100644 +index 2dd3ab409e97..0ad3bd9edf83 100644 --- a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c +++ b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c -@@ -50,7 +50,7 @@ static const struct imx_rdc_cfg rdc[] = { +@@ -105,7 +105,7 @@ static const struct imx_rdc_cfg rdc[] = { RDC_MDAn(RDC_MDA_M7, DID1), /* peripherals domain permission */ diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0005-ccimx93-use-UART6-for-the-default-console.patch b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0005-ccimx93-use-UART6-for-the-default-console.patch new file mode 100644 index 000000000..3bc032412 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0005-ccimx93-use-UART6-for-the-default-console.patch @@ -0,0 +1,22 @@ +From: Javier Viguera +Date: Thu, 20 Oct 2022 17:04:37 +0200 +Subject: [PATCH] ccimx93: use UART6 for the default console + +Signed-off-by: Javier Viguera +--- + plat/imx/imx93/include/platform_def.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plat/imx/imx93/include/platform_def.h b/plat/imx/imx93/include/platform_def.h +index a820c27a5b49..a563d8852d23 100644 +--- a/plat/imx/imx93/include/platform_def.h ++++ b/plat/imx/imx93/include/platform_def.h +@@ -47,7 +47,7 @@ + #define MAX_XLAT_TABLES 12 + #define MAX_MMAP_REGIONS 16 + +-#define IMX_LPUART_BASE 0x44380000 ++#define IMX_LPUART_BASE 0x425a0000 + #define IMX_BOOT_UART_CLK_IN_HZ 24000000 /* Select 24MHz oscillator */ + #define IMX_CONSOLE_BAUDRATE 115200 + diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.4.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.4.bb deleted file mode 100644 index 6a94237fe..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.4.bb +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright (C) 2017-2021 NXP - -DESCRIPTION = "i.MX ARM Trusted Firmware" -SECTION = "BSP" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" - -PV .= "+git${SRCPV}" - -SRCBRANCH = "lf_v2.4" -ATF_SRC ?= "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https" -SRC_URI = "${ATF_SRC};branch=${SRCBRANCH} \ -" -SRCREV = "5782363f92a2fdf926784449270433cf3ddf44bd" - -SRC_URI:append:ccimx8mn = " file://0001-imx8mn-Define-UART1-as-console-for-boot-stage.patch \ - file://0002-imx8mn-Disable-M7-debug-console.patch" -SRC_URI:append:ccimx8mm = " file://0001-imx8mm-Define-UART1-as-console-for-boot-stage.patch \ - file://0002-imx8mm-Disable-M4-debug-console.patch" - -S = "${WORKDIR}/git" - -inherit deploy - -BOOT_TOOLS = "imx-boot-tools" - -PLATFORM ?= "INVALID" -PLATFORM:mx8qm-nxp-bsp = "imx8qm" -PLATFORM:mx8x-nxp-bsp = "imx8qx" -PLATFORM:mx8mq-nxp-bsp = "imx8mq" -PLATFORM:mx8mm-nxp-bsp = "imx8mm" -PLATFORM:mx8mn-nxp-bsp = "imx8mn" -PLATFORM:mx8mnul-nxp-bsp = "imx8mn" -PLATFORM:mx8mp-nxp-bsp = "imx8mp" -PLATFORM:mx8mpul-nxp-bsp = "imx8mp" -PLATFORM:mx8dx-nxp-bsp = "imx8dx" -PLATFORM:mx8dxl-nxp-bsp = "imx8dxl" -PLATFORM:mx8ulp-nxp-bsp = "imx8ulp" - -# Clear LDFLAGS to avoid the option -Wl recognize issue -# Clear CFLAGS to avoid coherent_arm out of OCRAM size limitation (64KB) - i.MX 8MQ only -CLEAR_FLAGS ?= "LDFLAGS" -CLEAR_FLAGS:mx8mq-nxp-bsp = "LDFLAGS CFLAGS" - -EXTRA_OEMAKE += " \ - CROSS_COMPILE="${TARGET_PREFIX}" \ - PLAT=${PLATFORM} \ -" - -BUILD_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}" - -do_compile() { - unset ${CLEAR_FLAGS} - - oe_runmake bl31 - if ${BUILD_OPTEE}; then - oe_runmake clean BUILD_BASE=build-optee - oe_runmake BUILD_BASE=build-optee SPD=opteed bl31 - fi -} - -do_install[noexec] = "1" - -do_deploy() { - install -Dm 0644 ${S}/build/${PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${PLATFORM}.bin - if ${BUILD_OPTEE}; then - install -m 0644 ${S}/build-optee/${PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${PLATFORM}.bin-optee - fi -} -addtask deploy after do_compile - -PACKAGE_ARCH = "${MACHINE_SOCARCH}" -COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.6.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.6.bbappend new file mode 100644 index 000000000..00b470161 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.6.bbappend @@ -0,0 +1,25 @@ +# Copyright (C) 2022 Digi International + +FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" + +SRC_URI:append = " \ + file://0001-imx8mm-Define-UART1-as-console-for-boot-stage.patch \ + file://0002-imx8mm-Disable-M4-debug-console.patch \ + file://0003-imx8mn-Define-UART1-as-console-for-boot-stage.patch \ + file://0004-imx8mn-Disable-M7-debug-console.patch \ + file://0005-ccimx93-use-UART6-for-the-default-console.patch \ +" + +# Release "lf-5.15.71-2.2.0" +SRCREV = "3c1583ba0a5d11e5116332e91065cb3740153a46" + +BOOT_TOOLS = "imx-boot-tools" + +do_deploy:append() { + install -Dm 0644 ${S}/build/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${ATF_PLATFORM}.bin + if ${BUILD_OPTEE}; then + install -m 0644 ${S}/build-optee/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${ATF_PLATFORM}.bin-optee + fi +} + +COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)" From 5cd1870e2bb17aaee37a0172d6c10585e9609f62 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 19 Dec 2022 18:21:51 +0100 Subject: [PATCH 013/144] firmware-imx: update to version 8.18 Verbatim copy of the recipes from meta-imx. Signed-off-by: Javier Viguera --- .../firmware-imx/firmware-imx-8.18.inc | 17 ++ .../firmware-imx/firmware-imx-8_8.18.bb | 23 +++ .../firmware-imx/firmware-imx-8m_8.18.bb | 24 +++ .../firmware-imx/firmware-imx-9_8.18.bb | 21 +++ .../firmware-imx/firmware-imx_%.bbappend | 8 - .../firmware-imx/firmware-imx_8.18.bb | 158 ++++++++++++++++++ 6 files changed, 243 insertions(+), 8 deletions(-) create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8.18.inc create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8_8.18.bb create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8m_8.18.bb create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-9_8.18.bb delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_%.bbappend create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_8.18.bb diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8.18.inc b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8.18.inc new file mode 100644 index 000000000..ee7fb2cf7 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8.18.inc @@ -0,0 +1,17 @@ +# Copyright (C) 2012-2016 Freescale Semiconductor +# Copyright 2017-2022 NXP +# Copyright (C) 2018 O.S. Systems Software LTDA. +SECTION = "base" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" + +SRC_URI = " \ + ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ +" + +SRC_URI[md5sum] = "436501f8e67c10eed6bba88457e701a2" +SRC_URI[sha256sum] = "f050f60351a54fd75954fdeb133ddd014a5576040c72616e216b63db0e242dd4" + +S = "${WORKDIR}/firmware-imx-${PV}" + +inherit fsl-eula-unpack diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8_8.18.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8_8.18.bb new file mode 100644 index 000000000..9d96d5c6b --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8_8.18.bb @@ -0,0 +1,23 @@ +# Copyright 2018-2021 NXP +SUMMARY = "Freescale i.MX firmware for 8 family" +DESCRIPTION = "Freescale i.MX firmware for 8 family" + +require firmware-imx-${PV}.inc + +inherit deploy + +do_install[noexec] = "1" + +do_deploy() { + # Cadence HDMI + install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${DEPLOYDIR} + install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${DEPLOYDIR} + install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${DEPLOYDIR} +} +addtask deploy after do_install before do_build + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" + +COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" +COMPATIBLE_MACHINE:mx8m-nxp-bsp = "(^$)" +COMPATIBLE_MACHINE:mx8x-nxp-bsp = "(^$)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8m_8.18.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8m_8.18.bb new file mode 100644 index 000000000..3ff49979a --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8m_8.18.bb @@ -0,0 +1,24 @@ +# Copyright 2018-2021 NXP +SUMMARY = "Freescale i.MX firmware for 8M and 8M Mini family" +DESCRIPTION = "Freescale i.MX firmware for 8M and 8M Mini family" + +require firmware-imx-${PV}.inc + +inherit deploy + +do_install[noexec] = "1" + +do_deploy() { + # Synopsys DDR + for ddr_firmware in ${DDR_FIRMWARE_NAME}; do + install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR} + done + # Cadence DP and HDMI + install -m 0644 ${S}/firmware/hdmi/cadence/signed_dp_imx8m.bin ${DEPLOYDIR} + install -m 0644 ${S}/firmware/hdmi/cadence/signed_hdmi_imx8m.bin ${DEPLOYDIR} +} +addtask deploy after do_install before do_build + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" + +COMPATIBLE_MACHINE = "(mx8m-generic-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-9_8.18.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-9_8.18.bb new file mode 100644 index 000000000..6d7a9ff4a --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-9_8.18.bb @@ -0,0 +1,21 @@ +# Copyright 2022 NXP +SUMMARY = "Freescale i.MX firmware for i.MX 9 family" +DESCRIPTION = "Freescale i.MX firmware for i.MX 9 family" + +require firmware-imx-${PV}.inc + +inherit deploy + +do_install[noexec] = "1" + +do_deploy() { + # Synopsys DDR + for ddr_firmware in ${DDR_FIRMWARE_NAME}; do + install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR} + done +} +addtask deploy after do_install before do_build + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" + +COMPATIBLE_MACHINE = "(mx9-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_%.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_%.bbappend deleted file mode 100644 index c4f7ee37c..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_%.bbappend +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright (C) 2022, Digi International Inc. - -do_install:append() { - # meta-freescale deletes the SDMA firmware provided by the firmware-imx package, - # in favor of the generic one provided by the linux-firmware package. The one - # provided by NXP is more up-to-date, so we want it back. - install -m 0644 ${S}/firmware/sdma/* ${D}${nonarch_base_libdir}/firmware/imx/sdma -} diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_8.18.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_8.18.bb new file mode 100644 index 000000000..c0b79290a --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_8.18.bb @@ -0,0 +1,158 @@ +# Copyright (C) 2012-2016 Freescale Semiconductor +# Copyright 2017-2021 NXP +# Copyright (C) 2018 O.S. Systems Software LTDA. +SUMMARY = "Freescale i.MX firmware" +DESCRIPTION = "Freescale i.MX firmware such as for the VPU" + +require firmware-imx-${PV}.inc + +PE = "1" + +inherit allarch + +do_install() { + install -d ${D}${nonarch_base_libdir}/firmware/imx + + # SDMA Firmware section + install -d ${D}${nonarch_base_libdir}/firmware/imx/sdma + install -m 0644 ${S}/firmware/sdma/* ${D}${nonarch_base_libdir}/firmware/imx/sdma + # Comment these lines to use sdma-imx6q/7d.bin from here and not linux-firmware + #rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin + #rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin + + # EASRC Firmware section + install -d ${D}${nonarch_base_libdir}/firmware/imx/easrc + install -m 0644 ${S}/firmware/easrc/* ${D}${nonarch_base_libdir}/firmware/imx/easrc/ + + # XCVR Firmware section + install -d ${D}${nonarch_base_libdir}/firmware/imx/xcvr + install -m 0644 ${S}/firmware/xcvr/* ${D}${nonarch_base_libdir}/firmware/imx/xcvr/ + + # XUVI Firmware section + install -d ${D}${nonarch_base_libdir}/firmware/imx/xuvi + install -m 0644 ${S}/firmware/xuvi/* ${D}${nonarch_base_libdir}/firmware/imx/xuvi/ + + # EPDC Firmware section + # NOTE: + # epdc_ED060XH2C1.fw file has .nonrestricted suffix in the source archive, hence it should + # be installed with a different name + install -d ${D}${nonarch_base_libdir}/firmware/imx/epdc + install -m 0644 ${S}/firmware/epdc/*.fw ${D}${nonarch_base_libdir}/firmware/imx/epdc/ + install -m 0644 ${S}/firmware/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${nonarch_base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw + + # HDMI Firmware section + # NOTE: + # Only install pre-defined list of firmware files, since the source archive contains + # also HDMI binary files for imx8m derivatives, which are taken care of by another recipe + install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${nonarch_base_libdir}/firmware + install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${nonarch_base_libdir}/firmware + install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${D}${nonarch_base_libdir}/firmware + + # VPU Firmware section + # NOTE: + # Do the same thing as above for HDMI - only install a pre-defined list of firmware files, + # as some of other files are provided by packages from other recipes. + install -d ${D}${nonarch_base_libdir}/firmware/vpu + install -m 0644 ${S}/firmware/vpu/vpu_fw_imx*.bin ${D}${nonarch_base_libdir}/firmware/vpu +} + +# +# This prepend is here to produce separate packages containing firmware, +# which could be included separately based on the machine definition. +# +# It operates similar to the FILES mechanism by travesing through +# ${D} + folder supplied as a first parameter, matches the regexp supplied +# as second one, and for every file match - it creates a separate package, +# which contains only files that matches the pattern. +# +python populate_packages:prepend() { + # CODA driver tries to locate VPU firmwares directly in ${nonarch_base_libdir}/firmware, to + # avoid fallback loading which is usually 40-60 seconds later after system boots up, let's + # create symbolic links in ${nonarch_base_libdir}/firmware for VPU firmwares. + def coda_vpu_links(file, pkg, pattern, format, basename): + # Only CODA VPU firmwares need this procedure + if 'imx8' in basename: + return + + dir = os.path.dirname(file) + dir = os.path.abspath(os.path.join(dir, os.pardir)) + cwd = os.getcwd() + + os.chdir(dir) + + name = os.path.basename(file) + os.symlink(os.path.join("vpu", name), name) + + oldfiles = d.getVar('FILES:' + pkg) + newfile = os.path.join(d.getVar('nonarch_base_libdir'), "firmware", name) + d.setVar('FILES:' + pkg, oldfiles + " " + newfile) + + os.chdir(cwd) + + + easrcdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/easrc', d) + do_split_packages(d, easrcdir, '^easrc-([^_]*).*\.bin', + output_pattern='firmware-imx-easrc-%s', + description='Freescale IMX EASRC Firmware [%s]', + extra_depends='', + prepend=True) + + vpudir = bb.data.expand('${nonarch_base_libdir}/firmware/vpu', d) + do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin', + output_pattern='firmware-imx-vpu-%s', + description='Freescale IMX VPU Firmware [%s]', + hook=coda_vpu_links, + extra_depends='', + prepend=True) + + sdmadir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/sdma', d) + do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin', + output_pattern='firmware-imx-sdma-%s', + description='Freescale IMX SDMA Firmware [%s]', + extra_depends='', + prepend=True) + + xcvrdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xcvr', d) + do_split_packages(d, xcvrdir, '^xcvr-([^_]*).*\.bin', + output_pattern='firmware-imx-xcvr-%s', + description='Freescale IMX XCVR Firmware [%s]', + extra_depends='', + prepend=True) + + xuvidir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xuvi', d) + do_split_packages(d, xuvidir, '^vpu_fw_([^_]*).*\.bin', + output_pattern='firmware-imx-xuvi-%s', + description='Freescale IMX XUVI Firmware [%s]', + extra_depends='', + prepend=True) +} + +# Declare a contract that we would provide packages produced by prepend above +PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-* ${PN}-easrc-* ${PN}-xcvr-* ${PN}-xuvi-*" + +# +# Deal with the rest of Firmware packages here +# +# Provide EPDC and HDMI Firmware in common packages as they tend to be special in +# terms of the content. +# +# NOTE: PACKAGES are defined explicitly here in order to remove the auto-generated +# complimentary packages (-dev and -dbg). +# This is done in order to be able to keep the main package empty and fail when +# somebody tries to install it in the image. +# If -dev package is present in that setup, and dev-pkgs is enabled in +# IMAGE_FEATURES - this leads to a failure during do_rootfs() while all -dev +# packages would be installed, and -dev package would fail because the main one +# is empty. +# Therefore, we opt-out from producing -dev package here, since also for firmware +# files it makes no sense. +PACKAGES = "${PN} ${PN}-epdc ${PN}-hdmi" + +FILES:${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/" +FILES:${PN}-hdmi = " \ + ${nonarch_base_libdir}/firmware/hdmitxfw.bin \ + ${nonarch_base_libdir}/firmware/hdmirxfw.bin \ + ${nonarch_base_libdir}/firmware/dpfw.bin \ +" + +COMPATIBLE_MACHINE = "(imx-generic-bsp)" From 275b272d4fa45fa99c678d75549cdfdb5bd8ce9f Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 19 Dec 2022 18:22:21 +0100 Subject: [PATCH 014/144] meta-digi-arm: add firmware-sentinel recipe Verbatim copy of the recipe from meta-imx. Signed-off-by: Javier Viguera --- .../firmware-sentinel_0.8.bb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-sentinel/firmware-sentinel_0.8.bb diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-sentinel/firmware-sentinel_0.8.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-sentinel/firmware-sentinel_0.8.bb new file mode 100644 index 000000000..bd070f165 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-sentinel/firmware-sentinel_0.8.bb @@ -0,0 +1,25 @@ +# Copyright 2021-2022 NXP +SUMMARY = "NXP i.MX Sentinel firmware" +DESCRIPTION = "Firmware for i.MX Sentinel Security Controller" +SECTION = "base" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" + +inherit fsl-eula-unpack use-imx-security-controller-firmware deploy + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" +SRC_URI[md5sum] = "be47a5e59c1192ee36246af97d5d1532" +SRC_URI[sha256sum] = "1003d4c6773c153ea341911a74e25c249423644f70f3d8f8d085599e00770b3f" + +do_compile[noexec] = "1" + +do_install() { +} + +do_deploy () { + # Deploy the related firmware to be package by imx-boot + install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR} +} +addtask deploy after do_install before do_build + +COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx9-nxp-bsp)" From 5662ad789d26f39410b20f952e60d13c4a49f811 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 19 Dec 2022 18:22:51 +0100 Subject: [PATCH 015/144] meta-digi: update optee related recipes Verbatim copy of the recipes in meta-imx Signed-off-by: Javier Viguera --- .../optee-imx/optee-client.imx.inc | 40 +++++++ .../optee-client/tee-supplicant.service | 10 ++ .../optee-imx/optee-client_3.19.0.imx.bb | 5 + .../optee-imx/optee-os.imx.inc | 100 ++++++++++++++++++ .../optee-imx/optee-os_3.19.0.imx.bb | 5 + .../optee-imx/optee-test.imx.inc | 51 +++++++++ .../optee-imx/optee-test_3.19.0.imx.bb | 5 + 7 files changed, 216 insertions(+) create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client.imx.inc create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client/tee-supplicant.service create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client_3.19.0.imx.bb create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os.imx.inc create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os_3.19.0.imx.bb create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test.imx.inc create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test_3.19.0.imx.bb diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client.imx.inc b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client.imx.inc new file mode 100644 index 000000000..7b6de718b --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client.imx.inc @@ -0,0 +1,40 @@ +# Copyright (C) 2017-2022 NXP + +SUMMARY = "OPTEE Client libs" +HOMEPAGE = "http://www.optee.org/" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b" + +OPTEE_CLIENT_SRC ?= "git://github.com/nxp-imx/imx-optee-client.git;protocol=https" +SRC_URI = " \ + ${OPTEE_CLIENT_SRC};branch=${SRCBRANCH} \ + file://tee-supplicant.service \ +" + +FILESEXTRAPATHS:append := ":${THISDIR}/optee-client" + +S = "${WORKDIR}/git" +B = "${WORKDIR}/build" + +inherit python3native systemd features_check pkgconfig + +DEPENDS = "util-linux-libuuid" + +REQUIRED_MACHINE_FEATURES = "optee" + +SYSTEMD_SERVICE:${PN} = "tee-supplicant.service" + +EXTRA_OEMAKE = " \ + -C ${S} O=${B} \ +" + +do_install () { + oe_runmake install DESTDIR=${D} + install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service + sed -i \ + -e s:/etc:${sysconfdir}:g \ + -e s:/usr/sbin:${sbindir}:g \ + ${D}${systemd_system_unitdir}/tee-supplicant.service +} + +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client/tee-supplicant.service b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client/tee-supplicant.service new file mode 100644 index 000000000..ffb54d390 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client/tee-supplicant.service @@ -0,0 +1,10 @@ +[Unit] +Description=TEE Supplicant + +[Service] +User=root +EnvironmentFile=-/etc/default/tee-supplicant +ExecStart=/usr/sbin/tee-supplicant $OPTARGS + +[Install] +WantedBy=basic.target diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client_3.19.0.imx.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client_3.19.0.imx.bb new file mode 100644 index 000000000..035a1768b --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client_3.19.0.imx.bb @@ -0,0 +1,5 @@ +# Copyright (C) 2022 NXP +require optee-client.imx.inc + +SRCBRANCH = "lf-5.15.71_2.2.0" +SRCREV = "644022f8970c832a40be00747fcec70c7b5d488c" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os.imx.inc b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os.imx.inc new file mode 100644 index 000000000..8fd925a9d --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os.imx.inc @@ -0,0 +1,100 @@ +# Copyright (C) 2017-2022 NXP + +SUMMARY = "OPTEE OS" +DESCRIPTION = "OPTEE OS" +HOMEPAGE = "http://www.optee.org/" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173" + +DEPENDS = "python3-pyelftools-native u-boot-mkimage-native \ + python3-cryptography-native" + +OPTEE_OS_SRC ?= "git://github.com/nxp-imx/imx-optee-os.git;protocol=https" +SRC_URI = "${OPTEE_OS_SRC};branch=${SRCBRANCH}" + +S = "${WORKDIR}/git" +B = "${WORKDIR}/build" + +inherit deploy python3native autotools features_check + +REQUIRED_MACHINE_FEATURES = "optee" + +# The platform flavor corresponds to the Yocto machine without the leading 'i'. +PLATFORM_FLAVOR = "${@d.getVar('MACHINE')[1:]}" +PLATFORM_FLAVOR:imx6qpdlsolox = "mx6qsabresd" +PLATFORM_FLAVOR:mx6ul-nxp-bsp = "mx6ulevk" +PLATFORM_FLAVOR:mx6ull-nxp-bsp = "mx6ullevk" +PLATFORM_FLAVOR:mx6ulz-nxp-bsp = "mx6ulzevk" +PLATFORM_FLAVOR:mx8mq-nxp-bsp = "mx8mqevk" +PLATFORM_FLAVOR:mx8mm-nxp-bsp = "mx8mmevk" +PLATFORM_FLAVOR:mx8mn-nxp-bsp = "mx8mnevk" +PLATFORM_FLAVOR:mx8mp-nxp-bsp = "mx8mpevk" +PLATFORM_FLAVOR:mx8mpul-nxp-bsp = "mx8mpevk" +PLATFORM_FLAVOR:mx8qm-nxp-bsp = "mx8qmmek" +PLATFORM_FLAVOR:mx8qxp-nxp-bsp = "mx8qxpmek" +PLATFORM_FLAVOR:mx8dx-nxp-bsp = "mx8dxmek" +PLATFORM_FLAVOR:mx8dxl-nxp-bsp = "mx8dxlevk" +PLATFORM_FLAVOR:mx8mnul-nxp-bsp = "mx8mnevk" +PLATFORM_FLAVOR:mx8ulp-nxp-bsp = "mx8ulpevk" +PLATFORM_FLAVOR:mx93-nxp-bsp = "mx93evk" + +EXTRA_OEMAKE = " \ + PLATFORM=imx-${PLATFORM_FLAVOR} \ + CROSS_COMPILE=${HOST_PREFIX} \ + CROSS_COMPILE64=${HOST_PREFIX} \ + CFG_TEE_TA_LOG_LEVEL=0 \ + CFG_TEE_CORE_LOG_LEVEL=0 \ + OPENSSL_MODULES=${STAGING_LIBDIR_NATIVE}/ossl-modules \ + -C ${S} O=${B} \ +" + +LDFLAGS[unexport] = "1" +CFLAGS += "--sysroot=${STAGING_DIR_HOST}" +CXXFLAGS += "--sysroot=${STAGING_DIR_HOST}" + +OPTEE_ARCH:arm = "arm32" +OPTEE_ARCH:aarch64 = "arm64" + +do_configure[noexec] = "1" + +do_compile:arm () { + oe_runmake all uTee +} + +do_compile:aarch64 () { + oe_runmake all +} +do_compile[cleandirs] = "${B}" + +do_deploy () { + install -d ${DEPLOYDIR} + cp ${B}/core/tee-raw.bin ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin + ln -sf tee.${PLATFORM_FLAVOR}.bin ${DEPLOYDIR}/tee.bin +} + +do_deploy:append:arm () { + cp ${B}/core/uTee ${DEPLOYDIR}/uTee-${OPTEE_BIN_EXT} +} + +do_install () { + install -d ${D}${nonarch_base_libdir}/firmware/ + install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/ + + # Install embedded TAs + install -d ${D}${nonarch_base_libdir}/optee_armtz/ + install -m 444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/ + + # Install TA devkit + install -d ${D}${includedir}/optee/export-user_ta_${OPTEE_ARCH}/ + cp -aR ${B}/export-ta_${OPTEE_ARCH}/* \ + ${D}${includedir}/optee/export-user_ta_${OPTEE_ARCH}/ +} + +addtask deploy after do_compile before do_install + +FILES:${PN} = "${nonarch_base_libdir}/firmware/ ${nonarch_base_libdir}/optee_armtz/" +FILES:${PN}-staticdev = "${includedir}/optee/" +RDEPENDS:${PN}-dev += "${PN}-staticdev" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os_3.19.0.imx.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os_3.19.0.imx.bb new file mode 100644 index 000000000..78ba6b9c4 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os_3.19.0.imx.bb @@ -0,0 +1,5 @@ +# Copyright (C) 2022 NXP +require optee-os.imx.inc + +SRCBRANCH = "lf-5.15.71_2.2.0" +SRCREV = "00919403f040fad4f8603e605932281ff8451b1d" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test.imx.inc b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test.imx.inc new file mode 100644 index 000000000..4383fa2c3 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test.imx.inc @@ -0,0 +1,51 @@ +# Copyright (C) 2017-2022 NXP + +SUMMARY = "OPTEE test" +HOMEPAGE = "http://www.optee.org/" + +LICENSE = "BSD-2-Clause & GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa" + +DEPENDS = "python3-cryptography-native optee-os optee-client openssl" + +OPTEE_TEST_SRC ?= "git://github.com/nxp-imx/imx-optee-test.git;protocol=https" +SRC_URI = "${OPTEE_TEST_SRC};branch=${SRCBRANCH}" + +S = "${WORKDIR}/git" +B = "${WORKDIR}/build" + + +inherit python3native features_check + +REQUIRED_MACHINE_FEATURES = "optee" + +OPTEE_ARCH:arm = "arm32" +OPTEE_ARCH:aarch64 = "arm64" + +CFLAGS += "--sysroot=${STAGING_DIR_HOST}" +CXXFLAGS += "--sysroot=${STAGING_DIR_HOST}" + +EXTRA_OEMAKE = " \ + TA_DEV_KIT_DIR=${STAGING_INCDIR}/optee/export-user_ta_${OPTEE_ARCH}/ \ + OPTEE_CLIENT_EXPORT=${STAGING_DIR_HOST}${exec_prefix} \ + CROSS_COMPILE_HOST=${HOST_PREFIX} \ + CROSS_COMPILE_TA=${HOST_PREFIX} \ + CROSS_COMPILE=${HOST_PREFIX} \ + OPENSSL_MODULES=${STAGING_LIBDIR_NATIVE}/ossl-modules \ + -C ${S} O=${B} \ +" + +do_compile() { + oe_runmake all +} +do_compile[cleandirs] = "${B}" + +do_install () { + oe_runmake install DESTDIR=${D} +} + +FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/ ${libdir}/tee-supplicant/plugins/" + +RDEPENDS:${PN} = "optee-os" + +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test_3.19.0.imx.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test_3.19.0.imx.bb new file mode 100644 index 000000000..f5b088a9f --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test_3.19.0.imx.bb @@ -0,0 +1,5 @@ +# Copyright (C) 2022 NXP +require optee-test.imx.inc + +SRCBRANCH = "lf-5.15.71_2.2.0" +SRCREV = "5c1dbb531b304f7ae100958f6261b6cefea49b62" From add03e846443f9f0e2b7c1b8b684fec64d6ce4fd Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 19 Dec 2022 18:23:21 +0100 Subject: [PATCH 016/144] meta-digi-arm: update support to build imx-boot artifact For the moment it supports the ccimx93 without Trustfence. Signed-off-by: Javier Viguera --- .../conf/machine/include/imx-digi-base.inc | 7 + .../imx-mkimage/imx-boot_1.0.bbappend | 388 ++---------------- 2 files changed, 37 insertions(+), 358 deletions(-) diff --git a/meta-digi-arm/conf/machine/include/imx-digi-base.inc b/meta-digi-arm/conf/machine/include/imx-digi-base.inc index ff078dce4..006826a10 100644 --- a/meta-digi-arm/conf/machine/include/imx-digi-base.inc +++ b/meta-digi-arm/conf/machine/include/imx-digi-base.inc @@ -174,6 +174,13 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS:append = " \ imx-test->virtual/imxvpu \ " +# Firmware used for boot. +IMX_EXTRA_FIRMWARE ?= "" +IMX_EXTRA_FIRMWARE:mx8-generic-bsp = "firmware-imx-8 imx-sc-firmware imx-seco" +IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "firmware-imx-8m" +IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco" +IMX_EXTRA_FIRMWARE:mx9-nxp-bsp = "firmware-imx-9 firmware-sentinel" + # Extra udev rules MACHINE_EXTRA_RRECOMMENDS += "udev-extraconf udev-rules-imx" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend index de1672874..951904be4 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend @@ -1,370 +1,42 @@ -# Copyright 2017-2021 NXP -# Copyright 2019-2021 Digi International, Inc. +# Copyright (C) 2022 Digi International -require imx-mkimage_git.inc +SOC_FAMILY:mx9-nxp-bsp = "mx93" -IMX_M4_DEMOS = "" -IMX_M4_DEMOS:mx8-nxp-bsp = "imx-m4-demos:do_deploy" -IMX_M4_DEMOS:mx8m-nxp-bsp = "" +# Do not tag imx-boot +UUU_BOOTLOADER = "" +UUU_BOOTLOADER_TAGGED = "" -M4_DEFAULT_IMAGE ?= "m4_image.bin" -M4_DEFAULT_IMAGE:mx8qxp-nxp-bsp = "imx8qx_m4_TCM_power_mode_switch.bin" -M4_DEFAULT_IMAGE:mx8dxl-nxp-bsp = "imx8dxl_m4_TCM_power_mode_switch.bin" -M4_DEFAULT_IMAGE:mx8dx-nxp-bsp = "imx8qx_m4_TCM_power_mode_switch.bin" +compile_mx93() { + bbnote "i.MX 93 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 -# Setting for i.MX 8ULP -IMX_M4_DEMOS:mx8ulp-nxp-bsp = "imx-m33-demos:do_deploy" -M4_DEFAULT_IMAGE:mx8ulp-nxp-bsp = "imx8ulp_m33_TCM_rpmsg_lite_str_echo_rtos.bin" -ATF_MACHINE_NAME:mx8ulp-nxp-bsp = "bl31-imx8ulp.bin" -IMX_EXTRA_FIRMWARE:mx8ulp-nxp-bsp = "firmware-upower firmware-sentinel" -SECO_FIRMWARE_NAME:mx8ulp-nxp-bsp = "mx8ulpa0-ahab-container.img" -SOC_TARGET:mx8ulp-nxp-bsp = "iMX8ULP" -SOC_FAMILY:mx8ulp-nxp-bsp = "mx8ulp" - - -do_compile[depends] += "${IMX_M4_DEMOS}" - -do_compile:prepend() { - case ${SOC_FAMILY} in - mx8) - cp ${DEPLOY_DIR_IMAGE}/imx8qm_m4_TCM_power_mode_switch_m40.bin \ - ${BOOT_STAGING}/m4_image.bin - cp ${DEPLOY_DIR_IMAGE}/imx8qm_m4_TCM_power_mode_switch_m41.bin \ - ${BOOT_STAGING}/m4_1_image.bin - ;; - mx8x) - cp ${DEPLOY_DIR_IMAGE}/${M4_DEFAULT_IMAGE} ${BOOT_STAGING}/m4_image.bin - ;; - mx8ulp) - cp ${DEPLOY_DIR_IMAGE}/${M4_DEFAULT_IMAGE} ${BOOT_STAGING}/m33_image.bin - ;; - esac + cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}/ + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin + cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin + if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then + cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ${BOOT_STAGING}/u-boot-spl.bin + fi } -compile_mx8ulp() { - bbnote 8ULP boot binary build - cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin - cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin - if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then - cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \ - ${BOOT_STAGING}/u-boot-spl.bin - fi +deploy_mx93() { + install -d ${DEPLOYDIR}/${BOOT_TOOLS} + for ddr_firmware in ${DDR_FIRMWARE_NAME}; do + install -m 0644 ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${DEPLOYDIR}/${BOOT_TOOLS} + done - # Copy SECO F/W and upower.bin - cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}/ - cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/upower.bin ${BOOT_STAGING}/upower.bin + install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} + if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ]; then + install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ${DEPLOYDIR}/${BOOT_TOOLS} + fi } do_deploy:append() { - case ${SOC_FAMILY} in - mx8) - install -m 0644 ${BOOT_STAGING}/m4_image.bin ${DEPLOYDIR}/${BOOT_TOOLS} - install -m 0644 ${BOOT_STAGING}/m4_1_image.bin ${DEPLOYDIR}/${BOOT_TOOLS} - ;; - mx8x) - install -m 0644 ${BOOT_STAGING}/m4_image.bin ${DEPLOYDIR}/${BOOT_TOOLS} - ;; - mx8ulp) - install -m 0644 ${BOOT_STAGING}/m33_image.bin ${DEPLOYDIR}/${BOOT_TOOLS} - ;; - esac - - # Digi: omit this step to avoid build errors - # Append a tag to the bootloader image used in the SD card image - #cp ${DEPLOYDIR}/${BOOT_NAME} ${DEPLOYDIR}/${BOOT_NAME}-tagged - #ln -sf ${BOOT_NAME}-tagged ${DEPLOYDIR}/${BOOT_NAME} - #stat -L -cUUUBURNXXOEUZX7+A-XY5601QQWWZ%sEND ${DEPLOYDIR}/${BOOT_NAME} \ - # >> ${DEPLOYDIR}/${BOOT_NAME} + # DEY install scripts use by default INSTALL_UBOOT_FILENAME="imx-boot-##MACHINE##.bin" + ln -sf ${BOOT_CONFIG_MACHINE}-${IMAGE_IMXBOOT_TARGET} ${DEPLOYDIR}/${BOOT_NAME}-${MACHINE}.bin } -deploy_mx8ulp() { - install -d ${DEPLOYDIR}/${BOOT_TOOLS} - install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} - if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then - install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \ - ${DEPLOYDIR}/${BOOT_TOOLS} - fi -} - -####################### -# Digi customizations # -####################### -inherit boot-artifacts -require dynamic-layers/freescale-layer/recipes-bsp/imx-seco/ccimx8x-seco-fw.inc - -FILESEXTRAPATHS:prepend := "${THISDIR}/files:" - -SRC_URI:append:ccimx8m = " file://0001-imx8m-soc.mak-preserve-dtbs-after-build.patch" - -IMX_EXTRA_FIRMWARE:ccimx8x = "digi-sc-firmware imx-seco" - -IMX_BOOT_SOC_TARGET:mx8mm-nxp-bsp = "iMX8MM" -IMX_BOOT_SOC_TARGET:mx8mn-nxp-bsp = "iMX8MN" -IMX_BOOT_SOC_TARGET:mx8mp-nxp-bsp = "iMX8MP" -IMX_BOOT_SOC_TARGET:mx8x-nxp-bsp = "iMX8QX" - -DEPENDS:append:ccimx8x = " coreutils-native" -DEPENDS:append:mx8-nxp-bsp = " ${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', 'trustfence-sign-tools-native', '', d)}" - -IMX_M4_DEMOS:mx8mm-nxp-bsp = "imx-m4-demos:do_deploy" - -M4_DEFAULT_IMAGE:mx8mm-nxp-bsp = "imx8mm_m4_TCM_hello_world.bin" - -IMX_M7_DEMOS = "" -IMX_M7_DEMOS:mx8mn-nxp-bsp = "imx-m7-demos:do_deploy" - -M7_DEFAULT_IMAGE ?= "m7_image.bin" -M7_DEFAULT_IMAGE:mx8mn-nxp-bsp = "imx8mn_m7_TCM_hello_world.bin" - -do_compile[depends] += " \ - ${IMX_M7_DEMOS} \ -" - -# This package aggregates dependencies with other packages, -# so also define the license dependencies. -do_populate_lic[depends] += " \ - virtual/bootloader:do_populate_lic \ - ${@' '.join('%s:do_populate_lic' % r for r in '${IMX_EXTRA_FIRMWARE}'.split() )} \ - imx-atf:do_populate_lic \ - ${@bb.utils.contains('IMX_M4_DEMOS', 'imx-m4-demos:do_deploy', 'imx-m4-demos:do_populate_lic', '', d)} \ - ${@bb.utils.contains('IMX_M7_DEMOS', 'imx-m7-demos:do_deploy', 'imx-m7-demos:do_populate_lic', '', d)} \ - firmware-imx:do_populate_lic \ -" - -IMXBOOT_TARGETS:ccimx8x = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \ - 'flash flash_regression_linux_m4', d)}" - -IMXBOOT_TARGETS:ccimx8m = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_evk_flexspi', 'flash_spl_uboot', d)}" - -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}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin - for type in ${UBOOT_CONFIG}; do - cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-${type}.bin ${BOOT_STAGING}/ - done - for ramc in ${RAM_CONFIGS}; do - cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME}-${ramc} ${BOOT_STAGING}/ - done -} - -compile_mx8m() { - bbnote 8MQ/8MM/8MN boot binary build - if [ -e ${DEPLOY_DIR_IMAGE}/${M7_DEFAULT_IMAGE} ] ; then - cp ${DEPLOY_DIR_IMAGE}/${M7_DEFAULT_IMAGE} ${BOOT_STAGING}/m7_image.bin - fi - - 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}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \ - ${BOOT_STAGING}/u-boot-spl.bin - cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME} ${BOOT_STAGING} - cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG} \ - ${BOOT_STAGING}/u-boot-nodtb.bin - 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 - # Create dummy DEK blob - if [ "${TRUSTFENCE_DEK_PATH}" != "0" ]; then - dd if=/dev/zero of=${BOOT_STAGING}/dek_blob_fit_dummy.bin bs=96 count=1 oflag=sync - fi -} - -do_compile () { - compile_${SOC_FAMILY} - if ${DEPLOY_OPTEE}; then - cp ${DEPLOY_DIR_IMAGE}/tee.bin ${BOOT_STAGING} - fi - # mkimage for i.MX8 - for type in ${UBOOT_CONFIG}; do - if [ "${IMX_BOOT_SOC_TARGET}" = "iMX8QX" ]; then - RAM_SIZE="$(echo ${type} | sed -e 's,.*[a-z]\+\([0-9]\+[M|G]B\)$,\1,g')" - for ramc in ${RAM_CONFIGS}; do - if echo "${ramc}" | grep -qs "${RAM_SIZE}"; then - # Match U-Boot memory size and and SCFW memory configuration - cd ${BOOT_STAGING} - ln -sf u-boot-${type}.bin u-boot.bin - ln -sf ${SC_FIRMWARE_NAME}-${ramc} scfw_tcm.bin - cd - - for target in ${IMXBOOT_TARGETS}; do - for rev in ${SOC_REVISIONS}; do - bbnote "building ${IMX_BOOT_SOC_TARGET} - ${ramc} - REV=${rev} ${target}" - make SOC=${IMX_BOOT_SOC_TARGET} dtbs=${UBOOT_DTB_NAME} REV=${rev} ${target} > ${S}/mkimage-${target}.log 2>&1 - if [ -e "${BOOT_STAGING}/flash.bin" ]; then - cp ${BOOT_STAGING}/flash.bin ${S}/${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin-${target} - fi - SCFWBUILT="yes" - done - done - rm ${BOOT_STAGING}/scfw_tcm.bin - rm ${BOOT_STAGING}/u-boot.bin - # Remove u-boot-atf.bin and u-boot-hash.bin so they get generated with the next iteration's U-Boot - rm ${BOOT_STAGING}/u-boot-atf.bin - rm ${BOOT_STAGING}/u-boot-hash.bin - fi - done - else - # mkimage for i.MX8M - for target in ${IMXBOOT_TARGETS}; do - bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} ${target}" - make SOC=${IMX_BOOT_SOC_TARGET} dtbs=${UBOOT_DTB_NAME} ${REV_OPTION} ${target} > ${S}/mkimage-${target}.log 2>&1 - if [ -e "${BOOT_STAGING}/flash.bin" ]; then - cp ${BOOT_STAGING}/flash.bin ${S}/${UBOOT_PREFIX}-${MACHINE}.bin-${target} - fi - done - - # Log HAB FIT information - bbnote "building ${IMX_BOOT_SOC_TARGET} - print_fit_hab" - make SOC=${IMX_BOOT_SOC_TARGET} dtbs=${UBOOT_DTB_NAME} print_fit_hab > ${S}/mkimage-print_fit_hab.log 2>&1 - fi - done - - # Check that SCFW was built at least once - if [ "${IMX_BOOT_SOC_TARGET}" = "iMX8QX" and "${SCFWBUILT}" != "yes" ]; then - bbfatal "SCFW was not built!" - fi -} - -# ConnectCore 8M Nano and 8M Mini do not have different binaries -UBOOT_RAM_COMBINATIONS:ccimx8m = "" - -do_install () { - install -d ${D}/boot - if [ "${UBOOT_RAM_COMBINATIONS}" = "" ]; then - for target in ${IMXBOOT_TARGETS}; do - install -m 0644 ${S}/${UBOOT_PREFIX}-${MACHINE}.bin-${target} ${D}/boot/ - done - else - for ramc in ${UBOOT_RAM_COMBINATIONS}; do - for target in ${IMXBOOT_TARGETS}; do - for rev in ${SOC_REVISIONS}; do - install -m 0644 ${S}/${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin-${target} ${D}/boot/ - done - done - done - fi -} - -deploy_mx8m:append() { - if [ -e ${BOOT_STAGING}/m7_image.bin ] ; then - cp ${BOOT_STAGING}/m7_image.bin ${DEPLOYDIR}/${BOOT_TOOLS} - fi -} - -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 makefile (soc.mak) for reference - install -m 0644 ${BOOT_STAGING}/soc.mak ${DEPLOYDIR}/${BOOT_TOOLS} - # copy the generated boot image to deploy path - if [ "${UBOOT_RAM_COMBINATIONS}" = "" ]; then - IMAGE_IMXBOOT_TARGET="" - for target in ${IMXBOOT_TARGETS}; do - # Use first "target" as IMAGE_IMXBOOT_TARGET - if [ "$IMAGE_IMXBOOT_TARGET" = "" ]; then - IMAGE_IMXBOOT_TARGET="$target" - echo "Set boot target as $IMAGE_IMXBOOT_TARGET" - fi - install -m 0644 ${S}/${UBOOT_PREFIX}-${MACHINE}.bin-${target} ${DEPLOYDIR} - # copy make log for reference - install -m 0644 ${S}/mkimage-${target}.log ${DEPLOYDIR}/${BOOT_TOOLS} - done - # copy fit_hab log for reference - install -m 0644 ${S}/mkimage-print_fit_hab.log ${DEPLOYDIR}/${BOOT_TOOLS} - cd ${DEPLOYDIR} - ln -sf ${UBOOT_PREFIX}-${MACHINE}.bin-${IMAGE_IMXBOOT_TARGET} ${UBOOT_PREFIX}-${MACHINE}.bin - # Link to default bootable U-Boot filename. - ln -sf ${UBOOT_PREFIX}-${MACHINE}.bin-${IMAGE_IMXBOOT_TARGET} ${BOOTABLE_FILENAME} - cd - - else - for ramc in ${UBOOT_RAM_COMBINATIONS}; do - for rev in ${SOC_REVISIONS}; do - IMAGE_IMXBOOT_TARGET="" - for target in ${IMXBOOT_TARGETS}; do - # Use first "target" as IMAGE_IMXBOOT_TARGET - if [ "$IMAGE_IMXBOOT_TARGET" = "" ]; then - IMAGE_IMXBOOT_TARGET="$target" - echo "Set boot target as $IMAGE_IMXBOOT_TARGET" - fi - install -m 0644 ${S}/${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin-${target} ${DEPLOYDIR} - # copy make log for reference - install -m 0644 ${S}/mkimage-${target}.log ${DEPLOYDIR}/${BOOT_TOOLS} - done - cd ${DEPLOYDIR} - ln -sf ${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin-${IMAGE_IMXBOOT_TARGET} ${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin - # Link to default bootable U-Boot filename. It gets overwritten - # on every loop so the only last RAM_CONFIG will survive. - ln -sf ${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin-${IMAGE_IMXBOOT_TARGET} ${BOOTABLE_FILENAME} - cd - - done - done - fi - -} - -do_deploy:append () { - if [ "${TRUSTFENCE_SIGN}" = "1" ]; then - export CONFIG_SIGN_KEYS_PATH="${TRUSTFENCE_SIGN_KEYS_PATH}" - [ -n "${TRUSTFENCE_KEY_INDEX}" ] && export CONFIG_KEY_INDEX="${TRUSTFENCE_KEY_INDEX}" - [ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ] && export CONFIG_DEK_PATH="${TRUSTFENCE_DEK_PATH}" - [ -n "${TRUSTFENCE_SIGN_MODE}" ] && export CONFIG_SIGN_MODE="${TRUSTFENCE_SIGN_MODE}" - [ -n "${TRUSTFENCE_SRK_REVOKE_MASK}" ] && export SRK_REVOKE_MASK="${TRUSTFENCE_SRK_REVOKE_MASK}" - [ -n "${TRUSTFENCE_UNLOCK_KEY_REVOCATION}" ] && export CONFIG_UNLOCK_SRK_REVOKE="${TRUSTFENCE_UNLOCK_KEY_REVOCATION}" - - # Sign U-boot image - if [ "${UBOOT_RAM_COMBINATIONS}" = "" ]; then - for target in ${IMXBOOT_TARGETS}; do - # Point to make logs - export CONFIG_MKIMAGE_LOG_PATH="${DEPLOYDIR}/${BOOT_TOOLS}/mkimage-${target}.log" - export CONFIG_FIT_HAB_LOG_PATH="${DEPLOYDIR}/${BOOT_TOOLS}/mkimage-print_fit_hab.log" - trustfence-sign-uboot.sh ${DEPLOYDIR}/${UBOOT_PREFIX}-${MACHINE}.bin-${target} ${DEPLOYDIR}/${UBOOT_PREFIX}-signed-${MACHINE}.bin-${target} - - if [ "${TRUSTFENCE_DEK_PATH}" != "0" ]; then - export ENABLE_ENCRYPTION=y - trustfence-sign-uboot.sh ${DEPLOYDIR}/${UBOOT_PREFIX}-${MACHINE}.bin-${target} ${DEPLOYDIR}/${UBOOT_PREFIX}-encrypted-${MACHINE}.bin-${target} - unset ENABLE_ENCRYPTION - fi - done - else - for ramc in ${UBOOT_RAM_COMBINATIONS}; do - for rev in ${SOC_REVISIONS}; do - for target in ${IMXBOOT_TARGETS}; do - # Point to make log - export CONFIG_MKIMAGE_LOG_PATH="${DEPLOYDIR}/${BOOT_TOOLS}/mkimage-${target}.log" - trustfence-sign-uboot.sh ${DEPLOYDIR}/${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin-${target} ${DEPLOYDIR}/${UBOOT_PREFIX}-signed-${MACHINE}-${rev}-${ramc}.bin-${target} - - if [ "${TRUSTFENCE_DEK_PATH}" != "0" ]; then - export ENABLE_ENCRYPTION=y - trustfence-sign-uboot.sh ${DEPLOYDIR}/${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin-${target} ${DEPLOYDIR}/${UBOOT_PREFIX}-encrypted-${MACHINE}-${rev}-${ramc}.bin-${target} - unset ENABLE_ENCRYPTION - fi - if [ "${SWUPDATE_UBOOTIMG}" = "true" ]; then - if [ "${TRUSTFENCE_DEK_PATH}" != "0" ]; then - ln -sf ${UBOOT_PREFIX}-encrypted-${MACHINE}-${rev}-${ramc}.bin-${IMAGE_IMXBOOT_TARGET} ${BOOTABLE_FILENAME} - elif [ "${TRUSTFENCE_SIGN}" = "1" ]; then - ln -sf ${UBOOT_PREFIX}-signed-${MACHINE}-${rev}-${ramc}.bin-${IMAGE_IMXBOOT_TARGET} ${BOOTABLE_FILENAME} - else - ln -sf ${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin-${IMAGE_IMXBOOT_TARGET} ${BOOTABLE_FILENAME} - fi - fi - done - done - done - fi - - cp ${B}/SRK_efuses.bin ${DEPLOYDIR} - fi -} - -COMPATIBLE_MACHINE = "(ccimx8x|ccimx8m)" +COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)" From 84aaa4e4e6b081efef5f2ac2ead133d401866a7b Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 19 Dec 2022 18:23:51 +0100 Subject: [PATCH 017/144] linux-dey: use branch v5.15.71/nxp/master for NXP based platforms Also enable recipe for ccimx93, and pass the correct DTC flags to create overlays capable DTBs. Signed-off-by: Javier Viguera --- meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb b/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb index abbdfb850..54e4aaba5 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb @@ -10,7 +10,7 @@ DEPENDS += "${@oe.utils.conditional('DEY_BUILD_PLATFORM', 'NXP', 'lzop-native', inherit kernel inherit ${@oe.utils.conditional('DEY_BUILD_PLATFORM', 'NXP', 'fsl-kernel-localversion', '', d)} -SRCBRANCH = "v5.15.52/nxp/master" +SRCBRANCH = "v5.15.71/nxp/master" SRCBRANCH:stm32mpcommon = "v5.15.24/stm/master" SRCREV = "${AUTOREV}" SRCREV:stm32mpcommon = "${AUTOREV}" @@ -45,6 +45,9 @@ do_configure:append() { fi } +# Create base DTB suitable for overlays +KERNEL_DTC_FLAGS += "-@" + KERNEL_EXTRA_ARGS:stm32mpcommon += "LOADADDR=${ST_KERNEL_LOADADDR}" -COMPATIBLE_MACHINE = "(ccimx6ul|ccmp1)" +COMPATIBLE_MACHINE = "(ccimx6ul|ccimx93|ccmp1)" From 54f3aebd2c34884034b0378f961660087ca2fcde Mon Sep 17 00:00:00 2001 From: Francisco Gil Date: Wed, 21 Dec 2022 11:01:08 +0100 Subject: [PATCH 018/144] ccmp13: dey-examples: update the configuration file for ccmp13 Signed-off-by: Francisco Gil --- .../ccmp13-dvk/libdigiapix.conf | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccmp13-dvk/libdigiapix.conf b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccmp13-dvk/libdigiapix.conf index 61f49ddc3..5c1c02435 100644 --- a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccmp13-dvk/libdigiapix.conf +++ b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccmp13-dvk/libdigiapix.conf @@ -3,28 +3,28 @@ model = Digi International ConnectCore MP13 DVK. [GPIO] -# USER LED (ULED) +# USER LED (ULED). USER_LED = GPIOG,0 -# USER BUTTON (USER_1) +# USER BUTTON (USER_1). USER_BUTTON = GPIOA,13 [I2C] -# I2C-2 on I2C board connector. -DEFAULT_I2C_BUS = 1 +# I2C-2 on MikroBus connector J31. +DEFAULT_I2C_BUS = 0 [SPI] -# SPI-5 on SPI board connector. -DEFAULT_SPI = 4,0 +# SPI-4 on MikroBus connector J31. +DEFAULT_SPI = 0,0 [PWM] -# PWM4 on GPIO board connector (pin 11). -# DEFAULT_PWM = 0,0 +# PWM2 on MikroBus connector J31 (pin 1). Set overlay _ov_board_mikroe-pwm_ccmp13-dvk.dtbo +DEFAULT_PWM = 0,0 [ADC] -# ADC1_IN2 on GPIO board connector (pin 13) -# DEFAULT_ADC = 0,2 +# ADC0_IN2 on MikroBus connector J31 (pin 1). + DEFAULT_ADC = 0,2 From d510c9ab724af62e98700f55f819e95f305bdb1c Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Thu, 15 Dec 2022 17:33:10 +0100 Subject: [PATCH 019/144] wayland: update recipes to STM version v22.11.23 Signed-off-by: Mike Engel https://onedigi.atlassian.net/browse/DEL-8235 --- ...get-hdmi-output-with-several-outputs.patch | 6 +- ...seless-code-from-new-Fragment-Shader.patch | 191 ------------------ .../0002-Force-to-close-all-output.patch | 4 +- .../wayland/weston/0003-Disable-gles3.patch | 45 ----- ...uest-to-EGL_DRM_RENDER_NODE_FILE_EXT.patch | 30 +++ ...er-Add-EGL_IMAGE_PRESERVED_KHR-to-ou.patch | 52 ----- ...gl-call-eglSwapInterval-after-eglMak.patch | 40 ++++ .../wayland/weston_10.0.2.bbappend | 6 +- 8 files changed, 78 insertions(+), 296 deletions(-) delete mode 100644 meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0001-Remove-useless-code-from-new-Fragment-Shader.patch delete mode 100644 meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0003-Disable-gles3.patch create mode 100644 meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0004-Disable-request-to-EGL_DRM_RENDER_NODE_FILE_EXT.patch delete mode 100644 meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0004-Revert-gl-renderer-Add-EGL_IMAGE_PRESERVED_KHR-to-ou.patch create mode 100644 meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0005-clients-simple-egl-call-eglSwapInterval-after-eglMak.patch diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0001-Allow-to-get-hdmi-output-with-several-outputs.patch b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0001-Allow-to-get-hdmi-output-with-several-outputs.patch index 192c553fc..dab69288a 100644 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0001-Allow-to-get-hdmi-output-with-several-outputs.patch +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0001-Allow-to-get-hdmi-output-with-several-outputs.patch @@ -1,6 +1,6 @@ From: Christophe Priouzeau Date: Thu, 19 Mar 2020 12:15:19 +0100 -Subject: [PATCH] Allow to get hdmi output with several outputs +Subject: [PATCH 1/4] Allow to get hdmi output with several outputs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -15,7 +15,7 @@ Signed-off-by: Yannick Fertré 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/compositor/main.c b/compositor/main.c -index 322f2ff57b28..055eed3bf7c2 100644 +index 322f2ff..055eed3 100644 --- a/compositor/main.c +++ b/compositor/main.c @@ -2246,8 +2246,14 @@ drm_process_layoutput(struct wet_compositor *wet, struct wet_layoutput *lo) @@ -33,4 +33,4 @@ index 322f2ff57b28..055eed3bf7c2 100644 + //return -1; } } - + diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0001-Remove-useless-code-from-new-Fragment-Shader.patch b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0001-Remove-useless-code-from-new-Fragment-Shader.patch deleted file mode 100644 index f53a0d2cf..000000000 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0001-Remove-useless-code-from-new-Fragment-Shader.patch +++ /dev/null @@ -1,191 +0,0 @@ -From: Pierre-Yves MORDRET -Date: Mon, 23 May 2022 14:27:13 +0200 -Subject: [PATCH] Remove useless code from new Fragment Shader - -Generic Weston 10.0 consumes more GPU than before (8.0). -The compilation doesn't get rid from unreachable code. -Since not used and not optimized during compilation -state, we simply remove the code. - -Change-Id: I37880d5fcb8487c77e084b289db8d2fb945c21ab -Signed-off-by: Pierre-Yves MORDRET ---- - libweston/renderer-gl/fragment.glsl | 110 ++-------------------------- - libweston/renderer-gl/gl-shaders.c | 5 -- - 2 files changed, 5 insertions(+), 110 deletions(-) - -diff --git a/libweston/renderer-gl/fragment.glsl b/libweston/renderer-gl/fragment.glsl -index cfadb8859567..f735ab3a0a44 100644 ---- a/libweston/renderer-gl/fragment.glsl -+++ b/libweston/renderer-gl/fragment.glsl -@@ -42,33 +42,17 @@ - #define SHADER_VARIANT_SOLID 7 - #define SHADER_VARIANT_EXTERNAL 8 - --/* enum gl_shader_color_curve */ --#define SHADER_COLOR_CURVE_IDENTITY 0 --#define SHADER_COLOR_CURVE_LUT_3x1D 1 -- - #if DEF_VARIANT == SHADER_VARIANT_EXTERNAL - #extension GL_OES_EGL_image_external : require - #endif - --#ifdef GL_FRAGMENT_PRECISION_HIGH --#define HIGHPRECISION highp --#else --#define HIGHPRECISION mediump --#endif -- --precision HIGHPRECISION float; -+precision mediump float; - - /* - * These undeclared identifiers will be #defined by a runtime generated code - * snippet. - */ - compile_const int c_variant = DEF_VARIANT; --compile_const bool c_input_is_premult = DEF_INPUT_IS_PREMULT; --compile_const bool c_green_tint = DEF_GREEN_TINT; --compile_const int c_color_pre_curve = DEF_COLOR_PRE_CURVE; -- --compile_const bool c_need_color_pipeline = -- c_color_pre_curve != SHADER_COLOR_CURVE_IDENTITY; - - vec4 - yuva2rgba(vec4 yuva) -@@ -94,6 +78,7 @@ yuva2rgba(vec4 yuva) - color_out.g = Y - 0.39176229 * su - 0.81296764 * sv; - color_out.b = Y + 2.01723214 * su; - -+ color_out.rgb *= yuva.w; - color_out.a = yuva.w; - - return color_out; -@@ -110,8 +95,6 @@ uniform sampler2D tex1; - uniform sampler2D tex2; - uniform float alpha; - uniform vec4 unicolor; --uniform HIGHPRECISION sampler2D color_pre_curve_lut_2d; --uniform HIGHPRECISION vec2 color_pre_curve_lut_scale_offset; - - vec4 - sample_input_texture() -@@ -157,99 +140,16 @@ sample_input_texture() - return yuva2rgba(yuva); - } - --/* -- * Texture coordinates go from 0.0 to 1.0 corresponding to texture edges. -- * When we do LUT look-ups with linear filtering, the correct range to sample -- * from is not from edge to edge, but center of first texel to center of last -- * texel. This follows because with LUTs, you have the exact end points given, -- * you never extrapolate but only interpolate. -- * The scale and offset are precomputed to achieve this mapping. -- */ --float --lut_texcoord(float x, vec2 scale_offset) --{ -- return x * scale_offset.s + scale_offset.t; --} -- --/* -- * Sample a 1D LUT which is a single row of a 2D texture. The 2D texture has -- * four rows so that the centers of texels have precise y-coordinates. -- */ --float --sample_color_pre_curve_lut_2d(float x, compile_const int row) --{ -- float tx = lut_texcoord(x, color_pre_curve_lut_scale_offset); -- -- return texture2D(color_pre_curve_lut_2d, -- vec2(tx, (float(row) + 0.5) / 4.0)).x; --} -- --vec3 --color_pre_curve(vec3 color) --{ -- vec3 ret; -- -- if (c_color_pre_curve == SHADER_COLOR_CURVE_IDENTITY) { -- return color; -- } else if (c_color_pre_curve == SHADER_COLOR_CURVE_LUT_3x1D) { -- ret.r = sample_color_pre_curve_lut_2d(color.r, 0); -- ret.g = sample_color_pre_curve_lut_2d(color.g, 1); -- ret.b = sample_color_pre_curve_lut_2d(color.b, 2); -- return ret; -- } else { -- /* Never reached, bad c_color_pre_curve. */ -- return vec3(1.0, 0.3, 1.0); -- } --} -- --vec4 --color_pipeline(vec4 color) --{ -- color.rgb = color_pre_curve(color.rgb); -- -- return color; --} -- - void - main() - { - vec4 color; - -- /* Electrical (non-linear) RGBA values, may be premult or not */ -+ /* Electrical (non-linear) RGBA values, pre-multiplied */ - color = sample_input_texture(); - -- if (c_need_color_pipeline) { -- /* Ensure straight alpha */ -- if (c_input_is_premult) { -- if (color.a == 0.0) -- color.rgb = vec3(0, 0, 0); -- else -- color.rgb *= 1.0 / color.a; -- } -- -- color = color_pipeline(color); -- -- /* View alpha (opacity) */ -- color.a *= alpha; -- -- /* pre-multiply for blending */ -- color.rgb *= color.a; -- } else { -- /* Fast path for disabled color management */ -- -- if (c_input_is_premult) { -- /* View alpha (opacity) */ -- color *= alpha; -- } else { -- /* View alpha (opacity) */ -- color.a *= alpha; -- /* pre-multiply for blending */ -- color.rgb *= color.a; -- } -- } -- -- if (c_green_tint) -- color = vec4(0.0, 0.3, 0.0, 0.2) + color * 0.8; -+ /* View alpha (opacity) */ -+ color *= alpha; - - gl_FragColor = color; - } -diff --git a/libweston/renderer-gl/gl-shaders.c b/libweston/renderer-gl/gl-shaders.c -index 97f288c07c9e..c8e3d297e29c 100644 ---- a/libweston/renderer-gl/gl-shaders.c -+++ b/libweston/renderer-gl/gl-shaders.c -@@ -263,11 +263,6 @@ gl_shader_create(struct gl_renderer *gr, - shader->alpha_uniform = glGetUniformLocation(shader->program, "alpha"); - shader->color_uniform = glGetUniformLocation(shader->program, - "unicolor"); -- shader->color_pre_curve_lut_2d_uniform = -- glGetUniformLocation(shader->program, "color_pre_curve_lut_2d"); -- shader->color_pre_curve_lut_scale_offset_uniform = -- glGetUniformLocation(shader->program, "color_pre_curve_lut_scale_offset"); -- - free(conf); - - wl_list_insert(&gr->shader_list, &shader->link); diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0002-Force-to-close-all-output.patch b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0002-Force-to-close-all-output.patch index d684f82cc..f2e71c43a 100644 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0002-Force-to-close-all-output.patch +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0002-Force-to-close-all-output.patch @@ -1,6 +1,6 @@ From: Christophe Priouzeau Date: Thu, 19 Mar 2020 12:20:32 +0100 -Subject: [PATCH] Force to close all output +Subject: [PATCH 2/4] Force to close all output MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -14,7 +14,7 @@ Signed-off-by: Yannick Fertré 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compositor/main.c b/compositor/main.c -index 055eed3bf7c2..ac366a01f8e6 100644 +index 055eed3..ac366a0 100644 --- a/compositor/main.c +++ b/compositor/main.c @@ -2322,7 +2322,11 @@ drm_heads_changed(struct wl_listener *listener, void *arg) diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0003-Disable-gles3.patch b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0003-Disable-gles3.patch deleted file mode 100644 index 0034ae8e4..000000000 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0003-Disable-gles3.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Christophe Priouzeau -Date: Tue, 26 Apr 2022 09:59:10 +0200 -Subject: [PATCH] Disable gles3 - -Signed-off-by: Christophe Priouzeau ---- - libweston/renderer-gl/gl-renderer.c | 6 ++++++ - .../renderer-gl/gl-shader-config-color-transformation.c | 5 +++++ - 2 files changed, 11 insertions(+) - -diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c -index a5f5eae44f83..2f7941f942eb 100644 ---- a/libweston/renderer-gl/gl-renderer.c -+++ b/libweston/renderer-gl/gl-renderer.c -@@ -29,7 +29,13 @@ - - #include - #include -+#if 0 - #include -+#else -+#define GL_RGBA16F 0x881A -+#define GL_RGB10_A2 0x8059 -+#define GL_HALF_FLOAT 0x140B -+#endif - - #include - #include -diff --git a/libweston/renderer-gl/gl-shader-config-color-transformation.c b/libweston/renderer-gl/gl-shader-config-color-transformation.c -index 21a4565393fe..d5f249169219 100644 ---- a/libweston/renderer-gl/gl-shader-config-color-transformation.c -+++ b/libweston/renderer-gl/gl-shader-config-color-transformation.c -@@ -25,7 +25,12 @@ - - #include "config.h" - -+#if 0 - #include -+#else -+#include -+#define GL_R32F 0x822E -+#endif - #include - - #include diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0004-Disable-request-to-EGL_DRM_RENDER_NODE_FILE_EXT.patch b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0004-Disable-request-to-EGL_DRM_RENDER_NODE_FILE_EXT.patch new file mode 100644 index 000000000..af56105b0 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0004-Disable-request-to-EGL_DRM_RENDER_NODE_FILE_EXT.patch @@ -0,0 +1,30 @@ +From: Christophe Priouzeau +Date: Thu, 25 Aug 2022 09:34:23 +0200 +Subject: [PATCH 4/4] Disable request to EGL_DRM_RENDER_NODE_FILE_EXT + +Depending on GPU userland implementationn the reqest of EGL_DRM_RENDER_NODE_FILE_EXT +return /dev/dri/renderD128 but this interface are not always present. + +Signed-off-by: Christophe Priouzeau +--- + libweston/renderer-gl/egl-glue.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/libweston/renderer-gl/egl-glue.c b/libweston/renderer-gl/egl-glue.c +index 013172a..46063c5 100644 +--- a/libweston/renderer-gl/egl-glue.c ++++ b/libweston/renderer-gl/egl-glue.c +@@ -480,9 +480,9 @@ gl_renderer_set_egl_device(struct gl_renderer *gr) + gl_renderer_log_extensions("EGL device extensions", extensions); + + /* Try to query the render node using EGL_DRM_RENDER_NODE_FILE_EXT */ +- if (weston_check_egl_extension(extensions, "EGL_EXT_device_drm_render_node")) +- gr->drm_device = gr->query_device_string(gr->egl_device, +- EGL_DRM_RENDER_NODE_FILE_EXT); ++/* if (weston_check_egl_extension(extensions, "EGL_EXT_device_drm_render_node"))*/ ++/* gr->drm_device = gr->query_device_string(gr->egl_device,*/ ++/* EGL_DRM_RENDER_NODE_FILE_EXT);*/ + + /* The extension is not supported by the Mesa version of the system or + * the query failed. Fallback to EGL_DRM_DEVICE_FILE_EXT */ +-- diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0004-Revert-gl-renderer-Add-EGL_IMAGE_PRESERVED_KHR-to-ou.patch b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0004-Revert-gl-renderer-Add-EGL_IMAGE_PRESERVED_KHR-to-ou.patch deleted file mode 100644 index 995b2d6b1..000000000 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0004-Revert-gl-renderer-Add-EGL_IMAGE_PRESERVED_KHR-to-ou.patch +++ /dev/null @@ -1,52 +0,0 @@ -From: Christophe Priouzeau -Date: Fri, 6 May 2022 11:41:10 +0200 -Subject: [PATCH] Revert gl-renderer: Add EGL_IMAGE_PRESERVED_KHR to our - attributes - -Signed-off-by: Christophe Priouzeau ---- - libweston/renderer-gl/gl-renderer.c | 10 +++------- - 1 file changed, 3 insertions(+), 7 deletions(-) - -diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c -index 2f7941f942eb..2ab707c5650d 100644 ---- a/libweston/renderer-gl/gl-renderer.c -+++ b/libweston/renderer-gl/gl-renderer.c -@@ -2152,7 +2152,7 @@ gl_renderer_attach_egl(struct weston_surface *es, struct weston_buffer *buffer, - struct weston_compositor *ec = es->compositor; - struct gl_renderer *gr = get_renderer(ec); - struct gl_surface_state *gs = get_surface_state(es); -- EGLint attribs[5]; -+ EGLint attribs[3]; - GLenum target; - int i, num_planes; - -@@ -2205,9 +2205,7 @@ gl_renderer_attach_egl(struct weston_surface *es, struct weston_buffer *buffer, - for (i = 0; i < num_planes; i++) { - attribs[0] = EGL_WAYLAND_PLANE_WL; - attribs[1] = i; -- attribs[2] = EGL_IMAGE_PRESERVED_KHR; -- attribs[3] = EGL_TRUE; -- attribs[4] = EGL_NONE; -+ attribs[2] = EGL_NONE; - - gs->images[i] = egl_image_create(gr, - EGL_WAYLAND_BUFFER_WL, -@@ -2242,7 +2240,7 @@ import_simple_dmabuf(struct gl_renderer *gr, - struct dmabuf_attributes *attributes) - { - struct egl_image *image; -- EGLint attribs[52]; -+ EGLint attribs[50]; - int atti = 0; - bool has_modifier; - -@@ -2260,8 +2258,6 @@ import_simple_dmabuf(struct gl_renderer *gr, - attribs[atti++] = attributes->height; - attribs[atti++] = EGL_LINUX_DRM_FOURCC_EXT; - attribs[atti++] = attributes->format; -- attribs[atti++] = EGL_IMAGE_PRESERVED_KHR; -- attribs[atti++] = EGL_TRUE; - - if (attributes->modifier[0] != DRM_FORMAT_MOD_INVALID) { - if (!gr->has_dmabuf_import_modifiers) diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0005-clients-simple-egl-call-eglSwapInterval-after-eglMak.patch b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0005-clients-simple-egl-call-eglSwapInterval-after-eglMak.patch new file mode 100644 index 000000000..102269603 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston/0005-clients-simple-egl-call-eglSwapInterval-after-eglMak.patch @@ -0,0 +1,40 @@ +From: Erik Kurzinger +Date: Fri, 12 Aug 2022 08:22:26 -0700 +Subject: [PATCH] clients/simple-egl: call eglSwapInterval after eglMakeCurrent + +If weston-simple-egl is run with the "-b" flag, it will attempt to set +the swap interval to 0 during create_surface. However, at that point, it +will not have made its EGLContext current yet, causing the +eglSwapInterval call to have no effect. To fix this, wait until the +EGLContext has been made current in init_gl before updating the swap +interval. + +Signed-off-by: Erik Kurzinger +--- + clients/simple-egl.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/clients/simple-egl.c b/clients/simple-egl.c +index 2c7059c0..79d296a9 100644 +--- a/clients/simple-egl.c ++++ b/clients/simple-egl.c +@@ -276,6 +276,9 @@ init_gl(struct window *window) + window->egl_surface, window->display->egl.ctx); + assert(ret == EGL_TRUE); + ++ if (!window->frame_sync) ++ eglSwapInterval(window->display->egl.dpy, 0); ++ + frag = create_shader(window, frag_shader_text, GL_FRAGMENT_SHADER); + vert = create_shader(window, vert_shader_text, GL_VERTEX_SHADER); + +@@ -399,9 +402,6 @@ create_surface(struct window *window) + + window->wait_for_configure = true; + wl_surface_commit(window->surface); +- +- if (!window->frame_sync) +- eglSwapInterval(display->egl.dpy, 0); + } + + static void diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston_10.0.2.bbappend b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston_10.0.2.bbappend index d48d6c9dd..9de6ca79c 100644 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston_10.0.2.bbappend +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston_10.0.2.bbappend @@ -3,10 +3,10 @@ FILESEXTRAPATHS:prepend:stm32mpcommon := "${THISDIR}/${PN}:" SRC_URI:append:stm32mpcommon = " \ file://0001-Allow-to-get-hdmi-output-with-several-outputs.patch \ file://0002-Force-to-close-all-output.patch \ - file://0003-Disable-gles3.patch \ - file://0004-Revert-gl-renderer-Add-EGL_IMAGE_PRESERVED_KHR-to-ou.patch \ - file://0001-Remove-useless-code-from-new-Fragment-Shader.patch \ + file://0004-Disable-request-to-EGL_DRM_RENDER_NODE_FILE_EXT.patch \ + file://0005-clients-simple-egl-call-eglSwapInterval-after-eglMak.patch \ " + SIMPLECLIENTS="egl,touch,dmabuf-v4l,dmabuf-egl" PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms wayland egl clients', '', d)} \ From 3919b650f3e77467e8a2703732388106d41286b1 Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Thu, 15 Dec 2022 17:38:31 +0100 Subject: [PATCH 020/144] gstreamer: update recipes to STM version v22.11.23 Signed-off-by: Mike Engel https://onedigi.atlassian.net/browse/DEL-8235 --- ...shm-pool-wrongly-selected-with-some-.patch | 51 +++++++++++++++++++ .../gstreamer1.0-plugins-bad_1.20.%.bbappend | 2 + 2 files changed, 53 insertions(+) create mode 100644 meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0017-waylandsink-fix-shm-pool-wrongly-selected-with-some-.patch diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0017-waylandsink-fix-shm-pool-wrongly-selected-with-some-.patch b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0017-waylandsink-fix-shm-pool-wrongly-selected-with-some-.patch new file mode 100644 index 000000000..14878255e --- /dev/null +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0017-waylandsink-fix-shm-pool-wrongly-selected-with-some-.patch @@ -0,0 +1,51 @@ +From 2eb1cc3d1af83020cfbce5193b1a273078257668 Mon Sep 17 00:00:00 2001 +From: Hugues Fruchet +Date: Tue, 11 Oct 2022 12:26:15 +0200 +Subject: [PATCH] waylandsink: fix shm pool wrongly selected with some + GStreamer elements + +With some GStreamer elements, and depending on their position in +pipeline, propose_allocation() may be called right before set_caps(), +leading to use sink->use_dmabuf while not being set. +Fix this by checking for dmabuf format also in propose_allocation() +instead of relying on sink->use_dmabuf. + +Example of pipeline which underline the problem: +gst-launch-1.0 filesrc location= ! pngdec ! videoconvert ! imagefreeze ! waylandsink +Problem is not reproduced with this pipeline: +gst-launch-1.0 filesrc location= ! pngdec ! imagefreeze ! videoconvert ! waylandsink + +Signed-off-by: Hugues Fruchet +--- + ext/wayland/gstwaylandsink.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c +index 1f68546..3bbb736 100644 +--- a/ext/wayland/gstwaylandsink.c ++++ b/ext/wayland/gstwaylandsink.c +@@ -688,8 +688,20 @@ gst_wayland_sink_propose_allocation (GstBaseSink * bsink, GstQuery * query) + GstAllocator *alloc; + GstCaps *pcaps; + guint config_min_buf, config_max_buf; ++ gboolean use_dmabuf; ++ GstVideoFormat format; ++ ++ format = GST_VIDEO_INFO_FORMAT (&sink->video_info); + +- if (!sink->use_dmabuf) ++ /* Force usage of dmabuf buffer pool by default, ie ++ * even if video/x-raw(memory:DMABuf) is not set in caps. ++ * This allows 0-copy path with software downstream elements ++ * (use of dmabuf buffers mmapped memory directly instead ++ * of copying) ++ */ ++ use_dmabuf = gst_wl_display_check_format_for_dmabuf (sink->display, format); ++ ++ if (!use_dmabuf) + return gst_wayland_sink_propose_shm_allocation(bsink, query); + + /* +-- +2.25.1 + diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.%.bbappend b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.%.bbappend index a092505b3..492211afd 100644 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.%.bbappend +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.%.bbappend @@ -17,6 +17,7 @@ SRC_URI:append = " \ file://0014-waylandsink-add-waylandpool-on-meson-build.patch \ \ file://0016-Add-new-gtkwaylandsink-element.patch \ + file://0017-waylandsink-fix-shm-pool-wrongly-selected-with-some-.patch \ " PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" @@ -31,6 +32,7 @@ PACKAGECONFIG ?= " \ bz2 closedcaption curl dash dtls hls rsvg sbc smoothstreaming sndfile \ ttml uvch264 webp \ kms \ + v4l2codecs \ " do_install:append() { From 385884473ebb80834219b0487ac725ce138c8d32 Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Thu, 15 Dec 2022 20:12:23 +0100 Subject: [PATCH 021/144] linux: update kernel master version Signed-off-by: Mike Engel --- meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb b/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb index 54e4aaba5..3dff70144 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb @@ -11,7 +11,7 @@ inherit kernel inherit ${@oe.utils.conditional('DEY_BUILD_PLATFORM', 'NXP', 'fsl-kernel-localversion', '', d)} SRCBRANCH = "v5.15.71/nxp/master" -SRCBRANCH:stm32mpcommon = "v5.15.24/stm/master" +SRCBRANCH:stm32mpcommon = "v5.15.67/stm/master" SRCREV = "${AUTOREV}" SRCREV:stm32mpcommon = "${AUTOREV}" From 9d40092ce53f0e05cc24ce71b81f2efa0e313e8b Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 21 Dec 2022 13:17:19 +0100 Subject: [PATCH 022/144] meta-digi: rework u-boot support Instead of overriding the whole do_compile function, just to reconfigure u-boot for Trustfence, create a do_configure pre-function that takes care of that. This allows the removal of duplicated code. Also, disable the generation of u-boot environment artifacts. We are not using them and so many u-boot artifacts in the deploy directory are confusing. Finally, adjust the names of the TF u-boot artifacts in the do_deploy append function. Signed-off-by: Javier Viguera --- .../conf/machine/include/digi-defaults.inc | 4 - .../recipes-bsp/u-boot/u-boot-dey.inc | 102 +++--------------- meta-digi-dey/classes/trustfence.bbclass | 24 ++--- 3 files changed, 27 insertions(+), 103 deletions(-) diff --git a/meta-digi-arm/conf/machine/include/digi-defaults.inc b/meta-digi-arm/conf/machine/include/digi-defaults.inc index 20179eeae..d27c3dcfb 100644 --- a/meta-digi-arm/conf/machine/include/digi-defaults.inc +++ b/meta-digi-arm/conf/machine/include/digi-defaults.inc @@ -63,10 +63,6 @@ USE_VT ?= "0" MACHINE_VARIANT ?= "" MACHINEOVERRIDES .= "${@['', ':${MACHINE_VARIANT}']['${MACHINE_VARIANT}' != '']}" -# U-Boot symlink -UBOOT_SYMLINK ?= "${UBOOT_PREFIX}-${MACHINE}.${UBOOT_SUFFIX}" -BOOTABLE_ARTIFACTS ?= "" - # Extra RDEPENDS MACHINE_EXTRA_RDEPENDS += " \ ${@bb.utils.contains("MACHINE_FEATURES", "mca", "mca-tool", "", d)} \ diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc index b0bfe30c4..088eef7a5 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc @@ -32,91 +32,21 @@ BUILD_UBOOT_SCRIPTS ?= "true" BOOTLOADER_IMAGE_RECIPE ?= "u-boot" -LOCALVERSION ?= "" - -EXTRA_OEMAKE:append = " KCFLAGS=-fgnu89-inline" - -UBOOT_EXTRA_CONF ?= "" - -# Use default initial env name so userspace tools work as expected -UBOOT_INITIAL_ENV = "u-boot-initial-env" +# Disable u-boot environment artifacts +UBOOT_INITIAL_ENV = "" python __anonymous() { if (d.getVar("TRUSTFENCE_DEK_PATH", True) not in ["0", None]) and (d.getVar("TRUSTFENCE_SIGN", True) != "1"): bb.fatal("Only signed U-Boot images can be encrypted. Generate signed images (TRUSTFENCE_SIGN = \"1\") or remove encryption (TRUSTFENCE_DEK_PATH = \"0\")") } -do_compile () { - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then - sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' ${S}/config.mk - fi - - unset LDFLAGS - unset CFLAGS - unset CPPFLAGS - - if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ] - then - echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion - echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion - fi - - if [ -n "${UBOOT_CONFIG}" ] - then - unset i j k - for config in ${UBOOT_MACHINE}; do - i=$(expr $i + 1); - for type in ${UBOOT_CONFIG}; do - j=$(expr $j + 1); - if [ $j -eq $i ] - then - oe_runmake -C ${S} O=${B}/${config} ${config} - # Reconfigure U-Boot with Digi UBOOT_EXTRA_CONF - for var in ${UBOOT_EXTRA_CONF}; do - echo "${var}" >> ${B}/${config}/.config - done - oe_runmake -C ${S} O=${B}/${config} oldconfig - - oe_runmake -C ${S} O=${B}/${config} ${UBOOT_MAKE_TARGET} - for binary in ${UBOOT_BINARIES}; do - k=$(expr $k + 1); - if [ $k -eq $i ]; then - cp ${B}/${config}/${binary} ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} - fi - done - - # Generate the uboot-initial-env - if [ -n "${UBOOT_INITIAL_ENV}" ]; then - oe_runmake -C ${S} O=${B}/${config} u-boot-initial-env - cp ${B}/${config}/u-boot-initial-env ${B}/${config}/u-boot-initial-env-${type} - fi - - unset k - - # Secure boot artifacts - if [ "${TRUSTFENCE_SIGN}" = "1" ] && [ "${BOOTLOADER_IMAGE_RECIPE}" = "u-boot" ] - then - cp ${B}/${config}/u-boot-dtb-signed.imx ${B}/${config}/u-boot-dtb-signed-${type}.${UBOOT_SUFFIX} - cp ${B}/${config}/u-boot-dtb-usb-signed.imx ${B}/${config}/u-boot-dtb-usb-signed-${type}.${UBOOT_SUFFIX} - if [ "${TRUSTFENCE_DEK_PATH}" != "0" ] - then - cp ${B}/${config}/u-boot-dtb-encrypted.imx ${B}/${config}/u-boot-dtb-encrypted-${type}.${UBOOT_SUFFIX} - fi - fi - fi - done - unset j - done - unset i - else - oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE} - oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET} - - # Generate the uboot-initial-env - if [ -n "${UBOOT_INITIAL_ENV}" ]; then - oe_runmake -C ${S} O=${B} u-boot-initial-env - fi - fi +do_configure[prefuncs] += "${@oe.utils.ifelse(d.getVar('UBOOT_TF_CONF'), 'trustfence_config', '')}" +python trustfence_config() { + config_path = d.expand('${WORKDIR}/uboot-trustfence.cfg') + with open(config_path, 'w') as f: + for cfg in d.getVar('UBOOT_TF_CONF').split(): + f.write('%s\n' % cfg) + d.appendVar('SRC_URI', ' file://%s' % config_path) } TF_BOOTSCRIPT_SEDFILTER = "${@tf_bootscript_sedfilter(d)}" @@ -186,21 +116,21 @@ do_deploy:append() { then cd ${DEPLOYDIR} rm -r ${UBOOT_BINARY}-${type} - ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} u-boot-${type}.${UBOOT_SUFFIX} + ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} if [ "${TRUSTFENCE_SIGN}" = "1" ] && [ "${BOOTLOADER_IMAGE_RECIPE}" = "u-boot" ]; then install ${B}/${config}/SRK_efuses.bin SRK_efuses-${PV}-${PR}.bin ln -sf SRK_efuses-${PV}-${PR}.bin SRK_efuses.bin - install ${B}/${config}/u-boot-dtb-signed-${type}.${UBOOT_SUFFIX} u-boot-dtb-signed-${type}-${PV}-${PR}.${UBOOT_SUFFIX} - ln -sf u-boot-dtb-signed-${type}-${PV}-${PR}.${UBOOT_SUFFIX} u-boot-dtb-signed-${type}.${UBOOT_SUFFIX} + install ${B}/${config}/${UBOOT_BINARYNAME}-dtb-signed.imx ${UBOOT_BINARYNAME}-dtb-signed-${type}-${PV}-${PR}.${UBOOT_SUFFIX} + ln -sf ${UBOOT_BINARYNAME}-dtb-signed-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARYNAME}-dtb-signed-${type}.${UBOOT_SUFFIX} - install ${B}/${config}/u-boot-dtb-usb-signed-${type}.${UBOOT_SUFFIX} u-boot-dtb-usb-signed-${type}-${PV}-${PR}.${UBOOT_SUFFIX} - ln -sf u-boot-dtb-usb-signed-${type}-${PV}-${PR}.${UBOOT_SUFFIX} u-boot-dtb-usb-signed-${type}.${UBOOT_SUFFIX} + install ${B}/${config}/${UBOOT_BINARYNAME}-dtb-usb-signed.imx ${UBOOT_BINARYNAME}-dtb-usb-signed-${type}-${PV}-${PR}.${UBOOT_SUFFIX} + ln -sf ${UBOOT_BINARYNAME}-dtb-usb-signed-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARYNAME}-dtb-usb-signed-${type}.${UBOOT_SUFFIX} if [ "${TRUSTFENCE_DEK_PATH}" != "0" ] then - install ${B}/${config}/u-boot-dtb-encrypted-${type}.${UBOOT_SUFFIX} u-boot-dtb-encrypted-${type}-${PV}-${PR}.${UBOOT_SUFFIX} - ln -sf u-boot-dtb-encrypted-${type}-${PV}-${PR}.${UBOOT_SUFFIX} u-boot-dtb-encrypted-${type}.${UBOOT_SUFFIX} + install ${B}/${config}/${UBOOT_BINARYNAME}-dtb-encrypted.imx ${UBOOT_BINARYNAME}-dtb-encrypted-${type}-${PV}-${PR}.${UBOOT_SUFFIX} + ln -sf ${UBOOT_BINARYNAME}-dtb-encrypted-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARYNAME}-dtb-encrypted-${type}.${UBOOT_SUFFIX} fi fi fi diff --git a/meta-digi-dey/classes/trustfence.bbclass b/meta-digi-dey/classes/trustfence.bbclass index 1ba821755..e5664d467 100644 --- a/meta-digi-dey/classes/trustfence.bbclass +++ b/meta-digi-dey/classes/trustfence.bbclass @@ -34,8 +34,6 @@ TRUSTFENCE_READ_ONLY_ROOTFS ?= "${@bb.utils.contains("IMAGE_FEATURES", "read-onl IMAGE_FEATURES += "dey-trustfence" -UBOOT_EXTRA_CONF = "" - python () { import binascii import hashlib @@ -43,12 +41,12 @@ python () { # Secure console configuration if (d.getVar("TRUSTFENCE_CONSOLE_DISABLE", True) == "1"): - d.appendVar("UBOOT_EXTRA_CONF", "CONFIG_CONSOLE_DISABLE=y ") + d.appendVar("UBOOT_TF_CONF", "CONFIG_CONSOLE_DISABLE=y ") if d.getVar("TRUSTFENCE_CONSOLE_PASSPHRASE_ENABLE", True): passphrase_hash = hashlib.sha256(d.getVar("TRUSTFENCE_CONSOLE_PASSPHRASE_ENABLE", True).encode()).hexdigest() - d.appendVar("UBOOT_EXTRA_CONF", 'CONFIG_CONSOLE_ENABLE_PASSPHRASE=y CONFIG_CONSOLE_ENABLE_PASSPHRASE_KEY=\\"%s\\" ' % passphrase_hash) + d.appendVar("UBOOT_TF_CONF", 'CONFIG_CONSOLE_ENABLE_PASSPHRASE=y CONFIG_CONSOLE_ENABLE_PASSPHRASE_KEY="%s" ' % passphrase_hash) elif d.getVar("TRUSTFENCE_CONSOLE_GPIO_ENABLE", True): - d.appendVar("UBOOT_EXTRA_CONF", " CONFIG_CONSOLE_ENABLE_GPIO=y CONFIG_CONSOLE_ENABLE_GPIO_NR=%s " % d.getVar("TRUSTFENCE_CONSOLE_GPIO_ENABLE", True)) + d.appendVar("UBOOT_TF_CONF", "CONFIG_CONSOLE_ENABLE_GPIO=y CONFIG_CONSOLE_ENABLE_GPIO_NR=%s " % d.getVar("TRUSTFENCE_CONSOLE_GPIO_ENABLE", True)) # Secure boot configuration if (d.getVar("TRUSTFENCE_SIGN_KEYS_PATH", True) == "default"): @@ -58,21 +56,21 @@ python () { d.setVar("TRUSTFENCE_DEK_PATH", d.getVar("TRUSTFENCE_SIGN_KEYS_PATH", True) + "/dek.bin"); if (d.getVar("TRUSTFENCE_SIGN", True) == "1"): - d.appendVar("UBOOT_EXTRA_CONF", "CONFIG_SIGN_IMAGE=y CONFIG_AUTH_ARTIFACTS=y ") + d.appendVar("UBOOT_TF_CONF", "CONFIG_SIGN_IMAGE=y CONFIG_AUTH_ARTIFACTS=y ") if (d.getVar("TRUSTFENCE_READ_ONLY_ROOTFS", True) == "1"): - d.appendVar("UBOOT_EXTRA_CONF", "CONFIG_AUTHENTICATE_SQUASHFS_ROOTFS=y ") + d.appendVar("UBOOT_TF_CONF", "CONFIG_AUTHENTICATE_SQUASHFS_ROOTFS=y ") if d.getVar("TRUSTFENCE_SIGN_KEYS_PATH", True): - d.appendVar("UBOOT_EXTRA_CONF", 'CONFIG_SIGN_KEYS_PATH=\\"%s\\" ' % d.getVar("TRUSTFENCE_SIGN_KEYS_PATH", True)) + d.appendVar("UBOOT_TF_CONF", 'CONFIG_SIGN_KEYS_PATH="%s" ' % d.getVar("TRUSTFENCE_SIGN_KEYS_PATH", True)) if (d.getVar("TRUSTFENCE_UNLOCK_KEY_REVOCATION", True) == "1"): - d.appendVar("UBOOT_EXTRA_CONF", "CONFIG_UNLOCK_SRK_REVOKE=y ") + d.appendVar("UBOOT_TF_CONF", "CONFIG_UNLOCK_SRK_REVOKE=y ") if d.getVar("TRUSTFENCE_KEY_INDEX", True): - d.appendVar("UBOOT_EXTRA_CONF", "CONFIG_KEY_INDEX=%s " % d.getVar("TRUSTFENCE_KEY_INDEX", True)) + d.appendVar("UBOOT_TF_CONF", "CONFIG_KEY_INDEX=%s " % d.getVar("TRUSTFENCE_KEY_INDEX", True)) if (d.getVar("TRUSTFENCE_DEK_PATH", True) not in [None, "0"]): - d.appendVar("UBOOT_EXTRA_CONF", 'CONFIG_DEK_PATH=\\"%s\\" ' % d.getVar("TRUSTFENCE_DEK_PATH", True)) + d.appendVar("UBOOT_TF_CONF", 'CONFIG_DEK_PATH="%s" ' % d.getVar("TRUSTFENCE_DEK_PATH", True)) if d.getVar("TRUSTFENCE_SIGN_MODE", True): - d.appendVar("UBOOT_EXTRA_CONF", 'CONFIG_SIGN_MODE=\\"%s\\" ' % d.getVar("TRUSTFENCE_SIGN_MODE", True)) + d.appendVar("UBOOT_TF_CONF", 'CONFIG_SIGN_MODE="%s" ' % d.getVar("TRUSTFENCE_SIGN_MODE", True)) if (d.getVar("TRUSTFENCE_ENCRYPT_ENVIRONMENT", True) == "1"): - d.appendVar("UBOOT_EXTRA_CONF", 'CONFIG_ENV_AES=y CONFIG_ENV_AES_CAAM_KEY=y') + d.appendVar("UBOOT_TF_CONF", "CONFIG_ENV_AES=y CONFIG_ENV_AES_CAAM_KEY=y ") # Provide sane default values for SWUPDATE class in case Trustfence is enabled if (d.getVar("TRUSTFENCE_SIGN", True) == "1"): From eeb5ffd4d49191c579ba8d6e3a69026de833f0f4 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 21 Dec 2022 15:48:06 +0100 Subject: [PATCH 023/144] u-boot-dey: rework installation of firmware deploying scripts Rework the "build_uboot_scripts" to prevent changing the templates in the WORKDIR, as those are part of the SRC_URI. Instead, change the deployed scripts by using "sed" and redirection. Also, removed UBOOT_HAS_FASTBOOT altogether, as there is no platform that does not support fastboot. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/ccmp13-dvk.conf | 1 - meta-digi-arm/conf/machine/ccmp15-dvk.conf | 1 - meta-digi-arm/conf/machine/include/ccimx6.inc | 1 - .../conf/machine/include/ccimx6ul.inc | 1 - .../conf/machine/include/ccimx8m.inc | 1 - .../conf/machine/include/ccimx8x.inc | 1 - .../conf/machine/include/ccimx93.inc | 1 - .../recipes-bsp/u-boot/u-boot-dey.inc | 43 ++++++++++--------- 8 files changed, 23 insertions(+), 27 deletions(-) diff --git a/meta-digi-arm/conf/machine/ccmp13-dvk.conf b/meta-digi-arm/conf/machine/ccmp13-dvk.conf index a0454d185..9baf6383a 100644 --- a/meta-digi-arm/conf/machine/ccmp13-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp13-dvk.conf @@ -29,7 +29,6 @@ UBOOT_CONFIG[ccmp13-dvk] = "ccmp13-dvk_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" UBOOT_DTB_NAME = "ccmp13-dvk.dtb" UBOOT_PREFIX = "u-boot" UBOOT_SUFFIX = "bin" -UBOOT_HAS_FASTBOOT = "true" # Set U-Boot FIP settings FIP_UBOOT_DTB = "u-boot" diff --git a/meta-digi-arm/conf/machine/ccmp15-dvk.conf b/meta-digi-arm/conf/machine/ccmp15-dvk.conf index 7f4c01b74..4745613cf 100644 --- a/meta-digi-arm/conf/machine/ccmp15-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp15-dvk.conf @@ -29,7 +29,6 @@ UBOOT_CONFIG[ccmp15-dvk] = "ccmp15-dvk_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" UBOOT_DTB_NAME = "ccmp15-dvk.dtb" UBOOT_PREFIX = "u-boot" UBOOT_SUFFIX = "bin" -UBOOT_HAS_FASTBOOT = "true" # Set U-Boot FIP settings FIP_UBOOT_DTB = "u-boot" diff --git a/meta-digi-arm/conf/machine/include/ccimx6.inc b/meta-digi-arm/conf/machine/include/ccimx6.inc index dca989cfb..08df3421a 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6.inc @@ -11,7 +11,6 @@ include conf/machine/include/arm/armv7a/tune-cortexa9.inc # Platform u-boot settings UBOOT_PREFIX = "u-boot" UBOOT_SUFFIX = "imx" -UBOOT_HAS_FASTBOOT = "true" # Linux kernel configuration KERNEL_DEFCONFIG ?= "arch/arm/configs/ccimx6sbc_defconfig" diff --git a/meta-digi-arm/conf/machine/include/ccimx6ul.inc b/meta-digi-arm/conf/machine/include/ccimx6ul.inc index 6b83e56ed..6825c11ed 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6ul.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6ul.inc @@ -11,7 +11,6 @@ include conf/machine/include/arm/armv7a/tune-cortexa7.inc # Platform u-boot settings UBOOT_PREFIX = "u-boot" UBOOT_SUFFIX = "imx" -UBOOT_HAS_FASTBOOT = "true" STORAGE_MEDIA = "mtd" diff --git a/meta-digi-arm/conf/machine/include/ccimx8m.inc b/meta-digi-arm/conf/machine/include/ccimx8m.inc index 53e41755d..ef5ec1caf 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8m.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8m.inc @@ -8,7 +8,6 @@ require conf/machine/include/arm/armv8a/tune-cortexa53.inc # Platform u-boot settings UBOOT_PREFIX = "imx-boot" UBOOT_SUFFIX = "bin" -UBOOT_HAS_FASTBOOT = "true" # The bootloader image that gets flashed consists of U-Boot and several fw binaries EXTRA_IMAGEDEPENDS += "imx-boot" diff --git a/meta-digi-arm/conf/machine/include/ccimx8x.inc b/meta-digi-arm/conf/machine/include/ccimx8x.inc index c585a5895..dbbf49b54 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8x.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8x.inc @@ -11,7 +11,6 @@ include conf/machine/include/arm/armv8a/tune-cortexa35.inc # Platform u-boot settings UBOOT_PREFIX = "imx-boot" UBOOT_SUFFIX = "bin" -UBOOT_HAS_FASTBOOT = "true" # The bootloader image that gets flashed consists of U-Boot and several fw binaries EXTRA_IMAGEDEPENDS += "imx-boot" diff --git a/meta-digi-arm/conf/machine/include/ccimx93.inc b/meta-digi-arm/conf/machine/include/ccimx93.inc index 816270ab5..238405576 100644 --- a/meta-digi-arm/conf/machine/include/ccimx93.inc +++ b/meta-digi-arm/conf/machine/include/ccimx93.inc @@ -12,7 +12,6 @@ require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc # Platform u-boot settings UBOOT_PREFIX = "u-boot" UBOOT_SUFFIX = "bin" -UBOOT_HAS_FASTBOOT = "true" EXTRA_IMAGEDEPENDS += "imx-boot" BOOTLOADER_IMAGE_RECIPE = "imx-boot" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc index 088eef7a5..013b8f913 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc @@ -19,13 +19,17 @@ UBOOT_URI_STASH = "${DIGI_MTK_GIT}/uboot/u-boot-denx.git;protocol=ssh" UBOOT_URI_GITHUB = "${DIGI_GITHUB_GIT}/u-boot.git;protocol=https" UBOOT_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${UBOOT_URI_STASH}', '${UBOOT_URI_GITHUB}', d)}" +INSTALL_FW_UBOOT_SCRIPTS = " \ + file://install_linux_fw_sd.txt \ + file://install_linux_fw_usb.txt \ + file://install_linux_fw_uuu.sh \ +" + SRC_URI = " \ ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ file://altboot.txt \ file://boot.txt \ - file://install_linux_fw_sd.txt \ - file://install_linux_fw_usb.txt \ - ${@oe.utils.conditional('UBOOT_HAS_FASTBOOT', 'true', 'file://install_linux_fw_uuu.sh', '', d)} \ + ${INSTALL_FW_UBOOT_SCRIPTS} \ " BUILD_UBOOT_SCRIPTS ?= "true" @@ -56,27 +60,27 @@ def tf_bootscript_sedfilter(d): return "s,\(^[[:blank:]]*\)true.*,\\1setenv boot_initrd true\\n\\1setenv initrd_file %s-${MACHINE}.cpio.gz.u-boot.tf,g" % tf_initramfs if tf_initramfs else "" build_uboot_scripts() { - # DEY firmware install scripts - sed -i -e 's,##GRAPHICAL_BACKEND##,${GRAPHICAL_BACKEND},g' ${WORKDIR}/install_linux_fw_sd.txt ${WORKDIR}/install_linux_fw_usb.txt - sed -i -e 's,##MACHINE##,${MACHINE},g' ${WORKDIR}/install_linux_fw_sd.txt ${WORKDIR}/install_linux_fw_usb.txt - sed -i -e 's,##GRAPHICAL_IMAGES##,${GRAPHICAL_IMAGES},g' ${WORKDIR}/install_linux_fw_sd.txt ${WORKDIR}/install_linux_fw_usb.txt - sed -i -e 's,##DEFAULT_IMAGE_NAME##,${DEFAULT_IMAGE_NAME},g' ${WORKDIR}/install_linux_fw_sd.txt ${WORKDIR}/install_linux_fw_usb.txt - mkimage -T script -n "DEY firmware install script" -C none -d ${WORKDIR}/install_linux_fw_sd.txt ${DEPLOYDIR}/install_linux_fw_sd.scr - mkimage -T script -n "DEY firmware install script" -C none -d ${WORKDIR}/install_linux_fw_usb.txt ${DEPLOYDIR}/install_linux_fw_usb.scr - - if [ "${@oe.utils.conditional('UBOOT_HAS_FASTBOOT', 'true', 'true', '', d)}" = "true" ]; then - # DEY firmware install uuu script - sed -i -e 's,##GRAPHICAL_BACKEND##,${GRAPHICAL_BACKEND},g' ${WORKDIR}/install_linux_fw_uuu.sh - sed -i -e 's,##MACHINE##,${MACHINE},g' ${WORKDIR}/install_linux_fw_uuu.sh - sed -i -e 's,##GRAPHICAL_IMAGES##,${GRAPHICAL_IMAGES},g' ${WORKDIR}/install_linux_fw_uuu.sh - sed -i -e 's,##DEFAULT_IMAGE_NAME##,${DEFAULT_IMAGE_NAME},g' ${WORKDIR}/install_linux_fw_uuu.sh - install -m 775 ${WORKDIR}/install_linux_fw_uuu.sh ${DEPLOYDIR}/ - fi + for f in $(echo ${INSTALL_FW_UBOOT_SCRIPTS} | sed -e 's,file\:\/\/,,g'); do + f_ext="${f##*.}" + TMP_INSTALL_SCR="$(mktemp ${WORKDIR}/${f}.XXXXXX)" + sed -e 's,##GRAPHICAL_BACKEND##,${GRAPHICAL_BACKEND},g' \ + -e 's,##MACHINE##,${MACHINE},g' \ + -e 's,##GRAPHICAL_IMAGES##,${GRAPHICAL_IMAGES},g' \ + -e 's,##DEFAULT_IMAGE_NAME##,${DEFAULT_IMAGE_NAME},g' \ + ${WORKDIR}/${f} > ${TMP_INSTALL_SCR} + if [ "${f_ext}" = "txt" ]; then + mkimage -T script -n "DEY firmware install script" -C none -d ${TMP_INSTALL_SCR} ${DEPLOYDIR}/${f%.*}.scr + else + install -m 775 ${TMP_INSTALL_SCR} ${DEPLOYDIR}/${f} + fi + rm -f ${TMP_INSTALL_SCR} + done # Boot script for DEY images (reconfigure on-the-fly if TRUSTFENCE is enabled) TMP_BOOTSCR="$(mktemp ${WORKDIR}/bootscr.XXXXXX)" sed -e "${TF_BOOTSCRIPT_SEDFILTER}" ${WORKDIR}/boot.txt > ${TMP_BOOTSCR} mkimage -T script -n bootscript -C none -d ${TMP_BOOTSCR} ${DEPLOYDIR}/boot.scr + rm -f ${TMP_BOOTSCR} # Alternate boot script for dualboot mkimage -T script -n "Alternate bootscript" -C none -d ${WORKDIR}/altboot.txt ${DEPLOYDIR}/altboot.scr @@ -97,7 +101,6 @@ build_uboot_scripts() { trustfence-sign-artifact.sh -p "${DIGI_FAMILY}" -b "${DEPLOYDIR}/altboot.scr" "${TMP_SIGNED_BOOTSCR}" mv "${TMP_SIGNED_BOOTSCR}" "${DEPLOYDIR}/altboot.scr" fi - rm -f ${TMP_BOOTSCR} } do_deploy:append() { From 9713cbaf130511603577dc6ce30b43abfa98b012 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 21 Dec 2022 15:54:23 +0100 Subject: [PATCH 024/144] u-boot-dey: enable version 2022.04 for ccimx93 Signed-off-by: Javier Viguera --- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2022.04.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2022.04.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2022.04.bb index 2b0cedced..4b2e21d26 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2022.04.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2022.04.bb @@ -8,4 +8,4 @@ DEPENDS += "flex-native bison-native" SRCBRANCH = "v2022.04/master" SRCREV = "${AUTOREV}" -DEFAULT_PREFERENCE = "-1" +COMPATIBLE_MACHINE = "(ccimx93)" From d905428eb30f0e5c251657c3479a43a17a5da5cf Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Thu, 22 Dec 2022 16:14:26 +0100 Subject: [PATCH 025/144] ccimx93: fix some bootable artifact variables For this platform the bootable artifact is imx-boot based, so configure some variables accordingly. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/include/ccimx93.inc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta-digi-arm/conf/machine/include/ccimx93.inc b/meta-digi-arm/conf/machine/include/ccimx93.inc index 238405576..f9dab423b 100644 --- a/meta-digi-arm/conf/machine/include/ccimx93.inc +++ b/meta-digi-arm/conf/machine/include/ccimx93.inc @@ -10,11 +10,14 @@ require conf/machine/include/imx-digi-base.inc require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc # Platform u-boot settings -UBOOT_PREFIX = "u-boot" +UBOOT_PREFIX = "imx-boot" UBOOT_SUFFIX = "bin" +# The bootloader image that gets flashed consists of U-Boot and several fw binaries EXTRA_IMAGEDEPENDS += "imx-boot" BOOTLOADER_IMAGE_RECIPE = "imx-boot" +BOOTABLE_FILENAME = "${UBOOT_PREFIX}-${MACHINE}.bin" +SDIMG_BOOTLOADER = "${DEPLOY_DIR_IMAGE}/${BOOTABLE_FILENAME}" DDR_FIRMWARE_NAME = " \ lpddr4_dmem_1d_v202201.bin \ From 78269acbe0ef0253f2e61ddba78173e0e3d10066 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Thu, 22 Dec 2022 16:15:51 +0100 Subject: [PATCH 026/144] build.sh: add ccimx93-dvk new platform This enables the autobuild of the platform in the buildserver. Signed-off-by: Javier Viguera --- sdk/build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/sdk/build.sh b/sdk/build.sh index 85e84a6a6..59ed93c99 100755 --- a/sdk/build.sh +++ b/sdk/build.sh @@ -170,6 +170,7 @@ done<<-_EOF_ ccimx6ulrftest dey-image-mft-module-rf ccmp15-dvk dey-image-qt,dey-image-crank ccmp13-dvk core-image-base + ccimx93-dvk core-image-base _EOF_ YOCTO_IMGS_DIR="${WORKSPACE}/images" From 345306b94ca10b4dbf93746cf864e7cbd680efef Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Fri, 23 Dec 2022 11:16:15 +0100 Subject: [PATCH 027/144] imx-boot, imx-mkimage: update to version lf-5.15.71-2.2.0 Both recipes (imx-boot and imx-mkimage) use the same source code repository, so update both of them to the new NXP release, by copying with minimal changes the recipes in meta-imx. Also convert the original 'imx-mkimage' recipe, which was only for native class, to a full target, native, nativesdk recipe. We need this to be able to include the nativesdk one in our toolchain. Signed-off-by: Javier Viguera --- ....mak-use-native-mkimage-from-sysroot.patch | 79 +++++++++++++++++++ ...8m-soc.mak-preserve-dtbs-after-build.patch | 15 ++-- .../imx-mkimage/imx-boot_1.0.bbappend | 6 ++ .../imx-mkimage/imx-mkimage_git.bb | 24 ++---- .../imx-mkimage/imx-mkimage_git.bbappend | 12 +++ .../imx-mkimage/imx-mkimage_git.inc | 17 ++-- 6 files changed, 120 insertions(+), 33 deletions(-) create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-mkimage_git.bbappend diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch new file mode 100644 index 000000000..a8b0332d5 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/files/0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch @@ -0,0 +1,79 @@ +From 70b7d067ca0f6659e4f842f8d841714a26bf9d8c Mon Sep 17 00:00:00 2001 +From: Andrey Zhizhikin +Date: Thu, 21 Oct 2021 08:53:38 +0000 +Subject: [PATCH] iMX8M: soc.mak: use native mkimage from sysroot + +mkimage tool is provided as a part of sysroot from Yocto build. Current +implementation on the imx-mkimge on the other hand copies it locally in +order to invoke it from within the build folder. + +Since recent updates, mkimage requires openssl.so to be installed, which +when local copy is used causes the tool not to operate and fails the +build. + +Use it from the build sysroot, and do not pull the local version of it. + +Upstream-Status: Inappropriate [OE-specific] + +Signed-off-by: Andrey Zhizhikin +--- + iMX8M/soc.mak | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +Index: git/iMX8M/soc.mak +=================================================================== +--- git.orig/iMX8M/soc.mak ++++ git/iMX8M/soc.mak +@@ -149,7 +149,7 @@ u-boot.itb: $(dtb) + ./$(PAD_IMAGE) bl31.bin + ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb) + BL32=$(TEE) DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb) > u-boot.its +- ./mkimage_uboot -E -p 0x3000 -f u-boot.its u-boot.itb ++ mkimage -E -p 0x3000 -f u-boot.its u-boot.itb + @rm -f u-boot.its $(dtb) + + dtb_ddr3l = valddr3l.dtb +@@ -161,7 +161,7 @@ u-boot-ddr3l.itb: $(dtb_ddr3l) + ./$(PAD_IMAGE) bl31.bin + ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l) + DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr3l) > u-boot-ddr3l.its +- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr3l.its u-boot-ddr3l.itb ++ mkimage -E -p 0x3000 -f u-boot-ddr3l.its u-boot-ddr3l.itb + @rm -f u-boot.its $(dtb_ddr3l) + + dtb_ddr3l_evk = evkddr3l.dtb +@@ -173,7 +173,7 @@ u-boot-ddr3l-evk.itb: $(dtb_ddr3l_evk) + ./$(PAD_IMAGE) bl31.bin + ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l_evk) + DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr3l_evk) > u-boot-ddr3l-evk.its +- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb ++ mkimage -E -p 0x3000 -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb + @rm -f u-boot.its $(dtb_ddr3l_evk) + + dtb_ddr4 = valddr4.dtb +@@ -185,7 +185,7 @@ u-boot-ddr4.itb: $(dtb_ddr4) + ./$(PAD_IMAGE) bl31.bin + ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4) + DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr4) > u-boot-ddr4.its +- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr4.its u-boot-ddr4.itb ++ mkimage -E -p 0x3000 -f u-boot-ddr4.its u-boot-ddr4.itb + @rm -f u-boot.its $(dtb_ddr4) + + dtb_ddr4_evk = evkddr4.dtb +@@ -197,7 +197,7 @@ u-boot-ddr4-evk.itb: $(dtb_ddr4_evk) + ./$(PAD_IMAGE) bl31.bin + ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4_evk) + DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr4_evk) > u-boot-ddr4-evk.its +- ./mkimage_uboot -E -p 0x3000 -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb ++ mkimage -E -p 0x3000 -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb + @rm -f u-boot.its $(dtb_ddr4_evk) + + ifeq ($(HDMI),yes) +@@ -343,7 +343,6 @@ nightly : + @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/fsl-$(PLAT)-evk.dtb -O fsl-$(PLAT)-evk.dtb + @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/signed_hdmi_imx8m.bin -O signed_hdmi_imx8m.bin + @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/signed_dp_imx8m.bin -O signed_dp_imx8m.bin +- @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/mkimage_uboot -O mkimage_uboot + + archive : + git ls-files --others --exclude-standard -z | xargs -0 tar rvf $(ARCHIVE_PATH)/$(ARCHIVE_NAME) diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/files/0001-imx8m-soc.mak-preserve-dtbs-after-build.patch b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/files/0001-imx8m-soc.mak-preserve-dtbs-after-build.patch index 39fefa350..6a969a1a1 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/files/0001-imx8m-soc.mak-preserve-dtbs-after-build.patch +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/files/0001-imx8m-soc.mak-preserve-dtbs-after-build.patch @@ -16,28 +16,29 @@ Remove the file removal to avoid this. Signed-off-by: Gonzalo Ruiz Signed-off-by: Gabriel Valcazar +Signed-off-by: Javier Viguera --- iMX8M/soc.mak | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak -index 4bfdc37..b6595bc 100644 +index 0a69b7167c5c..4a0cd4e59360 100644 --- a/iMX8M/soc.mak +++ b/iMX8M/soc.mak -@@ -149,7 +149,7 @@ u-boot.itb: $(dtb) +@@ -154,7 +154,7 @@ u-boot.itb: $(dtb) ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb) - DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ./mkimage_fit_atf.sh $(dtb) > u-boot.its - ./mkimage_uboot -E -p 0x3000 -f u-boot.its u-boot.itb + BL32=$(TEE) DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb) > u-boot.its + mkimage -E -p 0x3000 -f u-boot.its u-boot.itb - @rm -f u-boot.its $(dtb) + @rm -f u-boot.its dtb_ddr3l = valddr3l.dtb $(dtb_ddr3l): -@@ -283,7 +283,6 @@ print_fit_hab: u-boot-nodtb.bin bl31.bin $(dtb) +@@ -322,7 +322,6 @@ print_fit_hab: u-boot-nodtb.bin bl31.bin $(dtb) ./$(PAD_IMAGE) bl31.bin ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb) - TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) VERSION=$(VERSION) ./print_fit_hab.sh $(PRINT_FIT_HAB_OFFSET) $(dtb) + TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) VERSION=$(VERSION) ../$(SOC_DIR)/print_fit_hab.sh $(PRINT_FIT_HAB_OFFSET) $(dtb) - @rm -f $(dtb) print_fit_hab_ddr4: u-boot-nodtb.bin bl31.bin $(dtb_ddr4_evk) - ./$(PAD_IMAGE) tee.bin + ./$(PAD_IMAGE) $(TEE) diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend index 951904be4..7573960ef 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend @@ -1,5 +1,11 @@ # Copyright (C) 2022 Digi International +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +SRC_URI:append = " \ + file://0001-imx8m-soc.mak-preserve-dtbs-after-build.patch \ +" + SOC_FAMILY:mx9-nxp-bsp = "mx93" # Do not tag imx-boot diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-mkimage_git.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-mkimage_git.bb index 0fc14d5da..1c43ee744 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-mkimage_git.bb +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-mkimage_git.bb @@ -1,5 +1,5 @@ # Copyright (C) 2016 Freescale Semiconductor -# Copyright 2017-2021 NXP +# Copyright 2017-2022 NXP require imx-mkimage_git.inc @@ -8,28 +8,14 @@ LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" SECTION = "BSP" -SRC_URI:append:ccimx8mn = " file://0001-imx8m-soc.mak-preserve-dtbs-after-build.patch" +EXTRA_OEMAKE = "SOC=iMX8M mkimage_imx8" -# Beware: applied last to first -DEBUG_PREFIX_MAP = "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \ - -fdebug-prefix-map=${STAGING_DIR_HOST}= \ - -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \ -" CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR} -L ${STAGING_LIBDIR}" -do_compile () { - cd ${S} - oe_runmake clean - oe_runmake bin - oe_runmake -C iMX8M -f soc.mak mkimage_imx8 -} - -do_install () { - cd ${S} +do_install() { install -d ${D}${bindir} install -m 0755 iMX8M/mkimage_imx8 ${D}${bindir}/mkimage_imx8m + install -m 0755 iMX8M/mkimage_fit_atf.sh ${D}${bindir}/mkimage_fit_atf.sh + install -m 0755 iMX8M/print_fit_hab.sh ${D}${bindir}/print_fit_hab.sh install -m 0755 mkimage_imx8 ${D}${bindir}/mkimage_imx8 } - -FILES:${PN} = "${bindir}" -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-mkimage_git.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-mkimage_git.bbappend new file mode 100644 index 000000000..d6305ff21 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-mkimage_git.bbappend @@ -0,0 +1,12 @@ +# Copyright (C) 2022 Digi International + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +SRC_URI:append = " \ + file://0001-imx8m-soc.mak-preserve-dtbs-after-build.patch \ +" + +# "fmacro-prefix-map" is not supported on old versions of GCC +DEBUG_PREFIX_MAP:remove:class-nativesdk = "-fmacro-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-mkimage_git.inc b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-mkimage_git.inc index 7beb9a411..94dcb821a 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-mkimage_git.inc +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-mkimage_git.inc @@ -1,11 +1,14 @@ -# Copyright 2017-2021 NXP - -DEPENDS = "zlib-native openssl-native" +# Copyright 2017-2022 NXP + +DEPENDS = "zlib openssl" + +SRC_URI = "${IMX_MKIMAGE_SRC};branch=${SRCBRANCH} \ + file://0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch \ +" +IMX_MKIMAGE_SRC ?= "git://github.com/nxp-imx/imx-mkimage.git;protocol=https" +SRCBRANCH = "lf-5.15.71_2.2.0" +SRCREV = "3bfcfccb71ddf894be9c402732ccb229fe72099e" -SRCBRANCH = "lf-5.10.72_2.2.0" -IMX_MKIMAGE_SRC ?= "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https" -SRC_URI = "${IMX_MKIMAGE_SRC};branch=${SRCBRANCH}" -SRCREV = "7a277c8a1a21ff921d217889dde6a9f84e6d2168" S = "${WORKDIR}/git" BOOT_TOOLS = "imx-boot-tools" From 99cdcae9bb845fe541de1f0cee31a0ef366e950c Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Fri, 23 Dec 2022 11:27:07 +0100 Subject: [PATCH 028/144] ccimx93: add TRUSTFENCE_SIGN_MODE to machine configuration This is needed to build the "nativesdk-trustfence-cst" package. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/include/ccimx93.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-digi-arm/conf/machine/include/ccimx93.inc b/meta-digi-arm/conf/machine/include/ccimx93.inc index f9dab423b..9b28f9ccf 100644 --- a/meta-digi-arm/conf/machine/include/ccimx93.inc +++ b/meta-digi-arm/conf/machine/include/ccimx93.inc @@ -40,6 +40,9 @@ SPL_BINARY = "spl/u-boot-spl.bin" # Set ATF platform name ATF_PLATFORM = "imx93" +# TrustFence +TRUSTFENCE_SIGN_MODE = "AHAB" + IMXBOOT_TARGETS = "flash_singleboot" IMX_BOOT_SOC_TARGET = "iMX9" From c21dac88a6b3f3b249f6d1ff14f9efef03bfd493 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Mon, 2 Jan 2023 16:58:32 +0100 Subject: [PATCH 029/144] uboot: ccmp1: remove deprecated FIP_UBOOT_CONFIG This variable was removed from meta-st-stm32mp so we need to get rid of it in meta-digi, too. Reported-by: Javier Viguera Signed-off-by: Hector Palacios https://onedigi.atlassian.net/browse/DEL-8268 --- meta-digi-arm/classes/boot-artifacts.bbclass | 5 ++--- meta-digi-arm/conf/machine/ccmp13-dvk.conf | 1 - meta-digi-arm/conf/machine/ccmp15-dvk.conf | 1 - meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc | 2 +- 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/meta-digi-arm/classes/boot-artifacts.bbclass b/meta-digi-arm/classes/boot-artifacts.bbclass index 37cf486ed..964f68575 100644 --- a/meta-digi-arm/classes/boot-artifacts.bbclass +++ b/meta-digi-arm/classes/boot-artifacts.bbclass @@ -35,19 +35,18 @@ def get_bootable_artifacts(d): uboot_prefix = d.getVar('UBOOT_PREFIX', True) or "" uboot_suffix = d.getVar('UBOOT_SUFFIX', True) or "" atf_types = d.getVar('TF_A_CONFIG', True) or "" - fip_type = d.getVar('FIP_UBOOT_CONFIG', True) or "" atf_boot_modes = ['nand'] artifacts = [] # For platforms with a FIP artifact, ignore u-boot artifacts - if fip_type != "": + if d.getVar('FIP_UBOOT_DTB') != "": machine = d.getVar('MACHINE', True) or "" # Add ATF artifacts for t in atf_types.split(" "): if t in atf_boot_modes: artifacts.append("arm-trusted-firmware/tf-a-%s-%s.stm32" % (machine, t)) # Add FIP artifact - artifacts.append("fip/fip-%s-%s.bin" % (machine, fip_type)) + artifacts.append("fip/fip-%s.bin" % (machine)) return " ".join(artifacts) # For platforms without RAM_CONFIGS, build the artifacts from UBOOT_CONFIG diff --git a/meta-digi-arm/conf/machine/ccmp13-dvk.conf b/meta-digi-arm/conf/machine/ccmp13-dvk.conf index 9baf6383a..baa634121 100644 --- a/meta-digi-arm/conf/machine/ccmp13-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp13-dvk.conf @@ -32,7 +32,6 @@ UBOOT_SUFFIX = "bin" # Set U-Boot FIP settings FIP_UBOOT_DTB = "u-boot" -FIP_UBOOT_CONFIG = "optee" # ========================================================================= # Machine settings diff --git a/meta-digi-arm/conf/machine/ccmp15-dvk.conf b/meta-digi-arm/conf/machine/ccmp15-dvk.conf index 4745613cf..5690510a2 100644 --- a/meta-digi-arm/conf/machine/ccmp15-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp15-dvk.conf @@ -32,7 +32,6 @@ UBOOT_SUFFIX = "bin" # Set U-Boot FIP settings FIP_UBOOT_DTB = "u-boot" -FIP_UBOOT_CONFIG = "optee" # ========================================================================= # Machine settings diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc index 013b8f913..021ed7796 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc @@ -185,7 +185,7 @@ do_deploy:append:ccimx8m() { do_deploy:append:ccmp1() { # Deploy u-boot-nodtb.bin and ccmp1x-dvk.dtb, to be packaged in fip binary by tf-a install -d ${DEPLOYDIR}/${BOOT_TOOLS} - install -m 0777 ${B}/${config}/arch/arm/dts/${UBOOT_DTB_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/${FIP_UBOOT_DTB}-${FIP_UBOOT_HEADER}-${FIP_UBOOT_CONFIG}.dtb + install -m 0777 ${B}/${config}/arch/arm/dts/${UBOOT_DTB_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/${FIP_UBOOT_DTB}-${FIP_UBOOT_HEADER}.dtb install -m 0777 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin } From 856a4a3c7058dfd4891b870e1378a80d72ad551f Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Mon, 2 Jan 2023 16:59:43 +0100 Subject: [PATCH 030/144] ccmp1: remove existing common settings and move others to include file Signed-off-by: Hector Palacios --- meta-digi-arm/conf/machine/ccmp13-dvk.conf | 5 ----- meta-digi-arm/conf/machine/ccmp15-dvk.conf | 5 ----- meta-digi-arm/conf/machine/include/ccmp1.inc | 2 ++ 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/meta-digi-arm/conf/machine/ccmp13-dvk.conf b/meta-digi-arm/conf/machine/ccmp13-dvk.conf index baa634121..354eebdb5 100644 --- a/meta-digi-arm/conf/machine/ccmp13-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp13-dvk.conf @@ -27,11 +27,6 @@ UBOOT_CONFIG[ccmp13-dvk] = "ccmp13-dvk_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" # Platform U-Boot settings UBOOT_DTB_NAME = "ccmp13-dvk.dtb" -UBOOT_PREFIX = "u-boot" -UBOOT_SUFFIX = "bin" - -# Set U-Boot FIP settings -FIP_UBOOT_DTB = "u-boot" # ========================================================================= # Machine settings diff --git a/meta-digi-arm/conf/machine/ccmp15-dvk.conf b/meta-digi-arm/conf/machine/ccmp15-dvk.conf index 5690510a2..8a76c33a5 100644 --- a/meta-digi-arm/conf/machine/ccmp15-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp15-dvk.conf @@ -27,11 +27,6 @@ UBOOT_CONFIG[ccmp15-dvk] = "ccmp15-dvk_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" # Platform U-Boot settings UBOOT_DTB_NAME = "ccmp15-dvk.dtb" -UBOOT_PREFIX = "u-boot" -UBOOT_SUFFIX = "bin" - -# Set U-Boot FIP settings -FIP_UBOOT_DTB = "u-boot" # ========================================================================= # Machine settings diff --git a/meta-digi-arm/conf/machine/include/ccmp1.inc b/meta-digi-arm/conf/machine/include/ccmp1.inc index ed3ae6a2d..babb10b4f 100644 --- a/meta-digi-arm/conf/machine/include/ccmp1.inc +++ b/meta-digi-arm/conf/machine/include/ccmp1.inc @@ -11,6 +11,8 @@ DIGI_FAMILY = "ccmp1" # Platform u-boot settings UBOOT_PREFIX = "u-boot" UBOOT_SUFFIX = "bin" +# Set U-Boot FIP settings +FIP_UBOOT_DTB = "u-boot" STORAGE_MEDIA = "mtd" From 14177280984a06c7be9f95937ed83cf8afb2c0f8 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Thu, 22 Dec 2022 17:10:44 +0100 Subject: [PATCH 031/144] busybox: merge standby related files The following files were duplicated across platforms but were identical or almost identical. Only used on SysVinit (currently only by default on the CC6UL). - standby - acpid.map Only used on SystemD - standby-actions Notes: - The triggering of udev actions are harmless if the interfaces don't exist. - The value of KEY_POWER on acpid.map for CC6/CC6Plus was originally 0 instead of 1, but this file is not currently used in systemd. Signed-off-by: Hector Palacios --- .../recipes-core/busybox/busybox/acpid.map | 2 +- .../busybox/busybox/ccimx6qpsbc/standby | 116 ------------------ .../busybox/ccimx6qpsbc/standby-actions | 64 ---------- .../busybox/busybox/ccimx6sbc/standby-actions | 66 ---------- .../busybox/busybox/ccimx6ul/acpid.map | 3 - .../busybox/busybox/ccimx6ul/standby | 116 ------------------ .../busybox/busybox/ccimx6ul/standby-actions | 64 ---------- .../busybox/busybox/ccimx8m/acpid.map | 3 - .../busybox/busybox/ccimx8m/standby | 116 ------------------ .../busybox/busybox/ccimx8m/standby-actions | 83 ------------- .../busybox/busybox/ccimx8x/acpid.map | 3 - .../busybox/busybox/ccimx8x/standby | 116 ------------------ .../busybox/busybox/ccimx93/acpid.map | 3 - .../busybox/busybox/ccimx93/standby | 116 ------------------ .../busybox/busybox/ccimx93/standby-actions | 83 ------------- .../busybox/busybox/ccmp1/standby | 116 ------------------ .../busybox/busybox/ccmp1/standby-actions | 64 ---------- .../busybox/busybox/{ccimx6sbc => }/standby | 3 +- .../busybox/{ccimx8x => }/standby-actions | 5 +- 19 files changed, 7 insertions(+), 1135 deletions(-) delete mode 100755 meta-digi-dey/recipes-core/busybox/busybox/ccimx6qpsbc/standby delete mode 100644 meta-digi-dey/recipes-core/busybox/busybox/ccimx6qpsbc/standby-actions delete mode 100644 meta-digi-dey/recipes-core/busybox/busybox/ccimx6sbc/standby-actions delete mode 100644 meta-digi-dey/recipes-core/busybox/busybox/ccimx6ul/acpid.map delete mode 100755 meta-digi-dey/recipes-core/busybox/busybox/ccimx6ul/standby delete mode 100644 meta-digi-dey/recipes-core/busybox/busybox/ccimx6ul/standby-actions delete mode 100644 meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/acpid.map delete mode 100755 meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/standby delete mode 100644 meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/standby-actions delete mode 100644 meta-digi-dey/recipes-core/busybox/busybox/ccimx8x/acpid.map delete mode 100755 meta-digi-dey/recipes-core/busybox/busybox/ccimx8x/standby delete mode 100644 meta-digi-dey/recipes-core/busybox/busybox/ccimx93/acpid.map delete mode 100755 meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby delete mode 100644 meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby-actions delete mode 100755 meta-digi-dey/recipes-core/busybox/busybox/ccmp1/standby delete mode 100644 meta-digi-dey/recipes-core/busybox/busybox/ccmp1/standby-actions rename meta-digi-dey/recipes-core/busybox/busybox/{ccimx6sbc => }/standby (95%) rename meta-digi-dey/recipes-core/busybox/busybox/{ccimx8x => }/standby-actions (89%) diff --git a/meta-digi-dey/recipes-core/busybox/busybox/acpid.map b/meta-digi-dey/recipes-core/busybox/busybox/acpid.map index a7099c9d7..f3940541e 100644 --- a/meta-digi-dey/recipes-core/busybox/busybox/acpid.map +++ b/meta-digi-dey/recipes-core/busybox/busybox/acpid.map @@ -1,3 +1,3 @@ #s_type n_type(hex) s_code n_code value description EV_KEY 0x01 KEY_SLEEP 142 1 pswitch-standby -EV_KEY 0x01 KEY_POWER 116 0 pswitch-poweroff +EV_KEY 0x01 KEY_POWER 116 1 pswitch-poweroff diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx6qpsbc/standby b/meta-digi-dey/recipes-core/busybox/busybox/ccimx6qpsbc/standby deleted file mode 100755 index e6d8a31a5..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx6qpsbc/standby +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/sh -#=============================================================================== -# -# standby -# -# Copyright (C) 2017-2019 by Digi International Inc. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# -# !Description: suspend system to RAM -# -#=============================================================================== - -scriptname="$(basename $(readlink -f ${0}))" -syspower="/sys/power/state" -lockfile="/var/lock/${scriptname}.lock" -lockfd="9" - -BT_INIT="/etc/init.d/bluetooth-init" -BT_DAEMON="/etc/init.d/bluetooth" -NM_DAEMON="/etc/init.d/networkmanager" - -usage() { - printf "\nSuspend system to RAM memory\n" - printf "\nUsage: ${scriptname} [OPTIONS]\n - -h Show this help - \n" -} - -suspend_interfaces() { - # Stop NetworkManager before suspend - ${NM_DAEMON} stop - - # Suspend wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do - ifdown "${i}" && RESUME_IFACES="${RESUME_IFACES:+${RESUME_IFACES} }${i}" - done - grep -qs '^wlan' /proc/modules && rmmod wlan - fi - - # Suspend bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - hciconfig hci0 2>&1 | grep -qs UP && up_bt_on_resume="1" - ${BT_DAEMON} stop >/dev/null - ${BT_INIT} stop >/dev/null - fi -} - -resume_interfaces() { - # Resume wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - # Trigger wireless module loading event, and wait until the interface exists - udevadm trigger --action=add --attr-match="modalias=sdio:c00v0271d050A" - timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null - - # Bring up the interfaces that were bring down on suspend - for i in $(echo ${RESUME_IFACES} | tr ' ' '\n' | sort); do - grep -qs "^${i}" /var/run/ifstate || ifup "${i}" - done - fi - - # Resume bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - if [ -n "${up_bt_on_resume}" ]; then - ${BT_INIT} start >/dev/null - ${BT_DAEMON} start >/dev/null - fi - fi - - # Resume NetworkManager after suspend - ${NM_DAEMON} start -} - -enter_critical_section() { - # Create lock file - eval "exec ${lockfd}>${lockfile}" - - # Acquire the lock in non blocking mode. Otherwise, additional calls - # to the script will be queued and the system will endlessly go in - # and out of suspend to ram - flock -n "${lockfd}" || exit 0 -} - -exit_critical_section() { - # Release the lock - flock -u "${lockfd}" -} - -while getopts "h" c; do - case "${c}" in - h) usage; exit;; - esac -done - -if [ -f "${syspower}" ]; then - # Avoid running multiple instances of this script in parallel - enter_critical_section - - # Pre-suspend actions - suspend_interfaces - - # Suspend the device - printf "mem" > ${syspower} - - # Post-resume actions - resume_interfaces - - exit_critical_section -else - printf "\n[ERROR] File ${syspower} not found\n\n" -fi diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx6qpsbc/standby-actions b/meta-digi-dey/recipes-core/busybox/busybox/ccimx6qpsbc/standby-actions deleted file mode 100644 index 0099a53aa..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx6qpsbc/standby-actions +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -#=============================================================================== -# -# standby-actions -# -# Copyright (C) 2019 by Digi International Inc. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# -# !Description: manage interfaces before suspending and after resuming from -# suspend -# -#=============================================================================== - -if [ "${1}" == "pre" ]; then - # Stop NetworkManager before suspend - systemctl stop NetworkManager - - # Suspend wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do - ifdown "${i}" && RESUME_IFACES="${RESUME_IFACES:+${RESUME_IFACES} }${i}" - done - - echo ${RESUME_IFACES} > /tmp/suspend_wlan_ifaces - grep -qs '^wlan' /proc/modules && rmmod wlan - fi - - # Suspend bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - hciconfig hci0 2>&1 | grep -qs UP && touch /tmp/up_bt_on_resume - systemctl stop bluetooth - systemctl stop bluetooth-init - fi -elif [ "${1}" == "post" ]; then - # Resume wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - # Trigger wireless module loading event, and wait until the interface exists - udevadm trigger --action=add --attr-match="modalias=sdio:c00v0271d050A" - timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null - - # Bring up the interfaces that were brought down on suspend - for i in $(cat /tmp/suspend_wlan_ifaces | tr ' ' '\n' | sort); do - grep -qs "^${i}" /var/run/ifstate || ifup "${i}" - done - rm -f /tmp/suspend_wlan_ifaces - fi - - # Resume NetworkManager after suspend - systemctl start NetworkManager - - # Resume bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - if [ -e "/tmp/up_bt_on_resume" ]; then - systemctl start bluetooth-init - systemctl start bluetooth - rm -f /tmp/up_bt_on_resume - fi - fi -fi diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx6sbc/standby-actions b/meta-digi-dey/recipes-core/busybox/busybox/ccimx6sbc/standby-actions deleted file mode 100644 index 0cc258048..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx6sbc/standby-actions +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -#=============================================================================== -# -# standby-actions -# -# Copyright (C) 2019-2021 by Digi International Inc. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# -# !Description: manage interfaces before suspending and after resuming from -# suspend -# -#=============================================================================== - -if [ "${1}" == "pre" ]; then - # Stop NetworkManager before suspend - systemctl stop NetworkManager - - # Suspend wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do - ifdown "${i}" && RESUME_IFACES="${RESUME_IFACES:+${RESUME_IFACES} }${i}" - done - - echo ${RESUME_IFACES} > /tmp/suspend_wlan_ifaces - [ -e /sys/module/ath6kl_sdio ] && rmmod ath6kl_sdio ath6kl_core && echo "301" > /tmp/suspend_wlan_device_id - [ -e /sys/module/wlan ] && rmmod wlan && echo "50A" > /tmp/suspend_wlan_device_id - fi - - # Suspend bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - hciconfig hci0 2>&1 | grep -qs UP && touch /tmp/up_bt_on_resume - systemctl stop bluetooth - systemctl stop bluetooth-init - fi -elif [ "${1}" == "post" ]; then - # Resume wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - # Trigger wireless module loading event, and wait until the interface exists - udevadm trigger --action=add --attr-match="modalias=sdio:c00v0271d0$(cat /tmp/suspend_wlan_device_id)" - rm -rf /tmp/suspend_wlan_driver - timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null - - # Bring up the interfaces that were brought down on suspend - for i in $(cat /tmp/suspend_wlan_ifaces | tr ' ' '\n' | sort); do - grep -qs "^${i}" /var/run/ifstate || ifup "${i}" - done - rm -f /tmp/suspend_wlan_ifaces - fi - - # Resume NetworkManager after suspend - systemctl start NetworkManager - - # Resume bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - if [ -e "/tmp/up_bt_on_resume" ]; then - systemctl start bluetooth-init - systemctl start bluetooth - rm -f /tmp/up_bt_on_resume - fi - fi -fi diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx6ul/acpid.map b/meta-digi-dey/recipes-core/busybox/busybox/ccimx6ul/acpid.map deleted file mode 100644 index f3940541e..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx6ul/acpid.map +++ /dev/null @@ -1,3 +0,0 @@ -#s_type n_type(hex) s_code n_code value description -EV_KEY 0x01 KEY_SLEEP 142 1 pswitch-standby -EV_KEY 0x01 KEY_POWER 116 1 pswitch-poweroff diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx6ul/standby b/meta-digi-dey/recipes-core/busybox/busybox/ccimx6ul/standby deleted file mode 100755 index 1f1c9efb1..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx6ul/standby +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/sh -#=============================================================================== -# -# standby -# -# Copyright (C) 2016-2018 by Digi International Inc. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# -# !Description: suspend system to RAM -# -#=============================================================================== - -scriptname="$(basename $(readlink -f ${0}))" -syspower="/sys/power/state" -lockfile="/var/lock/${scriptname}.lock" -lockfd="9" - -BT_INIT="/etc/init.d/bluetooth-init" -BT_DAEMON="/etc/init.d/bluetooth" -NM_DAEMON="/etc/init.d/networkmanager" - -usage() { - printf "\nSuspend system to RAM memory\n" - printf "\nUsage: ${scriptname} [OPTIONS]\n - -h Show this help - \n" -} - -suspend_interfaces() { - # Stop NetworkManager before suspend - ${NM_DAEMON} stop - - # Suspend wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do - ifdown "${i}" && RESUME_IFACES="${RESUME_IFACES:+${RESUME_IFACES} }${i}" - done - grep -qs '^wlan' /proc/modules && rmmod wlan - fi - - # Suspend bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - hciconfig hci0 2>&1 | grep -qs UP && up_bt_on_resume="1" - ${BT_DAEMON} stop >/dev/null - ${BT_INIT} stop >/dev/null - fi -} - -resume_interfaces() { - # Resume wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - # Trigger wireless module loading event, and wait until the interface exists - udevadm trigger --action=add --attr-match="modalias=sdio:c00v0271d050A" - timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null - - # Bring up the interfaces that were bring down on suspend - for i in $(echo ${RESUME_IFACES} | tr ' ' '\n' | sort); do - grep -qs "^${i}" /var/run/ifstate || ifup "${i}" - done - fi - - # Resume bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - if [ -n "${up_bt_on_resume}" ]; then - ${BT_INIT} start >/dev/null - ${BT_DAEMON} start >/dev/null - fi - fi - - # Resume NetworkManager after suspend - ${NM_DAEMON} start -} - -enter_critical_section() { - # Create lock file - eval "exec ${lockfd}>${lockfile}" - - # Acquire the lock in non blocking mode. Otherwise, additional calls - # to the script will be queued and the system will endlessly go in - # and out of suspend to ram - flock -n "${lockfd}" || exit 0 -} - -exit_critical_section() { - # Release the lock - flock -u "${lockfd}" -} - -while getopts "h" c; do - case "${c}" in - h) usage; exit;; - esac -done - -if [ -f "${syspower}" ]; then - # Avoid running multiple instances of this script in parallel - enter_critical_section - - # Pre-suspend actions - suspend_interfaces - - # Suspend the device - printf "mem" > ${syspower} - - # Post-resume actions - resume_interfaces - - exit_critical_section -else - printf "\n[ERROR] File ${syspower} not found\n\n" -fi diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx6ul/standby-actions b/meta-digi-dey/recipes-core/busybox/busybox/ccimx6ul/standby-actions deleted file mode 100644 index 0099a53aa..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx6ul/standby-actions +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -#=============================================================================== -# -# standby-actions -# -# Copyright (C) 2019 by Digi International Inc. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# -# !Description: manage interfaces before suspending and after resuming from -# suspend -# -#=============================================================================== - -if [ "${1}" == "pre" ]; then - # Stop NetworkManager before suspend - systemctl stop NetworkManager - - # Suspend wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do - ifdown "${i}" && RESUME_IFACES="${RESUME_IFACES:+${RESUME_IFACES} }${i}" - done - - echo ${RESUME_IFACES} > /tmp/suspend_wlan_ifaces - grep -qs '^wlan' /proc/modules && rmmod wlan - fi - - # Suspend bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - hciconfig hci0 2>&1 | grep -qs UP && touch /tmp/up_bt_on_resume - systemctl stop bluetooth - systemctl stop bluetooth-init - fi -elif [ "${1}" == "post" ]; then - # Resume wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - # Trigger wireless module loading event, and wait until the interface exists - udevadm trigger --action=add --attr-match="modalias=sdio:c00v0271d050A" - timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null - - # Bring up the interfaces that were brought down on suspend - for i in $(cat /tmp/suspend_wlan_ifaces | tr ' ' '\n' | sort); do - grep -qs "^${i}" /var/run/ifstate || ifup "${i}" - done - rm -f /tmp/suspend_wlan_ifaces - fi - - # Resume NetworkManager after suspend - systemctl start NetworkManager - - # Resume bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - if [ -e "/tmp/up_bt_on_resume" ]; then - systemctl start bluetooth-init - systemctl start bluetooth - rm -f /tmp/up_bt_on_resume - fi - fi -fi diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/acpid.map b/meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/acpid.map deleted file mode 100644 index f3940541e..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/acpid.map +++ /dev/null @@ -1,3 +0,0 @@ -#s_type n_type(hex) s_code n_code value description -EV_KEY 0x01 KEY_SLEEP 142 1 pswitch-standby -EV_KEY 0x01 KEY_POWER 116 1 pswitch-poweroff diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/standby b/meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/standby deleted file mode 100755 index b5b47210d..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/standby +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/sh -#=============================================================================== -# -# standby -# -# Copyright (C) 2020 by Digi International Inc. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# -# !Description: suspend system to RAM -# -#=============================================================================== - -scriptname="$(basename $(readlink -f ${0}))" -syspower="/sys/power/state" -lockfile="/var/lock/${scriptname}.lock" -lockfd="9" - -BT_INIT="/etc/init.d/bluetooth-init" -BT_DAEMON="/etc/init.d/bluetooth" -NM_DAEMON="/etc/init.d/networkmanager" - -usage() { - printf "\nSuspend system to RAM memory\n" - printf "\nUsage: ${scriptname} [OPTIONS]\n - -h Show this help - \n" -} - -suspend_interfaces() { - # Stop NetworkManager before suspend - ${NM_DAEMON} stop - - # Suspend wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do - ifdown "${i}" && RESUME_IFACES="${RESUME_IFACES:+${RESUME_IFACES} }${i}" - done - grep -qs '^wlan' /proc/modules && rmmod wlan - fi - - # Suspend bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - hciconfig hci0 2>&1 | grep -qs UP && up_bt_on_resume="1" - ${BT_DAEMON} stop >/dev/null - ${BT_INIT} stop >/dev/null - fi -} - -resume_interfaces() { - # Resume wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - # Trigger wireless module loading event, and wait until the interface exists - udevadm trigger --action=add --attr-match="modalias=sdio:c00v0271d050A" - timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null - - # Bring up the interfaces that were bring down on suspend - for i in $(echo ${RESUME_IFACES} | tr ' ' '\n' | sort); do - grep -qs "^${i}" /var/run/ifstate || ifup "${i}" - done - fi - - # Resume bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - if [ -n "${up_bt_on_resume}" ]; then - ${BT_INIT} start >/dev/null - ${BT_DAEMON} start >/dev/null - fi - fi - - # Resume NetworkManager after suspend - ${NM_DAEMON} start -} - -enter_critical_section() { - # Create lock file - eval "exec ${lockfd}>${lockfile}" - - # Acquire the lock in non blocking mode. Otherwise, additional calls - # to the script will be queued and the system will endlessly go in - # and out of suspend to ram - flock -n "${lockfd}" || exit 0 -} - -exit_critical_section() { - # Release the lock - flock -u "${lockfd}" -} - -while getopts "h" c; do - case "${c}" in - h) usage; exit;; - esac -done - -if [ -f "${syspower}" ]; then - # Avoid running multiple instances of this script in parallel - enter_critical_section - - # Pre-suspend actions - suspend_interfaces - - # Suspend the device - printf "mem" > ${syspower} - - # Post-resume actions - resume_interfaces - - exit_critical_section -else - printf "\n[ERROR] File ${syspower} not found\n\n" -fi diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/standby-actions b/meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/standby-actions deleted file mode 100644 index 8d564dc37..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/standby-actions +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/sh -#=============================================================================== -# -# standby-actions -# -# Copyright (C) 2020 by Digi International Inc. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# -# !Description: manage interfaces before suspending and after resuming from -# suspend -# -#=============================================================================== - -if [ "${1}" == "pre" ]; then - # Stop NetworkManager before suspend - systemctl stop NetworkManager - - # Suspend wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do - ifdown "${i}" && RESUME_IFACES="${RESUME_IFACES:+${RESUME_IFACES} }${i}" - done - - echo ${RESUME_IFACES} > /tmp/suspend_wlan_ifaces - grep -qs '^wlan' /proc/modules && rmmod wlan - fi - - # Suspend bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - hciconfig hci0 2>&1 | grep -qs UP && touch /tmp/up_bt_on_resume - systemctl stop bluetooth - systemctl stop bluetooth-init - fi - - # Configure Power LED for blinking in standby - if [ -d "/sys/class/leds/power:green" ]; then - # Configure LED for blinking - echo timer > /sys/class/leds/power\:green/trigger - # Turn LED on at max brightness - echo 19 > /sys/class/leds/power\:green/brightness - # Configure blinking timings - echo 100 > /sys/class/leds/power\:green/delay_on - echo 1000 > /sys/class/leds/power\:green/delay_off - fi -elif [ "${1}" == "post" ]; then - # Resume wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - # Trigger wireless module loading event, and wait until the interface exists - udevadm trigger --action=add --attr-match="modalias=sdio:c00v0271d050A" - timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null - - # Bring up the interfaces that were brought down on suspend - for i in $(cat /tmp/suspend_wlan_ifaces | tr ' ' '\n' | sort); do - grep -qs "^${i}" /var/run/ifstate || ifup "${i}" - done - rm -f /tmp/suspend_wlan_ifaces - fi - - # Resume NetworkManager after suspend - systemctl start NetworkManager - - # Resume bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - if [ -e "/tmp/up_bt_on_resume" ]; then - systemctl start bluetooth-init - systemctl start bluetooth - rm -f /tmp/up_bt_on_resume - fi - fi - - # Configure Power LED solid on after resume - if [ -d "/sys/class/leds/power:green" ]; then - # Reset LED settings by writing 0 to brigtness descriptor - echo 0 > /sys/class/leds/power\:green/brightness - # Turn LED on at max brightness - echo 19 > /sys/class/leds/power\:green/brightness - fi -fi diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx8x/acpid.map b/meta-digi-dey/recipes-core/busybox/busybox/ccimx8x/acpid.map deleted file mode 100644 index f3940541e..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx8x/acpid.map +++ /dev/null @@ -1,3 +0,0 @@ -#s_type n_type(hex) s_code n_code value description -EV_KEY 0x01 KEY_SLEEP 142 1 pswitch-standby -EV_KEY 0x01 KEY_POWER 116 1 pswitch-poweroff diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx8x/standby b/meta-digi-dey/recipes-core/busybox/busybox/ccimx8x/standby deleted file mode 100755 index 6d369e54a..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx8x/standby +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/sh -#=============================================================================== -# -# standby -# -# Copyright (C) 2018,2019 by Digi International Inc. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# -# !Description: suspend system to RAM -# -#=============================================================================== - -scriptname="$(basename $(readlink -f ${0}))" -syspower="/sys/power/state" -lockfile="/var/lock/${scriptname}.lock" -lockfd="9" - -BT_INIT="/etc/init.d/bluetooth-init" -BT_DAEMON="/etc/init.d/bluetooth" -NM_DAEMON="/etc/init.d/networkmanager" - -usage() { - printf "\nSuspend system to RAM memory\n" - printf "\nUsage: ${scriptname} [OPTIONS]\n - -h Show this help - \n" -} - -suspend_interfaces() { - # Stop NetworkManager before suspend - ${NM_DAEMON} stop - - # Suspend wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do - ifdown "${i}" && RESUME_IFACES="${RESUME_IFACES:+${RESUME_IFACES} }${i}" - done - grep -qs '^wlan' /proc/modules && rmmod wlan - fi - - # Suspend bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - hciconfig hci0 2>&1 | grep -qs UP && up_bt_on_resume="1" - ${BT_DAEMON} stop >/dev/null - ${BT_INIT} stop >/dev/null - fi -} - -resume_interfaces() { - # Resume wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - # Trigger wireless module loading event, and wait until the interface exists - udevadm trigger --action=add --attr-match="modalias=pci:v0000168Cd0000003Esv*sd*bc*sc*i*" - timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null - - # Bring up the interfaces that were bring down on suspend - for i in $(echo ${RESUME_IFACES} | tr ' ' '\n' | sort); do - grep -qs "^${i}" /var/run/ifstate || ifup "${i}" - done - fi - - # Resume bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - if [ -n "${up_bt_on_resume}" ]; then - ${BT_INIT} start >/dev/null - ${BT_DAEMON} start >/dev/null - fi - fi - - # Resume NetworkManager after suspend - ${NM_DAEMON} start -} - -enter_critical_section() { - # Create lock file - eval "exec ${lockfd}>${lockfile}" - - # Acquire the lock in non blocking mode. Otherwise, additional calls - # to the script will be queued and the system will endlessly go in - # and out of suspend to ram - flock -n "${lockfd}" || exit 0 -} - -exit_critical_section() { - # Release the lock - flock -u "${lockfd}" -} - -while getopts "h" c; do - case "${c}" in - h) usage; exit;; - esac -done - -if [ -f "${syspower}" ]; then - # Avoid running multiple instances of this script in parallel - enter_critical_section - - # Pre-suspend actions - suspend_interfaces - - # Suspend the device - printf "mem" > ${syspower} - - # Post-resume actions - resume_interfaces - - exit_critical_section -else - printf "\n[ERROR] File ${syspower} not found\n\n" -fi diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/acpid.map b/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/acpid.map deleted file mode 100644 index f3940541e..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/acpid.map +++ /dev/null @@ -1,3 +0,0 @@ -#s_type n_type(hex) s_code n_code value description -EV_KEY 0x01 KEY_SLEEP 142 1 pswitch-standby -EV_KEY 0x01 KEY_POWER 116 1 pswitch-poweroff diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby b/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby deleted file mode 100755 index b5b47210d..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/sh -#=============================================================================== -# -# standby -# -# Copyright (C) 2020 by Digi International Inc. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# -# !Description: suspend system to RAM -# -#=============================================================================== - -scriptname="$(basename $(readlink -f ${0}))" -syspower="/sys/power/state" -lockfile="/var/lock/${scriptname}.lock" -lockfd="9" - -BT_INIT="/etc/init.d/bluetooth-init" -BT_DAEMON="/etc/init.d/bluetooth" -NM_DAEMON="/etc/init.d/networkmanager" - -usage() { - printf "\nSuspend system to RAM memory\n" - printf "\nUsage: ${scriptname} [OPTIONS]\n - -h Show this help - \n" -} - -suspend_interfaces() { - # Stop NetworkManager before suspend - ${NM_DAEMON} stop - - # Suspend wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do - ifdown "${i}" && RESUME_IFACES="${RESUME_IFACES:+${RESUME_IFACES} }${i}" - done - grep -qs '^wlan' /proc/modules && rmmod wlan - fi - - # Suspend bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - hciconfig hci0 2>&1 | grep -qs UP && up_bt_on_resume="1" - ${BT_DAEMON} stop >/dev/null - ${BT_INIT} stop >/dev/null - fi -} - -resume_interfaces() { - # Resume wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - # Trigger wireless module loading event, and wait until the interface exists - udevadm trigger --action=add --attr-match="modalias=sdio:c00v0271d050A" - timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null - - # Bring up the interfaces that were bring down on suspend - for i in $(echo ${RESUME_IFACES} | tr ' ' '\n' | sort); do - grep -qs "^${i}" /var/run/ifstate || ifup "${i}" - done - fi - - # Resume bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - if [ -n "${up_bt_on_resume}" ]; then - ${BT_INIT} start >/dev/null - ${BT_DAEMON} start >/dev/null - fi - fi - - # Resume NetworkManager after suspend - ${NM_DAEMON} start -} - -enter_critical_section() { - # Create lock file - eval "exec ${lockfd}>${lockfile}" - - # Acquire the lock in non blocking mode. Otherwise, additional calls - # to the script will be queued and the system will endlessly go in - # and out of suspend to ram - flock -n "${lockfd}" || exit 0 -} - -exit_critical_section() { - # Release the lock - flock -u "${lockfd}" -} - -while getopts "h" c; do - case "${c}" in - h) usage; exit;; - esac -done - -if [ -f "${syspower}" ]; then - # Avoid running multiple instances of this script in parallel - enter_critical_section - - # Pre-suspend actions - suspend_interfaces - - # Suspend the device - printf "mem" > ${syspower} - - # Post-resume actions - resume_interfaces - - exit_critical_section -else - printf "\n[ERROR] File ${syspower} not found\n\n" -fi diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby-actions b/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby-actions deleted file mode 100644 index 8d564dc37..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx93/standby-actions +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/sh -#=============================================================================== -# -# standby-actions -# -# Copyright (C) 2020 by Digi International Inc. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# -# !Description: manage interfaces before suspending and after resuming from -# suspend -# -#=============================================================================== - -if [ "${1}" == "pre" ]; then - # Stop NetworkManager before suspend - systemctl stop NetworkManager - - # Suspend wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do - ifdown "${i}" && RESUME_IFACES="${RESUME_IFACES:+${RESUME_IFACES} }${i}" - done - - echo ${RESUME_IFACES} > /tmp/suspend_wlan_ifaces - grep -qs '^wlan' /proc/modules && rmmod wlan - fi - - # Suspend bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - hciconfig hci0 2>&1 | grep -qs UP && touch /tmp/up_bt_on_resume - systemctl stop bluetooth - systemctl stop bluetooth-init - fi - - # Configure Power LED for blinking in standby - if [ -d "/sys/class/leds/power:green" ]; then - # Configure LED for blinking - echo timer > /sys/class/leds/power\:green/trigger - # Turn LED on at max brightness - echo 19 > /sys/class/leds/power\:green/brightness - # Configure blinking timings - echo 100 > /sys/class/leds/power\:green/delay_on - echo 1000 > /sys/class/leds/power\:green/delay_off - fi -elif [ "${1}" == "post" ]; then - # Resume wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - # Trigger wireless module loading event, and wait until the interface exists - udevadm trigger --action=add --attr-match="modalias=sdio:c00v0271d050A" - timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null - - # Bring up the interfaces that were brought down on suspend - for i in $(cat /tmp/suspend_wlan_ifaces | tr ' ' '\n' | sort); do - grep -qs "^${i}" /var/run/ifstate || ifup "${i}" - done - rm -f /tmp/suspend_wlan_ifaces - fi - - # Resume NetworkManager after suspend - systemctl start NetworkManager - - # Resume bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - if [ -e "/tmp/up_bt_on_resume" ]; then - systemctl start bluetooth-init - systemctl start bluetooth - rm -f /tmp/up_bt_on_resume - fi - fi - - # Configure Power LED solid on after resume - if [ -d "/sys/class/leds/power:green" ]; then - # Reset LED settings by writing 0 to brigtness descriptor - echo 0 > /sys/class/leds/power\:green/brightness - # Turn LED on at max brightness - echo 19 > /sys/class/leds/power\:green/brightness - fi -fi diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccmp1/standby b/meta-digi-dey/recipes-core/busybox/busybox/ccmp1/standby deleted file mode 100755 index 06845f069..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccmp1/standby +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/sh -#=============================================================================== -# -# standby -# -# Copyright (C) 2022 by Digi International Inc. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# -# !Description: suspend system to RAM -# -#=============================================================================== - -scriptname="$(basename $(readlink -f ${0}))" -syspower="/sys/power/state" -lockfile="/var/lock/${scriptname}.lock" -lockfd="9" - -BT_INIT="/etc/init.d/bluetooth-init" -BT_DAEMON="/etc/init.d/bluetooth" -NM_DAEMON="/etc/init.d/networkmanager" - -usage() { - printf "\nSuspend system to RAM memory\n" - printf "\nUsage: ${scriptname} [OPTIONS]\n - -h Show this help - \n" -} - -suspend_interfaces() { - # Stop NetworkManager before suspend - ${NM_DAEMON} stop - - # Suspend wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do - ifdown "${i}" && RESUME_IFACES="${RESUME_IFACES:+${RESUME_IFACES} }${i}" - done - grep -qs '^wlan' /proc/modules && rmmod wlan - fi - - # Suspend bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - hciconfig hci0 2>&1 | grep -qs UP && up_bt_on_resume="1" - ${BT_DAEMON} stop >/dev/null - ${BT_INIT} stop >/dev/null - fi -} - -resume_interfaces() { - # Resume wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - # Trigger wireless module loading event, and wait until the interface exists - udevadm trigger --action=add --attr-match="modalias=sdio:c00v0271d050A" - timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null - - # Bring up the interfaces that were bring down on suspend - for i in $(echo ${RESUME_IFACES} | tr ' ' '\n' | sort); do - grep -qs "^${i}" /var/run/ifstate || ifup "${i}" - done - fi - - # Resume bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - if [ -n "${up_bt_on_resume}" ]; then - ${BT_INIT} start >/dev/null - ${BT_DAEMON} start >/dev/null - fi - fi - - # Resume NetworkManager after suspend - ${NM_DAEMON} start -} - -enter_critical_section() { - # Create lock file - eval "exec ${lockfd}>${lockfile}" - - # Acquire the lock in non blocking mode. Otherwise, additional calls - # to the script will be queued and the system will endlessly go in - # and out of suspend to ram - flock -n "${lockfd}" || exit 0 -} - -exit_critical_section() { - # Release the lock - flock -u "${lockfd}" -} - -while getopts "h" c; do - case "${c}" in - h) usage; exit;; - esac -done - -if [ -f "${syspower}" ]; then - # Avoid running multiple instances of this script in parallel - enter_critical_section - - # Pre-suspend actions - suspend_interfaces - - # Suspend the device - printf "mem" > ${syspower} - - # Post-resume actions - resume_interfaces - - exit_critical_section -else - printf "\n[ERROR] File ${syspower} not found\n\n" -fi diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccmp1/standby-actions b/meta-digi-dey/recipes-core/busybox/busybox/ccmp1/standby-actions deleted file mode 100644 index 6876f1d80..000000000 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccmp1/standby-actions +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -#=============================================================================== -# -# standby-actions -# -# Copyright (C) 2022 by Digi International Inc. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# -# !Description: manage interfaces before suspending and after resuming from -# suspend -# -#=============================================================================== - -if [ "${1}" == "pre" ]; then - # Stop NetworkManager before suspend - systemctl stop NetworkManager - - # Suspend wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do - ifdown "${i}" && RESUME_IFACES="${RESUME_IFACES:+${RESUME_IFACES} }${i}" - done - - echo ${RESUME_IFACES} > /tmp/suspend_wlan_ifaces - grep -qs '^wlan' /proc/modules && rmmod wlan - fi - - # Suspend bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - hciconfig hci0 2>&1 | grep -qs UP && touch /tmp/up_bt_on_resume - systemctl stop bluetooth - systemctl stop bluetooth-init - fi -elif [ "${1}" == "post" ]; then - # Resume wireless interfaces - if [ -d "/proc/device-tree/wireless" ]; then - # Trigger wireless module loading event, and wait until the interface exists - udevadm trigger --action=add --attr-match="modalias=sdio:c00v0271d050A" - timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null - - # Bring up the interfaces that were brought down on suspend - for i in $(cat /tmp/suspend_wlan_ifaces | tr ' ' '\n' | sort); do - grep -qs "^${i}" /var/run/ifstate || ifup "${i}" - done - rm -f /tmp/suspend_wlan_ifaces - fi - - # Resume NetworkManager after suspend - systemctl start NetworkManager - - # Resume bluetooth interface - if [ -d "/proc/device-tree/bluetooth" ]; then - if [ -e "/tmp/up_bt_on_resume" ]; then - systemctl start bluetooth-init - systemctl start bluetooth - rm -f /tmp/up_bt_on_resume - fi - fi -fi diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx6sbc/standby b/meta-digi-dey/recipes-core/busybox/busybox/standby similarity index 95% rename from meta-digi-dey/recipes-core/busybox/busybox/ccimx6sbc/standby rename to meta-digi-dey/recipes-core/busybox/busybox/standby index 897402db1..0ffb6f348 100755 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx6sbc/standby +++ b/meta-digi-dey/recipes-core/busybox/busybox/standby @@ -3,7 +3,7 @@ # # standby # -# Copyright (C) 2009-2021 by Digi International Inc. +# Copyright (C) 2009-2022 by Digi International Inc. # All rights reserved. # # This program is free software; you can redistribute it and/or modify it @@ -57,6 +57,7 @@ resume_interfaces() { if [ -d "/proc/device-tree/wireless" ]; then # Trigger wireless module loading event, and wait until the interface exists udevadm trigger --action=add --attr-match="modalias=sdio:c00v0271d0${wlan_device_id}" + udevadm trigger --action=add --attr-match="modalias=pci:v0000168Cd0000003Esv*sd*bc*sc*i*" timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null # Bring up the interfaces that were bring down on suspend diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx8x/standby-actions b/meta-digi-dey/recipes-core/busybox/busybox/standby-actions similarity index 89% rename from meta-digi-dey/recipes-core/busybox/busybox/ccimx8x/standby-actions rename to meta-digi-dey/recipes-core/busybox/busybox/standby-actions index f3ba254c9..893481d6d 100644 --- a/meta-digi-dey/recipes-core/busybox/busybox/ccimx8x/standby-actions +++ b/meta-digi-dey/recipes-core/busybox/busybox/standby-actions @@ -27,7 +27,8 @@ if [ "${1}" == "pre" ]; then done echo ${RESUME_IFACES} > /tmp/suspend_wlan_ifaces - grep -qs '^wlan' /proc/modules && rmmod wlan + [ -e /sys/module/ath6kl_sdio ] && rmmod ath6kl_sdio ath6kl_core && echo "301" > /tmp/suspend_wlan_device_id + [ -e /sys/module/wlan ] && rmmod wlan && echo "50A" > /tmp/suspend_wlan_device_id fi # Suspend bluetooth interface @@ -52,6 +53,8 @@ elif [ "${1}" == "post" ]; then if [ -d "/proc/device-tree/wireless" ]; then # Trigger wireless module loading event, and wait until the interface exists udevadm trigger --action=add --attr-match="modalias=pci:v0000168Cd0000003Esv*sd*bc*sc*i*" + udevadm trigger --action=add --attr-match="modalias=sdio:c00v0271d0$(cat /tmp/suspend_wlan_device_id)" + rm -rf /tmp/suspend_wlan_driver timeout 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null # Bring up the interfaces that were brought down on suspend From 7c580a3896c9fa6ad9fcfdf74a42008d870242aa Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Thu, 22 Dec 2022 17:17:11 +0100 Subject: [PATCH 032/144] busybox: send resume actions to the background Make the script send the resume actions to the background so that console returns to the user without having to wait for the Wi-Fi module to load and the Bluetooth to attach. Signed-off-by: Hector Palacios https://onedigi.atlassian.net/browse/DEL-8262 --- meta-digi-dey/recipes-core/busybox/busybox/standby | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-digi-dey/recipes-core/busybox/busybox/standby b/meta-digi-dey/recipes-core/busybox/busybox/standby index 0ffb6f348..385bc3283 100755 --- a/meta-digi-dey/recipes-core/busybox/busybox/standby +++ b/meta-digi-dey/recipes-core/busybox/busybox/standby @@ -76,6 +76,8 @@ resume_interfaces() { # Resume NetworkManager after suspend ${NM_DAEMON} start + + exit_critical_section } enter_critical_section() { @@ -110,9 +112,7 @@ if [ -f "${syspower}" ]; then printf "mem" > ${syspower} # Post-resume actions - resume_interfaces - - exit_critical_section + resume_interfaces & else printf "\n[ERROR] File ${syspower} not found\n\n" fi From f8d5d63fcd0a03614dc06ded35d863b2bcdb62ba Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 2 Jan 2023 13:19:48 +0100 Subject: [PATCH 033/144] linux-dey: add ccimx8m compatibility with kernel version 5.15 Signed-off-by: Javier Viguera --- meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb b/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb index 3dff70144..acee07f63 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb @@ -50,4 +50,4 @@ KERNEL_DTC_FLAGS += "-@" KERNEL_EXTRA_ARGS:stm32mpcommon += "LOADADDR=${ST_KERNEL_LOADADDR}" -COMPATIBLE_MACHINE = "(ccimx6ul|ccimx93|ccmp1)" +COMPATIBLE_MACHINE = "(ccimx6ul|ccimx8m|ccimx93|ccmp1)" From a471b71f67890b889ce89f6dd035ea22c321558c Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 3 Jan 2023 10:45:03 +0100 Subject: [PATCH 034/144] meta-digi-arm: update ccimx8m config to allow building Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/ccimx8mm-dvk.conf | 1 + meta-digi-arm/conf/machine/ccimx8mn-dvk.conf | 1 + meta-digi-arm/conf/machine/include/ccimx8m.inc | 10 ++++++++-- meta-digi-arm/conf/machine/include/imx-digi-base.inc | 7 +++++++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf b/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf index b5b33f670..0879801ea 100644 --- a/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf @@ -21,6 +21,7 @@ SPL_BINARY = "spl/u-boot-spl.bin" UBOOT_DTB_NAME = "ccimx8mm-dvk.dtb" ATF_PLATFORM = "imx8mm" +IMX_BOOT_SOC_TARGET = "iMX8MM" KERNEL_DEVICETREE ?= " \ digi/ccimx8mm-dvk.dtb \ diff --git a/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf b/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf index 21f16da00..5f884843e 100644 --- a/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf @@ -21,6 +21,7 @@ SPL_BINARY = "spl/u-boot-spl.bin" UBOOT_DTB_NAME = "ccimx8mn-dvk.dtb" ATF_PLATFORM = "imx8mn" +IMX_BOOT_SOC_TARGET = "iMX8MN" KERNEL_DEVICETREE ?= " \ digi/ccimx8mn-dvk.dtb \ diff --git a/meta-digi-arm/conf/machine/include/ccimx8m.inc b/meta-digi-arm/conf/machine/include/ccimx8m.inc index ef5ec1caf..0cfe9022b 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8m.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8m.inc @@ -15,8 +15,14 @@ BOOTLOADER_IMAGE_RECIPE = "imx-boot" BOOTABLE_FILENAME = "${UBOOT_PREFIX}-${MACHINE}.bin" SDIMG_BOOTLOADER = "${DEPLOY_DIR_IMAGE}/${BOOTABLE_FILENAME}" -# Set LPDDR4 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" +# LPDDR4 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 \ +" +IMXBOOT_TARGETS = "flash_evk" # Linux kernel configuration KERNEL_DEFCONFIG ?= "arch/arm64/configs/ccimx8_defconfig" diff --git a/meta-digi-arm/conf/machine/include/imx-digi-base.inc b/meta-digi-arm/conf/machine/include/imx-digi-base.inc index 006826a10..948776ff9 100644 --- a/meta-digi-arm/conf/machine/include/imx-digi-base.inc +++ b/meta-digi-arm/conf/machine/include/imx-digi-base.inc @@ -13,6 +13,13 @@ include conf/machine/include/digi-defaults.inc IMX_DEFAULT_BSP ?= "nxp" MACHINEOVERRIDES =. "use-${IMX_DEFAULT_BSP}-bsp:" +# Allow setting the UART used during the boot by ATF. +# FIXME: We should return INVALID here but currently only i.MX8M has support to override the UART +# base address in source code. +SOC_ATF_BOOT_UART_BASE = "" +SOC_ATF_BOOT_UART_BASE:ccimx8m = "0x30860000" +ATF_BOOT_UART_BASE ?= "${SOC_ATF_BOOT_UART_BASE}" + XSERVER_DRIVER = "xf86-video-fbdev" XSERVER_DRIVER:imxgpu2d = "xf86-video-imx-vivante" XSERVER_DRIVER:append:mx8-generic-bsp = " xf86-video-modesetting" From ae792c4a0ec7473757701892d8d56fa3eef86743 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 3 Jan 2023 11:00:13 +0100 Subject: [PATCH 035/144] meta-digi-arm: delete obsolete BBMASK imx-atf version 2.4 is no longer available in meta-freescale Signed-off-by: Javier Viguera --- meta-digi-arm/conf/layer.conf | 1 - 1 file changed, 1 deletion(-) diff --git a/meta-digi-arm/conf/layer.conf b/meta-digi-arm/conf/layer.conf index 05afa1012..ba0758c8d 100644 --- a/meta-digi-arm/conf/layer.conf +++ b/meta-digi-arm/conf/layer.conf @@ -28,7 +28,6 @@ LAYERSERIES_COMPAT_digi-arm = "kirkstone" EULA_FILE_ST_${MACHINE} = "${LAYERDIR}/conf/eula/${MACHINE}" EULA_FILE_ST_MD5SUM_${MACHINE} = "8b505090fb679839cefbcc784afe8ce9" -BBMASK += "meta-freescale/recipes-bsp/imx-atf/imx-atf_2.4.bb" # Ignore some STM recipes BBMASK += " \ meta-st-stm32mp/recipes-bsp/alsa/alsa-state-stm32mp1.bb \ From 7fa82c528b7da10c4c71bd3541e21f52dd95a839 Mon Sep 17 00:00:00 2001 From: Isaac Hermida Date: Fri, 2 Dec 2022 10:00:58 +0100 Subject: [PATCH 036/144] bluez5-init: fix start on systemd Signed-off-by: Isaac Hermida --- meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb b/meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb index 9036bb7e0..c65d68336 100644 --- a/meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb +++ b/meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb @@ -13,7 +13,7 @@ SRC_URI:append:ccimx6sbc = " \ file://bluetooth-init_atheros \ " -inherit update-rc.d +inherit update-rc.d systemd do_install() { # INITSCRIPT From 164a5ffc1a42334ca16acb35b16810b858bbe760 Mon Sep 17 00:00:00 2001 From: Isaac Hermida Date: Mon, 2 Jan 2023 15:26:44 +0100 Subject: [PATCH 037/144] pulseaudio: use custom conf file https://onedigi.atlassian.net/browse/DEL-8264 Signed-off-by: Isaac Hermida --- .../recipes-multimedia/pulseaudio/pulseaudio_%.bbappend | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend index 1f01791b9..bd132ac88 100644 --- a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend +++ b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend @@ -51,6 +51,11 @@ SRC_URI:append:mx8-nxp-bsp = " \ file://default.pa \ " +SRC_URI:append:mx9-nxp-bsp = " \ + file://daemon.conf \ + file://default.pa \ +" + # Enable allow-autospawn-for-root as default PACKAGECONFIG:append = " autospawn-for-root" From 22ccaeaa76db01b947445706719c2b3ea3c51efd Mon Sep 17 00:00:00 2001 From: Isaac Hermida Date: Tue, 3 Jan 2023 13:09:52 +0100 Subject: [PATCH 038/144] swupdate: change logic for service The variable dualboot might not be defined or well have an invalid value. Just keep the service running if it is a dualboot model. https://onedigi.atlassian.net/browse/DEL-8264 Signed-off-by: Isaac Hermida --- .../recipes-support/swupdate/swupdate_2022.05.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-digi-dey/recipes-support/swupdate/swupdate_2022.05.bbappend b/meta-digi-dey/recipes-support/swupdate/swupdate_2022.05.bbappend index 6c38638a2..ca0286d9f 100644 --- a/meta-digi-dey/recipes-support/swupdate/swupdate_2022.05.bbappend +++ b/meta-digi-dey/recipes-support/swupdate/swupdate_2022.05.bbappend @@ -31,6 +31,6 @@ do_install:append() { pkg_postinst_ontarget:${PN}() { if ${@bb.utils.contains('DISTRO_FEATURES','systemd','false','true',d)}; then - [ "$(fw_printenv -n dualboot 2>/dev/null)" = "no" ] && update-rc.d -f swupdate remove + [ "$(fw_printenv -n dualboot 2>/dev/null)" != "yes" ] && update-rc.d -f swupdate remove fi } From 5b92d3fcc34bbb29e98e91f646fb4bb65f9461da Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 3 Jan 2023 16:59:56 +0100 Subject: [PATCH 039/144] mkproject: add ccimx8mm-dvk and ccimx8mn-dvk as supported platforms Signed-off-by: Javier Viguera --- sdk/mkproject.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/mkproject.sh b/sdk/mkproject.sh index 4f6c60305..a9768a192 100755 --- a/sdk/mkproject.sh +++ b/sdk/mkproject.sh @@ -28,7 +28,7 @@ MKP_NONE="\033[0m" MKP_CONFIGPATH="${MKP_SCRIPTPATH}/sources/meta-digi/sdk/config" # Blacklist platforms (not officially supported in a DEY release) -MKP_BLACKLIST_PLATFORMS="ccimx6qpsbc ccimx6sbc ccimx8mm-dvk ccimx8mn-dvk ccimx8x-sbc-express ccimx8x-sbc-pro" +MKP_BLACKLIST_PLATFORMS="ccimx6qpsbc ccimx6sbc ccimx8x-sbc-express ccimx8x-sbc-pro" MKP_SETUP_ENVIRONMENT='#!/bin/bash From 763ddf471b7a791a53119a54eee9ec4c31c85dd9 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 3 Jan 2023 11:12:26 +0100 Subject: [PATCH 040/144] ccimx93: imx-boot: generate properly named boot artifacts Although in theory, you can use any label to name the different u-boot build configurations, we have them coupled to machine names in the boot-artifacts bbclass, and also in the default boot artifact filename in the firmware installation scripts. So fix that up for the ccimx93 in the machine config, and create the proper symlinks in the do_deploy imx-boot recipe. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/ccimx93-dvk.conf | 4 ++-- .../recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/meta-digi-arm/conf/machine/ccimx93-dvk.conf b/meta-digi-arm/conf/machine/ccimx93-dvk.conf index 9470b0291..967aebb79 100644 --- a/meta-digi-arm/conf/machine/ccimx93-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx93-dvk.conf @@ -5,8 +5,8 @@ require include/ccimx93.inc # U-Boot configurations -UBOOT_CONFIG ??= "ccimx93dvk" -UBOOT_CONFIG[ccimx93dvk] = "ccimx93-dvk_defconfig" +UBOOT_CONFIG ??= "ccimx93-dvk" +UBOOT_CONFIG[ccimx93-dvk] = "ccimx93-dvk_defconfig" UBOOT_DTB_NAME = "ccimx93-dvk.dtb" KERNEL_DEVICETREE ?= " \ diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend index 7573960ef..293b7b9d4 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend @@ -41,8 +41,12 @@ deploy_mx93() { } do_deploy:append() { - # DEY install scripts use by default INSTALL_UBOOT_FILENAME="imx-boot-##MACHINE##.bin" - ln -sf ${BOOT_CONFIG_MACHINE}-${IMAGE_IMXBOOT_TARGET} ${DEPLOYDIR}/${BOOT_NAME}-${MACHINE}.bin + # The boot-artifacts.bbclass expects "imx-boot-.bin" symlinks, so add them. + if [ -n "${UBOOT_CONFIG}" ]; then + for type in ${UBOOT_CONFIG}; do + ln -sf ${BOOT_NAME}-${MACHINE}-${type}.bin-${IMAGE_IMXBOOT_TARGET} ${DEPLOYDIR}/${BOOT_NAME}-${type}.bin + done + fi } COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)" From e5bbc04341276a3d6572a78eab85b04c56137c85 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 3 Jan 2023 11:12:56 +0100 Subject: [PATCH 041/144] u-boot-dey: define build path for external build Signed-off-by: Javier Viguera --- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc index 021ed7796..ff2876d42 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc @@ -13,6 +13,7 @@ DEPENDS += "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', 'trustfence-sign-too PROVIDES += "u-boot" S = "${WORKDIR}/git" +B = "${WORKDIR}/build" # Select internal or Github U-Boot repo UBOOT_URI_STASH = "${DIGI_MTK_GIT}/uboot/u-boot-denx.git;protocol=ssh" From d2693a3cfe213ce4cdf3db88691a64123bf32186 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 3 Jan 2023 17:57:16 +0100 Subject: [PATCH 042/144] u-boot-dey: recover git sha1 revision on u-boot banner This is provided by a class in "meta-freescale" so inherit it only for NXP based platforms. Signed-off-by: Javier Viguera --- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc index ff2876d42..2b4c5f44c 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc @@ -37,6 +37,9 @@ BUILD_UBOOT_SCRIPTS ?= "true" BOOTLOADER_IMAGE_RECIPE ?= "u-boot" +LOCALVERSION ?= "" +inherit ${@oe.utils.conditional('DEY_BUILD_PLATFORM', 'NXP', 'fsl-u-boot-localversion', '', d)} + # Disable u-boot environment artifacts UBOOT_INITIAL_ENV = "" From 60e499f423d01aef0b7177f5d596c23433e8de70 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 3 Jan 2023 18:54:47 +0100 Subject: [PATCH 043/144] u-boot-dey: customize boot script for ccimx93 This was a verbatim copy of the one for the ccimx8mm. Signed-off-by: Javier Viguera --- .../u-boot/u-boot-dey/ccimx93-dvk/boot.txt | 37 +++++++------------ 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt index 980500b91..6f35ee776 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt @@ -49,46 +49,35 @@ else fi fi - # Back up environment variables setenv ORIG_overlays ${overlays} setenv ORIG_extra_bootargs ${extra_bootargs} -# Set SOC type to "imx8mm" if not already defined by U-Boot -if test ! -n "${soc_type}"; then - setenv soc_type "imx8mm" -fi - # # Determine overlays to apply depending on the hardware capabilities # described by the HWID, SOM version, and carrier board version. # -if test -n "${module_ram}"; then - setexpr som_hv ${hwid_2} \& 38 - setexpr som_hv ${som_hv} / 8 +setexpr module_has_wifi ${hwid_2} \& 20000 +setexpr module_has_wifi ${module_has_wifi} / 20000 +setexpr module_has_bt ${hwid_2} \& 40000 +setexpr module_has_bt ${module_has_bt} / 40000 - setexpr module_has_wifi ${hwid_2} \& 10000 - setexpr module_has_wifi ${module_has_wifi} / 10000 - setexpr module_has_bt ${hwid_2} \& 20000 - setexpr module_has_bt ${module_has_bt} / 20000 +if test "${module_has_bt}" = "1" && test -z "${disable_bt}"; then + setenv overlays _ov_som_bt_ccimx93.dtbo,${overlays} +fi - if test "${module_has_bt}" = "1" && test -z "${disable_bt}"; then - setenv overlays _ov_som_bt_ccimx8m.dtbo,${overlays} - fi - - if test "${module_has_wifi}" = "1" && test -z "${disable_wifi}"; then - setenv overlays _ov_som_wifi_ccimx8m.dtbo,${overlays} - fi +if test "${module_has_wifi}" = "1" && test -z "${disable_wifi}"; then + setenv overlays _ov_som_wifi_ccimx93.dtbo,${overlays} fi setenv extra_bootargs fbcon=logo-pos:center ${extra_bootargs} dboot linux mmc ${mmcbootdev}:${mmcpart} - - -# We only get here in case of an error on the dboot command. - +# # Undo changes to environment variables +# +# (we only get here in case of an error on the dboot command) +# setenv overlays ${ORIG_overlays} setenv ORIG_overlays setenv extra_bootargs ${ORIG_extra_bootargs} From b72a3425b1be28368c3fc851e25f532d4b606307 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 4 Jan 2023 10:53:24 +0100 Subject: [PATCH 044/144] wayland: clean up recipe and remove not needed patch files Cleaned code comes from older yocto versions (not needed anymore), and is causing a build failure when building the nativesdk package. Signed-off-by: Javier Viguera --- ...build-Fix-strndup-detection-on-MinGW.patch | 34 ------ ...missing-dependencies-on-protocol-hea.patch | 115 ------------------ ...hardcode-the-path-to-wayland-scanner.patch | 26 ---- ...-the-native-wayland-scanner-directly.patch | 27 ---- .../wayland/wayland/run-ptest | 17 --- .../wayland/wayland_%.bbappend | 14 +-- 6 files changed, 1 insertion(+), 232 deletions(-) delete mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch delete mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0001-meson-tests-add-missing-dependencies-on-protocol-hea.patch delete mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch delete mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0002-meson.build-find-the-native-wayland-scanner-directly.patch delete mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/run-ptest diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch deleted file mode 100644 index c2ceae4a4..000000000 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e6783c99f051c6d8252db5f388d805cef0e16357 Mon Sep 17 00:00:00 2001 -From: Joshua Watt -Date: Thu, 20 Feb 2020 15:20:45 -0600 -Subject: [PATCH] build: Fix strndup detection on MinGW - -GCC and meson conspire together to incorrectly detect that strndup() -exists on MinGW as __builtin_strndup, when no such function exists. As a -work around, meson will skip looking for __builtin functions if an -'#include' is in the prefix, so add '#include ' when looking -for strndup(). - -See: https://github.com/mesonbuild/meson/issues/3672 - -Signed-off-by: Joshua Watt -Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/wayland/merge_requests/63] ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/meson.build -+++ b/meson.build -@@ -36,11 +36,11 @@ have_funcs = [ - 'posix_fallocate', - 'prctl', - 'memfd_create', -- 'strndup', - ] - foreach f: have_funcs - config_h.set('HAVE_' + f.underscorify().to_upper(), cc.has_function(f)) - endforeach -+config_h.set('HAVE_STRNDUP', cc.has_function('strndup') and cc.has_header_symbol('string.h', 'strndup')) - - if get_option('libraries') - ffi_dep = dependency('libffi') diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0001-meson-tests-add-missing-dependencies-on-protocol-hea.patch b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0001-meson-tests-add-missing-dependencies-on-protocol-hea.patch deleted file mode 100644 index 61de0e04e..000000000 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0001-meson-tests-add-missing-dependencies-on-protocol-hea.patch +++ /dev/null @@ -1,115 +0,0 @@ -From b2c74f6a3dbe0aee2413800837314136947a4985 Mon Sep 17 00:00:00 2001 -From: Jan Beich -Date: Sat, 15 Feb 2020 02:03:45 +0000 -Subject: [PATCH] meson/tests: add missing dependencies on protocol headers - -In file included from ../tests/connection-test.c:43: -In file included from ../tests/test-compositor.h:30: -../src/wayland-client.h:40:10: fatal error: 'wayland-client-protocol.h' file not found - #include "wayland-client-protocol.h" - ^~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from ../tests/display-test.c:45: -In file included from ../src/wayland-server.h:104: -src/wayland-server-protocol.h:4454:2: error: unterminated /* comment - /** - ^ -In file included from ../tests/cpp-compile-test.cpp:2: -In file included from src/wayland-server-protocol.h:8: -In file included from ../src/wayland-server.h:104: -src/wayland-server-protocol.h:3:2: error: unterminated conditional directive - #ifndef WAYLAND_SERVER_PROTOCOL_H - ^ -../tests/headers-protocol-test.c:33:2: error: including wayland-server-protocol.h did not include wayland-server.h! - #error including wayland-server-protocol.h did not include wayland-server.h! - ^ -In file included from ../tests/headers-protocol-test.c:26: -In file included from src/wayland-client-protocol.h:8: -In file included from ../src/wayland-client.h:40: -src/wayland-client-protocol.h:1358:2: error: unterminated conditional directive - #ifndef WL_SHM_FORMAT_ENUM - ^ -In file included from ../tests/protocol-logger-test.c:34: -In file included from ../src/wayland-client.h:40: -src/wayland-client-protocol.h:2613:1: error: unterminated /* comment -/** -^ -../tests/resources-test.c:49:36: error: use of undeclared identifier 'wl_seat_interface' - res = wl_resource_create(client, &wl_seat_interface, 4, 0); - ^ -Upstream-Status: Backport -Signed-off-by: Alexander Kanavin ---- - tests/meson.build | 26 ++++++++++++++++++-------- - 1 file changed, 18 insertions(+), 8 deletions(-) - -diff --git a/tests/meson.build b/tests/meson.build -index c28a2a3..f1af7b4 100644 ---- a/tests/meson.build -+++ b/tests/meson.build -@@ -69,7 +69,7 @@ test( - executable( - 'cpp-compile-test', - 'cpp-compile-test.cpp', -- wayland_server_protocol_core_h, -+ wayland_server_protocol_h, - include_directories: src_inc - ) - ) -@@ -91,17 +91,25 @@ tests = { - 'array-test': [], - 'client-test': [ wayland_server_protocol_h ], - 'display-test': [ -+ wayland_client_protocol_h, -+ wayland_server_protocol_h, - tests_server_protocol_h, - tests_client_protocol_c, - tests_protocol_c, - ], -- 'connection-test': [ wayland_server_protocol_h ], -+ 'connection-test': [ -+ wayland_client_protocol_h, -+ wayland_server_protocol_h, -+ ], - 'event-loop-test': [ wayland_server_protocol_h ], - 'fixed-test': [], - 'interface-test': [ wayland_client_protocol_h ], - 'list-test': [], - 'map-test': [], -- 'sanity-test' : [ wayland_server_protocol_h ], -+ 'sanity-test' : [ -+ wayland_client_protocol_h, -+ wayland_server_protocol_h, -+ ], - 'socket-test': [ - wayland_client_protocol_h, - wayland_server_protocol_h, -@@ -116,7 +124,7 @@ tests = { - files('../src/wayland-server.c'), - wayland_server_protocol_h, - ], -- 'resources-test': [ wayland_server_protocol_core_h ], -+ 'resources-test': [ wayland_server_protocol_h ], - 'message-test': [ - wayland_client_protocol_h, - wayland_server_protocol_h, -@@ -126,14 +134,16 @@ tests = { - wayland_server_protocol_h, - ], - 'protocol-logger-test': [ -- wayland_server_protocol_core_h, -- wayland_client_protocol_core_h, -+ wayland_client_protocol_h, -+ wayland_server_protocol_h, - ], - 'headers-test': [ -+ wayland_client_protocol_h, -+ wayland_server_protocol_h, - 'headers-protocol-test.c', -- 'headers-protocol-core-test.c', -- wayland_server_protocol_core_h, - wayland_client_protocol_core_h, -+ wayland_server_protocol_core_h, -+ 'headers-protocol-core-test.c', - ], - 'os-wrappers-test': [], - } diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch deleted file mode 100644 index 2199548bd..000000000 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch +++ /dev/null @@ -1,26 +0,0 @@ -From cbb28635a1079d68e62dbaa1e21791a20dbbbaf4 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Mon, 17 Feb 2020 21:46:18 +0100 -Subject: [PATCH] Do not hardcode the path to wayland-scanner - -This results in host contamination during builds. - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin ---- - src/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/meson.build b/src/meson.build -index 294aee0..7e410fa 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -49,7 +49,7 @@ pkgconfig.generate( - 'datarootdir=' + join_paths('${prefix}', get_option('datadir')), - 'pkgdatadir=' + join_paths('${datarootdir}', meson.project_name()), - 'bindir=' + join_paths('${prefix}', get_option('bindir')), -- 'wayland_scanner=${bindir}/wayland-scanner' -+ 'wayland_scanner=wayland-scanner' - ], - filebase: 'wayland-scanner' - ) diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0002-meson.build-find-the-native-wayland-scanner-directly.patch b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0002-meson.build-find-the-native-wayland-scanner-directly.patch deleted file mode 100644 index f98037a85..000000000 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/0002-meson.build-find-the-native-wayland-scanner-directly.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 2582d2653ba80917d7bc47088e1a5f49530fddaa Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Sun, 16 Feb 2020 16:29:53 +0100 -Subject: [PATCH] meson.build: find the native wayland-scanner directly in PATH - -Otherwise, meson attempts to use the target pkg-config and fails. - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin ---- - src/meson.build | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/src/meson.build b/src/meson.build -index 3e8c9bf..294aee0 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -55,8 +55,7 @@ pkgconfig.generate( - ) - - if meson.is_cross_build() -- scanner_dep = dependency('wayland-scanner', native: true, version: '>=1.14.0') -- wayland_scanner_for_build = find_program(scanner_dep.get_pkgconfig_variable('wayland_scanner')) -+ wayland_scanner_for_build = find_program('wayland-scanner') - else - wayland_scanner_for_build = wayland_scanner - endif diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/run-ptest b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/run-ptest deleted file mode 100644 index 7e8d9de04..000000000 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland/run-ptest +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -export WAYLAND_SCANNER=wayland-scanner -export TEST_DATA_DIR=tests/data -export TEST_OUTPUT_DIR=tests/output -export SED=sed -export WAYLAND_EGL_LIB=/usr/lib/libwayland-egl.so.1 -export NM=nm - -for i in `ls tests/*-test tests/wayland-egl-symbols-check tests/scanner-test.sh`; do - $i - if [ $? -eq 0 ]; then - echo "PASS: $i" - else - echo "FAIL: $i" - fi -done diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland_%.bbappend b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland_%.bbappend index aa1219b9c..c07334227 100644 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland_%.bbappend +++ b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland_%.bbappend @@ -1,16 +1,4 @@ -# Copyright (C) 2020-2022, Digi International Inc. - -FILES:${PN}:class-nativesdk = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \ - ${sysconfdir} ${sharedstatedir} ${localstatedir} \ - ${base_bindir}/* ${base_sbindir}/* \ - ${base_libdir}/*${SOLIBS} \ - ${base_prefix}/lib/udev ${prefix}/lib/udev \ - ${base_libdir}/udev ${libdir}/udev \ - ${datadir}/${BPN} ${libdir}/${BPN}/* \ - ${datadir}/pixmaps ${datadir}/applications \ - ${datadir}/idl ${datadir}/omf ${datadir}/sounds \ - ${libdir}/bonobo/servers" -FILES:${PN}-dev:remove:class-nativesdk = "${bindir} ${datadir}/wayland" +# Copyright (C) 2020-2023, Digi International Inc. FILES_SOLIBSDEV = " \ ${base_libdir}/lib*${SOLIBSDEV} \ From 2a97d8886b0d4da9ff971b1bdf23107eb855ac8c Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 4 Jan 2023 13:45:53 +0100 Subject: [PATCH 045/144] xbee: allow creating xbee runtime empty package All files go to xbee-init package, so by default xbee package is not created. This leads to a failure when building the SDK: Error: Problem: conflicting requests - nothing provides xbee = 1.0-r0.0 needed by xbee-dev-1.0-r0.0.ccimx8mm_dvk Signed-off-by: Javier Viguera --- meta-digi-dey/recipes-connectivity/xbee/xbee.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-digi-dey/recipes-connectivity/xbee/xbee.bb b/meta-digi-dey/recipes-connectivity/xbee/xbee.bb index 577681d61..a07cc460b 100644 --- a/meta-digi-dey/recipes-connectivity/xbee/xbee.bb +++ b/meta-digi-dey/recipes-connectivity/xbee/xbee.bb @@ -32,6 +32,8 @@ FILES:${PN}-init = " \ ${sysconfdir}/init.d/xbee-init \ ${systemd_unitdir}/system/xbee-init.service \ " +ALLOW_EMPTY:${PN} = "1" + INITSCRIPT_PACKAGES += "${PN}-init" INITSCRIPT_NAME:${PN}-init = "xbee-init" INITSCRIPT_PARAMS:${PN}-init = "start 19 2 3 4 5 . stop 21 0 1 6 ." From c2da31e0b1e01d51769c2f5ee56315905c4a2692 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 4 Jan 2023 14:45:32 +0100 Subject: [PATCH 046/144] gcnano-userland: fixes for Crank SB engine Crank storyboard engine has runtime dependencies on libELG.so and libGLESv2.so, which usually are just symlinks that go to the "-dev" package. As they are needed at runtime, move the files to the normal (not -dev) package. Also add explicit RPROVIDES for those libraries, as otherwise the build fails with: QA Issue: /usr/share/crank/sbengine/plugins/librender-plugin-opengles_2.0.so contained in package crank-sbengine requires libEGL.so, but no providers found in RDEPENDS:crank-sbengine? [file-rdeps] QA Issue: /usr/share/crank/sbengine/plugins/librender-plugin-opengles_2.0.so contained in package crank-sbengine requires libGLESv2.so, but no providers found in RDEPENDS:crank-sbengine? [file-rdeps] Signed-off-by: Javier Viguera --- .../gcnano-userland-multi-binary-stm32mp.bbappend | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/gcnano-userland/gcnano-userland-multi-binary-stm32mp.bbappend b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/gcnano-userland/gcnano-userland-multi-binary-stm32mp.bbappend index 3a986479d..056a87821 100644 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/gcnano-userland/gcnano-userland-multi-binary-stm32mp.bbappend +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/gcnano-userland/gcnano-userland-multi-binary-stm32mp.bbappend @@ -1,5 +1,13 @@ -# Copyright (C) 2022, Digi International Inc. +# Copyright (C) 2022-2023, Digi International Inc. -# Workaround for crank storyboard engine which is provided in binary format, -# and needs an explicit 'libEGL.so' runtime provides. +# +# Workarounds for Crank storyboard engine +# + +# Put the devel symlink in the normal package +FILES:libegl-gcnano += "${libdir}/libEGL${SOLIBSDEV}" +FILES:libgles2-gcnano += "${libdir}/libGLESv2${SOLIBSDEV}" + +# Add explicit runtime provides for libEGL.so and libGLESv2.so RPROVIDES:libegl-gcnano:prepend = "libEGL.so " +RPROVIDES:libgles2-gcnano:prepend = "libGLESv2.so " From eb420a72f9eb8525307a0b05507f985c2ebff4c1 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 9 Jan 2023 12:18:15 +0100 Subject: [PATCH 047/144] ccimx8m: fix building sdcard image The sdcard image generation code expects a boot artifact named after machine's name. On the other hand, u-boot recipe creates symlinks with the build config's name. So couple machine with build config label to prevent a failure when building the SD card image. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/ccimx8mm-dvk.conf | 8 +++++--- meta-digi-arm/conf/machine/ccimx8mn-dvk.conf | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf b/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf index 0879801ea..25618082e 100644 --- a/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf @@ -12,9 +12,11 @@ BOOTLOADER_SEEK_USERDATA = "33" BOOTLOADER_SEEK_BOOT = "0" # U-Boot configurations -# Last one is the default (the one the symlinks point at) -UBOOT_CONFIG ??= "ccimx8mm_dvk" -UBOOT_CONFIG[ccimx8mm_dvk] = "ccimx8mm_dvk_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" +# +# At the moment config label should be "machine" because SDIMG_BOOTLOADER +# expects a boot artifact named after machine to create the sdcard image. +UBOOT_CONFIG ??= "ccimx8mm-dvk" +UBOOT_CONFIG[ccimx8mm-dvk] = "ccimx8mm_dvk_defconfig" SPL_BINARY = "spl/u-boot-spl.bin" # Set u-boot DTB diff --git a/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf b/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf index 5f884843e..03cadf8e0 100644 --- a/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf @@ -12,9 +12,11 @@ BOOTLOADER_SEEK_USERDATA = "32" BOOTLOADER_SEEK_BOOT = "0" # U-Boot configurations -# Last one is the default (the one the symlinks point at) -UBOOT_CONFIG ??= "ccimx8mn_dvk" -UBOOT_CONFIG[ccimx8mn_dvk] = "ccimx8mn_dvk_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" +# +# At the moment config label should be "machine" because SDIMG_BOOTLOADER +# expects a boot artifact named after machine to create the sdcard image. +UBOOT_CONFIG ??= "ccimx8mn-dvk" +UBOOT_CONFIG[ccimx8mn-dvk] = "ccimx8mn_dvk_defconfig" SPL_BINARY = "spl/u-boot-spl.bin" # Set u-boot DTB From b7e651c5210f0b3468596d404b3be5f7a37891ee Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 9 Jan 2023 16:12:04 +0100 Subject: [PATCH 048/144] ccimx93: update configuration for graphical images Enable missing configuration parameters to build Wayland/Weston based graphical images. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/include/ccimx93.inc | 3 +++ meta-digi-arm/conf/machine/include/imx-digi-base.inc | 12 +++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/meta-digi-arm/conf/machine/include/ccimx93.inc b/meta-digi-arm/conf/machine/include/ccimx93.inc index 9b28f9ccf..cbb267c6e 100644 --- a/meta-digi-arm/conf/machine/include/ccimx93.inc +++ b/meta-digi-arm/conf/machine/include/ccimx93.inc @@ -61,6 +61,9 @@ DISTRO_FEATURES:append = " systemd" VIRTUAL-RUNTIME_init_manager ?= "systemd" DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" +# Adding 'wayland' along with 'x11' enables the xwayland backend +DISTRO_FEATURES:append = " wayland pam" + # SWUpdate sw-description configuration BOOTFS_EXT ?= ".boot.vfat" ROOTFS_EXT ?= ".ext4.gz" diff --git a/meta-digi-arm/conf/machine/include/imx-digi-base.inc b/meta-digi-arm/conf/machine/include/imx-digi-base.inc index 948776ff9..e7498eca9 100644 --- a/meta-digi-arm/conf/machine/include/imx-digi-base.inc +++ b/meta-digi-arm/conf/machine/include/imx-digi-base.inc @@ -236,6 +236,7 @@ PREFERRED_PROVIDER_opencl-clhpp:imxgpu ?= "imx-gpu-viv" PREFERRED_PROVIDER_opencl-headers:imxgpu ?= "imx-gpu-viv" PREFERRED_PROVIDER_opencl-icd-loader:imxgpu ?= "imx-gpu-viv" PREFERRED_PROVIDER_virtual/opencl-icd:imxgpu ?= "imx-gpu-viv" +PREFERRED_PROVIDER_virtual/libg2d:mx93-nxp-bsp ?= "imx-pxp-g2d" PREFERRED_VERSION_weston:imx-nxp-bsp ??= "10.0.1.imx" PREFERRED_VERSION_weston:imx-mainline-bsp = "" @@ -243,20 +244,25 @@ PREFERRED_VERSION_weston:imx-mainline-bsp = "" PREFERRED_VERSION_wayland-protocols:mx6-nxp-bsp ??= "1.25.imx" PREFERRED_VERSION_wayland-protocols:mx7-nxp-bsp ??= "1.25.imx" PREFERRED_VERSION_wayland-protocols:mx8-nxp-bsp ??= "1.25.imx" +PREFERRED_VERSION_wayland-protocols:mx9-nxp-bsp ??= "1.25.imx" # Use i.MX libdrm Version PREFERRED_VERSION_libdrm:mx6-nxp-bsp ??= "2.4.109.imx" PREFERRED_VERSION_libdrm:mx7-nxp-bsp ??= "2.4.109.imx" PREFERRED_VERSION_libdrm:mx8-nxp-bsp ??= "2.4.109.imx" +PREFERRED_VERSION_libdrm:mx9-nxp-bsp ??= "2.4.109.imx" PREFERRED_VERSION_vulkan-headers:imxvulkan ??= "1.2.182.0" PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.2.182.0" PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.2.182.0" # Use i.MX optee Version -PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "3.17.0.imx" -PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "3.17.0.imx" -PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "3.17.0.imx" +PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "3.19.0.imx" +PREFERRED_VERSION_optee-client:mx9-nxp-bsp ??= "3.19.0.imx" +PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "3.19.0.imx" +PREFERRED_VERSION_optee-os:mx9-nxp-bsp ??= "3.19.0.imx" +PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "3.19.0.imx" +PREFERRED_VERSION_optee-test:mx9-nxp-bsp ??= "3.19.0.imx" #Use i.MX opencv Version for mx8 PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.6.0.imx" From f13ccfac75eb0ef04700109b5b299526aeb2cc97 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 9 Jan 2023 16:15:00 +0100 Subject: [PATCH 049/144] imx-pxp-g2d: new recipe that proves virtual/libg2d for mx93 This is a verbatim copy of the recipe in meta-imx. It is required to build Wayland based graphical images for ccimx93. Signed-off-by: Javier Viguera --- .../imx-g2d/imx-pxp-g2d_git.bb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb new file mode 100644 index 000000000..fbf56e0ca --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb @@ -0,0 +1,28 @@ +# Copyright (C) 2016 Freescale Semiconductor +# Copyright 2017-2022 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "G2D library using i.MX PXP" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://EULA.txt;md5=d3c315c6eaa43e07d8c130dc3a04a011" + +PROVIDES += "virtual/libg2d" + +PV = "2.1.0+git${SRCPV}" + +SRC_URI = "${IMX_PXP_G2D_SRC};branch=${SRCBRANCH}" +IMX_PXP_G2D_SRC ?= "git://github.com/nxp-imx/imx-g2d-pxp.git;protocol=https" +SRCBRANCH ?= "imx_2.1" +SRCREV = "178970dc7cdba69b94c2219b5bade46d67adb640" + +S = "${WORKDIR}/git" + +inherit use-imx-headers + +EXTRA_OEMAKE = "PLATFORM=IMX93 INCLUDE='-I${STAGING_INCDIR_IMX}' DEST_DIR=${D}" + +do_install() { + oe_runmake install +} + +COMPATIBLE_MACHINE = "(mx93-nxp-bsp)" From 3e0d3bd18dd864e3e875223d565bc5072b5f6c7c Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 9 Jan 2023 16:19:20 +0100 Subject: [PATCH 050/144] qtwayland: update to support ccimx93 Native X11 is not supported for ccimx93 (dropped by NXP), so remove xcomposite-egl and xcomposite-glx packageconfig options. Signed-off-by: Javier Viguera --- ...ion-Do-not-include-shm-emulation-ser.patch | 43 ------------------- .../recipes-qt/qt5/qtwayland_%.bbappend | 7 +-- 2 files changed, 1 insertion(+), 49 deletions(-) delete mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwayland/0001-hardwareintegration-Do-not-include-shm-emulation-ser.patch diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwayland/0001-hardwareintegration-Do-not-include-shm-emulation-ser.patch b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwayland/0001-hardwareintegration-Do-not-include-shm-emulation-ser.patch deleted file mode 100644 index 66eb765df..000000000 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwayland/0001-hardwareintegration-Do-not-include-shm-emulation-ser.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 39847456fd69ede802d88af5106f608d49038ab1 Mon Sep 17 00:00:00 2001 -From: Neena Busireddy -Date: Thu, 9 Aug 2018 19:01:45 +0000 -Subject: [PATCH] hardwareintegration: Do not include shm-emulation-server - -shm-emulation-server is failing on sololite because of its dependency on -opengl - -qtwayland/5.10.1+gitAUTOINC+db36bc0d9c-r0/git/src/hardwareintegration/client/shm-emulation-server/shmserverbufferintegration.cpp:81:10: - error: 'QOpenGLContext' has not been declared - if (!QOpenGLContext::currentContext()) - ^~~~~~~~~~~~~~ -Signed-off-by: Neena Busireddy ---- - src/plugins/hardwareintegration/client/client.pro | 2 +- - src/plugins/hardwareintegration/compositor/compositor.pro | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/plugins/hardwareintegration/client/client.pro b/src/plugins/hardwareintegration/client/client.pro -index f1c71f0..b90610d 100644 ---- a/src/plugins/hardwareintegration/client/client.pro -+++ b/src/plugins/hardwareintegration/client/client.pro -@@ -15,4 +15,4 @@ qtConfig(libhybris-egl-server): \ - SUBDIRS += libhybris-egl-server - - ### TODO: make shm-emulation configurable --SUBDIRS += shm-emulation-server -+#SUBDIRS += shm-emulation-server -diff --git a/src/plugins/hardwareintegration/compositor/compositor.pro b/src/plugins/hardwareintegration/compositor/compositor.pro -index 22301d0..45b7e0e 100644 ---- a/src/plugins/hardwareintegration/compositor/compositor.pro -+++ b/src/plugins/hardwareintegration/compositor/compositor.pro -@@ -15,6 +15,6 @@ qtConfig(libhybris-egl-server): \ - SUBDIRS += libhybris-egl-server - - ### TODO: make shm-emulation configurable --SUBDIRS += shm-emulation-server -+#SUBDIRS += shm-emulation-server - - SUBDIRS += hardwarelayer --- -1.9.1 - diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwayland_%.bbappend b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwayland_%.bbappend index e123a14b8..65d1f88c3 100644 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwayland_%.bbappend +++ b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwayland_%.bbappend @@ -1,10 +1,5 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" - -SRC_URI:append:mx6sl-nxp-bsp = " file://0001-hardwareintegration-Do-not-include-shm-emulation-ser.patch" - PACKAGECONFIG:remove:mx6sl-nxp-bsp = "wayland-egl" - -PACKAGECONFIG:remove:mx8mm-nxp-bsp = "wayland-vulkan-server-buffer" +PACKAGECONFIG:remove:mx9-nxp-bsp = "xcomposite-egl xcomposite-glx" do_install:append() { if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then From 7f6bbf14e1245400c53d3e6d0f1049b83fb33f7c Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 9 Jan 2023 16:27:59 +0100 Subject: [PATCH 051/144] meta-digi-dey: enable wayland-protocols and weston for ccimx93 meta-freescale does not provide the proper overrides for imx93, so add them here. Signed-off-by: Javier Viguera --- .../wayland/wayland-protocols_1.25.imx.bbappend | 5 +++++ .../recipes-graphics/wayland/weston_10.0.1.imx.bbappend | 7 +++++++ 2 files changed, 12 insertions(+) create mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland-protocols_1.25.imx.bbappend create mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland-protocols_1.25.imx.bbappend b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland-protocols_1.25.imx.bbappend new file mode 100644 index 000000000..76be3b881 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland-protocols_1.25.imx.bbappend @@ -0,0 +1,5 @@ +# Copyright (C) 2023 Digi International + +SRC_URI = "git://github.com/nxp-imx/wayland-protocols-imx.git;protocol=https;branch=wayland-protocols-imx-1.25" + +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend new file mode 100644 index 000000000..8774d4608 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend @@ -0,0 +1,7 @@ +# Copyright (C) 2023 Digi International + +SRCREV = "b3ccf36b718d16f5fb38ccfc2cccaf45c79854d8" + +PACKAGECONFIG:append:mx93-nxp-bsp = " imxgpu imxg2d" + +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" From 9dc6a491baae57c18c0631a54b68219b7efaf7ef Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 9 Jan 2023 16:55:31 +0100 Subject: [PATCH 052/144] build.sh: change image to build for ccimx93 Support to build wayland-based graphical images has been added for ccimx93, so build that image. Signed-off-by: Javier Viguera --- sdk/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/build.sh b/sdk/build.sh index 59ed93c99..d3eceae48 100755 --- a/sdk/build.sh +++ b/sdk/build.sh @@ -170,7 +170,7 @@ done<<-_EOF_ ccimx6ulrftest dey-image-mft-module-rf ccmp15-dvk dey-image-qt,dey-image-crank ccmp13-dvk core-image-base - ccimx93-dvk core-image-base + ccimx93-dvk dey-image-qt _EOF_ YOCTO_IMGS_DIR="${WORKSPACE}/images" From 19d940965d3e43bdc38528b78d8fa233499ae9cd Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 10 Jan 2023 10:31:04 +0100 Subject: [PATCH 053/144] boot-artifacts: fix BOOTABLE_ARTIFACTS for NXP platforms For platforms that do not define FIP_UBOOT_DTB, the 'd.getVar('FIP_UBOOT_DTB') gets evaluated to None, which is not equal to "", and thus the code continues in the wrong "if" branch. Signed-off-by: Javier Viguera --- meta-digi-arm/classes/boot-artifacts.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-digi-arm/classes/boot-artifacts.bbclass b/meta-digi-arm/classes/boot-artifacts.bbclass index 964f68575..1f0a29a97 100644 --- a/meta-digi-arm/classes/boot-artifacts.bbclass +++ b/meta-digi-arm/classes/boot-artifacts.bbclass @@ -39,7 +39,7 @@ def get_bootable_artifacts(d): artifacts = [] # For platforms with a FIP artifact, ignore u-boot artifacts - if d.getVar('FIP_UBOOT_DTB') != "": + if d.getVar('FIP_UBOOT_DTB'): machine = d.getVar('MACHINE', True) or "" # Add ATF artifacts for t in atf_types.split(" "): From c2c527cf8db04dad855bd15588944f71bafa6b94 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 10 Jan 2023 12:01:53 +0100 Subject: [PATCH 054/144] crank-demos: fix failing sed command The WESTON_SERVICE variable may contain the '@' character. In that case the sed command fails due to using the same character as separator. To prevent this problem use a different separator for the sed command. Signed-off-by: Javier Viguera --- meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb b/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb index bdab17017..8c3155b7e 100644 --- a/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb +++ b/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb @@ -73,7 +73,7 @@ do_install () { # Install systemd unit files install -d ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/crank-demo.service ${D}${systemd_unitdir}/system/ - sed -i -e "s@##WESTON_SERVICE##@${WESTON_SERVICE}@g" \ + sed -i -e "s,##WESTON_SERVICE##,${WESTON_SERVICE},g" \ "${D}${systemd_unitdir}/system/crank-demo.service" fi From 2bdfdc92e1c385deeae0abb75b2d4530f9d78b34 Mon Sep 17 00:00:00 2001 From: Gonzalo Ruiz Date: Tue, 10 Jan 2023 13:26:39 +0100 Subject: [PATCH 055/144] u-boot-dey: remove fip 'optee' suffix from install scripts https://onedigi.atlassian.net/browse/DEL-8268 Signed-off-by: Gonzalo Ruiz --- .../recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt | 2 +- .../u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt | 2 +- .../recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt index d0dbb8d78..25f729acc 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt @@ -8,7 +8,7 @@ install_abort=0 BASEFILENAME=0 setenv INSTALL_ATF_FILENAME tf-a-##MACHINE##-nand.stm32 -setenv INSTALL_FIP_FILENAME fip-##MACHINE##-optee.bin +setenv INSTALL_FIP_FILENAME fip-##MACHINE##.bin setenv INSTALL_MMCDEV 1 if test -z "${image-name}"; then diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt index 6831b34a7..bf3bcb0c9 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt @@ -8,7 +8,7 @@ install_abort=0 BASEFILENAME=0 setenv INSTALL_ATF_FILENAME tf-a-##MACHINE##-nand.stm32 -setenv INSTALL_FIP_FILENAME fip-##MACHINE##-optee.bin +setenv INSTALL_FIP_FILENAME fip-##MACHINE##.bin setenv INSTALL_USBDEV 0 if test -z "${image-name}"; then diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh index 8a6539163..1b59668ba 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh @@ -119,7 +119,7 @@ fi # Determine FIP file to program if [ -z "${INSTALL_FIP_FILENAME}" ]; then - INSTALL_FIP_FILENAME="fip-##MACHINE##-optee.bin" + INSTALL_FIP_FILENAME="fip-##MACHINE##.bin" fi # Determine linux, recovery, and rootfs image filenames to update From 0fbed2bfb632e39e114937e5565f68dd7e1d229f Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 10 Jan 2023 14:26:33 +0100 Subject: [PATCH 056/144] meta-digi-arm: remove overlayed recipes meta-freescale started updating the recipes to NXP's rel_imx_5.15.71_2.2.0 release, so now we have a bunch of overlayed recipes we can clean up. Signed-off-by: Javier Viguera --- .../firmware-imx/firmware-imx-8.18.inc | 17 -- .../firmware-imx/firmware-imx-8_8.18.bb | 23 --- .../firmware-imx/firmware-imx-8m_8.18.bb | 24 --- .../firmware-imx/firmware-imx-9_8.18.bb | 2 +- .../firmware-imx/firmware-imx_%.bbappend | 8 + .../firmware-imx/firmware-imx_8.18.bb | 158 ------------------ .../recipes-bsp/imx-atf/imx-atf_2.6.bbappend | 3 - .../recipes-bsp/imx-lib/imx-lib_git.bbappend | 20 +-- .../optee-imx/optee-client.imx.inc | 40 ----- .../optee-client/tee-supplicant.service | 10 -- .../optee-imx/optee-client_3.19.0.imx.bb | 5 - .../optee-imx/optee-os.imx.inc | 100 ----------- .../optee-imx/optee-os_3.19.0.imx.bb | 5 - .../optee-imx/optee-test.imx.inc | 51 ------ .../optee-imx/optee-test_3.19.0.imx.bb | 5 - 15 files changed, 12 insertions(+), 459 deletions(-) delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8.18.inc delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8_8.18.bb delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8m_8.18.bb create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_%.bbappend delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_8.18.bb delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client.imx.inc delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client/tee-supplicant.service delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client_3.19.0.imx.bb delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os.imx.inc delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os_3.19.0.imx.bb delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test.imx.inc delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test_3.19.0.imx.bb diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8.18.inc b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8.18.inc deleted file mode 100644 index ee7fb2cf7..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8.18.inc +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright 2017-2022 NXP -# Copyright (C) 2018 O.S. Systems Software LTDA. -SECTION = "base" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" - -SRC_URI = " \ - ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ -" - -SRC_URI[md5sum] = "436501f8e67c10eed6bba88457e701a2" -SRC_URI[sha256sum] = "f050f60351a54fd75954fdeb133ddd014a5576040c72616e216b63db0e242dd4" - -S = "${WORKDIR}/firmware-imx-${PV}" - -inherit fsl-eula-unpack diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8_8.18.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8_8.18.bb deleted file mode 100644 index 9d96d5c6b..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8_8.18.bb +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2018-2021 NXP -SUMMARY = "Freescale i.MX firmware for 8 family" -DESCRIPTION = "Freescale i.MX firmware for 8 family" - -require firmware-imx-${PV}.inc - -inherit deploy - -do_install[noexec] = "1" - -do_deploy() { - # Cadence HDMI - install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${DEPLOYDIR} - install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${DEPLOYDIR} - install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${DEPLOYDIR} -} -addtask deploy after do_install before do_build - -PACKAGE_ARCH = "${MACHINE_SOCARCH}" - -COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" -COMPATIBLE_MACHINE:mx8m-nxp-bsp = "(^$)" -COMPATIBLE_MACHINE:mx8x-nxp-bsp = "(^$)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8m_8.18.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8m_8.18.bb deleted file mode 100644 index 3ff49979a..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-8m_8.18.bb +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 2018-2021 NXP -SUMMARY = "Freescale i.MX firmware for 8M and 8M Mini family" -DESCRIPTION = "Freescale i.MX firmware for 8M and 8M Mini family" - -require firmware-imx-${PV}.inc - -inherit deploy - -do_install[noexec] = "1" - -do_deploy() { - # Synopsys DDR - for ddr_firmware in ${DDR_FIRMWARE_NAME}; do - install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR} - done - # Cadence DP and HDMI - install -m 0644 ${S}/firmware/hdmi/cadence/signed_dp_imx8m.bin ${DEPLOYDIR} - install -m 0644 ${S}/firmware/hdmi/cadence/signed_hdmi_imx8m.bin ${DEPLOYDIR} -} -addtask deploy after do_install before do_build - -PACKAGE_ARCH = "${MACHINE_SOCARCH}" - -COMPATIBLE_MACHINE = "(mx8m-generic-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-9_8.18.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-9_8.18.bb index 6d7a9ff4a..08a1b4e93 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-9_8.18.bb +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx-9_8.18.bb @@ -2,7 +2,7 @@ SUMMARY = "Freescale i.MX firmware for i.MX 9 family" DESCRIPTION = "Freescale i.MX firmware for i.MX 9 family" -require firmware-imx-${PV}.inc +require recipes-bsp/firmware-imx/firmware-imx-${PV}.inc inherit deploy diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_%.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_%.bbappend new file mode 100644 index 000000000..9d4bb94b9 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_%.bbappend @@ -0,0 +1,8 @@ +# Copyright (C) 2023, Digi International Inc. + +do_install:append() { + # meta-freescale deletes the SDMA firmware provided by the firmware-imx package, + # in favor of the generic one provided by the linux-firmware package. The one + # provided by NXP is more up-to-date, so we want it back. + install -m 0644 ${S}/firmware/sdma/* ${D}${nonarch_base_libdir}/firmware/imx/sdma +} diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_8.18.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_8.18.bb deleted file mode 100644 index c0b79290a..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_8.18.bb +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright 2017-2021 NXP -# Copyright (C) 2018 O.S. Systems Software LTDA. -SUMMARY = "Freescale i.MX firmware" -DESCRIPTION = "Freescale i.MX firmware such as for the VPU" - -require firmware-imx-${PV}.inc - -PE = "1" - -inherit allarch - -do_install() { - install -d ${D}${nonarch_base_libdir}/firmware/imx - - # SDMA Firmware section - install -d ${D}${nonarch_base_libdir}/firmware/imx/sdma - install -m 0644 ${S}/firmware/sdma/* ${D}${nonarch_base_libdir}/firmware/imx/sdma - # Comment these lines to use sdma-imx6q/7d.bin from here and not linux-firmware - #rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin - #rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin - - # EASRC Firmware section - install -d ${D}${nonarch_base_libdir}/firmware/imx/easrc - install -m 0644 ${S}/firmware/easrc/* ${D}${nonarch_base_libdir}/firmware/imx/easrc/ - - # XCVR Firmware section - install -d ${D}${nonarch_base_libdir}/firmware/imx/xcvr - install -m 0644 ${S}/firmware/xcvr/* ${D}${nonarch_base_libdir}/firmware/imx/xcvr/ - - # XUVI Firmware section - install -d ${D}${nonarch_base_libdir}/firmware/imx/xuvi - install -m 0644 ${S}/firmware/xuvi/* ${D}${nonarch_base_libdir}/firmware/imx/xuvi/ - - # EPDC Firmware section - # NOTE: - # epdc_ED060XH2C1.fw file has .nonrestricted suffix in the source archive, hence it should - # be installed with a different name - install -d ${D}${nonarch_base_libdir}/firmware/imx/epdc - install -m 0644 ${S}/firmware/epdc/*.fw ${D}${nonarch_base_libdir}/firmware/imx/epdc/ - install -m 0644 ${S}/firmware/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${nonarch_base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw - - # HDMI Firmware section - # NOTE: - # Only install pre-defined list of firmware files, since the source archive contains - # also HDMI binary files for imx8m derivatives, which are taken care of by another recipe - install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${nonarch_base_libdir}/firmware - install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${nonarch_base_libdir}/firmware - install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${D}${nonarch_base_libdir}/firmware - - # VPU Firmware section - # NOTE: - # Do the same thing as above for HDMI - only install a pre-defined list of firmware files, - # as some of other files are provided by packages from other recipes. - install -d ${D}${nonarch_base_libdir}/firmware/vpu - install -m 0644 ${S}/firmware/vpu/vpu_fw_imx*.bin ${D}${nonarch_base_libdir}/firmware/vpu -} - -# -# This prepend is here to produce separate packages containing firmware, -# which could be included separately based on the machine definition. -# -# It operates similar to the FILES mechanism by travesing through -# ${D} + folder supplied as a first parameter, matches the regexp supplied -# as second one, and for every file match - it creates a separate package, -# which contains only files that matches the pattern. -# -python populate_packages:prepend() { - # CODA driver tries to locate VPU firmwares directly in ${nonarch_base_libdir}/firmware, to - # avoid fallback loading which is usually 40-60 seconds later after system boots up, let's - # create symbolic links in ${nonarch_base_libdir}/firmware for VPU firmwares. - def coda_vpu_links(file, pkg, pattern, format, basename): - # Only CODA VPU firmwares need this procedure - if 'imx8' in basename: - return - - dir = os.path.dirname(file) - dir = os.path.abspath(os.path.join(dir, os.pardir)) - cwd = os.getcwd() - - os.chdir(dir) - - name = os.path.basename(file) - os.symlink(os.path.join("vpu", name), name) - - oldfiles = d.getVar('FILES:' + pkg) - newfile = os.path.join(d.getVar('nonarch_base_libdir'), "firmware", name) - d.setVar('FILES:' + pkg, oldfiles + " " + newfile) - - os.chdir(cwd) - - - easrcdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/easrc', d) - do_split_packages(d, easrcdir, '^easrc-([^_]*).*\.bin', - output_pattern='firmware-imx-easrc-%s', - description='Freescale IMX EASRC Firmware [%s]', - extra_depends='', - prepend=True) - - vpudir = bb.data.expand('${nonarch_base_libdir}/firmware/vpu', d) - do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin', - output_pattern='firmware-imx-vpu-%s', - description='Freescale IMX VPU Firmware [%s]', - hook=coda_vpu_links, - extra_depends='', - prepend=True) - - sdmadir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/sdma', d) - do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin', - output_pattern='firmware-imx-sdma-%s', - description='Freescale IMX SDMA Firmware [%s]', - extra_depends='', - prepend=True) - - xcvrdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xcvr', d) - do_split_packages(d, xcvrdir, '^xcvr-([^_]*).*\.bin', - output_pattern='firmware-imx-xcvr-%s', - description='Freescale IMX XCVR Firmware [%s]', - extra_depends='', - prepend=True) - - xuvidir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xuvi', d) - do_split_packages(d, xuvidir, '^vpu_fw_([^_]*).*\.bin', - output_pattern='firmware-imx-xuvi-%s', - description='Freescale IMX XUVI Firmware [%s]', - extra_depends='', - prepend=True) -} - -# Declare a contract that we would provide packages produced by prepend above -PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-* ${PN}-easrc-* ${PN}-xcvr-* ${PN}-xuvi-*" - -# -# Deal with the rest of Firmware packages here -# -# Provide EPDC and HDMI Firmware in common packages as they tend to be special in -# terms of the content. -# -# NOTE: PACKAGES are defined explicitly here in order to remove the auto-generated -# complimentary packages (-dev and -dbg). -# This is done in order to be able to keep the main package empty and fail when -# somebody tries to install it in the image. -# If -dev package is present in that setup, and dev-pkgs is enabled in -# IMAGE_FEATURES - this leads to a failure during do_rootfs() while all -dev -# packages would be installed, and -dev package would fail because the main one -# is empty. -# Therefore, we opt-out from producing -dev package here, since also for firmware -# files it makes no sense. -PACKAGES = "${PN} ${PN}-epdc ${PN}-hdmi" - -FILES:${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/" -FILES:${PN}-hdmi = " \ - ${nonarch_base_libdir}/firmware/hdmitxfw.bin \ - ${nonarch_base_libdir}/firmware/hdmirxfw.bin \ - ${nonarch_base_libdir}/firmware/dpfw.bin \ -" - -COMPATIBLE_MACHINE = "(imx-generic-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.6.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.6.bbappend index 00b470161..e349dfb49 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.6.bbappend +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.6.bbappend @@ -10,9 +10,6 @@ SRC_URI:append = " \ file://0005-ccimx93-use-UART6-for-the-default-console.patch \ " -# Release "lf-5.15.71-2.2.0" -SRCREV = "3c1583ba0a5d11e5116332e91065cb3740153a46" - BOOT_TOOLS = "imx-boot-tools" do_deploy:append() { diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-lib/imx-lib_git.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-lib/imx-lib_git.bbappend index 6648a61bc..740cb94ef 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-lib/imx-lib_git.bbappend +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-lib/imx-lib_git.bbappend @@ -1,19 +1,5 @@ -# Copyright 2017,2021 NXP +# Copyright (C) 2023 Digi International -PV = "5.9+${SRCPV}" +PLATFORM:mx9-nxp-bsp = "IMX8ULP" -SRCBRANCH = "lf-5.10.72_2.2.0" -IMXLIB_SRC ?= "git://source.codeaurora.org/external/imx/imx-lib.git;protocol=https" -SRC_URI = " \ - ${IMXLIB_SRC};branch=${SRCBRANCH} \ -" -SRCREV = "87ddd80953835eb29027d1d5a12044a08e809e40" - -PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP" - -do_install:append () { - # Remove .go file for Android - find ${D}/ -name *.go -exec rm {} \; -} - -COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8ulp-nxp-bsp)" +COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8ulp-nxp-bsp|mx9-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client.imx.inc b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client.imx.inc deleted file mode 100644 index 7b6de718b..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client.imx.inc +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright (C) 2017-2022 NXP - -SUMMARY = "OPTEE Client libs" -HOMEPAGE = "http://www.optee.org/" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b" - -OPTEE_CLIENT_SRC ?= "git://github.com/nxp-imx/imx-optee-client.git;protocol=https" -SRC_URI = " \ - ${OPTEE_CLIENT_SRC};branch=${SRCBRANCH} \ - file://tee-supplicant.service \ -" - -FILESEXTRAPATHS:append := ":${THISDIR}/optee-client" - -S = "${WORKDIR}/git" -B = "${WORKDIR}/build" - -inherit python3native systemd features_check pkgconfig - -DEPENDS = "util-linux-libuuid" - -REQUIRED_MACHINE_FEATURES = "optee" - -SYSTEMD_SERVICE:${PN} = "tee-supplicant.service" - -EXTRA_OEMAKE = " \ - -C ${S} O=${B} \ -" - -do_install () { - oe_runmake install DESTDIR=${D} - install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service - sed -i \ - -e s:/etc:${sysconfdir}:g \ - -e s:/usr/sbin:${sbindir}:g \ - ${D}${systemd_system_unitdir}/tee-supplicant.service -} - -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client/tee-supplicant.service b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client/tee-supplicant.service deleted file mode 100644 index ffb54d390..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client/tee-supplicant.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=TEE Supplicant - -[Service] -User=root -EnvironmentFile=-/etc/default/tee-supplicant -ExecStart=/usr/sbin/tee-supplicant $OPTARGS - -[Install] -WantedBy=basic.target diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client_3.19.0.imx.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client_3.19.0.imx.bb deleted file mode 100644 index 035a1768b..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client_3.19.0.imx.bb +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright (C) 2022 NXP -require optee-client.imx.inc - -SRCBRANCH = "lf-5.15.71_2.2.0" -SRCREV = "644022f8970c832a40be00747fcec70c7b5d488c" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os.imx.inc b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os.imx.inc deleted file mode 100644 index 8fd925a9d..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os.imx.inc +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright (C) 2017-2022 NXP - -SUMMARY = "OPTEE OS" -DESCRIPTION = "OPTEE OS" -HOMEPAGE = "http://www.optee.org/" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173" - -DEPENDS = "python3-pyelftools-native u-boot-mkimage-native \ - python3-cryptography-native" - -OPTEE_OS_SRC ?= "git://github.com/nxp-imx/imx-optee-os.git;protocol=https" -SRC_URI = "${OPTEE_OS_SRC};branch=${SRCBRANCH}" - -S = "${WORKDIR}/git" -B = "${WORKDIR}/build" - -inherit deploy python3native autotools features_check - -REQUIRED_MACHINE_FEATURES = "optee" - -# The platform flavor corresponds to the Yocto machine without the leading 'i'. -PLATFORM_FLAVOR = "${@d.getVar('MACHINE')[1:]}" -PLATFORM_FLAVOR:imx6qpdlsolox = "mx6qsabresd" -PLATFORM_FLAVOR:mx6ul-nxp-bsp = "mx6ulevk" -PLATFORM_FLAVOR:mx6ull-nxp-bsp = "mx6ullevk" -PLATFORM_FLAVOR:mx6ulz-nxp-bsp = "mx6ulzevk" -PLATFORM_FLAVOR:mx8mq-nxp-bsp = "mx8mqevk" -PLATFORM_FLAVOR:mx8mm-nxp-bsp = "mx8mmevk" -PLATFORM_FLAVOR:mx8mn-nxp-bsp = "mx8mnevk" -PLATFORM_FLAVOR:mx8mp-nxp-bsp = "mx8mpevk" -PLATFORM_FLAVOR:mx8mpul-nxp-bsp = "mx8mpevk" -PLATFORM_FLAVOR:mx8qm-nxp-bsp = "mx8qmmek" -PLATFORM_FLAVOR:mx8qxp-nxp-bsp = "mx8qxpmek" -PLATFORM_FLAVOR:mx8dx-nxp-bsp = "mx8dxmek" -PLATFORM_FLAVOR:mx8dxl-nxp-bsp = "mx8dxlevk" -PLATFORM_FLAVOR:mx8mnul-nxp-bsp = "mx8mnevk" -PLATFORM_FLAVOR:mx8ulp-nxp-bsp = "mx8ulpevk" -PLATFORM_FLAVOR:mx93-nxp-bsp = "mx93evk" - -EXTRA_OEMAKE = " \ - PLATFORM=imx-${PLATFORM_FLAVOR} \ - CROSS_COMPILE=${HOST_PREFIX} \ - CROSS_COMPILE64=${HOST_PREFIX} \ - CFG_TEE_TA_LOG_LEVEL=0 \ - CFG_TEE_CORE_LOG_LEVEL=0 \ - OPENSSL_MODULES=${STAGING_LIBDIR_NATIVE}/ossl-modules \ - -C ${S} O=${B} \ -" - -LDFLAGS[unexport] = "1" -CFLAGS += "--sysroot=${STAGING_DIR_HOST}" -CXXFLAGS += "--sysroot=${STAGING_DIR_HOST}" - -OPTEE_ARCH:arm = "arm32" -OPTEE_ARCH:aarch64 = "arm64" - -do_configure[noexec] = "1" - -do_compile:arm () { - oe_runmake all uTee -} - -do_compile:aarch64 () { - oe_runmake all -} -do_compile[cleandirs] = "${B}" - -do_deploy () { - install -d ${DEPLOYDIR} - cp ${B}/core/tee-raw.bin ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin - ln -sf tee.${PLATFORM_FLAVOR}.bin ${DEPLOYDIR}/tee.bin -} - -do_deploy:append:arm () { - cp ${B}/core/uTee ${DEPLOYDIR}/uTee-${OPTEE_BIN_EXT} -} - -do_install () { - install -d ${D}${nonarch_base_libdir}/firmware/ - install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/ - - # Install embedded TAs - install -d ${D}${nonarch_base_libdir}/optee_armtz/ - install -m 444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/ - - # Install TA devkit - install -d ${D}${includedir}/optee/export-user_ta_${OPTEE_ARCH}/ - cp -aR ${B}/export-ta_${OPTEE_ARCH}/* \ - ${D}${includedir}/optee/export-user_ta_${OPTEE_ARCH}/ -} - -addtask deploy after do_compile before do_install - -FILES:${PN} = "${nonarch_base_libdir}/firmware/ ${nonarch_base_libdir}/optee_armtz/" -FILES:${PN}-staticdev = "${includedir}/optee/" -RDEPENDS:${PN}-dev += "${PN}-staticdev" - -PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os_3.19.0.imx.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os_3.19.0.imx.bb deleted file mode 100644 index 78ba6b9c4..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os_3.19.0.imx.bb +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright (C) 2022 NXP -require optee-os.imx.inc - -SRCBRANCH = "lf-5.15.71_2.2.0" -SRCREV = "00919403f040fad4f8603e605932281ff8451b1d" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test.imx.inc b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test.imx.inc deleted file mode 100644 index 4383fa2c3..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test.imx.inc +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright (C) 2017-2022 NXP - -SUMMARY = "OPTEE test" -HOMEPAGE = "http://www.optee.org/" - -LICENSE = "BSD-2-Clause & GPL-2.0-only" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa" - -DEPENDS = "python3-cryptography-native optee-os optee-client openssl" - -OPTEE_TEST_SRC ?= "git://github.com/nxp-imx/imx-optee-test.git;protocol=https" -SRC_URI = "${OPTEE_TEST_SRC};branch=${SRCBRANCH}" - -S = "${WORKDIR}/git" -B = "${WORKDIR}/build" - - -inherit python3native features_check - -REQUIRED_MACHINE_FEATURES = "optee" - -OPTEE_ARCH:arm = "arm32" -OPTEE_ARCH:aarch64 = "arm64" - -CFLAGS += "--sysroot=${STAGING_DIR_HOST}" -CXXFLAGS += "--sysroot=${STAGING_DIR_HOST}" - -EXTRA_OEMAKE = " \ - TA_DEV_KIT_DIR=${STAGING_INCDIR}/optee/export-user_ta_${OPTEE_ARCH}/ \ - OPTEE_CLIENT_EXPORT=${STAGING_DIR_HOST}${exec_prefix} \ - CROSS_COMPILE_HOST=${HOST_PREFIX} \ - CROSS_COMPILE_TA=${HOST_PREFIX} \ - CROSS_COMPILE=${HOST_PREFIX} \ - OPENSSL_MODULES=${STAGING_LIBDIR_NATIVE}/ossl-modules \ - -C ${S} O=${B} \ -" - -do_compile() { - oe_runmake all -} -do_compile[cleandirs] = "${B}" - -do_install () { - oe_runmake install DESTDIR=${D} -} - -FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/ ${libdir}/tee-supplicant/plugins/" - -RDEPENDS:${PN} = "optee-os" - -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test_3.19.0.imx.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test_3.19.0.imx.bb deleted file mode 100644 index f5b088a9f..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test_3.19.0.imx.bb +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright (C) 2022 NXP -require optee-test.imx.inc - -SRCBRANCH = "lf-5.15.71_2.2.0" -SRCREV = "5c1dbb531b304f7ae100958f6261b6cefea49b62" From 54c71f587a0f5a9703939d66561b16f457cee6c3 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 10 Jan 2023 15:48:30 +0100 Subject: [PATCH 057/144] qtwayland: disable vulkan pkgconfig for mx8mm This was incorrectly removed in last commit affecting this recipe. Removing vulkan config option is needed to prevent a build failure. Signed-off-by: Javier Viguera --- .../freescale-layer/recipes-qt/qt5/qtwayland_%.bbappend | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwayland_%.bbappend b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwayland_%.bbappend index 65d1f88c3..d0d85396a 100644 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwayland_%.bbappend +++ b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwayland_%.bbappend @@ -1,4 +1,5 @@ PACKAGECONFIG:remove:mx6sl-nxp-bsp = "wayland-egl" +PACKAGECONFIG:remove:mx8mm-nxp-bsp = "wayland-vulkan-server-buffer" PACKAGECONFIG:remove:mx9-nxp-bsp = "xcomposite-egl xcomposite-glx" do_install:append() { From de0e08a7c0e7a33cc9bc16ea82cd8fcc524e3dca Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 11 Jan 2023 13:39:24 +0100 Subject: [PATCH 058/144] machine:ccimx8m: remove Fusion dtbo For the momment, Fusion support is not ready in the 5.15 kernel, so do not add the dtb overlay. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/ccimx8mm-dvk.conf | 1 - meta-digi-arm/conf/machine/ccimx8mn-dvk.conf | 1 - 2 files changed, 2 deletions(-) diff --git a/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf b/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf index 25618082e..1f8ee4c24 100644 --- a/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf @@ -29,7 +29,6 @@ KERNEL_DEVICETREE ?= " \ digi/ccimx8mm-dvk.dtb \ digi/_ov_board_flexspi_ccimx8m-dvk.dtbo \ digi/_ov_board_gpio-watchdog_ccimx8m-dvk.dtbo \ - digi/_ov_board_hsd101pfw2-lvds_ccimx8m-dvk.dtbo \ digi/_ov_board_lvds_ccimx8m-dvk.dtbo \ digi/_ov_board_user-leds_ccimx8m-dvk.dtbo \ digi/_ov_som_bt_ccimx8m.dtbo \ diff --git a/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf b/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf index 03cadf8e0..10c891a27 100644 --- a/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf @@ -29,7 +29,6 @@ KERNEL_DEVICETREE ?= " \ digi/ccimx8mn-dvk.dtb \ digi/_ov_board_flexspi_ccimx8m-dvk.dtbo \ digi/_ov_board_gpio-watchdog_ccimx8m-dvk.dtbo \ - digi/_ov_board_hsd101pfw2-lvds_ccimx8m-dvk.dtbo \ digi/_ov_board_lvds_ccimx8m-dvk.dtbo \ digi/_ov_board_user-leds_ccimx8m-dvk.dtbo \ digi/_ov_board_v1-v2_ccimx8mn-dvk.dtbo \ From c2a333de7603e179ed823e538b034476625a636e Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 11 Jan 2023 17:22:43 +0100 Subject: [PATCH 059/144] meta-digi: another round of updates following meta-freescale meta-freescale did another merge of recipe updates that we need to follow to prevent build failures. Signed-off-by: Javier Viguera --- .../conf/machine/include/imx-digi-base.inc | 8 +- .../imx-codec/imx-codec.inc | 119 ------------------ .../imx-codec/imx-codec_4.6.3.bb | 12 -- .../imx-parser/imx-parser_%.bbappend | 1 + 4 files changed, 5 insertions(+), 135 deletions(-) delete mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-codec/imx-codec.inc delete mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-codec/imx-codec_4.6.3.bb diff --git a/meta-digi-arm/conf/machine/include/imx-digi-base.inc b/meta-digi-arm/conf/machine/include/imx-digi-base.inc index e7498eca9..d93b93465 100644 --- a/meta-digi-arm/conf/machine/include/imx-digi-base.inc +++ b/meta-digi-arm/conf/machine/include/imx-digi-base.inc @@ -204,10 +204,10 @@ MACHINE_GSTREAMER_1_0_PLUGIN:mx8dx-nxp-bsp ?= "imx-gst1.0-plugin imx-gst1.0-plu # In 'meta-freescale' these gstreamer preferred versions are restricted to 'mx8-nxp-bsp' # but in DEY we use them also in the 6UL, so relax the override to 'imx-nxp-base' -PREFERRED_VERSION_gstreamer1.0:imx-nxp-bsp ??= "1.20.0.imx" -PREFERRED_VERSION_gstreamer1.0-plugins-base:imx-nxp-bsp ??= "1.20.0.imx" -PREFERRED_VERSION_gstreamer1.0-plugins-good:imx-nxp-bsp ??= "1.20.0.imx" -PREFERRED_VERSION_gstreamer1.0-plugins-bad:imx-nxp-bsp ??= "1.20.0.imx" +PREFERRED_VERSION_gstreamer1.0:imx-nxp-bsp ??= "1.20.3.imx" +PREFERRED_VERSION_gstreamer1.0-plugins-base:imx-nxp-bsp ??= "1.20.3.imx" +PREFERRED_VERSION_gstreamer1.0-plugins-good:imx-nxp-bsp ??= "1.20.3.imx" +PREFERRED_VERSION_gstreamer1.0-plugins-bad:imx-nxp-bsp ??= "1.20.3.imx" PREFERRED_VERSION_ffmpeg:imx-nxp-bsp ??= "4.4.1" # Determines if the SoC has support for Vivante kernel driver diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-codec/imx-codec.inc b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-codec/imx-codec.inc deleted file mode 100644 index 80f7df1e9..000000000 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-codec/imx-codec.inc +++ /dev/null @@ -1,119 +0,0 @@ -# Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright 2017-2021 NXP -# Released under the MIT license (see COPYING.MIT for the terms) -DESCRIPTION = "Freescale Multimedia codec libs" -LICENSE = "Proprietary" -SECTION = "multimedia" -LIC_FILES_CHKSUM = "file://COPYING;md5=6b552f505eedab4a11ab538cf3db743a" - -# Backward compatibility -PROVIDES += "libfslcodec" - -inherit fsl-eula-unpack autotools pkgconfig - -SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" - -# Choose between 32bit and 64bit binaries -EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \ - bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d), d)}" - -PACKAGECONFIG ?= "" -# Enable vpu PACKAGECONFIG for aarch32 vpu platforms only -PACKAGECONFIG:mx6q-nxp-bsp = "vpu" -PACKAGECONFIG:mx6dl-nxp-bsp = "vpu" - -PACKAGECONFIG[vpu] = "--enable-vpu,--disable-vpu,virtual/imxvpu" - -do_install:append() { - # FIXME: This link points to nowhere - if [ -e ${D}${libdir}/imx-mm/audio-codec/lib_src_ppp_arm11_elinux.so ]; then - rm ${D}${libdir}/imx-mm/audio-codec/lib_src_ppp_arm11_elinux.so - fi - - # LTIB move the files around or gst-fsl-plugin won't find them - for p in $(find ${D}${libdir}/imx-mm -mindepth 2 -maxdepth 2 -not -type d); do - mv $p ${D}${libdir} - done - rmdir ${D}${libdir}/imx-mm/video-codec - -} - -python __set_insane_skip() { - # Ensure we have PACKAGES expanded - bb.build.exec_func("read_subpackage_metadata", d) - - for p in d.getVar('PACKAGES', True).split(): - # Even though we are packaging libraries those are plugins so we - # shouldn't rename the packages to follow its sonames. - d.setVar("DEBIAN_NOAUTONAME:%s" % p, "1") - - # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have - # the source we cannot fix it. Disable the insane check for now. - if p == 'imx-codec-test-bin': - # FIXME: includes the DUT .so files so we need to deploy those - d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel libdir") - else: - d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel") -} - -do_package_qa[prefuncs] += "__set_insane_skip" - -python __split_libfslcodec_plugins() { - codecdir = bb.data.expand('${libdir}', d) - do_split_packages(d, codecdir, '^lib_([^_]*).*_arm.*_elinux\.so\..*', - aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*', - output_pattern='imx-codec-%s', - description='Freescale i.MX Codec (%s)', - extra_depends='') - pkgs = d.getVar('PACKAGES', True).split() - for pkg in pkgs: - meta = pkg[10:] - if meta != '': - d.setVar('RREPLACES:%s' % pkg, ' libfslcodec-%s' % meta) - d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec-%s' % meta) - d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec-%s' % meta) - else : - d.setVar('RREPLACES:%s' % pkg, ' libfslcodec') - d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec') - d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec') -} - -python __set_metapkg_rdepends() { - # Allow addition of all codecs in a image; useful specially for - # debugging. - codec_pkgs = oe.utils.packages_filter_out_system(d) - codec_pkgs = filter(lambda x: x not in ['imx-codec-test-bin', 'imx-codec-test-source'], - codec_pkgs) - d.appendVar('RDEPENDS:imx-codec-meta', ' ' + ' '.join(codec_pkgs)) -} - -PACKAGESPLITFUNCS =+ "__split_libfslcodec_plugins __set_metapkg_rdepends" - -PACKAGES_DYNAMIC = "${PN}-*" -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" - -PACKAGES += "${PN}-meta ${PN}-test-bin ${PN}-test-source lib-src-ppp-arm11-elinux1" - -ALLOW_EMPTY:${PN} = "1" -ALLOW_EMPTY:${PN}-meta = "1" - -# Ensure we get warnings if we miss something -FILES:${PN} = "" - -FILES:${PN}-dev += "${libdir}/imx-mm/*/*${SOLIBSDEV} \ - ${libdir}/imx-mm/*/*/*${SOLIBSDEV} \ - ${libdir}/pkgconfig/*.pc ${includedir}/imx-mm/*" - -FILES:${PN}-test-bin += "${datadir}/imx-mm/*/examples/*/bin" - -FILES:${PN}-test-source += "${datadir}/imx-mm/*" - -# FIXME: The wrap and lib names does not match -FILES:${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm*_elinux.so.*" -FILES:${PN}-nb += "${libdir}/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm*_elinux.so.*" -FILES:${PN}-wb += "${libdir}/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm*_elinux.so.*" -FILES:lib-src-ppp-arm11-elinux1 += "${libdir}/lib_src_ppp_arm11_elinux.so.1" - -PACKAGE_ARCH:mx6q-nxp-bsp = "${MACHINE_SOCARCH}" -PACKAGE_ARCH:mx6dl-nxp-bsp = "${MACHINE_SOCARCH}" diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-codec/imx-codec_4.6.3.bb b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-codec/imx-codec_4.6.3.bb deleted file mode 100644 index 21834885c..000000000 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-codec/imx-codec_4.6.3.bb +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (C) 2013-2016 Freescale Semiconductor -# Copyright 2017-2021 NXP -# Released under the MIT license (see COPYING.MIT for the terms) - -require imx-codec.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f" - -SRC_URI[md5sum] = "f4b85212470daa797c91d2142faa493b" -SRC_URI[sha256sum] = "8203956cddb3cac560efafcc60e8cab07dded8fea53bd144576d1ae6f3269826" - -COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8-nxp-bsp)" diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-parser/imx-parser_%.bbappend b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-parser/imx-parser_%.bbappend index 6e0bcb7a0..e0fc1b24b 100644 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-parser/imx-parser_%.bbappend +++ b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/imx-parser/imx-parser_%.bbappend @@ -3,6 +3,7 @@ # Empirically detected binaries that are not needed for a given platform REDUNDANT_BINS ?= "" REDUNDANT_BINS:ccimx6ul ?= " \ + usr/lib/imx-mm/parser/lib_ape_parser_arm9_elinux* \ usr/lib/imx-mm/parser/lib_avi_parser_arm9_elinux* \ usr/lib/imx-mm/parser/lib_flv_parser_arm9_elinux* \ usr/lib/imx-mm/parser/lib_mkv_parser_arm9_elinux* \ From 5a3376af2149991b6b96224b578a7c3729854cb2 Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Wed, 30 Nov 2022 10:31:48 +0100 Subject: [PATCH 060/144] libconfuse: use recipe in meta-openembedded Signed-off-by: Tatiana Leon --- .../cloudconnector/cloudconnector_git.bb | 2 +- .../recipes-digi/dey-examples/awsiotsdk-demo_git.bb | 2 +- meta-digi-dey/recipes-support/confuse/confuse_3.0.bb | 12 ------------ 3 files changed, 2 insertions(+), 14 deletions(-) delete mode 100644 meta-digi-dey/recipes-support/confuse/confuse_3.0.bb diff --git a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb index e0b25e3ca..e61cf97ee 100644 --- a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb +++ b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb @@ -5,7 +5,7 @@ SECTION = "libs" LICENSE = "MPL-2.0" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MPL-2.0;md5=815ca599c9df247a0c7f619bab123dad" -DEPENDS = "confuse libdigiapix openssl recovery-utils swupdate zlib json-c" +DEPENDS = "libconfuse libdigiapix openssl recovery-utils swupdate zlib json-c" SRCBRANCH = "master" SRCREV = "${AUTOREV}" diff --git a/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb b/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb index e3518bb28..8dbde22b8 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb @@ -8,7 +8,7 @@ SECTION = "base" LICENSE = "ISC" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d" -DEPENDS = "awsiotsdk-c confuse" +DEPENDS = "awsiotsdk-c libconfuse" AWS_USER_LED ?= "" AWS_USER_LED:ccimx6ulstarter ?= "75" diff --git a/meta-digi-dey/recipes-support/confuse/confuse_3.0.bb b/meta-digi-dey/recipes-support/confuse/confuse_3.0.bb deleted file mode 100644 index c6fe89eda..000000000 --- a/meta-digi-dey/recipes-support/confuse/confuse_3.0.bb +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (C) 2017, Digi International Inc. - -SUMMARY = "Configuration file parser library" -SECTION = "libs" -LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ef0220292b0cce0a53f5faff0d1f102a" - -SRC_URI = "https://github.com/martinh/libconfuse/releases/download/v${PV}/confuse-${PV}.tar.gz" -SRC_URI[md5sum] = "bf03099ef213647451c70e54ad4b6e81" -SRC_URI[sha256sum] = "f1f326d9443103036d19c32d3f3efec3a85c3b081d99534463668d29992c4648" - -inherit autotools gettext From b90fcda30237760d6f6eafb98d5c478d4250855d Mon Sep 17 00:00:00 2001 From: Isaac Hermida Date: Thu, 12 Jan 2023 17:08:46 +0100 Subject: [PATCH 061/144] connectcore-demo-example: fix start of service Change the condition to start after the weston service. While on it, add a "requires" option given that weston is mandatory to have the "cog" tool running. Signed-off-by: Isaac Hermida --- .../connectcore-demo-example.service | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service index 073253885..bc1490e2b 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service @@ -1,6 +1,7 @@ [Unit] Description=Initialization of the ConnectCore demo example -After=weston@root.service busybox-httpd.service +After=weston.service busybox-httpd.service +Requires=weston.service [Service] Type=forking From a0fa0d381230a8d050579a62f24e093bd252436b Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Tue, 3 Jan 2023 16:17:25 +0100 Subject: [PATCH 062/144] install: add option to install system B for dual boot https://onedigi.atlassian.net/browse/DEL-8232 Signed-off-by: Mike Engel --- .../u-boot-dey/ccmp1/install_linux_fw_sd.txt | 71 +++++++++++-------- .../u-boot-dey/ccmp1/install_linux_fw_usb.txt | 71 +++++++++++-------- .../u-boot-dey/ccmp1/install_linux_fw_uuu.sh | 28 ++++++-- 3 files changed, 105 insertions(+), 65 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt index 25f729acc..31b686821 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt @@ -51,12 +51,18 @@ echo " --------- --------" echo " fsbl1 ${INSTALL_ATF_FILENAME}" echo " fsbl2 ${INSTALL_ATF_FILENAME}" echo " fip-a ${INSTALL_FIP_FILENAME}" -echo " fip-b ${INSTALL_FIP_FILENAME}" +if test "${install_dualboot}" = "yes"; then + echo " fip-b ${INSTALL_FIP_FILENAME}" +fi if test "${dualboot}" = "yes"; then echo " linux_a ${INSTALL_LINUX_FILENAME}" - echo " linux_b ${INSTALL_LINUX_FILENAME}" + if test "${install_dualboot}" = "yes"; then + echo " linux_b ${INSTALL_LINUX_FILENAME}" + fi echo " rootfs_a ${INSTALL_ROOTFS_FILENAME}" - echo " rootfs_b ${INSTALL_ROOTFS_FILENAME}" + if test "${install_dualboot}" = "yes"; then + echo " rootfs_b ${INSTALL_ROOTFS_FILENAME}" + fi else echo " linux ${INSTALL_LINUX_FILENAME}" echo " recovery ${INSTALL_RECOVERY_FILENAME}" @@ -111,12 +117,14 @@ if test $? -eq 1; then echo "Aborted."; exit; fi -update fip-b mmc ${INSTALL_MMCDEV} ${INSTALL_FIP_FILENAME} -if test $? -eq 1; then - echo "[ERROR] Failed to update fip-b!"; - echo ""; - echo "Aborted."; - exit; +if test "${install_dualboot}" = "yes"; then + update fip-b mmc ${INSTALL_MMCDEV} ${INSTALL_FIP_FILENAME} + if test $? -eq 1; then + echo "[ERROR] Failed to update fip-b!"; + echo ""; + echo "Aborted."; + exit; + fi fi # Check if uboot_config volume exists (U-Boot env) @@ -141,6 +149,7 @@ fi setenv bootcmd " env default -a; setenv dualboot ${dualboot}; + setenv install_dualboot ${install_dualboot}; run ubivolscript; if test \"\$\{dualboot\}\" = yes; then echo \"\"; @@ -155,17 +164,19 @@ setenv bootcmd " echo \"Aborted.\"; exit; fi; - echo \"\"; - echo \"\"; - echo \">> Installing file ${INSTALL_LINUX_FILENAME} on linux_b\"; - echo \"\"; - echo \"\"; - update linux_b mmc ${INSTALL_MMCDEV} ${INSTALL_LINUX_FILENAME} ${force_erase}; - if test \$? -eq 1; then - echo \"[ERROR] Failed to update linux_b!\"; + if test \"\$\{install_dualboot\}\" = yes; then echo \"\"; - echo \"Aborted.\"; - exit; + echo \"\"; + echo \">> Installing file ${INSTALL_LINUX_FILENAME} on linux_b\"; + echo \"\"; + echo \"\"; + update linux_b mmc ${INSTALL_MMCDEV} ${INSTALL_LINUX_FILENAME} ${force_erase}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update linux_b!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; fi; echo \"\"; echo \"\"; @@ -179,17 +190,19 @@ setenv bootcmd " echo \"Aborted.\"; exit; fi; - echo \"\"; - echo \"\"; - echo \">> Installing file ${INSTALL_ROOTFS_FILENAME} on rootfs_b\"; - echo \"\"; - echo \"\"; - update rootfs_b mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME} ${force_erase}; - if test \$? -eq 1; then - echo \"[ERROR] Failed to update rootfs_b partition!\"; + if test \"\$\{install_dualboot\}\" = yes; then echo \"\"; - echo \"Aborted.\"; - exit; + echo \"\"; + echo \">> Installing file ${INSTALL_ROOTFS_FILENAME} on rootfs_b\"; + echo \"\"; + echo \"\"; + update rootfs_b mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME} ${force_erase}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update rootfs_b partition!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; fi; else echo \"\"; diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt index bf3bcb0c9..300373c39 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt @@ -51,12 +51,18 @@ echo " --------- --------" echo " fsbl1 ${INSTALL_ATF_FILENAME}" echo " fsbl2 ${INSTALL_ATF_FILENAME}" echo " fip-a ${INSTALL_FIP_FILENAME}" -echo " fip-b ${INSTALL_FIP_FILENAME}" +if test "${install_dualboot}" = "yes"; then + echo " fip-b ${INSTALL_FIP_FILENAME}" +fi if test "${dualboot}" = "yes"; then echo " linux_a ${INSTALL_LINUX_FILENAME}" - echo " linux_b ${INSTALL_LINUX_FILENAME}" + if test "${install_dualboot}" = "yes"; then + echo " linux_b ${INSTALL_LINUX_FILENAME}" + fi echo " rootfs_a ${INSTALL_ROOTFS_FILENAME}" - echo " rootfs_b ${INSTALL_ROOTFS_FILENAME}" + if test "${install_dualboot}" = "yes"; then + echo " rootfs_b ${INSTALL_ROOTFS_FILENAME}" + fi else echo " linux ${INSTALL_LINUX_FILENAME}" echo " recovery ${INSTALL_RECOVERY_FILENAME}" @@ -111,12 +117,14 @@ if test $? -eq 1; then echo "Aborted."; exit; fi -update fip-b usb ${INSTALL_USBDEV} ${INSTALL_FIP_FILENAME} -if test $? -eq 1; then - echo "[ERROR] Failed to update fip-b!"; - echo ""; - echo "Aborted."; - exit; +if test "${install_dualboot}" = "yes"; then + update fip-b usb ${INSTALL_USBDEV} ${INSTALL_FIP_FILENAME} + if test $? -eq 1; then + echo "[ERROR] Failed to update fip-b!"; + echo ""; + echo "Aborted."; + exit; + fi fi # Check if uboot_config volume exists (U-Boot env) @@ -141,6 +149,7 @@ fi setenv bootcmd " env default -a; setenv dualboot ${dualboot}; + setenv install_dualboot ${install_dualboot}; run ubivolscript; usb start; if test \"\$\{dualboot\}\" = yes; then @@ -156,17 +165,19 @@ setenv bootcmd " echo \"Aborted.\"; exit; fi; - echo \"\"; - echo \"\"; - echo \">> Installing file ${INSTALL_LINUX_FILENAME} on linux_b\"; - echo \"\"; - echo \"\"; - update linux_b usb ${INSTALL_USBDEV} ${INSTALL_LINUX_FILENAME} ${force_erase}; - if test \$? -eq 1; then - echo \"[ERROR] Failed to update linux_b!\"; + if test \"\$\{install_dualboot\}\" = yes; then echo \"\"; - echo \"Aborted.\"; - exit; + echo \"\"; + echo \">> Installing file ${INSTALL_LINUX_FILENAME} on linux_b\"; + echo \"\"; + echo \"\"; + update linux_b usb ${INSTALL_USBDEV} ${INSTALL_LINUX_FILENAME} ${force_erase}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update linux_b!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; fi; echo \"\"; echo \"\"; @@ -180,17 +191,19 @@ setenv bootcmd " echo \"Aborted.\"; exit; fi; - echo \"\"; - echo \"\"; - echo \">> Installing file ${INSTALL_ROOTFS_FILENAME} on rootfs_b\"; - echo \"\"; - echo \"\"; - update rootfs_b usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME} ${force_erase}; - if test \$? -eq 1; then - echo \"[ERROR] Failed to update rootfs_b partition!\"; + if test \"\$\{install_dualboot\}\" = yes; then echo \"\"; - echo \"Aborted.\"; - exit; + echo \"\"; + echo \">> Installing file ${INSTALL_ROOTFS_FILENAME} on rootfs_b\"; + echo \"\"; + echo \"\"; + update rootfs_b usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME} ${force_erase}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update rootfs_b partition!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; fi; else echo \"\"; diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh index 1b59668ba..d4851367c 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh @@ -47,6 +47,7 @@ show_usage() echo " 'dey-image-webkit', 'core-image-base'..." echo " Defaults to '##DEFAULT_IMAGE_NAME##' if not provided." echo " -n No wait. Skips 10 seconds delay to stop script." + echo " -d Install firmware on dualboot partitions (system A and system B)." exit 2 } @@ -79,10 +80,11 @@ echo "############################################################" # -a # -f # -i -while getopts 'a:f:hi:n' c +while getopts 'a:df:hi:n' c do case $c in a) INSTALL_ATF_FILENAME=${OPTARG} ;; + d) INSTALL_DUALBOOT=true ;; f) INSTALL_FIP_FILENAME=${OPTARG} ;; h) show_usage ;; i) IMAGE_NAME=${OPTARG} ;; @@ -169,12 +171,18 @@ if [ "${NOWAIT}" != true ]; then printf " fsbl1\t${INSTALL_ATF_FILENAME}\n" printf " fsbl2\t${INSTALL_ATF_FILENAME}\n" printf " fip-a\t${INSTALL_FIP_FILENAME}\n" - printf " fip-b\t${INSTALL_FIP_FILENAME}\n" + if [ "${INSTALL_DUALBOOT}" = true ]; then + printf " fip-b\t${INSTALL_FIP_FILENAME}\n" + fi if [ "${DUALBOOT}" = true ]; then printf " ${LINUX_NAME}_a\t${INSTALL_LINUX_FILENAME}\n" - printf " ${LINUX_NAME}_b\t${INSTALL_LINUX_FILENAME}\n" + if [ "${INSTALL_DUALBOOT}" = true ]; then + printf " ${LINUX_NAME}_b\t${INSTALL_LINUX_FILENAME}\n" + fi printf " ${ROOTFS_NAME}_a\t${INSTALL_ROOTFS_FILENAME}\n" - printf " ${ROOTFS_NAME}_b\t${INSTALL_ROOTFS_FILENAME}\n" + if [ "${INSTALL_DUALBOOT}" = true ]; then + printf " ${ROOTFS_NAME}_b\t${INSTALL_ROOTFS_FILENAME}\n" + fi else printf " ${LINUX_NAME}\t${INSTALL_LINUX_FILENAME}\n" printf " ${RECOVERY_NAME}\t${INSTALL_RECOVERY_FILENAME}\n" @@ -204,7 +212,9 @@ part_update "fsbl2" "${INSTALL_ATF_FILENAME}" 5000 # Update FIP part_update "fip-a" "${INSTALL_FIP_FILENAME}" 5000 -part_update "fip-b" "${INSTALL_FIP_FILENAME}" 5000 +if [ "${INSTALL_DUALBOOT}" = true ]; then + part_update "fip-b" "${INSTALL_FIP_FILENAME}" 5000 +fi # Environment volume does not exist and needs to be created if [ "${RUNVOLS}" = true ]; then @@ -247,11 +257,15 @@ if [ "${DUALBOOT}" = true ]; then # Update Linux A part_update "${LINUX_NAME}_a" "${INSTALL_LINUX_FILENAME}" 15000 # Update Linux B - part_update "${LINUX_NAME}_b" "${INSTALL_LINUX_FILENAME}" 15000 + if [ "${INSTALL_DUALBOOT}" = true ]; then + part_update "${LINUX_NAME}_b" "${INSTALL_LINUX_FILENAME}" 15000 + fi # Update Rootfs A part_update "${ROOTFS_NAME}_a" "${INSTALL_ROOTFS_FILENAME}" 120000 # Update Rootfs B - part_update "${ROOTFS_NAME}_b" "${INSTALL_ROOTFS_FILENAME}" 120000 + if [ "${INSTALL_DUALBOOT}" = true ]; then + part_update "${ROOTFS_NAME}_b" "${INSTALL_ROOTFS_FILENAME}" 120000 + fi else # Update Linux part_update "${LINUX_NAME}" "${INSTALL_LINUX_FILENAME}" 15000 From bc34bb68e8482e5ddfb8f5c7036f55017f1c4080 Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Tue, 3 Jan 2023 17:30:52 +0100 Subject: [PATCH 063/144] wayland: change wayland user from weston to root This commit changes the wayland user from weston to root. That makes video and audio playback possible for the root user. https://onedigi.atlassian.net/browse/DEL-8211 Signed-off-by: Mike Engel --- .../recipes-graphics/wayland/weston-init.bbappend | 2 +- .../recipes-graphics/wayland/weston-init/check-gpu | 2 +- .../wayland/weston-init/pulseaudio_hdmi_switch.sh | 6 +----- .../wayland/weston-init/weston-launch.service | 12 ++++++------ .../wayland/weston-init/weston-start | 2 +- .../wayland/weston-init/weston_profile.sh | 6 +++--- 6 files changed, 13 insertions(+), 17 deletions(-) diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init.bbappend b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init.bbappend index 845ee96e8..0bc05df42 100644 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init.bbappend +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init.bbappend @@ -61,7 +61,7 @@ do_install:append() { sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start # /etc/default/weston install -d ${D}${sysconfdir}/default - echo "WESTON_USER=weston" > ${D}${sysconfdir}/default/weston + echo "WESTON_USER=root" > ${D}${sysconfdir}/default/weston # check GPU install -d ${D}/home/root/ diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/check-gpu b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/check-gpu index 08fe5b840..8be15e88b 100755 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/check-gpu +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/check-gpu @@ -104,7 +104,7 @@ else echo "Configure weston on pixman" > /dev/kmsg echo "#Autogenerated" > /etc/default/weston echo "OPTARGS=--use-pixman" >> /etc/default/weston - echo "WESTON_USER=weston" >> /etc/default/weston + echo "WESTON_USER=root" >> /etc/default/weston fi fi diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/pulseaudio_hdmi_switch.sh b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/pulseaudio_hdmi_switch.sh index d867153f7..b5212b8e6 100644 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/pulseaudio_hdmi_switch.sh +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/pulseaudio_hdmi_switch.sh @@ -29,11 +29,7 @@ do done EOF chmod +x /tmp/pulse_temp_switch.sh -if [ "$USER" == "weston" ]; then - script -qc "/tmp/pulse_temp_switch.sh" -else - script -qc "su -l weston -c /tmp/pulse_temp_switch.sh" -fi +script -qc "/tmp/pulse_temp_switch.sh" rm -f /tmp/pulse_temp_switch.sh diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/weston-launch.service b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/weston-launch.service index 6e6acbd1e..19e196768 100644 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/weston-launch.service +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/weston-launch.service @@ -30,11 +30,11 @@ ConditionPathExists=/dev/tty0 # Requires systemd-notify.so Weston plugin. #Type=notify EnvironmentFile=-/etc/default/weston -Environment="XDG_RUNTIME_DIR=/home/weston" -Environment="WESTON_USER=weston" +Environment="XDG_RUNTIME_DIR=/home/root" +Environment="WESTON_USER=root" Environment="WL_EGL_GBM_FENCE=0" #ExecStart=/usr/bin/weston-launch -- --modules=systemd-notify.so --log=/home/weston/weston.log $OPTARGS -ExecStart=/usr/bin/weston-start --modules=systemd-notify.so --log=/home/weston/weston.log $OPTARGS +ExecStart=/usr/bin/weston-start --modules=systemd-notify.so --log=/home/root/weston.log $OPTARGS ExecStop=/usr/bin/killall weston-launch # Optional watchdog setup @@ -42,11 +42,11 @@ ExecStop=/usr/bin/killall weston-launch #WatchdogSec=20 # The user to run Weston as. -User=weston -Group=weston +User=root +Group=root # Make sure the working directory is the users home directory -WorkingDirectory=/home/weston +WorkingDirectory=/home/root # Set up a full user session for the user, required by Weston. PAMName=weston-autologin diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/weston-start b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/weston-start index 8e159d50d..7c2f041bc 100644 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/weston-start +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/weston-start @@ -3,7 +3,7 @@ weston_args=$* if [ -z "$WESTON_USER" ]; then - WESTON_USER=weston + WESTON_USER=root fi if [ "$USER" != "$WESTON_USER" ]; then weston_args_user="-u $WESTON_USER" diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/weston_profile.sh b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/weston_profile.sh index 2d12244ee..9d9781684 100644 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/weston_profile.sh +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init/weston_profile.sh @@ -1,11 +1,11 @@ -if [ "$USER" == "weston" ]; then - export XDG_RUNTIME_DIR=/run/user/`id -u weston` +if [ "$USER" == "root" ]; then + export XDG_RUNTIME_DIR=/run/user/`id -u root` export ELM_ENGINE=wayland_shm export ECORE_EVAS_ENGINE=wayland_shm export ECORE_EVAS_ENGINE=wayland_shm export GDK_BACKEND=wayland - export PULSE_RUNTIME_PATH=/run/user/`id -u weston` + export PULSE_RUNTIME_PATH=/run/user/`id -u root` if [ -e $XDG_RUNTIME_DIR/wayland-0 ]; then export WAYLAND_DISPLAY=wayland-0 else From 6c06b77a0460845ac30806607d2d62b97f3ff4e2 Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Tue, 10 Jan 2023 10:57:20 +0100 Subject: [PATCH 064/144] gcnano-userland: add additional library links needed for weston This commit adds additional library links that are require to make weston working with the new kernel version of the STM BSP 22_11_23. Signed-off-by: Mike Engel --- .../gcnano-userland-multi-binary-stm32mp.bbappend | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/gcnano-userland/gcnano-userland-multi-binary-stm32mp.bbappend b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/gcnano-userland/gcnano-userland-multi-binary-stm32mp.bbappend index 056a87821..669a8db6b 100644 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/gcnano-userland/gcnano-userland-multi-binary-stm32mp.bbappend +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/gcnano-userland/gcnano-userland-multi-binary-stm32mp.bbappend @@ -6,8 +6,12 @@ # Put the devel symlink in the normal package FILES:libegl-gcnano += "${libdir}/libEGL${SOLIBSDEV}" +FILES:libgles1-gcnano += "${libdir}/libGLESv1_CM${SOLIBSDEV}" FILES:libgles2-gcnano += "${libdir}/libGLESv2${SOLIBSDEV}" +FILES:libopenvg-gcnano += "${libdir}/libOpenVG${SOLIBSDEV}" -# Add explicit runtime provides for libEGL.so and libGLESv2.so +# Add explicit runtime provides for libEGL.so, libGLESv2.so, libGLESv1_CM.so and libOpenVG.so RPROVIDES:libegl-gcnano:prepend = "libEGL.so " +RPROVIDES:libgles1-gcnano:prepend = "libGLESv1_CM.so " RPROVIDES:libgles2-gcnano:prepend = "libGLESv2.so " +RPROVIDES:libopenvg-gcnano:prepend = "libOpenVG.so " From 35b56653cd5b0ad521c1dde9f23d929716ef05be Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Tue, 10 Jan 2023 11:01:53 +0100 Subject: [PATCH 065/144] cloudconnector: remove post installation scripts when building squashfs This commit removes the on-target post installation function for read-only rootfs, as it will fail trying to edit files. https://onedigi.atlassian.net/browse/DEL-8221 Signed-off-by: Mike Engel --- meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb index e61cf97ee..58736e463 100644 --- a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb +++ b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb @@ -54,6 +54,8 @@ pkg_postinst_ontarget:${PN}() { fi } +inherit ${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", "remove-pkg-postinst-ontarget", "", d)} + INITSCRIPT_NAME = "cloud-connector" SYSTEMD_SERVICE:${PN} = "cloud-connector.service" From afc0bc6ef5a26beabed579c614ff16218306ca28 Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Tue, 10 Jan 2023 11:02:11 +0100 Subject: [PATCH 066/144] swupdate: remove post installation scripts when building squashfs This commit removes the on-target post installation function for read-only rootfs, as it will fail trying to edit files. Signed-off-by: Mike Engel --- .../recipes-support/swupdate/swupdate_2022.05.bbappend | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-digi-dey/recipes-support/swupdate/swupdate_2022.05.bbappend b/meta-digi-dey/recipes-support/swupdate/swupdate_2022.05.bbappend index ca0286d9f..feaaeeb6e 100644 --- a/meta-digi-dey/recipes-support/swupdate/swupdate_2022.05.bbappend +++ b/meta-digi-dey/recipes-support/swupdate/swupdate_2022.05.bbappend @@ -34,3 +34,5 @@ pkg_postinst_ontarget:${PN}() { [ "$(fw_printenv -n dualboot 2>/dev/null)" != "yes" ] && update-rc.d -f swupdate remove fi } + +inherit ${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", "remove-pkg-postinst-ontarget", "", d)} From f20e127a824e52ff1d67539ccb47f3d22f037b24 Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Tue, 10 Jan 2023 16:41:26 +0100 Subject: [PATCH 067/144] crank: remove weston user from demo configuration Signed-off-by: Mike Engel --- .../recipes-crank/crank-demos/crank-demos/crank-demo-init | 5 ++--- meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb | 4 ---- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo-init b/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo-init index c0000eac5..c2319c736 100644 --- a/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo-init +++ b/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo-init @@ -17,7 +17,6 @@ readonly DEMO="##CRANK_DEMO_PATH##" readonly DEMO_DISPLAY="##CRANK_DEMO_DISPLAY##" readonly DEMO_OPTS="##CRANK_DEMO_OPTIONS##" readonly DEMO_ENV="##CRANK_DEMO_ENV##" -readonly DEMO_USER="##CRANK_DEMO_USER##" readonly SB_LAUNCHER="sb-launcher" readonly SB_LAUNCHER_SCRIPT="/usr/bin/${SB_LAUNCHER}" readonly CRANK_DEMO="crank-demo" @@ -61,7 +60,7 @@ check_is_running() { wait_for_wayland() { local count=20 - local wayland_socket="/run/user/$(id -u ${DEMO_USER})/${DEMO_DISPLAY}" + local wayland_socket="/run/user/0/${DEMO_DISPLAY}" [ -S "${wayland_socket}" -o ! -d "/usr/share/wayland/" ] && return 0 while [ ! -S "${wayland_socket}" ]; do @@ -95,7 +94,7 @@ start() { check_is_running && { log warning "start: ${CRANK_DEMO} ALREADY running"; exit 0; } wait_for_wayland - env ${DEMO_ENV} ${SB_LAUNCHER_SCRIPT} ${DEMO_USER} ${DEMO_OPTS} ${DEMO} >/dev/null 2>&1 & + env ${DEMO_ENV} ${SB_LAUNCHER_SCRIPT} ${DEMO_OPTS} ${DEMO} >/dev/null 2>&1 & if [ $? -eq 0 ]; then echo $! > ${PID_FILE} log info "$(cat ${PID_FILE})" diff --git a/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb b/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb index 8c3155b7e..28d49b20e 100644 --- a/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb +++ b/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb @@ -21,12 +21,9 @@ CRANK_DEMO_DISPLAY ?= "wayland-0" CRANK_DEMO_DISPLAY:ccmp15 ?= "wayland-1" CRANK_DEMO_ENV ?= "DISPLAY=:0.0 XDG_RUNTIME_DIR=/run/user/0 WAYLAND_DISPLAY=\${DEMO_DISPLAY}" CRANK_DEMO_ENV:ccimx6ul ?= "" -CRANK_DEMO_ENV:ccmp15 ?= "DISPLAY=:0.0 XDG_RUNTIME_DIR=/run/user/1000 WAYLAND_DISPLAY=\${DEMO_DISPLAY}" CRANK_DEMO_OPTIONS ?= "-orender_mgr,multisample=0" CRANK_DEMO_OPTIONS:ccimx6ul ?= "-orender_mgr,multisample=0 -odev-input,mouse=/dev/input/mouse0 -oscreen_mgr,swcursor" CRANK_DEMO_PATH ?= "${datadir}/crank/apps/OpenGL_WideScreen/1280x720.gapp" -CRANK_DEMO_USER ?= "root" -CRANK_DEMO_USER:ccmp15 ?= "weston" # The tarball is only available for downloading after registration, so provide # a PREMIRROR to a local directory that can be configured in the project's @@ -83,7 +80,6 @@ do_install () { sed -i -e "s@##CRANK_DEMO_PATH##@${CRANK_DEMO_PATH}@g" \ -e "s@##CRANK_DEMO_OPTIONS##@${CRANK_DEMO_OPTIONS}@g" \ -e "s@##CRANK_DEMO_ENV##@${CRANK_DEMO_ENV}@g" \ - -e "s@##CRANK_DEMO_USER##@${CRANK_DEMO_USER}@g" \ -e "s@##CRANK_DEMO_DISPLAY##@${CRANK_DEMO_DISPLAY}@g" \ "${D}${sysconfdir}/crank-demo" ln -sf ${sysconfdir}/crank-demo ${D}${sysconfdir}/init.d/crank-demo From aedd41e822224517ef7adb34b9c41daac47874f9 Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Thu, 12 Jan 2023 10:06:29 +0100 Subject: [PATCH 068/144] crank: remove user from sbengine execution command Signed-off-by: Mike Engel --- .../recipes-crank/crank-sbengine/crank-sbengine/sb-launcher | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/meta-digi-dey/recipes-crank/crank-sbengine/crank-sbengine/sb-launcher b/meta-digi-dey/recipes-crank/crank-sbengine/crank-sbengine/sb-launcher index c1bcd3455..5024aeafb 100644 --- a/meta-digi-dey/recipes-crank/crank-sbengine/crank-sbengine/sb-launcher +++ b/meta-digi-dey/recipes-crank/crank-sbengine/crank-sbengine/sb-launcher @@ -2,7 +2,4 @@ ENGINE="/usr/share/crank/sbengine" -USER=$1 -shift - -exec su -l "${USER}" -c "env LD_LIBRARY_PATH=${ENGINE}/lib SB_PLUGINS=${ENGINE}/plugins ${ENGINE}/bin/sbengine $*" +exec "env LD_LIBRARY_PATH=${ENGINE}/lib SB_PLUGINS=${ENGINE}/plugins ${ENGINE}/bin/sbengine $*" From 90867ccc827ee0ec778e4f3e62e98574ac2cd4c0 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Mon, 16 Jan 2023 18:03:26 +0100 Subject: [PATCH 069/144] recovery-initramfs: add script and mdev rule for UBI volumes On systems with a single MTD system partition and multiple UBI volumes, the initramdisk doesn't mount the 'update' partition because mdev rules only trigger events for MTD partitions. This commit adds a rule to trigger an event for every /dev/ubi0_x (every UBI volume on ubi0 device) and call the new automount_ubi.sh script. The script checks if the volume is called 'update' and if so, it creates /mnt/update mountpoint and mounts the volume. Signed-off-by: Hector Palacios https://onedigi.atlassian.net/browse/DEL-8297 (cherry picked from commit df9c622b1bf0a7307c61deda12cf1f67d4f630f0) (cherry picked from commit 8b8f9560af790aff290db04a95fdde4ea5bc2318) --- .../recovery/recovery-initramfs.bb | 4 +++- .../recovery-initramfs/automount_ubi.sh | 20 +++++++++++++++++++ .../recovery/recovery-initramfs/mdev.conf | 1 + 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 meta-digi-dey/recipes-core/recovery/recovery-initramfs/automount_ubi.sh diff --git a/meta-digi-dey/recipes-core/recovery/recovery-initramfs.bb b/meta-digi-dey/recipes-core/recovery/recovery-initramfs.bb index 24b98b0a1..b10bc069e 100644 --- a/meta-digi-dey/recipes-core/recovery/recovery-initramfs.bb +++ b/meta-digi-dey/recipes-core/recovery/recovery-initramfs.bb @@ -5,7 +5,7 @@ LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" # When building a TrustFence enabled recovery initramfs, we need the TrustFence PKI tree to -# be already generated in order to copy the public key. Forcing a dependence against +# be already generated in order to copy the public key. Forcing a dependence against # 'virtual/kernel' ensures that the keys are already generated as they are needed to sign the # kernel artifacts. DEPENDS += "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', 'virtual/kernel openssl-native', '', d)}" @@ -15,6 +15,7 @@ SRC_URI = " \ file://swupdate.cfg \ file://automount_block.sh \ file://automount_mtd.sh \ + file://automount_ubi.sh \ file://mdev.conf \ ${@bb.utils.contains('STORAGE_MEDIA', 'mmc', 'file://mount_cryptrootfs.sh', '', d)} \ " @@ -31,6 +32,7 @@ do_install() { install -d ${D}${base_libdir}/mdev install -m 0755 ${WORKDIR}/automount_block.sh ${D}${base_libdir}/mdev/automount_block.sh install -m 0755 ${WORKDIR}/automount_mtd.sh ${D}${base_libdir}/mdev/automount_mtd.sh + install -m 0755 ${WORKDIR}/automount_ubi.sh ${D}${base_libdir}/mdev/automount_ubi.sh install -m 0644 ${WORKDIR}/mdev.conf ${D}${sysconfdir} # If Trustfence is enabled, copy the public key that is going to be used into the diff --git a/meta-digi-dey/recipes-core/recovery/recovery-initramfs/automount_ubi.sh b/meta-digi-dey/recipes-core/recovery/recovery-initramfs/automount_ubi.sh new file mode 100644 index 000000000..cc8ae1d96 --- /dev/null +++ b/meta-digi-dey/recipes-core/recovery/recovery-initramfs/automount_ubi.sh @@ -0,0 +1,20 @@ +#!/bin/sh +# +# Copyright (c) 2023, Digi International Inc. +# + +UPDATE_MOUNTPOINT="/mnt/update" +PARTITION_NAME="update" + +# Check if there is a UBI volume called 'update' +# (for single MTD systems). +volname="$(ubinfo ${MDEV} | awk '$1=="Name:" {print $2}')" +if [ "${volname}" = "${PARTITION_NAME}" ]; then + if mkdir -p ${UPDATE_MOUNTPOINT} && ! mountpoint -q ${UPDATE_MOUNTPOINT}; then + # Mount the volume. + if ! mount -t ubifs "${MDEV}" "${UPDATE_MOUNTPOINT}"; then + echo "ERROR: Could not mount '${PARTITION_NAME}' partition" + rmdir --ignore-fail-on-non-empty ${UPDATE_MOUNTPOINT} + fi + fi +fi diff --git a/meta-digi-dey/recipes-core/recovery/recovery-initramfs/mdev.conf b/meta-digi-dey/recipes-core/recovery/recovery-initramfs/mdev.conf index 20f8a2014..50cee5885 100644 --- a/meta-digi-dey/recipes-core/recovery/recovery-initramfs/mdev.conf +++ b/meta-digi-dey/recipes-core/recovery/recovery-initramfs/mdev.conf @@ -2,3 +2,4 @@ sd[a-z][0-9]+ 0:0 660 */lib/mdev/automount_block.sh mmcblk[0-9]+p[0-9]+ 0:0 660 */lib/mdev/automount_block.sh mtd[0-9]+ 0:0 660 */lib/mdev/automount_mtd.sh +ubi0_[0-9]+ 0:0 660 */lib/mdev/automount_ubi.sh From 872cd2b68b4cc63a7f4e1c9f2c02bfc0eb7302cd Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 17 Jan 2023 15:44:09 +0100 Subject: [PATCH 070/144] swupdate: rename bbappend so it applies to new version meta-swupdate updated swupdate to version v2022.12, so we need to update our bbappend to apply to that version. Otherwise firmware update is failing due to some missing swupdate handlers. As our bbappend is generic enough, use a wildcard bbappend so it applies to all swupdate versions. Signed-off-by: Javier Viguera --- .../swupdate/{swupdate_2022.05.bbappend => swupdate_%.bbappend} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename meta-digi-dey/recipes-support/swupdate/{swupdate_2022.05.bbappend => swupdate_%.bbappend} (100%) diff --git a/meta-digi-dey/recipes-support/swupdate/swupdate_2022.05.bbappend b/meta-digi-dey/recipes-support/swupdate/swupdate_%.bbappend similarity index 100% rename from meta-digi-dey/recipes-support/swupdate/swupdate_2022.05.bbappend rename to meta-digi-dey/recipes-support/swupdate/swupdate_%.bbappend From f50b9b7fc640d5c44a947441ca9e4f3bdfb0de9f Mon Sep 17 00:00:00 2001 From: Francisco Gil Date: Thu, 12 Jan 2023 08:34:58 +0100 Subject: [PATCH 071/144] meta-digi: ccmp15: add v4l-utils to default images v4l-utils contains tools to manage the camera. We have also documented all these commands in our documentation Signed-off-by: Francisco Gil --- .../recipes-core/packagegroups/packagegroup-dey-core.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb b/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb index f556efb2e..1af5360a5 100644 --- a/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb +++ b/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb @@ -68,6 +68,10 @@ RDEPENDS:${PN} = "\ ${MACHINE_EXTRA_RDEPENDS} \ " +RDEPENDS:${PN}:append:ccmp15 = " \ + v4l-utils \ +" + # The rootfs in the CC6UL is not big enough for graphic images (QT) and the # connectcore demo, so we restrict the demo only for the 'core-image-base' RDEPENDS:${PN}:remove:ccimx6ul = "connectcore-demo-example" From b4c65056fa376bde8825dc880d9e766f3230e2dc Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Tue, 17 Jan 2023 13:47:09 +0100 Subject: [PATCH 072/144] dey-image-installer: remove boot-artifacts.bbclass The class 'boot-artifacts.bbclass' was created to generate a list of the bootable artifacts that must be copied from the deploy dir to the installer ZIP file, so that the installer has all the possible bootloader files to update any variant of the hardware. The class was somewhat over-engineered to produce the list, specially for the cc8x, with the variants of SoC revision, RAM size and width. With the arrival of ST family, it got more complex, as the artifacts don't even come from U-Boot recipe. To remove complexity, this commit removes the bbclass and moves the list to the platform config file. Signed-off-by: Hector Palacios --- meta-digi-arm/classes/boot-artifacts.bbclass | 70 ------------------- meta-digi-arm/conf/machine/ccimx6qpsbc.conf | 6 ++ meta-digi-arm/conf/machine/ccimx6sbc.conf | 9 +++ meta-digi-arm/conf/machine/ccimx6ulsbc.conf | 7 ++ .../conf/machine/ccimx6ulstarter.conf | 7 ++ meta-digi-arm/conf/machine/ccimx8mm-dvk.conf | 3 + meta-digi-arm/conf/machine/ccimx8mn-dvk.conf | 3 + .../conf/machine/ccimx8x-sbc-express.conf | 12 ++++ .../conf/machine/ccimx8x-sbc-pro.conf | 12 ++++ meta-digi-arm/conf/machine/ccmp13-dvk.conf | 6 ++ meta-digi-arm/conf/machine/ccmp15-dvk.conf | 6 ++ .../classes/dey-image-installer.bbclass | 2 - 12 files changed, 71 insertions(+), 72 deletions(-) delete mode 100644 meta-digi-arm/classes/boot-artifacts.bbclass diff --git a/meta-digi-arm/classes/boot-artifacts.bbclass b/meta-digi-arm/classes/boot-artifacts.bbclass deleted file mode 100644 index 1f0a29a97..000000000 --- a/meta-digi-arm/classes/boot-artifacts.bbclass +++ /dev/null @@ -1,70 +0,0 @@ -# Class for the generation of boot artifacts - -# This function returns a list with the RAM_CONFIGS that match the RAM size -# in the list of UBOOT_CONFIG -def get_uboot_ram_combinations(d): - import re - - types = d.getVar('UBOOT_CONFIG', True) or "" - ram_configs = d.getVar('RAM_CONFIGS', True) or "" - - # Convert to arrays - types = types.split(" ") - ram_configs = ram_configs.split(" ") - - # Obtain the list of RAM_CONFIGS for whose RAM size there is a match - # in UBOOT_CONFIG - matches = [] - for type in types: - ramsize = re.search("([0-9]*[G|M]B)", type).group(1) - for ramc in ram_configs: - if ramsize in ramc: - matches.append(ramc) - - return " ".join(matches) - -UBOOT_RAM_COMBINATIONS = "${@get_uboot_ram_combinations(d)}" - -# This function returns a list with the bootable artifacts -def get_bootable_artifacts(d): - import re - - types = d.getVar('UBOOT_CONFIG', True) or "" - ram_configs = d.getVar('RAM_CONFIGS', True) or "" - soc_revisions = d.getVar('SOC_REVISIONS', True) or "" - uboot_prefix = d.getVar('UBOOT_PREFIX', True) or "" - uboot_suffix = d.getVar('UBOOT_SUFFIX', True) or "" - atf_types = d.getVar('TF_A_CONFIG', True) or "" - atf_boot_modes = ['nand'] - artifacts = [] - - # For platforms with a FIP artifact, ignore u-boot artifacts - if d.getVar('FIP_UBOOT_DTB'): - machine = d.getVar('MACHINE', True) or "" - # Add ATF artifacts - for t in atf_types.split(" "): - if t in atf_boot_modes: - artifacts.append("arm-trusted-firmware/tf-a-%s-%s.stm32" % (machine, t)) - # Add FIP artifact - artifacts.append("fip/fip-%s.bin" % (machine)) - return " ".join(artifacts) - - # For platforms without RAM_CONFIGS, build the artifacts from UBOOT_CONFIG - if ram_configs == "": - for t in types.split(" "): - artifacts.append("%s-%s.%s" % (uboot_prefix, t.replace("_","-"), uboot_suffix)) - return " ".join(artifacts) - else: - machine = d.getVar('MACHINE', True) or "" - ram_combinations = get_uboot_ram_combinations(d) - if soc_revisions == "": - for ramc in ram_combinations.split(" "): - artifacts.append("%s-%s-%s.%s" % (uboot_prefix, machine, ramc, uboot_suffix)) - else: - for soc_rev in soc_revisions.split(" "): - for ramc in ram_combinations.split(" "): - artifacts.append("%s-%s-%s-%s.%s" % (uboot_prefix, machine, soc_rev, ramc, uboot_suffix)) - - return " ".join(artifacts) - -BOOTABLE_ARTIFACTS = "${@get_bootable_artifacts(d)}" diff --git a/meta-digi-arm/conf/machine/ccimx6qpsbc.conf b/meta-digi-arm/conf/machine/ccimx6qpsbc.conf index c777dfd71..c43460a8e 100644 --- a/meta-digi-arm/conf/machine/ccimx6qpsbc.conf +++ b/meta-digi-arm/conf/machine/ccimx6qpsbc.conf @@ -47,3 +47,9 @@ XBEE_TTY ?= "ttymxc4" IMAGE_FSTYPES ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", \ "boot.vfat tar.bz2 recovery.vfat squashfs", \ "boot.vfat ext4.gz sdcard.gz tar.bz2 recovery.vfat", d)}' + +# Boot artifacts to be copied from the deploy dir to the installer ZIP +BOOTABLE_ARTIFACTS = " \ + u-boot-ccimx6qpsbc1GB.imx \ + u-boot-ccimx6qpsbc2GB.imx \ +" diff --git a/meta-digi-arm/conf/machine/ccimx6sbc.conf b/meta-digi-arm/conf/machine/ccimx6sbc.conf index d21eb1f9d..b3d6f539b 100644 --- a/meta-digi-arm/conf/machine/ccimx6sbc.conf +++ b/meta-digi-arm/conf/machine/ccimx6sbc.conf @@ -49,3 +49,12 @@ XBEE_TTY ?= "ttymxc4" IMAGE_FSTYPES ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", \ "boot.vfat tar.bz2 recovery.vfat squashfs", \ "boot.vfat ext4.gz sdcard.gz tar.bz2 recovery.vfat", d)}' + +# Boot artifacts to be copied from the deploy dir to the installer ZIP +BOOTABLE_ARTIFACTS = " \ + u-boot-ccimx6dlsbc512MB.imx \ + u-boot-ccimx6dlsbc.imx \ + u-boot-ccimx6qsbc2GB.imx \ + u-boot-ccimx6qsbc512MB.imx \ + u-boot-ccimx6qsbc.imx \ +" diff --git a/meta-digi-arm/conf/machine/ccimx6ulsbc.conf b/meta-digi-arm/conf/machine/ccimx6ulsbc.conf index 862d0a3c8..e69ad48b8 100644 --- a/meta-digi-arm/conf/machine/ccimx6ulsbc.conf +++ b/meta-digi-arm/conf/machine/ccimx6ulsbc.conf @@ -34,3 +34,10 @@ XBEE_TTY ?= "ttymxc1" IMAGE_FSTYPES ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", \ "tar.bz2 boot.ubifs recovery.ubifs squashfs", \ "tar.bz2 ubifs boot.ubifs recovery.ubifs", d)}' + +# Boot artifacts to be copied from the deploy dir to the installer ZIP +BOOTABLE_ARTIFACTS = " \ + u-boot-ccimx6ulsbc1GB.imx \ + u-boot-ccimx6ulsbc512MB.imx \ + u-boot-ccimx6ulsbc.imx \ +" diff --git a/meta-digi-arm/conf/machine/ccimx6ulstarter.conf b/meta-digi-arm/conf/machine/ccimx6ulstarter.conf index 92d506f75..da5a6ec23 100644 --- a/meta-digi-arm/conf/machine/ccimx6ulstarter.conf +++ b/meta-digi-arm/conf/machine/ccimx6ulstarter.conf @@ -33,3 +33,10 @@ IMAGE_FSTYPES ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", \ # Default image for install scripts DEFAULT_IMAGE_NAME ?= "core-image-base" + +# Boot artifacts to be copied from the deploy dir to the installer ZIP +BOOTABLE_ARTIFACTS = " \ + u-boot-ccimx6ulstarter1GB.imx \ + u-boot-ccimx6ulstarter512MB.imx \ + u-boot-ccimx6ulstarter.imx \ +" diff --git a/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf b/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf index 1f8ee4c24..758abbfb8 100644 --- a/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf @@ -50,3 +50,6 @@ XBEE_TTY ?= "ttymxc3" IMAGE_FSTYPES ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", \ "boot.vfat tar.bz2 recovery.vfat squashfs", \ "boot.vfat ext4.gz sdcard.gz tar.bz2 recovery.vfat", d)}' + +# Boot artifacts to be copied from the deploy dir to the installer ZIP +BOOTABLE_ARTIFACTS = "imx-boot-ccimx8mm-dvk.bin" diff --git a/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf b/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf index 10c891a27..867da88bb 100644 --- a/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf @@ -52,3 +52,6 @@ XBEE_TTY ?= "ttymxc3" IMAGE_FSTYPES ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", \ "boot.vfat tar.bz2 recovery.vfat squashfs", \ "boot.vfat ext4.gz sdcard.gz tar.bz2 recovery.vfat", d)}' + +# Boot artifacts to be copied from the deploy dir to the installer ZIP +BOOTABLE_ARTIFACTS = "imx-boot-ccimx8mn-dvk.bin" diff --git a/meta-digi-arm/conf/machine/ccimx8x-sbc-express.conf b/meta-digi-arm/conf/machine/ccimx8x-sbc-express.conf index b39ca65f4..a4b554e66 100644 --- a/meta-digi-arm/conf/machine/ccimx8x-sbc-express.conf +++ b/meta-digi-arm/conf/machine/ccimx8x-sbc-express.conf @@ -33,3 +33,15 @@ XBEE_TTY ?= "ttyLP0" IMAGE_FSTYPES ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", \ "boot.vfat tar.bz2 recovery.vfat squashfs", \ "boot.vfat ext4.gz sdcard.gz tar.bz2 recovery.vfat", d)}' + +# Boot artifacts to be copied from the deploy dir to the installer ZIP +BOOTABLE_ARTIFACTS = " \ + imx-boot-ccimx8x-sbc-express-B0-1GB_16bit.bin \ + imx-boot-ccimx8x-sbc-express-B0-1GB_32bit.bin \ + imx-boot-ccimx8x-sbc-express-B0-2GB_32bit.bin \ + imx-boot-ccimx8x-sbc-express-B0-512MB_16bit.bin \ + imx-boot-ccimx8x-sbc-express-C0-1GB_16bit.bin \ + imx-boot-ccimx8x-sbc-express-C0-1GB_32bit.bin \ + imx-boot-ccimx8x-sbc-express-C0-2GB_32bit.bin \ + imx-boot-ccimx8x-sbc-express-C0-512MB_16bit.bin \ +" diff --git a/meta-digi-arm/conf/machine/ccimx8x-sbc-pro.conf b/meta-digi-arm/conf/machine/ccimx8x-sbc-pro.conf index 1c2c72f29..f853b3178 100644 --- a/meta-digi-arm/conf/machine/ccimx8x-sbc-pro.conf +++ b/meta-digi-arm/conf/machine/ccimx8x-sbc-pro.conf @@ -46,3 +46,15 @@ XBEE_TTY ?= "ttyMCA0" IMAGE_FSTYPES ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", \ "boot.vfat tar.bz2 recovery.vfat squashfs", \ "boot.vfat ext4.gz sdcard.gz tar.bz2 recovery.vfat", d)}' + +# Boot artifacts to be copied from the deploy dir to the installer ZIP +BOOTABLE_ARTIFACTS = " \ + imx-boot-ccimx8x-sbc-pro-B0-1GB_16bit.bin \ + imx-boot-ccimx8x-sbc-pro-B0-1GB_32bit.bin \ + imx-boot-ccimx8x-sbc-pro-B0-2GB_32bit.bin \ + imx-boot-ccimx8x-sbc-pro-B0-512MB_16bit.bin \ + imx-boot-ccimx8x-sbc-pro-C0-1GB_16bit.bin \ + imx-boot-ccimx8x-sbc-pro-C0-1GB_32bit.bin \ + imx-boot-ccimx8x-sbc-pro-C0-2GB_32bit.bin \ + imx-boot-ccimx8x-sbc-pro-C0-512MB_16bit.bin \ +" diff --git a/meta-digi-arm/conf/machine/ccmp13-dvk.conf b/meta-digi-arm/conf/machine/ccmp13-dvk.conf index 354eebdb5..35f914b20 100644 --- a/meta-digi-arm/conf/machine/ccmp13-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp13-dvk.conf @@ -173,3 +173,9 @@ VIRTUAL-RUNTIME_initscripts ?= "initscripts" # Disable use of vendorfs partition ST_VENDORFS = "0" + +# Boot artifacts to be copied from the deploy dir to the installer ZIP +BOOTABLE_ARTIFACTS = " \ + arm-trusted-firmware/tf-a-ccmp13-dvk-nand.stm32 \ + fip/fip-ccmp13-dvk-optee.bin \ +" diff --git a/meta-digi-arm/conf/machine/ccmp15-dvk.conf b/meta-digi-arm/conf/machine/ccmp15-dvk.conf index 8a76c33a5..6e5a713c4 100644 --- a/meta-digi-arm/conf/machine/ccmp15-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp15-dvk.conf @@ -186,6 +186,12 @@ VIRTUAL-RUNTIME_initscripts ?= "initscripts" # Disable use of vendorfs partition ST_VENDORFS = "0" +# Boot artifacts to be copied from the deploy dir to the installer ZIP +BOOTABLE_ARTIFACTS = " \ + arm-trusted-firmware/tf-a-ccmp15-dvk-nand.stm32 \ + fip/fip-ccmp15-dvk-optee.bin \ +" + # SWUpdate sw-description configuration BOOTFS_EXT ?= ".boot.ubifs" ROOTFS_EXT ?= ".ubifs" diff --git a/meta-digi-dey/classes/dey-image-installer.bbclass b/meta-digi-dey/classes/dey-image-installer.bbclass index c060f973b..6231356ce 100644 --- a/meta-digi-dey/classes/dey-image-installer.bbclass +++ b/meta-digi-dey/classes/dey-image-installer.bbclass @@ -3,8 +3,6 @@ # # Copyright 2017-2022, Digi International Inc. # -inherit boot-artifacts - DEPENDS += "zip-native" # From 87ef63f7c39e2b3b575151598d3ae0190f96700d Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Wed, 18 Jan 2023 10:55:02 +0100 Subject: [PATCH 073/144] Revert "u-boot-dey: remove fip 'optee' suffix from install scripts" This reverts commit 2bdfdc92e1c385deeae0abb75b2d4530f9d78b34. This suffix was removed on error. The artifact does have the suffix. Signed-off-by: Hector Palacios --- .../recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt | 2 +- .../u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt | 2 +- .../recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt index 31b686821..4e86519f6 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt @@ -8,7 +8,7 @@ install_abort=0 BASEFILENAME=0 setenv INSTALL_ATF_FILENAME tf-a-##MACHINE##-nand.stm32 -setenv INSTALL_FIP_FILENAME fip-##MACHINE##.bin +setenv INSTALL_FIP_FILENAME fip-##MACHINE##-optee.bin setenv INSTALL_MMCDEV 1 if test -z "${image-name}"; then diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt index 300373c39..393da9d47 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt @@ -8,7 +8,7 @@ install_abort=0 BASEFILENAME=0 setenv INSTALL_ATF_FILENAME tf-a-##MACHINE##-nand.stm32 -setenv INSTALL_FIP_FILENAME fip-##MACHINE##.bin +setenv INSTALL_FIP_FILENAME fip-##MACHINE##-optee.bin setenv INSTALL_USBDEV 0 if test -z "${image-name}"; then diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh index d4851367c..5c203eca0 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh @@ -121,7 +121,7 @@ fi # Determine FIP file to program if [ -z "${INSTALL_FIP_FILENAME}" ]; then - INSTALL_FIP_FILENAME="fip-##MACHINE##.bin" + INSTALL_FIP_FILENAME="fip-##MACHINE##-optee.bin" fi # Determine linux, recovery, and rootfs image filenames to update From d3a8d312fd697b018fcc64b59ab853030a71b374 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Wed, 18 Jan 2023 11:08:25 +0100 Subject: [PATCH 074/144] digi: machines: remove unused UBOOT_DEV_NAME variable Signed-off-by: Hector Palacios --- meta-digi-arm/conf/machine/ccmp15-dvk.conf | 1 - meta-digi-arm/conf/machine/include/ccimx6.inc | 1 - meta-digi-arm/conf/machine/include/ccimx6ul.inc | 1 - meta-digi-arm/conf/machine/include/ccimx8m.inc | 1 - meta-digi-arm/conf/machine/include/ccimx8x.inc | 1 - meta-digi-arm/conf/machine/include/ccmp1.inc | 1 - 6 files changed, 6 deletions(-) diff --git a/meta-digi-arm/conf/machine/ccmp15-dvk.conf b/meta-digi-arm/conf/machine/ccmp15-dvk.conf index 6e5a713c4..4ca568173 100644 --- a/meta-digi-arm/conf/machine/ccmp15-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp15-dvk.conf @@ -201,4 +201,3 @@ ROOTFS_DEV_NAME ?= "rootfs" ROOTFS_ENC_DEV = "${ROOTFS_DEV_NAME}" ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS', True) == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" -UBOOT_DEV_NAME ?= "/dev/mtd" diff --git a/meta-digi-arm/conf/machine/include/ccimx6.inc b/meta-digi-arm/conf/machine/include/ccimx6.inc index 08df3421a..52622f123 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6.inc @@ -55,4 +55,3 @@ ROOTFS_DEV_NAME ?= "/dev/mmcblk0p3" ROOTFS_ENC_DEV = "/dev/mapper/cryptrootfs" ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS', True) == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" -UBOOT_DEV_NAME ?= "/dev/mmcblk0boot0" diff --git a/meta-digi-arm/conf/machine/include/ccimx6ul.inc b/meta-digi-arm/conf/machine/include/ccimx6ul.inc index 6825c11ed..544d45655 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6ul.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6ul.inc @@ -59,7 +59,6 @@ ROOTFS_DEV_NAME ?= "rootfs" ROOTFS_ENC_DEV = "${ROOTFS_DEV_NAME}" ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS', True) == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" -UBOOT_DEV_NAME ?= "/dev/mtd" # U-Boot environment offset (within partition) UBOOT_ENV_OFFSET ?= "0x0" UBOOT_ENV_REDUND_OFFSET ?= "${UBOOT_ENV_SIZE}" diff --git a/meta-digi-arm/conf/machine/include/ccimx8m.inc b/meta-digi-arm/conf/machine/include/ccimx8m.inc index 0cfe9022b..f0c2b6591 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8m.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8m.inc @@ -76,4 +76,3 @@ ROOTFS_DEV_NAME ?= "/dev/mmcblk0p3" ROOTFS_ENC_DEV = "/dev/mapper/cryptrootfs" ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS', True) == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" -UBOOT_DEV_NAME ?= "/dev/mmcblk0boot0" diff --git a/meta-digi-arm/conf/machine/include/ccimx8x.inc b/meta-digi-arm/conf/machine/include/ccimx8x.inc index dbbf49b54..b0c384352 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8x.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8x.inc @@ -89,4 +89,3 @@ ROOTFS_DEV_NAME ?= "/dev/mmcblk0p3" ROOTFS_ENC_DEV = "/dev/mapper/cryptrootfs" ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS', True) == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" -UBOOT_DEV_NAME ?= "/dev/mmcblk0boot0" diff --git a/meta-digi-arm/conf/machine/include/ccmp1.inc b/meta-digi-arm/conf/machine/include/ccmp1.inc index babb10b4f..1508b4afd 100644 --- a/meta-digi-arm/conf/machine/include/ccmp1.inc +++ b/meta-digi-arm/conf/machine/include/ccmp1.inc @@ -28,7 +28,6 @@ ROOTFS_DEV_NAME ?= "rootfs" ROOTFS_ENC_DEV = "${ROOTFS_DEV_NAME}" ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS', True) == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" -UBOOT_DEV_NAME ?= "/dev/mtd" # U-Boot environment offset (within partition) UBOOT_ENV_OFFSET ?= "0x0" UBOOT_ENV_REDUND_OFFSET ?= "0x0" From 31d9863feabcfb00356c2d697da51c3431738c47 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 18 Jan 2023 14:50:39 +0100 Subject: [PATCH 075/144] crank-demo: fix autostarting app on top of weston Signed-off-by: Javier Viguera --- .../crank-demos/crank-demos/crank-demo-init | 16 ---------------- .../crank-demos/crank-demos/crank-demo.service | 1 + .../recipes-crank/crank-demos/crank-demos_7.2.bb | 2 +- .../crank-sbengine/crank-sbengine/sb-launcher | 2 +- 4 files changed, 3 insertions(+), 18 deletions(-) diff --git a/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo-init b/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo-init index c2319c736..a9eeb67f3 100644 --- a/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo-init +++ b/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo-init @@ -58,21 +58,6 @@ check_is_running() { return 1 } -wait_for_wayland() { - local count=20 - local wayland_socket="/run/user/0/${DEMO_DISPLAY}" - - [ -S "${wayland_socket}" -o ! -d "/usr/share/wayland/" ] && return 0 - while [ ! -S "${wayland_socket}" ]; do - sleep 1 - count=$((count-1)) - if [ "${count}" = 0 ]; then - return 1 - fi - done - return 0 -} - stop() { check_is_running || return @@ -93,7 +78,6 @@ stop() { start() { check_is_running && { log warning "start: ${CRANK_DEMO} ALREADY running"; exit 0; } - wait_for_wayland env ${DEMO_ENV} ${SB_LAUNCHER_SCRIPT} ${DEMO_OPTS} ${DEMO} >/dev/null 2>&1 & if [ $? -eq 0 ]; then echo $! > ${PID_FILE} diff --git a/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo.service b/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo.service index 7d4144c69..f33491cfa 100644 --- a/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo.service +++ b/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo.service @@ -4,6 +4,7 @@ Documentation=https://www.cranksoftware.com/ # Make sure we are started after graphic service is available After=##WESTON_SERVICE## +Requires=##WESTON_SERVICE## [Service] Type=forking diff --git a/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb b/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb index 28d49b20e..add670e35 100644 --- a/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb +++ b/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb @@ -13,7 +13,7 @@ SRC_URI = " \ " SRC_URI[sha256sum] = "90a7fc258cdaa5f9afcf57224da8bbc5a330b957db88335f555369123a1432ab" -WESTON_SERVICE ?= "weston@root.service" +WESTON_SERVICE ?= "weston.service" WESTON_SERVICE:ccmp15 ?= "weston-launch.service" CRANK_DEMOS_TARBALL_PATH ?= "" diff --git a/meta-digi-dey/recipes-crank/crank-sbengine/crank-sbengine/sb-launcher b/meta-digi-dey/recipes-crank/crank-sbengine/crank-sbengine/sb-launcher index 5024aeafb..29a9b8a0e 100644 --- a/meta-digi-dey/recipes-crank/crank-sbengine/crank-sbengine/sb-launcher +++ b/meta-digi-dey/recipes-crank/crank-sbengine/crank-sbengine/sb-launcher @@ -2,4 +2,4 @@ ENGINE="/usr/share/crank/sbengine" -exec "env LD_LIBRARY_PATH=${ENGINE}/lib SB_PLUGINS=${ENGINE}/plugins ${ENGINE}/bin/sbengine $*" +exec env LD_LIBRARY_PATH=${ENGINE}/lib SB_PLUGINS=${ENGINE}/plugins ${ENGINE}/bin/sbengine "$@" From a9c06bc4327cd8b96c098394b210c5234872b098 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Thu, 19 Jan 2023 17:21:41 +0100 Subject: [PATCH 076/144] weston-init: add customizations for ccimx93 Update the recipe (using meta-imx's reference) to add support for the ccimx93 and delete obsolete code. Signed-off-by: Javier Viguera --- .../wayland/weston-init.bbappend | 30 +++++++------------ .../weston-init/imx-nxp-bsp/weston.ini | 3 +- 2 files changed, 11 insertions(+), 22 deletions(-) diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend index 798876fb1..1deaca1b9 100644 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend +++ b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend @@ -1,4 +1,4 @@ -# Copyright (C) 2019-2021 Digi International. +# Copyright (C) 2019-2023 Digi International. FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" @@ -7,17 +7,13 @@ SRC_URI += " \ file://profile \ " -# Remove duplicate entries for the ccimx6 platform -# and uncomment with an individual append -INI_UNCOMMENT_ASSIGNMENTS:remove:ccimx6 = "use-g2d=1" - -INI_UNCOMMENT_ASSIGNMENTS:append:mx8ulp-nxp-bsp = " \ +INI_UNCOMMENT_ASSIGNMENTS:append:mx9-nxp-bsp = " \ + repaint-window=16 \ +" +INI_UNCOMMENT_ASSIGNMENTS:append:mx93-nxp-bsp = " \ use-g2d=1 \ " -WATCHDOG_SEC = "40" -WATCHDOG_SEC:mx8ulp-nxp-bsp = "240" - update_file() { if ! grep -q "$1" $3; then bbfatal $1 not found in $3 @@ -25,28 +21,22 @@ update_file() { sed -i -e "s,$1,$2," $3 } -do_install:append:ccimx6() { - uncomment "use-g2d=1" ${D}${sysconfdir}/xdg/weston/weston.ini -} - do_install:append() { - install -Dm0755 ${WORKDIR}/profile ${D}${sysconfdir}/profile.d/weston.sh - # Add weston.log back, used by NXP for testing update_file "ExecStart=/usr/bin/weston " "ExecStart=/usr/bin/weston --log=\$\{XDG_RUNTIME_DIR\}/weston.log " ${D}${systemd_system_unitdir}/weston.service # FIXME: weston should be run as weston, not as root update_file "User=weston" "User=root" ${D}${systemd_system_unitdir}/weston.service update_file "Group=weston" "Group=root" ${D}${systemd_system_unitdir}/weston.service +} - update_file "WatchdogSec=20" "WatchdogSec=${WATCHDOG_SEC}" ${D}${systemd_system_unitdir}/weston.service +# DEY customizations +do_install:append() { + install -Dm0755 ${WORKDIR}/profile ${D}${sysconfdir}/profile.d/weston.sh + install -Dm0644 ${WORKDIR}/digi_background.png ${D}${datadir}/weston/digi_background.png update_file "Before=graphical.target" "Before=multi-user.target" ${D}${systemd_system_unitdir}/weston.service update_file "WantedBy=graphical.target" "WantedBy=multi-user.target" ${D}${systemd_system_unitdir}/weston.service - - # Add custom background image - install -d ${D}${datadir}/weston - install ${WORKDIR}/digi_background.png ${D}${datadir}/weston } FILES:${PN} += "${datadir}/weston/digi_background.png" diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini index 76ec836ea..62d46f5d1 100644 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini +++ b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini @@ -1,6 +1,5 @@ [core] #gbm-format=argb8888 -#gbm-format=rgb565 idle-time=0 #use-g2d=1 #xwayland=true @@ -29,7 +28,7 @@ touchscreen_calibrator=true #transform=rotate-90 [screen-share] -command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize --rdp-tls-cert=/etc/freerdp/keys/server.crt --rdp-tls-key=/etc/freerdp/keys/server.key +command=@bindir@/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize --rdp-tls-cert=/etc/freerdp/keys/server.crt --rdp-tls-key=/etc/freerdp/keys/server.key # Digi: Set custom background [shell] From 38ff495f5b7e2795a3e2acd9bf9798e014bb65e8 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 23 Jan 2023 15:07:59 +0100 Subject: [PATCH 077/144] ccimx8mm: update imx-vpu-hantro-daemon recipe Verbatim copy of the one in meta-imx. Signed-off-by: Javier Viguera --- .../imx-vpu-hantro-daemon_1.1.5.bb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.5.bb diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.5.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.5.bb new file mode 100644 index 000000000..614e6b0f5 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.5.bb @@ -0,0 +1,29 @@ +# Copyright 2021-2022 NXP +DESCRIPTION = "i.MX Hantro V4L2 Daemon" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd8bc2a79509c22fc9c1782a151210b1" + +DEPENDS = "imx-vpu-hantro" +DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc" + +SRC_URI = "${FSL_MIRROR}/${BP}.tar.gz" +SRC_URI[md5sum] = "485b2eb3cb145c2dd0f77d1a4a2f9834" +SRC_URI[sha256sum] = "f8a9130865829aa3212d4ed568ac8220fa8cf495bb172e5dd082730d13da2293" + +PLATFORM:mx8mm-nxp-bsp = "IMX8MM" +PLATFORM:mx8mq-nxp-bsp = "IMX8MQ" +PLATFORM:mx8mp-nxp-bsp = "IMX8MP" + +EXTRA_OEMAKE = " \ + CROSS_COMPILE="${HOST_PREFIX}" \ + SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" \ + CTRLSW_HDRPATH="${STAGING_INCDIR}" \ + PLATFORM="${PLATFORM}" \ +" + +do_install () { + oe_runmake install DEST_DIR="${D}" +} + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" +COMPATIBLE_MACHINE = "(mx8mq-nxp-bsp|mx8mm-nxp-bsp|mx8mp-nxp-bsp)" From aab5eda5c2d1d8c1ddc430f26c9871da96263318 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 23 Jan 2023 15:38:40 +0100 Subject: [PATCH 078/144] meta-digi-arm: add kernel parameter for single boot logo Number of bootup logos is now configured using fbcon=logo-count parameter, so use it instead of our deprecated custom code in the kernel. For backwards compatibility, we add this parameter in the u-boot boot script for all platforms but the ccimx93, where this is directly handled by u-boot (v2022.04). Signed-off-by: Javier Viguera --- .../recipes-bsp/u-boot/u-boot-dey/ccimx6qpsbc/boot.txt | 2 +- .../recipes-bsp/u-boot/u-boot-dey/ccimx6sbc/boot.txt | 2 +- .../recipes-bsp/u-boot/u-boot-dey/ccimx6ulsbc/boot.txt | 2 +- .../recipes-bsp/u-boot/u-boot-dey/ccimx6ulstarter/boot.txt | 2 +- .../recipes-bsp/u-boot/u-boot-dey/ccimx8mm-dvk/boot.txt | 2 +- .../recipes-bsp/u-boot/u-boot-dey/ccimx8mn-dvk/boot.txt | 2 +- .../u-boot/u-boot-dey/ccimx8x-sbc-express/boot.txt | 2 +- .../recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-pro/boot.txt | 2 +- .../recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt | 4 ---- 9 files changed, 8 insertions(+), 12 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6qpsbc/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6qpsbc/boot.txt index 063af73d2..099380233 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6qpsbc/boot.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6qpsbc/boot.txt @@ -73,7 +73,7 @@ else fi fi -setenv extra_bootargs fbcon=logo-pos:center ${extra_bootargs} +setenv extra_bootargs fbcon=logo-pos:center fbcon=logo-count:1 ${extra_bootargs} dboot linux mmc ${mmcbootdev}:${mmcpart} diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6sbc/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6sbc/boot.txt index 5a9fde245..a0a1cc0d8 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6sbc/boot.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6sbc/boot.txt @@ -101,7 +101,7 @@ else fi fi -setenv extra_bootargs fbcon=logo-pos:center ${extra_bootargs} +setenv extra_bootargs fbcon=logo-pos:center fbcon=logo-count:1 ${extra_bootargs} dboot linux mmc ${mmcbootdev}:${mmcpart} diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulsbc/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulsbc/boot.txt index aeb249064..fb8232879 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulsbc/boot.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulsbc/boot.txt @@ -70,7 +70,7 @@ else fi fi -setenv extra_bootargs fbcon=logo-pos:center ${extra_bootargs} +setenv extra_bootargs fbcon=logo-pos:center fbcon=logo-count:1 ${extra_bootargs} dboot linux nand ${mtdbootpart} diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulstarter/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulstarter/boot.txt index da9bf0a57..dcb054d4b 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulstarter/boot.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulstarter/boot.txt @@ -70,7 +70,7 @@ else fi fi -setenv extra_bootargs fbcon=logo-pos:center ${extra_bootargs} +setenv extra_bootargs fbcon=logo-pos:center fbcon=logo-count:1 ${extra_bootargs} dboot linux nand ${mtdbootpart} diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mm-dvk/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mm-dvk/boot.txt index 980500b91..e7d3c933c 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mm-dvk/boot.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mm-dvk/boot.txt @@ -81,7 +81,7 @@ if test -n "${module_ram}"; then fi fi -setenv extra_bootargs fbcon=logo-pos:center ${extra_bootargs} +setenv extra_bootargs fbcon=logo-pos:center fbcon=logo-count:1 ${extra_bootargs} dboot linux mmc ${mmcbootdev}:${mmcpart} diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mn-dvk/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mn-dvk/boot.txt index 73cfc63e8..3b7011212 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mn-dvk/boot.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mn-dvk/boot.txt @@ -90,7 +90,7 @@ if test "${board_version}" -lt "3"; then setenv overlays _ov_board_v1-v2_ccimx8mn-dvk.dtbo,${overlays} fi -setenv extra_bootargs fbcon=logo-pos:center ${extra_bootargs} +setenv extra_bootargs fbcon=logo-pos:center fbcon=logo-count:1 ${extra_bootargs} dboot linux mmc ${mmcbootdev}:${mmcpart} diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/boot.txt index 33992d7c9..f05730df6 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/boot.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/boot.txt @@ -93,7 +93,7 @@ if test "${soc_type}" = "imx8qxp"; then setenv overlays _ov_som_quad_ccimx8x.dtbo,${overlays} fi -setenv extra_bootargs fbcon=logo-pos:center ${extra_bootargs} +setenv extra_bootargs fbcon=logo-pos:center fbcon=logo-count:1 ${extra_bootargs} dboot linux mmc ${mmcbootdev}:${mmcpart} diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-pro/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-pro/boot.txt index 840d7a098..86188c350 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-pro/boot.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-pro/boot.txt @@ -98,7 +98,7 @@ if test "${board_version}" -le "3"; then setenv overlays _ov_board_v1-v3_ccimx8x-sbc-pro.dtbo,${overlays} fi -setenv extra_bootargs fbcon=logo-pos:center ${extra_bootargs} +setenv extra_bootargs fbcon=logo-pos:center fbcon=logo-count:1 ${extra_bootargs} dboot linux mmc ${mmcbootdev}:${mmcpart} diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt index 6f35ee776..67f0811fd 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt @@ -51,7 +51,6 @@ fi # Back up environment variables setenv ORIG_overlays ${overlays} -setenv ORIG_extra_bootargs ${extra_bootargs} # # Determine overlays to apply depending on the hardware capabilities @@ -70,7 +69,6 @@ if test "${module_has_wifi}" = "1" && test -z "${disable_wifi}"; then setenv overlays _ov_som_wifi_ccimx93.dtbo,${overlays} fi -setenv extra_bootargs fbcon=logo-pos:center ${extra_bootargs} dboot linux mmc ${mmcbootdev}:${mmcpart} # @@ -80,5 +78,3 @@ dboot linux mmc ${mmcbootdev}:${mmcpart} # setenv overlays ${ORIG_overlays} setenv ORIG_overlays -setenv extra_bootargs ${ORIG_extra_bootargs} -setenv ORIG_extra_bootargs From 753424ae913c06223079ce6a29d773e254a6ffbe Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 23 Jan 2023 15:39:11 +0100 Subject: [PATCH 079/144] ccimx93: add support for MCA dtb overlay On boot, it is enabled dynamically depending on MCA setting in HWID. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/ccimx93-dvk.conf | 1 + .../recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/meta-digi-arm/conf/machine/ccimx93-dvk.conf b/meta-digi-arm/conf/machine/ccimx93-dvk.conf index 967aebb79..ffad8624e 100644 --- a/meta-digi-arm/conf/machine/ccimx93-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx93-dvk.conf @@ -13,6 +13,7 @@ KERNEL_DEVICETREE ?= " \ digi/ccimx93-dvk.dtb \ digi/_ov_board_lvds_ccimx93-dvk.dtbo \ digi/_ov_som_bt_ccimx93.dtbo \ + digi/_ov_som_mca_ccimx93.dtbo \ digi/_ov_som_wifi_ccimx93.dtbo \ " diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt index 67f0811fd..04aa40eba 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt @@ -56,6 +56,8 @@ setenv ORIG_overlays ${overlays} # Determine overlays to apply depending on the hardware capabilities # described by the HWID, SOM version, and carrier board version. # +setexpr module_has_mca ${hwid_2} \& 10000 +setexpr module_has_mca ${module_has_mca} / 10000 setexpr module_has_wifi ${hwid_2} \& 20000 setexpr module_has_wifi ${module_has_wifi} / 20000 setexpr module_has_bt ${hwid_2} \& 40000 @@ -69,6 +71,10 @@ if test "${module_has_wifi}" = "1" && test -z "${disable_wifi}"; then setenv overlays _ov_som_wifi_ccimx93.dtbo,${overlays} fi +if test "${module_has_mca}" = "1" && test -z "${disable_mca}"; then + setenv overlays _ov_som_mca_ccimx93.dtbo,${overlays} +fi + dboot linux mmc ${mmcbootdev}:${mmcpart} # From 162231f87dcabdbe4655deed4f672564e792c9e7 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Mon, 23 Jan 2023 19:27:55 +0100 Subject: [PATCH 080/144] libical: remove icu package from ccmp1 where storage is scarce Signed-off-by: Hector Palacios --- meta-digi-dey/recipes-support/libical/libical_%.bbappend | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/meta-digi-dey/recipes-support/libical/libical_%.bbappend b/meta-digi-dey/recipes-support/libical/libical_%.bbappend index c74c9d831..554be2252 100644 --- a/meta-digi-dey/recipes-support/libical/libical_%.bbappend +++ b/meta-digi-dey/recipes-support/libical/libical_%.bbappend @@ -1,11 +1,13 @@ -# Copyright (C) 2017-2021 Digi International Inc. +# Copyright (C) 2017-2023 Digi International Inc. # -# Remove ICU support for 'ccimx6ul' to save space in the rootfs. +# Remove ICU support for platforms with little storage memory to save space +# in the rootfs. # # Only 'libicudata' could weight up to 25MB: # # 25M /usr/lib/libicudata.so.57.1 PACKAGECONFIG:remove:ccimx6ul = "icu" +PACKAGECONFIG:remove:ccmp1 = "icu" PACKAGE_ARCH = "${MACHINE_ARCH}" From 3a1a7dd47c4eb7619a19ce066b70dafc286fd7dc Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Mon, 23 Jan 2023 19:30:13 +0100 Subject: [PATCH 081/144] aws: remove aws from dey-core and dey-examples packagegroups AWS has been removed from the documentation for having little use. Signed-off-by: Hector Palacios --- .../recipes-core/packagegroups/packagegroup-dey-core.bb | 1 - .../recipes-digi/packagegroups/packagegroup-dey-examples.bb | 1 - 2 files changed, 2 deletions(-) diff --git a/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb b/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb index 1af5360a5..1df33d00f 100644 --- a/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb +++ b/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb @@ -30,7 +30,6 @@ VIRTUAL-RUNTIME_passwd_manager ?= "shadow" VIRTUAL-RUNTIME_touchscreen ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'tslib-calibrate tslib-tests', d)}" RDEPENDS:${PN} = "\ - awsiotsdk-c \ base-files \ base-passwd \ connectcore-demo-example \ diff --git a/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb b/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb index eab2ee218..c2f9f1a7d 100644 --- a/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb +++ b/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb @@ -16,7 +16,6 @@ RDEPENDS:${PN} = "\ ${@bb.utils.contains("MACHINE_FEATURES", "cryptochip", "dey-examples-cryptochip", "", d)} \ ${@bb.utils.contains("MACHINE_FEATURES", "mca", "dey-examples-adc-cmp \ dey-examples-tamper", "", d)} \ - awsiotsdk-demo \ dey-examples-caamblob \ dey-examples-cloudconnector \ dey-examples-digiapix \ From 27eb14c65f7b12bbee90626083d90e0ef2b0f57b Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Wed, 25 Jan 2023 12:32:09 +0100 Subject: [PATCH 082/144] ccmp1: remove MCA from MACHINE_FEATURES No SOM variant has MCA chip for the moment. Signed-off-by: Hector Palacios --- meta-digi-arm/conf/machine/ccmp13-dvk.conf | 1 - meta-digi-arm/conf/machine/ccmp15-dvk.conf | 1 - 2 files changed, 2 deletions(-) diff --git a/meta-digi-arm/conf/machine/ccmp13-dvk.conf b/meta-digi-arm/conf/machine/ccmp13-dvk.conf index 35f914b20..9df9b3006 100644 --- a/meta-digi-arm/conf/machine/ccmp13-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp13-dvk.conf @@ -48,7 +48,6 @@ STM32MP_KERNEL_DEVICETREE:ccmp13-dvk += " \ # ========================================================================= MACHINE_FEATURES += "bluetooth" MACHINE_FEATURES += "wifi" -MACHINE_FEATURES += "mca" # ========================================================================= # Firmware diff --git a/meta-digi-arm/conf/machine/ccmp15-dvk.conf b/meta-digi-arm/conf/machine/ccmp15-dvk.conf index 4ca568173..0553f3a69 100644 --- a/meta-digi-arm/conf/machine/ccmp15-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp15-dvk.conf @@ -56,7 +56,6 @@ STM32MP_KERNEL_DEVICETREE:ccmp15-dvk += " \ MACHINE_FEATURES += "bluetooth" MACHINE_FEATURES += "wifi" MACHINE_FEATURES += "gpu" -MACHINE_FEATURES += "mca" # ========================================================================= # Firmware From e68316d3824a72dec5c9577e4dbc04ad84b77922 Mon Sep 17 00:00:00 2001 From: Isaac Hermida Date: Tue, 24 Jan 2023 14:26:05 +0100 Subject: [PATCH 083/144] connectcore-demo-example: webglsamples: set aquarium options Set the options to false, so user can enable it and see the effect and how it loads the performance. Just starting with those options ON leads to a loaded system and the first impression is too bad. Signed-off-by: Isaac Hermida --- .../connectcore-demo-example-webkit/webglsamples_git.bb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/webglsamples_git.bb b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/webglsamples_git.bb index c74e99efc..5ba2d9b6f 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/webglsamples_git.bb +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/webglsamples_git.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2020-2022 Digi International. +# Copyright (C) 2020-2023 Digi International. SUMMARY = "A collection of WebGL samples" DESCRIPTION = "This repo contains several examples of the WebGL JavaScript API, which allows web browsers to render 2D and 3D graphics with direct access to the system's GPU." @@ -63,6 +63,8 @@ do_install() { find ${sample} -path *source_assets* -prune -false -o -type f \ -exec install -Dm 644 "{}" "${D}/${WEBSERVER_ROOT}/{}" \; done + # Disable the aquarium options by default + sed -i 's/enabled: true/enabled: false/g' ${D}/${WEBSERVER_ROOT}/aquarium/aquarium-common.js } # All packages involved in the webkit examples install their files in the From 1467244b040b88c7147b47397ee17bc88ac188f6 Mon Sep 17 00:00:00 2001 From: Isaac Hermida Date: Fri, 27 Jan 2023 11:31:10 +0100 Subject: [PATCH 084/144] cog: fix mouse pointer Apply patch to show mouse pointer, see commit https://github.com/Igalia/cog/commit/fe83f9b721f67ffa4d53c5261fc447355ebe06da Signed-off-by: Isaac Hermida --- .../0002-wl-Fix-wrong-wl_shm-for-cursor.patch | 41 +++++++++++++++++++ .../webkit/recipes-browser/cog/cog_%.bbappend | 1 + 2 files changed, 42 insertions(+) create mode 100644 meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-wl-Fix-wrong-wl_shm-for-cursor.patch diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-wl-Fix-wrong-wl_shm-for-cursor.patch b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-wl-Fix-wrong-wl_shm-for-cursor.patch new file mode 100644 index 000000000..c88e1514b --- /dev/null +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-wl-Fix-wrong-wl_shm-for-cursor.patch @@ -0,0 +1,41 @@ +From: Flourick +Date: Thu, 27 Oct 2022 11:03:45 +0200 +Subject: [PATCH] wl: Fix wrong wl_shm for cursor + +--- + platform/wayland/cog-platform-wl.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/platform/wayland/cog-platform-wl.c b/platform/wayland/cog-platform-wl.c +index ec76a08b719a..6ba43dd99f51 100644 +--- a/platform/wayland/cog-platform-wl.c ++++ b/platform/wayland/cog-platform-wl.c +@@ -173,7 +173,6 @@ static struct { + #endif + + #ifdef COG_USE_WAYLAND_CURSOR +- struct wl_shm *wl_shm; + struct wl_cursor_theme *cursor_theme; + struct wl_cursor *cursor_left_ptr; + struct wl_surface *cursor_left_ptr_surface; +@@ -1979,10 +1978,10 @@ init_wayland (GError **error) + wl_display_roundtrip (wl_data.display); + + #if COG_USE_WAYLAND_CURSOR +- if (wl_data.wl_shm) { ++ if (wl_data.shm) { + if (!(wl_data.cursor_theme = wl_cursor_theme_load (NULL, + 32, +- wl_data.wl_shm))) { ++ wl_data.shm))) { + g_warning ("%s: Could not load cursor theme.", G_STRFUNC); + } else if (!(wl_data.cursor_left_ptr = + wl_cursor_theme_get_cursor (wl_data.cursor_theme, "left_ptr"))) { +@@ -2027,7 +2026,6 @@ clear_wayland (void) + #ifdef COG_USE_WAYLAND_CURSOR + g_clear_pointer (&wl_data.cursor_left_ptr_surface, wl_surface_destroy); + g_clear_pointer (&wl_data.cursor_theme, wl_cursor_theme_destroy); +- g_clear_pointer (&wl_data.wl_shm, wl_shm_destroy); + #endif /* COG_USE_WAYLAND_CURSOR */ + + wl_registry_destroy (wl_data.registry); diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend index a7ed9b8b6..6e253e8ed 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend @@ -4,6 +4,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" SRC_URI:append = " \ file://0001-cog-platform-fdo-always-use-fullscreen-mode.patch \ + file://0002-wl-Fix-wrong-wl_shm-for-cursor.patch \ " EXTRA_OECMAKE += "-DCOG_HOME_URI=http://127.0.0.1/" From 4e361ff4498fa7eec0bcabb321d99cc3c3364da7 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Mon, 30 Jan 2023 10:52:05 +0100 Subject: [PATCH 085/144] trustfence-cst: fix issue with binutils 2.38 objcopy There is an issue in binutils 2.38 objcopy when called with '--weaken' flag: https://sourceware.org/bugzilla/show_bug.cgi?id=27493 To circumvent it, patch the trustfence-cst config.mk to call specifically with 'weaken-symbol err_msg' which is apparently the only symbol that's overriden by the code. Signed-off-by: Hector Palacios https://onedigi.atlassian.net/browse/DEL-8033 https://onedigi.atlassian.net/browse/DEL-8332 --- .../trustfence-cst/trustfence-cst-3.3.1.inc | 1 + ....mk-weaken-specific-function-err_msg.patch | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 meta-digi-arm/recipes-bsp/trustfence-cst/trustfence-cst/0007-rules.mk-weaken-specific-function-err_msg.patch diff --git a/meta-digi-arm/recipes-bsp/trustfence-cst/trustfence-cst-3.3.1.inc b/meta-digi-arm/recipes-bsp/trustfence-cst/trustfence-cst-3.3.1.inc index 87c050ef7..a9319dfc0 100644 --- a/meta-digi-arm/recipes-bsp/trustfence-cst/trustfence-cst-3.3.1.inc +++ b/meta-digi-arm/recipes-bsp/trustfence-cst/trustfence-cst-3.3.1.inc @@ -20,6 +20,7 @@ SRC_URI = " \ file://0004-hab4_pki_tree.sh-usa-a-random-password-for-the-defau.patch \ file://0005-ahab_pki_tree.sh-automate-script.patch \ file://0006-ahab_pki_tree.sh-use-a-random-password-for-the-defau.patch \ + file://0007-rules.mk-weaken-specific-function-err_msg.patch \ " SRC_URI[cst.md5sum] = "27ba9c8bc0b8a7f14d23185775c53794" diff --git a/meta-digi-arm/recipes-bsp/trustfence-cst/trustfence-cst/0007-rules.mk-weaken-specific-function-err_msg.patch b/meta-digi-arm/recipes-bsp/trustfence-cst/trustfence-cst/0007-rules.mk-weaken-specific-function-err_msg.patch new file mode 100644 index 000000000..03049e35b --- /dev/null +++ b/meta-digi-arm/recipes-bsp/trustfence-cst/trustfence-cst/0007-rules.mk-weaken-specific-function-err_msg.patch @@ -0,0 +1,33 @@ +From fe51b132c7c07de5a63c3dfc5a16bc9fc7816f7e Mon Sep 17 00:00:00 2001 +From: Hector Palacios +Date: Mon, 30 Jan 2023 10:38:22 +0100 +Subject: [PATCH] rules.mk: weaken specific function err_msg() + +A bug in binutils 2.38 objcopy '--weaken' produces malformed +binaries. +For the cst, it looks like it's enough to weaken function err_msg() +which is otherwise redefined. +Change the global '--weaken' flag with '--weaken-symbol err_msg' +to have the build process generate a valid 'cst' binary. + +Signed-off-by: Hector Palacios + +https://onedigi.atlassian.net/browse/DEL-8332 +https://onedigi.atlassian.net/browse/DEL-8033 +--- + code/cst/code/build/make/rules.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/code/cst/code/build/make/rules.mk b/code/cst/code/build/make/rules.mk +index 1c0842bd070e..032e18bc5134 100755 +--- a/code/cst/code/build/make/rules.mk ++++ b/code/cst/code/build/make/rules.mk +@@ -27,7 +27,7 @@ LFLAGS := -t + $(AR) $(ARFLAGS) $@ $^ + ifneq ($(OSTYPE),mingw32) + ifneq ($(OSTYPE),osx) +- $(OBJCOPY) --weaken $@ ++ $(OBJCOPY) --weaken-symbol err_msg $@ + endif + endif + From c4f2fce4d3d58f4de37aecda7fc09099e096dc8b Mon Sep 17 00:00:00 2001 From: Arturo Buzarra Date: Mon, 30 Jan 2023 17:01:20 +0100 Subject: [PATCH 086/144] dey-examples: connectcore-demo: remove unused images to reduce package size This commit removes unused platform images to reduce the final size in the rootfs. https://onedigi.atlassian.net/browse/DEL-8335 Signed-off-by: Arturo Buzarra --- .../recipes-digi/dey-examples/connectcore-demo-example.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc index d2afb0c43..023216c1f 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc +++ b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc @@ -33,6 +33,9 @@ do_install() { install -d ${D}/srv/www cp -r ${WORKDIR}/git/connectcore-demo-example/* ${D}/srv/www/ + # Remove unused images + find ${D}/srv/www/static/images/ -type f -name '*_board.png' -not -name '${MACHINE}_board.png' -delete + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then # Install systemd unit files install -d ${D}${systemd_unitdir}/system From ab4ab168aaa6b077bc2852cd814abf2392c70104 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Tue, 31 Jan 2023 13:55:37 +0100 Subject: [PATCH 087/144] libsoc: remove dependency of Digi clone repo The commits in Digi clone have been merged to the public libsoc repo. Adjust the SRCREV to the latest available commit at the moment (545b354968a9d03008e1e86e14c58e3f8423a20c) and remove the dependency with Digi clone. Signed-off-by: Hector Palacios https://onedigi.atlassian.net/browse/DEL-8218 --- meta-digi-dey/conf/distro/dey.conf | 3 -- .../recipes-support/libsoc/libsoc_%.bbappend | 15 ++++++++ .../recipes-support/libsoc/libsoc_git.bb | 38 ------------------- .../libsoc/libsoc_git.bbappend | 15 -------- 4 files changed, 15 insertions(+), 56 deletions(-) create mode 100644 meta-digi-dey/recipes-support/libsoc/libsoc_%.bbappend delete mode 100644 meta-digi-dey/recipes-support/libsoc/libsoc_git.bb delete mode 100644 meta-digi-dey/recipes-support/libsoc/libsoc_git.bbappend diff --git a/meta-digi-dey/conf/distro/dey.conf b/meta-digi-dey/conf/distro/dey.conf index 2da86c239..b127a6f24 100644 --- a/meta-digi-dey/conf/distro/dey.conf +++ b/meta-digi-dey/conf/distro/dey.conf @@ -53,9 +53,6 @@ PREFERRED_VERSION_bluez5 ?= "5.65" PREFERRED_VERSION_linux-yocto ?= "5.15%" PREFERRED_VERSION_linux-yocto-rt ?= "5.15%" -# Use git recipe for libsoc -PREFERRED_VERSION_libsoc = "git" - # There's a generic opencl-headers recipe in the thud branch of # meta-openembedded, but we should use the package provided by the imx-gpu-viv # recipe in case there are NXP-specific changes in it diff --git a/meta-digi-dey/recipes-support/libsoc/libsoc_%.bbappend b/meta-digi-dey/recipes-support/libsoc/libsoc_%.bbappend new file mode 100644 index 000000000..993181438 --- /dev/null +++ b/meta-digi-dey/recipes-support/libsoc/libsoc_%.bbappend @@ -0,0 +1,15 @@ +# Copyright (C) 2017-2023 Digi International Inc. + +FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" + +SRCREV = "545b354968a9d03008e1e86e14c58e3f8423a20c" + +# The meta-openembedded recipe version is 0.8.2 because there have been no new +# releases/tags on this repo since 2016. +# This bbappend overrides the SRC_URI to use a more updated version of the code +# that doesn't correspond to the package latest tagged version. +SRC_URI:append = " \ + file://0001-gpio-pwm-add-delay-to-allow-udev-rules-to-complete.patch \ +" + +PACKAGECONFIG = "python" diff --git a/meta-digi-dey/recipes-support/libsoc/libsoc_git.bb b/meta-digi-dey/recipes-support/libsoc/libsoc_git.bb deleted file mode 100644 index 2a2fcaaac..000000000 --- a/meta-digi-dey/recipes-support/libsoc/libsoc_git.bb +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright (C) 2017-2021 Digi International Inc. - -SUMMARY = "Library for interfacing with common SoC peripherals" -DESCRIPTION = "libsoc is a C library to interface with common peripherals (gpio, i2c, spi, pwm) \ - found in SoC (System on Chips) through generic Linux Kernel interfaces." - -HOMEPAGE = "https://github.com/jackmitch/libsoc" - -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://LICENCE;md5=e0bfebea12a718922225ba987b2126a5" - -inherit autotools pkgconfig python3-dir - -SRCBRANCH ?= "master" -SRCREV = "${AUTOREV}" -SRC_URI = "git://github.com/jackmitch/libsoc.git;branch=master;protocol=https" - -S = "${WORKDIR}/git" - -BOARD ??= "devboard" - -PACKAGECONFIG ?= "" - -PACKAGECONFIG[disabledebug] = "--disable-debug,," -PACKAGECONFIG[allboardconfigs] = "--with-board-configs,," -PACKAGECONFIG[enableboardconfig] = "--enable-board=${BOARD},," -PACKAGECONFIG[python] = "--enable-python=${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN},,${PYTHON_PN} ${PYTHON_PN}-native" - -PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'python', \ - '${PYTHON_PN}-libsoc-staticdev ${PYTHON_PN}-libsoc', '', d)}" - -RDEPENDS:${PN} = "libgcc" -RDEPENDS:${PYTHON_PN}-libsoc = "${PN} ${PYTHON_PN}-ctypes" - -FILES:${PYTHON_PN}-libsoc-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*/*.a" -FILES:${PYTHON_PN}-libsoc += "${PYTHON_SITEPACKAGES_DIR}" - -DEFAULT_PREFERENCE = "-1" diff --git a/meta-digi-dey/recipes-support/libsoc/libsoc_git.bbappend b/meta-digi-dey/recipes-support/libsoc/libsoc_git.bbappend deleted file mode 100644 index af4dd5459..000000000 --- a/meta-digi-dey/recipes-support/libsoc/libsoc_git.bbappend +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (C) 2017 Digi International Inc. - -FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" - -LIBSOC_URI_STASH = "${DIGI_MTK_GIT}/dey/libsoc.git;protocol=ssh" -LIBSOC_URI_GITHUB = "git://github.com/jackmitch/libsoc.git;protocol=https" -LIBSOC_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${LIBSOC_URI_STASH}', '${LIBSOC_URI_GITHUB}', d)}" - -SRCREV = "dc62bb1f04c13d0423078b1af2bb439c62023d6c" -SRC_URI = " \ - ${LIBSOC_URI};nobranch=1 \ - file://0001-gpio-pwm-add-delay-to-allow-udev-rules-to-complete.patch \ -" - -PACKAGECONFIG = "python" From 21ab3b1a8b77db2e2f4d5bd24cd60061a28829d2 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 31 Jan 2023 17:52:41 +0100 Subject: [PATCH 088/144] ccimx93-dvk: add missing bootable artifact name Otherwise the file is not included in the installer ZIP. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/ccimx93-dvk.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-digi-arm/conf/machine/ccimx93-dvk.conf b/meta-digi-arm/conf/machine/ccimx93-dvk.conf index ffad8624e..a0f50082a 100644 --- a/meta-digi-arm/conf/machine/ccimx93-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx93-dvk.conf @@ -32,3 +32,6 @@ WKS_FILE_DEPENDS:append = " imx-m33-demos" IMAGE_FSTYPES ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", \ "boot.vfat recovery.vfat squashfs tar.bz2", \ "boot.vfat recovery.vfat ext4.gz tar.bz2 sdcard.gz", d)}' + +# Boot artifacts to be copied from the deploy dir to the installer ZIP +BOOTABLE_ARTIFACTS = "imx-boot-ccimx93-dvk.bin" From 9f7ed3e2b193151e9f2ad5dd1c66cc78df2d2f91 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 31 Jan 2023 19:28:33 +0100 Subject: [PATCH 089/144] dey-image-graphical: add 'weston' image feature For 'wayland' enabled distro features, 'weston' is added as image feature. This is later used in poky to change the SYSTEMD_DEFAULT_TARGET to 'graphical.target' which is the correct systemd default target for graphical images. This allows to delete the workaround we have in 'weston-init' recipe to start weston automatically on boot. Also delete some packages from CORE_IMAGE_EXTRA_INSTALL: - weston-init and weston-examples are included as part of the 'weston' image feature. - gtk+3-demo: removed from the default images, as it is a graphic framework we are not promoting. - xterm: removed as weston does already provide a terminal (weston-terminal). Signed-off-by: Javier Viguera --- .../recipes-graphics/wayland/weston-init.bbappend | 3 --- meta-digi-dey/recipes-core/images/dey-image-graphical.inc | 5 ++--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend index 1deaca1b9..d83553614 100644 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend +++ b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend @@ -34,9 +34,6 @@ do_install:append() { do_install:append() { install -Dm0755 ${WORKDIR}/profile ${D}${sysconfdir}/profile.d/weston.sh install -Dm0644 ${WORKDIR}/digi_background.png ${D}${datadir}/weston/digi_background.png - - update_file "Before=graphical.target" "Before=multi-user.target" ${D}${systemd_system_unitdir}/weston.service - update_file "WantedBy=graphical.target" "WantedBy=multi-user.target" ${D}${systemd_system_unitdir}/weston.service } FILES:${PN} += "${datadir}/weston/digi_background.png" diff --git a/meta-digi-dey/recipes-core/images/dey-image-graphical.inc b/meta-digi-dey/recipes-core/images/dey-image-graphical.inc index 3449c613c..c80ff800d 100644 --- a/meta-digi-dey/recipes-core/images/dey-image-graphical.inc +++ b/meta-digi-dey/recipes-core/images/dey-image-graphical.inc @@ -21,7 +21,7 @@ IMAGE_FEATURES += " \ eclipse-debug \ package-management \ ssh-server-dropbear \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston', \ bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11-base x11-sato', \ '', d), d)} \ ${@bb.utils.contains('MACHINE_FEATURES', 'accel-video', 'dey-gstreamer', '', d)} \ @@ -60,7 +60,6 @@ BAD_RECOMMENDATIONS += "eudev-hwdb" export IMAGE_BASENAME = "dey-image-${GRAPHICAL_CORE}-${GRAPHICAL_BACKEND}" CORE_IMAGE_EXTRA_INSTALL += " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston-init weston-examples gtk+3-demo', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'weston-xwayland xterm', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'weston-xwayland', '', d)} \ dey-examples-digiapix \ " From 20eb907de0f2caf55a7ed2d9eac912c9201e868a Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 1 Feb 2023 11:21:21 +0100 Subject: [PATCH 090/144] dualboot: fix runtime dependences Several fixes to the runtime dependences: * Use new override syntax with ':' * There is not "dualboot-init" package only "dualboot" * Delete dependence on trustfence-tool While on it, define do_configure and do_compile as noexec, because those tasks do not need to execute, and remove the wrong PACKAGE_ARCH entry (as this package is arch/machine agnostic) Signed-off-by: Javier Viguera --- meta-digi-dey/recipes-digi/dualboot/dualboot.bb | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/meta-digi-dey/recipes-digi/dualboot/dualboot.bb b/meta-digi-dey/recipes-digi/dualboot/dualboot.bb index 60b346403..1876504a6 100644 --- a/meta-digi-dey/recipes-digi/dualboot/dualboot.bb +++ b/meta-digi-dey/recipes-digi/dualboot/dualboot.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2021-2022 Digi International Inc. +# Copyright (C) 2021-2023 Digi International Inc. SUMMARY = "Digi Embedded Yocto Dual boot support" SECTION = "base" @@ -23,6 +23,9 @@ S = "${WORKDIR}" inherit systemd update-rc.d +do_configure[noexec] = "1" +do_compile[noexec] = "1" + do_install() { install -d ${D}${sysconfdir}/init.d/ install -m 0755 ${WORKDIR}/dualboot-init ${D}${sysconfdir}/dualboot-init @@ -75,10 +78,4 @@ INITSCRIPT_PARAMS = "start 19 2 3 4 5 . stop 21 0 1 6 ." SYSTEMD_SERVICE:${PN} = "firmware-update-check.service" -PACKAGE_ARCH = "${MACHINE_ARCH}" - -# Add swupdate into the rootfs for dual boot support -RDEPENDS_${PN}-init = " \ - swupdate \ - trustfence-tool \ -" +RDEPENDS:${PN} += "swupdate" From ae55a4369524b02daa28aefc502666ee710a6e85 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 1 Feb 2023 11:59:35 +0100 Subject: [PATCH 091/144] meta-digi-dey: create QT5 dynamic layer support and move recipes This is in preparation of dual QT5/QT6 support in DEY. https://onedigi.atlassian.net/browse/DEL-8347 Signed-off-by: Javier Viguera --- meta-digi-dey/conf/layer.conf | 4 ++++ .../recipes-qt/qt5/qt5everywheredemo_%.bbappend | 4 ---- .../recipes-qt/qt5/qtsmarthome_%.bbappend | 4 ---- .../recipes-qt/qt5/cinematicexperience_%.bbappend | 0 .../qt5/gstreamer1.0-plugins-good-qt_1.18.5.imx.bb | 0 .../qt5/imx-qtapplications/qtimxcamera.desktop | 0 .../qt5/imx-qtapplications/qtimxplayer.desktop | 0 .../qt5/imx-qtapplications_1.2.2-aarch32.bb | 0 .../qt5/imx-qtapplications_1.2.2-aarch64.bb | 0 .../NXP}/recipes-qt/qt5/nativesdk-qtbase_%.bbappend | 0 .../NXP}/recipes-qt/qt5/qt3d_%.bbappend | 0 .../NXP}/recipes-qt/qt5/qt5ledscreen_%.bbappend | 0 .../recipes-qt/qt5/qt5nmapcarousedemo_%.bbappend | 0 .../NXP}/recipes-qt/qt5/qt5nmapper_%.bbappend | 0 .../0016-Configure-eglfs-with-egl-pkg-config.patch | 0 .../NXP}/recipes-qt/qt5/qtbase/ccimx6ul/qt5.sh | 0 .../NXP}/recipes-qt/qt5/qtbase/qt5.sh | 0 .../NXP}/recipes-qt/qt5/qtbase_%.bbappend | 0 .../NXP}/recipes-qt/qt5/qtdeclarative_%.bbappend | 0 .../NXP}/recipes-qt/qt5/qtlocation_%.bbappend | 0 .../NXP}/recipes-qt/qt5/qtmultimedia_%.bbappend | 0 .../NXP}/recipes-qt/qt5/qtquick3d_%.bbappend | 0 .../NXP}/recipes-qt/qt5/qtquickcontrols2_%.bbappend | 0 .../NXP}/recipes-qt/qt5/qtscript_%.bbappend | 0 .../NXP}/recipes-qt/qt5/qtsvg_%.bbappend | 0 .../NXP}/recipes-qt/qt5/qttools_%.bbappend | 0 .../NXP}/recipes-qt/qt5/qtwayland_%.bbappend | 0 ...s.gni-Do-not-enable-use_xkbcommon-for-non-.patch | 0 .../NXP}/recipes-qt/qt5/qtwebengine_%.bbappend | 0 .../NXP}/recipes-qt/qt5/qtx11extras_%.bbappend | 0 .../NXP}/recipes-qt/qt5/quitbattery_%.bbappend | 0 .../NXP}/recipes-qt/qt5/quitindicators_%.bbappend | 0 .../STM}/recipes-qt/qt5/qtbase_git.bbappend | 0 .../demo-extrafiles/qt5-demo-extrafiles.bbappend | 0 .../qt5-demo-extrafiles/hellowindow.desktop | 0 .../qt5-demo-extrafiles/qmlvideo.desktop | 0 .../qt5-demo-extrafiles/qmlvideo.png | Bin .../examples/cinematicexperience-rhi_1.0.bb | 0 .../examples/qt5everywheredemo_1.0.bbappend | 0 .../0001-qtsmarthome-fix-runtime-warning.patch | 0 .../examples/qtsmarthome-1.0/qtsmarthome.desktop | 0 .../examples/qtsmarthome-1.0/qtsmarthome.png | Bin .../recipes-qt/examples/qtsmarthome_1.0.bbappend | 0 ...tivesdk-packagegroup-qt5-toolchain-host.bbappend | 0 .../packagegroup-qt5-toolchain-target.bbappend | 0 45 files changed, 4 insertions(+), 8 deletions(-) delete mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qt5everywheredemo_%.bbappend delete mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtsmarthome_%.bbappend rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/cinematicexperience_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.18.5.imx.bb (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/imx-qtapplications/qtimxcamera.desktop (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/imx-qtapplications/qtimxplayer.desktop (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/imx-qtapplications_1.2.2-aarch32.bb (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/imx-qtapplications_1.2.2-aarch64.bb (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/nativesdk-qtbase_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qt3d_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qt5ledscreen_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qt5nmapcarousedemo_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qt5nmapper_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qtbase/0016-Configure-eglfs-with-egl-pkg-config.patch (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qtbase/ccimx6ul/qt5.sh (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qtbase/qt5.sh (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qtbase_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qtdeclarative_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qtlocation_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qtmultimedia_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qtquick3d_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qtquickcontrols2_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qtscript_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qtsvg_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qttools_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qtwayland_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qtwebengine/0001-ui_features.gni-Do-not-enable-use_xkbcommon-for-non-.patch (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qtwebengine_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/qtx11extras_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/quitbattery_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{freescale-layer => qt5-layer/NXP}/recipes-qt/qt5/quitindicators_%.bbappend (100%) rename meta-digi-dey/dynamic-layers/{stm-st-stm32mp => qt5-layer/STM}/recipes-qt/qt5/qtbase_git.bbappend (100%) rename meta-digi-dey/{ => dynamic-layers/qt5-layer}/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bbappend (100%) rename meta-digi-dey/{ => dynamic-layers/qt5-layer}/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellowindow.desktop (100%) rename meta-digi-dey/{ => dynamic-layers/qt5-layer}/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qmlvideo.desktop (100%) rename meta-digi-dey/{ => dynamic-layers/qt5-layer}/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qmlvideo.png (100%) rename meta-digi-dey/{ => dynamic-layers/qt5-layer}/recipes-qt/examples/cinematicexperience-rhi_1.0.bb (100%) rename meta-digi-dey/{ => dynamic-layers/qt5-layer}/recipes-qt/examples/qt5everywheredemo_1.0.bbappend (100%) rename meta-digi-dey/{ => dynamic-layers/qt5-layer}/recipes-qt/examples/qtsmarthome-1.0/0001-qtsmarthome-fix-runtime-warning.patch (100%) rename meta-digi-dey/{ => dynamic-layers/qt5-layer}/recipes-qt/examples/qtsmarthome-1.0/qtsmarthome.desktop (100%) rename meta-digi-dey/{ => dynamic-layers/qt5-layer}/recipes-qt/examples/qtsmarthome-1.0/qtsmarthome.png (100%) rename meta-digi-dey/{ => dynamic-layers/qt5-layer}/recipes-qt/examples/qtsmarthome_1.0.bbappend (100%) rename meta-digi-dey/{ => dynamic-layers/qt5-layer}/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bbappend (100%) rename meta-digi-dey/{ => dynamic-layers/qt5-layer}/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend (100%) diff --git a/meta-digi-dey/conf/layer.conf b/meta-digi-dey/conf/layer.conf index e4c306b08..5cf610019 100644 --- a/meta-digi-dey/conf/layer.conf +++ b/meta-digi-dey/conf/layer.conf @@ -14,6 +14,10 @@ BBFILES_DYNAMIC += " \ freescale-layer:${LAYERDIR}/dynamic-layers/freescale-layer/*/*/*.bbappend \ stm-st-stm32mp:${LAYERDIR}/dynamic-layers/stm-st-stm32mp/*/*/*.bb \ stm-st-stm32mp:${LAYERDIR}/dynamic-layers/stm-st-stm32mp/*/*/*.bbappend \ + qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bb \ + qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bbappend \ + qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/${DEY_BUILD_PLATFORM}/*/*/*.bb \ + qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/${DEY_BUILD_PLATFORM}/*/*/*.bbappend \ " BBFILE_COLLECTIONS += "digi-dey" diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qt5everywheredemo_%.bbappend b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qt5everywheredemo_%.bbappend deleted file mode 100644 index 48c8aa7d5..000000000 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qt5everywheredemo_%.bbappend +++ /dev/null @@ -1,4 +0,0 @@ - -# Remove dependency on qtgraphicaleffects for sololite -DEPENDS:remove:mx6sl-nxp-bsp = "qtgraphicaleffects" -RDEPENDS:${PN}:remove:mx6sl-nxp-bsp = "qtgraphicaleffects-qmlplugins" \ No newline at end of file diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtsmarthome_%.bbappend b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtsmarthome_%.bbappend deleted file mode 100644 index 48c8aa7d5..000000000 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtsmarthome_%.bbappend +++ /dev/null @@ -1,4 +0,0 @@ - -# Remove dependency on qtgraphicaleffects for sololite -DEPENDS:remove:mx6sl-nxp-bsp = "qtgraphicaleffects" -RDEPENDS:${PN}:remove:mx6sl-nxp-bsp = "qtgraphicaleffects-qmlplugins" \ No newline at end of file diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/cinematicexperience_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/cinematicexperience_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/cinematicexperience_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/cinematicexperience_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.18.5.imx.bb b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.18.5.imx.bb similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.18.5.imx.bb rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.18.5.imx.bb diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/imx-qtapplications/qtimxcamera.desktop b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/imx-qtapplications/qtimxcamera.desktop similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/imx-qtapplications/qtimxcamera.desktop rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/imx-qtapplications/qtimxcamera.desktop diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/imx-qtapplications/qtimxplayer.desktop b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/imx-qtapplications/qtimxplayer.desktop similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/imx-qtapplications/qtimxplayer.desktop rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/imx-qtapplications/qtimxplayer.desktop diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/imx-qtapplications_1.2.2-aarch32.bb b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/imx-qtapplications_1.2.2-aarch32.bb similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/imx-qtapplications_1.2.2-aarch32.bb rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/imx-qtapplications_1.2.2-aarch32.bb diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/imx-qtapplications_1.2.2-aarch64.bb b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/imx-qtapplications_1.2.2-aarch64.bb similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/imx-qtapplications_1.2.2-aarch64.bb rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/imx-qtapplications_1.2.2-aarch64.bb diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/nativesdk-qtbase_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/nativesdk-qtbase_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/nativesdk-qtbase_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/nativesdk-qtbase_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qt3d_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qt3d_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qt3d_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qt3d_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qt5ledscreen_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qt5ledscreen_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qt5ledscreen_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qt5ledscreen_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qt5nmapcarousedemo_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qt5nmapcarousedemo_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qt5nmapcarousedemo_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qt5nmapcarousedemo_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qt5nmapper_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qt5nmapper_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qt5nmapper_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qt5nmapper_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtbase/0016-Configure-eglfs-with-egl-pkg-config.patch b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtbase/0016-Configure-eglfs-with-egl-pkg-config.patch similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtbase/0016-Configure-eglfs-with-egl-pkg-config.patch rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtbase/0016-Configure-eglfs-with-egl-pkg-config.patch diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtbase/ccimx6ul/qt5.sh b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtbase/ccimx6ul/qt5.sh similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtbase/ccimx6ul/qt5.sh rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtbase/ccimx6ul/qt5.sh diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtbase/qt5.sh b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtbase/qt5.sh similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtbase/qt5.sh rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtbase/qt5.sh diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtbase_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtbase_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtbase_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtbase_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtdeclarative_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtdeclarative_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtdeclarative_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtdeclarative_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtlocation_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtlocation_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtlocation_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtlocation_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtmultimedia_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtmultimedia_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtmultimedia_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtmultimedia_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtquick3d_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtquick3d_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtquick3d_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtquick3d_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtquickcontrols2_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtquickcontrols2_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtquickcontrols2_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtquickcontrols2_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtscript_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtscript_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtscript_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtscript_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtsvg_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtsvg_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtsvg_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtsvg_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qttools_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qttools_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qttools_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qttools_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwayland_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtwayland_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwayland_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtwayland_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwebengine/0001-ui_features.gni-Do-not-enable-use_xkbcommon-for-non-.patch b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtwebengine/0001-ui_features.gni-Do-not-enable-use_xkbcommon-for-non-.patch similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwebengine/0001-ui_features.gni-Do-not-enable-use_xkbcommon-for-non-.patch rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtwebengine/0001-ui_features.gni-Do-not-enable-use_xkbcommon-for-non-.patch diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwebengine_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtwebengine_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtwebengine_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtwebengine_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtx11extras_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtx11extras_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/qtx11extras_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/qtx11extras_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/quitbattery_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/quitbattery_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/quitbattery_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/quitbattery_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/quitindicators_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/quitindicators_%.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/freescale-layer/recipes-qt/qt5/quitindicators_%.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/NXP/recipes-qt/qt5/quitindicators_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/stm-st-stm32mp/recipes-qt/qt5/qtbase_git.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/STM/recipes-qt/qt5/qtbase_git.bbappend similarity index 100% rename from meta-digi-dey/dynamic-layers/stm-st-stm32mp/recipes-qt/qt5/qtbase_git.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/STM/recipes-qt/qt5/qtbase_git.bbappend diff --git a/meta-digi-dey/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bbappend similarity index 100% rename from meta-digi-dey/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bbappend diff --git a/meta-digi-dey/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellowindow.desktop b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellowindow.desktop similarity index 100% rename from meta-digi-dey/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellowindow.desktop rename to meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellowindow.desktop diff --git a/meta-digi-dey/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qmlvideo.desktop b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qmlvideo.desktop similarity index 100% rename from meta-digi-dey/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qmlvideo.desktop rename to meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qmlvideo.desktop diff --git a/meta-digi-dey/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qmlvideo.png b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qmlvideo.png similarity index 100% rename from meta-digi-dey/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qmlvideo.png rename to meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qmlvideo.png diff --git a/meta-digi-dey/recipes-qt/examples/cinematicexperience-rhi_1.0.bb b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/cinematicexperience-rhi_1.0.bb similarity index 100% rename from meta-digi-dey/recipes-qt/examples/cinematicexperience-rhi_1.0.bb rename to meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/cinematicexperience-rhi_1.0.bb diff --git a/meta-digi-dey/recipes-qt/examples/qt5everywheredemo_1.0.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/qt5everywheredemo_1.0.bbappend similarity index 100% rename from meta-digi-dey/recipes-qt/examples/qt5everywheredemo_1.0.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/qt5everywheredemo_1.0.bbappend diff --git a/meta-digi-dey/recipes-qt/examples/qtsmarthome-1.0/0001-qtsmarthome-fix-runtime-warning.patch b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/qtsmarthome-1.0/0001-qtsmarthome-fix-runtime-warning.patch similarity index 100% rename from meta-digi-dey/recipes-qt/examples/qtsmarthome-1.0/0001-qtsmarthome-fix-runtime-warning.patch rename to meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/qtsmarthome-1.0/0001-qtsmarthome-fix-runtime-warning.patch diff --git a/meta-digi-dey/recipes-qt/examples/qtsmarthome-1.0/qtsmarthome.desktop b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/qtsmarthome-1.0/qtsmarthome.desktop similarity index 100% rename from meta-digi-dey/recipes-qt/examples/qtsmarthome-1.0/qtsmarthome.desktop rename to meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/qtsmarthome-1.0/qtsmarthome.desktop diff --git a/meta-digi-dey/recipes-qt/examples/qtsmarthome-1.0/qtsmarthome.png b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/qtsmarthome-1.0/qtsmarthome.png similarity index 100% rename from meta-digi-dey/recipes-qt/examples/qtsmarthome-1.0/qtsmarthome.png rename to meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/qtsmarthome-1.0/qtsmarthome.png diff --git a/meta-digi-dey/recipes-qt/examples/qtsmarthome_1.0.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/qtsmarthome_1.0.bbappend similarity index 100% rename from meta-digi-dey/recipes-qt/examples/qtsmarthome_1.0.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/qtsmarthome_1.0.bbappend diff --git a/meta-digi-dey/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bbappend similarity index 100% rename from meta-digi-dey/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bbappend diff --git a/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend similarity index 100% rename from meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend rename to meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend From 14e504344f2ba67090dfd8a986e74e39eefc0717 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 1 Feb 2023 12:00:05 +0100 Subject: [PATCH 092/144] meta-digi-dey: make QT5 optional Remove the 'qt5-layer' hardcoded dependence for 'digi-dey' and dynamically get whether QT5 is being used in the project. This is done with a new class _qt-version.bbclass_ that is able to get that information from the project. https://onedigi.atlassian.net/browse/DEL-8347 Signed-off-by: Javier Viguera --- meta-digi-dey/classes/dey-image.bbclass | 3 +- meta-digi-dey/classes/qt-version.bbclass | 12 +++++ meta-digi-dey/conf/layer.conf | 2 +- .../packagegroups/packagegroup-qt5-demos.bb | 0 .../packagegroups/packagegroup-qt5-dey.bb | 44 +++++++++++++++++++ .../packagegroup-qt5-webengine.bb | 0 .../packagegroups/packagegroup-dey-qt.bb | 39 ++-------------- 7 files changed, 62 insertions(+), 38 deletions(-) create mode 100644 meta-digi-dey/classes/qt-version.bbclass rename meta-digi-dey/{ => dynamic-layers/qt5-layer}/recipes-qt/packagegroups/packagegroup-qt5-demos.bb (100%) create mode 100644 meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-dey.bb rename meta-digi-dey/{ => dynamic-layers/qt5-layer}/recipes-qt/packagegroups/packagegroup-qt5-webengine.bb (100%) diff --git a/meta-digi-dey/classes/dey-image.bbclass b/meta-digi-dey/classes/dey-image.bbclass index a985f55c3..ca180b916 100644 --- a/meta-digi-dey/classes/dey-image.bbclass +++ b/meta-digi-dey/classes/dey-image.bbclass @@ -25,7 +25,8 @@ EXTRA_USERS_PARAMS += "\ # # Create QT5 capable toolchain/SDK if 'dey-qt' image feature is enabled # -inherit ${@bb.utils.contains("IMAGE_FEATURES", "dey-qt", "populate_sdk_qt5", "",d)} +inherit qt-version +inherit ${@bb.utils.contains("IMAGE_FEATURES", "dey-qt", "${QT_POPULATE_SDK}", "",d)} # # Generate ZIP installer if configured in the project's local.conf diff --git a/meta-digi-dey/classes/qt-version.bbclass b/meta-digi-dey/classes/qt-version.bbclass new file mode 100644 index 000000000..35659cbf7 --- /dev/null +++ b/meta-digi-dey/classes/qt-version.bbclass @@ -0,0 +1,12 @@ +# +# Abstract QT related metadata in this class with two purposes: +# +# - Remove the mandatory dependence of DEY in meta-qtX +# - Support multiple QT versions +# +# Copyright (c) 2023, Digi International Inc. +# + +QT_AVAILABLE = "${@bb.utils.contains_any('BBFILE_COLLECTIONS', 'qt5-layer', 'true', 'false', d)}" +QT_VERSION = "${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}" +QT_POPULATE_SDK = "${@oe.utils.vartrue('QT_AVAILABLE', 'populate_sdk_${QT_VERSION}', '', d)}" diff --git a/meta-digi-dey/conf/layer.conf b/meta-digi-dey/conf/layer.conf index 5cf610019..76e14522b 100644 --- a/meta-digi-dey/conf/layer.conf +++ b/meta-digi-dey/conf/layer.conf @@ -25,7 +25,7 @@ BBFILE_PATTERN_digi-dey := "^${LAYERDIR}/" BBFILE_PRIORITY_digi-dey = "6" LAYERDEPENDS_digi-dey = "core digi-arm" -LAYERDEPENDS_digi-dey += "openembedded-layer networking-layer webserver qt5-layer swupdate" +LAYERDEPENDS_digi-dey += "openembedded-layer networking-layer webserver swupdate" LAYERSERIES_COMPAT_digi-dey = "kirkstone" diff --git a/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-demos.bb b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-demos.bb similarity index 100% rename from meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-demos.bb rename to meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-demos.bb diff --git a/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-dey.bb b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-dey.bb new file mode 100644 index 000000000..a649148ba --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-dey.bb @@ -0,0 +1,44 @@ +# +# Copyright (C) 2013-2018, Digi International Inc. +# +SUMMARY = "QT packagegroup for DEY image" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +inherit packagegroup + +# Install Freescale QT demo applications +QT5_APPS = "" +QT5_APPS:imxgpu3d = "${@bb.utils.contains("MACHINE_GSTREAMER_1_0_PLUGIN", "imx-gst1.0-plugin", "imx-qtapplications", "", d)}" + +# Install fonts +QT5_FONTS = "ttf-dejavu-common ttf-dejavu-sans ttf-dejavu-sans-mono ttf-dejavu-serif " + +# Install Freescale QT demo applications for X11 backend only +MACHINE_QT5_MULTIMEDIA_APPS = "" +QT5_RDEPENDS = "" +QT5_RDEPENDS_common = " \ + packagegroup-qt5-demos \ + ${QT5_FONTS} \ + ${QT5_APPS} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxkbcommon', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'qtwayland qtwayland-plugins', '', d)}\ +" + +QT5_RDEPENDS:imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11','${QT5_RDEPENDS_common}', \ + 'qtbase qtbase-plugins', d)}" + +QT5_RDEPENDS:imxpxp = "${@bb.utils.contains('DISTRO_FEATURES', 'x11','${QT5_RDEPENDS_common}', \ + 'qtbase qtbase-examples qtbase-plugins qtquickcontrols2 qtquickcontrols2-qmlplugins', d)}" + +QT5_RDEPENDS:imxgpu3d = " \ + ${QT5_RDEPENDS_common} \ + gstreamer1.0-plugins-good-qt \ +" + +# Add packagegroup-qt5-webengine to QT5_RDEPENDS and comment out the line below to install qtwebengine to the rootfs. +QT5_RDEPENDS:remove = " packagegroup-qt5-webengine" + +RDEPENDS:${PN} += " \ + liberation-fonts \ + ${QT5_RDEPENDS} \ +" diff --git a/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-webengine.bb b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-webengine.bb similarity index 100% rename from meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-webengine.bb rename to meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-webengine.bb diff --git a/meta-digi-dey/recipes-graphics/packagegroups/packagegroup-dey-qt.bb b/meta-digi-dey/recipes-graphics/packagegroups/packagegroup-dey-qt.bb index a649148ba..70d3196e6 100644 --- a/meta-digi-dey/recipes-graphics/packagegroups/packagegroup-dey-qt.bb +++ b/meta-digi-dey/recipes-graphics/packagegroups/packagegroup-dey-qt.bb @@ -1,44 +1,11 @@ # -# Copyright (C) 2013-2018, Digi International Inc. +# Copyright (C) 2013-2023, Digi International Inc. # SUMMARY = "QT packagegroup for DEY image" PACKAGE_ARCH = "${MACHINE_ARCH}" inherit packagegroup -# Install Freescale QT demo applications -QT5_APPS = "" -QT5_APPS:imxgpu3d = "${@bb.utils.contains("MACHINE_GSTREAMER_1_0_PLUGIN", "imx-gst1.0-plugin", "imx-qtapplications", "", d)}" +inherit qt-version -# Install fonts -QT5_FONTS = "ttf-dejavu-common ttf-dejavu-sans ttf-dejavu-sans-mono ttf-dejavu-serif " - -# Install Freescale QT demo applications for X11 backend only -MACHINE_QT5_MULTIMEDIA_APPS = "" -QT5_RDEPENDS = "" -QT5_RDEPENDS_common = " \ - packagegroup-qt5-demos \ - ${QT5_FONTS} \ - ${QT5_APPS} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxkbcommon', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'qtwayland qtwayland-plugins', '', d)}\ -" - -QT5_RDEPENDS:imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11','${QT5_RDEPENDS_common}', \ - 'qtbase qtbase-plugins', d)}" - -QT5_RDEPENDS:imxpxp = "${@bb.utils.contains('DISTRO_FEATURES', 'x11','${QT5_RDEPENDS_common}', \ - 'qtbase qtbase-examples qtbase-plugins qtquickcontrols2 qtquickcontrols2-qmlplugins', d)}" - -QT5_RDEPENDS:imxgpu3d = " \ - ${QT5_RDEPENDS_common} \ - gstreamer1.0-plugins-good-qt \ -" - -# Add packagegroup-qt5-webengine to QT5_RDEPENDS and comment out the line below to install qtwebengine to the rootfs. -QT5_RDEPENDS:remove = " packagegroup-qt5-webengine" - -RDEPENDS:${PN} += " \ - liberation-fonts \ - ${QT5_RDEPENDS} \ -" +RDEPENDS:${PN} += "${@oe.utils.conditional('QT_VERSION', '', '', 'packagegroup-${QT_VERSION}-dey', d)}" From d8817e9f4677c991b6f65c81c5a6e931ebe67ea7 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 1 Feb 2023 12:00:35 +0100 Subject: [PATCH 093/144] meta-digi-dey: copy QT6 recipes into dynamic layers Mostly a verbatim copy of the recipes in 'meta-imx' as of release rel_imx_5.15.71_2.2.0, with a couple of changes: * packagegroup-qt6-imx.bb renamed to packagegroup-qt6-dey.bb * removed 'nxp-demo-experience' from packagegroup-qt6-dey.bb as the recipe lives in a different layer 'meta-nxp-demo-experience' which we currently don't clone under DEY. https://onedigi.atlassian.net/browse/DEL-8347 Signed-off-by: Javier Viguera --- .../packagegroup/packagegroup-qt6-demos.bb | 21 ++++++ .../packagegroup/packagegroup-qt6-dey.bb | 41 +++++++++++ .../packagegroup-qt6-webengine.bb | 14 ++++ .../examples/cinematicexperience-rhi_1.0.bb | 34 +++++++++ .../NXP/recipes-qt/qt6/qt3d_%.bbappend | 7 ++ ...d-error-when-egl-headers-need-platfo.patch | 32 +++++++++ .../qt6/qtbase/0014-Add-IMX-GPU-support.patch | 14 ++++ .../NXP/recipes-qt/qt6/qtbase/qt6-fb.sh | 3 + .../NXP/recipes-qt/qt6/qtbase/qt6-wayland.sh | 2 + .../NXP/recipes-qt/qt6/qtbase/qt6-x11.sh | 2 + .../NXP/recipes-qt/qt6/qtbase_%.bbappend | 70 +++++++++++++++++++ .../recipes-qt/qt6/qtdeclarative_%.bbappend | 10 +++ .../recipes-qt/qt6/qtmultimedia_%.bbappend | 6 ++ .../NXP/recipes-qt/qt6/qtquick3d_%.bbappend | 1 + .../NXP/recipes-qt/qt6/qtsvg_%.bbappend | 6 ++ .../NXP/recipes-qt/qt6/qttools_%.bbappend | 6 ++ .../NXP/recipes-qt/qt6/qtwayland_%.bbappend | 21 ++++++ .../NXP/recipes-qt/qt6/qtwebengine_%.bbappend | 3 + 18 files changed, 293 insertions(+) create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-dey.bb create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-webengine.bb create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/examples/cinematicexperience-rhi_1.0.bb create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qt3d_%.bbappend create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/0014-Add-IMX-GPU-support.patch create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-fb.sh create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-wayland.sh create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-x11.sh create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase_%.bbappend create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtdeclarative_%.bbappend create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtmultimedia_%.bbappend create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtquick3d_%.bbappend create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtsvg_%.bbappend create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qttools_%.bbappend create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtwayland_%.bbappend create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtwebengine_%.bbappend diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb new file mode 100644 index 000000000..f57ba2baf --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb @@ -0,0 +1,21 @@ +# Copyright (C) 2014 Freescale Semiconductor +# Copyright 2017-2018, 2020 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Package group for Qt6 demos" +LICENSE = "MIT" + +inherit packagegroup + +RDEPENDS:${PN}:append = " \ + qtbase-examples \ + qtdeclarative-examples \ +" + +RDEPENDS:${PN}:append:imxgpu = " \ + cinematicexperience-rhi \ +" + +RDEPENDS:${PN}:append:imxgpu3d = " \ + qt3d-examples \ +" diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-dey.bb b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-dey.bb new file mode 100644 index 000000000..9f98544a4 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-dey.bb @@ -0,0 +1,41 @@ +# Copyright 2019-20 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Package group for i.MX Qt6" +LICENSE = "MIT" + +PACKAGE_ARCH = "${TUNE_PKGARCH}" + +inherit packagegroup + +# Install Freescale QT demo applications +QT6_IMAGE_INSTALL_APPS = "" +#QT6_IMAGE_INSTALL_APPS:imxgpu3d = "${@bb.utils.contains("MACHINE_GSTREAMER_1_0_PLUGIN", "imx-gst1.0-plugin", "imx-qtapplications", "", d)}" + +# Install fonts +QT6_FONTS = "ttf-dejavu-common ttf-dejavu-sans ttf-dejavu-sans-mono ttf-dejavu-serif " + +# Install qtquick3d +QT6_QTQUICK3D = "qtquick3d qtquick3d-dev qtquick3d-examples" + +QT6_IMAGE_INSTALL = "" +QT6_IMAGE_INSTALL_common = " \ + packagegroup-qt6-demos \ + ${QT6_QTQUICK3D} \ + ${QT6_FONTS} \ + ${QT6_IMAGE_INSTALL_APPS} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxkbcommon', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'qtwayland qtwayland-plugins', '', d)}\ + " +QT6_IMAGE_INSTALL:imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11','${QT6_IMAGE_INSTALL_common}', \ + 'qtbase qtbase-plugins', d)}" + +QT6_IMAGE_INSTALL:imxpxp = "${@bb.utils.contains('DISTRO_FEATURES', 'x11','${QT6_IMAGE_INSTALL_common}', \ + 'qtbase qtbase-examples qtbase-plugins', d)}" + +QT6_IMAGE_INSTALL:imxgpu3d = " \ + ${QT6_IMAGE_INSTALL_common} \ +" +RDEPENDS:${PN} += " \ + ${QT6_IMAGE_INSTALL} \ +" diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-webengine.bb b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-webengine.bb new file mode 100644 index 000000000..96e7b8e37 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-webengine.bb @@ -0,0 +1,14 @@ +# Copyright (C) 2015 Freescale Semiconductor +# Copyright 2017-2018, 2020-2021 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Package group for Qt6 webengine and examples" +LICENSE = "MIT" + +inherit packagegroup + +RDEPENDS:${PN} += " \ + qtwebengine \ + qtwebengine-qmlplugins \ + qtwebengine-examples \ +" diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/examples/cinematicexperience-rhi_1.0.bb b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/examples/cinematicexperience-rhi_1.0.bb new file mode 100644 index 000000000..dea753c2a --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/examples/cinematicexperience-rhi_1.0.bb @@ -0,0 +1,34 @@ +SUMMARY = "Qt6 technology demo" +DESCRIPTION = "Cinematic Experience collects many of the new Qt6 QtQuick 2.0 features into the same UX demo application. It uses particles, sprites, path animation, custom shaders etc. features which Qt5 introduces for QML UIs." +HOMEPAGE = "http://quitcoding.com/?page=work#cinex" +LICENSE = "CC-BY-3.0" +LIC_FILES_CHKSUM = "file://README.md;beginline=51;endline=62;md5=095fed4655dd7006b7e96051b261b1da" + +SRC_URI = "git://github.com/alpqr/qt5-cinematic-experience.git;branch=master;protocol=https" + +SRCREV = "fea04d7004a1608308c11189d74bb92d3decbe3d" + +S = "${WORKDIR}/git" + +inherit qt6-cmake + +DEPENDS = "qtdeclarative qtdeclarative-native qtshadertools-native" +RDEPENDS:${PN} = "liberation-fonts qtdeclarative-qmlplugins" + +require recipes-qt/qt6/qt6.inc + +do_install() { + install -d ${D}${datadir}/${P} + install -m 0755 ${B}/qt5-cinematic-experience ${D}${datadir}/${P}/qt6-cinematic-experience + cp -R --no-dereference --preserve=mode,links ${S}/content ${D}${datadir}/${P} + install -m 0644 ${S}/main.qml ${D}${datadir}/${P} + + install -d ${D}${bindir} + echo "#!/bin/sh" > ${D}${bindir}/qt6-cinematic-experience + echo "export QML_IMPORT_PATH=${datadir}/${P}" >> ${D}${bindir}/qt6-cinematic-experience + echo "export QML2_IMPORT_PATH=${datadir}/${P}" >> ${D}${bindir}/qt6-cinematic-experience + echo "${datadir}/${P}/qt6-cinematic-experience \$* " >> ${D}${bindir}/qt6-cinematic-experience + chmod +x ${D}${bindir}/qt6-cinematic-experience +} + +FILES:${PN} += "${datadir}" diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qt3d_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qt3d_%.bbappend new file mode 100644 index 000000000..ca240e412 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qt3d_%.bbappend @@ -0,0 +1,7 @@ +PACKAGECONFIG += "examples" + +do_install:append() { +if ls ${D}${libdir}/pkgconfig/Qt6*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt6*.pc +fi +} diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch new file mode 100644 index 000000000..2a345f4cd --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch @@ -0,0 +1,32 @@ +From 3f9703fecd670b36030e1093466f6d11b370c19f Mon Sep 17 00:00:00 2001 +From: Yuqing Zhu +Date: Mon, 27 Mar 2017 15:33:35 +0800 +Subject: [PATCH] egl.prf: Fix build error when egl headers need platform + definition + +Gain the value through pkg-config and pass it through QMAKE_CFLAGS_EGL. + +Upstream-Status: Pending [https://bugreports.qt.io/browse/QTBUG-61712] + +Signed-off-by: Yuqing Zhu +--- + mkspecs/features/egl.prf | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/mkspecs/features/egl.prf b/mkspecs/features/egl.prf +index 9fa0c9e..85d5852 100644 +--- a/mkspecs/features/egl.prf ++++ b/mkspecs/features/egl.prf +@@ -1,3 +1,9 @@ ++# egl headers need a definition ++PKG_CONFIG = $$pkgConfigExecutable() ++PKGCONFIG_CFLAGS = $$system($$PKG_CONFIG --cflags egl) ++PKGCONFIG_CFLAGS = $$find(PKGCONFIG_CFLAGS, ^-D.*) ++QMAKE_CFLAGS_EGL = $$PKGCONFIG_CFLAGS ++ + INCLUDEPATH += $$QMAKE_INCDIR_EGL + LIBS_PRIVATE += $$QMAKE_LIBS_EGL + QMAKE_CFLAGS += $$QMAKE_CFLAGS_EGL +-- +1.9.1 + diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/0014-Add-IMX-GPU-support.patch b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/0014-Add-IMX-GPU-support.patch new file mode 100644 index 000000000..e86d9ed54 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/0014-Add-IMX-GPU-support.patch @@ -0,0 +1,14 @@ +Index: git/mkspecs/linux-oe-g++/qmake.conf +=================================================================== +--- git.orig/mkspecs/linux-oe-g++/qmake.conf 2017-06-26 10:20:57.139653321 -0500 ++++ git/mkspecs/linux-oe-g++/qmake.conf 2017-06-26 10:30:12.000000000 -0500 +@@ -39,5 +39,9 @@ + + include(../oe-device-extra.pri) + ++QMAKE_LIBS_EGL += -lEGL ++QMAKE_LIBS_OPENGL_ES2 += -lEGL -lGLESv2 ++QMAKE_LIBS_OPENVG += -lEGL -lOpenVG ++ + load(device_config) + load(qt_config) diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-fb.sh b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-fb.sh new file mode 100644 index 000000000..f5c11f98b --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-fb.sh @@ -0,0 +1,3 @@ +#!/bin/sh +export QT_QPA_PLATFORM=eglfs +export QT_QPA_EGLFS_INTEGRATION=eglfs_viv diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-wayland.sh b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-wayland.sh new file mode 100644 index 000000000..6779c9d12 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-wayland.sh @@ -0,0 +1,2 @@ +#!/bin/sh +export QT_QPA_PLATFORM=wayland diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-x11.sh b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-x11.sh new file mode 100644 index 000000000..8bbd73b94 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-x11.sh @@ -0,0 +1,2 @@ +#!/bin/sh +export QT_QPA_PLATFORM=xcb diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase_%.bbappend new file mode 100644 index 000000000..362bca9bb --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase_%.bbappend @@ -0,0 +1,70 @@ +# Copyright (C) 2013 Eric Bénard - Eukréa Electromatique +# Copyright (C) 2016 O.S. Systems Software LTDA. +# Copyright (C) 2016 Freescale Semiconductor +# Copyright 2017-2021 NXP + +### Copy qtbase bbappend from meta-freescale + +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SRC_URI:append:imxgpu = " \ + file://0014-Add-IMX-GPU-support.patch \ + file://0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch \ +" + +PACKAGECONFIG_GRAPHICS_IMX_GPU = "" +PACKAGECONFIG_GRAPHICS_IMX_GPU:mx8-nxp-bsp = "gbm kms" + +PACKAGECONFIG_GRAPHICS:imxpxp = "gles2" +PACKAGECONFIG_GRAPHICS:imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' gl', '', d)} \ + ${PACKAGECONFIG_GRAPHICS_IMX_GPU}" +PACKAGECONFIG_GRAPHICS:imxgpu3d = "gles2 \ + ${PACKAGECONFIG_GRAPHICS_IMX_GPU}" +PACKAGECONFIG_GRAPHICS:use-mainline-bsp ?= "gles2 gbm kms" + +PACKAGECONFIG_PLATFORM = "" +PACKAGECONFIG_PLATFORM:imxgpu2d = "no-opengl linuxfb" +PACKAGECONFIG_PLATFORM:imxgpu3d = " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', \ + bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \ + 'eglfs', d), d)}" +PACKAGECONFIG_PLATFORM:use-mainline-bsp = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'eglfs', d)}" +PACKAGECONFIG += "${PACKAGECONFIG_PLATFORM}" + +PACKAGECONFIG_VULKAN_IMX_GPU = "" +PACKAGECONFIG_VULKAN_IMX_GPU:mx8-nxp-bsp = "vulkan" +PACKAGECONFIG_VULKAN_IMX_GPU:mx8mm-nxp-bsp = "" +PACKAGECONFIG_VULKAN = "" +PACKAGECONFIG_VULKAN:imxgpu = "${PACKAGECONFIG_VULKAN_IMX_GPU}" +PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', '${PACKAGECONFIG_VULKAN}', '', d)}" + +##### End of meta-freescale qtbase bbappend + +IMX_BACKEND = \ + "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland',\ + bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \ + 'fb', d), d)}" + +SRC_URI:append = " \ + file://qt6-${IMX_BACKEND}.sh \ +" + +PACKAGECONFIG += "examples" + +PACKAGECONFIG_PLATFORM_IMX_GPU = "" +PACKAGECONFIG_PLATFORM_IMX_GPU:mx8-nxp-bsp = "eglfs" +PACKAGECONFIG_PLATFORM:imxgpu2d += "${PACKAGECONFIG_PLATFORM_IMX_GPU}" +PACKAGECONFIG_PLATFORM:imxgpu3d += "${PACKAGECONFIG_PLATFORM_IMX_GPU}" + +PARALLEL_MAKEINST = "" +PARALLEL_MAKE:task-install = "${PARALLEL_MAKEINST}" + +do_install:append () { + if ls ${D}${libdir}/pkgconfig/Qt6*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt6*.pc + fi + install -d ${D}${sysconfdir}/profile.d/ + install -m 0755 ${WORKDIR}/qt6-${IMX_BACKEND}.sh ${D}${sysconfdir}/profile.d/qt6.sh +} + +FILES:${PN} += "${sysconfdir}/profile.d/qt5.sh" diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtdeclarative_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtdeclarative_%.bbappend new file mode 100644 index 000000000..fa6fdc8de --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtdeclarative_%.bbappend @@ -0,0 +1,10 @@ +PACKAGECONFIG:append:class-target = " examples" + +PARALLEL_MAKEINST = "" +PARALLEL_MAKE:task-install = "${PARALLEL_MAKEINST}" + +do_install:append() { +if ls ${D}${libdir}/pkgconfig/Qt6*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt6*.pc +fi +} diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtmultimedia_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtmultimedia_%.bbappend new file mode 100644 index 000000000..a0f8891f0 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtmultimedia_%.bbappend @@ -0,0 +1,6 @@ +do_install:append() { +if ls ${D}${libdir}/pkgconfig/Qt6*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt6*.pc +fi +} + diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtquick3d_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtquick3d_%.bbappend new file mode 100644 index 000000000..2091cb378 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtquick3d_%.bbappend @@ -0,0 +1 @@ +PACKAGECONFIG:append = " examples" diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtsvg_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtsvg_%.bbappend new file mode 100644 index 000000000..a0f8891f0 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtsvg_%.bbappend @@ -0,0 +1,6 @@ +do_install:append() { +if ls ${D}${libdir}/pkgconfig/Qt6*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt6*.pc +fi +} + diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qttools_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qttools_%.bbappend new file mode 100644 index 000000000..a0f8891f0 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qttools_%.bbappend @@ -0,0 +1,6 @@ +do_install:append() { +if ls ${D}${libdir}/pkgconfig/Qt6*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt6*.pc +fi +} + diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtwayland_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtwayland_%.bbappend new file mode 100644 index 000000000..4ecf367cd --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtwayland_%.bbappend @@ -0,0 +1,21 @@ +###Copy qtwayland bbappend from meta-freescale + +# etnaviv mesa does not have glx +PACKAGECONFIG:remove:use-mainline-bsp = "xcomposite-glx" + +PACKAGECONFIG:remove:mx6-nxp-bsp = "xcomposite-egl xcomposite-glx" +PACKAGECONFIG:remove:mx7-nxp-bsp = "xcomposite-egl xcomposite-glx" + +# i.MX8 does never provide native x11, so required dependencies are not met +PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx" + +###### End of meta-freescale bbappend + +PACKAGECONFIG:remove:mx6sl-nxp-bsp = "wayland-egl" + +do_install:append() { +if ls ${D}${libdir}/pkgconfig/Qt6*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt6*.pc +fi +} + diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtwebengine_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtwebengine_%.bbappend new file mode 100644 index 000000000..2fbc111a2 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtwebengine_%.bbappend @@ -0,0 +1,3 @@ +PACKAGECONFIG:append = " examples" + +EXTRA_OECMAKE:append = " -DFEATURE_webengine_printing_and_pdf=OFF" From 0368bb6b4e8554b87ad02f9a759ea6a66f6498d7 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 1 Feb 2023 12:01:05 +0100 Subject: [PATCH 094/144] meta-digi-dey: add QT6 support https://onedigi.atlassian.net/browse/DEL-8347 Signed-off-by: Javier Viguera --- meta-digi-dey/classes/populate_sdk_qt6.bbclass | 6 ++++++ meta-digi-dey/classes/qt-version.bbclass | 6 ++++-- meta-digi-dey/conf/layer.conf | 4 ++++ .../packagegroups/packagegroup-qt6-addons.bbappend | 5 +++++ 4 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 meta-digi-dey/classes/populate_sdk_qt6.bbclass create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/recipes-qt/packagegroups/packagegroup-qt6-addons.bbappend diff --git a/meta-digi-dey/classes/populate_sdk_qt6.bbclass b/meta-digi-dey/classes/populate_sdk_qt6.bbclass new file mode 100644 index 000000000..60879b86d --- /dev/null +++ b/meta-digi-dey/classes/populate_sdk_qt6.bbclass @@ -0,0 +1,6 @@ +# Copyright (c) 2023, Digi International Inc. + +inherit populate_sdk_qt6_base + +TOOLCHAIN_HOST_TASK:append = " nativesdk-packagegroup-qt6-toolchain-host" +TOOLCHAIN_TARGET_TASK:append = " packagegroup-qt6-modules" diff --git a/meta-digi-dey/classes/qt-version.bbclass b/meta-digi-dey/classes/qt-version.bbclass index 35659cbf7..4224ebe47 100644 --- a/meta-digi-dey/classes/qt-version.bbclass +++ b/meta-digi-dey/classes/qt-version.bbclass @@ -7,6 +7,8 @@ # Copyright (c) 2023, Digi International Inc. # -QT_AVAILABLE = "${@bb.utils.contains_any('BBFILE_COLLECTIONS', 'qt5-layer', 'true', 'false', d)}" -QT_VERSION = "${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}" +QT_AVAILABLE = "${@bb.utils.contains_any('BBFILE_COLLECTIONS', 'qt5-layer qt6-layer', 'true', 'false', d)}" +QT_VERSION = \ + "${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt6-layer', 'qt6', \ + bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d), d)}" QT_POPULATE_SDK = "${@oe.utils.vartrue('QT_AVAILABLE', 'populate_sdk_${QT_VERSION}', '', d)}" diff --git a/meta-digi-dey/conf/layer.conf b/meta-digi-dey/conf/layer.conf index 76e14522b..c456ba13c 100644 --- a/meta-digi-dey/conf/layer.conf +++ b/meta-digi-dey/conf/layer.conf @@ -18,6 +18,10 @@ BBFILES_DYNAMIC += " \ qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bbappend \ qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/${DEY_BUILD_PLATFORM}/*/*/*.bb \ qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/${DEY_BUILD_PLATFORM}/*/*/*.bbappend \ + qt6-layer:${LAYERDIR}/dynamic-layers/qt6-layer/*/*/*.bb \ + qt6-layer:${LAYERDIR}/dynamic-layers/qt6-layer/*/*/*.bbappend \ + qt6-layer:${LAYERDIR}/dynamic-layers/qt6-layer/${DEY_BUILD_PLATFORM}/*/*/*.bb \ + qt6-layer:${LAYERDIR}/dynamic-layers/qt6-layer/${DEY_BUILD_PLATFORM}/*/*/*.bbappend \ " BBFILE_COLLECTIONS += "digi-dey" diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/recipes-qt/packagegroups/packagegroup-qt6-addons.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/recipes-qt/packagegroups/packagegroup-qt6-addons.bbappend new file mode 100644 index 000000000..f842dd6a5 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/recipes-qt/packagegroups/packagegroup-qt6-addons.bbappend @@ -0,0 +1,5 @@ +# Copyright (c) 2023, Digi International Inc. + +# qtdeviceutilities provides a networksettings module that depends +# on "connman". This conflicts with NetworkManager +RDEPENDS:${PN}:remove:dey = "qtdeviceutilities" From 007833fb2e6735416ed4f608f6dddb256a54425f Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 1 Feb 2023 12:01:35 +0100 Subject: [PATCH 095/144] meta-digi: use QT6 for ccimx8m and ccimx93 https://onedigi.atlassian.net/browse/DEL-8347 Signed-off-by: Javier Viguera --- sdk/config/ccimx8mm-dvk/bblayers.conf.sample | 2 +- sdk/config/ccimx8mn-dvk/bblayers.conf.sample | 2 +- sdk/config/ccimx93-dvk/bblayers.conf.sample | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk/config/ccimx8mm-dvk/bblayers.conf.sample b/sdk/config/ccimx8mm-dvk/bblayers.conf.sample index f716b9844..9277597fc 100644 --- a/sdk/config/ccimx8mm-dvk/bblayers.conf.sample +++ b/sdk/config/ccimx8mm-dvk/bblayers.conf.sample @@ -13,7 +13,7 @@ BBLAYERS ?= " \ ##DIGIBASE##/meta-openembedded/meta-python \ ##DIGIBASE##/meta-openembedded/meta-networking \ ##DIGIBASE##/meta-openembedded/meta-webserver \ - ##DIGIBASE##/meta-qt5 \ + ##DIGIBASE##/meta-qt6 \ ##DIGIBASE##/meta-swupdate \ ##DIGIBASE##/meta-freescale \ ##DIGIBASE##/meta-fsl-demos \ diff --git a/sdk/config/ccimx8mn-dvk/bblayers.conf.sample b/sdk/config/ccimx8mn-dvk/bblayers.conf.sample index f716b9844..9277597fc 100644 --- a/sdk/config/ccimx8mn-dvk/bblayers.conf.sample +++ b/sdk/config/ccimx8mn-dvk/bblayers.conf.sample @@ -13,7 +13,7 @@ BBLAYERS ?= " \ ##DIGIBASE##/meta-openembedded/meta-python \ ##DIGIBASE##/meta-openembedded/meta-networking \ ##DIGIBASE##/meta-openembedded/meta-webserver \ - ##DIGIBASE##/meta-qt5 \ + ##DIGIBASE##/meta-qt6 \ ##DIGIBASE##/meta-swupdate \ ##DIGIBASE##/meta-freescale \ ##DIGIBASE##/meta-fsl-demos \ diff --git a/sdk/config/ccimx93-dvk/bblayers.conf.sample b/sdk/config/ccimx93-dvk/bblayers.conf.sample index f716b9844..9277597fc 100644 --- a/sdk/config/ccimx93-dvk/bblayers.conf.sample +++ b/sdk/config/ccimx93-dvk/bblayers.conf.sample @@ -13,7 +13,7 @@ BBLAYERS ?= " \ ##DIGIBASE##/meta-openembedded/meta-python \ ##DIGIBASE##/meta-openembedded/meta-networking \ ##DIGIBASE##/meta-openembedded/meta-webserver \ - ##DIGIBASE##/meta-qt5 \ + ##DIGIBASE##/meta-qt6 \ ##DIGIBASE##/meta-swupdate \ ##DIGIBASE##/meta-freescale \ ##DIGIBASE##/meta-fsl-demos \ From b2b76fd8234e99614a36fefc0512e8a2827c8a51 Mon Sep 17 00:00:00 2001 From: Isaac Hermida Date: Wed, 1 Feb 2023 17:54:43 +0100 Subject: [PATCH 096/144] recipes-browser: cog: revert fullscreen patch There is an environment option "COG_PLATFORM_WL_VIEW_FULLSCREEN" for that purpose, so do not patch the code. Set that variable to true if you want "cog" to be started in fullscreen mode. https://onedigi.atlassian.net/browse/DEL-8356 Signed-off-by: Isaac Hermida --- ...tform-fdo-always-use-fullscreen-mode.patch | 61 ------------------- ...0001-wl-Fix-wrong-wl_shm-for-cursor.patch} | 0 .../webkit/recipes-browser/cog/cog_%.bbappend | 5 +- 3 files changed, 2 insertions(+), 64 deletions(-) delete mode 100644 meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-cog-platform-fdo-always-use-fullscreen-mode.patch rename meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/{0002-wl-Fix-wrong-wl_shm-for-cursor.patch => 0001-wl-Fix-wrong-wl_shm-for-cursor.patch} (100%) diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-cog-platform-fdo-always-use-fullscreen-mode.patch b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-cog-platform-fdo-always-use-fullscreen-mode.patch deleted file mode 100644 index cb78c404c..000000000 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-cog-platform-fdo-always-use-fullscreen-mode.patch +++ /dev/null @@ -1,61 +0,0 @@ -From: Gabriel Valcazar -Date: Wed, 23 Jun 2021 10:17:59 +0200 -Subject: [PATCH] cog-platform-fdo: always use fullscreen mode - -Otherwise, the browser will spawn on a random place on the desktop every time. - -Signed-off-by: Gabriel Valcazar ---- - platform/wayland/cog-platform-wl.c | 37 +++++++++--------------------- - 1 file changed, 11 insertions(+), 26 deletions(-) - -diff --git a/platform/wayland/cog-platform-wl.c b/platform/wayland/cog-platform-wl.c -index f62faad..fe6b866 100644 ---- a/platform/wayland/cog-platform-wl.c -+++ b/platform/wayland/cog-platform-wl.c -@@ -2184,34 +2184,19 @@ create_window (GError **error) - configure_surface_geometry(0, 0); - } - -- const char *env_var; -- if ((env_var = g_getenv("COG_PLATFORM_WL_VIEW_FULLSCREEN")) && g_ascii_strtoll(env_var, NULL, 10) > 0) { -- win_data.is_maximized = false; -- win_data.is_fullscreen = true; -+ win_data.is_maximized = false; -+ win_data.is_fullscreen = true; - -- if (wl_data.xdg_shell != NULL) { -- xdg_toplevel_set_fullscreen(win_data.xdg_toplevel, NULL); -- } else if (wl_data.fshell != NULL) { -- win_data.should_resize_to_largest_output = true; -- resize_to_largest_output(); -- } else if (wl_data.shell != NULL) { -- wl_shell_surface_set_fullscreen(win_data.shell_surface, WL_SHELL_SURFACE_FULLSCREEN_METHOD_SCALE, 0, NULL); -- } else { -- g_warning("No available shell capable of fullscreening."); -- win_data.is_fullscreen = false; -- } -- } else if ((env_var = g_getenv("COG_PLATFORM_WL_VIEW_MAXIMIZE")) && g_ascii_strtoll(env_var, NULL, 10) > 0) { -- win_data.is_maximized = true; -+ if (wl_data.xdg_shell != NULL) { -+ xdg_toplevel_set_fullscreen(win_data.xdg_toplevel, NULL); -+ } else if (wl_data.fshell != NULL) { -+ win_data.should_resize_to_largest_output = true; -+ resize_to_largest_output(); -+ } else if (wl_data.shell != NULL) { -+ wl_shell_surface_set_fullscreen(win_data.shell_surface, WL_SHELL_SURFACE_FULLSCREEN_METHOD_SCALE, 0, NULL); -+ } else { -+ g_warning("No available shell capable of fullscreening."); - win_data.is_fullscreen = false; -- -- if (wl_data.xdg_shell != NULL) { -- xdg_toplevel_set_maximized (win_data.xdg_toplevel); -- } else if (wl_data.shell != NULL) { -- wl_shell_surface_set_maximized (win_data.shell_surface, NULL); -- } else { -- g_warning ("No available shell capable of maximizing."); -- win_data.is_maximized = false; -- } - } - - return TRUE; diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-wl-Fix-wrong-wl_shm-for-cursor.patch b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-wl-Fix-wrong-wl_shm-for-cursor.patch similarity index 100% rename from meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-wl-Fix-wrong-wl_shm-for-cursor.patch rename to meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-wl-Fix-wrong-wl_shm-for-cursor.patch diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend index 6e253e8ed..aaf4a8df2 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend @@ -1,10 +1,9 @@ -# Copyright 2020-2022 Digi International Inc. +# Copyright 2020-2023 Digi International Inc. FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" SRC_URI:append = " \ - file://0001-cog-platform-fdo-always-use-fullscreen-mode.patch \ - file://0002-wl-Fix-wrong-wl_shm-for-cursor.patch \ + file://0001-wl-Fix-wrong-wl_shm-for-cursor.patch \ " EXTRA_OECMAKE += "-DCOG_HOME_URI=http://127.0.0.1/" From 98511f5a6057f05eb4b9ab86b337212e8f3f516a Mon Sep 17 00:00:00 2001 From: Isaac Hermida Date: Wed, 1 Feb 2023 18:00:47 +0100 Subject: [PATCH 097/144] connectcore-demo-example: set environment variables To avoid bad image escalation, export COG environment variables. https://onedigi.atlassian.net/browse/DEL-8356 Signed-off-by: Isaac Hermida --- .../connectcore-demo-example-init | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init index 3610a0e98..a243a82e3 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init @@ -32,10 +32,25 @@ stop_process() { done } +export_environment_variables() { + export DISPLAY=:0.0 + export XDG_RUNTIME_DIR=/run/user/0 + export WAYLAND_DISPLAY=wayland-0 + export COG_PLATFORM_WL_VIEW_FULLSCREEN=1 + # FULLSCREEN variable will have preference over other geometry variables. + if [ -f "/sys/class/graphics/fb0/virtual_size" ]; then + COG_PLATFORM_WL_VIEW_WIDTH="$(cut -d',' -f1 /sys/class/graphics/fb0/virtual_size)" + COG_PLATFORM_WL_VIEW_HEIGHT="$(cut -d',' -f2 /sys/class/graphics/fb0/virtual_size)" + [ -n "${COG_PLATFORM_WL_VIEW_WIDTH}" ] && export COG_PLATFORM_WL_VIEW_WIDTH + [ -n "${COG_PLATFORM_WL_VIEW_HEIGHT}" ] && export COG_PLATFORM_WL_VIEW_HEIGHT + fi +} + case "$1" in start) ${DEMOSERVER_BINARY} > /dev/null 2>&1 & - DISPLAY=:0.0 XDG_RUNTIME_DIR=/run/user/0 WAYLAND_DISPLAY=wayland-0 ${COG_BINARY} \ + export_environment_variables + ${COG_BINARY} \ --allow-file-access-from-file-urls=true \ --allow-universal-access-from-file-urls=false \ --enable-offline-web-application-cache=false \ From d2ac6f709396c2ab47619038bbb6921f1f5361ef Mon Sep 17 00:00:00 2001 From: David Escalona Date: Mon, 30 Jan 2023 13:55:16 +0100 Subject: [PATCH 098/144] bluez5: v5.65: update Digi customizations patch to remove battery plugin Starting at Bluez 5.48, the battery characteristic was moved to the DBUS org.bluez.Battery1 interface. This causes the device to try to read information from iOS devices after establishing a connection, triggering a reverse pairing request. This scenario causes random disconnects in iOS devices unless a trust agent is registered in the host to take care of the pairing. Removing the battery plugin at startup fixes the issue. Signed-off-by: David Escalona --- ...ooth.service-add-Digi-customizations.patch | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.65/0001-bluetooth.service-add-Digi-customizations.patch b/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.65/0001-bluetooth.service-add-Digi-customizations.patch index 25ed7f1de..ca89fbbd9 100644 --- a/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.65/0001-bluetooth.service-add-Digi-customizations.patch +++ b/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.65/0001-bluetooth.service-add-Digi-customizations.patch @@ -1,20 +1,36 @@ -From: Gabriel Valcazar -Date: Thu, 7 Feb 2019 13:15:43 +0100 +From: David Escalona +Date: Mon, 30 Jan 2023 13:29:52 +0100 Subject: [PATCH] bluetooth.service: add Digi customizations These changes include: * Having the bluetooth stack start automatically on boot. +* Remove the battery plugin at startup. Starting at Bluez 5.48, the battery characteristic + was moved to the DBUS org.bluez.Battery1 interface. This causes the device to try to read + information from iOS devices after establishing a connection, triggering a reverse pairing + request. This scenario causes random disconnects in iOS devices unless a trust agent is + registered in the host to take care of the pairing. Removing the battery plugin at startup + fixes the issue. Signed-off-by: Gabriel Valcazar +Signed-off-by: David Escalona --- - src/bluetooth.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + src/bluetooth.service.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bluetooth.service.in b/src/bluetooth.service.in -index beb98ce0c887..16abe9b08881 100644 +index beb98ce0c..29048dfe2 100644 --- a/src/bluetooth.service.in +++ b/src/bluetooth.service.in +@@ -6,7 +6,7 @@ ConditionPathIsDirectory=/sys/class/bluetooth + [Service] + Type=dbus + BusName=org.bluez +-ExecStart=@pkglibexecdir@/bluetoothd ++ExecStart=@pkglibexecdir@/bluetoothd -P battery + NotifyAccess=main + #WatchdogSec=10 + #Restart=on-failure @@ -34,5 +34,5 @@ NoNewPrivileges=true RestrictRealtime=true From 87d05a08a04bcd971da6ef8241ce5d6e8caf52a2 Mon Sep 17 00:00:00 2001 From: Arturo Buzarra Date: Mon, 6 Feb 2023 09:04:29 +0100 Subject: [PATCH 099/144] core-image-base: remove package-management for core-image-base images In order to reduce the final size in the rootfs, this commit removes the package manager for the core-image-base images. https://onedigi.atlassian.net/browse/DEL-8335 Signed-off-by: Arturo Buzarra --- meta-digi-dey/recipes-core/images/core-image-base.bbappend | 1 - 1 file changed, 1 deletion(-) diff --git a/meta-digi-dey/recipes-core/images/core-image-base.bbappend b/meta-digi-dey/recipes-core/images/core-image-base.bbappend index af494f49a..b53ccd60b 100644 --- a/meta-digi-dey/recipes-core/images/core-image-base.bbappend +++ b/meta-digi-dey/recipes-core/images/core-image-base.bbappend @@ -5,7 +5,6 @@ IMAGE_FEATURES += " \ dey-network \ eclipse-debug \ - package-management \ ssh-server-dropbear \ ${@bb.utils.contains('MACHINE_FEATURES', 'accel-video', 'dey-gstreamer', '', d)} \ ${@bb.utils.contains('MACHINE_FEATURES', 'alsa', 'dey-audio', '', d)} \ From 9739af6bbc64fa3c2c10b7e7790bca09fd0e4f3e Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 6 Feb 2023 17:35:56 +0100 Subject: [PATCH 100/144] meta-digi-dey: delete tcf-agent bbappend and patches So we use the more up-to-date recipe in poky. Signed-off-by: Javier Viguera --- .../0001-Makefile.inc-fix-ranlib.patch | 25 ------------ .../0002-tcf-agent-obey-LDFLAGS.patch | 22 ---------- ...alize_file_name-is-specific-to-glibc.patch | 40 ------------------- .../tcf-agent/tcf-agent_git.bbappend | 19 --------- 4 files changed, 106 deletions(-) delete mode 100644 meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent/0001-Makefile.inc-fix-ranlib.patch delete mode 100644 meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent/0002-tcf-agent-obey-LDFLAGS.patch delete mode 100644 meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent/0003-canonicalize_file_name-is-specific-to-glibc.patch delete mode 100644 meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent_git.bbappend diff --git a/meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent/0001-Makefile.inc-fix-ranlib.patch b/meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent/0001-Makefile.inc-fix-ranlib.patch deleted file mode 100644 index bfacb21eb..000000000 --- a/meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent/0001-Makefile.inc-fix-ranlib.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Javier Viguera -Date: Thu, 16 Nov 2017 17:57:07 +0100 -Subject: [PATCH 1/3] Makefile.inc: fix ranlib - -Upstream-Status: Inappropriate [poky-specific fix] - -Signed-off-by: Javier Viguera ---- - agent/Makefile.inc | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/agent/Makefile.inc b/agent/Makefile.inc -index 8304cfecc14a..cdf8536dbf9b 100644 ---- a/agent/Makefile.inc -+++ b/agent/Makefile.inc -@@ -88,6 +88,9 @@ ifeq ($(OPSYS),GNU/Linux) - else - OPTS += -DUSE_uuid_generate=0 - endif -+ ifneq ($(RANLIB),) -+ RANLIB += $@ -+ endif - OPTS += -DENABLE_arch_$(shell uname -m) - endif - diff --git a/meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent/0002-tcf-agent-obey-LDFLAGS.patch b/meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent/0002-tcf-agent-obey-LDFLAGS.patch deleted file mode 100644 index b130bfa8e..000000000 --- a/meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent/0002-tcf-agent-obey-LDFLAGS.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Abdur Rehman -Date: Wed, 26 Aug 2015 19:18:11 +0500 -Subject: [PATCH 2/3] tcf-agent: obey LDFLAGS - -Signed-off-by: Abdur Rehman ---- - agent/Makefile.inc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/agent/Makefile.inc b/agent/Makefile.inc -index cdf8536dbf9b..70f4710dcacd 100644 ---- a/agent/Makefile.inc -+++ b/agent/Makefile.inc -@@ -114,7 +114,7 @@ NO_LINK_F ?= -c - # Linker definition and flags - - LINK ?= $(CC) --LINK_FLAGS ?= $(CFLAGS) -+LINK_FLAGS ?= $(LDFLAGS) $(CFLAGS) - LINK_OUT_F ?= $(OUT_OBJ_F) - - # Archiver definition and flags diff --git a/meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent/0003-canonicalize_file_name-is-specific-to-glibc.patch b/meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent/0003-canonicalize_file_name-is-specific-to-glibc.patch deleted file mode 100644 index 1b94cdfd5..000000000 --- a/meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent/0003-canonicalize_file_name-is-specific-to-glibc.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: Khem Raj -Date: Thu, 7 Jan 2016 22:37:48 +0000 -Subject: [PATCH 3/3] canonicalize_file_name is specific to glibc - -When on Linux and not using glibc then we need to define -canonicalize_file_name() API, therefore add a check for finding out if -its not glibc - -Signed-off-by: Khem Raj ---- - agent/tcf/framework/mdep.c | 2 +- - agent/tcf/framework/mdep.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/agent/tcf/framework/mdep.c b/agent/tcf/framework/mdep.c -index cf5771e5f016..ccdea09b8817 100644 ---- a/agent/tcf/framework/mdep.c -+++ b/agent/tcf/framework/mdep.c -@@ -1086,7 +1086,7 @@ char * canonicalize_file_name(const char * path) { - return strdup(res); - } - --#elif defined(__UCLIBC__) -+#elif defined(__UCLIBC__) || !defined(__GLIBC__) - - char * canonicalize_file_name(const char * path) { - return realpath(path, NULL); -diff --git a/agent/tcf/framework/mdep.h b/agent/tcf/framework/mdep.h -index fec94d787224..52c41256cd92 100644 ---- a/agent/tcf/framework/mdep.h -+++ b/agent/tcf/framework/mdep.h -@@ -288,7 +288,7 @@ extern int loc_clock_gettime(int, struct timespec *); - - #define O_BINARY 0 - --#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__) || defined(__sun__) -+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__) || defined(__sun__) || !defined(__GLIBC__) - # define O_LARGEFILE 0 - extern char ** environ; - extern char * canonicalize_file_name(const char * path); diff --git a/meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent_git.bbappend b/meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent_git.bbappend deleted file mode 100644 index 2bd6fb6a4..000000000 --- a/meta-digi-dey/recipes-devtools/tcf-agent/tcf-agent_git.bbappend +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (C) 2017 Digi International Inc. - -FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" - -SRCREV = "5ec928ddf62b0ad936efacf2b2d8fb87cca112ac" -PV = "1.5+git${SRCPV}" - -SRC_URI = " \ - git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent;branch=1.5_oxygen_bugfix \ - file://0001-Makefile.inc-fix-ranlib.patch;striplevel=2 \ - file://0002-tcf-agent-obey-LDFLAGS.patch;striplevel=2 \ - file://0003-canonicalize_file_name-is-specific-to-glibc.patch;striplevel=2 \ - file://tcf-agent.init \ - file://tcf-agent.service \ -" - -# tcf-agent falls back to '/bin/sh' if 'bash' is not available, so don't -# depend on bash at runtime. -RDEPENDS:${PN}:remove = "bash" From cec7cd98a5946ce3550469b38f359bcf5653b0a5 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 6 Feb 2023 17:36:26 +0100 Subject: [PATCH 101/144] meta-digi-arm: update mcore-demos to NXP's release 5.15.71_2.2.0 This is a verbatim copy of the recipes in meta-imx Signed-off-by: Javier Viguera --- .../recipes-fsl/mcore-demos/README | 7 ++-- .../mcore-demos/imx-m33-demos_2.11.0.bb | 11 ------ .../mcore-demos/imx-m33-demos_2.13.0.bb | 15 ++++++++ .../mcore-demos/imx-m4-demos_1.0.1.bb | 28 --------------- .../mcore-demos/imx-m4-demos_2.10.0.bb | 17 --------- .../mcore-demos/imx-m4-demos_2.12.1.bb | 19 ++++++++++ .../mcore-demos/imx-m4-demos_2.9.0.bb | 5 +-- .../mcore-demos/imx-m7-demos_2.10.0.bb | 17 --------- .../mcore-demos/imx-m7-demos_2.12.1.bb | 20 +++++++++++ .../mcore-demos/imx-mcore-demos-2.10.inc | 36 ------------------- .../mcore-demos/imx-mcore-demos.inc | 5 ++- 11 files changed, 65 insertions(+), 115 deletions(-) delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m33-demos_2.11.0.bb create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m33-demos_2.13.0.bb delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_2.10.0.bb create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_2.12.1.bb delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m7-demos_2.10.0.bb create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m7-demos_2.12.1.bb delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-mcore-demos-2.10.inc diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/README b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/README index 71f8fb9e7..3dbc58ac7 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/README +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/README @@ -1,10 +1,11 @@ The M4 demo app version of each SoCs are followed: -* 2.10.0 -- i.MX 7ULP, 8MM, 8MQ +* 2.12.0 -- i.MX 7ULP, 8MQ, 8MM * 2.9.0 -- i.MX 8DXL, 8QM, 8QXP * 1.0.1 -- i.MX 7D The M7 demo app version of each SoCs are followed: -* 2.10.0 -- i.MX 8MNLite, 8MN, 8MP +* 2.12.0 -- i.MX 8MNULite, 8MN, 8MP The M33 demo app version of each SoCs are followed: -* 2.11.0 -- i.MX 8ULP +* 2.13.0 -- i.MX 93 +* 2.13.0 -- i.MX 8ULP diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m33-demos_2.11.0.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m33-demos_2.11.0.bb deleted file mode 100644 index 902f61eea..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m33-demos_2.11.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright 2021 NXP -# Released under the MIT license (see COPYING.MIT for the terms) - -require imx-mcore-demos.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f" - -SRC_URI[imx8ulp.md5sum] = "de0499fd2de02922c524d4b106d3bc30" -SRC_URI[imx8ulp.sha256sum] = "17e239b96dfbb0d05e3f61c93a57bfd8a98bc021bb802a365da34d99040c6cb0" - -COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m33-demos_2.13.0.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m33-demos_2.13.0.bb new file mode 100644 index 000000000..f5e888743 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m33-demos_2.13.0.bb @@ -0,0 +1,15 @@ +# Copyright 2022 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +require imx-mcore-demos.inc + +LIC_FILES_CHKSUM:mx8ulp-nxp-bsp = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" +LIC_FILES_CHKSUM:mx93-nxp-bsp = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" + +SRC_URI[imx8ulp.md5sum] = "7a4c8e667749d429f57a64cefc096d0e" +SRC_URI[imx8ulp.sha256sum] = "40d6184e50e5dfad78973ccf4da9fdd221737558b5ed8963167b6fd81e6752c4" + +SRC_URI[imx93.md5sum] = "b63358a6ed6f2b95c8196c54140b4a23" +SRC_URI[imx93.sha256sum] = "e87cd109bf4a20c5f28ea9e927d300f59386c0e2edeef95e2e3496882101469f" + +COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx93-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb deleted file mode 100644 index 0ba10b5cb..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_1.0.1.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "i.MX M4 core Demo images" -SECTION = "app" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=8cf95184c220e247b9917e7244124c5a" - -inherit deploy fsl-eula-unpack - -M4_SOC ?= "INVALID" -M4_SOC:mx7d-nxp-bsp = "imx7d-sabresd" - -SRC_URI = "${FSL_MIRROR}/${M4_SOC}-m4-freertos-${PV}.bin;fsl-eula=true" -S = "${WORKDIR}/${M4_SOC}-m4-freertos-${PV}" - -SRC_URI[md5sum] = "b05b780ff3916f4953ab58ac95233c38" -SRC_URI[sha256sum] = "cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22f73254" - -do_deploy () { - # Install the demo binaries - install -d ${DEPLOYDIR} - cp ${S}/*.bin ${DEPLOYDIR}/ - ls ${DEPLOYDIR}/ -} - -addtask deploy before do_build after do_compile - -PACKAGE_ARCH = "${MACHINE_SOCARCH}" -COMPATIBLE_MACHINE = "(mx7d-nxp-bsp)" - diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_2.10.0.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_2.10.0.bb deleted file mode 100644 index 7706b1395..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_2.10.0.bb +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright 2017-2021 NXP -# Released under the MIT license (see COPYING.MIT for the terms) - -require imx-mcore-demos.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=e565271ec9a80ce47abbddc4bffe56fa" - -SRC_URI[imx7ulp.md5sum] = "f3d312d2a12d76cc353e23ee08ba1c1c" -SRC_URI[imx7ulp.sha256sum] = "43f2de5db02bcb406160886e04d083e7a9253f688fe7b3be75bc9c9e13d425cc" - -SRC_URI[imx8mm.md5sum] = "3ece10e2ca255e6964b405f17c9f6342" -SRC_URI[imx8mm.sha256sum] = "c14f6d2f41d2a16eb9f948c6182ef3fbb9dfccdd5399b78e2fe3fa8ae9006dde" - -SRC_URI[imx8mq.md5sum] = "b5034e35dca3c2b6c1b4d38b16cddaa7" -SRC_URI[imx8mq.sha256sum] = "ec44b737630c088dd23c1f855ce8478bae531d75a9c7021eb25e9268a8b9a425" - -COMPATIBLE_MACHINE = "(mx7ulp-nxp-bsp|mx8mm-nxp-bsp|mx8mq-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_2.12.1.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_2.12.1.bb new file mode 100644 index 000000000..f415ef2d4 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_2.12.1.bb @@ -0,0 +1,19 @@ +# Copyright 2017-2022 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +require imx-mcore-demos.inc + +LIC_FILES_CHKSUM:mx8mm-nxp-bsp = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" +LIC_FILES_CHKSUM:mx8mq-nxp-bsp = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" +LIC_FILES_CHKSUM:mx7ulp-nxp-bsp = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" + +SRC_URI[imx8mm.md5sum] = "c2261058127d67605910b048585d6b67" +SRC_URI[imx8mm.sha256sum] = "0150edef613130b8c09644356087185a370e4148bc6974eac47b8b01b2735b72" + +SRC_URI[imx8mq.md5sum] = "e6e8b52671cbdd3e756cad23b05fe77b" +SRC_URI[imx8mq.sha256sum] = "745db64406babca6311f2b760a5e325298c028b55de694affd831b94f772e0f3" + +SRC_URI[imx7ulp.md5sum] = "501d223d55787eecebb2438e20c0ca1e" +SRC_URI[imx7ulp.sha256sum] = "69b576541f3815a9b5bc19ba188da6e1764e6244cad178282f13ff27da1e4c59" + +COMPATIBLE_MACHINE = "(mx7ulp-nxp-bsp|mx8mm-nxp-bsp|mx8mq-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb index d97ca8f46..63c402dda 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m4-demos_2.9.0.bb @@ -4,7 +4,8 @@ require imx-mcore-demos.inc LIC_FILES_CHKSUM:mx8dxl-nxp-bsp = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a" -LIC_FILES_CHKSUM = "file://COPYING;md5=a632fefd1c359980434f9389833cab3a" +LIC_FILES_CHKSUM:mx8qm-nxp-bsp = "file://COPYING;md5=a632fefd1c359980434f9389833cab3a" +LIC_FILES_CHKSUM:mx8qxp-nxp-bsp = "file://COPYING;md5=a632fefd1c359980434f9389833cab3a" SRC_URI[imx8dxl.md5sum] = "8850c04a8af91e2bd822cecd5ec56e12" SRC_URI[imx8dxl.sha256sum] = "66ddba970712ed394de4034b362334a12caa5865a6afc1dfb5a897bb55b4fcf1" @@ -15,4 +16,4 @@ SRC_URI[imx8qm.sha256sum] = "c695e72b0c7f609132f5990469cf950c03e137de887bd7e24d0 SRC_URI[imx8qx.md5sum] = "5bc15014f59b2b11c71299fac608be5d" SRC_URI[imx8qx.sha256sum] = "bbb268a30a58a86e38966122191c8aa69f427c6c1d56b0ce81e518f4d652782a" -COMPATIBLE_MACHINE = "(mx7ulp-nxp-bsp|mx8dxl-nxp-bsp|mx8mq-nxp-bsp|mx8qm-nxp-bsp|mx8qxp-nxp-bsp)" +COMPATIBLE_MACHINE = "(mx8dxl-nxp-bsp|mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m7-demos_2.10.0.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m7-demos_2.10.0.bb deleted file mode 100644 index 4c0914dc2..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m7-demos_2.10.0.bb +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright 2019-2021 NXP -# Released under the MIT license (see COPYING.MIT for the terms) - -require imx-mcore-demos.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=e565271ec9a80ce47abbddc4bffe56fa" - -SRC_URI[imx8mnddr3l.md5sum] = "f7d651d04ffc4b8fa26b19b1289f5d65" -SRC_URI[imx8mnddr3l.sha256sum] = "9377eceaddb973f1cb51ae75d8dd47c7a0bc4d82f915bf25a81cddd5d633e805" - -SRC_URI[imx8mn.md5sum] = "11ee5b3f9494ba99c440b249eb99617a" -SRC_URI[imx8mn.sha256sum] = "aa4a57ed2ddbf6e27a14269be38f5ab3803889d71e8dcca76f8586a77802b010" - -SRC_URI[imx8mp.md5sum] = "5167520c8493e8e2d54d1d60e22ff5d4" -SRC_URI[imx8mp.sha256sum] = "cdb9478d1b7fb74f21d15bee56a8f6d48fe3e4f97dd17a5e4499c72040988ed2" - -COMPATIBLE_MACHINE = "(mx8mnul-nxp-bsp|mx8mn-nxp-bsp|mx8mp-nxp-bsp|mx8mpul-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m7-demos_2.12.1.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m7-demos_2.12.1.bb new file mode 100644 index 000000000..50e096ee2 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-m7-demos_2.12.1.bb @@ -0,0 +1,20 @@ +# Copyright 2019-2022 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +require imx-mcore-demos.inc + +LIC_FILES_CHKSUM:mx8mn-nxp-bsp = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" +LIC_FILES_CHKSUM:mx8mnul-nxp-bsp = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" +LIC_FILES_CHKSUM:mx8mp-nxp-bsp = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" +LIC_FILES_CHKSUM:mx8mpul-nxp-bsp = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" + +SRC_URI[imx8mn.md5sum] = "d7ade5eef38ebeb297eb855d4bf565eb" +SRC_URI[imx8mn.sha256sum] = "ba7f078d17369e3a9e3ddd74dbe3853cbfa127ad1cbdb7fd2b99f58427a5bfb1" + +SRC_URI[imx8mnddr3l.md5sum] = "c0768666809999af84d8a529b8ec140f" +SRC_URI[imx8mnddr3l.sha256sum] = "79d716e0d4de689bb0cd015a3d2102e28bfa0f89291fb61210a72bc0afec442e" + +SRC_URI[imx8mp.md5sum] = "f8d11f51d3c30c8d06df1e2da6852218" +SRC_URI[imx8mp.sha256sum] = "21ebebaf38a4334e1aabea4a91a5c6a5580e474f45c49d8a4623e4376f1e585d" + +COMPATIBLE_MACHINE = "(mx8mn-nxp-bsp|mx8mnul-nxp-bsp|mx8mp-nxp-bsp|mx8mpul-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-mcore-demos-2.10.inc b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-mcore-demos-2.10.inc deleted file mode 100644 index a754e085a..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-mcore-demos-2.10.inc +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2021 NXP -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "i.MX M33 core Demo images" -SECTION = "app" -LICENSE = "Proprietary" - -inherit deploy fsl-eula2-unpack2 - -SOC ?= "INVALID" -SOC:mx8ulp-nxp-bsp = "imx8ulp" - -MCORE_TYPE ?= "m33" -MCORE_TYPE:mx8ulp-nxp-bsp = "m33" - -IMX_PACKAGE_NAME = "${SOC}-${MCORE_TYPE}-demo-${PV}" -SRC_URI:append = ";name=${SOC}" - -SCR = "SCR-${SOC}-${MCORE_TYPE}-demo.txt" - -do_install () { - # install elf format binary to /lib/firmware - install -d ${D}${base_libdir}/firmware - install -m 0644 ${S}/*.elf ${D}${base_libdir}/firmware -} - -DEPLOY_FILE_EXT ?= "bin" - -do_deploy () { - # Install the demo binaries - install -m 0644 ${S}/*.${DEPLOY_FILE_EXT} ${DEPLOYDIR}/ -} - -addtask deploy after do_install - -PACKAGE_ARCH = "${MACHINE_SOCARCH}" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-mcore-demos.inc b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-mcore-demos.inc index 8181dbbfc..7fc675a77 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-mcore-demos.inc +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-fsl/mcore-demos/imx-mcore-demos.inc @@ -7,7 +7,7 @@ LICENSE = "Proprietary" inherit deploy fsl-eula2-unpack2 -SOC ?= "INVALID" +SOC ?= "INVALID" SOC:mx7ulp-nxp-bsp = "imx7ulp" SOC:mx8dxl-nxp-bsp = "imx8dxl" SOC:mx8mm-nxp-bsp = "imx8mm" @@ -18,7 +18,9 @@ SOC:mx8mpul-nxp-bsp = "imx8mp" SOC:mx8mq-nxp-bsp = "imx8mq" SOC:mx8qm-nxp-bsp = "imx8qm" SOC:mx8qxp-nxp-bsp = "imx8qx" +SOC:mx8dx-nxp-bsp = "imx8qx" SOC:mx8ulp-nxp-bsp = "imx8ulp" +SOC:mx93-nxp-bsp = "imx93" MCORE_TYPE ?= "m4" MCORE_TYPE:mx8mn-nxp-bsp = "m7" @@ -26,6 +28,7 @@ MCORE_TYPE:mx8mnul-nxp-bsp = "m7" MCORE_TYPE:mx8mp-nxp-bsp = "m7" MCORE_TYPE:mx8mpul-nxp-bsp = "m7" MCORE_TYPE:mx8ulp-nxp-bsp = "m33" +MCORE_TYPE:mx93-nxp-bsp = "m33" IMX_PACKAGE_NAME = "${SOC}-${MCORE_TYPE}-demo-${PV}" SRC_URI:append = ";name=${SOC}" From 6a53da20ca823a656d0129ad6609f10730199730 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 6 Feb 2023 17:36:57 +0100 Subject: [PATCH 102/144] ccimx8x: move SECO_FIRMWARE_NAME definition to machine config This is a machine specific setting, and moving it to the machine config allows to get rid of the recipe bbappends. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/include/ccimx8x.inc | 4 ++++ .../freescale-layer/recipes-bsp/imx-seco/ccimx8x-seco-fw.inc | 3 --- .../freescale-layer/recipes-bsp/imx-seco/imx-seco_%.bbappend | 2 -- 3 files changed, 4 insertions(+), 5 deletions(-) delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/ccimx8x-seco-fw.inc delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco_%.bbappend diff --git a/meta-digi-arm/conf/machine/include/ccimx8x.inc b/meta-digi-arm/conf/machine/include/ccimx8x.inc index b0c384352..32bdc68ee 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8x.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8x.inc @@ -52,6 +52,10 @@ MACHINE_FIRMWARE ?= "firmware-imx-vpu-imx8 firmware-imx-sdma-imx7d" MACHINE_FIRMWARE:append = " ${@oe.utils.conditional('HAVE_BT', '1', 'firmware-qualcomm-qca6574-bt', '', d)}" MACHINE_FIRMWARE:append = " ${@oe.utils.conditional('HAVE_WIFI', '1', 'firmware-qualcomm-qca6574-wifi', '', d)}" +# For the ccimx8x, we generate images for both the B0 and the C0 revisions of +# the i.MX8X silicon, so deploy both versions of the firmware. +SECO_FIRMWARE_NAME:ccimx8x = "mx8qx*0-ahab-container.img" + MACHINE_EXTRA_RDEPENDS += " \ e2fsprogs-mke2fs \ e2fsprogs-resize2fs \ diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/ccimx8x-seco-fw.inc b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/ccimx8x-seco-fw.inc deleted file mode 100644 index 060c610ed..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/ccimx8x-seco-fw.inc +++ /dev/null @@ -1,3 +0,0 @@ -# For the ccimx8x, we generate images for both the B0 and the C0 revisions of -# the i.MX8X silicon, so deploy both versions of the firmware. -SECO_FIRMWARE_NAME:ccimx8x = "mx8qx*0-ahab-container.img" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco_%.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco_%.bbappend deleted file mode 100644 index 341995bc7..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-seco/imx-seco_%.bbappend +++ /dev/null @@ -1,2 +0,0 @@ -# Copyright (C) 2013-2021 Digi International. -require ccimx8x-seco-fw.inc From 747dbddf3b5d919d1fda33c1044bbbc2fbd7bde4 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 6 Feb 2023 17:37:27 +0100 Subject: [PATCH 103/144] meta-digi: more updates and cleanups for NXP's 5.15.71_2.2.0 release Signed-off-by: Javier Viguera --- .../imx-sc-firmware/imx-sc-firmware_1.15.0.bb | 39 +++++++++++++++++++ .../imx-secure-enclave_git.bb | 28 +++++++++++++ .../drm/libdrm_2.4.109.imx.bbappend | 4 ++ .../imx-g2d/imx-g2d-samples_git.bbappend | 34 ++++++++++++++++ .../opencv/opencv_4.6.0.imx.bbappend | 5 +++ .../alsa/imx-alsa-plugins_git.bbappend | 7 ---- .../python-numpy/python3-numpy_%.bbappend | 25 ------------ 7 files changed, 110 insertions(+), 32 deletions(-) create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/drm/libdrm_2.4.109.imx.bbappend create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/imx-g2d/imx-g2d-samples_git.bbappend create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-support/opencv/opencv_4.6.0.imx.bbappend delete mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/alsa/imx-alsa-plugins_git.bbappend delete mode 100644 meta-digi-dey/recipes-devtools/python-numpy/python3-numpy_%.bbappend diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb new file mode 100644 index 000000000..147080f45 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb @@ -0,0 +1,39 @@ +# Copyright (C) 2016 Freescale Semiconductor +# Copyright 2017-2022 NXP + +DESCRIPTION = "i.MX System Controller Firmware" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" +SECTION = "BSP" + +inherit fsl-eula2-unpack2 pkgconfig deploy + +SRC_URI[md5sum] = "d608eb2b3d312da1dbde55b8514c1e0f" +SRC_URI[sha256sum] = "1272ac5c31a88017ef548721f3acf930a7eda6ac73aa9f41b5f0cade9d5c0e5f" + +BOARD_TYPE ?= "mek" +SC_FIRMWARE_NAME ?= "INVALID" +SC_FIRMWARE_NAME:mx8qm-nxp-bsp = "mx8qm-${BOARD_TYPE}-scfw-tcm.bin" +SC_FIRMWARE_NAME:mx8qxp-nxp-bsp = "mx8qx-${BOARD_TYPE}-scfw-tcm.bin" +SC_FIRMWARE_NAME:mx8dxl-nxp-bsp = "mx8dxl-${BOARD_TYPE}-scfw-tcm.bin" +SC_FIRMWARE_NAME:mx8dx-nxp-bsp = "mx8dx-${BOARD_TYPE}-scfw-tcm.bin" + +symlink_name = "scfw_tcm.bin" + +BOOT_TOOLS = "imx-boot-tools" + +do_compile[noexec] = "1" + +do_install[noexec] = "1" + +do_deploy() { + install -Dm 0644 ${S}/${SC_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} + ln -sf ${SC_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/${symlink_name} +} +addtask deploy after do_install + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dxl-nxp-bsp|mx8dx-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb new file mode 100644 index 000000000..eaebcf79a --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-secure-enclave/imx-secure-enclave_git.bb @@ -0,0 +1,28 @@ +# Copyright 2021-2022 NXP + +SUMMARY = "NXP i.MX SECURE ENCLAVE library" +DESCRIPTION = "NXP IMX SECURE ENCLAVE library" +SECTION = "base" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://EULA.txt;md5=76871788f27c28af824e2ec1ca187832" + +DEPENDS = "zlib" + +EXTRA_OEMAKE = "PLAT=ele" + +SRCBRANCH = "master" +SECURE_ENCLAVE_LIB_SRC ?= "git://github.com/NXP/imx-secure-enclave.git;protocol=https" + +SRC_URI = "${SECURE_ENCLAVE_LIB_SRC};branch=${SRCBRANCH}" +SRCREV = "e39f7b1aa54b8f654a13c6d8492e0c12eccbe6d7" + + +S = "${WORKDIR}/git" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_install () { + oe_runmake DESTDIR=${D} install_tests +} + +COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx93-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/drm/libdrm_2.4.109.imx.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/drm/libdrm_2.4.109.imx.bbappend new file mode 100644 index 000000000..e78621de9 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/drm/libdrm_2.4.109.imx.bbappend @@ -0,0 +1,4 @@ +# Copyright (c) 2023, Digi International Inc. + +IMX_LIBDRM_SRC = "git://github.com/nxp-imx/libdrm-imx.git;protocol=https;nobranch=1" +SRCREV = "063bd699054866852ae182d2b31d4d3e7eae4f03" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/imx-g2d/imx-g2d-samples_git.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/imx-g2d/imx-g2d-samples_git.bbappend new file mode 100644 index 000000000..980a6a4cf --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/imx-g2d/imx-g2d-samples_git.bbappend @@ -0,0 +1,34 @@ +# Copyright (c) 2023, Digi International Inc. + +PACKAGECONFIG_IMPLEMENTATION:mx93-nxp-bsp = "pxp" + +PACKAGECONFIG[dpu] = " \ + BUILD_IMPLEMENTATION=dpu, \ + , \ + imx-dpu-g2d wayland-native wayland wayland-protocols, \ + , \ + , \ + gpu-drm gpu-fbdev pxp" +PACKAGECONFIG[gpu-drm] = " \ + BUILD_IMPLEMENTATION=gpu-drm, \ + , \ + imx-gpu-g2d wayland-native wayland wayland-protocols, \ + , \ + , \ + dpu gpu-fbdev pxp" +PACKAGECONFIG[gpu-fbdev] = " \ + BUILD_IMPLEMENTATION=gpu-fbdev, \ + , \ + imx-gpu-g2d, \ + , \ + , \ + dpu gpu-drm pxp" +PACKAGECONFIG[pxp] = " \ + BUILD_IMPLEMENTATION=pxp, \ + , \ + imx-pxp-g2d wayland-native wayland wayland-protocols, \ + , \ + , \ + dpu gpu-drm gpu-fbdev" + +COMPATIBLE_MACHINE = "(imxgpu2d|mx93-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-support/opencv/opencv_4.6.0.imx.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-support/opencv/opencv_4.6.0.imx.bbappend new file mode 100644 index 000000000..34126bfc5 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-support/opencv/opencv_4.6.0.imx.bbappend @@ -0,0 +1,5 @@ +# Copyright (c) 2023, Digi International Inc. + +PACKAGECONFIG:append:mx9-nxp-bsp = " dnn text" + +COMPATIBLE_MACHINE = "(mx8-nxp-bsp|mx9-nxp-bsp)" diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/alsa/imx-alsa-plugins_git.bbappend b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/alsa/imx-alsa-plugins_git.bbappend deleted file mode 100644 index 3418ab194..000000000 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/alsa/imx-alsa-plugins_git.bbappend +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright (C) 2022 Digi International - -SRCBRANCH = "MM_04.07.00_2205_L5.15.y" -SRCREV = "0f32bca96f7027c0c1145b27d1790541d34fb84c" - -PACKAGECONFIG:append:mx8-nxp-bsp = " swpdm" -PACKAGECONFIG[swpdm] = "--enable-swpdm,--disable-swpdm,imx-sw-pdm" diff --git a/meta-digi-dey/recipes-devtools/python-numpy/python3-numpy_%.bbappend b/meta-digi-dey/recipes-devtools/python-numpy/python3-numpy_%.bbappend deleted file mode 100644 index 3ff0e4c57..000000000 --- a/meta-digi-dey/recipes-devtools/python-numpy/python3-numpy_%.bbappend +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright (C) 2019 Digi International Inc. - -# Re-add the base RDEPENDS to class-target since they are being overwritten in the -# original recipe -RDEPENDS:${PN}:class-target:append = " \ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-difflib \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-nose \ - ${PYTHON_PN}-doctest \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-mmap \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-pydoc \ - ${PYTHON_PN}-pkgutil \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-compression \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-threading \ -" From 1214a094b649ddbe7e26c42dd78f669c1d34948e Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Thu, 2 Feb 2023 09:44:22 +0100 Subject: [PATCH 104/144] ccmp15: crank-demo: fix autostart of crank app on top of weston NXP and ST platforms launches weston in a different way. In ccmp15 we must wait for the socket at '/run/user/0/wayland-1' after weston is initialized, while that is not required on NXP platforms. This commit reverts part of the changes in commit 31d9863feabcfb00356c2d697da51c3431738c47. Signed-off-by: Tatiana Leon --- .../crank-demos/crank-demos/crank-demo-init | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo-init b/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo-init index a9eeb67f3..5fbd42ad1 100644 --- a/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo-init +++ b/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo-init @@ -1,7 +1,7 @@ #!/bin/sh #=============================================================================== # -# Copyright (C) 2022 by Digi International Inc. +# Copyright (C) 2022, 2023 by Digi International Inc. # All rights reserved. # # This program is free software; you can redistribute it and/or modify it @@ -58,6 +58,20 @@ check_is_running() { return 1 } +wait_for_wayland() { + local count=20 + local wayland_socket="/run/user/0/${DEMO_DISPLAY}" + + while [ ! -S "${wayland_socket}" ]; do + sleep 1 + count=$((count-1)) + if [ "${count}" = 0 ]; then + return 1 + fi + done + return 0 +} + stop() { check_is_running || return @@ -78,6 +92,7 @@ stop() { start() { check_is_running && { log warning "start: ${CRANK_DEMO} ALREADY running"; exit 0; } + [ -d "/usr/share/wayland" ] && wait_for_wayland env ${DEMO_ENV} ${SB_LAUNCHER_SCRIPT} ${DEMO_OPTS} ${DEMO} >/dev/null 2>&1 & if [ $? -eq 0 ]; then echo $! > ${PID_FILE} From b3058085390a8243820d0cb8531ea24377f3f42a Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Thu, 2 Feb 2023 11:01:58 +0100 Subject: [PATCH 105/144] ccmp15: cog: fix cog build Do not build 'drm' platform for ccmp1 platforms. The code for 'drm' does not properly build out of the box in cog version 0.14.1 and some patches are required. Since 'drm' platform is not being used, remove it for ccmp1 instead of fixing the build process. Signed-off-by: Tatiana Leon --- .../dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend index aaf4a8df2..ca8a8f8a8 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend @@ -13,5 +13,6 @@ EXTRA_OECMAKE += "-DCOG_HOME_URI=http://127.0.0.1/" PACKAGECONFIG += "wl" # drm PACKAGECONFIG pulls in libgbm dependency, which isn't available -# on the i.MX6 +# on the i.MX6 and ccmp1 PACKAGECONFIG:remove:ccimx6 = "drm" +PACKAGECONFIG:remove:ccmp1 = "drm" From feea2179add22dd92ba8f978f342878bd1f852f5 Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Thu, 2 Feb 2023 11:03:57 +0100 Subject: [PATCH 106/144] ccmp15: connectcore demo: fix autostart of demo application on top of weston This commit is similar to those required to launch crank applications on top of weston in ConnectCore MP 15 platform, it must wait for the socket '/run/user/0/wayland-1' after weston is initialized. See commits 7de8270beda64236cdd1c46857906315a37dc4fe and 1ec5cc172c728ab5d30dce3db730be2cdcc5a5a9. Signed-off-by: Tatiana Leon --- .../connectcore-demo-example-init | 64 +++++++++++++------ .../connectcore-demo-example.service | 7 +- .../dey-examples/connectcore-demo-example.inc | 42 ++++++++---- 3 files changed, 77 insertions(+), 36 deletions(-) diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init index a243a82e3..29688b068 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init @@ -1,7 +1,7 @@ #!/bin/sh #=============================================================================== # -# Copyright (C) 2022 by Digi International Inc. +# Copyright (C) 2022, 2023 by Digi International Inc. # All rights reserved. # # This program is free software; you can redistribute it and/or modify it @@ -16,10 +16,26 @@ # Source function library . /etc/init.d/functions +readonly DEMO_DISPLAY="##CC_DEMO_DISPLAY##" +readonly DEMO_ENV="##CC_DEMO_ENV##" readonly COG_BINARY="/usr/bin/cog" readonly DEMOSERVER_BINARY="/srv/www/demoserver.py" readonly STOP_TIMEOUT="5" +wait_for_wayland() { + local count=20 + local wayland_socket="/run/user/0/${DEMO_DISPLAY}" + + while [ ! -S "${wayland_socket}" ]; do + sleep 1 + count=$((count-1)) + if [ "${count}" = 0 ]; then + return 1 + fi + done + return 0 +} + stop_process() { # try to stop gracefully killproc "${1}" >/dev/null 2>&1 @@ -32,35 +48,43 @@ stop_process() { done } -export_environment_variables() { - export DISPLAY=:0.0 - export XDG_RUNTIME_DIR=/run/user/0 - export WAYLAND_DISPLAY=wayland-0 - export COG_PLATFORM_WL_VIEW_FULLSCREEN=1 - # FULLSCREEN variable will have preference over other geometry variables. - if [ -f "/sys/class/graphics/fb0/virtual_size" ]; then - COG_PLATFORM_WL_VIEW_WIDTH="$(cut -d',' -f1 /sys/class/graphics/fb0/virtual_size)" - COG_PLATFORM_WL_VIEW_HEIGHT="$(cut -d',' -f2 /sys/class/graphics/fb0/virtual_size)" - [ -n "${COG_PLATFORM_WL_VIEW_WIDTH}" ] && export COG_PLATFORM_WL_VIEW_WIDTH - [ -n "${COG_PLATFORM_WL_VIEW_HEIGHT}" ] && export COG_PLATFORM_WL_VIEW_HEIGHT - fi +stop() { + stop_process "${COG_BINARY}" + stop_process "${DEMOSERVER_BINARY}" } -case "$1" in - start) - ${DEMOSERVER_BINARY} > /dev/null 2>&1 & - export_environment_variables - ${COG_BINARY} \ +start() { + local COG_ENV="${DEMO_ENV}" + + ${DEMOSERVER_BINARY} > /dev/null 2>&1 & + + if [ -d "/usr/share/wayland" ]; then + wait_for_wayland + COG_ENV="${COG_ENV} COG_PLATFORM_WL_VIEW_FULLSCREEN=1" + # FULLSCREEN variable will have preference over other geometry variables. + if [ -f "/sys/class/graphics/fb0/virtual_size" ]; then + width="$(cut -d',' -f1 /sys/class/graphics/fb0/virtual_size)" + heigth="$(cut -d',' -f2 /sys/class/graphics/fb0/virtual_size)" + [ -n "${width}" ] && COG_ENV="${COG_ENV} COG_PLATFORM_WL_VIEW_WIDTH=${width}" + [ -n "${heigth}" ] && COG_ENV="${COG_ENV} COG_PLATFORM_WL_VIEW_HEIGHT=${heigth}" + fi + fi + + env ${COG_ENV} ${COG_BINARY} \ --allow-file-access-from-file-urls=true \ --allow-universal-access-from-file-urls=false \ --enable-offline-web-application-cache=false \ --enable-page-cache=false \ --allow-modal-dialogs=true \ /srv/www/index.html > /dev/null 2>&1 & +} + +case "$1" in + start) + start ;; stop) - stop_process "${COG_BINARY}" - stop_process "${DEMOSERVER_BINARY}" + stop ;; restart) $0 stop diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service index bc1490e2b..58e2606d9 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service @@ -1,7 +1,10 @@ [Unit] Description=Initialization of the ConnectCore demo example -After=weston.service busybox-httpd.service -Requires=weston.service +After=busybox-httpd.service + +# Make sure we are started after graphic service is available +After=##WESTON_SERVICE## +Requires=##WESTON_SERVICE## [Service] Type=forking diff --git a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc index 023216c1f..25682f5ba 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc +++ b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc @@ -1,4 +1,4 @@ -# Copyright (C) 2022 Digi International. +# Copyright (C) 2022, 2023 Digi International. require dey-examples-src.inc @@ -13,6 +13,14 @@ SRC_URI += " \ file://connectcore-demo-example.service \ " +WESTON_SERVICE ?= "weston.service" +WESTON_SERVICE:ccmp15 ?= "weston-launch.service" + +CC_DEMO_DISPLAY ?= "wayland-0" +CC_DEMO_DISPLAY:ccmp15 ?= "wayland-1" +CC_DEMO_ENV ?= "DISPLAY=:0.0 XDG_RUNTIME_DIR=/run/user/0 WAYLAND_DISPLAY=\${DEMO_DISPLAY}" +CC_DEMO_ENV:ccimx6ul ?= "" + RDEPENDS:${PN} = " \ busybox-httpd \ libdigiapix-python3 \ @@ -30,22 +38,28 @@ S = "${WORKDIR}/connectcore-demo-example" inherit systemd update-rc.d do_install() { - install -d ${D}/srv/www - cp -r ${WORKDIR}/git/connectcore-demo-example/* ${D}/srv/www/ + install -d ${D}/srv/www + cp -r ${WORKDIR}/git/connectcore-demo-example/* ${D}/srv/www/ - # Remove unused images - find ${D}/srv/www/static/images/ -type f -name '*_board.png' -not -name '${MACHINE}_board.png' -delete + # Remove unused images + find ${D}/srv/www/static/images/ -type f -name '*_board.png' -not -name '${MACHINE}_board.png' -delete - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - # Install systemd unit files - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/connectcore-demo-example.service ${D}${systemd_unitdir}/system/ - fi + # Install systemd service + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + # Install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/connectcore-demo-example.service ${D}${systemd_unitdir}/system/ + sed -i -e "s,##WESTON_SERVICE##,${WESTON_SERVICE},g" \ + "${D}${systemd_unitdir}/system/connectcore-demo-example.service" + fi - # connectcore-demo-example-init - install -d ${D}${sysconfdir}/init.d/ - install -m 755 ${WORKDIR}/connectcore-demo-example-init ${D}${sysconfdir}/connectcore-demo-example - ln -sf /etc/connectcore-demo-example ${D}${sysconfdir}/init.d/connectcore-demo-example + # Install connectcore-demo-example-init + install -d ${D}${sysconfdir}/init.d/ + install -m 755 ${WORKDIR}/connectcore-demo-example-init ${D}${sysconfdir}/connectcore-demo-example + sed -i -e "s@##CC_DEMO_ENV##@${CC_DEMO_ENV}@g" \ + -e "s@##CC_DEMO_DISPLAY##@${CC_DEMO_DISPLAY}@g" \ + "${D}${sysconfdir}/connectcore-demo-example" + ln -sf ${sysconfdir}/connectcore-demo-example ${D}${sysconfdir}/init.d/connectcore-demo-example } FILES:${PN} += " \ From bb12e4b7c8812a6c841c90a4369602aa3956446e Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Fri, 3 Feb 2023 13:00:58 +0100 Subject: [PATCH 107/144] cog: do not manually append 'wl' to PACKAGECONFIG Partially reverts commit 668b4e81388ce49e72c2c4b0199e1ef8f19a9c89. Signed-off-by: Tatiana Leon --- .../dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend | 4 ---- 1 file changed, 4 deletions(-) diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend index ca8a8f8a8..0126436e1 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_%.bbappend @@ -8,10 +8,6 @@ SRC_URI:append = " \ EXTRA_OECMAKE += "-DCOG_HOME_URI=http://127.0.0.1/" -# Starting in v0.12.X, we need to explicitly enable the wl PACKAGECONFIG to -# include the wayland platform -PACKAGECONFIG += "wl" - # drm PACKAGECONFIG pulls in libgbm dependency, which isn't available # on the i.MX6 and ccmp1 PACKAGECONFIG:remove:ccimx6 = "drm" From 0b9b73afc8ef3db14ba8b34b04bc7ed8b0bc3d7d Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Fri, 3 Feb 2023 13:10:09 +0100 Subject: [PATCH 108/144] connectcore-demo: separate in several packages This commit separates the original 'connectcore-demo-example' package in 3 packages: 1. 'server' package. It contains the 'demoserver.py' script and its corresponding systemd service and init script. This script is required for the local demo and to be used with the Bluetooth application (during the get started process) 2. 'example' package. It contains the html and required resources (images, javascript, etc.) to use the demo locally, except for the multimedia resources. This package depends (in runtime) on the 'server' package. 3. 'multimedia' package. It contains the multimedia html and required resources (images, javascript, videos, etc.) to use the multimedia demo features locally. This package depends (in runtime) on the 'example' package and also on 'video-examples' and 'webglsamples' packages. This split allows to select the required demo packages per platform and image type. By default, the 'multimedia' package is the one included in the webkit images, but the 'example' package is the one included in the rest of images. Signed-off-by: Tatiana Leon --- .../packagegroups/packagegroup-dey-webkit.bb | 4 +- .../connectcore-demo-example-webkit.bb | 53 +++++++++++++-- .../connectcore-demo-example-init | 10 +-- .../connectcore-demo-example.service | 2 +- .../dey-examples/connectcore-demo-example.inc | 68 ++++++++++++------- .../connectcore-demo-example.service | 11 --- ...mple-init => connectcore-demo-server-init} | 0 .../connectcore-demo-server.service | 11 +++ .../packagegroup-dey-examples.bb | 4 +- 9 files changed, 107 insertions(+), 56 deletions(-) delete mode 100644 meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example.service rename meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/{connectcore-demo-example-init => connectcore-demo-server-init} (100%) create mode 100644 meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-server.service diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/packagegroups/packagegroup-dey-webkit.bb b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/packagegroups/packagegroup-dey-webkit.bb index 98dccdaf6..8fe0bc6d0 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/packagegroups/packagegroup-dey-webkit.bb +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/packagegroups/packagegroup-dey-webkit.bb @@ -1,5 +1,5 @@ # -# Copyright (C) 2020, Digi International Inc. +# Copyright (C) 2020-2023, Digi International Inc. # SUMMARY = "WebKit packagegroup for DEY image" @@ -9,6 +9,6 @@ inherit packagegroup # Include WPE WebKit, launcher (cog) and examples RDEPENDS:${PN} += " \ cog \ - connectcore-demo-example-webkit \ + connectcore-demo-example-webkit-multimedia \ wpewebkit \ " diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit.bb b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit.bb index 0d5bf6f7a..5edebf153 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit.bb +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit.bb @@ -1,12 +1,55 @@ -# Copyright (C) 2022 Digi International. +# Copyright (C) 2022, 2023 Digi International. require recipes-digi/dey-examples/connectcore-demo-example.inc -RDEPENDS:${PN} += " \ - cog \ - video-examples \ - webglsamples \ +WESTON_SERVICE ?= "weston.service" +WESTON_SERVICE:ccmp15 ?= "weston-launch.service" + +CC_DEMO_DISPLAY ?= "wayland-0" +CC_DEMO_DISPLAY:ccmp15 ?= "wayland-1" +CC_DEMO_ENV ?= "DISPLAY=:0.0 XDG_RUNTIME_DIR=/run/user/0 WAYLAND_DISPLAY=\${DEMO_DISPLAY}" +CC_DEMO_ENV:ccimx6ul ?= "" + +FILESEXTRAPATHS:prepend := "${THISDIR}/../../../../recipes-digi/dey-examples/connectcore-demo-example:" + +SRC_URI += " \ + file://connectcore-demo-example-init \ + file://connectcore-demo-example.service \ " +do_install:append() { + # Install systemd service + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + # Install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/connectcore-demo-example.service ${D}${systemd_unitdir}/system/ + sed -i -e "s,##WESTON_SERVICE##,${WESTON_SERVICE},g" \ + "${D}${systemd_unitdir}/system/connectcore-demo-example.service" + fi + + # Install connectcore-demo-example-init + install -d ${D}${sysconfdir}/init.d/ + install -m 755 ${WORKDIR}/connectcore-demo-example-init ${D}${sysconfdir}/connectcore-demo-example + sed -i -e "s@##CC_DEMO_ENV##@${CC_DEMO_ENV}@g" \ + -e "s@##CC_DEMO_DISPLAY##@${CC_DEMO_DISPLAY}@g" \ + "${D}${sysconfdir}/connectcore-demo-example" + ln -sf ${sysconfdir}/connectcore-demo-example ${D}${sysconfdir}/init.d/connectcore-demo-example +} + +FILES:${PN}:append = " \ + ${systemd_unitdir}/system/connectcore-demo-example.service \ + ${sysconfdir}/connectcore-demo-example \ + ${sysconfdir}/init.d/connectcore-demo-example \ +" + +RDEPENDS:${PN} += " cog" + +INITSCRIPT_PACKAGES += "${PN}" +INITSCRIPT_NAME:${PN} = "connectcore-demo-example" +INITSCRIPT_PARAMS:${PN} = "start 19 2 3 4 5 . stop 21 0 1 6 ." + +SYSTEMD_PACKAGES += "${PN}" +SYSTEMD_SERVICE:${PN} = "connectcore-demo-example.service" + RREPLACES:${PN} = "connectcore-demo-example" RCONFLICTS:${PN} = "connectcore-demo-example" diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init index 29688b068..2ba222790 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example-init @@ -19,7 +19,6 @@ readonly DEMO_DISPLAY="##CC_DEMO_DISPLAY##" readonly DEMO_ENV="##CC_DEMO_ENV##" readonly COG_BINARY="/usr/bin/cog" -readonly DEMOSERVER_BINARY="/srv/www/demoserver.py" readonly STOP_TIMEOUT="5" wait_for_wayland() { @@ -48,16 +47,9 @@ stop_process() { done } -stop() { - stop_process "${COG_BINARY}" - stop_process "${DEMOSERVER_BINARY}" -} - start() { local COG_ENV="${DEMO_ENV}" - ${DEMOSERVER_BINARY} > /dev/null 2>&1 & - if [ -d "/usr/share/wayland" ]; then wait_for_wayland COG_ENV="${COG_ENV} COG_PLATFORM_WL_VIEW_FULLSCREEN=1" @@ -84,7 +76,7 @@ case "$1" in start ;; stop) - stop + stop_process "${COG_BINARY}" ;; restart) $0 stop diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service index 58e2606d9..091d1fb90 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit/connectcore-demo-example.service @@ -1,6 +1,6 @@ [Unit] Description=Initialization of the ConnectCore demo example -After=busybox-httpd.service +After=connectcore-demo-server # Make sure we are started after graphic service is available After=##WESTON_SERVICE## diff --git a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc index 25682f5ba..d58832a38 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc +++ b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc @@ -9,19 +9,11 @@ LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" SRC_URI += " \ - file://connectcore-demo-example-init \ - file://connectcore-demo-example.service \ + file://connectcore-demo-server-init \ + file://connectcore-demo-server.service \ " -WESTON_SERVICE ?= "weston.service" -WESTON_SERVICE:ccmp15 ?= "weston-launch.service" - -CC_DEMO_DISPLAY ?= "wayland-0" -CC_DEMO_DISPLAY:ccmp15 ?= "wayland-1" -CC_DEMO_ENV ?= "DISPLAY=:0.0 XDG_RUNTIME_DIR=/run/user/0 WAYLAND_DISPLAY=\${DEMO_DISPLAY}" -CC_DEMO_ENV:ccimx6ul ?= "" - -RDEPENDS:${PN} = " \ +RDEPENDS:${PN}-server = " \ busybox-httpd \ libdigiapix-python3 \ mpg123 \ @@ -48,30 +40,54 @@ do_install() { if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then # Install systemd unit files install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/connectcore-demo-example.service ${D}${systemd_unitdir}/system/ - sed -i -e "s,##WESTON_SERVICE##,${WESTON_SERVICE},g" \ - "${D}${systemd_unitdir}/system/connectcore-demo-example.service" + install -m 0644 ${WORKDIR}/connectcore-demo-server.service ${D}${systemd_unitdir}/system/ fi - # Install connectcore-demo-example-init + # Install connectcore-demo-server-init install -d ${D}${sysconfdir}/init.d/ - install -m 755 ${WORKDIR}/connectcore-demo-example-init ${D}${sysconfdir}/connectcore-demo-example - sed -i -e "s@##CC_DEMO_ENV##@${CC_DEMO_ENV}@g" \ - -e "s@##CC_DEMO_DISPLAY##@${CC_DEMO_DISPLAY}@g" \ - "${D}${sysconfdir}/connectcore-demo-example" - ln -sf ${sysconfdir}/connectcore-demo-example ${D}${sysconfdir}/init.d/connectcore-demo-example + install -m 755 ${WORKDIR}/connectcore-demo-server-init ${D}${sysconfdir}/connectcore-demo-server + ln -sf ${sysconfdir}/connectcore-demo-server ${D}${sysconfdir}/init.d/connectcore-demo-server } +PACKAGES =+ "${PN}-server ${PN}-multimedia" + FILES:${PN} += " \ /srv/www/* \ - ${systemd_unitdir}/system/connectcore-demo-example.service \ - ${sysconfdir}/connectcore-demo-example \ - ${sysconfdir}/init.d/connectcore-demo-example \ " -INITSCRIPT_NAME = "connectcore-demo-example" -INITSCRIPT_PARAMS = "start 19 2 3 4 5 . stop 21 0 1 6 ." +FILES:${PN}-multimedia += " \ + /srv/www/multimedia* \ + /srv/www/static/images/aquarium.jpg \ + /srv/www/static/images/big_buck_bunny.jpg \ + /srv/www/static/images/blob.jpg \ + /srv/www/static/images/cpu.png \ + /srv/www/static/images/electricflower.jpg \ + /srv/www/static/images/multiple-views.jpg \ + /srv/www/static/images/ram.png \ + /srv/www/static/images/spacerocks.jpg \ + /srv/www/static/images/toon-shading.jpg \ + /srv/www/static/js/multimedia.js \ +" -SYSTEMD_SERVICE:${PN} = "connectcore-demo-example.service" +FILES:${PN}-server = " \ + /srv/www/demoserver.py \ + ${systemd_unitdir}/system/connectcore-demo-server.service \ + ${sysconfdir}/connectcore-demo-server \ + ${sysconfdir}/init.d/connectcore-demo-server \ +" + +RDEPENDS:${PN} = "${PN}-server" +RDEPENDS:${PN}-multimedia = " \ + ${PN} \ + video-examples \ + webglsamples \ +" + +INITSCRIPT_PACKAGES = "${PN}-server" +INITSCRIPT_NAME:${PN}-server = "connectcore-demo-server" +INITSCRIPT_PARAMS:${PN}-server = "start 19 2 3 4 5 . stop 21 0 1 6 ." + +SYSTEMD_PACKAGES = "${PN}-server" +SYSTEMD_SERVICE:${PN}-server = "connectcore-demo-server.service" PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example.service b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example.service deleted file mode 100644 index fd7ec7a3b..000000000 --- a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Initialization of the ConnectCore demo example -After=busybox-httpd.service - -[Service] -Type=forking -ExecStart=/etc/connectcore-demo-example start -ExecStop=/etc/connectcore-demo-example stop - -[Install] -WantedBy=multi-user.target diff --git a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example-init b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-server-init similarity index 100% rename from meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-example-init rename to meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-server-init diff --git a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-server.service b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-server.service new file mode 100644 index 000000000..9d38970ec --- /dev/null +++ b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example/connectcore-demo-server.service @@ -0,0 +1,11 @@ +[Unit] +Description=Initialization of ConnectCore demo server +After=busybox-httpd.service + +[Service] +Type=forking +ExecStart=/etc/connectcore-demo-server start +ExecStop=/etc/connectcore-demo-server stop + +[Install] +WantedBy=multi-user.target diff --git a/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb b/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb index c2f9f1a7d..eda018369 100644 --- a/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb +++ b/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2020, Digi International Inc. +# Copyright (C) 2013-2023, Digi International Inc. SUMMARY = "DEY examples packagegroup" @@ -20,7 +20,7 @@ RDEPENDS:${PN} = "\ dey-examples-cloudconnector \ dey-examples-digiapix \ dey-examples-rtc \ - connectcore-demo-example \ + connectcore-demo-example-multimedia \ " RDEPENDS:${PN}:append:ccimx6 = "\ ${@bb.utils.contains("MACHINE_FEATURES", "accel-graphics", "dey-examples-opengles", "", d)} \ From 454200633f29ab03476c0516604b46c81b959aa6 Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Mon, 6 Feb 2023 13:27:25 +0100 Subject: [PATCH 109/144] images: remove package-management for all digi images 'package-management' allows to install packages in runtime. This feature is not usually utilize by customers so we are removing this support from all images. Signed-off-by: Tatiana Leon --- meta-digi-dey/recipes-core/images/dey-image-aws.bb | 3 +-- meta-digi-dey/recipes-core/images/dey-image-crank.bb | 4 ++-- meta-digi-dey/recipes-core/images/dey-image-graphical.inc | 6 +----- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/meta-digi-dey/recipes-core/images/dey-image-aws.bb b/meta-digi-dey/recipes-core/images/dey-image-aws.bb index eea98cc8c..e8dd13c65 100644 --- a/meta-digi-dey/recipes-core/images/dey-image-aws.bb +++ b/meta-digi-dey/recipes-core/images/dey-image-aws.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2017, Digi International Inc. +# Copyright (C) 2017-2023, Digi International Inc. DESCRIPTION = "DEY image including Amazon Web Services packages" LICENSE = "MIT" @@ -16,7 +16,6 @@ IMAGE_INSTALL = " \ IMAGE_FEATURES += " \ dey-network \ - package-management \ ssh-server-dropbear \ ${@bb.utils.contains('MACHINE_FEATURES', 'bluetooth', 'dey-bluetooth', '', d)} \ ${@bb.utils.contains('MACHINE_FEATURES', 'wifi', 'dey-wireless', '', d)} \ diff --git a/meta-digi-dey/recipes-core/images/dey-image-crank.bb b/meta-digi-dey/recipes-core/images/dey-image-crank.bb index 250dada2b..51a23f2b7 100644 --- a/meta-digi-dey/recipes-core/images/dey-image-crank.bb +++ b/meta-digi-dey/recipes-core/images/dey-image-crank.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2022, Digi International Inc. +# Copyright (C) 2022, 2023, Digi International Inc. require dey-image-graphical.inc @@ -10,4 +10,4 @@ GRAPHICAL_CORE = "crank" IMAGE_FEATURES:remove:ccimx6ul = "x11-base x11-sato" # Reduce the rootfs size to fit in the internal storage -IMAGE_FEATURES:remove:ccmp15 = "dey-gstreamer package-management" +IMAGE_FEATURES:remove:ccmp15 = "dey-gstreamer" diff --git a/meta-digi-dey/recipes-core/images/dey-image-graphical.inc b/meta-digi-dey/recipes-core/images/dey-image-graphical.inc index c80ff800d..24061843a 100644 --- a/meta-digi-dey/recipes-core/images/dey-image-graphical.inc +++ b/meta-digi-dey/recipes-core/images/dey-image-graphical.inc @@ -1,5 +1,5 @@ # -# Copyright (C) 2016-2020 Digi International. +# Copyright (C) 2016-2023 Digi International. # DESCRIPTION = "DEY image with graphical libraries" LICENSE = "MIT" @@ -19,7 +19,6 @@ IMAGE_FEATURES += " \ dey-network \ dey-${GRAPHICAL_CORE} \ eclipse-debug \ - package-management \ ssh-server-dropbear \ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston', \ bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11-base x11-sato', \ @@ -37,9 +36,6 @@ IMAGE_FEATURES:append:ccimx6ulsbc = " dey-gstreamer" IMAGE_FEATURES:append:ccmp15 = " ${@bb.utils.contains('DISTRO_FEATURES', 'gstreamer', 'dey-gstreamer', '', d)}" -# Remove some features to reduce the rootfs size to fit in the internal storage. -IMAGE_FEATURES:remove:ccimx6ul = "package-management" - # SDK features (for toolchains generated from an image with populate_sdk) SDKIMAGE_FEATURES ?= "dev-pkgs dbg-pkgs staticdev-pkgs" From 2130f04f21c4ef6ee360a25ebf0ecd35740a21f4 Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Thu, 2 Feb 2023 18:29:18 +0100 Subject: [PATCH 110/144] ccmp15: webkit: image: reduce webkit image size Generated webkit rootfs image for the ConnectCore MP15 is too big to fit in a dual boot system. This commit redefines 'dey-webkit' packagegroup not to include connectcore demo multimedia feature in ccmp1 platforms. Signed-off-by: Tatiana Leon --- .../recipes-browser/packagegroups/packagegroup-dey-webkit.bb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/packagegroups/packagegroup-dey-webkit.bb b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/packagegroups/packagegroup-dey-webkit.bb index 8fe0bc6d0..016eb39b1 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/packagegroups/packagegroup-dey-webkit.bb +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/packagegroups/packagegroup-dey-webkit.bb @@ -6,9 +6,12 @@ SUMMARY = "WebKit packagegroup for DEY image" PACKAGE_ARCH = "${MACHINE_ARCH}" inherit packagegroup +CC_DEMO_PACKAGE ?= "connectcore-demo-example-webkit-multimedia" +CC_DEMO_PACKAGE:ccmp1 ?= "connectcore-demo-example-webkit" + # Include WPE WebKit, launcher (cog) and examples RDEPENDS:${PN} += " \ cog \ - connectcore-demo-example-webkit-multimedia \ + ${CC_DEMO_PACKAGE} \ wpewebkit \ " From cdda928edb7d3c2d75d8b4b257bfc75c3a905034 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 7 Feb 2023 14:01:39 +0100 Subject: [PATCH 111/144] meta-digi: clean up MACHINE_GSTREAMER_1_0_PLUGIN MACHINE_GSTREAMER_1_0_PLUGIN should contain the machine-specific gstreamer plugin to use, but not the rest of the packages to be included in the rootfs. So clean that variable up, and add the dependent packages in the dey-gstreamer package group. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/include/imx-digi-base.inc | 12 ++++-------- .../packagegroups/packagegroup-dey-gstreamer.bb | 2 ++ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/meta-digi-arm/conf/machine/include/imx-digi-base.inc b/meta-digi-arm/conf/machine/include/imx-digi-base.inc index d93b93465..75f6d67d1 100644 --- a/meta-digi-arm/conf/machine/include/imx-digi-base.inc +++ b/meta-digi-arm/conf/machine/include/imx-digi-base.inc @@ -193,14 +193,10 @@ MACHINE_EXTRA_RRECOMMENDS += "udev-extraconf udev-rules-imx" # GStreamer 1.0 plugins MACHINE_GSTREAMER_1_0_PLUGIN ?= "" -MACHINE_GSTREAMER_1_0_PLUGIN:mx6dl-nxp-bsp ?= "imx-gst1.0-plugin imx-gst1.0-plugin-gplay imx-gst1.0-plugin-grecorder" -MACHINE_GSTREAMER_1_0_PLUGIN:mx6q-nxp-bsp ?= "imx-gst1.0-plugin imx-gst1.0-plugin-gplay imx-gst1.0-plugin-grecorder" -MACHINE_GSTREAMER_1_0_PLUGIN:mx6ul-nxp-bsp ?= "imx-gst1.0-plugin imx-gst1.0-plugin-gplay imx-gst1.0-plugin-grecorder" -MACHINE_GSTREAMER_1_0_PLUGIN:mx8mm-nxp-bsp ?= "imx-gst1.0-plugin imx-gst1.0-plugin-gplay imx-gst1.0-plugin-grecorder" -MACHINE_GSTREAMER_1_0_PLUGIN:mx8mn-nxp-bsp ?= "imx-gst1.0-plugin imx-gst1.0-plugin-gplay imx-gst1.0-plugin-grecorder" -MACHINE_GSTREAMER_1_0_PLUGIN:mx8mp-nxp-bsp ?= "imx-gst1.0-plugin imx-gst1.0-plugin-gplay imx-gst1.0-plugin-grecorder" -MACHINE_GSTREAMER_1_0_PLUGIN:mx8qxp-nxp-bsp ?= "imx-gst1.0-plugin imx-gst1.0-plugin-gplay imx-gst1.0-plugin-grecorder" -MACHINE_GSTREAMER_1_0_PLUGIN:mx8dx-nxp-bsp ?= "imx-gst1.0-plugin imx-gst1.0-plugin-gplay imx-gst1.0-plugin-grecorder" +MACHINE_GSTREAMER_1_0_PLUGIN:mx6dl-nxp-bsp ?= "imx-gst1.0-plugin" +MACHINE_GSTREAMER_1_0_PLUGIN:mx6q-nxp-bsp ?= "imx-gst1.0-plugin" +MACHINE_GSTREAMER_1_0_PLUGIN:mx6ul-nxp-bsp ?= "imx-gst1.0-plugin" +MACHINE_GSTREAMER_1_0_PLUGIN:mx8-nxp-bsp ?= "imx-gst1.0-plugin" # In 'meta-freescale' these gstreamer preferred versions are restricted to 'mx8-nxp-bsp' # but in DEY we use them also in the 6UL, so relax the override to 'imx-nxp-base' diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/packagegroups/packagegroup-dey-gstreamer.bb b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/packagegroups/packagegroup-dey-gstreamer.bb index d879c7208..c64928dd2 100644 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/packagegroups/packagegroup-dey-gstreamer.bb +++ b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/packagegroups/packagegroup-dey-gstreamer.bb @@ -43,4 +43,6 @@ RDEPENDS:${PN} = " \ ${MACHINE_GSTREAMER_1_0_PKGS} \ ${MACHINE_GSTREAMER_1_0_EXTRA_INSTALL} \ ${MACHINE_GSTREAMER_1_0_PLUGIN} \ + ${@bb.utils.contains("MACHINE_GSTREAMER_1_0_PLUGIN", "imx-gst1.0-plugin", "imx-gst1.0-plugin-gplay", "", d)} \ + ${@bb.utils.contains("MACHINE_GSTREAMER_1_0_PLUGIN", "imx-gst1.0-plugin", "imx-gst1.0-plugin-grecorder", "", d)} \ " From 0da87c37407946cee104ecc982a6c8fe4693ebe5 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 7 Feb 2023 14:37:04 +0100 Subject: [PATCH 112/144] meta-digi: get rid of accel-video machine feature accel-video was being used only for including or not gstreamer in the different DEY images. But then we had exceptions to include gstreamer for machines that do not define accel-video, so just follow what the ccmp15 does, and use a generic 'gstreamer' distro feature to add 'dey-gstreamer' support to the images. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/include/ccimx6.inc | 2 +- meta-digi-arm/conf/machine/include/ccimx8m.inc | 2 +- meta-digi-arm/conf/machine/include/ccimx8x.inc | 2 +- meta-digi-arm/conf/machine/include/imx-digi-base.inc | 3 +++ .../recipes-core/images/core-image-base.bbappend | 2 +- .../recipes-core/images/dey-image-graphical.inc | 9 +-------- 6 files changed, 8 insertions(+), 12 deletions(-) diff --git a/meta-digi-arm/conf/machine/include/ccimx6.inc b/meta-digi-arm/conf/machine/include/ccimx6.inc index 52622f123..39b6d8656 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6.inc @@ -37,7 +37,7 @@ MACHINE_EXTRA_RRECOMMENDS += " \ ${@bb.utils.contains('COMBINED_FEATURES', 'alsa', 'imx-alsa-plugins', '', d)} \ " -MACHINE_FEATURES += "accel-graphics accel-video wifi bluetooth pci" +MACHINE_FEATURES += "accel-graphics wifi bluetooth pci" # TrustFence TRUSTFENCE_SIGN_MODE = "HAB" diff --git a/meta-digi-arm/conf/machine/include/ccimx8m.inc b/meta-digi-arm/conf/machine/include/ccimx8m.inc index f0c2b6591..f02b9d3ed 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8m.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8m.inc @@ -51,7 +51,7 @@ MACHINE_EXTRA_RRECOMMENDS += " \ ${WIRELESS_MODULE} \ " -MACHINE_FEATURES += "accel-graphics accel-video wifi bluetooth cryptochip mca optee" +MACHINE_FEATURES += "accel-graphics wifi bluetooth cryptochip mca optee" # AARCH64 doesn't support self-extracting zImage KERNEL_IMAGETYPE = "Image.gz" diff --git a/meta-digi-arm/conf/machine/include/ccimx8x.inc b/meta-digi-arm/conf/machine/include/ccimx8x.inc index 32bdc68ee..6158874a3 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8x.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8x.inc @@ -68,7 +68,7 @@ MACHINE_EXTRA_RRECOMMENDS += " \ ${WIRELESS_MODULE} \ " -MACHINE_FEATURES += "accel-graphics accel-video wifi bluetooth cryptochip pci mca" +MACHINE_FEATURES += "accel-graphics wifi bluetooth cryptochip pci mca" # AARCH64 doesn't support self-extracting zImage KERNEL_IMAGETYPE = "Image.gz" diff --git a/meta-digi-arm/conf/machine/include/imx-digi-base.inc b/meta-digi-arm/conf/machine/include/imx-digi-base.inc index 75f6d67d1..93089abb2 100644 --- a/meta-digi-arm/conf/machine/include/imx-digi-base.inc +++ b/meta-digi-arm/conf/machine/include/imx-digi-base.inc @@ -269,6 +269,9 @@ KERNEL_IMAGETYPE ?= "zImage" MACHINE_FEATURES = "usbgadget usbhost vfat alsa touchscreen" +# Add a generic gstreamer distro feature for all IMX platforms +DISTRO_FEATURES:append = " gstreamer" + # U-Boot 2017.X requires a specific dtc version. PREFERRED_VERSION_dtc-native:ccimx6 ?= "1.4.5" PREFERRED_VERSION_nativesdk-dtc:ccimx6 ?= "1.4.5" diff --git a/meta-digi-dey/recipes-core/images/core-image-base.bbappend b/meta-digi-dey/recipes-core/images/core-image-base.bbappend index b53ccd60b..6c80f4633 100644 --- a/meta-digi-dey/recipes-core/images/core-image-base.bbappend +++ b/meta-digi-dey/recipes-core/images/core-image-base.bbappend @@ -6,7 +6,7 @@ IMAGE_FEATURES += " \ dey-network \ eclipse-debug \ ssh-server-dropbear \ - ${@bb.utils.contains('MACHINE_FEATURES', 'accel-video', 'dey-gstreamer', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'gstreamer', 'dey-gstreamer', '', d)} \ ${@bb.utils.contains('MACHINE_FEATURES', 'alsa', 'dey-audio', '', d)} \ ${@bb.utils.contains('MACHINE_FEATURES', 'bluetooth', 'dey-bluetooth', '', d)} \ ${@bb.utils.contains('MACHINE_FEATURES', 'wifi', 'dey-wireless', '', d)} \ diff --git a/meta-digi-dey/recipes-core/images/dey-image-graphical.inc b/meta-digi-dey/recipes-core/images/dey-image-graphical.inc index 24061843a..de593a3ea 100644 --- a/meta-digi-dey/recipes-core/images/dey-image-graphical.inc +++ b/meta-digi-dey/recipes-core/images/dey-image-graphical.inc @@ -20,22 +20,15 @@ IMAGE_FEATURES += " \ dey-${GRAPHICAL_CORE} \ eclipse-debug \ ssh-server-dropbear \ + ${@bb.utils.contains('DISTRO_FEATURES', 'gstreamer', 'dey-gstreamer', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston', \ bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11-base x11-sato', \ '', d), d)} \ - ${@bb.utils.contains('MACHINE_FEATURES', 'accel-video', 'dey-gstreamer', '', d)} \ ${@bb.utils.contains('MACHINE_FEATURES', 'alsa', 'dey-audio', '', d)} \ ${@bb.utils.contains('MACHINE_FEATURES', 'bluetooth', 'dey-bluetooth', '', d)} \ ${@bb.utils.contains('MACHINE_FEATURES', 'wifi', 'dey-wireless', '', d)} \ " -# Separately add 'dey-gstreamer' to ccimx6ulsbc platform. -# This platform does not have 'accel-video' but we want gstreamer for using -# it with video/camera -IMAGE_FEATURES:append:ccimx6ulsbc = " dey-gstreamer" - -IMAGE_FEATURES:append:ccmp15 = " ${@bb.utils.contains('DISTRO_FEATURES', 'gstreamer', 'dey-gstreamer', '', d)}" - # SDK features (for toolchains generated from an image with populate_sdk) SDKIMAGE_FEATURES ?= "dev-pkgs dbg-pkgs staticdev-pkgs" From 60df16d0227e1b276496c5eacbf0ac20227e88a2 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 7 Feb 2023 14:44:45 +0100 Subject: [PATCH 113/144] meta-digi: use NXP's imx gstreamer plugin for ccimx93 Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/include/imx-digi-base.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-digi-arm/conf/machine/include/imx-digi-base.inc b/meta-digi-arm/conf/machine/include/imx-digi-base.inc index 93089abb2..ef2025517 100644 --- a/meta-digi-arm/conf/machine/include/imx-digi-base.inc +++ b/meta-digi-arm/conf/machine/include/imx-digi-base.inc @@ -197,6 +197,7 @@ MACHINE_GSTREAMER_1_0_PLUGIN:mx6dl-nxp-bsp ?= "imx-gst1.0-plugin" MACHINE_GSTREAMER_1_0_PLUGIN:mx6q-nxp-bsp ?= "imx-gst1.0-plugin" MACHINE_GSTREAMER_1_0_PLUGIN:mx6ul-nxp-bsp ?= "imx-gst1.0-plugin" MACHINE_GSTREAMER_1_0_PLUGIN:mx8-nxp-bsp ?= "imx-gst1.0-plugin" +MACHINE_GSTREAMER_1_0_PLUGIN:mx9-nxp-bsp ?= "imx-gst1.0-plugin" # In 'meta-freescale' these gstreamer preferred versions are restricted to 'mx8-nxp-bsp' # but in DEY we use them also in the 6UL, so relax the override to 'imx-nxp-base' From 8a576abfeae3fc94726da1305e7c8d1b0288d417 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 8 Feb 2023 10:12:19 +0100 Subject: [PATCH 114/144] packagegroup-dey-gstreamer: rework MACHINE_GSTREAMER_1_0_EXTRA_INSTALL We need some of the extra gstreamer packages added via MACHINE_GSTREAMER_1_0_EXTRA_INSTALL for the ccimx93, but as the ccimx93 does not have an 'imxgpu' override, they don't get added. Instead, add the packages for all the NXP platforms by removing the override and then empty the variable for the 'ccimx6ul' for space-saving purposes. Signed-off-by: Javier Viguera --- .../packagegroups/packagegroup-dey-gstreamer.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/packagegroups/packagegroup-dey-gstreamer.bb b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/packagegroups/packagegroup-dey-gstreamer.bb index c64928dd2..ba6b63123 100644 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/packagegroups/packagegroup-dey-gstreamer.bb +++ b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-multimedia/packagegroups/packagegroup-dey-gstreamer.bb @@ -31,13 +31,13 @@ MACHINE_GSTREAMER_1_0_PKGS:ccimx6ul = " \ gstreamer1.0-plugins-good-jpeg \ " -MACHINE_GSTREAMER_1_0_EXTRA_INSTALL ?= "" -MACHINE_GSTREAMER_1_0_EXTRA_INSTALL:imxgpu ?= " \ +MACHINE_GSTREAMER_1_0_EXTRA_INSTALL ?= " \ gstreamer1.0-plugins-bad-meta \ gstreamer1.0-plugins-ugly-meta \ gstreamer1.0-rtsp-server-meta \ gstreamer1.0-libav \ " +MACHINE_GSTREAMER_1_0_EXTRA_INSTALL:ccimx6ul ?= "" RDEPENDS:${PN} = " \ ${MACHINE_GSTREAMER_1_0_PKGS} \ From a90a3b9898848ba5381e088c91462b3410dd7c54 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 8 Feb 2023 14:14:39 +0100 Subject: [PATCH 115/144] dey-image-webkit: add compatibility with ccimx93 While on it, sort compatible machines alphabetically. Signed-off-by: Javier Viguera --- .../webkit/recipes-core/images/dey-image-webkit.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-core/images/dey-image-webkit.bb b/meta-digi-dey/dynamic-layers/webkit/recipes-core/images/dey-image-webkit.bb index 17169b404..48872bbdb 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-core/images/dey-image-webkit.bb +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-core/images/dey-image-webkit.bb @@ -7,4 +7,4 @@ DESCRIPTION = "DEY image with WebKit browser engine support" GRAPHICAL_CORE = "webkit" -COMPATIBLE_MACHINE = "(ccimx8x|ccimx8m|ccimx6$|ccmp15)" +COMPATIBLE_MACHINE = "(ccimx6$|ccimx8m|ccimx8x|ccimx93|ccmp15)" From 4dbbdcafb10a29503e05d6d5d817c34c6c450fe6 Mon Sep 17 00:00:00 2001 From: Arturo Buzarra Date: Thu, 9 Feb 2023 16:16:28 +0100 Subject: [PATCH 116/144] qt5: include Qt sample apps for ccmp15 platform This commit includes by default several Qt applications to show the graphical capabilities of the CCMP15 platform. https://onedigi.atlassian.net/browse/DEL-8254 Signed-off-by: Arturo Buzarra --- .../recipes-qt/packagegroups/packagegroup-qt5-demos.bb | 5 +++++ .../recipes-qt/packagegroups/packagegroup-qt5-dey.bb | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-demos.bb b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-demos.bb index 8d9a67951..41054b9e9 100644 --- a/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-demos.bb +++ b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-demos.bb @@ -26,3 +26,8 @@ RDEPENDS:${PN}:append:imxgpu = " \ qt5nmapper \ cinematicexperience-rhi \ " + +RDEPENDS:${PN}:append:ccmp15 = " \ + qt5everywheredemo \ + cinematicexperience-rhi \ +" diff --git a/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-dey.bb b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-dey.bb index a649148ba..94293de24 100644 --- a/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-dey.bb +++ b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-dey.bb @@ -1,5 +1,5 @@ # -# Copyright (C) 2013-2018, Digi International Inc. +# Copyright (C) 2013-2023, Digi International Inc. # SUMMARY = "QT packagegroup for DEY image" @@ -35,6 +35,8 @@ QT5_RDEPENDS:imxgpu3d = " \ gstreamer1.0-plugins-good-qt \ " +QT5_RDEPENDS:ccmp15 = "${QT5_RDEPENDS_common}" + # Add packagegroup-qt5-webengine to QT5_RDEPENDS and comment out the line below to install qtwebengine to the rootfs. QT5_RDEPENDS:remove = " packagegroup-qt5-webengine" From 3f9c93ecdf2e88a5581a3230c67cd2c8c3aa74ea Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Thu, 9 Feb 2023 14:24:55 +0100 Subject: [PATCH 117/144] connectcore-demo: move video and webgl example recipes Move 'video-examples' and 'webglsamples' recipes outside dynamic-layers/webkit so platforms without 'webkit' support (such as ConnectCore 6UL) are able to include and build successfully the complete 'connectcore-demo-example' Related to 0b9b73afc8ef3db14ba8b34b04bc7ed8b0bc3d7d Signed-off-by: Tatiana Leon --- .../dey-examples}/video-examples_0.1.bb | 0 .../dey-examples}/webglsamples_git.bb | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename meta-digi-dey/{dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit => recipes-digi/dey-examples}/video-examples_0.1.bb (100%) rename meta-digi-dey/{dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit => recipes-digi/dey-examples}/webglsamples_git.bb (100%) diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/video-examples_0.1.bb b/meta-digi-dey/recipes-digi/dey-examples/video-examples_0.1.bb similarity index 100% rename from meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/video-examples_0.1.bb rename to meta-digi-dey/recipes-digi/dey-examples/video-examples_0.1.bb diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/webglsamples_git.bb b/meta-digi-dey/recipes-digi/dey-examples/webglsamples_git.bb similarity index 100% rename from meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/webglsamples_git.bb rename to meta-digi-dey/recipes-digi/dey-examples/webglsamples_git.bb From 24f0f6ff79877e843ee413fd298643d62f360654 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Mon, 13 Feb 2023 18:38:08 +0100 Subject: [PATCH 118/144] imx-boot: add trustfence support for ccimx8m https://onedigi.atlassian.net/browse/DEL-8362 Signed-off-by: Javier Viguera --- ...pture-commands-output-into-a-log-fil.patch | 45 +++++++++++++++ .../imx-mkimage/imx-boot_1.0.bbappend | 57 +++++++++++++++++-- 2 files changed, 96 insertions(+), 6 deletions(-) create mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/files/0002-imx8m-soc.mak-capture-commands-output-into-a-log-fil.patch diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/files/0002-imx8m-soc.mak-capture-commands-output-into-a-log-fil.patch b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/files/0002-imx8m-soc.mak-capture-commands-output-into-a-log-fil.patch new file mode 100644 index 000000000..61eeba6c5 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/files/0002-imx8m-soc.mak-capture-commands-output-into-a-log-fil.patch @@ -0,0 +1,45 @@ +From: Javier Viguera +Date: Thu, 9 Feb 2023 11:15:54 +0100 +Subject: [PATCH] imx8m: soc.mak: capture commands output into a log file + +This is later used to get the needed information for the signing of the +boot artifacts. + +Signed-off-by: Javier Viguera +--- + iMX8M/soc.mak | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak +index 4a0cd4e59360..6b3a01f2b790 100644 +--- a/iMX8M/soc.mak ++++ b/iMX8M/soc.mak +@@ -1,5 +1,6 @@ + MKIMG = mkimage_imx8 + OUTIMG = flash.bin ++MKIMAGE_LOG = "mkimage-$(firstword $(MAKECMDGOALS)).log" + + CC ?= gcc + CFLAGS ?= -O2 -Wall -std=c99 -static +@@ -274,7 +275,7 @@ endif + + + flash_evk_no_hdmi: $(MKIMG) u-boot-spl-ddr.bin u-boot.itb +- ./mkimage_imx8 -version $(VERSION) -fit -loader u-boot-spl-ddr.bin $(SPL_LOAD_ADDR) -second_loader u-boot.itb 0x40200000 0x60000 -out $(OUTIMG) ++ ./mkimage_imx8 -version $(VERSION) -fit -loader u-boot-spl-ddr.bin $(SPL_LOAD_ADDR) -second_loader u-boot.itb 0x40200000 0x60000 -out $(OUTIMG) 2>&1 | tee $(MKIMAGE_LOG) + + flash_evk_no_hdmi_dual_bootloader: $(MKIMG) u-boot-spl-ddr.bin u-boot.itb + ./mkimage_imx8 -version $(VERSION) -fit -loader u-boot-spl-ddr.bin $(SPL_LOAD_ADDR) -out $(OUTIMG) +@@ -318,10 +319,10 @@ flash_dp_spl_uboot: flash_dp_evk + flash_spl_uboot: flash_evk_no_hdmi + + print_fit_hab: u-boot-nodtb.bin bl31.bin $(dtb) +- ./$(PAD_IMAGE) $(TEE) ++ ./$(PAD_IMAGE) $(TEE) 2>&1 | tee $(MKIMAGE_LOG) + ./$(PAD_IMAGE) bl31.bin + ./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb) +- TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) VERSION=$(VERSION) ../$(SOC_DIR)/print_fit_hab.sh $(PRINT_FIT_HAB_OFFSET) $(dtb) ++ { echo $@; TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) VERSION=$(VERSION) ../$(SOC_DIR)/print_fit_hab.sh $(PRINT_FIT_HAB_OFFSET) $(dtb) 2>&1; } | tee -a $(MKIMAGE_LOG) + + print_fit_hab_ddr4: u-boot-nodtb.bin bl31.bin $(dtb_ddr4_evk) + ./$(PAD_IMAGE) $(TEE) diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend index 293b7b9d4..6163544ff 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend @@ -4,14 +4,24 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/files:" SRC_URI:append = " \ file://0001-imx8m-soc.mak-preserve-dtbs-after-build.patch \ + file://0002-imx8m-soc.mak-capture-commands-output-into-a-log-fil.patch \ " +DEPENDS += "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', 'trustfence-sign-tools-native', '', d)}" + SOC_FAMILY:mx9-nxp-bsp = "mx93" # Do not tag imx-boot UUU_BOOTLOADER = "" UUU_BOOTLOADER_TAGGED = "" +compile_mx8m:append:ccimx8m() { + # Create dummy DEK blob to support building with encrypted u-boot + if [ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ]; then + dd if=/dev/zero of=${BOOT_STAGING}/dek_blob_fit_dummy.bin bs=96 count=1 oflag=sync + fi +} + compile_mx93() { bbnote "i.MX 93 boot binary build" for ddr_firmware in ${DDR_FIRMWARE_NAME}; do @@ -27,6 +37,11 @@ compile_mx93() { fi } +do_compile:append:ccimx8m() { + bbnote "building ${IMX_BOOT_SOC_TARGET} - print_fit_hab" + make SOC=${IMX_BOOT_SOC_TARGET} dtbs=${UBOOT_DTB_NAME} print_fit_hab +} + deploy_mx93() { install -d ${DEPLOYDIR}/${BOOT_TOOLS} for ddr_firmware in ${DDR_FIRMWARE_NAME}; do @@ -41,12 +56,42 @@ deploy_mx93() { } do_deploy:append() { - # The boot-artifacts.bbclass expects "imx-boot-.bin" symlinks, so add them. - if [ -n "${UBOOT_CONFIG}" ]; then - for type in ${UBOOT_CONFIG}; do - ln -sf ${BOOT_NAME}-${MACHINE}-${type}.bin-${IMAGE_IMXBOOT_TARGET} ${DEPLOYDIR}/${BOOT_NAME}-${type}.bin - done - fi + # imx-boot recipe in meta-freescale assumes only *one* build configuration + # (otherwise variable BOOT_CONFIG_MACHINE would expand to something incorrect) + for target in ${IMXBOOT_TARGETS}; do + mv ${DEPLOYDIR}/${BOOT_CONFIG_MACHINE}-${target} ${DEPLOYDIR}/${BOOT_NAME}-${MACHINE}.bin-${target} + done + ln -sf ${BOOT_NAME}-${MACHINE}.bin-${IMAGE_IMXBOOT_TARGET} ${DEPLOYDIR}/${BOOT_NAME}-${MACHINE}.bin + ln -sf ${BOOT_NAME}-${MACHINE}.bin-${IMAGE_IMXBOOT_TARGET} ${DEPLOYDIR}/${BOOT_NAME} } +do_deploy:append:ccimx8m() { + for target in ${IMXBOOT_TARGETS}; do + install -m 0644 ${BOOT_STAGING}/mkimage-${target}.log ${DEPLOYDIR}/${BOOT_TOOLS} + done + install -m 0644 ${BOOT_STAGING}/mkimage-print_fit_hab.log ${DEPLOYDIR}/${BOOT_TOOLS} +} + +do_deploy[postfuncs] += "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', 'trustfence_sign_imxboot', '', d)}" +trustfence_sign_imxboot() { + TF_SIGN_ENV="CONFIG_SIGN_KEYS_PATH=${TRUSTFENCE_SIGN_KEYS_PATH}" + TF_SIGN_ENV="$TF_SIGN_ENV CONFIG_FIT_HAB_LOG_PATH=${DEPLOYDIR}/${BOOT_TOOLS}/mkimage-print_fit_hab.log" + [ -n "${TRUSTFENCE_KEY_INDEX}" ] && TF_SIGN_ENV="$TF_SIGN_ENV CONFIG_KEY_INDEX=${TRUSTFENCE_KEY_INDEX}" + [ -n "${TRUSTFENCE_SIGN_MODE}" ] && TF_SIGN_ENV="$TF_SIGN_ENV CONFIG_SIGN_MODE=${TRUSTFENCE_SIGN_MODE}" + [ -n "${TRUSTFENCE_SRK_REVOKE_MASK}" ] && TF_SIGN_ENV="$TF_SIGN_ENV SRK_REVOKE_MASK=${TRUSTFENCE_SRK_REVOKE_MASK}" + [ -n "${TRUSTFENCE_UNLOCK_KEY_REVOCATION}" ] && TF_SIGN_ENV="$TF_SIGN_ENV CONFIG_UNLOCK_SRK_REVOKE=${TRUSTFENCE_UNLOCK_KEY_REVOCATION}" + + # Sign/encrypt boot image + for target in ${IMXBOOT_TARGETS}; do + TF_SIGN_ENV="$TF_SIGN_ENV CONFIG_MKIMAGE_LOG_PATH=${DEPLOYDIR}/${BOOT_TOOLS}/mkimage-${target}.log" + env $TF_SIGN_ENV trustfence-sign-uboot.sh ${BOOT_NAME}-${MACHINE}.bin-${target} ${BOOT_NAME}-signed-${MACHINE}.bin-${target} + if [ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ]; then + TF_ENC_ENV="CONFIG_DEK_PATH=${TRUSTFENCE_DEK_PATH} ENABLE_ENCRYPTION=y" + env $TF_SIGN_ENV $TF_ENC_ENV trustfence-sign-uboot.sh ${BOOT_NAME}-${MACHINE}.bin-${target} ${BOOT_NAME}-encrypted-${MACHINE}.bin-${target} + fi + done +} +trustfence_sign_imxboot[dirs] = "${DEPLOYDIR}" +trustfence_sign_imxboot[vardeps] += "TRUSTFENCE_SIGN_KEYS_PATH TRUSTFENCE_KEY_INDEX TRUSTFENCE_DEK_PATH TRUSTFENCE_SIGN_MODE TRUSTFENCE_SRK_REVOKE_MASK TRUSTFENCE_UNLOCK_KEY_REVOCATION" + COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)" From be17cb5bc20b9764f2c641e08cdbd004ead68f81 Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Mon, 13 Feb 2023 18:35:34 +0100 Subject: [PATCH 119/144] ccimx6ul: pulseaudio: fix error during boot On boot, ConnectCore 6UL was failing to start pulse audio since it was trying to use journalctl as log target when systemd is not included. Boot error: Starting Dropbear SSH server: dropbear. W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified). E: [pulseaudio] log.c: Invalid log target. E: [pulseaudio] cmdline.c: Invalid log target: use either 'syslog', 'stderr' or 'auto' or a valid file name 'file:', 'newfile:'. E: [pulseaudio] main.c: Failed to parse command line. Starting bluetooth: bluetoothd. While on it change the 'connectcore-demo-server' priority to be launched after pulseaudio when not using systemd. Signed-off-by: Tatiana Leon --- .../recipes-digi/dey-examples/connectcore-demo-example.inc | 2 +- .../recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc index d58832a38..9fbf094b6 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc +++ b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc @@ -85,7 +85,7 @@ RDEPENDS:${PN}-multimedia = " \ INITSCRIPT_PACKAGES = "${PN}-server" INITSCRIPT_NAME:${PN}-server = "connectcore-demo-server" -INITSCRIPT_PARAMS:${PN}-server = "start 19 2 3 4 5 . stop 21 0 1 6 ." +INITSCRIPT_PARAMS:${PN}-server = "start 20 2 3 4 5 . stop 21 0 1 6 ." SYSTEMD_PACKAGES = "${PN}-server" SYSTEMD_SERVICE:${PN}-server = "connectcore-demo-server.service" diff --git a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init index f0c74b6d7..b320d8faf 100644 --- a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init +++ b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init @@ -6,11 +6,13 @@ [ -f "/etc/profile.d/weston.sh" ] && source /etc/profile.d/weston.sh [ -f "/etc/X11/Xsession.d/13xdgbasedirs.sh" ] && source /etc/X11/Xsession.d/13xdgbasedirs.sh +[ -z ${UID} ] && export UID="$(id -u)" [ -z "${XDG_RUNTIME_DIR}" ] && export XDG_RUNTIME_DIR=/run/user/$UID export DBUS_SESSION_BUS_ADDRESS=unix:path=${XDG_RUNTIME_DIR}/bus -pulseaudio --start --log-target=journal +type journalctl >/dev/null 2>&1 && log_target=journal || log_target=syslog +pulseaudio --start --log-target="${log_target}" # Create a symlink to the daemon's PID file in a more accesible directory ln -sf ${XDG_RUNTIME_DIR}/pulse/pid /run/pulse.pid From 0f1dfc3823deb8fbe9180e4c52aa95170bc7ce71 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 14 Feb 2023 16:43:00 +0100 Subject: [PATCH 120/144] meta-digi: recipe updates following changes in meta-freescale Signed-off-by: Javier Viguera --- .../recipes-bsp/imx-test/imx-test_git.bbappend | 14 +++----------- .../drm/libdrm_2.4.109.imx.bbappend | 4 ---- .../wayland/wayland-protocols_1.25.imx.bbappend | 2 -- 3 files changed, 3 insertions(+), 17 deletions(-) delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/drm/libdrm_2.4.109.imx.bbappend diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-test/imx-test_git.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-test/imx-test_git.bbappend index 854f20fdd..23d9b0e9d 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-test/imx-test_git.bbappend +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-test/imx-test_git.bbappend @@ -1,13 +1,5 @@ -# Copyright (C) 2012-2016 O.S. Systems Software LTDA. -# Copyright (C) 2013-2016 Freescale Semiconductor -# Copyright 2017-2021 NXP +# Copyright (c) 2023, Digi International Inc. -SRCBRANCH = "lf-5.10.72_2.2.0" -IMXTEST_SRC ?= "git://source.codeaurora.org/external/imx/imx-test.git;protocol=https" -SRC_URI = " \ - ${IMXTEST_SRC};branch=${SRCBRANCH} \ - file://memtool_profile \ -" -SRCREV = "a26b1ee51177e317aa05251d4c8f10c4c68064f6" +DEPENDS:append:mx9-nxp-bsp = " imx-lib" -PACKAGECONFIG:append:mx8m-nxp-bsp = " swpdm" +PLATFORM:mx9-nxp-bsp = "IMX8ULP" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/drm/libdrm_2.4.109.imx.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/drm/libdrm_2.4.109.imx.bbappend deleted file mode 100644 index e78621de9..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/drm/libdrm_2.4.109.imx.bbappend +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright (c) 2023, Digi International Inc. - -IMX_LIBDRM_SRC = "git://github.com/nxp-imx/libdrm-imx.git;protocol=https;nobranch=1" -SRCREV = "063bd699054866852ae182d2b31d4d3e7eae4f03" diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland-protocols_1.25.imx.bbappend b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland-protocols_1.25.imx.bbappend index 76be3b881..458087426 100644 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland-protocols_1.25.imx.bbappend +++ b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland-protocols_1.25.imx.bbappend @@ -1,5 +1,3 @@ # Copyright (C) 2023 Digi International -SRC_URI = "git://github.com/nxp-imx/wayland-protocols-imx.git;protocol=https;branch=wayland-protocols-imx-1.25" - COMPATIBLE_MACHINE = "(imx-nxp-bsp)" From 5eb0f07906632eda3e5c36c3492a27008d4ecacc Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Tue, 7 Feb 2023 14:05:27 +0100 Subject: [PATCH 121/144] networkmanager: ifupdown: add a setting to disable this feature The 'ifupdown' script does not allow to disconnect a network interface on purpose. Once it is down, the script will reconnect it again. This commit adds a configuration section inside 'NetworkManager.conf' to be able to manage this behavior. By default, it is disabled. https://onedigi.atlassian.net/browse/DEL-8342 Signed-off-by: Tatiana Leon --- .../networkmanager/NetworkManager.conf | 3 +++ .../networkmanager/networkmanager/ifdownup | 18 ++++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/NetworkManager.conf b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/NetworkManager.conf index ad683c98e..82107e5e8 100644 --- a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/NetworkManager.conf +++ b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/NetworkManager.conf @@ -12,3 +12,6 @@ unmanaged-devices=interface-name:p2p*;interface-name:wlan1 [device] wifi.scan-rand-mac-address=no + +[digi-recovery] +ifdownup=false diff --git a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/ifdownup b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/ifdownup index 56ead40f4..bfa8c53a0 100644 --- a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/ifdownup +++ b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/ifdownup @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright 2019, Digi International Inc. +# Copyright 2019-2023, Digi International Inc. # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this @@ -26,6 +26,16 @@ log() { fi } -log info "device-connectivity-change detected on interface ${DEVICE_IP_IFACE}" -nmcli device disconnect "${DEVICE_IP_IFACE}" -nmcli connection up "${CONNECTION_ID}" +# $1 = file, $2 = section, $3 = parameter +get_cfg_param() { + sed -nr "/^\[${2}\]/ { :l /^${3}[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "${1}" | tr '[:upper:]' '[:lower:]' +} + +ifdownup=$(get_cfg_param /etc/NetworkManager/NetworkManager.conf digi-recovery ifdownup) +[ -z "${ifdownup}" ] && ifdownup="false" + +if [ "${ifdownup}" = "true" ] || [ "${ifdownup}" = "yes" ]; then + log info "device-connectivity-change detected on interface ${DEVICE_IP_IFACE}" + nmcli device disconnect "${DEVICE_IP_IFACE}" + nmcli connection up "${CONNECTION_ID}" +fi From 925d96155bd6c9ee123c0e97aa3a78e321effac0 Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Tue, 14 Feb 2023 17:59:25 +0100 Subject: [PATCH 122/144] ccmp1: add mtd-utils for CCMP1 platform This commit adds the mdt-utils to the CCMP1 platform and builds the tools with cyptographic support. Signed-off-by: Mike Engel --- meta-digi-arm/conf/machine/include/ccmp1.inc | 4 ++++ meta-digi-dey/recipes-devtools/mtd/mtd-utils_git.bbappend | 3 +++ 2 files changed, 7 insertions(+) create mode 100644 meta-digi-dey/recipes-devtools/mtd/mtd-utils_git.bbappend diff --git a/meta-digi-arm/conf/machine/include/ccmp1.inc b/meta-digi-arm/conf/machine/include/ccmp1.inc index 1508b4afd..7ebd2a994 100644 --- a/meta-digi-arm/conf/machine/include/ccmp1.inc +++ b/meta-digi-arm/conf/machine/include/ccmp1.inc @@ -38,6 +38,10 @@ UBOOT_ENV_SIZE ?= "0x20000" # available space in the environment partition) UBOOT_ENV_RANGE ?= "" +MACHINE_EXTRA_RDEPENDS += " \ + mtd-utils-ubifs \ +" + # Extra udev rules MACHINE_EXTRA_RRECOMMENDS += "udev-extraconf" diff --git a/meta-digi-dey/recipes-devtools/mtd/mtd-utils_git.bbappend b/meta-digi-dey/recipes-devtools/mtd/mtd-utils_git.bbappend new file mode 100644 index 000000000..199efec5f --- /dev/null +++ b/meta-digi-dey/recipes-devtools/mtd/mtd-utils_git.bbappend @@ -0,0 +1,3 @@ +# Copyright (C) 2023, Digi International Inc. + +PACKAGECONFIG:append = " crypto" From 2dd829fb1de8bbc2aa3bf29820b8b019871176ae Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 15 Feb 2023 11:00:21 +0100 Subject: [PATCH 123/144] build-github.sh: fix cloning DEY from GitHub Seems that 'meta-openembedded' repo does not allow shallow clones. It fails when '--depth' option is passed: $ git clone --depth 1 https://git.openembedded.org/meta-openembedded Cloning into 'meta-openembedded'... fatal: dumb http transport does not support shallow capabilities Remove that option to allow building DEY-4.0 from GitHub repos in the buildserver. Signed-off-by: Javier Viguera --- sdk/build-github.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/build-github.sh b/sdk/build-github.sh index 961f8de49..1ba6b6169 100755 --- a/sdk/build-github.sh +++ b/sdk/build-github.sh @@ -179,7 +179,7 @@ if pushd ${YOCTO_INST_DIR}; then error "Revision \"${DY_REVISION}\" not found" fi fi - yes "" 2>/dev/null | ${REPO} init --depth=1 --no-repo-verify -u ${MANIFEST_URL} ${repo_revision} + yes "" 2>/dev/null | ${REPO} init --no-repo-verify -u ${MANIFEST_URL} ${repo_revision} ${REPO} forall -p -c 'git remote prune $(git remote)' time ${REPO} sync -d ${MAKE_JOBS} popd From 5ba05c91e06ea83c61f389afb7d3aaa68bad826f Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 21 Feb 2023 12:23:28 +0100 Subject: [PATCH 124/144] alsa-state: add configuration for ccimx93 Signed-off-by: Javier Viguera --- .../alsa-state/alsa-state.bbappend | 3 +- .../alsa-state/alsa-state/ccimx93/asound.conf | 9 + .../alsa-state/ccimx93/asound.state | 1148 +++++++++++++++++ 3 files changed, 1159 insertions(+), 1 deletion(-) create mode 100644 meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx93/asound.conf create mode 100644 meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx93/asound.state diff --git a/meta-digi-arm/recipes-bsp/alsa-state/alsa-state.bbappend b/meta-digi-arm/recipes-bsp/alsa-state/alsa-state.bbappend index 25ca3a823..ba1711a9b 100644 --- a/meta-digi-arm/recipes-bsp/alsa-state/alsa-state.bbappend +++ b/meta-digi-arm/recipes-bsp/alsa-state/alsa-state.bbappend @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2022 Digi International. +# Copyright (C) 2013-2023 Digi International. FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" @@ -13,6 +13,7 @@ SRC_URI:append:ccimx6 = " \ SRC_URI:append:ccimx6ul = " file://asound.state" SRC_URI:append:ccimx8x = " file://asound.state" SRC_URI:append:ccimx8m = " file://asound.state" +SRC_URI:append:ccimx93 = " file://asound.state" SRC_URI:append:ccmp1 = " file://asound.state" do_install:append:ccimx6() { diff --git a/meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx93/asound.conf b/meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx93/asound.conf new file mode 100644 index 000000000..11c4cbba0 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx93/asound.conf @@ -0,0 +1,9 @@ +pcm.imxmax98088 { + type hw + card 0 +} +ctl.imxmax98088 { + type hw + card 0 +} +ctl.!default imxmax98088 diff --git a/meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx93/asound.state b/meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx93/asound.state new file mode 100644 index 000000000..07076e3ac --- /dev/null +++ b/meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx93/asound.state @@ -0,0 +1,1148 @@ +state.imxmax98088 { + control.1 { + iface MIXER + name 'Headphone Volume' + value.0 18 + value.1 18 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + dbmin -6700 + dbmax 300 + dbvalue.0 -1100 + dbvalue.1 -1100 + } + } + control.2 { + iface MIXER + name 'Speaker Volume' + value.0 16 + value.1 16 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + dbmin -6200 + dbmax 800 + dbvalue.0 -1000 + dbvalue.1 -1000 + } + } + control.3 { + iface MIXER + name 'Receiver Volume' + value.0 16 + value.1 16 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + dbmin -6200 + dbmax 800 + dbvalue.0 -1000 + dbvalue.1 -1000 + } + } + control.4 { + iface MIXER + name 'Headphone Switch' + value.0 true + value.1 true + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.5 { + iface MIXER + name 'Speaker Switch' + value.0 true + value.1 true + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.6 { + iface MIXER + name 'Receiver Switch' + value.0 true + value.1 true + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.7 { + iface MIXER + name 'MIC1 Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 31' + } + } + control.8 { + iface MIXER + name 'MIC2 Volume' + value 15 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 31' + } + } + control.9 { + iface MIXER + name 'MIC1 Boost Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 2' + dbmin 0 + dbmax 3000 + dbvalue.0 0 + } + } + control.10 { + iface MIXER + name 'MIC2 Boost Volume' + value 1 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 2' + dbmin 0 + dbmax 3000 + dbvalue.0 2000 + } + } + control.11 { + iface MIXER + name 'INA Volume' + value 4 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + } + } + control.12 { + iface MIXER + name 'INB Volume' + value 4 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + } + } + control.13 { + iface MIXER + name 'ADCL Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + } + } + control.14 { + iface MIXER + name 'ADCR Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + } + } + control.15 { + iface MIXER + name 'ADCL Boost Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 3' + } + } + control.16 { + iface MIXER + name 'ADCR Boost Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 3' + } + } + control.17 { + iface MIXER + name 'EQ1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.18 { + iface MIXER + name 'EQ2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.19 { + iface MIXER + name 'EX Limiter Mode' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '100Hz' + item.2 '400Hz' + item.3 '600Hz' + item.4 '800Hz' + item.5 '1000Hz' + item.6 '200-400Hz' + item.7 '400-600Hz' + item.8 '400-800Hz' + } + } + control.20 { + iface MIXER + name 'EX Limiter Threshold' + value '0.6' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 '0.6' + item.1 '1.2' + item.2 '1.8' + item.3 '2.4' + item.4 '3.0' + item.5 '3.6' + item.6 '4.2' + item.7 '4.8' + } + } + control.21 { + iface MIXER + name 'DAI1 Filter Mode' + value Music + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Voice + item.1 Music + } + } + control.22 { + iface MIXER + name 'DAI1 DAC Filter' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 'fc=258/fs=16k' + item.2 'fc=500/fs=16k' + item.3 'fc=258/fs=8k' + item.4 'fc=500/fs=8k' + item.5 'fc=200' + } + } + control.23 { + iface MIXER + name 'DAI1 ADC Filter' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 'fc=258/fs=16k' + item.2 'fc=500/fs=16k' + item.3 'fc=258/fs=8k' + item.4 'fc=500/fs=8k' + item.5 'fc=200' + } + } + control.24 { + iface MIXER + name 'DAI2 DC Block Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.25 { + iface MIXER + name 'ALC Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.26 { + iface MIXER + name 'ALC Threshold' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + } + } + control.27 { + iface MIXER + name 'ALC Multiband' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.28 { + iface MIXER + name 'ALC Release Time' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + } + } + control.29 { + iface MIXER + name 'PWR Limiter Threshold' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + } + } + control.30 { + iface MIXER + name 'PWR Limiter Weight' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + } + } + control.31 { + iface MIXER + name 'PWR Limiter Time1' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + } + } + control.32 { + iface MIXER + name 'PWR Limiter Time2' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + } + } + control.33 { + iface MIXER + name 'THD Limiter Threshold' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + } + } + control.34 { + iface MIXER + name 'THD Limiter Time' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + } + } + control.35 { + iface MIXER + name 'REC Output Mode' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.36 { + iface MIXER + name 'Right ADC Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.37 { + iface MIXER + name 'Right ADC Mixer MIC2 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.38 { + iface MIXER + name 'Right ADC Mixer INA1 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.39 { + iface MIXER + name 'Right ADC Mixer INA2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.40 { + iface MIXER + name 'Right ADC Mixer INB1 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.41 { + iface MIXER + name 'Right ADC Mixer INB2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.42 { + iface MIXER + name 'Left ADC Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.43 { + iface MIXER + name 'Left ADC Mixer MIC2 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.44 { + iface MIXER + name 'Left ADC Mixer INA1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.45 { + iface MIXER + name 'Left ADC Mixer INA2 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.46 { + iface MIXER + name 'Left ADC Mixer INB1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.47 { + iface MIXER + name 'Left ADC Mixer INB2 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.48 { + iface MIXER + name 'Right REC Mixer Left DAC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.49 { + iface MIXER + name 'Right REC Mixer Right DAC1 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.50 { + iface MIXER + name 'Right REC Mixer Left DAC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.51 { + iface MIXER + name 'Right REC Mixer Right DAC2 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.52 { + iface MIXER + name 'Right REC Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.53 { + iface MIXER + name 'Right REC Mixer MIC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.54 { + iface MIXER + name 'Right REC Mixer INA1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.55 { + iface MIXER + name 'Right REC Mixer INA2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.56 { + iface MIXER + name 'Right REC Mixer INB1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.57 { + iface MIXER + name 'Right REC Mixer INB2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.58 { + iface MIXER + name 'Left REC Mixer Left DAC1 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.59 { + iface MIXER + name 'Left REC Mixer Right DAC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.60 { + iface MIXER + name 'Left REC Mixer Left DAC2 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.61 { + iface MIXER + name 'Left REC Mixer Right DAC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.62 { + iface MIXER + name 'Left REC Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.63 { + iface MIXER + name 'Left REC Mixer MIC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.64 { + iface MIXER + name 'Left REC Mixer INA1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.65 { + iface MIXER + name 'Left REC Mixer INA2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.66 { + iface MIXER + name 'Left REC Mixer INB1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.67 { + iface MIXER + name 'Left REC Mixer INB2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.68 { + iface MIXER + name 'Right SPK Mixer Left DAC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.69 { + iface MIXER + name 'Right SPK Mixer Right DAC1 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.70 { + iface MIXER + name 'Right SPK Mixer Left DAC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.71 { + iface MIXER + name 'Right SPK Mixer Right DAC2 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.72 { + iface MIXER + name 'Right SPK Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.73 { + iface MIXER + name 'Right SPK Mixer MIC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.74 { + iface MIXER + name 'Right SPK Mixer INA1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.75 { + iface MIXER + name 'Right SPK Mixer INA2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.76 { + iface MIXER + name 'Right SPK Mixer INB1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.77 { + iface MIXER + name 'Right SPK Mixer INB2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.78 { + iface MIXER + name 'Left SPK Mixer Left DAC1 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.79 { + iface MIXER + name 'Left SPK Mixer Right DAC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.80 { + iface MIXER + name 'Left SPK Mixer Left DAC2 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.81 { + iface MIXER + name 'Left SPK Mixer Right DAC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.82 { + iface MIXER + name 'Left SPK Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.83 { + iface MIXER + name 'Left SPK Mixer MIC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.84 { + iface MIXER + name 'Left SPK Mixer INA1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.85 { + iface MIXER + name 'Left SPK Mixer INA2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.86 { + iface MIXER + name 'Left SPK Mixer INB1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.87 { + iface MIXER + name 'Left SPK Mixer INB2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.88 { + iface MIXER + name 'Right HP Mixer Left DAC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.89 { + iface MIXER + name 'Right HP Mixer Right DAC1 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.90 { + iface MIXER + name 'Right HP Mixer Left DAC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.91 { + iface MIXER + name 'Right HP Mixer Right DAC2 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.92 { + iface MIXER + name 'Right HP Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.93 { + iface MIXER + name 'Right HP Mixer MIC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.94 { + iface MIXER + name 'Right HP Mixer INA1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.95 { + iface MIXER + name 'Right HP Mixer INA2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.96 { + iface MIXER + name 'Right HP Mixer INB1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.97 { + iface MIXER + name 'Right HP Mixer INB2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.98 { + iface MIXER + name 'Left HP Mixer Left DAC1 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.99 { + iface MIXER + name 'Left HP Mixer Right DAC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.100 { + iface MIXER + name 'Left HP Mixer Left DAC2 Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.101 { + iface MIXER + name 'Left HP Mixer Right DAC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.102 { + iface MIXER + name 'Left HP Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.103 { + iface MIXER + name 'Left HP Mixer MIC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.104 { + iface MIXER + name 'Left HP Mixer INA1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.105 { + iface MIXER + name 'Left HP Mixer INA2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.106 { + iface MIXER + name 'Left HP Mixer INB1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.107 { + iface MIXER + name 'Left HP Mixer INB2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } +} From 199ab73078ea983fcdfdd31c66dca75ca3c673af Mon Sep 17 00:00:00 2001 From: Arturo Buzarra Date: Tue, 21 Feb 2023 12:15:20 +0100 Subject: [PATCH 125/144] systemd-conf: rename Digi custom config file This custom config file applies not only the NXP platforms so this commit renames it. https://onedigi.atlassian.net/browse/DEL-8207 Signed-off-by: Arturo Buzarra --- .../systemd-conf/{system.conf-imx => system.conf-digi} | 0 meta-digi-dey/recipes-core/systemd/systemd-conf_%.bbappend | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) rename meta-digi-dey/recipes-core/systemd/systemd-conf/{system.conf-imx => system.conf-digi} (100%) diff --git a/meta-digi-dey/recipes-core/systemd/systemd-conf/system.conf-imx b/meta-digi-dey/recipes-core/systemd/systemd-conf/system.conf-digi similarity index 100% rename from meta-digi-dey/recipes-core/systemd/systemd-conf/system.conf-imx rename to meta-digi-dey/recipes-core/systemd/systemd-conf/system.conf-digi diff --git a/meta-digi-dey/recipes-core/systemd/systemd-conf_%.bbappend b/meta-digi-dey/recipes-core/systemd/systemd-conf_%.bbappend index 1e0083a50..d5c396446 100644 --- a/meta-digi-dey/recipes-core/systemd/systemd-conf_%.bbappend +++ b/meta-digi-dey/recipes-core/systemd/systemd-conf_%.bbappend @@ -1,11 +1,11 @@ -# Copyright (C) 2019,2020 by Digi International Inc. +# Copyright (C) 2019-2023 by Digi International Inc. FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" SRC_URI:append = " \ - file://system.conf-imx \ + file://system.conf-digi \ " do_install:append() { - install -D -m0644 ${WORKDIR}/system.conf-imx ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf + install -D -m0644 ${WORKDIR}/system.conf-digi ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf } From 0c214a39808a85be741a039ca302b6b0649330e9 Mon Sep 17 00:00:00 2001 From: Arturo Buzarra Date: Tue, 21 Feb 2023 12:28:19 +0100 Subject: [PATCH 126/144] systemd-conf: set actions to trigger on KEY_POWER events This commit adds a custom config file to handle the KEY_POWER events on systemd. https://onedigi.atlassian.net/browse/DEL-8207 Signed-off-by: Arturo Buzarra --- .../recipes-core/systemd/systemd-conf/logind.conf-digi | 3 +++ .../recipes-core/systemd/systemd-conf_%.bbappend | 8 ++++++++ 2 files changed, 11 insertions(+) create mode 100644 meta-digi-dey/recipes-core/systemd/systemd-conf/logind.conf-digi diff --git a/meta-digi-dey/recipes-core/systemd/systemd-conf/logind.conf-digi b/meta-digi-dey/recipes-core/systemd/systemd-conf/logind.conf-digi new file mode 100644 index 000000000..407116850 --- /dev/null +++ b/meta-digi-dey/recipes-core/systemd/systemd-conf/logind.conf-digi @@ -0,0 +1,3 @@ +[Login] +HandlePowerKey=suspend +HandlePowerKeyLongPress=poweroff diff --git a/meta-digi-dey/recipes-core/systemd/systemd-conf_%.bbappend b/meta-digi-dey/recipes-core/systemd/systemd-conf_%.bbappend index d5c396446..01735aaa4 100644 --- a/meta-digi-dey/recipes-core/systemd/systemd-conf_%.bbappend +++ b/meta-digi-dey/recipes-core/systemd/systemd-conf_%.bbappend @@ -6,6 +6,14 @@ SRC_URI:append = " \ file://system.conf-digi \ " +SRC_URI:append:ccmp1 = " \ + file://logind.conf-digi \ +" + do_install:append() { install -D -m0644 ${WORKDIR}/system.conf-digi ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf } + +do_install:append:ccmp1() { + install -D -m0644 ${WORKDIR}/logind.conf-digi ${D}${systemd_unitdir}/logind.conf.d/01-${PN}.conf +} From 82dc50b6efd60d750552a975d8dd968be48e5d82 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 21 Feb 2023 18:30:18 +0100 Subject: [PATCH 127/144] meta-digi: update layer to follow changes in meta-freescale Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/ccimx93-dvk.conf | 2 - meta-digi-arm/conf/machine/include/ccimx6.inc | 1 - .../conf/machine/include/ccimx6ul.inc | 2 - .../conf/machine/include/ccimx8m.inc | 3 -- .../conf/machine/include/ccimx8x.inc | 3 -- .../conf/machine/include/ccimx93.inc | 1 - .../conf/machine/include/imx-digi-base.inc | 22 ++++++++--- .../firmware-sentinel_0.8.bb | 25 ------------ .../recipes-bsp/imx-atf/imx-atf_2.6.bbappend | 4 +- .../imx-mkimage/imx-boot_1.0.bbappend | 32 --------------- .../imx-sc-firmware/imx-sc-firmware_1.15.0.bb | 39 ------------------- .../imx-g2d/imx-pxp-g2d_git.bb | 28 ------------- .../opencv/opencv_4.6.0.imx.bbappend | 5 --- .../wayland-protocols_1.25.imx.bbappend | 3 -- 14 files changed, 17 insertions(+), 153 deletions(-) delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-sentinel/firmware-sentinel_0.8.bb delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb delete mode 100644 meta-digi-arm/dynamic-layers/freescale-layer/recipes-support/opencv/opencv_4.6.0.imx.bbappend delete mode 100644 meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland-protocols_1.25.imx.bbappend diff --git a/meta-digi-arm/conf/machine/ccimx93-dvk.conf b/meta-digi-arm/conf/machine/ccimx93-dvk.conf index a0f50082a..f95d0ef09 100644 --- a/meta-digi-arm/conf/machine/ccimx93-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx93-dvk.conf @@ -17,8 +17,6 @@ KERNEL_DEVICETREE ?= " \ digi/_ov_som_wifi_ccimx93.dtbo \ " -SECO_FIRMWARE_NAME:mx9-nxp-bsp = "mx93a0-ahab-container.img" - # Remove additional bluetooth packages MACHINE_BLUETOOTH_EXTRA_INSTALL = "" diff --git a/meta-digi-arm/conf/machine/include/ccimx6.inc b/meta-digi-arm/conf/machine/include/ccimx6.inc index 39b6d8656..ee5a15621 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6.inc @@ -34,7 +34,6 @@ MACHINE_EXTRA_RDEPENDS += " \ MACHINE_EXTRA_RRECOMMENDS += " \ ${MACHINE_FIRMWARE} \ ${WIRELESS_MODULE} \ - ${@bb.utils.contains('COMBINED_FEATURES', 'alsa', 'imx-alsa-plugins', '', d)} \ " MACHINE_FEATURES += "accel-graphics wifi bluetooth pci" diff --git a/meta-digi-arm/conf/machine/include/ccimx6ul.inc b/meta-digi-arm/conf/machine/include/ccimx6ul.inc index 544d45655..961298911 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6ul.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6ul.inc @@ -32,9 +32,7 @@ MACHINE_EXTRA_RDEPENDS += " \ MACHINE_EXTRA_RRECOMMENDS += " \ ${MACHINE_FIRMWARE} \ ${WIRELESS_MODULE} \ - ${@bb.utils.contains('COMBINED_FEATURES', 'alsa', 'imx-alsa-plugins', '', d)} \ " -MACHINE_EXTRA_RRECOMMENDS:remove:use-mainline-bsp = "${@bb.utils.contains('COMBINED_FEATURES', 'alsa', 'imx-alsa-plugins', '', d)}" MACHINE_FEATURES += "wifi bluetooth cryptochip mca" MACHINE_FEATURES:remove:use-mainline-bsp = "wifi" diff --git a/meta-digi-arm/conf/machine/include/ccimx8m.inc b/meta-digi-arm/conf/machine/include/ccimx8m.inc index f02b9d3ed..843e919a9 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8m.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8m.inc @@ -53,9 +53,6 @@ MACHINE_EXTRA_RRECOMMENDS += " \ MACHINE_FEATURES += "accel-graphics wifi bluetooth cryptochip mca optee" -# AARCH64 doesn't support self-extracting zImage -KERNEL_IMAGETYPE = "Image.gz" - VIRTUAL-RUNTIME_init_manager ?= "systemd" VIRTUAL-RUNTIME_initscripts ?= "initscripts" diff --git a/meta-digi-arm/conf/machine/include/ccimx8x.inc b/meta-digi-arm/conf/machine/include/ccimx8x.inc index 6158874a3..1122374e5 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8x.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8x.inc @@ -70,9 +70,6 @@ MACHINE_EXTRA_RRECOMMENDS += " \ MACHINE_FEATURES += "accel-graphics wifi bluetooth cryptochip pci mca" -# AARCH64 doesn't support self-extracting zImage -KERNEL_IMAGETYPE = "Image.gz" - VIRTUAL-RUNTIME_init_manager ?= "systemd" VIRTUAL-RUNTIME_initscripts ?= "initscripts" diff --git a/meta-digi-arm/conf/machine/include/ccimx93.inc b/meta-digi-arm/conf/machine/include/ccimx93.inc index cbb267c6e..cea1f8798 100644 --- a/meta-digi-arm/conf/machine/include/ccimx93.inc +++ b/meta-digi-arm/conf/machine/include/ccimx93.inc @@ -33,7 +33,6 @@ STORAGE_MEDIA = "mmc" # Linux kernel configuration KERNEL_DEFCONFIG ?= "arch/arm64/configs/ccimx93_defconfig" -KERNEL_IMAGETYPE = "Image.gz" SPL_BINARY = "spl/u-boot-spl.bin" diff --git a/meta-digi-arm/conf/machine/include/imx-digi-base.inc b/meta-digi-arm/conf/machine/include/imx-digi-base.inc index ef2025517..5f5af3da8 100644 --- a/meta-digi-arm/conf/machine/include/imx-digi-base.inc +++ b/meta-digi-arm/conf/machine/include/imx-digi-base.inc @@ -41,6 +41,7 @@ DEFAULTTUNE:mx6-generic-bsp ?= "cortexa9thf-neon" DEFAULTTUNE:mx6ul-generic-bsp ?= "cortexa7thf-neon" DEFAULTTUNE:mx8m-generic-bsp ?= "cortexa53-crypto" DEFAULTTUNE:mx8x-generic-bsp ?= "cortexa35-crypto" +DEFAULTTUNE:mx93-generic-bsp ?= "cortexa55" INHERIT += "machine-overrides-extender" @@ -68,6 +69,7 @@ MACHINEOVERRIDES_EXTENDER:mx8mn:use-mainline-bsp = "imx-generic-bsp:imx-mainlin MACHINEOVERRIDES_EXTENDER:mx8mp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8m-generic-bsp:mx8m-mainline-bsp:mx8mp-generic-bsp:mx8mp-mainline-bsp" MACHINEOVERRIDES_EXTENDER:mx8qxp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8x-generic-bsp:mx8x-mainline-bsp:mx8qxp-generic-bsp:mx8qxp-mainline-bsp" MACHINEOVERRIDES_EXTENDER:mx8dx:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8x-generic-bsp:mx8x-mainline-bsp:mx8dx-generic-bsp:mx8dx-mainline-bsp" +MACHINEOVERRIDES_EXTENDER:mx93:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:imxdrm:imxpxp:mx9-generic-bsp:mx9-mainline-bsp:mx93-generic-bsp:mx93-mainline-bsp" MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \ mx6 \ @@ -186,7 +188,13 @@ IMX_EXTRA_FIRMWARE ?= "" IMX_EXTRA_FIRMWARE:mx8-generic-bsp = "firmware-imx-8 imx-sc-firmware imx-seco" IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "firmware-imx-8m" IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco" -IMX_EXTRA_FIRMWARE:mx9-nxp-bsp = "firmware-imx-9 firmware-sentinel" +IMX_EXTRA_FIRMWARE:mx93-generic-bsp = "firmware-imx-9 firmware-sentinel" + +# Extra audio support +IMX_ALSA_EXTRA = "" +IMX_ALSA_EXTRA:imx-nxp-bsp = "imx-alsa-plugins" +MACHINE_EXTRA_RRECOMMENDS:append:mx6-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}" +MACHINE_EXTRA_RRECOMMENDS:append:mx8-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}" # Extra udev rules MACHINE_EXTRA_RRECOMMENDS += "udev-extraconf udev-rules-imx" @@ -229,11 +237,11 @@ PREFERRED_PROVIDER_virtual/libgles2:imxgpu3d ?= "imx-gpu-viv" PREFERRED_PROVIDER_virtual/libgles3:imxgpu3d ?= "imx-gpu-viv" PREFERRED_PROVIDER_virtual/libg2d ?= "imx-gpu-g2d" PREFERRED_PROVIDER_virtual/libg2d:imxdpu ?= "imx-dpu-g2d" +PREFERRED_PROVIDER_virtual/libg2d:mx93-nxp-bsp ?= "imx-pxp-g2d" PREFERRED_PROVIDER_opencl-clhpp:imxgpu ?= "imx-gpu-viv" PREFERRED_PROVIDER_opencl-headers:imxgpu ?= "imx-gpu-viv" PREFERRED_PROVIDER_opencl-icd-loader:imxgpu ?= "imx-gpu-viv" PREFERRED_PROVIDER_virtual/opencl-icd:imxgpu ?= "imx-gpu-viv" -PREFERRED_PROVIDER_virtual/libg2d:mx93-nxp-bsp ?= "imx-pxp-g2d" PREFERRED_VERSION_weston:imx-nxp-bsp ??= "10.0.1.imx" PREFERRED_VERSION_weston:imx-mainline-bsp = "" @@ -254,19 +262,21 @@ PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.2.182.0" PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.2.182.0" # Use i.MX optee Version -PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "3.19.0.imx" -PREFERRED_VERSION_optee-client:mx9-nxp-bsp ??= "3.19.0.imx" PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "3.19.0.imx" PREFERRED_VERSION_optee-os:mx9-nxp-bsp ??= "3.19.0.imx" +PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "3.19.0.imx" +PREFERRED_VERSION_optee-client:mx9-nxp-bsp ??= "3.19.0.imx" PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "3.19.0.imx" PREFERRED_VERSION_optee-test:mx9-nxp-bsp ??= "3.19.0.imx" -#Use i.MX opencv Version for mx8 +# Use i.MX opencv Version PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.6.0.imx" +PREFERRED_VERSION_opencv:mx9-nxp-bsp ??= "4.6.0.imx" EXTRA_IMAGEDEPENDS += "u-boot" -KERNEL_IMAGETYPE ?= "zImage" +KERNEL_IMAGETYPE = "zImage" +KERNEL_IMAGETYPE:aarch64 = "Image.gz" MACHINE_FEATURES = "usbgadget usbhost vfat alsa touchscreen" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-sentinel/firmware-sentinel_0.8.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-sentinel/firmware-sentinel_0.8.bb deleted file mode 100644 index bd070f165..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-sentinel/firmware-sentinel_0.8.bb +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 2021-2022 NXP -SUMMARY = "NXP i.MX Sentinel firmware" -DESCRIPTION = "Firmware for i.MX Sentinel Security Controller" -SECTION = "base" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" - -inherit fsl-eula-unpack use-imx-security-controller-firmware deploy - -SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" -SRC_URI[md5sum] = "be47a5e59c1192ee36246af97d5d1532" -SRC_URI[sha256sum] = "1003d4c6773c153ea341911a74e25c249423644f70f3d8f8d085599e00770b3f" - -do_compile[noexec] = "1" - -do_install() { -} - -do_deploy () { - # Deploy the related firmware to be package by imx-boot - install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR} -} -addtask deploy after do_install before do_build - -COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx9-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.6.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.6.bbappend index e349dfb49..8eeba6d29 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.6.bbappend +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.6.bbappend @@ -1,4 +1,4 @@ -# Copyright (C) 2022 Digi International +# Copyright (C) 2022,2023 Digi International FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" @@ -18,5 +18,3 @@ do_deploy:append() { install -m 0644 ${S}/build-optee/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${ATF_PLATFORM}.bin-optee fi } - -COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend index 6163544ff..5b93391e8 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend @@ -9,8 +9,6 @@ SRC_URI:append = " \ DEPENDS += "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', 'trustfence-sign-tools-native', '', d)}" -SOC_FAMILY:mx9-nxp-bsp = "mx93" - # Do not tag imx-boot UUU_BOOTLOADER = "" UUU_BOOTLOADER_TAGGED = "" @@ -22,39 +20,11 @@ compile_mx8m:append:ccimx8m() { fi } -compile_mx93() { - bbnote "i.MX 93 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}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}/ - cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin - cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin - if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then - cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ${BOOT_STAGING}/u-boot-spl.bin - fi -} - do_compile:append:ccimx8m() { bbnote "building ${IMX_BOOT_SOC_TARGET} - print_fit_hab" make SOC=${IMX_BOOT_SOC_TARGET} dtbs=${UBOOT_DTB_NAME} print_fit_hab } -deploy_mx93() { - install -d ${DEPLOYDIR}/${BOOT_TOOLS} - for ddr_firmware in ${DDR_FIRMWARE_NAME}; do - install -m 0644 ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${DEPLOYDIR}/${BOOT_TOOLS} - done - - install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} - install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} - if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ]; then - install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ${DEPLOYDIR}/${BOOT_TOOLS} - fi -} - do_deploy:append() { # imx-boot recipe in meta-freescale assumes only *one* build configuration # (otherwise variable BOOT_CONFIG_MACHINE would expand to something incorrect) @@ -93,5 +63,3 @@ trustfence_sign_imxboot() { } trustfence_sign_imxboot[dirs] = "${DEPLOYDIR}" trustfence_sign_imxboot[vardeps] += "TRUSTFENCE_SIGN_KEYS_PATH TRUSTFENCE_KEY_INDEX TRUSTFENCE_DEK_PATH TRUSTFENCE_SIGN_MODE TRUSTFENCE_SRK_REVOKE_MASK TRUSTFENCE_UNLOCK_KEY_REVOCATION" - -COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb deleted file mode 100644 index 147080f45..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.15.0.bb +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright (C) 2016 Freescale Semiconductor -# Copyright 2017-2022 NXP - -DESCRIPTION = "i.MX System Controller Firmware" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" -SECTION = "BSP" - -inherit fsl-eula2-unpack2 pkgconfig deploy - -SRC_URI[md5sum] = "d608eb2b3d312da1dbde55b8514c1e0f" -SRC_URI[sha256sum] = "1272ac5c31a88017ef548721f3acf930a7eda6ac73aa9f41b5f0cade9d5c0e5f" - -BOARD_TYPE ?= "mek" -SC_FIRMWARE_NAME ?= "INVALID" -SC_FIRMWARE_NAME:mx8qm-nxp-bsp = "mx8qm-${BOARD_TYPE}-scfw-tcm.bin" -SC_FIRMWARE_NAME:mx8qxp-nxp-bsp = "mx8qx-${BOARD_TYPE}-scfw-tcm.bin" -SC_FIRMWARE_NAME:mx8dxl-nxp-bsp = "mx8dxl-${BOARD_TYPE}-scfw-tcm.bin" -SC_FIRMWARE_NAME:mx8dx-nxp-bsp = "mx8dx-${BOARD_TYPE}-scfw-tcm.bin" - -symlink_name = "scfw_tcm.bin" - -BOOT_TOOLS = "imx-boot-tools" - -do_compile[noexec] = "1" - -do_install[noexec] = "1" - -do_deploy() { - install -Dm 0644 ${S}/${SC_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} - ln -sf ${SC_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/${symlink_name} -} -addtask deploy after do_install - -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" -PACKAGE_ARCH = "${MACHINE_ARCH}" - -COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dxl-nxp-bsp|mx8dx-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb deleted file mode 100644 index fbf56e0ca..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright (C) 2016 Freescale Semiconductor -# Copyright 2017-2022 NXP -# Released under the MIT license (see COPYING.MIT for the terms) - -DESCRIPTION = "G2D library using i.MX PXP" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://EULA.txt;md5=d3c315c6eaa43e07d8c130dc3a04a011" - -PROVIDES += "virtual/libg2d" - -PV = "2.1.0+git${SRCPV}" - -SRC_URI = "${IMX_PXP_G2D_SRC};branch=${SRCBRANCH}" -IMX_PXP_G2D_SRC ?= "git://github.com/nxp-imx/imx-g2d-pxp.git;protocol=https" -SRCBRANCH ?= "imx_2.1" -SRCREV = "178970dc7cdba69b94c2219b5bade46d67adb640" - -S = "${WORKDIR}/git" - -inherit use-imx-headers - -EXTRA_OEMAKE = "PLATFORM=IMX93 INCLUDE='-I${STAGING_INCDIR_IMX}' DEST_DIR=${D}" - -do_install() { - oe_runmake install -} - -COMPATIBLE_MACHINE = "(mx93-nxp-bsp)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-support/opencv/opencv_4.6.0.imx.bbappend b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-support/opencv/opencv_4.6.0.imx.bbappend deleted file mode 100644 index 34126bfc5..000000000 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-support/opencv/opencv_4.6.0.imx.bbappend +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright (c) 2023, Digi International Inc. - -PACKAGECONFIG:append:mx9-nxp-bsp = " dnn text" - -COMPATIBLE_MACHINE = "(mx8-nxp-bsp|mx9-nxp-bsp)" diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland-protocols_1.25.imx.bbappend b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland-protocols_1.25.imx.bbappend deleted file mode 100644 index 458087426..000000000 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/wayland-protocols_1.25.imx.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -# Copyright (C) 2023 Digi International - -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" From 93ea42e229a49d8f5e74af535f8d67bd6ac29024 Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Wed, 15 Feb 2023 13:32:17 +0100 Subject: [PATCH 128/144] build.sh: add support to generate Vigiles reports in automated builds This adds two new options: * One to generate a Vigiles CVE report along with a build * One to include the meta-digi-security layer in a build Signed-off-by: Gabriel Valcazar --- sdk/build.sh | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/sdk/build.sh b/sdk/build.sh index d3eceae48..0c9cc6865 100755 --- a/sdk/build.sh +++ b/sdk/build.sh @@ -3,7 +3,7 @@ # # build.sh # -# Copyright (C) 2013-2022 by Digi International Inc. +# Copyright (C) 2013-2023 by Digi International Inc. # All rights reserved. # # This program is free software; you can redistribute it and/or modify it @@ -22,6 +22,9 @@ # DY_RM_WORK: Remove the package working folders to save disk space. # DY_TARGET: Target image (the default is 'dey-image-qt') # DY_USE_MIRROR: Use internal Digi mirror to download packages +# DY_CVE_REPORT: Generate Vigiles CVE report +# DY_VIGILES_DIR: Path to Vigiles configuration files on the build server +# DY_USE_CVE_LAYER: Apply meta-digi-security layer with CVE fixes # #=============================================================================== @@ -42,6 +45,13 @@ INHERIT += \"rm_work\" RM_WORK_EXCLUDE += \"dey-image-qt dey-image-webkit linux-dey qtbase u-boot-dey\" " +VIGILES_CFG=" +VIGILES_KEY_FILE = \"${DY_VIGILES_DIR}/linuxlink_key.json\" +VIGILES_DASHBOARD_CONFIG = \"##VIGILES_CONF_PATH##\" +VIGILES_SUBFOLDER_NAME = \"${DY_REVISION}\" +INHERIT += \"vigiles\" +" + ZIP_INSTALLER_CFG=" DEY_IMAGE_INSTALLER = \"1\" " @@ -150,6 +160,11 @@ if [ -n "${DY_MACHINES_LAYER}" ]; then MACHINES_LAYER="-m ${DY_MACHINES_LAYER}" fi +[ -z "${DY_CVE_REPORT}" ] && DY_CVE_REPORT="false" +[ -z "${DY_USE_CVE_LAYER}" ] && DY_USE_CVE_LAYER="false" + +[ "${DY_CVE_REPORT}" = "true" ] && [ -z "${DY_VIGILES_DIR}" ] && error "DY_VIGILES_DIR not specified" + # Per-platform data while read -r _pl _tgt; do # shellcheck disable=SC2015 @@ -264,6 +279,18 @@ for platform in ${DY_PLATFORMS}; do if [ "${DY_MFG_IMAGE}" = "true" ] && ! grep -qs "meta-digi-mfg" conf/bblayers.conf; then sed -i -e "/meta-digi-dey/a\ ${YOCTO_INST_DIR}/sources/meta-digi-mfg \\\\" conf/bblayers.conf fi + # If we want to generate a CVE report, update conf/local.conf + if [ "${DY_CVE_REPORT}" = "true" ]; then + # Build Vigiles config path using platform and patch status + status="non-patched" + [ "${DY_USE_CVE_LAYER}" = "true" ] && status="patched" + VIGILES_CONF_PATH="${DY_VIGILES_DIR}/configs/${platform}_${status}_config" + # Return error if config file doesn't exist + if [ ! -f "${VIGILES_CONF_PATH}" ] && error "Cannot find Vigiles config file ${VIGILES_CONF_PATH}" + printf "%s" "${VIGILES_CFG}" | sed -e "s,##VIGILES_CONF_PATH##,${VIGILES_CONF_PATH},g" >> conf/local.conf + fi + # Apply CVE layer if needed + [ "${DY_USE_CVE_LAYER}" = "true" ] && bitbake-layers add-layer ${YOCTO_INST_DIR}/sources/meta-digi-security printf "\n[INFO] Show customized local.conf.\n" cat conf/local.conf From 08abcb542da71b8b25e2cd3a96bccad3bb52699b Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Wed, 22 Feb 2023 17:34:14 +0100 Subject: [PATCH 129/144] build.sh: remove spurious "if" This was left by accident and causes the script to fail Signed-off-by: Gabriel Valcazar --- sdk/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/build.sh b/sdk/build.sh index 0c9cc6865..34a80ebac 100755 --- a/sdk/build.sh +++ b/sdk/build.sh @@ -286,7 +286,7 @@ for platform in ${DY_PLATFORMS}; do [ "${DY_USE_CVE_LAYER}" = "true" ] && status="patched" VIGILES_CONF_PATH="${DY_VIGILES_DIR}/configs/${platform}_${status}_config" # Return error if config file doesn't exist - if [ ! -f "${VIGILES_CONF_PATH}" ] && error "Cannot find Vigiles config file ${VIGILES_CONF_PATH}" + [ ! -f "${VIGILES_CONF_PATH}" ] && error "Cannot find Vigiles config file ${VIGILES_CONF_PATH}" printf "%s" "${VIGILES_CFG}" | sed -e "s,##VIGILES_CONF_PATH##,${VIGILES_CONF_PATH},g" >> conf/local.conf fi # Apply CVE layer if needed From 219d19b91a926db156acd98a0892afd856108d70 Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Wed, 22 Feb 2023 16:05:04 +0100 Subject: [PATCH 130/144] ccmp13: add DT overlays for the PWM8 and USART3 for the CCMP13-DVK Signed-off-by: Mike Engel --- meta-digi-arm/conf/machine/ccmp13-dvk.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-digi-arm/conf/machine/ccmp13-dvk.conf b/meta-digi-arm/conf/machine/ccmp13-dvk.conf index 9df9b3006..3faa3c3d2 100644 --- a/meta-digi-arm/conf/machine/ccmp13-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp13-dvk.conf @@ -39,6 +39,8 @@ STM32MP_KERNEL_DEVICETREE:ccmp13-dvk += " \ _ov_board_mikroe-accel2-click_ccmp13-dvk.dtbo \ _ov_board_mikroe-gyro-click_ccmp13-dvk.dtbo \ _ov_board_mikroe-i2c-to-spi-click_ccmp13-dvk.dtbo \ + _ov_board_pwm8_ccmp13-dvk.dtbo \ + _ov_board_usart3_ccmp13-dvk.dtbo \ _ov_som_bt_ccmp13.dtbo \ _ov_som_wifi_ccmp13.dtbo \ " From d27202ac5be451b55b0d7ff5ca3afa09d4d2677b Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Thu, 23 Feb 2023 15:00:49 +0100 Subject: [PATCH 131/144] dey.conf: include poky.conf to remove duplicated code No functional change, just include poky.conf (which is the base for our distro) and then remove all the code that is duplicated. Signed-off-by: Javier Viguera --- meta-digi-dey/conf/distro/dey.conf | 56 ++---------------------------- 1 file changed, 3 insertions(+), 53 deletions(-) diff --git a/meta-digi-dey/conf/distro/dey.conf b/meta-digi-dey/conf/distro/dey.conf index b127a6f24..5bcf54c48 100644 --- a/meta-digi-dey/conf/distro/dey.conf +++ b/meta-digi-dey/conf/distro/dey.conf @@ -1,24 +1,19 @@ +require conf/distro/poky.conf + DISTRO = "dey" DISTRO_NAME = "Digi Embedded Yocto" DISTRO_VERSION = "4.0-r1" -DISTRO_CODENAME = "kirkstone" + SDK_VENDOR = "-deysdk" -SDK_VERSION := "${@d.getVar('DISTRO_VERSION')}" -SDK_VERSION[vardepvalue] = "${SDK_VERSION}" MAINTAINER = "Digi Support " TARGET_VENDOR = "-dey" -LOCALCONF_VERSION = "2" - -# Override these in poky based distros POKY_DEFAULT_DISTRO_FEATURES = "largefile opengl ptest multiarch wayland bluez5 cellular" POKY_DEFAULT_EXTRA_RDEPENDS = "packagegroup-dey-core" POKY_DEFAULT_EXTRA_RRECOMMENDS = "" -DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}" - # Removed DISTRO_FEATURES # 'wayland' -> only supported on the i.MX8 QXP # 'ptest' -> fails to build QT5 toolchain @@ -50,9 +45,6 @@ FEATURE_PACKAGES_dey-wireless = "packagegroup-dey-wireless" # 5.65 version should be used, which is provided by the poky layer. PREFERRED_VERSION_bluez5 ?= "5.65" -PREFERRED_VERSION_linux-yocto ?= "5.15%" -PREFERRED_VERSION_linux-yocto-rt ?= "5.15%" - # There's a generic opencl-headers recipe in the thud branch of # meta-openembedded, but we should use the package provided by the imx-gpu-viv # recipe in case there are NXP-specific changes in it @@ -61,49 +53,7 @@ PREFERRED_PROVIDER_opencl-headers ?= "imx-gpu-viv" # Use the FDO backend for WPE WebKit PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-fdo" -SDK_NAME = "${DISTRO}-${TCLIBC}-${SDKMACHINE}-${IMAGE_BASENAME}-${TUNE_PKGARCH}-${MACHINE}" SDKPATHINSTALL = "/opt/${DISTRO}/${SDK_VERSION}/${MACHINE}" -DISTRO_EXTRA_RDEPENDS += "${POKY_DEFAULT_EXTRA_RDEPENDS}" -DISTRO_EXTRA_RRECOMMENDS += "${POKY_DEFAULT_EXTRA_RRECOMMENDS}" - -TCLIBCAPPEND = "" - # Some packages need this (e.g. gstreamer1.0-plugins-ugly) LICENSE_FLAGS_ACCEPTED += "commercial" - -SANITY_TESTED_DISTROS ?= " \ - poky-3.3 \n \ - poky-3.4 \n \ - ubuntu-16.04 \n \ - ubuntu-18.04 \n \ - ubuntu-20.04 \n \ - ubuntu-21.10 \n \ - ubuntu-22.04 \n \ - fedora-34 \n \ - fedora-35 \n \ - centos-7 \n \ - centos-8 \n \ - debian-9 \n \ - debian-10 \n \ - debian-11 \n \ - opensuseleap-15.3 \n \ - almalinux-8.5 \n \ - " -# add poky sanity bbclass -INHERIT += "poky-sanity" - -# QA check settings - a little stricter than the OE-Core defaults -# (none currently necessary as we now match OE-Core) -#WARN_TO_ERROR_QA = "X" -#WARN_QA:remove = "${WARN_TO_ERROR_QA}" -#ERROR_QA:append = " ${WARN_TO_ERROR_QA}" - -require conf/distro/include/poky-world-exclude.inc -require conf/distro/include/no-static-libs.inc -require conf/distro/include/yocto-uninative.inc -require conf/distro/include/security_flags.inc -INHERIT += "uninative" - -BB_SIGNATURE_HANDLER ?= "OEEquivHash" -BB_HASHSERVE ??= "auto" From 80578a2bd0c9d7603c37af985eb59cc67ea2bce5 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Thu, 23 Feb 2023 15:01:19 +0100 Subject: [PATCH 132/144] meta-digi: use INIT_MANAGER to configure init system manager This variable introduced in Yocto 3.0 is the recommended way to configure the init manager. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/ccmp13-dvk.conf | 6 ------ meta-digi-arm/conf/machine/ccmp15-dvk.conf | 6 ------ meta-digi-arm/conf/machine/include/ccimx6ul.inc | 3 +++ meta-digi-arm/conf/machine/include/ccimx8m.inc | 4 ---- meta-digi-arm/conf/machine/include/ccimx8x.inc | 4 ---- meta-digi-arm/conf/machine/include/ccimx93.inc | 5 ----- meta-digi-dey/conf/distro/dey.conf | 3 +++ .../packagegroups/packagegroup-dey-core.bb | 15 ++++++++------- 8 files changed, 14 insertions(+), 32 deletions(-) diff --git a/meta-digi-arm/conf/machine/ccmp13-dvk.conf b/meta-digi-arm/conf/machine/ccmp13-dvk.conf index 3faa3c3d2..99a9352e3 100644 --- a/meta-digi-arm/conf/machine/ccmp13-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp13-dvk.conf @@ -166,12 +166,6 @@ DISTRO_FEATURES:append = " initrd " # add support to pulseaudio DISTRO_FEATURES:append = "pulseaudio" -# Disabling sysvinit -DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit" - -VIRTUAL-RUNTIME_init_manager ?= "systemd" -VIRTUAL-RUNTIME_initscripts ?= "initscripts" - # Disable use of vendorfs partition ST_VENDORFS = "0" diff --git a/meta-digi-arm/conf/machine/ccmp15-dvk.conf b/meta-digi-arm/conf/machine/ccmp15-dvk.conf index 0553f3a69..1daf35bfd 100644 --- a/meta-digi-arm/conf/machine/ccmp15-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp15-dvk.conf @@ -176,12 +176,6 @@ DISTRO_FEATURES:append = " initrd " # add support to pulseaudio DISTRO_FEATURES:append = "pulseaudio" -# Disabling sysvinit -DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit" - -VIRTUAL-RUNTIME_init_manager ?= "systemd" -VIRTUAL-RUNTIME_initscripts ?= "initscripts" - # Disable use of vendorfs partition ST_VENDORFS = "0" diff --git a/meta-digi-arm/conf/machine/include/ccimx6ul.inc b/meta-digi-arm/conf/machine/include/ccimx6ul.inc index 961298911..c0bcd782f 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6ul.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6ul.inc @@ -8,6 +8,9 @@ MACHINEOVERRIDES =. "mx6:mx6ul:${DIGI_FAMILY}:" include conf/machine/include/imx-digi-base.inc include conf/machine/include/arm/armv7a/tune-cortexa7.inc +# Override default init manager from distro config +INIT_MANAGER ?= "sysvinit" + # Platform u-boot settings UBOOT_PREFIX = "u-boot" UBOOT_SUFFIX = "imx" diff --git a/meta-digi-arm/conf/machine/include/ccimx8m.inc b/meta-digi-arm/conf/machine/include/ccimx8m.inc index 843e919a9..aed474ebe 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8m.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8m.inc @@ -53,16 +53,12 @@ MACHINE_EXTRA_RRECOMMENDS += " \ MACHINE_FEATURES += "accel-graphics wifi bluetooth cryptochip mca optee" -VIRTUAL-RUNTIME_init_manager ?= "systemd" -VIRTUAL-RUNTIME_initscripts ?= "initscripts" - # TrustFence TRUSTFENCE_SIGN_MODE = "HAB" # Adding 'wayland' along with 'x11' enables the xwayland backend # Vulkan is necessary for wayland to build DISTRO_FEATURES:append = " wayland vulkan systemd pam" -DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" # SWUpdate sw-description configuration BOOTFS_EXT ?= ".boot.vfat" diff --git a/meta-digi-arm/conf/machine/include/ccimx8x.inc b/meta-digi-arm/conf/machine/include/ccimx8x.inc index 1122374e5..c768ed1ea 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8x.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8x.inc @@ -70,16 +70,12 @@ MACHINE_EXTRA_RRECOMMENDS += " \ MACHINE_FEATURES += "accel-graphics wifi bluetooth cryptochip pci mca" -VIRTUAL-RUNTIME_init_manager ?= "systemd" -VIRTUAL-RUNTIME_initscripts ?= "initscripts" - # TrustFence TRUSTFENCE_SIGN_MODE = "AHAB" # Adding 'wayland' along with 'x11' enables the xwayland backend # Vulkan is necessary for wayland to build DISTRO_FEATURES:append = " wayland vulkan systemd pam" -DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" # SWUpdate sw-description configuration BOOTFS_EXT ?= ".boot.vfat" diff --git a/meta-digi-arm/conf/machine/include/ccimx93.inc b/meta-digi-arm/conf/machine/include/ccimx93.inc index cea1f8798..f43cd64f8 100644 --- a/meta-digi-arm/conf/machine/include/ccimx93.inc +++ b/meta-digi-arm/conf/machine/include/ccimx93.inc @@ -55,11 +55,6 @@ BT_TTY ?= "ttyLP0" # Add additional firmware MACHINE_FIRMWARE:append = " ethos-u-firmware" -# Use systemd as default init manager -DISTRO_FEATURES:append = " systemd" -VIRTUAL-RUNTIME_init_manager ?= "systemd" -DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" - # Adding 'wayland' along with 'x11' enables the xwayland backend DISTRO_FEATURES:append = " wayland pam" diff --git a/meta-digi-dey/conf/distro/dey.conf b/meta-digi-dey/conf/distro/dey.conf index 5bcf54c48..30178dd18 100644 --- a/meta-digi-dey/conf/distro/dey.conf +++ b/meta-digi-dey/conf/distro/dey.conf @@ -57,3 +57,6 @@ SDKPATHINSTALL = "/opt/${DISTRO}/${SDK_VERSION}/${MACHINE}" # Some packages need this (e.g. gstreamer1.0-plugins-ugly) LICENSE_FLAGS_ACCEPTED += "commercial" + +# Use systemd init manager by default +INIT_MANAGER ?= "systemd" diff --git a/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb b/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb index 1df33d00f..ec99cbc41 100644 --- a/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb +++ b/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb @@ -20,15 +20,19 @@ VIRTUAL-RUNTIME_base-utils-acpid ?= "busybox-acpid" VIRTUAL-RUNTIME_base-utils-hwclock ?= "busybox-hwclock" VIRTUAL-RUNTIME_base-utils-syslog ?= "busybox-syslog" VIRTUAL-RUNTIME_dev_manager ?= "udev" -VIRTUAL-RUNTIME_init_manager ?= "sysvinit" -VIRTUAL-RUNTIME_initscripts ?= "initscripts" VIRTUAL-RUNTIME_keymaps ?= "keymaps" -VIRTUAL-RUNTIME_login_manager ?= "" VIRTUAL-RUNTIME_passwd_manager ?= "shadow" # Set virtual runtimes depending on X11 feature VIRTUAL-RUNTIME_touchscreen ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'tslib-calibrate tslib-tests', d)}" +SYSVINIT_SCRIPTS = " \ + ${@bb.utils.contains('MACHINE_FEATURES', 'rtc', '${VIRTUAL-RUNTIME_base-utils-hwclock}', '', d)} \ + modutils-initscripts \ + ${VIRTUAL-RUNTIME_base-utils-acpid} \ + ${VIRTUAL-RUNTIME_initscripts} \ +" + RDEPENDS:${PN} = "\ base-files \ base-passwd \ @@ -38,14 +42,12 @@ RDEPENDS:${PN} = "\ dualboot \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'firmwared', '',d)} \ ${@bb.utils.contains("MACHINE_FEATURES", "keyboard", "${VIRTUAL-RUNTIME_keymaps}", "", d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', bb.utils.contains("MACHINE_FEATURES", "rtc", "${VIRTUAL-RUNTIME_base-utils-hwclock}", "", d), d)} \ ${@bb.utils.contains("MACHINE_FEATURES", "touchscreen", "${VIRTUAL-RUNTIME_touchscreen}", "",d)} \ init-ifupdown \ libdigiapix \ libgpiod \ libgpiod-tools \ libubootenv-bin \ - modutils-initscripts \ netbase \ networkmanager \ networkmanager-nmcli \ @@ -56,10 +58,9 @@ RDEPENDS:${PN} = "\ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'system-monitor', '',d)} \ usbutils \ ${VIRTUAL-RUNTIME_base-utils} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '${VIRTUAL-RUNTIME_base-utils-acpid}', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${SYSVINIT_SCRIPTS}', '', d)} \ ${VIRTUAL-RUNTIME_dev_manager} \ ${VIRTUAL-RUNTIME_init_manager} \ - ${VIRTUAL-RUNTIME_initscripts} \ ${VIRTUAL-RUNTIME_login_manager} \ ${VIRTUAL-RUNTIME_passwd_manager} \ ${VIRTUAL-RUNTIME_update-alternatives} \ From 711d9b5883146d5074ce1bdd5c1a1562ce3afac6 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Thu, 23 Feb 2023 15:01:50 +0100 Subject: [PATCH 133/144] meta-digi-dey: add missing runtime dependence for some packages Packages bluez5-init, cloudconnector, and connectcore-demo-example-webkit provide a launcher script that is used regardless of the init system being systemd or sysvinit. Those launcher scripts use the '/etc/init.d/functions' file, which is provided by the 'initscripts-functions' runtime package, so add that runtime dependence. Signed-off-by: Javier Viguera --- .../connectcore-demo-example-webkit.bb | 5 ++++- meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb | 3 +++ .../recipes-digi/cloudconnector/cloudconnector_git.bb | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit.bb b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit.bb index 5edebf153..41c370e59 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit.bb +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-digi/connectcore-demo-example-webkit/connectcore-demo-example-webkit.bb @@ -42,7 +42,10 @@ FILES:${PN}:append = " \ ${sysconfdir}/init.d/connectcore-demo-example \ " -RDEPENDS:${PN} += " cog" +RDEPENDS:${PN} += "cog" + +# 'connectcore-demo-example-init' script uses '/etc/init.d/functions' +RDEPENDS:${PN} += "initscripts-functions" INITSCRIPT_PACKAGES += "${PN}" INITSCRIPT_NAME:${PN} = "connectcore-demo-example" diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb b/meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb index c65d68336..a6cd7ee41 100644 --- a/meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb +++ b/meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb @@ -55,5 +55,8 @@ INITSCRIPT_PARAMS:${PN} = "start 19 2 3 4 5 . stop 21 0 1 6 ." SYSTEMD_SERVICE:${PN} = "bluetooth-init.service" +# 'bluetooth-init' script uses '/etc/init.d/functions' +RDEPENDS:${PN} = "initscripts-functions" + PACKAGE_ARCH = "${MACHINE_ARCH}" COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul|ccimx8x|ccimx8mn|ccimx8mm)" diff --git a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb index 58736e463..1b1b99533 100644 --- a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb +++ b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb @@ -73,5 +73,8 @@ CONFFILES:${PN} += "${sysconfdir}/cc.conf" RDEPENDS:${PN} = "${PN}-cert" +# 'cloud-connector-init' script uses '/etc/init.d/functions' +RDEPENDS:${PN} += "initscripts-functions" + # Disable extra compilation checks from SECURITY_CFLAGS to avoid build errors lcl_maybe_fortify:pn-cloudconnector = "" From 03eb84c61eb08b16f5779733e2a7afb780437a02 Mon Sep 17 00:00:00 2001 From: Isaac Hermida Date: Thu, 23 Feb 2023 19:13:56 +0100 Subject: [PATCH 134/144] remove cryptodev support The SW encryption is much faster than decicated HW in our platforms. The HW encryption is limited to the use of CAAM which is used through blob calls, therefore the cryptodev module is not required. https://onedigi.atlassian.net/browse/DEL-8371 Signed-off-by: Isaac Hermida --- .../recipes-kernel/cryptodev/cryptodev-module_%.bbappend | 3 --- .../recipes-core/packagegroups/packagegroup-dey-core.bb | 1 - 2 files changed, 4 deletions(-) delete mode 100644 meta-digi-arm/recipes-kernel/cryptodev/cryptodev-module_%.bbappend diff --git a/meta-digi-arm/recipes-kernel/cryptodev/cryptodev-module_%.bbappend b/meta-digi-arm/recipes-kernel/cryptodev/cryptodev-module_%.bbappend deleted file mode 100644 index 23c454024..000000000 --- a/meta-digi-arm/recipes-kernel/cryptodev/cryptodev-module_%.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -# Copyright (C) 2016-2017 Digi International Inc. - -KERNEL_MODULE_AUTOLOAD = "cryptodev" diff --git a/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb b/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb index ec99cbc41..20a1a6e4c 100644 --- a/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb +++ b/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb @@ -38,7 +38,6 @@ RDEPENDS:${PN} = "\ base-passwd \ connectcore-demo-example \ cloudconnector \ - cryptodev-module \ dualboot \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'firmwared', '',d)} \ ${@bb.utils.contains("MACHINE_FEATURES", "keyboard", "${VIRTUAL-RUNTIME_keymaps}", "", d)} \ From ef8475253927b29b4f2ff204a0737f66b1716fd9 Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Thu, 23 Feb 2023 19:15:02 +0100 Subject: [PATCH 135/144] sdk: dey-image-webkit: fix creation of dey-image-webkit toolchain 'do_populate_sdk' for dey-image-webkit was not working because of package nghttp2: DNF version: 4.11.1 --> Starting dependency resolution --> Finished dependency resolution Error: Problem: package nghttp2-dev-1.47.0-r0.1.cortexa53_crypto requires nghttp2 = 1.47.0-r0.1, but none of the providers can be installed conflicting requests nothing provides nghttp2-client >= 1.47.0 needed by nghttp2-1.47.0-r0.1.cortexa53_crypto nothing provides nghttp2-server >= 1.47.0 needed by nghttp2-1.47.0-r0.1.cortexa53_crypto(try to add '--skip-broken' to skip uninstallable packages) ERROR: Logfile of failure stored in: proj/ccimx8mm-dvk/tmp/work/ccimx8mm_dvk-dey-linux/dey-image-webkit/1.0-r0/temp/log.do_populate_sdk.2923894 ERROR: Task (dey/4.0/sources/meta-digi/meta-digi-dey/dynamic-layers/webkit/recipes-core/images/dey-image-webkit.bb:do_populate_sdk) failed with exit code '1' This commit creates a bbapend to allow empty 'nghttp2-client' and 'nghttp2-server' packages because 'nghttp2-dev' depends on 'nghttp2' that depends on '${PN}-client (>= ${PV}) ${PN}-proxy (>= ${PV}) ${PN}-server (>= ${PV})' per the recipe at poky. https://onedigi.atlassian.net/browse/DEL-8380 Signed-off-by: Tatiana Leon --- meta-digi-dey/recipes-support/nghttp2/nghttp2_%.bbappend | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 meta-digi-dey/recipes-support/nghttp2/nghttp2_%.bbappend diff --git a/meta-digi-dey/recipes-support/nghttp2/nghttp2_%.bbappend b/meta-digi-dey/recipes-support/nghttp2/nghttp2_%.bbappend new file mode 100644 index 000000000..b7dbdad49 --- /dev/null +++ b/meta-digi-dey/recipes-support/nghttp2/nghttp2_%.bbappend @@ -0,0 +1,4 @@ +# Copyright (C) 2023 Digi International Inc. + +ALLOW_EMPTY:${PN}-client = "1" +ALLOW_EMPTY:${PN}-server = "1" From 4e22f037f717ad211da9deebcdefbc4f534ab118 Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Mon, 20 Feb 2023 15:12:01 +0100 Subject: [PATCH 136/144] ccmp15: set 'dey-image-webkit' as default image instead of 'dey-image-qt' This commit also replaces 'dey-image-qt' with 'dey-image-webkit' on build scripts. Signed-off-by: Tatiana Leon --- meta-digi-arm/conf/machine/ccmp15-dvk.conf | 3 +++ sdk/build-github.sh | 4 ++-- sdk/build.sh | 2 +- sdk/config/ccmp15-dvk/conf-notes.txt | 5 +++++ 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/meta-digi-arm/conf/machine/ccmp15-dvk.conf b/meta-digi-arm/conf/machine/ccmp15-dvk.conf index 1daf35bfd..49ab2c42f 100644 --- a/meta-digi-arm/conf/machine/ccmp15-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp15-dvk.conf @@ -74,6 +74,9 @@ IMAGE_FSTYPES += '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", \ "tar.bz2 boot.ubifs recovery.ubifs squashfs", \ "tar.bz2 ubifs boot.ubifs recovery.ubifs", d)}' +# Default image for install scripts +DEFAULT_IMAGE_NAME ?= "dey-image-webkit" + # For populate_sdk, gcc-arm-none-eabi_9 has a python2 dependency, so we remove it. ST_TOOLS_FOR_SDK:remove = "nativesdk-gcc-arm-none-eabi" diff --git a/sdk/build-github.sh b/sdk/build-github.sh index 1ba6b6169..357f50159 100755 --- a/sdk/build-github.sh +++ b/sdk/build-github.sh @@ -3,7 +3,7 @@ # # build-github.sh # -# Copyright (C) 2015-2022 by Digi International Inc. +# Copyright (C) 2015-2023 by Digi International Inc. # All rights reserved. # # This program is free software; you can redistribute it and/or modify it @@ -148,7 +148,7 @@ done<<-_EOF_ ccimx6sbc dey-image-qt ccimx6ulsbc dey-image-qt ccimx6ulstarter core-image-base - ccmp15-dvk dey-image-qt + ccmp15-dvk dey-image-webkit ccmp13-dvk core-image-base _EOF_ diff --git a/sdk/build.sh b/sdk/build.sh index 34a80ebac..79d1d2b9d 100755 --- a/sdk/build.sh +++ b/sdk/build.sh @@ -183,7 +183,7 @@ done<<-_EOF_ ccimx6ulstarter core-image-base ccimx6ulsom dey-image-mft-module-min ccimx6ulrftest dey-image-mft-module-rf - ccmp15-dvk dey-image-qt,dey-image-crank + ccmp15-dvk dey-image-webkit,dey-image-crank ccmp13-dvk core-image-base ccimx93-dvk dey-image-qt _EOF_ diff --git a/sdk/config/ccmp15-dvk/conf-notes.txt b/sdk/config/ccmp15-dvk/conf-notes.txt index ebfdec9b2..61380b8fe 100644 --- a/sdk/config/ccmp15-dvk/conf-notes.txt +++ b/sdk/config/ccmp15-dvk/conf-notes.txt @@ -1,5 +1,10 @@ Digi Embedded Yocto provides the following image recipes: + * dey-image-webkit: graphical WebKit image + + By default the image is Wayland-based so it provides a full Weston + desktop environment. + * dey-image-qt: graphical QT image By default the image is Wayland-based so it provides a full Weston From ad788b1d32a0f8b123eaf67107ec245b0989445e Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Fri, 24 Feb 2023 12:22:44 +0100 Subject: [PATCH 137/144] linux-dey: do not generate symbols on ccimx6ul dtbs Symbols are needed for DTB overlays. In the CC6UL we are not using overlays, so disable symbols generation. https://onedigi.atlassian.net/browse/DEL-8397 Signed-off-by: Javier Viguera --- meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb b/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb index acee07f63..e539bd18a 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb @@ -46,7 +46,9 @@ do_configure:append() { } # Create base DTB suitable for overlays -KERNEL_DTC_FLAGS += "-@" +OVERLAYS_DTC_FLAGS = "-@" +OVERLAYS_DTC_FLAGS:ccimx6ul = "" +KERNEL_DTC_FLAGS = "${OVERLAYS_DTC_FLAGS}" KERNEL_EXTRA_ARGS:stm32mpcommon += "LOADADDR=${ST_KERNEL_LOADADDR}" From adbb5114841adab4ae19dd81f1464b5a00a79c3b Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Fri, 24 Feb 2023 16:24:47 +0100 Subject: [PATCH 138/144] meta-digi: remove True option to getVar True is the default since long time ago, and thus not necessary. This follows similar changes done in other layers. Command used: sed -e 's|\(d\.getVar \?\)( \?\([^,()]*\), \?True)|\1(\2)|g' -i $(git grep -E 'getVar ?\( ?([^,()]*), ?True\)' | cut -d':' -f1 | sort -u) Signed-off-by: Javier Viguera --- .../classes/image_types_digi.bbclass | 2 +- meta-digi-arm/conf/machine/ccmp15-dvk.conf | 2 +- meta-digi-arm/conf/machine/include/ccimx6.inc | 2 +- .../conf/machine/include/ccimx6ul.inc | 2 +- .../conf/machine/include/ccimx8m.inc | 2 +- .../conf/machine/include/ccimx8x.inc | 2 +- meta-digi-arm/conf/machine/include/ccmp1.inc | 2 +- .../wolfssl/wolfssl_5.4.0-fips.bb | 2 +- .../recipes-bsp/u-boot/u-boot-dey.inc | 4 +- meta-digi-dey/classes/aws-iot.bbclass | 2 +- meta-digi-dey/classes/trustfence.bbclass | 58 +++++++++---------- .../recipes-aws/greengrass/greengrass.inc | 4 +- .../greengrass/greengrass_1.6.0.bb | 2 +- .../recipes-connectivity/bluez/bluez5.inc | 4 +- .../systemd/systemd-serialgetty.bbappend | 2 +- .../sysvinit-inittab_2.88dsf.bbappend | 2 +- .../crank-demos/crank-demos_7.2.bb | 6 +- .../crank-sbengine/crank-sbengine_7.2.bb | 6 +- meta-digi-dey/recipes-digi/swu-images/swu.inc | 20 +++---- 19 files changed, 63 insertions(+), 63 deletions(-) diff --git a/meta-digi-arm/classes/image_types_digi.bbclass b/meta-digi-arm/classes/image_types_digi.bbclass index 059a3e44f..9691b0921 100644 --- a/meta-digi-arm/classes/image_types_digi.bbclass +++ b/meta-digi-arm/classes/image_types_digi.bbclass @@ -6,7 +6,7 @@ inherit image_types BOOTLOADER_IMAGE_RECIPE ?= "u-boot" def TRUSTFENCE_BOOTIMAGE_DEPENDS(d): - tf_initramfs = d.getVar('TRUSTFENCE_INITRAMFS_IMAGE',True) or "" + tf_initramfs = d.getVar('TRUSTFENCE_INITRAMFS_IMAGE') or "" return "%s:do_image_complete" % tf_initramfs if tf_initramfs else "" do_image_boot_vfat[depends] += " \ diff --git a/meta-digi-arm/conf/machine/ccmp15-dvk.conf b/meta-digi-arm/conf/machine/ccmp15-dvk.conf index 49ab2c42f..2cdd0510c 100644 --- a/meta-digi-arm/conf/machine/ccmp15-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp15-dvk.conf @@ -195,5 +195,5 @@ ROOTFS_EXT ?= ".ubifs" BOOT_DEV_NAME ?= "linux" ROOTFS_DEV_NAME ?= "rootfs" ROOTFS_ENC_DEV = "${ROOTFS_DEV_NAME}" -ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS', True) == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" +ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS') == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" diff --git a/meta-digi-arm/conf/machine/include/ccimx6.inc b/meta-digi-arm/conf/machine/include/ccimx6.inc index ee5a15621..525de6725 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6.inc @@ -52,5 +52,5 @@ ROOTFS_EXT ?= ".ext4.gz" BOOT_DEV_NAME ?= "/dev/mmcblk0p1" ROOTFS_DEV_NAME ?= "/dev/mmcblk0p3" ROOTFS_ENC_DEV = "/dev/mapper/cryptrootfs" -ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS', True) == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" +ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS') == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" diff --git a/meta-digi-arm/conf/machine/include/ccimx6ul.inc b/meta-digi-arm/conf/machine/include/ccimx6ul.inc index c0bcd782f..3e7bc79bb 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6ul.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6ul.inc @@ -58,7 +58,7 @@ ROOTFS_EXT ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", ".squa BOOT_DEV_NAME ?= "linux" ROOTFS_DEV_NAME ?= "rootfs" ROOTFS_ENC_DEV = "${ROOTFS_DEV_NAME}" -ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS', True) == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" +ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS') == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" # U-Boot environment offset (within partition) UBOOT_ENV_OFFSET ?= "0x0" diff --git a/meta-digi-arm/conf/machine/include/ccimx8m.inc b/meta-digi-arm/conf/machine/include/ccimx8m.inc index aed474ebe..a78eb6206 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8m.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8m.inc @@ -67,5 +67,5 @@ ROOTFS_EXT ?= ".ext4.gz" BOOT_DEV_NAME ?= "/dev/mmcblk0p1" ROOTFS_DEV_NAME ?= "/dev/mmcblk0p3" ROOTFS_ENC_DEV = "/dev/mapper/cryptrootfs" -ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS', True) == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" +ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS') == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" diff --git a/meta-digi-arm/conf/machine/include/ccimx8x.inc b/meta-digi-arm/conf/machine/include/ccimx8x.inc index c768ed1ea..66f457243 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8x.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8x.inc @@ -84,5 +84,5 @@ ROOTFS_EXT ?= ".ext4.gz" BOOT_DEV_NAME ?= "/dev/mmcblk0p1" ROOTFS_DEV_NAME ?= "/dev/mmcblk0p3" ROOTFS_ENC_DEV = "/dev/mapper/cryptrootfs" -ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS', True) == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" +ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS') == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" diff --git a/meta-digi-arm/conf/machine/include/ccmp1.inc b/meta-digi-arm/conf/machine/include/ccmp1.inc index 7ebd2a994..49c5f4c1b 100644 --- a/meta-digi-arm/conf/machine/include/ccmp1.inc +++ b/meta-digi-arm/conf/machine/include/ccmp1.inc @@ -26,7 +26,7 @@ ROOTFS_EXT ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", ".squa BOOT_DEV_NAME ?= "linux" ROOTFS_DEV_NAME ?= "rootfs" ROOTFS_ENC_DEV = "${ROOTFS_DEV_NAME}" -ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS', True) == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" +ROOTFS_DEV_NAME_FINAL = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS') == '1', '${ROOTFS_ENC_DEV}', '${ROOTFS_DEV_NAME}')}" # U-Boot environment offset (within partition) UBOOT_ENV_OFFSET ?= "0x0" diff --git a/meta-digi-arm/dynamic-layers/wolfssl/recipes-wolfssl/wolfssl/wolfssl_5.4.0-fips.bb b/meta-digi-arm/dynamic-layers/wolfssl/recipes-wolfssl/wolfssl/wolfssl_5.4.0-fips.bb index 083c447d6..5898114fd 100644 --- a/meta-digi-arm/dynamic-layers/wolfssl/recipes-wolfssl/wolfssl/wolfssl_5.4.0-fips.bb +++ b/meta-digi-arm/dynamic-layers/wolfssl/recipes-wolfssl/wolfssl/wolfssl_5.4.0-fips.bb @@ -27,7 +27,7 @@ python() { # variable. wolfssl_fips_local_path = d.getVar('WOLFSSL_FIPS_PKG_PATH') if wolfssl_fips_local_path: - premirrors = d.getVar('PREMIRRORS', True) + premirrors = d.getVar('PREMIRRORS') d.setVar('PREMIRRORS', "http:///not/exist/${WOLFSSL_FIPS_PKG_NAME}.7z file://%s \\n %s" % (wolfssl_fips_local_path, premirrors)) # Yocto does not support unpacking password protected packages, so configure the diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc index 2b4c5f44c..45763922b 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc @@ -44,7 +44,7 @@ inherit ${@oe.utils.conditional('DEY_BUILD_PLATFORM', 'NXP', 'fsl-u-boot-localve UBOOT_INITIAL_ENV = "" python __anonymous() { - if (d.getVar("TRUSTFENCE_DEK_PATH", True) not in ["0", None]) and (d.getVar("TRUSTFENCE_SIGN", True) != "1"): + if (d.getVar("TRUSTFENCE_DEK_PATH") not in ["0", None]) and (d.getVar("TRUSTFENCE_SIGN") != "1"): bb.fatal("Only signed U-Boot images can be encrypted. Generate signed images (TRUSTFENCE_SIGN = \"1\") or remove encryption (TRUSTFENCE_DEK_PATH = \"0\")") } @@ -60,7 +60,7 @@ python trustfence_config() { TF_BOOTSCRIPT_SEDFILTER = "${@tf_bootscript_sedfilter(d)}" def tf_bootscript_sedfilter(d): - tf_initramfs = d.getVar('TRUSTFENCE_INITRAMFS_IMAGE',True) or "" + tf_initramfs = d.getVar('TRUSTFENCE_INITRAMFS_IMAGE') or "" return "s,\(^[[:blank:]]*\)true.*,\\1setenv boot_initrd true\\n\\1setenv initrd_file %s-${MACHINE}.cpio.gz.u-boot.tf,g" % tf_initramfs if tf_initramfs else "" build_uboot_scripts() { diff --git a/meta-digi-dey/classes/aws-iot.bbclass b/meta-digi-dey/classes/aws-iot.bbclass index 259506024..12bdc12a5 100644 --- a/meta-digi-dey/classes/aws-iot.bbclass +++ b/meta-digi-dey/classes/aws-iot.bbclass @@ -70,7 +70,7 @@ def get_log_level(d): levels = ['error', 'warn', 'info', 'debug', 'trace'] log_flags = "" - log_level = d.getVar('AWS_IOT_LOGGING_LEVEL', True) + log_level = d.getVar('AWS_IOT_LOGGING_LEVEL') if log_level == 'none': return "" if log_level not in levels: diff --git a/meta-digi-dey/classes/trustfence.bbclass b/meta-digi-dey/classes/trustfence.bbclass index e5664d467..663204290 100644 --- a/meta-digi-dey/classes/trustfence.bbclass +++ b/meta-digi-dey/classes/trustfence.bbclass @@ -40,50 +40,50 @@ python () { import os # Secure console configuration - if (d.getVar("TRUSTFENCE_CONSOLE_DISABLE", True) == "1"): + if (d.getVar("TRUSTFENCE_CONSOLE_DISABLE") == "1"): d.appendVar("UBOOT_TF_CONF", "CONFIG_CONSOLE_DISABLE=y ") - if d.getVar("TRUSTFENCE_CONSOLE_PASSPHRASE_ENABLE", True): - passphrase_hash = hashlib.sha256(d.getVar("TRUSTFENCE_CONSOLE_PASSPHRASE_ENABLE", True).encode()).hexdigest() + if d.getVar("TRUSTFENCE_CONSOLE_PASSPHRASE_ENABLE"): + passphrase_hash = hashlib.sha256(d.getVar("TRUSTFENCE_CONSOLE_PASSPHRASE_ENABLE").encode()).hexdigest() d.appendVar("UBOOT_TF_CONF", 'CONFIG_CONSOLE_ENABLE_PASSPHRASE=y CONFIG_CONSOLE_ENABLE_PASSPHRASE_KEY="%s" ' % passphrase_hash) - elif d.getVar("TRUSTFENCE_CONSOLE_GPIO_ENABLE", True): - d.appendVar("UBOOT_TF_CONF", "CONFIG_CONSOLE_ENABLE_GPIO=y CONFIG_CONSOLE_ENABLE_GPIO_NR=%s " % d.getVar("TRUSTFENCE_CONSOLE_GPIO_ENABLE", True)) + elif d.getVar("TRUSTFENCE_CONSOLE_GPIO_ENABLE"): + d.appendVar("UBOOT_TF_CONF", "CONFIG_CONSOLE_ENABLE_GPIO=y CONFIG_CONSOLE_ENABLE_GPIO_NR=%s " % d.getVar("TRUSTFENCE_CONSOLE_GPIO_ENABLE")) # Secure boot configuration - if (d.getVar("TRUSTFENCE_SIGN_KEYS_PATH", True) == "default"): - d.setVar("TRUSTFENCE_SIGN_KEYS_PATH", d.getVar("TOPDIR", True) + "/trustfence"); + if (d.getVar("TRUSTFENCE_SIGN_KEYS_PATH") == "default"): + d.setVar("TRUSTFENCE_SIGN_KEYS_PATH", d.getVar("TOPDIR") + "/trustfence"); - if (d.getVar("TRUSTFENCE_DEK_PATH", True) == "default"): - d.setVar("TRUSTFENCE_DEK_PATH", d.getVar("TRUSTFENCE_SIGN_KEYS_PATH", True) + "/dek.bin"); + if (d.getVar("TRUSTFENCE_DEK_PATH") == "default"): + d.setVar("TRUSTFENCE_DEK_PATH", d.getVar("TRUSTFENCE_SIGN_KEYS_PATH") + "/dek.bin"); - if (d.getVar("TRUSTFENCE_SIGN", True) == "1"): + if (d.getVar("TRUSTFENCE_SIGN") == "1"): d.appendVar("UBOOT_TF_CONF", "CONFIG_SIGN_IMAGE=y CONFIG_AUTH_ARTIFACTS=y ") - if (d.getVar("TRUSTFENCE_READ_ONLY_ROOTFS", True) == "1"): + if (d.getVar("TRUSTFENCE_READ_ONLY_ROOTFS") == "1"): d.appendVar("UBOOT_TF_CONF", "CONFIG_AUTHENTICATE_SQUASHFS_ROOTFS=y ") - if d.getVar("TRUSTFENCE_SIGN_KEYS_PATH", True): - d.appendVar("UBOOT_TF_CONF", 'CONFIG_SIGN_KEYS_PATH="%s" ' % d.getVar("TRUSTFENCE_SIGN_KEYS_PATH", True)) - if (d.getVar("TRUSTFENCE_UNLOCK_KEY_REVOCATION", True) == "1"): + if d.getVar("TRUSTFENCE_SIGN_KEYS_PATH"): + d.appendVar("UBOOT_TF_CONF", 'CONFIG_SIGN_KEYS_PATH="%s" ' % d.getVar("TRUSTFENCE_SIGN_KEYS_PATH")) + if (d.getVar("TRUSTFENCE_UNLOCK_KEY_REVOCATION") == "1"): d.appendVar("UBOOT_TF_CONF", "CONFIG_UNLOCK_SRK_REVOKE=y ") - if d.getVar("TRUSTFENCE_KEY_INDEX", True): - d.appendVar("UBOOT_TF_CONF", "CONFIG_KEY_INDEX=%s " % d.getVar("TRUSTFENCE_KEY_INDEX", True)) - if (d.getVar("TRUSTFENCE_DEK_PATH", True) not in [None, "0"]): - d.appendVar("UBOOT_TF_CONF", 'CONFIG_DEK_PATH="%s" ' % d.getVar("TRUSTFENCE_DEK_PATH", True)) - if d.getVar("TRUSTFENCE_SIGN_MODE", True): - d.appendVar("UBOOT_TF_CONF", 'CONFIG_SIGN_MODE="%s" ' % d.getVar("TRUSTFENCE_SIGN_MODE", True)) - if (d.getVar("TRUSTFENCE_ENCRYPT_ENVIRONMENT", True) == "1"): + if d.getVar("TRUSTFENCE_KEY_INDEX"): + d.appendVar("UBOOT_TF_CONF", "CONFIG_KEY_INDEX=%s " % d.getVar("TRUSTFENCE_KEY_INDEX")) + if (d.getVar("TRUSTFENCE_DEK_PATH") not in [None, "0"]): + d.appendVar("UBOOT_TF_CONF", 'CONFIG_DEK_PATH="%s" ' % d.getVar("TRUSTFENCE_DEK_PATH")) + if d.getVar("TRUSTFENCE_SIGN_MODE"): + d.appendVar("UBOOT_TF_CONF", 'CONFIG_SIGN_MODE="%s" ' % d.getVar("TRUSTFENCE_SIGN_MODE")) + if (d.getVar("TRUSTFENCE_ENCRYPT_ENVIRONMENT") == "1"): d.appendVar("UBOOT_TF_CONF", "CONFIG_ENV_AES=y CONFIG_ENV_AES_CAAM_KEY=y ") # Provide sane default values for SWUPDATE class in case Trustfence is enabled - if (d.getVar("TRUSTFENCE_SIGN", True) == "1"): + if (d.getVar("TRUSTFENCE_SIGN") == "1"): # Enable package signing. d.setVar("SWUPDATE_SIGNING", "RSA") # Retrieve the keys path to use. - keys_path = d.getVar("TRUSTFENCE_SIGN_KEYS_PATH", True) + keys_path = d.getVar("TRUSTFENCE_SIGN_KEYS_PATH") # Retrieve the key index to use. key_index = 0 - if (d.getVar("TRUSTFENCE_KEY_INDEX", True)): - key_index = int(d.getVar("TRUSTFENCE_KEY_INDEX", True)) + if (d.getVar("TRUSTFENCE_KEY_INDEX")): + key_index = int(d.getVar("TRUSTFENCE_KEY_INDEX")) key_index_1 = key_index + 1 # Set the private key template, it will be expanded later in 'swu' recipes once keys are generated. @@ -98,14 +98,14 @@ python () { d.setVar("SWUPDATE_PASSWORD_FILE", keys_path + "/keys/key_pass.txt") # Enable partition encryption if rootfs encryption is enabled - if (d.getVar("TRUSTFENCE_ENCRYPT_ROOTFS", True) == "1"): + if (d.getVar("TRUSTFENCE_ENCRYPT_ROOTFS") == "1"): d.setVar("TRUSTFENCE_ENCRYPT_PARTITIONS", "1"); # Enable the trustfence initramfs if and only if partition encryption is enabled # and not using a read-only rootfs - if (d.getVar("TRUSTFENCE_ENCRYPT_PARTITIONS", True) == "1" and \ - d.getVar("STORAGE_MEDIA", True) == "mmc" and \ - d.getVar("TRUSTFENCE_READ_ONLY_ROOTFS", True) == "0"): + if (d.getVar("TRUSTFENCE_ENCRYPT_PARTITIONS") == "1" and \ + d.getVar("STORAGE_MEDIA") == "mmc" and \ + d.getVar("TRUSTFENCE_READ_ONLY_ROOTFS") == "0"): d.setVar("TRUSTFENCE_INITRAMFS_IMAGE", "dey-image-trustfence-initramfs"); else: d.setVar("TRUSTFENCE_INITRAMFS_IMAGE", ""); diff --git a/meta-digi-dey/recipes-aws/greengrass/greengrass.inc b/meta-digi-dey/recipes-aws/greengrass/greengrass.inc index 289c33b0e..efd73308d 100644 --- a/meta-digi-dey/recipes-aws/greengrass/greengrass.inc +++ b/meta-digi-dey/recipes-aws/greengrass/greengrass.inc @@ -25,9 +25,9 @@ GG_TARBALL_LOCAL_PATH ?= "" # a PREMIRROR to a local directory that can be configured in the project's # local.conf file using GG_TARBALL_LOCAL_PATH variable. python() { - gg_tarball_local_path = d.getVar('GG_TARBALL_LOCAL_PATH', True) + gg_tarball_local_path = d.getVar('GG_TARBALL_LOCAL_PATH') if gg_tarball_local_path: - premirrors = d.getVar('PREMIRRORS', True) + premirrors = d.getVar('PREMIRRORS') d.setVar('PREMIRRORS', "http:///not/exist/greengrass.* file://%s \\n %s" % (gg_tarball_local_path, premirrors)) } diff --git a/meta-digi-dey/recipes-aws/greengrass/greengrass_1.6.0.bb b/meta-digi-dey/recipes-aws/greengrass/greengrass_1.6.0.bb index 3378dbac4..a3a4e5a4d 100644 --- a/meta-digi-dey/recipes-aws/greengrass/greengrass_1.6.0.bb +++ b/meta-digi-dey/recipes-aws/greengrass/greengrass_1.6.0.bb @@ -72,7 +72,7 @@ LIC_FILES_CHKSUM = " \ # Bitbake does not support spaces in filenames, but GG License does have spaces, # so workaround the problem by renaming the file before using it. GG_LIC_FILENAME = "Greengrass AWS SW License (IoT additional) vr6.txt" -GG_LIC_FILENAME_NOSPACES = "${@d.getVar('GG_LIC_FILENAME', True).replace(' ','_')}" +GG_LIC_FILENAME_NOSPACES = "${@d.getVar('GG_LIC_FILENAME').replace(' ','_')}" LIC_FILES_CHKSUM += "file://ggc/core/LICENSE/${GG_LIC_FILENAME_NOSPACES};md5=7df5bf535d02b2f83c260250fe330b6c" SRC_URI[arm.md5sum] = "93ae820af2bf2527bafdb34598d174ed" diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5.inc b/meta-digi-dey/recipes-connectivity/bluez/bluez5.inc index a2f9e7a0f..470927e43 100644 --- a/meta-digi-dey/recipes-connectivity/bluez/bluez5.inc +++ b/meta-digi-dey/recipes-connectivity/bluez/bluez5.inc @@ -97,13 +97,13 @@ FILES:${PN}-testtools = "${libdir}/bluez/test/*" def get_noinst_tools_paths (d, bb, tools): s = list() - bindir = d.getVar("bindir", True) + bindir = d.getVar("bindir") for bdp in tools.split(): f = os.path.basename(bdp) s.append("%s/%s" % (bindir, f)) return "\n".join(s) -FILES:${PN}-noinst-tools = "${@get_noinst_tools_paths(d, bb, d.getVar('NOINST_TOOLS', True))}" +FILES:${PN}-noinst-tools = "${@get_noinst_tools_paths(d, bb, d.getVar('NOINST_TOOLS'))}" RDEPENDS:${PN}-testtools += "python3-core python3-dbus python3-pygobject" diff --git a/meta-digi-dey/recipes-core/systemd/systemd-serialgetty.bbappend b/meta-digi-dey/recipes-core/systemd/systemd-serialgetty.bbappend index f489f61be..e642836db 100644 --- a/meta-digi-dey/recipes-core/systemd/systemd-serialgetty.bbappend +++ b/meta-digi-dey/recipes-core/systemd/systemd-serialgetty.bbappend @@ -1,6 +1,6 @@ # Copyright (C) 2016 Digi International. python __anonymous () { - if (d.getVar("TRUSTFENCE_CONSOLE_DISABLE", True) == "1"): + if (d.getVar("TRUSTFENCE_CONSOLE_DISABLE") == "1"): d.setVar("SERIAL_CONSOLES", "") } diff --git a/meta-digi-dey/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend b/meta-digi-dey/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend index f489f61be..e642836db 100644 --- a/meta-digi-dey/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend +++ b/meta-digi-dey/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend @@ -1,6 +1,6 @@ # Copyright (C) 2016 Digi International. python __anonymous () { - if (d.getVar("TRUSTFENCE_CONSOLE_DISABLE", True) == "1"): + if (d.getVar("TRUSTFENCE_CONSOLE_DISABLE") == "1"): d.setVar("SERIAL_CONSOLES", "") } diff --git a/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb b/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb index add670e35..152f7a253 100644 --- a/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb +++ b/meta-digi-dey/recipes-crank/crank-demos/crank-demos_7.2.bb @@ -29,11 +29,11 @@ CRANK_DEMO_PATH ?= "${datadir}/crank/apps/OpenGL_WideScreen/1280x720.gapp" # a PREMIRROR to a local directory that can be configured in the project's # local.conf file using CRANK_DEMOS_TARBALL_PATH variable. python() { - crank_demos_tarball_path = d.getVar('CRANK_DEMOS_TARBALL_PATH', True) + crank_demos_tarball_path = d.getVar('CRANK_DEMOS_TARBALL_PATH') if crank_demos_tarball_path: - premirrors = d.getVar('PREMIRRORS', True) + premirrors = d.getVar('PREMIRRORS') d.setVar('PREMIRRORS', "http:///not/exist/crank-demos-.* %s \\n %s" % (crank_demos_tarball_path, premirrors)) - crank_demos_tarball_sha256 = d.getVar('CRANK_DEMOS_TARBALL_SHA256', True) + crank_demos_tarball_sha256 = d.getVar('CRANK_DEMOS_TARBALL_SHA256') if crank_demos_tarball_sha256: d.setVarFlag("SRC_URI", "sha256sum", crank_demos_tarball_sha256) } diff --git a/meta-digi-dey/recipes-crank/crank-sbengine/crank-sbengine_7.2.bb b/meta-digi-dey/recipes-crank/crank-sbengine/crank-sbengine_7.2.bb index c5ce2271c..deb465344 100644 --- a/meta-digi-dey/recipes-crank/crank-sbengine/crank-sbengine_7.2.bb +++ b/meta-digi-dey/recipes-crank/crank-sbengine/crank-sbengine_7.2.bb @@ -22,11 +22,11 @@ CRANK_ENGINE_TARBALL_PATH ?= "" # a PREMIRROR to a local directory that can be configured in the project's # local.conf file using CRANK_ENGINE_TARBALL_PATH variable. python() { - crank_engine_tarball_path = d.getVar('CRANK_ENGINE_TARBALL_PATH', True) + crank_engine_tarball_path = d.getVar('CRANK_ENGINE_TARBALL_PATH') if crank_engine_tarball_path: - premirrors = d.getVar('PREMIRRORS', True) + premirrors = d.getVar('PREMIRRORS') d.setVar('PREMIRRORS', "http:///not/exist/crank-sbengine-.* %s \\n %s" % (crank_engine_tarball_path, premirrors)) - crank_engine_tarball_sha256 = d.getVar('CRANK_ENGINE_TARBALL_SHA256', True) + crank_engine_tarball_sha256 = d.getVar('CRANK_ENGINE_TARBALL_SHA256') if crank_engine_tarball_sha256: d.setVarFlag("SRC_URI", "sha256sum", crank_engine_tarball_sha256) } diff --git a/meta-digi-dey/recipes-digi/swu-images/swu.inc b/meta-digi-dey/recipes-digi/swu-images/swu.inc index c9aa55d89..f3e35c8ef 100644 --- a/meta-digi-dey/recipes-digi/swu-images/swu.inc +++ b/meta-digi-dey/recipes-digi/swu-images/swu.inc @@ -20,11 +20,11 @@ IMG_NAME = "${IMAGE_DEPENDS}" SWUPDATE_IMAGES = " \ ${IMG_NAME} \ - ${@oe.utils.ifelse(d.getVar('SWUPDATE_UBOOTIMG', True) == 'true', '${UBOOT_PREFIX}', '')} \ + ${@oe.utils.ifelse(d.getVar('SWUPDATE_UBOOTIMG') == 'true', '${UBOOT_PREFIX}', '')} \ " SOFTWARE_VERSION ?= "0.0.1" -DESCRIPTION = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS', True) == '1', 'Encrypted rootfs ${IMG_NAME} update', '${IMG_NAME} update')}" +DESCRIPTION = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS') == '1', 'Encrypted rootfs ${IMG_NAME} update', '${IMG_NAME} update')}" UBOOT_EXT ?= ".${UBOOT_SUFFIX}" @@ -33,22 +33,22 @@ UBOOTIMG_OFFSET ?= "${BOOTLOADER_SEEK_BOOT}" SWUPDATE_STORAGE_MEDIA = "${@oe.utils.conditional('STORAGE_MEDIA', 'mmc', 'swupdate_uboot_mmc.sh', 'swupdate_uboot_nand.sh', d)}" python () { - img_fstypes = d.getVar('BOOTFS_EXT', True) + " " + d.getVar('ROOTFS_EXT', True) - d.setVarFlag("SWUPDATE_IMAGES_FSTYPES", d.getVar('IMG_NAME', True), img_fstypes) - if (d.getVar('SWUPDATE_UBOOTIMG', True) == "true"): - uboot_fstypes = d.getVar('UBOOT_EXT', True) - d.setVarFlag("SWUPDATE_IMAGES_FSTYPES", d.getVar('UBOOT_PREFIX', True), uboot_fstypes) + img_fstypes = d.getVar('BOOTFS_EXT') + " " + d.getVar('ROOTFS_EXT') + d.setVarFlag("SWUPDATE_IMAGES_FSTYPES", d.getVar('IMG_NAME'), img_fstypes) + if (d.getVar('SWUPDATE_UBOOTIMG') == "true"): + uboot_fstypes = d.getVar('UBOOT_EXT') + d.setVarFlag("SWUPDATE_IMAGES_FSTYPES", d.getVar('UBOOT_PREFIX'), uboot_fstypes) } python do_swuimage:prepend() { import glob - if (d.getVar('TRUSTFENCE_SIGN', True) == "1"): - d.setVar('SWUPDATE_PRIVATE_KEY', glob.glob(d.getVar('SWUPDATE_PRIVATE_KEY_TEMPLATE', True))[0]) + if (d.getVar('TRUSTFENCE_SIGN') == "1"): + d.setVar('SWUPDATE_PRIVATE_KEY', glob.glob(d.getVar('SWUPDATE_PRIVATE_KEY_TEMPLATE'))[0]) } def get_baseimg_pn(d): - file_name = d.getVar('PN', True) + file_name = d.getVar('PN') return file_name[:file_name.find("-swu")] From ec1ad99f45df38d4b86d7e1af2337529f9d2a32a Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Wed, 22 Feb 2023 10:17:57 +0100 Subject: [PATCH 139/144] ccimx93: add xbee support ConnectCore 93 DVK only connects the XBee reset line (XBEE_RESET_N_GPIO) but not the sleep request (XBEE_SLEEP_RQ_GPIO) It also reworks the 'xbee-init' script to support empty reset (XBEE_RESET_N_GPIO) or sleep request (XBEE_SLEEP_RQ_GPIO) values. https://onedigi.atlassian.net/browse/DEL-8375 Signed-off-by: Tatiana Leon --- meta-digi-arm/conf/machine/ccimx93-dvk.conf | 5 +++ .../conf/machine/include/ccimx93.inc | 4 ++ .../recipes-connectivity/xbee/xbee.bb | 2 +- .../recipes-connectivity/xbee/xbee/xbee-init | 38 ++++++++++--------- 4 files changed, 30 insertions(+), 19 deletions(-) diff --git a/meta-digi-arm/conf/machine/ccimx93-dvk.conf b/meta-digi-arm/conf/machine/ccimx93-dvk.conf index f95d0ef09..d446b5082 100644 --- a/meta-digi-arm/conf/machine/ccimx93-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx93-dvk.conf @@ -26,6 +26,11 @@ IMAGE_BOOT_FILES:append:use-nxp-bsp = " \ " WKS_FILE_DEPENDS:append = " imx-m33-demos" +# XBee +XBEE_RESET_N_GPIO ?= "gpio2@19" +XBEE_SLEEP_RQ_GPIO ?= "" +XBEE_TTY ?= "ttyLP3" + # Image FS types IMAGE_FSTYPES ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", \ "boot.vfat recovery.vfat squashfs tar.bz2", \ diff --git a/meta-digi-arm/conf/machine/include/ccimx93.inc b/meta-digi-arm/conf/machine/include/ccimx93.inc index f43cd64f8..149657558 100644 --- a/meta-digi-arm/conf/machine/include/ccimx93.inc +++ b/meta-digi-arm/conf/machine/include/ccimx93.inc @@ -39,6 +39,10 @@ SPL_BINARY = "spl/u-boot-spl.bin" # Set ATF platform name ATF_PLATFORM = "imx93" +MACHINE_EXTRA_RDEPENDS += " \ + xbee-init \ +" + # TrustFence TRUSTFENCE_SIGN_MODE = "AHAB" diff --git a/meta-digi-dey/recipes-connectivity/xbee/xbee.bb b/meta-digi-dey/recipes-connectivity/xbee/xbee.bb index a07cc460b..2b31f2531 100644 --- a/meta-digi-dey/recipes-connectivity/xbee/xbee.bb +++ b/meta-digi-dey/recipes-connectivity/xbee/xbee.bb @@ -42,4 +42,4 @@ SYSTEMD_PACKAGES = "${PN}-init" SYSTEMD_SERVICE:${PN}-init = "xbee-init.service" PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(ccimx8x|ccimx8m)" +COMPATIBLE_MACHINE = "(ccimx8x|ccimx8m|ccimx93)" diff --git a/meta-digi-dey/recipes-connectivity/xbee/xbee/xbee-init b/meta-digi-dey/recipes-connectivity/xbee/xbee/xbee-init index 3ff7a91b7..0890022e4 100644 --- a/meta-digi-dey/recipes-connectivity/xbee/xbee/xbee-init +++ b/meta-digi-dey/recipes-connectivity/xbee/xbee/xbee-init @@ -4,35 +4,37 @@ XBEE_RESET_N_GPIO="##XBEE_RESET_N_GPIO##" XBEE_SLEEP_RQ_GPIO="##XBEE_SLEEP_RQ_GPIO##" -xbee_init() { - # Set low XBEE_SLEEP_RQ - gpioset ${3} ${4}=0 - +# 1=chip name +# 2=gpio offset +xbee_reset() { # Power cycle XBEE_RESET_N - gpioset ${1} ${2}=0 - gpioset ${1} ${2}=1 + gpioset "${1}" "${2}"=0 + gpioset "${1}" "${2}"=1 +} + +# 1=chip name +# 2=gpio offset +xbee_no_sleep() { + # Set low XBEE_SLEEP_RQ + gpioset "${1}" "${2}"=0 } xbee_iterate_list() { - i=0 + for SLEEP in $(echo ${XBEE_SLEEP_RQ_GPIO} | sed "s/,/ /g"); do + # Do not quote command expansion (function expects two parameters) + xbee_no_sleep $(echo "${SLEEP}" | sed "s/@/ /g") + done + for RESET in $(echo ${XBEE_RESET_N_GPIO} | sed "s/,/ /g"); do - j=0 - for SLEEP in $(echo ${XBEE_SLEEP_RQ_GPIO} | sed "s/,/ /g"); do - if [ "${i}" = "${j}" ]; then - if [ "${1}" = "start" ]; then - xbee_init $(echo ${RESET} | sed "s/@/ /g") $(echo ${SLEEP} | sed "s/@/ /g") - fi - fi - j="$((j + 1))" - done - i="$((i + 1))" + # Do not quote command expansion (function expects two parameters) + xbee_reset $(echo "${RESET}" | sed "s/@/ /g") done } case "$1" in start) echo -n "Starting XBee hardware: " - xbee_iterate_list start + xbee_iterate_list echo "done." ;; stop) From 42687b87f59eb69e4b6146dbe7b62170463e0029 Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Fri, 24 Feb 2023 18:56:37 +0100 Subject: [PATCH 140/144] qt5: add cinematicexperience-rhi-tools to RDEPENDS qt5 packagegroup This package installs in '/usr/bin' a script to launch the cinematicexperience QT demo. Signed-off-by: Tatiana Leon --- .../recipes-qt/packagegroups/packagegroup-qt5-demos.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-demos.bb b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-demos.bb index 41054b9e9..f893a5450 100644 --- a/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-demos.bb +++ b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-demos.bb @@ -25,9 +25,11 @@ RDEPENDS:${PN}:append:imxgpu = " \ qt5nmapcarousedemo \ qt5nmapper \ cinematicexperience-rhi \ + cinematicexperience-rhi-tools \ " RDEPENDS:${PN}:append:ccmp15 = " \ qt5everywheredemo \ cinematicexperience-rhi \ + cinematicexperience-rhi-tools \ " From 286080e84af9f26c62ceb7d515ee1f4f348ea499 Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Fri, 24 Feb 2023 18:59:11 +0100 Subject: [PATCH 141/144] qt6: add cinematicexperience-rhi-tools to RDEPENDS qt6 packagegroup This package installs in '/usr/bin' a script to launch the cinematicexperience QT demo. Signed-off-by: Tatiana Leon --- .../NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb index f57ba2baf..5262e1223 100644 --- a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb @@ -14,6 +14,7 @@ RDEPENDS:${PN}:append = " \ RDEPENDS:${PN}:append:imxgpu = " \ cinematicexperience-rhi \ + cinematicexperience-rhi-tools \ " RDEPENDS:${PN}:append:imxgpu3d = " \ From 21e31425ad37b51cf5ea19988580e96c2b162ec5 Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Wed, 22 Feb 2023 10:16:05 +0100 Subject: [PATCH 142/144] ccimx93: enable qt6 cinematicexperience demo This commits includes 'cinematicexperience' to 'dey-image-qt' by default. https://onedigi.atlassian.net/browse/DEL-8379 Signed-off-by: Tatiana Leon --- .../recipes-graphics/wayland/weston-init.bbappend | 5 +++++ .../NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb | 5 +++++ .../qt6-layer/NXP/recipes-qt/qt6/qtbase_%.bbappend | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend index d83553614..9b3b458f5 100644 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend +++ b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend @@ -36,4 +36,9 @@ do_install:append() { install -Dm0644 ${WORKDIR}/digi_background.png ${D}${datadir}/weston/digi_background.png } +do_install:append:ccimx93() { + install -d ${D}${sysconfdir}/default/ + echo "QMLSCENE_DEVICE=softwarecontext" >> ${D}${sysconfdir}/default/weston +} + FILES:${PN} += "${datadir}/weston/digi_background.png" diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb index 5262e1223..044dcc8d7 100644 --- a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb @@ -17,6 +17,11 @@ RDEPENDS:${PN}:append:imxgpu = " \ cinematicexperience-rhi-tools \ " +RDEPENDS:${PN}:append:ccimx93 = " \ + cinematicexperience-rhi \ + cinematicexperience-rhi-tools \ +" + RDEPENDS:${PN}:append:imxgpu3d = " \ qt3d-examples \ " diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase_%.bbappend index 362bca9bb..deb2b0c9f 100644 --- a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase_%.bbappend +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase_%.bbappend @@ -67,4 +67,8 @@ do_install:append () { install -m 0755 ${WORKDIR}/qt6-${IMX_BACKEND}.sh ${D}${sysconfdir}/profile.d/qt6.sh } +do_install:append:ccimx93() { + echo "export QMLSCENE_DEVICE=softwarecontext" >> ${D}${sysconfdir}/profile.d/qt6.sh +} + FILES:${PN} += "${sysconfdir}/profile.d/qt5.sh" From e1fa904b38767e4cbe3c6c16dc76045024ed450f Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Fri, 24 Feb 2023 19:00:40 +0100 Subject: [PATCH 143/144] qt5: qt6: cinematicexperience: add shortcut to the demo in the desktop toolbar This commit creates a new launcher group in the '/etc/xdg/weston/weston.ini' to have access to the QT cinematicexperience. This is done for QT5 (ccmp15, ccimx8mm, ccim8mn) and QT6 (ccimx93). https://onedigi.atlassian.net/browse/DEL-8379 Signed-off-by: Tatiana Leon --- .../wayland/weston-init.bbappend | 1 + .../wayland/weston-init.bbappend | 2 ++ .../examples/cinematicexperience-rhi/icon_qt.png | Bin 0 -> 1119 bytes .../examples/cinematicexperience-rhi_%.bbappend | 12 ++++++++++++ .../examples/cinematicexperience-rhi/icon_qt.png | Bin 0 -> 1119 bytes .../examples/cinematicexperience-rhi_%.bbappend | 12 ++++++++++++ .../recipes-core/images/dey-image-qt.bb | 11 ++++++++++- 7 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/cinematicexperience-rhi/icon_qt.png create mode 100644 meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/cinematicexperience-rhi_%.bbappend create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/examples/cinematicexperience-rhi/icon_qt.png create mode 100644 meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/examples/cinematicexperience-rhi_%.bbappend diff --git a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init.bbappend b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init.bbappend index 0bc05df42..68ea572ce 100644 --- a/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init.bbappend +++ b/meta-digi-arm/dynamic-layers/stm-st-stm32mp/recipes-graphics/wayland/weston-init.bbappend @@ -35,6 +35,7 @@ do_install:append() { install -m 0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston install -m 0644 ${WORKDIR}/digi_background.png ${D}${datadir}/weston/backgrounds/digi_background.png + printf "\n[launcher]\nicon=${datadir}/weston/terminal.png\npath=${bindir}/weston-terminal\n" >> ${D}${sysconfdir}/xdg/weston/weston.ini install -d ${D}${systemd_system_unitdir} ${D}${sbindir} diff --git a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend index 9b3b458f5..5e3c1bb6e 100644 --- a/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend +++ b/meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston-init.bbappend @@ -34,6 +34,8 @@ do_install:append() { do_install:append() { install -Dm0755 ${WORKDIR}/profile ${D}${sysconfdir}/profile.d/weston.sh install -Dm0644 ${WORKDIR}/digi_background.png ${D}${datadir}/weston/digi_background.png + + printf "\n[launcher]\nicon=${datadir}/weston/terminal.png\npath=${bindir}/weston-terminal\n" >> ${D}${sysconfdir}/xdg/weston/weston.ini } do_install:append:ccimx93() { diff --git a/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/cinematicexperience-rhi/icon_qt.png b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/cinematicexperience-rhi/icon_qt.png new file mode 100644 index 0000000000000000000000000000000000000000..720fbe29871e136b3167dd3aafa82ac13115bd84 GIT binary patch literal 1119 zcmV-l1fctgP)EX>4Tx04R}tkv&MmKpe$iQ>CR;9PCiUAwzYtASxobXcdZ3A=C=3I+$Gg1x*@~ z78ggswcy~#V%5RLSyu;FK@j`^admN0bdeJOmlRsWcyQd0clRE5?*O4$VVc!5255TC zOeYg!Hn%DUULhcgAZ8GfnPtpLQVO2q>mEM7-o<&A_qjhupPIKA;1h{wnPJw5H;AV; zYX;|i;s`6rD)Bk-s7V(je&o91@*C%(!vfEYn3?oEafDbbcCpgMtYm7$lf*Gq(`&;AtbSgB}fpVppG&ss3A_PPKt#z?I%3^gN|P!mqM;G z7&#VDg$CL2ga5(rZmq(^xSJGC0KG4^{V@y#c7ayIw!e>UyLAHipMfjA=}*!d z9W8bQ^lt+f*BwpS11@)f=#wFvvLpFv3WWmjen#Jv0|st^(3;y@dmpC{K!&y{D4^000SaNLh0L z01ejw01ejxLMWSf00007bV*G`2j>D92?7_E%yB>f00LV{L_t(Y$L*C(NR&|+g`fNV z&5w?bj*U5*qQPK@2<9?v2tve#L}5^Eq84r1MFl}c5o8+|(V{4daFs<-;3^FS7tx|c zV9-eZk2s1pn)By3-)*5LI*KzOM3@VSIU>SMeZGtn3T~9Fd!fg+k|{x1DNd#fJL1WQ6O} z-SnGb06Ghr(S*vyxt{F}wklq82dH*dFc=--P2>|xR)RoIHAmeIT-wu0|I||eYMqrB zLWeoBGdP&z$CN29&%9>TiUII8IYy78oJxBM^=bi4wo06e9aSjY%xlEL;?}}InwFC8 zC~#{oLW$Ym;%gX+PXbV*dueeu;L@BpRXfK$jT|dHlvxKgY96XkShC`2-g-(=>5^+YzO8ps$uBGL4*CO^_k9j8l|mFqn!UkvJ7w8rh{f09Z`L|J)#o z#e%tn&nTi$=o`+eY$X7EPOj`iN{J#wb_M`nqQe-9PG?aYZAJwFy_nnihpDpr7*B*5 zFlPXW$ppEogC@<(0mYShOz+M2Qf_#u&-GKE>tF9K6{jQoZhf4wF)Hmo9_%}hB`xYk z?q+5%Y(;6EdcsNDe*Cs#1cHF84v(IXM|FU?!n^vTkD=r=Wm*BV=1(*P=B99n+V6KJ zCHQt)))|MND|=5ckqFZgdYtKwyE4vOSL_?5v%U1if|*`{$Gm=|Aw& lGrD~GL*RzF`{n+B`~nEX>4Tx04R}tkv&MmKpe$iQ>CR;9PCiUAwzYtASxobXcdZ3A=C=3I+$Gg1x*@~ z78ggswcy~#V%5RLSyu;FK@j`^admN0bdeJOmlRsWcyQd0clRE5?*O4$VVc!5255TC zOeYg!Hn%DUULhcgAZ8GfnPtpLQVO2q>mEM7-o<&A_qjhupPIKA;1h{wnPJw5H;AV; zYX;|i;s`6rD)Bk-s7V(je&o91@*C%(!vfEYn3?oEafDbbcCpgMtYm7$lf*Gq(`&;AtbSgB}fpVppG&ss3A_PPKt#z?I%3^gN|P!mqM;G z7&#VDg$CL2ga5(rZmq(^xSJGC0KG4^{V@y#c7ayIw!e>UyLAHipMfjA=}*!d z9W8bQ^lt+f*BwpS11@)f=#wFvvLpFv3WWmjen#Jv0|st^(3;y@dmpC{K!&y{D4^000SaNLh0L z01ejw01ejxLMWSf00007bV*G`2j>D92?7_E%yB>f00LV{L_t(Y$L*C(NR&|+g`fNV z&5w?bj*U5*qQPK@2<9?v2tve#L}5^Eq84r1MFl}c5o8+|(V{4daFs<-;3^FS7tx|c zV9-eZk2s1pn)By3-)*5LI*KzOM3@VSIU>SMeZGtn3T~9Fd!fg+k|{x1DNd#fJL1WQ6O} z-SnGb06Ghr(S*vyxt{F}wklq82dH*dFc=--P2>|xR)RoIHAmeIT-wu0|I||eYMqrB zLWeoBGdP&z$CN29&%9>TiUII8IYy78oJxBM^=bi4wo06e9aSjY%xlEL;?}}InwFC8 zC~#{oLW$Ym;%gX+PXbV*dueeu;L@BpRXfK$jT|dHlvxKgY96XkShC`2-g-(=>5^+YzO8ps$uBGL4*CO^_k9j8l|mFqn!UkvJ7w8rh{f09Z`L|J)#o z#e%tn&nTi$=o`+eY$X7EPOj`iN{J#wb_M`nqQe-9PG?aYZAJwFy_nnihpDpr7*B*5 zFlPXW$ppEogC@<(0mYShOz+M2Qf_#u&-GKE>tF9K6{jQoZhf4wF)Hmo9_%}hB`xYk z?q+5%Y(;6EdcsNDe*Cs#1cHF84v(IXM|FU?!n^vTkD=r=Wm*BV=1(*P=B99n+V6KJ zCHQt)))|MND|=5ckqFZgdYtKwyE4vOSL_?5v%U1if|*`{$Gm=|Aw& lGrD~GL*RzF`{n+B`~n> ${IMAGE_ROOTFS}${sysconfdir}/xdg/weston/weston.ini + fi +} +ROOTFS_POSTPROCESS_COMMAND:imxgpu += "add_cinematicexperience_shortcut; " +ROOTFS_POSTPROCESS_COMMAND:ccmp15 += "add_cinematicexperience_shortcut; " +ROOTFS_POSTPROCESS_COMMAND:ccimx93 += "add_cinematicexperience_shortcut; " From 13dafe10bdcae0f848ba6de44ef8ebf0b8df8796 Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Mon, 27 Feb 2023 14:07:56 +0100 Subject: [PATCH 144/144] meta-digi-arm: disable Vigiles CVE report generation by default For now, we're only interested in generating the SBOM, which we can upload and have Vigiles scan later on if needed. The report generation process adds some overhead and can cause unwanted errors if the Vigiles server takes too long. Enable report generation for our automated builds. Signed-off-by: Gabriel Valcazar --- meta-digi-arm/conf/layer.conf | 3 +++ sdk/build.sh | 1 + 2 files changed, 4 insertions(+) diff --git a/meta-digi-arm/conf/layer.conf b/meta-digi-arm/conf/layer.conf index ba0758c8d..9b363fb63 100644 --- a/meta-digi-arm/conf/layer.conf +++ b/meta-digi-arm/conf/layer.conf @@ -46,3 +46,6 @@ LICENSE_PATH += "${LAYERDIR}/custom-licenses" DIGI_MTK_GIT ?= "git://stash.digi.com" DIGI_PKG_SRC ?= "https://ftp1.digi.com/support/digiembeddedyocto/source" DIGI_GITHUB_GIT ?= "git://github.com/digi-embedded" + +# Disable CVE report generation by default +do_vigiles_check[noexec] = "1" diff --git a/sdk/build.sh b/sdk/build.sh index 79d1d2b9d..b7e77d486 100755 --- a/sdk/build.sh +++ b/sdk/build.sh @@ -46,6 +46,7 @@ RM_WORK_EXCLUDE += \"dey-image-qt dey-image-webkit linux-dey qtbase u-boot-dey\" " VIGILES_CFG=" +unset do_vigiles_check[noexec] VIGILES_KEY_FILE = \"${DY_VIGILES_DIR}/linuxlink_key.json\" VIGILES_DASHBOARD_CONFIG = \"##VIGILES_CONF_PATH##\" VIGILES_SUBFOLDER_NAME = \"${DY_REVISION}\"