diff --git a/README.md b/README.md index 1a9a0a970..7c7123c14 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,14 @@ # Digi Embedded Yocto (DEY) 2.4 -## Release 2.4-r1 +## Release 2.4-r2-beta This document provides information about Digi Embedded Yocto, Digi International's professional embedded Yocto development environment. Digi Embedded Yocto 2.4 is based on the Yocto Project(TM) 2.4 (Rocko) release. +This is a beta release for the ConnectCore 8X SBC Express. The rest of the +platforms are supported but have not been fully tested. + For a full list of supported features and interfaces please refer to the online documentation. @@ -58,6 +61,16 @@ Software for the following hardware platforms is in production support: * ConnectCore 6 Plus SBC * CC-SB-WMX-KK8D +## ConnectCore 8X +* ConnectCore 8X System-on-Module (SOM) + * [CC-WMX-JM7D-NN](https://www.digi.com/cc8x) + * [CC-WMX-JM8E-NN](https://www.digi.com/cc8x) + * [CC-MX-JM8D-ZN](https://www.digi.com/cc8x) + * [CC-WMX-JN7D-NN](https://www.digi.com/cc8x) + * [CC-MX-JN7D-ZN](https://www.digi.com/cc8x) +* ConnectCore 8X SBC Express + * [CC-WMX8-EXPRESS](https://www.digi.com/cc8x) + Previous versions of Digi Embedded Yocto include support for additional Digi hardware. @@ -76,14 +89,28 @@ Documentation is available online on the Digi documentation site: * [ConnectCore 6UL SBC Pro](https://www.digi.com/resources/documentation/digidocs/90001547/default.htm) * [ConnectCore 6 SBC](https://www.digi.com/resources/documentation/digidocs/90001546/default.htm) * [ConnectCore 6 Plus SBC](https://www.digi.com/resources/documentation/digidocs/90002275/default.htm) +* [ConnectCore 8X SBC Express](https://www.digi.com/cc8x/documentation) # Downloads -* Demo images: ftp://ftp1.digi.com/support/digiembeddedyocto/2.4/r1/images/ -* Software Development Kit (SDK): ftp://ftp1.digi.com/support/digiembeddedyocto/2.4/r1/sdk/ +* Demo images: ftp://ftp1.digi.com/support/digiembeddedyocto/2.4/r2-beta/images/ +* Software Development Kit (SDK): ftp://ftp1.digi.com/support/digiembeddedyocto/2.4/r2-beta/sdk/ # Release Changelog +## 2.4-r2-beta + +* Added support for ConnectCore 8X platform. Supported features: + * Bluetooth and Wireless interfaces (STA, SoftAP, P2P, Concurrence) + * MCA: Reset, Watchdog, RTC, GPIOs and ADCs + * SBC Express interfaces: Ethernet, microSD, UART, I2C, CAN, SPI, USB host, + USB device, GPIOs, XBee, LVDS Display, Touch Screen controller + * Graphics and Video +* Updated U-Boot to version 2017.03-r1 +* Fixed XBee RESET_N polarity assertion. Requires updating polarity of the +``digi,reset-gpio`` property of node ``xbee`` on device tree files derived from +ConnectCore 6UL SBC Pro to use polarity **GPIO_ACTIVE_LOW** + ## 2.4-r1 * Release based on [Yocto 2.4 (Rocko)](https://www.yoctoproject.org/downloads/core/rocko24) including: @@ -160,6 +187,43 @@ boot a signed U-Boot only. * The Micrel PHY KSZ9031 may take between five and six seconds to auto-negotiate with Gigabit switches. +## ConnectCore 8X + +* i.MX8QXP Processor + * The following processor features are not supported in this BSP release: + Power Management, PWM, ADC, RS485. They will be implemented in future releases. + * VPU unit is not fully functional, hence hardware video encoding/decoding is + not available. On this release, video encoding/decoding can be done via + software plugins, reducing the performance of video playback. This will be + available in future releases of the hardware. + * GPU maximum performance reduced. The maximum frequency targets are 850 MHz + for the shaders and 700 MHz for the core. However, in this hardware release + the maximum frequency is limited to 650 MHz for the shaders and 600 MHz for + the core, with the corresponding performance reduction. These targets will + be met in future releases of the hardware. + * BSDL operation is not supported. It will be available in future releases + of the hardware. +* ConnectCore 8X System-on-Module (SOM) + * The UART connected to the Bluetooth chip on early versions of the ConnectCore + 8X System-on-Module (hardware version = 1) cannot properly execute flow + control. To work around this issue, UART1 of these SOM versions has been + configured to operate at 115200 bps and without hardware flow control, + reducing the maximum throughput of this interface. It will be fixed in + future releases of the hardware. + * MCA firmware cannot be updated without a debugger on early versions of the + ConnectCore 8X System-on-Module (hardware version = 1). It will be fixed in + future releases of the hardware. + * MCA internal voltage reference cannot be enabled on early versions of the + ConnectCore 8X System-on-Module (hardware version = 1). It will be fixed in + future releases of the hardware. + * MCA tamper pins configuration is not supported. It will be available in + future releases. +* Digi Embedded Yocto + * The following features are not supported in this release: + * Trustfence (TM) + * Digi Remote Manager + * Amazon Web Services + # Support Contact Information For support questions please contact Digi Technical Support: diff --git a/meta-digi-arm/classes/image_types_digi.bbclass b/meta-digi-arm/classes/image_types_digi.bbclass index e4a93ddbd..7a97ae4a7 100644 --- a/meta-digi-arm/classes/image_types_digi.bbclass +++ b/meta-digi-arm/classes/image_types_digi.bbclass @@ -228,6 +228,10 @@ BOARD_BOOTIMAGE_PARTITION_SIZE ??= "65536" # SD card image name SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.sdcard" +IMAGE_BOOTLOADER ?= "u-boot" +BOOTLOADER_SEEK ?= "1" + +SDIMG_BOOTLOADER ?= "${DEPLOY_DIR_IMAGE}/${UBOOT_SYMLINK}" SDIMG_BOOTFS_TYPE ?= "boot.vfat" SDIMG_BOOTFS = "${IMGDEPLOYDIR}/${IMAGE_NAME}.${SDIMG_BOOTFS_TYPE}" SDIMG_ROOTFS_TYPE ?= "ext4" @@ -237,7 +241,7 @@ do_image_sdcard[depends] = " \ dosfstools-native:do_populate_sysroot \ mtools-native:do_populate_sysroot \ parted-native:do_populate_sysroot \ - u-boot:do_deploy \ + ${IMAGE_BOOTLOADER}:do_deploy \ virtual/kernel:do_deploy \ " @@ -274,14 +278,14 @@ IMAGE_CMD_sdcard() { parted -s ${SDIMG} -- unit KiB mkpart primary ext2 $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) -1s parted -s ${SDIMG} unit KiB print + # FIXME: adapt trustfence handling for imx-boot # Set u-boot image to flash depending on whether TRUSTFENCE_SIGN is enabled - SDIMG_UBOOT="${DEPLOY_DIR_IMAGE}/${UBOOT_SYMLINK}" if [ "${TRUSTFENCE_SIGN}" = "1" ]; then - SDIMG_UBOOT="$(readlink -e ${SDIMG_UBOOT} | sed -e 's,u-boot-,u-boot-signed-,g')" + SDIMG_BOOTLOADER="$(readlink -e ${SDIMG_BOOTLOADER} | sed -e 's,u-boot-,u-boot-signed-,g')" fi # Burn bootloader, boot and rootfs partitions - dd if=${SDIMG_UBOOT} of=${SDIMG} conv=notrunc,fsync seek=2 bs=512 + dd if=${SDIMG_BOOTLOADER} of=${SDIMG} conv=notrunc,fsync seek=${BOOTLOADER_SEEK} bs=1K dd if=${SDIMG_BOOTFS} of=${SDIMG} conv=notrunc,fsync seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc,fsync seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024 + ${BOOT_SPACE_ALIGNED} \* 1024) } diff --git a/meta-digi-arm/conf/machine/ccimx8x-sbc-express.conf b/meta-digi-arm/conf/machine/ccimx8x-sbc-express.conf index a576a03e5..da1702ffb 100644 --- a/meta-digi-arm/conf/machine/ccimx8x-sbc-express.conf +++ b/meta-digi-arm/conf/machine/ccimx8x-sbc-express.conf @@ -27,6 +27,7 @@ UBOOT_CONFIG[ccimx8x_sbc_express2GB] = "ccimx8x_sbc_express2GB_defconfig,,u-boot UBOOT_CONFIG[ccimx8x_sbc_express1GB] = "ccimx8x_sbc_express1GB_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" KERNEL_DEVICETREE ?= " \ + digi/ccimx8x-sbc-express-id129.dtb \ digi/ccimx8x-sbc-express-wb.dtb \ digi/ccimx8x-sbc-express.dtb \ " diff --git a/meta-digi-arm/conf/machine/include/ccimx8x.inc b/meta-digi-arm/conf/machine/include/ccimx8x.inc index 1ea798c6a..7424d1e97 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8x.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8x.inc @@ -14,6 +14,10 @@ UBOOT_SYMLINK = "u-boot-${MACHINE}.${UBOOT_SUFFIX}" # The bootloader image that gets flashed consists of U-Boot and several fw binaries EXTRA_IMAGEDEPENDS = "imx-boot" +IMAGE_BOOTLOADER = "imx-boot" +# BOOTLOADER_SEEK is 33 for step A of the silicon and 32 for step B +BOOTLOADER_SEEK = "33" +SDIMG_BOOTLOADER = "${DEPLOY_DIR_IMAGE}/imx-boot-${MACHINE}.bin" # Linux kernel configuration KERNEL_DEFCONFIG ?= "arch/arm64/configs/ccimx8x_defconfig" diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bb b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bb index e90ae6ba2..ce67c406d 100644 --- a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bb +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bb @@ -218,6 +218,7 @@ do_deploy () { done cd ${DEPLOYDIR} ln -sf ${BOOT_CONFIG_MACHINE}-${type}.bin-${IMAGE_IMXBOOT_TARGET} ${BOOT_CONFIG_MACHINE}-${type}.bin + ln -sf ${BOOT_CONFIG_MACHINE}-${type}.bin-${IMAGE_IMXBOOT_TARGET} ${BOOT_CONFIG_MACHINE}-${MACHINE}.bin cd - done } diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/install_linux_fw_sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/install_linux_fw_sd.txt index 36c709a0b..f47c90b5f 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/install_linux_fw_sd.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/install_linux_fw_sd.txt @@ -21,8 +21,10 @@ fi # Determine U-Boot file to program basing on module variant if test -n "${module_variant}"; then - if test "${module_variant}" = "0x01"; then - setenv INSTALL_UBOOT_FILENAME u-boot-ccimx8x-sbc-express.bin; + if test "${module_variant}" = "0x01" || test "${module_variant}" = "0x04" || test "${module_variant}" = "0x05"; then + setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x_sbc_express1GB.bin; + elif test "${module_variant}" = "0x02" || test "${module_variant}" = "0x03"; then + setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x_sbc_express2GB.bin; fi fi # Use 'test -n ...' because 'test -z ...' does not work well on old versions of @@ -35,7 +37,9 @@ else echo ""; echo "1. Set variable 'INSTALL_UBOOT_FILENAME' depending on your ConnectCore 8X variant:"; echo " - For a QuadXPlus CPU with 1GB DDR3, run:"; - echo " => setenv INSTALL_UBOOT_FILENAME u-boot-ccimx8x-sbc-express.bin"; + echo " => setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x_sbc_express1GB.bin"; + echo " - For a QuadXPlus CPU with 2GB DDR3, run:"; + echo " => setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x_sbc_express2GB.bin"; echo ""; echo "2. Run the install script again."; echo ""; @@ -88,15 +92,18 @@ fi # Set 'bootcmd' to the second part of the script that will # - Reset environment to defaults # - Save the environment +# - Force on-the-fly updates to avoid possible verification errors # - Partition the eMMC user data area for Linux # - Update the 'linux' partition # - Update the 'recovery' partition # - Update the 'rootfs' partition # - Configure recovery to wipe 'update' partition +# - Disable on-the-fly updates # - Run 'recovery' and let the system boot after setenv bootcmd " env default -a; saveenv; + setenv otf-update yes; echo \"\"; echo \"\"; echo \">> Creating Linux partition table on the eMMC\"; @@ -148,6 +155,7 @@ setenv bootcmd " echo \"\"; setenv boot_recovery yes; setenv recovery_command wipe_update; + setenv otf-update; saveenv; echo \"\"; echo \"\"; diff --git a/meta-digi-arm/recipes-digi/mca/mca-tool_1.12.bb b/meta-digi-arm/recipes-digi/mca/mca-tool_1.13.bb similarity index 61% rename from meta-digi-arm/recipes-digi/mca/mca-tool_1.12.bb rename to meta-digi-arm/recipes-digi/mca/mca-tool_1.13.bb index 32926c0ce..61d255361 100644 --- a/meta-digi-arm/recipes-digi/mca/mca-tool_1.12.bb +++ b/meta-digi-arm/recipes-digi/mca/mca-tool_1.13.bb @@ -8,13 +8,13 @@ PKGNAME = "mca_tool" # ARM tarball SRC_URI_arm = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}-${TUNE_ARCH}.tar.gz;name=arm" -SRC_URI[arm.md5sum] = "bf9aff9f04118cceb2afe799ab940af2" -SRC_URI[arm.sha256sum] = "e74682cb9b0f93b1e5f2e900c1a860df250bbf8733837506df3063124413d51a" +SRC_URI[arm.md5sum] = "5ed2579b9e3e5bcb2bc10a8082f8be2b" +SRC_URI[arm.sha256sum] = "cfdb464893e02e37f5baaf9f08ac0fb8943a9a70a8fea6737d1b65c659ed9c42" # AARCH64 tarball SRC_URI_aarch64 = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}-${TUNE_ARCH}.tar.gz;name=aarch64" -SRC_URI[aarch64.md5sum] = "bf14a7a431353c37523149af24fb44d0" -SRC_URI[aarch64.sha256sum] = "8646837296b7d80de4ef3a5374d18aaf5a1d5b96345b6ce9e05ee982794ece24" +SRC_URI[aarch64.md5sum] = "9b6c4768205dda0444e04431245881d5" +SRC_URI[aarch64.sha256sum] = "a5e5947d62a6199afeeff74d48eb5b1c08a7f8836c84468b41e9f51773b54122" S = "${WORKDIR}/${PKGNAME}-${PV}" diff --git a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb index 882c70886..6e391ba1b 100644 --- a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb +++ b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb @@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425 DEPENDS = "trustfence-cst coreutils util-linux" -SRCBRANCH = "v2017.03/master" -SRCREV = "${AUTOREV}" +SRCBRANCH = "v2017.03/maint" +SRCREV = "8d60f536d2063ac6a0676bdf34c4c8c8807371c5" S = "${WORKDIR}" @@ -14,7 +14,7 @@ S = "${WORKDIR}" UBOOT_GIT_URI ?= "${@base_conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}u-boot-denx.git', '${DIGI_GITHUB_GIT}/u-boot.git', d)}" SRC_URI = " \ - ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ + ${UBOOT_GIT_URI};nobranch=1 \ file://trustfence-sign-kernel.sh;name=kernel-script \ file://sign_uimage;name=kernel-sign \ file://encrypt_uimage;name=kernel-encrypt \ diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey.inc b/meta-digi-arm/recipes-kernel/linux/linux-dey.inc index 34704e6b6..58fc19e12 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey.inc +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey.inc @@ -1,6 +1,8 @@ # Copyright (C) 2013-2018 Digi International SUMMARY = "Linux kernel for Digi boards" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" DEPENDS += "lzop-native bc-native" DEPENDS += "${@base_conditional('TRUSTFENCE_SIGN', '1', 'trustfence-sign-tools-native', '', d)}" diff --git a/meta-digi-dey/classes/dey-image-installer.bbclass b/meta-digi-dey/classes/dey-image-installer.bbclass index e3d0f1f9e..a0e1d18ed 100644 --- a/meta-digi-dey/classes/dey-image-installer.bbclass +++ b/meta-digi-dey/classes/dey-image-installer.bbclass @@ -27,8 +27,8 @@ generate_installer_zip () { fi done for ubconf in ${UBOOT_CONFIG}; do - if readlink -e "${DEPLOY_DIR_IMAGE}/u-boot-${ubconf}.${UBOOT_SUFFIX}" >/dev/null; then - INSTALLER_FILELIST="${INSTALLER_FILELIST} ${DEPLOY_DIR_IMAGE}/u-boot-${ubconf}.${UBOOT_SUFFIX}" + if readlink -e "${DEPLOY_DIR_IMAGE}/${IMAGE_BOOTLOADER}-${ubconf}.${UBOOT_SUFFIX}" >/dev/null; then + INSTALLER_FILELIST="${INSTALLER_FILELIST} ${DEPLOY_DIR_IMAGE}/${IMAGE_BOOTLOADER}-${ubconf}.${UBOOT_SUFFIX}" fi done diff --git a/meta-digi-dey/conf/distro/dey.conf b/meta-digi-dey/conf/distro/dey.conf index bdbe90f5e..898d255a4 100644 --- a/meta-digi-dey/conf/distro/dey.conf +++ b/meta-digi-dey/conf/distro/dey.conf @@ -1,6 +1,6 @@ DISTRO = "dey" DISTRO_NAME = "Digi Embedded Yocto" -DISTRO_VERSION = "2.4-r1" +DISTRO_VERSION = "2.4-r2-beta" DISTRO_CODENAME = "rocko" SDK_VENDOR = "-deysdk" SDK_VERSION := "${@'${DISTRO_VERSION}'}" diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.46/ccimx8x/bluetooth-init b/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.46/ccimx8x/bluetooth-init index 0a6a70cc4..7dfeccd1b 100644 --- a/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.46/ccimx8x/bluetooth-init +++ b/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.46/ccimx8x/bluetooth-init @@ -46,6 +46,21 @@ bluetooth_init() { BT_MACADDR="00:04:F3:FF:FF:BB" fi + # Module version older than revision 2 has swapped CTS and RTS lines + MOD_VERSION="$(($(cat /proc/device-tree/digi,hwid,hv 2>/dev/null | tr -d '\0' || true)))" + if [ "${MOD_VERSION}" -lt "2" ]; then + # Reduce the rate to avoid the need for HW flow control + BT_RATE="115200" + BT_RATE_CODE="00" # 115200 bps + BT_FLOW="noflow" + + # Modify the baudrate in the firmware file + BT_FW_FILE="/lib/firmware/qca/nvm_tlv_3.2.bin" + if [ "$(hexdump -s 56 -n 1 -ve '1/1 "%.2x"' ${BT_FW_FILE})" != "${BT_RATE_CODE}" ]; then + printf "\x${BT_RATE_CODE}" | dd of="${BT_FW_FILE}" bs=1 seek=56 count=1 conv=notrunc,fsync 2>/dev/null + fi + fi + # Start the Bluetooth driver and bring up the interface HCIATTACH_LOG="/var/log/hciattach.log" diff --git a/meta-digi-dey/recipes-core/images/dey-image-qt.bb b/meta-digi-dey/recipes-core/images/dey-image-qt.bb index 5f6281377..2461bbe03 100644 --- a/meta-digi-dey/recipes-core/images/dey-image-qt.bb +++ b/meta-digi-dey/recipes-core/images/dey-image-qt.bb @@ -5,7 +5,7 @@ DESCRIPTION = "DEY image with QT graphical libraries" LICENSE = "MIT" SOC_PACKAGES = "" -SOC_PACKAGES_imxgpu2d = "imx-gpu-viv-demos imx-gpu-viv-tools" +SOC_PACKAGES_ccimx6 = "imx-gpu-viv-demos imx-gpu-viv-tools" IMAGE_INSTALL = " \ packagegroup-dey-core \ diff --git a/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.1.bb b/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.1.bb deleted file mode 100644 index 74942b6f8..000000000 --- a/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (C) 2016-2018 Digi International. - -SUMMARY = "Trustfence command line tool" -SECTION = "console/tools" -LICENSE = "CLOSED" - -SRC_URI_arm = "${DIGI_PKG_SRC}/${BP}-${TUNE_ARCH}.tar.gz;name=arm" - -SRC_URI[arm.md5sum] = "31385122bed83d420f92efddd8975e99" -SRC_URI[arm.sha256sum] = "e5e9157837be8e26141708e06a881ef872dd94aa06451668959845c4d4d19efc" - -SRC_URI_aarch64 = "${DIGI_PKG_SRC}/${BP}-${TUNE_ARCH}.tar.gz;name=aarch64" - -SRC_URI[aarch64.md5sum] = "41116c3d1f5a71f7f6d97571ad52b872" -SRC_URI[aarch64.sha256sum] = "3fe7d39140b1b73d001afd220bf83965116175022f3a9f42695a752c23637e04" - -inherit bin_package diff --git a/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.2.bb b/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.2.bb new file mode 100644 index 000000000..68daf94fb --- /dev/null +++ b/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.2.bb @@ -0,0 +1,17 @@ +# Copyright (C) 2016-2018 Digi International. + +SUMMARY = "Trustfence command line tool" +SECTION = "console/tools" +LICENSE = "CLOSED" + +SRC_URI_arm = "${DIGI_PKG_SRC}/${BP}-${TUNE_ARCH}.tar.gz;name=arm" + +SRC_URI[arm.md5sum] = "443fe53304c2c3021150abc4dd7cf5d2" +SRC_URI[arm.sha256sum] = "d52b0ecd11d69a88341b01c1fdf9789500ef8ef9b0e8e12747aa85ded4d0b315" + +SRC_URI_aarch64 = "${DIGI_PKG_SRC}/${BP}-${TUNE_ARCH}.tar.gz;name=aarch64" + +SRC_URI[aarch64.md5sum] = "4608cc2594ac222578575e5ca4aecc1c" +SRC_URI[aarch64.sha256sum] = "f599e8627f798dcb43254ec52200d4d406662ad0fb79b95e57f75da870828625" + +inherit bin_package diff --git a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb index df5c2d21f..d32144c1a 100644 --- a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb +++ b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb @@ -8,14 +8,14 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MPL-2.0;md5=815ca599c9df247a0c7 DEPENDS = "confuse openssl recovery-utils zlib" SRCBRANCH = "master" -SRCREV = "${AUTOREV}" +SRCREV = "433c1a58a7e63933a60716195e6bb834b201bf1c" CC_STASH = "gitsm://git@stash.digi.com/cc/cc_dey.git;protocol=ssh" CC_GITHUB = "gitsm://github.com/digi-embedded/cc_dey.git;protocol=git" CC_GIT_URI ?= "${@base_conditional('DIGI_INTERNAL_GIT', '1' , '${CC_STASH}', '${CC_GITHUB}', d)}" -SRC_URI = "${CC_GIT_URI};branch=${SRCBRANCH}" +SRC_URI = "${CC_GIT_URI};nobranch=1" S = "${WORKDIR}/git" 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 b9b7c0f7b..4165f97cb 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 @@ -14,15 +14,15 @@ AWS_USER_LED_ccimx6ulsbc ?= "488" AWS_USER_LED_ccimx6sbc ?= "34" AWS_USER_LED_ccimx6qpsbc ?= "34" -SRCBRANCH = "master" -SRCREV = "${AUTOREV}" +SRCBRANCH = "dey-2.4/maint" +SRCREV = "6bb9699c29107cad06654bf537e92e4c9ec1b45c" CC_STASH = "${DIGI_MTK_GIT}dey/dey-examples.git;protocol=ssh" CC_GITHUB = "${DIGI_GITHUB_GIT}/dey-examples.git;protocol=git" CC_GIT_URI ?= "${@base_conditional('DIGI_INTERNAL_GIT', '1' , '${CC_STASH}', '${CC_GITHUB}', d)}" -SRC_URI = "${CC_GIT_URI};branch=${SRCBRANCH}" +SRC_URI = "${CC_GIT_URI};nobranch=1" S = "${WORKDIR}/git/awsiot-sample" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb index cc957ac2a..a86999278 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb @@ -7,15 +7,15 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425 DEPENDS = "cryptoauthlib" -SRCBRANCH = "master" -SRCREV = "${AUTOREV}" +SRCBRANCH = "dey-2.4/maint" +SRCREV = "6bb9699c29107cad06654bf537e92e4c9ec1b45c" CC_STASH = "${DIGI_MTK_GIT}dey/dey-examples.git;protocol=ssh" CC_GITHUB = "${DIGI_GITHUB_GIT}/dey-examples.git;protocol=git" CC_GIT_URI ?= "${@base_conditional('DIGI_INTERNAL_GIT', '1' , '${CC_STASH}', '${CC_GITHUB}', d)}" -SRC_URI = "${CC_GIT_URI};branch=${SRCBRANCH}" +SRC_URI = "${CC_GIT_URI};nobranch=1" S = "${WORKDIR}/git/cryptochip-get-random" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb index 28918bcc6..e54ad573a 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb @@ -7,15 +7,15 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca DEPENDS = "libdigiapix" -SRCBRANCH = "master" -SRCREV = "${AUTOREV}" +SRCBRANCH = "dey-2.4/maint" +SRCREV = "6bb9699c29107cad06654bf537e92e4c9ec1b45c" LIBDIGIAPIX_STASH = "${DIGI_MTK_GIT}dey/dey-examples.git;protocol=ssh" LIBDIGIAPIX_GITHUB = "${DIGI_GITHUB_GIT}/dey-examples.git;protocol=git" LIBDIGIAPIX_GIT_URI ?= "${@base_conditional('DIGI_INTERNAL_GIT', '1' , '${LIBDIGIAPIX_STASH}', '${LIBDIGIAPIX_GITHUB}', d)}" -SRC_URI = "${LIBDIGIAPIX_GIT_URI};branch=${SRCBRANCH}" +SRC_URI = "${LIBDIGIAPIX_GIT_URI};nobranch=1" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb index 7d67c9075..1f9f9069e 100644 --- a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb +++ b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca DEPENDS = "libsoc" SRCBRANCH ?= "master" -SRCREV = "${AUTOREV}" +SRCREV = "bfef0d85b43749fecd8faa3e962d1bc945ca03d2" LIBDIGIAPIX_URI_STASH = "${DIGI_MTK_GIT}dey/libdigiapix.git;protocol=ssh" LIBDIGIAPIX_URI_GITHUB = "git://github.com/digi-embedded/libdigiapix.git;protocol=git" @@ -17,7 +17,7 @@ LIBDIGIAPIX_URI_GITHUB = "git://github.com/digi-embedded/libdigiapix.git;protoco LIBDIGIAPIX_GIT_URI ?= "${@base_conditional('DIGI_INTERNAL_GIT', '1' , '${LIBDIGIAPIX_URI_STASH}', '${LIBDIGIAPIX_URI_GITHUB}', d)}" SRC_URI = " \ - ${LIBDIGIAPIX_GIT_URI};branch=${SRCBRANCH} \ + ${LIBDIGIAPIX_GIT_URI};nobranch=1 \ file://99-digiapix.rules \ file://board.conf \ file://digiapix.sh \ diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-v6.inc b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-v6.inc index cdf7557a2..8f62541d0 100644 --- a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-v6.inc +++ b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-v6.inc @@ -50,9 +50,7 @@ RPROVIDES_${PN}_imxgpu3d += "imx-gpu-viv" PE = "1" -inherit fsl-eula-unpack distro_features_check - -REQUIRED_DISTRO_FEATURES_mx8 = "wayland" +inherit fsl-eula-unpack SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" diff --git a/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-demos.bb b/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-demos.bb index 478f7219c..f51d9ea8d 100644 --- a/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-demos.bb +++ b/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-demos.bb @@ -9,7 +9,6 @@ inherit packagegroup RDEPENDS_${PN}_append = " \ qtserialport \ - qtsmarthome \ " # Install the following apps on SoC with GPU @@ -23,7 +22,3 @@ RDEPENDS_${PN}_append_imxgpu = " \ qt5-demo-extrafiles \ qt5everywheredemo \ " - -RDEPENDS_${PN}_append_imxgpu3d = " \ - qt3d-examples \ -" diff --git a/meta-digi-dey/recipes-qt/qt5/qtbase/ccimx8x/qt5.sh b/meta-digi-dey/recipes-qt/qt5/qtbase/ccimx8x/qt5.sh index 6779c9d12..a1aa3af34 100644 --- a/meta-digi-dey/recipes-qt/qt5/qtbase/ccimx8x/qt5.sh +++ b/meta-digi-dey/recipes-qt/qt5/qtbase/ccimx8x/qt5.sh @@ -1,2 +1,5 @@ #!/bin/sh -export QT_QPA_PLATFORM=wayland +export QT_QPA_PLATFORM="wayland" + +# Use EGLFS platform plugin for images without XWayland +[ -f "/etc/profile.d/weston.sh" ] || export QT_QPA_PLATFORM="eglfs" diff --git a/sdk/build-github.sh b/sdk/build-github.sh index 7ffeaa69f..6566d0912 100755 --- a/sdk/build-github.sh +++ b/sdk/build-github.sh @@ -36,8 +36,8 @@ ZIP_INSTALLER_CFG=" DEY_IMAGE_INSTALLER = \"1\" " -X11_REMOVAL_CFG=" -DISTRO_FEATURES_remove = \"x11\" +BACKEND_REMOVAL_CFG=" +DISTRO_FEATURES_remove = \"x11 wayland vulkan\" " REPO="$(which repo)" @@ -117,7 +117,9 @@ swu_recipe_name() { # Per-platform data while read _pl _tgt; do [ -n "${DY_TARGET}" ] && _tgt="${DY_TARGET}" || true - eval "${_pl}_tgt=\"${_tgt}\"" + # Dashes are not allowed in variables so let's substitute them on + # the fly with underscores. + eval "${_pl//-/_}_tgt=\"${_tgt//,/ }\"" done<<-_EOF_ ccimx8x-sbc-express dey-image-qt ccimx6qpsbc dey-image-qt @@ -159,7 +161,9 @@ fi # Create projects and build rm -rf ${YOCTO_IMGS_DIR} ${YOCTO_PROJ_DIR} for platform in ${DY_PLATFORMS}; do - eval platform_targets="\${${platform}_tgt}" + # The variables _var|tgt got their dashes converted to + # underscores, so we must convert also the ones in ${platform}. + eval platform_targets=\"\${${platform//-/_}_tgt}\" _this_prj_dir="${YOCTO_PROJ_DIR}/${platform}" _this_img_dir="${YOCTO_IMGS_DIR}/${platform}" mkdir -p ${_this_img_dir} ${_this_prj_dir} @@ -175,9 +179,9 @@ for platform in ${DY_PLATFORMS}; do conf/local.conf printf "${RM_WORK_CFG}" >> conf/local.conf printf "${ZIP_INSTALLER_CFG}" >> conf/local.conf - # Remove 'x11' distro feature if building framebuffer images + # Remove all desktop backend distro features if building framebuffer images if [ "${DY_FB_IMAGE}" = "true" ]; then - printf "${X11_REMOVAL_CFG}" >> conf/local.conf + printf "${BACKEND_REMOVAL_CFG}" >> conf/local.conf fi for target in ${platform_targets}; do printf "\n[INFO] Building the ${target} target.\n" diff --git a/sdk/build.sh b/sdk/build.sh index a5191d980..bea80823e 100755 --- a/sdk/build.sh +++ b/sdk/build.sh @@ -49,8 +49,8 @@ ZIP_INSTALLER_CFG=" DEY_IMAGE_INSTALLER = \"1\" " -X11_REMOVAL_CFG=" -DISTRO_FEATURES_remove = \"x11\" +BACKEND_REMOVAL_CFG=" +DISTRO_FEATURES_remove = \"x11 wayland vulkan\" " REPO="$(which repo)" @@ -171,7 +171,7 @@ while read _pl _var _tgt; do eval "${_pl//-/_}_var=\"${_var//,/ }\"" eval "${_pl//-/_}_tgt=\"${_tgt//,/ }\"" done<<-_EOF_ - ccimx8x-sbc-express DONTBUILDVARIANTS dey-image-qt,dey-image-aws + ccimx8x-sbc-express DONTBUILDVARIANTS dey-image-qt ccimx6qpsbc DONTBUILDVARIANTS dey-image-qt,dey-image-aws ccimx6sbc DONTBUILDVARIANTS dey-image-qt,dey-image-aws ccimx6ulsbc DONTBUILDVARIANTS dey-image-qt,dey-image-aws @@ -254,9 +254,9 @@ for platform in ${DY_PLATFORMS}; do printf "${RM_WORK_CFG}" >> conf/local.conf fi printf "${ZIP_INSTALLER_CFG}" >> conf/local.conf - # Remove 'x11' distro feature if building framebuffer images + # Remove all desktop backend distro features if building framebuffer images if [ "${DY_FB_IMAGE}" = "true" ]; then - printf "${X11_REMOVAL_CFG}" >> conf/local.conf + printf "${BACKEND_REMOVAL_CFG}" >> conf/local.conf fi # Append extra configuration macros if provided from build environment if [ -n "${DY_EXTRA_LOCAL_CONF}" ]; then diff --git a/sdk/config/ccimx8x-sbc-express/conf-notes.txt b/sdk/config/ccimx8x-sbc-express/conf-notes.txt index fee2b5471..6085b7217 100644 --- a/sdk/config/ccimx8x-sbc-express/conf-notes.txt +++ b/sdk/config/ccimx8x-sbc-express/conf-notes.txt @@ -5,6 +5,11 @@ Digi Embedded Yocto provides the following image recipes: By default the image is XWayland-based so it provides a full Weston desktop environment. + To compile the image for the framebuffer (instead of XWayland) add + the following line to the project's conf/local.conf: + + DISTRO_FEATURES_remove = "x11 wayland vulkan" + * dey-image-aws: console-only image supporting Amazon Web Services IoT This image includes the AWS Greengrass Core and an AWS IoT platform