diff --git a/meta-digi-arm/classes/boot-artifacts.bbclass b/meta-digi-arm/classes/boot-artifacts.bbclass deleted file mode 100644 index 37cf486ed..000000000 --- a/meta-digi-arm/classes/boot-artifacts.bbclass +++ /dev/null @@ -1,71 +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 "" - 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 != "": - 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)) - 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/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/layer.conf b/meta-digi-arm/conf/layer.conf index 05afa1012..9b363fb63 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 \ @@ -47,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/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 b5b33f670..758abbfb8 100644 --- a/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf @@ -12,21 +12,23 @@ 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 UBOOT_DTB_NAME = "ccimx8mm-dvk.dtb" ATF_PLATFORM = "imx8mm" +IMX_BOOT_SOC_TARGET = "iMX8MM" 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 \ @@ -48,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 21f16da00..867da88bb 100644 --- a/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf @@ -12,21 +12,23 @@ 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 UBOOT_DTB_NAME = "ccimx8mn-dvk.dtb" ATF_PLATFORM = "imx8mn" +IMX_BOOT_SOC_TARGET = "iMX8MN" 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 \ @@ -50,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/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/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/ccimx93-dvk.conf b/meta-digi-arm/conf/machine/ccimx93-dvk.conf new file mode 100644 index 000000000..d446b5082 --- /dev/null +++ b/meta-digi-arm/conf/machine/ccimx93-dvk.conf @@ -0,0 +1,40 @@ +#@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 ??= "ccimx93-dvk" +UBOOT_CONFIG[ccimx93-dvk] = "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_mca_ccimx93.dtbo \ + digi/_ov_som_wifi_ccimx93.dtbo \ +" + +# 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" + +# 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", \ + "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" diff --git a/meta-digi-arm/conf/machine/ccmp13-dvk.conf b/meta-digi-arm/conf/machine/ccmp13-dvk.conf index a0454d185..99a9352e3 100644 --- a/meta-digi-arm/conf/machine/ccmp13-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp13-dvk.conf @@ -27,13 +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" -UBOOT_HAS_FASTBOOT = "true" - -# Set U-Boot FIP settings -FIP_UBOOT_DTB = "u-boot" -FIP_UBOOT_CONFIG = "optee" # ========================================================================= # Machine settings @@ -46,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 \ " @@ -55,7 +50,6 @@ STM32MP_KERNEL_DEVICETREE:ccmp13-dvk += " \ # ========================================================================= MACHINE_FEATURES += "bluetooth" MACHINE_FEATURES += "wifi" -MACHINE_FEATURES += "mca" # ========================================================================= # Firmware @@ -172,11 +166,11 @@ 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" + +# 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 7f4c01b74..2cdd0510c 100644 --- a/meta-digi-arm/conf/machine/ccmp15-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp15-dvk.conf @@ -27,13 +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" -UBOOT_HAS_FASTBOOT = "true" - -# Set U-Boot FIP settings -FIP_UBOOT_DTB = "u-boot" -FIP_UBOOT_CONFIG = "optee" # ========================================================================= # Machine settings @@ -63,7 +56,6 @@ STM32MP_KERNEL_DEVICETREE:ccmp15-dvk += " \ MACHINE_FEATURES += "bluetooth" MACHINE_FEATURES += "wifi" MACHINE_FEATURES += "gpu" -MACHINE_FEATURES += "mca" # ========================================================================= # Firmware @@ -82,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" @@ -184,15 +179,15 @@ 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" +# 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" @@ -200,6 +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}')}" -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 dca989cfb..525de6725 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" @@ -35,10 +34,9 @@ MACHINE_EXTRA_RDEPENDS += " \ MACHINE_EXTRA_RRECOMMENDS += " \ ${MACHINE_FIRMWARE} \ ${WIRELESS_MODULE} \ - ${@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" @@ -54,6 +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}')}" -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 6b83e56ed..3e7bc79bb 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6ul.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6ul.inc @@ -8,10 +8,12 @@ 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" -UBOOT_HAS_FASTBOOT = "true" STORAGE_MEDIA = "mtd" @@ -33,9 +35,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" @@ -58,9 +58,8 @@ 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}')}" -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 21fddb861..a78eb6206 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8m.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8m.inc @@ -8,16 +8,21 @@ 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" +EXTRA_IMAGEDEPENDS += "imx-boot" 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" @@ -46,13 +51,7 @@ MACHINE_EXTRA_RRECOMMENDS += " \ ${WIRELESS_MODULE} \ " -MACHINE_FEATURES += "accel-graphics accel-video 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" +MACHINE_FEATURES += "accel-graphics wifi bluetooth cryptochip mca optee" # TrustFence TRUSTFENCE_SIGN_MODE = "HAB" @@ -60,7 +59,6 @@ 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" @@ -69,6 +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}')}" -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 b116c959d..66f457243 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8x.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8x.inc @@ -11,10 +11,9 @@ 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" +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" @@ -53,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 \ @@ -65,13 +68,7 @@ MACHINE_EXTRA_RRECOMMENDS += " \ ${WIRELESS_MODULE} \ " -MACHINE_FEATURES += "accel-graphics accel-video 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" +MACHINE_FEATURES += "accel-graphics wifi bluetooth cryptochip pci mca" # TrustFence TRUSTFENCE_SIGN_MODE = "AHAB" @@ -79,7 +76,6 @@ 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" @@ -88,6 +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}')}" -UBOOT_DEV_NAME ?= "/dev/mmcblk0boot0" 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..149657558 --- /dev/null +++ b/meta-digi-arm/conf/machine/include/ccimx93.inc @@ -0,0 +1,67 @@ +#@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 = "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 \ + 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" + +SPL_BINARY = "spl/u-boot-spl.bin" + +# Set ATF platform name +ATF_PLATFORM = "imx93" + +MACHINE_EXTRA_RDEPENDS += " \ + xbee-init \ +" + +# TrustFence +TRUSTFENCE_SIGN_MODE = "AHAB" + +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" + +# 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/ccmp1.inc b/meta-digi-arm/conf/machine/include/ccmp1.inc index ed3ae6a2d..49c5f4c1b 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" @@ -24,9 +26,8 @@ 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}')}" -UBOOT_DEV_NAME ?= "/dev/mtd" # U-Boot environment offset (within partition) UBOOT_ENV_OFFSET ?= "0x0" UBOOT_ENV_REDUND_OFFSET ?= "0x0" @@ -37,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-arm/conf/machine/include/digi-defaults.inc b/meta-digi-arm/conf/machine/include/digi-defaults.inc index 8f2f9bb2c..d27c3dcfb 100644 --- a/meta-digi-arm/conf/machine/include/digi-defaults.inc +++ b/meta-digi-arm/conf/machine/include/digi-defaults.inc @@ -16,7 +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) -# ccimx8mp 5.10 2021.04 (packaged in imx-boot) +# ccimx93 5.15 2022.04 (packaged in imx-boot) # ccmp15 5.15 2021.10 # ccmp13 5.15 2021.10 # @@ -26,6 +26,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 # @@ -60,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/conf/machine/include/imx-digi-base.inc b/meta-digi-arm/conf/machine/include/imx-digi-base.inc index 84ae86a30..5f5af3da8 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" @@ -34,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" @@ -48,6 +56,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 @@ -60,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 \ @@ -88,6 +98,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 +113,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" @@ -125,11 +137,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 +169,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 \ " @@ -177,26 +183,36 @@ 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: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" # 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" +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' -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 @@ -221,6 +237,7 @@ 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" @@ -232,30 +249,40 @@ 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-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" +EXTRA_IMAGEDEPENDS += "u-boot" -KERNEL_IMAGETYPE ?= "zImage" +KERNEL_IMAGETYPE = "zImage" +KERNEL_IMAGETYPE:aarch64 = "Image.gz" 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-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..08a1b4e93 --- /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 recipes-bsp/firmware-imx/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 index c4f7ee37c..9d4bb94b9 100644 --- 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 @@ -1,4 +1,4 @@ -# Copyright (C) 2022, Digi International Inc. +# Copyright (C) 2023, Digi International Inc. do_install:append() { # meta-freescale deletes the SDMA firmware provided by the firmware-imx package, 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..8eeba6d29 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_2.6.bbappend @@ -0,0 +1,20 @@ +# Copyright (C) 2022,2023 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 \ +" + +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 +} 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-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/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 de1672874..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 @@ -1,370 +1,65 @@ -# Copyright 2017-2021 NXP -# Copyright 2019-2021 Digi International, Inc. - -require imx-mkimage_git.inc - -IMX_M4_DEMOS = "" -IMX_M4_DEMOS:mx8-nxp-bsp = "imx-m4-demos:do_deploy" -IMX_M4_DEMOS:mx8m-nxp-bsp = "" - -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" - -# 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 -} - -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 - - # 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 -} - -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} -} - -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 +# Copyright (C) 2022 Digi International 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} \ +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 \ " -# 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 \ -" +DEPENDS += "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', 'trustfence-sign-tools-native', '', d)}" -IMXBOOT_TARGETS:ccimx8x = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \ - 'flash flash_regression_linux_m4', d)}" +# Do not tag imx-boot +UUU_BOOTLOADER = "" +UUU_BOOTLOADER_TAGGED = "" -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 +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 } -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 +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 +} - # 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 +do_deploy:append() { + # 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 - - # 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)" +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" 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" 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-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_%.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 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-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-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-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)" 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}" 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/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..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 @@ -1,5 +1,17 @@ -# 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: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, 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 " 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..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} @@ -61,7 +62,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 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)} \ 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() { 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/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 + } + } +} 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/digi-u-boot.inc b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc similarity index 50% 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 index b0bfe30c4..45763922b 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc @@ -13,19 +13,24 @@ 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" 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" @@ -33,120 +38,53 @@ BUILD_UBOOT_SCRIPTS ?= "true" BOOTLOADER_IMAGE_RECIPE ?= "u-boot" LOCALVERSION ?= "" +inherit ${@oe.utils.conditional('DEY_BUILD_PLATFORM', 'NXP', 'fsl-u-boot-localversion', '', d)} -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"): + 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\")") } -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)}" 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() { - # 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 @@ -167,7 +105,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() { @@ -186,21 +123,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 @@ -252,7 +189,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 } 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/ccimx8mp-dvk/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt similarity index 69% rename from meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mp-dvk/boot.txt rename to meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx93-dvk/boot.txt index 3efee8a11..04aa40eba 100644 --- 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/ccimx93-dvk/boot.txt @@ -49,48 +49,38 @@ else 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 +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 +setexpr module_has_bt ${module_has_bt} / 40000 - ## - ## @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 +if test "${module_has_bt}" = "1" && test -z "${disable_bt}"; then + setenv overlays _ov_som_bt_ccimx93.dtbo,${overlays} +fi + +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 -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} -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-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..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 @@ -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 6831b34a7..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 @@ -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 8a6539163..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 @@ -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 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 31df54434..d7a573416 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 c1d262c15..a8e2c07d8 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" 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_2022.04.bb similarity index 67% rename from meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2021.04.bb rename to meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2022.04.bb index a7125775d..4b2e21d26 100644 --- 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_2022.04.bb @@ -1,11 +1,11 @@ # 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" -SRCBRANCH = "v2021.04/master" +SRCBRANCH = "v2022.04/master" SRCREV = "${AUTOREV}" -COMPATIBLE_MACHINE = "(ccimx8mp)" +COMPATIBLE_MACHINE = "(ccimx93)" 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-arm/recipes-kernel/linux/linux-dey_5.15.bb b/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb index b511d33c4..a8c85a053 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 @@ -45,6 +45,11 @@ do_configure:append() { fi } +# Create base DTB suitable for overlays +OVERLAYS_DTC_FLAGS = "-@" +OVERLAYS_DTC_FLAGS:ccimx6ul = "" +KERNEL_DTC_FLAGS = "${OVERLAYS_DTC_FLAGS}" + KERNEL_EXTRA_ARGS:stm32mpcommon += "LOADADDR=${ST_KERNEL_LOADADDR}" -COMPATIBLE_MACHINE = "(ccimx6ul|ccmp1)" +COMPATIBLE_MACHINE = "(ccimx6ul|ccimx8m|ccimx93|ccmp1)" 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/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" # 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/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 new file mode 100644 index 000000000..4224ebe47 --- /dev/null +++ b/meta-digi-dey/classes/qt-version.bbclass @@ -0,0 +1,14 @@ +# +# 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 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/classes/trustfence.bbclass b/meta-digi-dey/classes/trustfence.bbclass index 1ba821755..663204290 100644 --- a/meta-digi-dey/classes/trustfence.bbclass +++ b/meta-digi-dey/classes/trustfence.bbclass @@ -34,58 +34,56 @@ TRUSTFENCE_READ_ONLY_ROOTFS ?= "${@bb.utils.contains("IMAGE_FEATURES", "read-onl IMAGE_FEATURES += "dey-trustfence" -UBOOT_EXTRA_CONF = "" - python () { import binascii import hashlib import os # Secure console configuration - if (d.getVar("TRUSTFENCE_CONSOLE_DISABLE", True) == "1"): - d.appendVar("UBOOT_EXTRA_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) - 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)) + if (d.getVar("TRUSTFENCE_CONSOLE_DISABLE") == "1"): + d.appendVar("UBOOT_TF_CONF", "CONFIG_CONSOLE_DISABLE=y ") + 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"): + 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"): - d.appendVar("UBOOT_EXTRA_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 ") - 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)) - if (d.getVar("TRUSTFENCE_UNLOCK_KEY_REVOCATION", True) == "1"): - d.appendVar("UBOOT_EXTRA_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)) - 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)) - if d.getVar("TRUSTFENCE_SIGN_MODE", True): - d.appendVar("UBOOT_EXTRA_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') + 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") == "1"): + d.appendVar("UBOOT_TF_CONF", "CONFIG_AUTHENTICATE_SQUASHFS_ROOTFS=y ") + 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"): + 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. @@ -100,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/conf/distro/dey.conf b/meta-digi-dey/conf/distro/dey.conf index 2da86c239..30178dd18 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,12 +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%" - -# 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 @@ -64,49 +53,10 @@ 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" +# Use systemd init manager by default +INIT_MANAGER ?= "systemd" diff --git a/meta-digi-dey/conf/layer.conf b/meta-digi-dey/conf/layer.conf index e4c306b08..c456ba13c 100644 --- a/meta-digi-dey/conf/layer.conf +++ b/meta-digi-dey/conf/layer.conf @@ -14,6 +14,14 @@ 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 \ + 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" @@ -21,7 +29,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/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} \ 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..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 @@ -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,26 @@ 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 + printf "\n[launcher]\nicon=${datadir}/weston/terminal.png\npath=${bindir}/weston-terminal\n" >> ${D}${sysconfdir}/xdg/weston/weston.ini +} - # Add custom background image - install -d ${D}${datadir}/weston - install ${WORKDIR}/digi_background.png ${D}${datadir}/weston +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/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] 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)" 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/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.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_%.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* \ 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)" 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..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,16 +31,18 @@ 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} \ ${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)} \ " 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/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/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 64% 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 index e123a14b8..d0d85396a 100644 --- 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 @@ -1,10 +1,6 @@ -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 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/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 000000000..720fbe298 Binary files /dev/null and b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/cinematicexperience-rhi/icon_qt.png differ diff --git a/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/cinematicexperience-rhi_%.bbappend b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/cinematicexperience-rhi_%.bbappend new file mode 100644 index 000000000..ed6fdadb7 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/examples/cinematicexperience-rhi_%.bbappend @@ -0,0 +1,12 @@ +# Copyright (C) 2023 Digi International. + +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SRC_URI += "file://icon_qt.png" + +do_install:append() { + install -d ${D}${datadir}/icons/hicolor/24x24 + install -m 0644 ${WORKDIR}/icon_qt.png ${D}${datadir}/icons/hicolor/24x24/ + + ln -sf qt5-cinematic-experience ${D}${bindir}/cinematic-experience +} 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-demos.bb b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-demos.bb similarity index 79% 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 index 8d9a67951..f893a5450 100644 --- 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 @@ -25,4 +25,11 @@ RDEPENDS:${PN}:append:imxgpu = " \ qt5nmapcarousedemo \ qt5nmapper \ cinematicexperience-rhi \ + cinematicexperience-rhi-tools \ +" + +RDEPENDS:${PN}:append:ccmp15 = " \ + qt5everywheredemo \ + cinematicexperience-rhi \ + cinematicexperience-rhi-tools \ " 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..94293de24 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt5-layer/recipes-qt/packagegroups/packagegroup-qt5-dey.bb @@ -0,0 +1,46 @@ +# +# 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)}" + +# 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 \ +" + +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" + +RDEPENDS:${PN} += " \ + liberation-fonts \ + ${QT5_RDEPENDS} \ +" 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 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/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..044dcc8d7 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb @@ -0,0 +1,27 @@ +# 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 \ + 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-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/icon_qt.png b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/examples/cinematicexperience-rhi/icon_qt.png new file mode 100644 index 000000000..720fbe298 Binary files /dev/null and b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/examples/cinematicexperience-rhi/icon_qt.png differ diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/examples/cinematicexperience-rhi_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/examples/cinematicexperience-rhi_%.bbappend new file mode 100644 index 000000000..a683b1ad3 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/examples/cinematicexperience-rhi_%.bbappend @@ -0,0 +1,12 @@ +# Copyright (C) 2023 Digi International. + +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SRC_URI += "file://icon_qt.png" + +do_install:append() { + install -d ${D}${datadir}/icons/hicolor/24x24 + install -m 0644 ${WORKDIR}/icon_qt.png ${D}${datadir}/icons/hicolor/24x24/ + + ln -sf qt6-cinematic-experience ${D}${bindir}/cinematic-experience +} 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..deb2b0c9f --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase_%.bbappend @@ -0,0 +1,74 @@ +# 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 +} + +do_install:append:ccimx93() { + echo "export QMLSCENE_DEVICE=softwarecontext" >> ${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" 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" 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/0001-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 new file mode 100644 index 000000000..c88e1514b --- /dev/null +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-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..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 @@ -1,17 +1,14 @@ -# 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://0001-wl-Fix-wrong-wl_shm-for-cursor.patch \ " 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 +# on the i.MX6 and ccmp1 PACKAGECONFIG:remove:ccimx6 = "drm" +PACKAGECONFIG:remove:ccmp1 = "drm" 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..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 @@ -1,14 +1,17 @@ # -# Copyright (C) 2020, Digi International Inc. +# Copyright (C) 2020-2023, Digi International Inc. # 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 \ + ${CC_DEMO_PACKAGE} \ wpewebkit \ " 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)" 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..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 @@ -1,12 +1,58 @@ -# 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" + +# 'connectcore-demo-example-init' script uses '/etc/init.d/functions' +RDEPENDS:${PN} += "initscripts-functions" + +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 3610a0e98..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 @@ -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,25 @@ # 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,20 +47,36 @@ stop_process() { done } -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} \ +start() { + local COG_ENV="${DEMO_ENV}" + + 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}" ;; 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 073253885..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,10 @@ [Unit] Description=Initialization of the ConnectCore demo example -After=weston@root.service busybox-httpd.service +After=connectcore-demo-server + +# 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-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-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 diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb b/meta-digi-dey/recipes-connectivity/bluez/bluez5-init.bb index 9036bb7e0..a6cd7ee41 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 @@ -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-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-connectivity/modemmanager/modemmanager/ccimx8mp/80-mm-net-device-blacklist.rules b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx93/80-mm-net-device-blacklist.rules similarity index 100% rename from meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx8mp/80-mm-net-device-blacklist.rules rename to meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx93/80-mm-net-device-blacklist.rules 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 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-connectivity/xbee/xbee.bb b/meta-digi-dey/recipes-connectivity/xbee/xbee.bb index 577681d61..2b31f2531 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 ." @@ -40,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) 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/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 94% rename from meta-digi-dey/recipes-core/busybox/busybox/ccimx6sbc/standby rename to meta-digi-dey/recipes-core/busybox/busybox/standby index 897402db1..385bc3283 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 @@ -75,6 +76,8 @@ resume_interfaces() { # Resume NetworkManager after suspend ${NM_DAEMON} start + + exit_critical_section } enter_critical_section() { @@ -109,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 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 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..6c80f4633 100644 --- a/meta-digi-dey/recipes-core/images/core-image-base.bbappend +++ b/meta-digi-dey/recipes-core/images/core-image-base.bbappend @@ -5,9 +5,8 @@ IMAGE_FEATURES += " \ dey-network \ eclipse-debug \ - package-management \ 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-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 3449c613c..de593a3ea 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,27 +19,16 @@ IMAGE_FEATURES += " \ dey-network \ dey-${GRAPHICAL_CORE} \ eclipse-debug \ - package-management \ ssh-server-dropbear \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \ + ${@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)}" - -# 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" @@ -60,7 +49,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 \ " 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 0842c0daa..b1e9f4e71 100644 --- a/meta-digi-dey/recipes-core/images/dey-image-qt.bb +++ b/meta-digi-dey/recipes-core/images/dey-image-qt.bb @@ -1,8 +1,17 @@ # -# Copyright (C) 2016-2020 Digi International. +# Copyright (C) 2016-2023 Digi International. # require dey-image-graphical.inc DESCRIPTION = "DEY image with QT graphical libraries" GRAPHICAL_CORE = "qt" + +add_cinematicexperience_shortcut() { + if [ -f ${IMAGE_ROOTFS}${datadir}/icons/hicolor/24x24/icon_qt.png ] && [ -f ${IMAGE_ROOTFS}${sysconfdir}/xdg/weston/weston.ini ]; then + printf "\n[launcher]\nicon=${datadir}/icons/hicolor/24x24/icon_qt.png\npath=${bindir}/cinematic-experience\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; " 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..20a1a6e4c 100644 --- a/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb +++ b/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb @@ -20,33 +20,33 @@ 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} = "\ - awsiotsdk-c \ base-files \ 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)} \ - ${@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 \ @@ -57,10 +57,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} \ 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/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..01735aaa4 100644 --- a/meta-digi-dey/recipes-core/systemd/systemd-conf_%.bbappend +++ b/meta-digi-dey/recipes-core/systemd/systemd-conf_%.bbappend @@ -1,11 +1,19 @@ -# 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 \ +" + +SRC_URI:append:ccmp1 = " \ + file://logind.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 +} + +do_install:append:ccmp1() { + install -D -m0644 ${WORKDIR}/logind.conf-digi ${D}${systemd_unitdir}/logind.conf.d/01-${PN}.conf } 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/crank-demo-init b/meta-digi-dey/recipes-crank/crank-demos/crank-demos/crank-demo-init index c0000eac5..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 @@ -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,9 +60,8 @@ 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 sleep 1 count=$((count-1)) @@ -94,8 +92,8 @@ stop() { 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 & + [ -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} log info "$(cat ${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 bdab17017..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 @@ -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 ?= "" @@ -21,22 +21,19 @@ 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 # 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) } @@ -73,7 +70,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 @@ -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 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..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,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 "$@" 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-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" 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 \ -" 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" diff --git a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb index 8c4cb15a1..b66a4a5ee 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 = "dey-4.0/maint" SRCREV = "${AUTOREV}" @@ -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" @@ -71,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 = "" 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-digi/dey-examples/connectcore-demo-example.inc b/meta-digi-dey/recipes-digi/dey-examples/connectcore-demo-example.inc index d2afb0c43..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 @@ -1,4 +1,4 @@ -# Copyright (C) 2022 Digi International. +# Copyright (C) 2022, 2023 Digi International. require dey-examples-src.inc @@ -9,11 +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 \ " -RDEPENDS:${PN} = " \ +RDEPENDS:${PN}-server = " \ busybox-httpd \ libdigiapix-python3 \ mpg123 \ @@ -30,31 +30,64 @@ 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/ - 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 + # Remove unused images + find ${D}/srv/www/static/images/ -type f -name '*_board.png' -not -name '${MACHINE}_board.png' -delete - # 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 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-server.service ${D}${systemd_unitdir}/system/ + fi + + # Install connectcore-demo-server-init + install -d ${D}${sysconfdir}/init.d/ + 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 20 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/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 91% 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 index c74e99efc..5ba2d9b6f 100644 --- 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 @@ -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 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" diff --git a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx8mp-dvk/libdigiapix.conf b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx93-dvk/libdigiapix.conf similarity index 85% rename from meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx8mp-dvk/libdigiapix.conf rename to meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx93-dvk/libdigiapix.conf index 5a4886fc3..2b1044637 100644 --- a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx8mp-dvk/libdigiapix.conf +++ b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx93-dvk/libdigiapix.conf @@ -1,5 +1,5 @@ [board] -model = Digi International ConnectCore 8M Plus DVK. +model = Digi International ConnectCore 8M Mini DVK. [GPIO] @@ -18,7 +18,7 @@ USER_BUTTON = mca-gpio,10 USER_BUTTON1 = mca-gpio,10 # USER BUTTON2 -USER_BUTTON2 = gpio3,7 +USER_BUTTON2 = gpio2,20 [I2C] 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 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..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" @@ -16,12 +16,11 @@ 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 \ 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)} \ 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")] 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)}" 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 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" 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 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}" 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" 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" diff --git a/meta-digi-dey/recipes-support/swupdate/swupdate_2022.05.bbappend b/meta-digi-dey/recipes-support/swupdate/swupdate_%.bbappend similarity index 84% rename from meta-digi-dey/recipes-support/swupdate/swupdate_2022.05.bbappend rename to meta-digi-dey/recipes-support/swupdate/swupdate_%.bbappend index 6c38638a2..feaaeeb6e 100644 --- a/meta-digi-dey/recipes-support/swupdate/swupdate_2022.05.bbappend +++ b/meta-digi-dey/recipes-support/swupdate/swupdate_%.bbappend @@ -31,6 +31,8 @@ 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 } + +inherit ${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", "remove-pkg-postinst-ontarget", "", d)} diff --git a/sdk/build-github.sh b/sdk/build-github.sh index 3c468ba1f..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 @@ -25,7 +25,6 @@ set -e AVAILABLE_PLATFORMS=" \ ccimx8mm-dvk \ ccimx8mn-dvk \ - ccimx8mp-dvk \ ccimx8x-sbc-pro \ ccimx8x-sbc-express \ ccimx6qpsbc \ @@ -143,14 +142,13 @@ 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 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_ @@ -181,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 diff --git a/sdk/build.sh b/sdk/build.sh index 2dc47ed90..b7e77d486 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,14 @@ INHERIT += \"rm_work\" 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}\" +INHERIT += \"vigiles\" +" + ZIP_INSTALLER_CFG=" DEY_IMAGE_INSTALLER = \"1\" " @@ -150,6 +161,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 @@ -160,7 +176,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 @@ -169,8 +184,9 @@ 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_ YOCTO_IMGS_DIR="${WORKSPACE}/images" @@ -264,6 +280,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 + [ ! -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 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/ccimx8mp-dvk/bblayers.conf.sample b/sdk/config/ccimx93-dvk/bblayers.conf.sample similarity index 96% rename from sdk/config/ccimx8mp-dvk/bblayers.conf.sample rename to sdk/config/ccimx93-dvk/bblayers.conf.sample index f716b9844..9277597fc 100644 --- a/sdk/config/ccimx8mp-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 \ diff --git a/sdk/config/ccimx8mp-dvk/conf-notes.txt b/sdk/config/ccimx93-dvk/conf-notes.txt similarity index 100% rename from sdk/config/ccimx8mp-dvk/conf-notes.txt rename to sdk/config/ccimx93-dvk/conf-notes.txt diff --git a/sdk/config/ccimx8mp-dvk/local.conf.sample b/sdk/config/ccimx93-dvk/local.conf.sample similarity index 99% rename from sdk/config/ccimx8mp-dvk/local.conf.sample rename to sdk/config/ccimx93-dvk/local.conf.sample index 157cb272c..af572435d 100644 --- a/sdk/config/ccimx8mp-dvk/local.conf.sample +++ b/sdk/config/ccimx93-dvk/local.conf.sample @@ -37,7 +37,7 @@ # This sets the default machine to be qemux86-64 if no other machine is selected: #MACHINE ??= "qemux86-64" -MACHINE = "ccimx8mp-dvk" +MACHINE = "ccimx93-dvk" # # Use Digi's internal git repositories diff --git a/sdk/config/ccmp15-dvk/conf-notes.txt b/sdk/config/ccmp15-dvk/conf-notes.txt index 59067b488..61380b8fe 100644 --- a/sdk/config/ccmp15-dvk/conf-notes.txt +++ b/sdk/config/ccmp15-dvk/conf-notes.txt @@ -1,15 +1,15 @@ 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 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 diff --git a/sdk/mkproject.sh b/sdk/mkproject.sh index c4ac381c3..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 ccimx8mp-dvk ccimx8x-sbc-express ccimx8x-sbc-pro" +MKP_BLACKLIST_PLATFORMS="ccimx6qpsbc ccimx6sbc ccimx8x-sbc-express ccimx8x-sbc-pro" MKP_SETUP_ENVIRONMENT='#!/bin/bash