diff --git a/meta-digi-arm/conf/layer.conf b/meta-digi-arm/conf/layer.conf index 0c2530e12..3f0e0840d 100644 --- a/meta-digi-arm/conf/layer.conf +++ b/meta-digi-arm/conf/layer.conf @@ -17,9 +17,13 @@ LAYERSERIES_COMPAT_digi-arm = "zeus" # See fsl-eula-unpack.bbclass. FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V13 = "1b4db4b25c3a1e422c0c0ed64feb65d2" FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V15 = "983e4c77621568488dd902b27e0c2143" +FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V16 = "e9e880185bda059c90c541d40ceca922" +FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V17 = "cf3f9b8d09bc3926b1004ea71f7a248a" FSL_EULA_FILE_MD5SUMS_append = " \ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V13} \ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V15} \ + ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V16} \ + ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V17} \ " # Digi's General and Open Source license agreements diff --git a/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf b/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf new file mode 100644 index 000000000..ca61086b9 --- /dev/null +++ b/meta-digi-arm/conf/machine/ccimx8mm-dvk.conf @@ -0,0 +1,45 @@ +#@TYPE: Machine +#@NAME: ConnectCore 8M Mini Development Kit. +#@DESCRIPTION: Machine configuration for Digi's ConnectCore 8M Mini DVK. + +# Include the machine configuration for Digi's ConnectCore 8M module. +include conf/machine/include/ccimx8m.inc + +DIGI_FAMILY = "ccimx8mm" +MACHINEOVERRIDES =. "mx8:mx8m:mx8mm:ccimx8m:${DIGI_FAMILY}:" + +BOOTLOADER_SEEK = "33" + +# 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}" +SPL_BINARY = "spl/u-boot-spl.bin" + +# Set u-boot DTB +UBOOT_DTB_NAME = "ccimx8mm-dvk.dtb" + +KERNEL_DEVICETREE ?= " \ + digi/ccimx8mm-dvk.dtb \ + digi/_ov_board_lvds_ccimx8m-dvk.dtbo \ + digi/_ov_board_user-leds_ccimx8m-dvk.dtbo \ + digi/_ov_som_bt_ccimx8m.dtbo \ + digi/_ov_som_mca-keypad_ccimx8m.dtbo \ + digi/_ov_som_wifi_ccimx8m.dtbo \ +" + +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" + +# U-Boot script to be copied to the boot image +BOOT_SCRIPTS = "boot.scr:boot.scr" + +# Flash image types +IMAGE_FSTYPES ?= "boot.vfat ext4 sdcard tar.bz2 recovery.vfat" diff --git a/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf b/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf index 28ddaff9f..ab9379155 100644 --- a/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf +++ b/meta-digi-arm/conf/machine/ccimx8mn-dvk.conf @@ -2,8 +2,13 @@ #@NAME: ConnectCore 8M Nano Development Kit. #@DESCRIPTION: Machine configuration for Digi's ConnectCore 8M Nano DVK. -# Include the machine configuration for Digi's ConnectCore 8M Nano module. -include conf/machine/include/ccimx8mn.inc +# Include the machine configuration for Digi's ConnectCore 8M module. +include conf/machine/include/ccimx8m.inc + +DIGI_FAMILY = "ccimx8mn" +MACHINEOVERRIDES =. "mx8:mx8m:mx8mn:ccimx8m:${DIGI_FAMILY}:" + +BOOTLOADER_SEEK = "32" # U-Boot configurations # Last one is the default (the one the symlinks point at) @@ -16,14 +21,13 @@ UBOOT_DTB_NAME = "ccimx8mn-dvk.dtb" KERNEL_DEVICETREE ?= " \ digi/ccimx8mn-dvk.dtb \ - digi/_ov_board_lvds_ccimx8mn-dvk.dtbo \ - digi/_ov_board_user-leds_ccimx8mn-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 \ - digi/_ov_som_bt_ccimx8mn.dtbo \ - digi/_ov_som_mca-keypad_ccimx8mn.dtbo \ - digi/_ov_som_quad_ccimx8mn.dtbo \ + digi/_ov_som_bt_ccimx8m.dtbo \ + digi/_ov_som_mca-keypad_ccimx8m.dtbo \ digi/_ov_som_v1_ccimx8mn.dtbo \ - digi/_ov_som_wifi_ccimx8mn.dtbo \ + digi/_ov_som_wifi_ccimx8m.dtbo \ " SERIAL_CONSOLES ?= "115200;ttymxc0" diff --git a/meta-digi-arm/conf/machine/include/ccimx8mn.inc b/meta-digi-arm/conf/machine/include/ccimx8m.inc similarity index 89% rename from meta-digi-arm/conf/machine/include/ccimx8mn.inc rename to meta-digi-arm/conf/machine/include/ccimx8m.inc index 8a59abfb2..2d8fc8fdb 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8mn.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8m.inc @@ -1,9 +1,6 @@ #@TYPE: Machine -#@NAME: ConnectCore 8M Nano module. -#@DESCRIPTION: Machine configuration for Digi's ConnectCore 8M Nano module. - -DIGI_FAMILY = "ccimx8mn" -MACHINEOVERRIDES =. "mx8:mx8m:mx8mn:ccimx8m:${DIGI_FAMILY}:" +#@NAME: ConnectCore 8M family of SOMs. +#@DESCRIPTION: Machine configuration for Digi's ConnectCore 8M family of SOMs. include conf/machine/include/imx-digi-base.inc include conf/machine/include/arm/arch-arm64.inc @@ -16,7 +13,6 @@ UBOOT_HAS_FASTBOOT = "true" # The bootloader image that gets flashed consists of U-Boot and several fw binaries EXTRA_IMAGEDEPENDS = "imx-boot" BOOTLOADER_IMAGE_RECIPE = "imx-boot" -BOOTLOADER_SEEK = "32" BOOTABLE_FILENAME = "${UBOOT_PREFIX}-${MACHINE}.bin" SDIMG_BOOTLOADER = "${DEPLOY_DIR_IMAGE}/${BOOTABLE_FILENAME}" diff --git a/meta-digi-arm/conf/machine/include/digi-defaults.inc b/meta-digi-arm/conf/machine/include/digi-defaults.inc index dad951872..401586d45 100644 --- a/meta-digi-arm/conf/machine/include/digi-defaults.inc +++ b/meta-digi-arm/conf/machine/include/digi-defaults.inc @@ -19,6 +19,7 @@ LINUXLIBCVERSION ?= "5.4%" # ccimx6ul 5.4 2020.04 # 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) # # Help variables used in recipes 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 54bce7bf4..328aa3eef 100644 --- a/meta-digi-arm/conf/machine/include/imx-digi-base.inc +++ b/meta-digi-arm/conf/machine/include/imx-digi-base.inc @@ -24,11 +24,12 @@ DEFAULTTUNE_mx8 ?= "aarch64" INHERIT += "machine-overrides-extender" -MACHINEOVERRIDES_EXTENDER_mx6q = "imxfbdev:imxipu:imxvpu:imxvpucnm:imxgpu:imxgpu2d:imxdpublit:imxgpu3d" -MACHINEOVERRIDES_EXTENDER_mx6dl = "imxfbdev:imxipu:imxpxp:imxvpu:imxvpucnm:imxgpu:imxgpu2d:imxdpublit:imxgpu3d:imxepdc" +MACHINEOVERRIDES_EXTENDER_mx6q = "imxfbdev:imxipu:imxvpu:imxgpu:imxgpu2d:imxgpu3d" +MACHINEOVERRIDES_EXTENDER_mx6dl = "imxfbdev:imxpxp:imxipu:imxvpu:imxgpu:imxgpu2d:imxgpu3d:imxepdc" MACHINEOVERRIDES_EXTENDER_mx6ul = "imxfbdev:imxpxp" MACHINEOVERRIDES_EXTENDER_mx8qxp = "imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d" MACHINEOVERRIDES_EXTENDER_mx8mn = "imxdrm:imxgpu:imxgpu3d" +MACHINEOVERRIDES_EXTENDER_mx8mm = "imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d" # Sub-architecture support MACHINE_SOCARCH_SUFFIX ?= "" @@ -39,25 +40,28 @@ MACHINE_SOCARCH_SUFFIX_mx8qxp = "-mx8qxp" MACHINE_SOCARCH_SUFFIX_mx8dxp = "-mx8dxp" MACHINE_SOCARCH_SUFFIX_mx8dx = "-mx8dx" MACHINE_SOCARCH_SUFFIX_mx8mn = "-mx8mn" +MACHINE_SOCARCH_SUFFIX_mx8mm = "-mx8mm" MACHINE_ARCH_FILTER = "virtual/kernel" MACHINE_SOCARCH_FILTER_append_imxvpu = " \ imx-codec \ - imx-vpu \ imx-vpuwrap \ libimxvpuapi \ + virtual/imxvpu \ " MACHINE_SOCARCH_FILTER_append_imxgpu = " \ virtual/egl \ virtual/mesa \ - virtual/libg2d \ - libgal-imx \ virtual/libopenvg \ + libdrm \ cairo \ opencv \ + libgal-imx \ pango \ " - +MACHINE_SOCARCH_FILTER_append_imxgpu2d = " \ + virtual/libg2d \ +" MACHINE_SOCARCH_FILTER_append_imxgpu3d = " \ virtual/libgl \ virtual/libgles1 \ @@ -68,21 +72,20 @@ MACHINE_SOCARCH_FILTER_append_mx6q = " \ opencl-headers \ " MACHINE_SOCARCH_FILTER_append_mx8 = " \ - virtual/libopenvx \ virtual/opencl-icd \ opencl-headers \ " -MACHINE_SOCARCH_FILTER_append_imxpxp = " \ - imx-codec \ +MACHINE_SOCARCH_FILTER_append_mx8qm = " \ + virtual/libopenvx \ " INHERIT += "fsl-dynamic-packagearch" SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS_append = " \ - libimxvpuapi->imx-vpu \ - imx-vpuwrap->imx-vpu \ - imx-codec->imx-vpu \ - imx-test->imx-vpu \ + libimxvpuapi->virtual/imxvpu \ + imx-vpuwrap->virtual/imxvpu \ + imx-codec->virtual/imxvpu \ + imx-test->virtual/imxvpu \ " # Extra udev rules @@ -97,40 +100,26 @@ MACHINE_GSTREAMER_1_0_PLUGIN_mx6ul ?= "imx-gst1.0-plugin imx-gst1.0-plugin-gplay MACHINE_GSTREAMER_1_0_PLUGIN_mx8 ?= "imx-gst1.0-plugin imx-gst1.0-plugin-gplay imx-gst1.0-plugin-grecorder" # Determines if the SoC has support for Vivante kernel driver -SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT = "0" -SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT_mx6q = "1" -SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT_mx6dl = "1" -SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT_mx8 = "1" +SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT = "0" +SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT_imxgpu = "1" # Handle Vivante kernel driver setting: # 0 - machine does not have Vivante GPU driver support # 1 - machine has Vivante GPU driver support MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT ?= "${SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT}" -# mx6 GPU libraries -PREFERRED_PROVIDER_virtual/egl_mx6q ?= "imx-gpu-viv" -PREFERRED_PROVIDER_virtual/egl_mx6dl ?= "imx-gpu-viv" -PREFERRED_PROVIDER_virtual/egl_mx6ul ?= "mesa" -PREFERRED_PROVIDER_virtual/egl_mx8 ?= "imx-gpu-viv" +# Graphics libraries +PREFERRED_PROVIDER_virtual/egl ?= "mesa" +PREFERRED_PROVIDER_virtual/libgl ?= "mesa" +PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" +PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" -PREFERRED_PROVIDER_virtual/libgles1_mx6q ?= "imx-gpu-viv" -PREFERRED_PROVIDER_virtual/libgles1_mx6dl ?= "imx-gpu-viv" -PREFERRED_PROVIDER_virtual/libgles1_mx6ul ?= "mesa" -PREFERRED_PROVIDER_virtual/libgles1_mx8 ?= "imx-gpu-viv" - -PREFERRED_PROVIDER_virtual/libgles2_mx6q ?= "imx-gpu-viv" -PREFERRED_PROVIDER_virtual/libgles2_mx6dl ?= "imx-gpu-viv" -PREFERRED_PROVIDER_virtual/libgles2_mx6ul ?= "mesa" -PREFERRED_PROVIDER_virtual/libgles2_mx8 ?= "imx-gpu-viv" - -PREFERRED_PROVIDER_virtual/libgl_mx6q ?= "imx-gpu-viv" -PREFERRED_PROVIDER_virtual/libgl_mx6dl ?= "imx-gpu-viv" -PREFERRED_PROVIDER_virtual/libgl_mx6ul ?= "mesa" -PREFERRED_PROVIDER_virtual/libgl_mx8 ?= "imx-gpu-viv" - -PREFERRED_PROVIDER_virtual/libg2d_mx6 ?= "imx-gpu-viv" -PREFERRED_PROVIDER_virtual/libg2d_mx6ul = "" -PREFERRED_PROVIDER_virtual/libg2d_mx8 = "imx-dpu-g2d" +PREFERRED_PROVIDER_virtual/egl_imxgpu ?= "imx-gpu-viv" +PREFERRED_PROVIDER_virtual/libgl_imxgpu3d ?= "imx-gpu-viv" +PREFERRED_PROVIDER_virtual/libgles1_imxgpu3d ?= "imx-gpu-viv" +PREFERRED_PROVIDER_virtual/libgles2_imxgpu3d ?= "imx-gpu-viv" +PREFERRED_PROVIDER_virtual/libg2d ?= "imx-gpu-g2d" +PREFERRED_PROVIDER_virtual/libg2d_imxdpu ?= "imx-dpu-g2d" EXTRA_IMAGEDEPENDS = "u-boot" diff --git a/meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx8mn/asound.conf b/meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx8m/asound.conf similarity index 100% rename from meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx8mn/asound.conf rename to meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx8m/asound.conf diff --git a/meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx8mn/asound.state b/meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx8m/asound.state similarity index 100% rename from meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx8mn/asound.state rename to meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx8m/asound.state diff --git a/meta-digi-arm/recipes-bsp/digi-sc-firmware/digi-sc-firmware_1.6.0.bb b/meta-digi-arm/recipes-bsp/digi-sc-firmware/digi-sc-firmware_1.7.1.bb similarity index 84% rename from meta-digi-arm/recipes-bsp/digi-sc-firmware/digi-sc-firmware_1.6.0.bb rename to meta-digi-arm/recipes-bsp/digi-sc-firmware/digi-sc-firmware_1.7.1.bb index 98f431c1a..ac05ab565 100644 --- a/meta-digi-arm/recipes-bsp/digi-sc-firmware/digi-sc-firmware_1.6.0.bb +++ b/meta-digi-arm/recipes-bsp/digi-sc-firmware/digi-sc-firmware_1.7.1.bb @@ -4,15 +4,15 @@ DESCRIPTION = "i.MX System Controller Firmware, customized for Digi platforms" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=983e4c77621568488dd902b27e0c2143" +LIC_FILES_CHKSUM = "file://COPYING;md5=e9e880185bda059c90c541d40ceca922" SECTION = "BSP" inherit pkgconfig deploy SRC_URI = "${DIGI_PKG_SRC}/${BPN}-${PV}.tar.gz" -SRC_URI[md5sum] = "0059e04701ba4fe4436610eef680907d" -SRC_URI[sha256sum] = "1776a5eeae3641cff8fe8dc16d78219e758cd30b12efdb7223bc31c34ae1580d" +SRC_URI[md5sum] = "79da2ab3833c5969bec9aeb155f50fd3" +SRC_URI[sha256sum] = "c1d03907a2f0c1c0881a42fef3b5450886542d7b18855b5ab9c021278d727ac7" S = "${WORKDIR}/${PN}-${PV}" diff --git a/meta-digi-arm/recipes-bsp/firmware-imx/files/ccimx8mn-dvk/sdma-firmware.service b/meta-digi-arm/recipes-bsp/firmware-imx/files/ccimx8m/sdma-firmware.service similarity index 100% rename from meta-digi-arm/recipes-bsp/firmware-imx/files/ccimx8mn-dvk/sdma-firmware.service rename to meta-digi-arm/recipes-bsp/firmware-imx/files/ccimx8m/sdma-firmware.service diff --git a/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx-8.9.inc b/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx-8.10.inc similarity index 58% rename from meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx-8.9.inc rename to meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx-8.10.inc index 8a132f373..d792bbbc6 100644 --- a/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx-8.9.inc +++ b/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx-8.10.inc @@ -3,14 +3,14 @@ # Copyright (C) 2018 O.S. Systems Software LTDA. SECTION = "base" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=983e4c77621568488dd902b27e0c2143" +LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a" SRC_URI = " \ ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ " -SRC_URI[md5sum] = "7b36242be60a882f9b5f74bb6e2c6aa1" -SRC_URI[sha256sum] = "a72f70fd2ecaa58800bb88ed672fddc322ab9843ee7777eb89b82016b0aa3614" +SRC_URI[md5sum] = "3f8c4661ca0f64ca30fd239f66b6a471" +SRC_URI[sha256sum] = "2b70f169d4065b2a7ac7a676afe24636128bd2dacc9f5230346758c3b146b2be" S = "${WORKDIR}/firmware-imx-${PV}" diff --git a/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx-8_8.9.bb b/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx-8_8.10.bb similarity index 100% rename from meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx-8_8.9.bb rename to meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx-8_8.10.bb diff --git a/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx-8m_8.9.bb b/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.bb similarity index 100% rename from meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx-8m_8.9.bb rename to meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.bb diff --git a/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx_8.9.bb b/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx_8.10.bb similarity index 90% rename from meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx_8.9.bb rename to meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx_8.10.bb index 7c163241f..3559d26c7 100644 --- a/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx_8.9.bb +++ b/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx_8.10.bb @@ -58,9 +58,9 @@ do_install() { cd - # Install SDMA Firmware: sdma-imx6q.bin & sdma-imx7d.bin into lib/firmware/imx/sdma - install -d ${D}${base_libdir}/firmware/imx/sdma - mv ${D}${base_libdir}/firmware/sdma/sdma-imx6q.bin ${D}${base_libdir}/firmware/imx/sdma - mv ${D}${base_libdir}/firmware/sdma/sdma-imx7d.bin ${D}${base_libdir}/firmware/imx/sdma + install -d ${D}${nonarch_base_libdir}/firmware/imx/sdma + mv ${D}${base_libdir}/firmware/sdma/sdma-imx6q.bin ${D}${nonarch_base_libdir}/firmware/imx/sdma + mv ${D}${base_libdir}/firmware/sdma/sdma-imx7d.bin ${D}${nonarch_base_libdir}/firmware/imx/sdma mv ${D}${base_libdir}/firmware/epdc/ ${D}${base_libdir}/firmware/imx/epdc/ mv ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw @@ -109,10 +109,10 @@ PACKAGES =+ "${PN}-epdc ${PN}-sdma ${PN}-easrc ${PN}-regulatory ${PN}-hdmi ${PN} FILES_${PN}-epdc = "${base_libdir}/firmware/imx/epdc/ ${sysconfdir}/epdc ${systemd_system_unitdir}/epdc-firmware.service" FILES_${PN}-scfw = "${base_libdir}/firmware/scfw/" -FILES_${PN}-sdma = "${base_libdir}/firmware/imx/sdma ${sysconfdir}/sdma ${systemd_system_unitdir}/sdma-firmware.service" +FILES_${PN}-sdma = "${nonarch_base_libdir}/firmware/imx/sdma ${sysconfdir}/sdma ${systemd_system_unitdir}/sdma-firmware.service" FILES_${PN}-easrc = "${base_libdir}/firmware/imx/easrc/" FILES_${PN}-regulatory = "${sysconfdir}/regulatory ${systemd_system_unitdir}/regulatory-firmware.service" -FILES_${PN}-hdmi = "${base_libdir}/firmware/imx/hdmi/ ${sysconfdir}/hdmi ${systemd_system_unitdir}/hdmi-firmware.service" +FILES_${PN}-hdmi = "${base_libdir}/firmware/imx/hdmi/ ${systemd_system_unitdir}/hdmi-firmware.service" FILES_${PN}-xcvr = "${base_libdir}/firmware/imx/xcvr/" FILES_${PN}-xuvi = "${base_libdir}/firmware/imx/xuvi/" diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb index c2b7c0bab..9bd3028a9 100644 --- a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb +++ b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb @@ -13,12 +13,20 @@ BT_INTCLOCK_WORKAROUND ?= "0" BT_INTCLOCK_WORKAROUND_ccimx6ul = "1" BT_INTCLOCK_WORKAROUND_ccimx6qpsbc = "1" -# Bluetooth firmware files -FW_QUALCOMM_BT = " \ +# Bluetooth 5.0 firmware files +FW_QUALCOMM_BT_5 = " \ file://qca65X4_bt/nvm_tlv_3.2.bin \ file://qca65X4_bt/rampatch_tlv_3.2.tlv \ " +# Bluetooth 4.1 firmware files +FW_QUALCOMM_BT_4 = " \ + file://qca65X4_bt_4/nvm_tlv_3.2.bin \ + file://qca65X4_bt_4/rampatch_tlv_3.2.tlv \ +" + +FW_QUALCOMM_BT = "${@oe.utils.conditional('BT_FW_VERSION', '4', '${FW_QUALCOMM_BT_4}', '${FW_QUALCOMM_BT_5}', d)}" + # Firmware files for QCA6564 (Qualcomm proprietary driver) FW_QCA65X4_SDIO_PROPRIETARY = " \ file://bdwlan30_US.bin \ diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/ccimx8mn/bdwlan30_US.bin b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/ccimx8m/bdwlan30_US.bin similarity index 100% rename from meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/ccimx8mn/bdwlan30_US.bin rename to meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/ccimx8m/bdwlan30_US.bin diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca65X4_bt_4/nvm_tlv_3.2.bin b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca65X4_bt_4/nvm_tlv_3.2.bin new file mode 100644 index 000000000..2715082de Binary files /dev/null and b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca65X4_bt_4/nvm_tlv_3.2.bin differ diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca65X4_bt_4/rampatch_tlv_3.2.tlv b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca65X4_bt_4/rampatch_tlv_3.2.tlv new file mode 100644 index 000000000..def7cc30a Binary files /dev/null and b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca65X4_bt_4/rampatch_tlv_3.2.tlv differ diff --git a/meta-digi-arm/recipes-bsp/imx-atf/imx-atf/0001-imx8mm-Disable-M4-debug-console.patch b/meta-digi-arm/recipes-bsp/imx-atf/imx-atf/0001-imx8mm-Disable-M4-debug-console.patch new file mode 100644 index 000000000..3bd59ff96 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/imx-atf/imx-atf/0001-imx8mm-Disable-M4-debug-console.patch @@ -0,0 +1,54 @@ +From 32f0fe2d607f165fbf4ab6b5c21b147b68ab46e2 Mon Sep 17 00:00:00 2001 +From: Gabriel Valcazar +Date: Fri, 29 Jan 2021 11:21:07 +0100 +Subject: [PATCH] imx8mm: Disable M4 debug console + +The Cortex-M4 uses the UART4 as debug console, and it is +shared with the Cortex-A53. + +Signed-off-by: Gabriel Valcazar +--- + plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c b/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c +index 049192880..f7aada323 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[] = { + RDC_MDAn(RDC_MDA_M4, DID1), + + /* peripherals domain permission */ +- RDC_PDAPn(RDC_PDAP_UART4, D1R | D1W), ++ /*RDC_PDAPn(RDC_PDAP_UART4, D1R | D1W),*/ + RDC_PDAPn(RDC_PDAP_UART2, D0R | D0W), + + /* memory region */ +@@ -129,7 +129,7 @@ static void bl31_tzc380_setup(void) + void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, + u_register_t arg2, u_register_t arg3) + { +- static console_uart_t console; ++ /*static console_uart_t console;*/ + int i; + + /* Enable CSU NS access permission */ +@@ -144,11 +144,11 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, + imx_csu_init(csu_cfg); + + imx8m_caam_init(); +- +- console_imx_uart_register(IMX_BOOT_UART_BASE, IMX_BOOT_UART_CLK_IN_HZ, ++ /* Uncomment to use the M4 debug console (shared with A53 UART4) */ ++ /*console_imx_uart_register(IMX_BOOT_UART_BASE, IMX_BOOT_UART_CLK_IN_HZ, + IMX_CONSOLE_BAUDRATE, &console); +- /* This console is only used for boot stage */ +- console_set_scope(&console.console, CONSOLE_FLAG_BOOT); ++ This console is only used for boot stage ++ console_set_scope(&console.console, CONSOLE_FLAG_BOOT);*/ + + /* + * tell BL3-1 where the non-secure software image is located +-- +2.17.1 + diff --git a/meta-digi-arm/recipes-bsp/imx-atf/imx-atf_2.2.bb b/meta-digi-arm/recipes-bsp/imx-atf/imx-atf_2.2.bb index 52ae48dcf..5d31f2e31 100644 --- a/meta-digi-arm/recipes-bsp/imx-atf/imx-atf_2.2.bb +++ b/meta-digi-arm/recipes-bsp/imx-atf/imx-atf_2.2.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2017-2020 NXP +# Copyright (C) 2017-2021 NXP DESCRIPTION = "i.MX ARM Trusted Firmware" SECTION = "BSP" @@ -7,13 +7,14 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;m PV .= "+git${SRCPV}" -SRCBRANCH = "imx_5.4.47_2.2.0" +SRCBRANCH = "imx_5.4.70_2.3.0" ATF_SRC ?= "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https" SRC_URI = "${ATF_SRC};branch=${SRCBRANCH} \ " -SRCREV = "c949a888e909811db191500c51456391dff61284" +SRCREV = "f1d7187f261ebf4b8a2a70d638d4bfc0a9b26c29" SRC_URI_append_ccimx8mn = " file://0001-imx8mn-Disable-M7-debug-console.patch" +SRC_URI_append_ccimx8mm = " file://0001-imx8mm-Disable-M4-debug-console.patch" S = "${WORKDIR}/git" @@ -27,6 +28,7 @@ PLATFORM_mx8dx = "imx8dx" PLATFORM_mx8dxlevk-phantom = "imx8qx" PLATFORM_mx8mm = "imx8mm" PLATFORM_mx8mn = "imx8mn" +PLATFORM_mx8mnlite = "imx8mn" PLATFORM_mx8mp = "imx8mp" PLATFORM_mx8mq = "imx8mq" PLATFORM_mx8qm = "imx8qm" diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_1.0.bb b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_1.0.bb index ebf2e6a53..b1e8ee7d7 100644 --- a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_1.0.bb +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_1.0.bb @@ -55,6 +55,7 @@ ATF_MACHINE_NAME_mx8x = "bl31-imx8qx.bin" ATF_MACHINE_NAME_mx8mq = "bl31-imx8mq.bin" ATF_MACHINE_NAME_mx8mm = "bl31-imx8mm.bin" ATF_MACHINE_NAME_mx8mn = "bl31-imx8mn.bin" +ATF_MACHINE_NAME_mx8mnlite = "bl31-imx8mn.bin" ATF_MACHINE_NAME_mx8mp = "bl31-imx8mp.bin" ATF_MACHINE_NAME_mx8phantomdxl = "bl31-imx8qx.bin" ATF_MACHINE_NAME_mx8dxl = "bl31-imx8dxl.bin" @@ -72,6 +73,7 @@ SOC_TARGET_mx8x = "iMX8QX" SOC_TARGET_mx8mq = "iMX8M" SOC_TARGET_mx8mm = "iMX8MM" SOC_TARGET_mx8mn = "iMX8MN" +SOC_TARGET_mx8mnlite = "iMX8MN" SOC_TARGET_mx8mp = "iMX8MP" SOC_TARGET_mx8dxl = "iMX8DXL" SOC_TARGET_mx8phantomdxl = "iMX8QX" @@ -107,7 +109,11 @@ compile_mx8m() { 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} + if [ "${MACHINE}" = "imx8mmevk-qcawifi" ]; then + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME} ${BOOT_STAGING}/imx8mm-evk.dtb + else + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME} ${BOOT_STAGING} + fi cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG} \ ${BOOT_STAGING}/u-boot-nodtb.bin bbnote "\ diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend index 575485ec2..a0408703f 100644 --- a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_1.0.bbappend @@ -1,7 +1,7 @@ # Copyright 2019,2020 Digi International, Inc. inherit boot-artifacts -SRC_URI_append_ccimx8mn = " file://0001-imx8m-soc.mak-preserve-dtbs-after-build.patch" +SRC_URI_append_ccimx8m = " file://0001-imx8m-soc.mak-preserve-dtbs-after-build.patch" IMX_EXTRA_FIRMWARE_ccimx8x = "digi-sc-firmware imx-seco" @@ -32,7 +32,7 @@ do_populate_lic[depends] += " \ IMXBOOT_TARGETS_ccimx8x = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \ 'flash flash_regression_linux_m4', d)}" -IMXBOOT_TARGETS_ccimx8mn = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_evk_flexspi', 'flash_spl_uboot', d)}" +IMXBOOT_TARGETS_ccimx8m = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_evk_flexspi', 'flash_spl_uboot', d)}" compile_mx8x() { bbnote 8QX boot binary build @@ -133,8 +133,8 @@ do_compile () { fi } -# ConnectCore 8M Nano does not have different binaries -UBOOT_RAM_COMBINATIONS_ccimx8mn = "" +# ConnectCore 8M Nano and 8M Mini do not have different binaries +UBOOT_RAM_COMBINATIONS_ccimx8m = "" do_install () { install -d ${D}/boot @@ -250,4 +250,4 @@ do_deploy_append () { fi } -COMPATIBLE_MACHINE = "(ccimx8x|ccimx8mn)" +COMPATIBLE_MACHINE = "(ccimx8x|ccimx8m)" diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_git.inc b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_git.inc index 2e78eff48..24d67b1e6 100644 --- a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_git.inc +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_git.inc @@ -1,11 +1,11 @@ -# Copyright 2017-2019 NXP +# Copyright 2017-2020 NXP DEPENDS = "zlib openssl" -SRCBRANCH = "imx_5.4.47_2.2.0" +SRCBRANCH = "imx_5.4.70_2.3.0" IMX_MKIMAGE_SRC ?= "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https" SRC_URI = "${IMX_MKIMAGE_SRC};branch=${SRCBRANCH}" -SRCREV = "8da5cd231881df44b5fa21a36820536d86e413db" +SRCREV = "8947fea369ab3932259630232cfb9f87b8f9dda1" S = "${WORKDIR}/git" BOOT_TOOLS = "imx-boot-tools" diff --git a/meta-digi-arm/recipes-bsp/imx-seco/0001-Makefile-Fix-LIBDIR-for-multilib.patch b/meta-digi-arm/recipes-bsp/imx-seco/imx-seco-libs/0001-Makefile-Fix-LIBDIR-for-multilib.patch similarity index 96% rename from meta-digi-arm/recipes-bsp/imx-seco/0001-Makefile-Fix-LIBDIR-for-multilib.patch rename to meta-digi-arm/recipes-bsp/imx-seco/imx-seco-libs/0001-Makefile-Fix-LIBDIR-for-multilib.patch index d1784e255..772b6610b 100644 --- a/meta-digi-arm/recipes-bsp/imx-seco/0001-Makefile-Fix-LIBDIR-for-multilib.patch +++ b/meta-digi-arm/recipes-bsp/imx-seco/imx-seco-libs/0001-Makefile-Fix-LIBDIR-for-multilib.patch @@ -12,7 +12,7 @@ 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 sm_lib.a +@@ -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 diff --git a/meta-digi-arm/recipes-bsp/imx-seco/imx-seco-libs/0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch b/meta-digi-arm/recipes-bsp/imx-seco/imx-seco-libs/0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch new file mode 100644 index 000000000..7988cdaea --- /dev/null +++ b/meta-digi-arm/recipes-bsp/imx-seco/imx-seco-libs/0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch @@ -0,0 +1,33 @@ +From 59608dcb0f0a6f6d8154b1d331c2403d7c1143eb Mon Sep 17 00:00:00 2001 +From: Cristinel Panfir +Date: Fri, 5 Feb 2021 19:27:00 +0200 +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/recipes-bsp/imx-seco/imx-seco-libs_git.bb b/meta-digi-arm/recipes-bsp/imx-seco/imx-seco-libs_git.bb index eb98afa6a..6091952f7 100644 --- a/meta-digi-arm/recipes-bsp/imx-seco/imx-seco-libs_git.bb +++ b/meta-digi-arm/recipes-bsp/imx-seco/imx-seco-libs_git.bb @@ -8,12 +8,13 @@ LIC_FILES_CHKSUM = "file://EULA.txt;md5=228c72f2a91452b8a03c4cab30f30ef9" DEPENDS = "zlib" -SRCBRANCH = "imx_5.4.47_2.2.0" +SRCBRANCH = "imx_5.4.70_2.3.1" 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 \ " -SRCREV = "5932c1e5240eb36c3cddc7bcbdc7abd9bd8b562c" +SRCREV = "79e5fb5d096c61b1c3163c9fa8e42719509d95a0" S = "${WORKDIR}/git" diff --git a/meta-digi-arm/recipes-bsp/imx-seco/imx-seco.inc b/meta-digi-arm/recipes-bsp/imx-seco/imx-seco.inc index e40d91ea5..0a1b821b1 100644 --- a/meta-digi-arm/recipes-bsp/imx-seco/imx-seco.inc +++ b/meta-digi-arm/recipes-bsp/imx-seco/imx-seco.inc @@ -3,7 +3,7 @@ SECO_FIRMWARE_NAME_mx8qm = "mx8qmb0-ahab-container.img" SECO_FIRMWARE_NAME_mx8qxp = "mx8qxb0-ahab-container.img" SECO_FIRMWARE_NAME_mx8qxpc0 = "mx8qxc0-ahab-container.img" SECO_FIRMWARE_NAME_mx8phantomdxl = "mx8qxc0-ahab-container.img" -SECO_FIRMWARE_NAME_mx8dxl = "mx8dxla0-ahab-container.img" +SECO_FIRMWARE_NAME_mx8dxl = "mx8dxla1-ahab-container.img" # 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. diff --git a/meta-digi-arm/recipes-bsp/imx-seco/imx-seco_3.7.1.bb b/meta-digi-arm/recipes-bsp/imx-seco/imx-seco_3.7.5.bb similarity index 70% rename from meta-digi-arm/recipes-bsp/imx-seco/imx-seco_3.7.1.bb rename to meta-digi-arm/recipes-bsp/imx-seco/imx-seco_3.7.5.bb index 78bbfc7f1..f6e9bad83 100644 --- a/meta-digi-arm/recipes-bsp/imx-seco/imx-seco_3.7.1.bb +++ b/meta-digi-arm/recipes-bsp/imx-seco/imx-seco_3.7.5.bb @@ -4,15 +4,15 @@ SUMMARY = "NXP i.MX SECO firmware" DESCRIPTION = "NXP IMX SECO firmware" SECTION = "base" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=983e4c77621568488dd902b27e0c2143" +LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a" require imx-seco.inc inherit fsl-eula-unpack deploy SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" -SRC_URI[md5sum] = "29d563790bf46629a083ba031a7de46d" -SRC_URI[sha256sum] = "b09f63139df6c4dfef3533570cd60b22eb4c48eed05f314268178e80b8de40fc" +SRC_URI[md5sum] = "d4faca131abfc51a1dd0278d7d201159" +SRC_URI[sha256sum] = "08cf25a4be6841ca7264a50b29c311b386eae1c02fced8a3b55fd04213acb4bc" do_compile[noexec] = "1" diff --git a/meta-digi-arm/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro.inc b/meta-digi-arm/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro.inc new file mode 100644 index 000000000..d46dd3f7a --- /dev/null +++ b/meta-digi-arm/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro.inc @@ -0,0 +1,31 @@ +# Copyright 2017-2018 NXP + +DESCRIPTION = "i.MX HANTRO VPU library" +LICENSE = "Proprietary" + +inherit fsl-eula-unpack use-imx-headers + +PARALLEL_MAKE="-j 1" + +PROVIDES = "virtual/imxvpu" +RPROVIDES_${PN} = "virtual/imxvpu" + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" + +PLATFORM_mx8mm = "IMX8MM" +PLATFORM_mx8mq = "IMX8MQ" +PLATFORM_mx8mp = "IMX8MP" + +do_compile () { + oe_runmake CROSS_COMPILE="${HOST_PREFIX}" SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" PLATFORM="${PLATFORM}" all +} + +do_install () { + oe_runmake DEST_DIR="${D}" PLATFORM="${PLATFORM}" install +} + +FILES_${PN} += "/unit_tests" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +COMPATIBLE_MACHINE = "(mx8mq|mx8mm|mx8mp)" diff --git a/meta-digi-arm/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.20.0.bb b/meta-digi-arm/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.20.0.bb new file mode 100644 index 000000000..9bfe9d0af --- /dev/null +++ b/meta-digi-arm/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.20.0.bb @@ -0,0 +1,7 @@ +# Copyright 2017-2020 NXP + +require imx-vpu-hantro.inc +LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a" + +SRC_URI[md5sum] = "682b3a73bf5aa22a37d56a433d11fc91" +SRC_URI[sha256sum] = "e6cdd5b4c628604906466fc9620e2b048cf1b2c863f9ee49616dd5212b9261b0" diff --git a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc index 5f459663d..0a880edb3 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc @@ -192,8 +192,8 @@ do_deploy_append_ccimx8x() { mv ${DEPLOYDIR}/${UBOOT_SYMLINK}-* ${DEPLOYDIR}/${BOOT_TOOLS}/ } -do_deploy_append_ccimx8mn() { - # Deploy u-boot-nodtb.bin and ccimx8mn-dvk.dtb, to be packaged in boot binary by imx-boot +do_deploy_append_ccimx8m() { + # Deploy u-boot-nodtb.bin and ccimx8m[m|n]-dvk.dtb, to be packaged in boot binary by imx-boot if [ -n "${UBOOT_CONFIG}" ] then for config in ${UBOOT_MACHINE}; do 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 new file mode 100644 index 000000000..6b16fb857 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mm-dvk/boot.txt @@ -0,0 +1,61 @@ +# +# U-Boot bootscript for EMMC/SD images created by Yocto. +# + +# Back up environment variables +setenv ORIG_overlays ${overlays} +setenv ORIG_extra_bootargs ${extra_bootargs} + +# Set SOC type to "imx8mm" if not already defined by U-Boot +if test ! -n "${soc_type}"; then + setenv soc_type "imx8mm" +fi + +# +# Determine overlays to apply depending on the hardware capabilities +# described by the HWID, SOM version, and carrier board version. +# +if test -n "${module_ram}"; then + setexpr som_hv ${hwid_2} \& 38 + setexpr som_hv ${som_hv} / 8 + + setexpr module_has_wifi ${hwid_2} \& 10000 + setexpr module_has_wifi ${module_has_wifi} / 10000 + setexpr module_has_bt ${hwid_2} \& 20000 + setexpr module_has_bt ${module_has_bt} / 20000 + + if test "${module_has_bt}" = "1" && test -z "${disable_bt}"; then + setenv overlays _ov_som_bt_ccimx8m.dtbo,${overlays} + fi + + if test "${module_has_wifi}" = "1" && test -z "${disable_wifi}"; then + setenv overlays _ov_som_wifi_ccimx8m.dtbo,${overlays} + fi +fi + +# Get the UUID of the configured boot partition. +part uuid mmc ${mmcbootdev}:${mmcpart} bootpart +# Check the boot source. +if test "${bootpart}" = "${part1_uuid}"; then + # We are booting from the eMMC using 'linux'. + true +elif test "${bootpart}" = "${part2_uuid}"; then + # We are booting from the eMMC using 'recovery'. + setenv boot_initrd true + setenv initrd_file uramdisk-recovery.img +else + # We are booting from the SD card. + setenv mmcroot /dev/mmcblk${mmcbootdev}p2 +fi +setenv extra_bootargs fbcon=logo-pos:center ${extra_bootargs} +dboot linux mmc ${mmcbootdev}:${mmcpart} + + + +# We only get here in case of an error on the dboot command. + +# Undo changes to environment variables +setenv overlays ${ORIG_overlays} +setenv ORIG_overlays +setenv extra_bootargs ${ORIG_extra_bootargs} +setenv ORIG_extra_bootargs diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mm-dvk/install_linux_fw_sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mm-dvk/install_linux_fw_sd.txt new file mode 100644 index 000000000..7b0e037ca --- /dev/null +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mm-dvk/install_linux_fw_sd.txt @@ -0,0 +1,146 @@ +# +# U-Boot script for installing Linux images created by Yocto from the SD +# card into the eMMC +# + +echo "############################################################" +echo "# Linux firmware install from micro SD #" +echo "############################################################" +echo "" +echo " This process will erase your eMMC and will install a new" +echo " U-Boot and Linux firmware images on the eMMC." +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 + +setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8mm-dvk.bin; +setenv INSTALL_MMCDEV 1 +setenv INSTALL_LINUX_FILENAME dey-image-qt-##GRAPHICAL_BACKEND##-ccimx8mm-dvk.boot.vfat +setenv INSTALL_RECOVERY_FILENAME dey-image-qt-##GRAPHICAL_BACKEND##-ccimx8mm-dvk.recovery.vfat +setenv INSTALL_ROOTFS_FILENAME dey-image-qt-##GRAPHICAL_BACKEND##-ccimx8mm-dvk.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 -n "${install_abort}"; then + echo "Aborted."; + 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 (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 +# - Save the environment +# - Force on-the-fly updates to avoid possible verification errors +# - Partition the eMMC user data area for Linux +# - Update the 'linux' partition +# - Update the 'recovery' partition +# - Update the 'rootfs' partition +# - Configure recovery to wipe 'update' partition +# - Disable on-the-fly updates +# - Run 'recovery' and let the system boot after +setenv bootcmd " + env default -a; + saveenv; + setenv otf-update yes; + echo \"\"; + echo \"\"; + echo \">> Creating Linux partition table on the eMMC\"; + 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 \">> Installing Linux kernel and device tree files\"; + echo \"\"; + echo \"\"; + update linux mmc ${INSTALL_MMCDEV} ${INSTALL_LINUX_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update linux partition!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + echo \"\"; + echo \"\"; + echo \">> Installing 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 Linux root file system\"; + 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; + setenv otf-update; + saveenv; + echo \"\"; + echo \"\"; + echo \">> Firmware installation complete. Rebooting into recovery mode for final deployment.\"; + echo \"\"; + echo \"\"; + sleep 1; + reset; +" + +saveenv +reset diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mm-dvk/install_linux_fw_usb.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mm-dvk/install_linux_fw_usb.txt new file mode 100644 index 000000000..425f94f98 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mm-dvk/install_linux_fw_usb.txt @@ -0,0 +1,147 @@ +# +# U-Boot script for installing Linux images created by Yocto from a USB stick +# into the eMMC +# + +echo "#######################################################" +echo "# Linux firmware install from USB #" +echo "#######################################################" +echo "" +echo " This process will erase your eMMC and will install a new" +echo " U-Boot and Linux firmware images on the eMMC." +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 + +setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8mm-dvk.bin; +setenv INSTALL_USBDEV 0 +setenv INSTALL_LINUX_FILENAME dey-image-qt-##GRAPHICAL_BACKEND##-ccimx8mm-dvk.boot.vfat +setenv INSTALL_RECOVERY_FILENAME dey-image-qt-##GRAPHICAL_BACKEND##-ccimx8mm-dvk.recovery.vfat +setenv INSTALL_ROOTFS_FILENAME dey-image-qt-##GRAPHICAL_BACKEND##-ccimx8mm-dvk.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 -n "${install_abort}"; then + echo "Aborted."; + 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 (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 mmc ${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 +# - Save the environment +# - Force on-the-fly updates to avoid possible verification errors +# - Partition the eMMC user data area for Linux +# - Update the 'linux' partition +# - Update the 'recovery' partition +# - Update the 'rootfs' partition +# - Configure recovery to wipe 'update' partition +# - Disable on-the-fly updates +# - Run 'recovery' and let the system boot after +setenv bootcmd " + env default -a; + saveenv; + setenv otf-update yes; + echo \"\"; + echo \"\"; + echo \">> Creating Linux partition table on the eMMC\"; + 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; + echo \"\"; + echo \"\"; + echo \">> Installing Linux kernel and device tree files\"; + echo \"\"; + echo \"\"; + update linux usb ${INSTALL_USBDEV} ${INSTALL_LINUX_FILENAME}; + if test \$? -eq 1; then + echo \"[ERROR] Failed to update linux partition!\"; + echo \"\"; + echo \"Aborted.\"; + exit; + fi; + echo \"\"; + echo \"\"; + echo \">> Installing 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 Linux root file system\"; + 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; + setenv otf-update; + saveenv; + echo \"\"; + echo \"\"; + echo \">> Firmware installation complete. Rebooting into recovery mode for final deployment.\"; + echo \"\"; + echo \"\"; + sleep 1; + reset; +" + +saveenv +reset diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mm-dvk/install_linux_fw_uuu.sh b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mm-dvk/install_linux_fw_uuu.sh new file mode 100755 index 000000000..73f676a80 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8mm-dvk/install_linux_fw_uuu.sh @@ -0,0 +1,119 @@ +#!/bin/bash +#=============================================================================== +# +# Copyright (C) 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 + +clear + +# Parse uuu cmd output +function getenv() +{ + uuu -v fb: ucmd printenv "${1}" | sed -ne "s,^${1}=,,g;T;p" +} + +# +# U-Boot script for installing Linux images created by Yocto into the eMMC +# + +echo "############################################################" +echo "# Linux firmware install through USB OTG #" +echo "############################################################" +echo "" +echo " This process will erase your eMMC and will install a new" +echo " U-Boot and Linux firmware images on the eMMC." +echo "" +echo " Press CTRL+C now if you wish to abort or wait 10 seconds" +echo " to continue." + +# Get U-Boot file name from cmdline when passed +if [ -n "$1" ]; then + INSTALL_UBOOT_FILENAME="$1" +fi + +sleep 10 + +if [ -z "${INSTALL_UBOOT_FILENAME}" ]; then + INSTALL_UBOOT_FILENAME="imx-boot-ccimx8mm-dvk.bin" +fi + +# Skip user confirmation for U-Boot update +uuu fb: ucmd setenv forced_update 1 + +# Update U-Boot +uuu fb: flash 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; + 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 + +INSTALL_LINUX_FILENAME="dey-image-qt-##GRAPHICAL_BACKEND##-ccimx8mm-dvk.boot.vfat" +INSTALL_RECOVERY_FILENAME="dey-image-qt-##GRAPHICAL_BACKEND##-ccimx8mm-dvk.recovery.vfat" +INSTALL_ROOTFS_FILENAME="dey-image-qt-##GRAPHICAL_BACKEND##-ccimx8mm-dvk.ext4" + +# Wait that target returns from reset +sleep 3 + +# Update Linux +uuu fb: flash -raw2sparse linux ${INSTALL_LINUX_FILENAME} + +# Update Recovery +uuu fb: flash -raw2sparse recovery ${INSTALL_RECOVERY_FILENAME} + +# Update Rootfs +uuu fb: flash -raw2sparse rootfs ${INSTALL_ROOTFS_FILENAME} + +# Configure u-boot to boot into recovery mode +uuu fb: ucmd setenv boot_recovery yes +uuu fb: ucmd setenv recovery_command wipe_update + +uuu fb: ucmd saveenv + +# Reset the target +uuu fb: acmd reset + +exit 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 78414f805..39da49773 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 @@ -25,11 +25,11 @@ if test -n "${module_ram}"; then setexpr module_has_bt ${module_has_bt} / 20000 if test "${module_has_bt}" = "1" && test -z "${disable_bt}"; then - setenv overlays _ov_som_bt_ccimx8mn.dtbo,${overlays} + 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_ccimx8mn.dtbo,${overlays} + setenv overlays _ov_som_wifi_ccimx8m.dtbo,${overlays} fi if test "${som_hv}" = "1"; then @@ -37,11 +37,6 @@ if test -n "${module_ram}"; then fi fi -# Apply quad overlay if the SOC type is "imx8mn" -if test "${soc_type}" = "imx8mn"; then - setenv overlays _ov_som_quad_ccimx8mn.dtbo,${overlays} -fi - # Apply DVK v1-v2 overlay if the board version is < 3 if test "${board_version}" -lt "3"; then setenv overlays _ov_board_v1-v2_ccimx8mn-dvk.dtbo,${overlays} 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 243ff2143..2c87e3e5f 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,4 +1,4 @@ -# Copyright (C) 2018-2020 Digi International +# Copyright (C) 2018-2021 Digi International require digi-u-boot.inc 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 77298bf4e..94b7ce03c 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,4 +1,4 @@ -# Copyright (C) 2020 Digi International +# Copyright (C) 2020-2021 Digi International require digi-u-boot.inc LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e" diff --git a/meta-digi-arm/recipes-digi/cryptoauthlib/cryptoauthlib_git.bb b/meta-digi-arm/recipes-digi/cryptoauthlib/cryptoauthlib_git.bb index 43a41a7e0..4efee3545 100644 --- a/meta-digi-arm/recipes-digi/cryptoauthlib/cryptoauthlib_git.bb +++ b/meta-digi-arm/recipes-digi/cryptoauthlib/cryptoauthlib_git.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2017-2020 Digi International Inc. +# Copyright (C) 2017-2021 Digi International Inc. SUMMARY = "Microchip CryptoAuthentication Library" SECTION = "libs" @@ -25,7 +25,7 @@ I2C_BUS = "" I2C_BUS_ccimx6qpsbc = "1" I2C_BUS_ccimx6ul = "0" I2C_BUS_ccimx8x = "0" -I2C_BUS_ccimx8mn = "0" +I2C_BUS_ccimx8m = "0" I2C_SPEED ?= "100000" diff --git a/meta-digi-arm/recipes-digi/mca/mca-tool_1.22.bb b/meta-digi-arm/recipes-digi/mca/mca-tool_1.23.bb similarity index 56% rename from meta-digi-arm/recipes-digi/mca/mca-tool_1.22.bb rename to meta-digi-arm/recipes-digi/mca/mca-tool_1.23.bb index 807c20d13..97dae5aed 100644 --- a/meta-digi-arm/recipes-digi/mca/mca-tool_1.22.bb +++ b/meta-digi-arm/recipes-digi/mca/mca-tool_1.23.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2016-2020 Digi International. +# Copyright (C) 2016-2021 Digi International. SUMMARY = "MCA firmware management tool" SECTION = "console/tools" @@ -8,13 +8,13 @@ PKGNAME = "mca_tool" # ARM tarball SRC_URI_arm = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}-${TUNE_ARCH}.tar.gz;name=arm" -SRC_URI[arm.md5sum] = "2b2ce463139be67bd9929c7ce145ae42" -SRC_URI[arm.sha256sum] = "2a241dbaad099cf2d526eff6bbfdbd7c548e4391cc6751bb9eaa22d16c3cd5e4" +SRC_URI[arm.md5sum] = "eeb242ee2baeda8a9a1a48dea634b6ea" +SRC_URI[arm.sha256sum] = "40794e0c3baad39b04f2d1640c29620a08036fb36b18583d4f7828fe860bcd89" # AARCH64 tarball SRC_URI_aarch64 = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}-${TUNE_ARCH}.tar.gz;name=aarch64" -SRC_URI[aarch64.md5sum] = "c5f235c29fd663fde135095016daed4f" -SRC_URI[aarch64.sha256sum] = "9a0fd1bb053d9be0ede344ba22b0811528547130ef6c78432548a27dcd8f460c" +SRC_URI[aarch64.md5sum] = "bd90f295095fead2e58bfa2f6b995c8f" +SRC_URI[aarch64.sha256sum] = "64dd676dff0ffee143d22268e0512b40fe428ecf8b5e31496f738fb9b1a8a01f" S = "${WORKDIR}/${PKGNAME}-${PV}" diff --git a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools/trustfence-sign-artifact.sh b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools/trustfence-sign-artifact.sh index 45e1b1b26..cff9ccf89 100755 --- a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools/trustfence-sign-artifact.sh +++ b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools/trustfence-sign-artifact.sh @@ -57,7 +57,7 @@ Usage: ${SCRIPT_NAME} [OPTIONS] input-unsigned-image output-signed-image -i sign/encrypt initramfs -l sign/encrypt Linux image -Supported platforms: ccimx6, ccimx6ul, ccimx8x, ccimx8mn +Supported platforms: ccimx6, ccimx6ul, ccimx8x, ccimx8mn, ccimx8mm EOF } @@ -98,14 +98,14 @@ elif [ "${PLATFORM}" = "ccimx8x" ]; then CONFIG_FDT_LOADADDR="0x82000000" CONFIG_RAMDISK_LOADADDR="0x82100000" CONFIG_KERNEL_LOADADDR="0x80280000" -elif [ "${PLATFORM}" = "ccimx8mn" ]; then +elif [ "${PLATFORM}" = "ccimx8mn" ] || [ "${PLATFORM}" = "ccimx8mm" ]; then CONFIG_FDT_LOADADDR="0x43000000" CONFIG_RAMDISK_LOADADDR="0x43800000" CONFIG_KERNEL_LOADADDR="0x40480000" CONFIG_CSF_SIZE="0x2000" else echo "Invalid platform: ${PLATFORM}" - echo "Supported platforms: ccimx6, ccimx6ul, ccimx8x, ccimx8mn" + echo "Supported platforms: ccimx6, ccimx6ul, ccimx8x, ccimx8mn, ccimx8mm" exit 1 fi @@ -125,7 +125,7 @@ fi # Get DEK key if [ -n "${CONFIG_DEK_PATH}" ]; then if [ ! -f "${CONFIG_DEK_PATH}" ]; then - if [ "${PLATFORM}" = "ccimx8mn" ]; then + if [ "${PLATFORM}" = "ccimx8mn" ] || [ "${PLATFORM}" = "ccimx8mm" ]; then echo "DEK not found. Generating random 128 bit DEK." [ -d $(dirname ${CONFIG_DEK_PATH}) ] || mkdir -p $(dirname ${CONFIG_DEK_PATH}) dd if=/dev/urandom of="${CONFIG_DEK_PATH}" bs=16 count=1 >/dev/null 2>&1 diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc index 0774cb146..cd651d8a4 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc @@ -1,4 +1,4 @@ -# Copyright (C) 2018-2020 Digi International +# Copyright (C) 2018-2021 Digi International LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" diff --git a/meta-digi-arm/recipes-security/optee-imx/optee-client.imx.inc b/meta-digi-arm/recipes-security/optee-imx/optee-client.imx.inc index eeb903c80..7d9f8d2d3 100644 --- a/meta-digi-arm/recipes-security/optee-imx/optee-client.imx.inc +++ b/meta-digi-arm/recipes-security/optee-imx/optee-client.imx.inc @@ -1,14 +1,34 @@ -# Copyright (C) 2019-2020 NXP +# Copyright (C) 2017-2020 NXP -require recipes-security/optee-imx/optee-client_3.2.0.imx.bb +SUMMARY = "OPTEE Client libs" +HOMEPAGE = "http://www.optee.org/" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b" -SRC_URI_remove = "file://0001-libteec-refactor-_dprintf.patch" +inherit pythonnative systemd +OPTEE_CLIENT_SRC ?= "git://source.codeaurora.org/external/imx/imx-optee-client.git;protocol=https" +SRC_URI = "${OPTEE_CLIENT_SRC};branch=${SRCBRANCH}" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI_append = " file://tee-supplicant.service" + +S = "${WORKDIR}/git" B = "${WORKDIR}/build" -EXTRA_OEMAKE_remove = "CFG_SECURE_DATA_PATH=y" +SYSTEMD_SERVICE_${PN} = "tee-supplicant.service" + EXTRA_OEMAKE += "O=${B}" +do_compile () { + if [ ${DEFAULTTUNE} = "aarch64" ]; then + oe_runmake -C ${S} ARCH=arm64 + else + oe_runmake -C ${S} ARCH=arm + fi +} + do_install() { oe_runmake -C ${S} install @@ -26,3 +46,13 @@ do_install() { install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service } + +PACKAGES += "tee-supplicant" +FILES_${PN} += "${libdir}/* ${includedir}/*" +FILES_tee-supplicant += "${bindir}/tee-supplicant" + +INSANE_SKIP_${PN} = "ldflags dev-elf" +INSANE_SKIP_${PN}-dev = "ldflags dev-elf" +INSANE_SKIP_tee-supplicant = "ldflags" + +COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" diff --git a/meta-digi-arm/recipes-security/optee-imx/optee-client_3.10.0.imx.bb b/meta-digi-arm/recipes-security/optee-imx/optee-client_3.10.0.imx.bb index 64145d5cf..fabd66b7d 100644 --- a/meta-digi-arm/recipes-security/optee-imx/optee-client_3.10.0.imx.bb +++ b/meta-digi-arm/recipes-security/optee-imx/optee-client_3.10.0.imx.bb @@ -1,6 +1,6 @@ # Copyright (C) 2020 NXP require optee-client.imx.inc -SRCBRANCH = "imx_5.4.47_2.2.0" +SRCBRANCH = "imx_5.4.70_2.3.0" SRCREV = "2a77cf88d956c34cb4a1c191bea6113e327f5fe0" diff --git a/meta-digi-arm/recipes-security/optee-imx/optee-os.imx.inc b/meta-digi-arm/recipes-security/optee-imx/optee-os.imx.inc index 3014ec07f..8bb44fb62 100644 --- a/meta-digi-arm/recipes-security/optee-imx/optee-os.imx.inc +++ b/meta-digi-arm/recipes-security/optee-imx/optee-os.imx.inc @@ -1,43 +1,57 @@ -# Copyright (C) 2019-2020 NXP - -require recipes-security/optee-imx/optee-os_3.2.0.imx.bb +# Copyright (C) 2017-2020 NXP +SUMMARY = "OPTEE OS" +DESCRIPTION = "OPTEE OS" +HOMEPAGE = "http://www.optee.org/" +LICENSE = "BSD" LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173" -inherit python3native -DEPENDS_remove = "python-pycrypto-native" -DEPENDS_append = " python3-pycrypto-native python3-pyelftools-native" +inherit deploy python3native autotools +DEPENDS = "python3-pycrypto-native python3-pyelftools-native u-boot-mkimage-native" -# The recipe uses Machine overrides variable -# to select the suitable OP-TEE Platform Flavor. -# The reason is that from an OP-TEE point of view there -# are no differences between for example a imx8mnddr4evk -# and a imx8mnevk MACHINE. In this example, the PLATFORM_FLAVOR -# defined is imx8mnevk, the other MACHINE derivatives -# are just using the original one. -PLATFORM_FLAVOR_mx8mn = "mx8mnevk" -PLATFORM_FLAVOR_mx8qxp = "mx8qxpmek" -PLATFORM_FLAVOR_mx8mp = "mx8mpevk" -PLATFORM_FLAVOR_mx8dx = "mx8dxmek" -PLATFORM_FLAVOR_mx8dxl = "mx8dxlevk" -PLATFORM_FLAVOR_mx8phantomdxl = "mx8qxpmek" +OPTEE_OS_SRC ?= "git://source.codeaurora.org/external/imx/imx-optee-os.git;protocol=https" +SRC_URI = "${OPTEE_OS_SRC};branch=${SRCBRANCH}" + +S = "${WORKDIR}/git" +B = "${WORKDIR}/build.${PLATFORM_FLAVOR}" + +# The platform flavor corresponds to the Yocto machine without the leading 'i'. +PLATFORM_FLAVOR = "${@d.getVar('MACHINE')[1:]}" +PLATFORM_FLAVOR_imx6qpdlsolox = "mx6qsabresd" +PLATFORM_FLAVOR_imx6ul7d = "mx6ulevk" +PLATFORM_FLAVOR_imx6ull14x14evk = "mx6ullevk" +PLATFORM_FLAVOR_imx6ull9x9evk = "mx6ullevk" +PLATFORM_FLAVOR_imx6ulz14x14evk = "mx6ulzevk" +PLATFORM_FLAVOR_mx8mm = "mx8mmevk" +PLATFORM_FLAVOR_mx8mn = "mx8mnevk" +PLATFORM_FLAVOR_mx8mnlite = "mx8mnevk" +PLATFORM_FLAVOR_mx8qxp = "mx8qxpmek" +PLATFORM_FLAVOR_mx8mp = "mx8mpevk" +PLATFORM_FLAVOR_mx8dx = "mx8dxmek" +PLATFORM_FLAVOR_mx8dxl = "mx8dxlevk" +PLATFORM_FLAVOR_mx8phantomdxl = "mx8qxpmek" OPTEE_CORE_LOG_LEVEL ?= "1" OPTEE_TA_LOG_LEVEL ?= "0" -EXTRA_OEMAKE_remove = "NOWERROR=1 \ - CFG_SECURE_DATA_PATH=y \ - CFG_TEE_SDP_MEM_BASE=0xCC000000 \ - CFG_TEE_SDP_MEM_SIZE=0x02000000 \ - CFG_TEE_SDP_NONCACHE=y \ - " +OPTEE_ARCH ?= "arm32" +OPTEE_ARCH_armv7a = "arm32" +OPTEE_ARCH_aarch64 = "arm64" -EXTRA_OEMAKE += "CFG_WERROR=y \ - CFG_TEE_CORE_LOG_LEVEL=${OPTEE_CORE_LOG_LEVEL} \ - CFG_TEE_TA_LOG_LEVEL=${OPTEE_TA_LOG_LEVEL} \ - CFG_NXPCRYPT=y \ - CFG_GEN_DEK_BLOB=y \ - " +# Optee-os can be built for 32 bits and 64 bits at the same time +# as long as the compilers are correctly defined. +# For 64bits, CROSS_COMPILE64 must be set +# When defining CROSS_COMPILE and CROSS_COMPILE64, we assure that +# any 32 or 64 bits builds will pass +EXTRA_OEMAKE = "PLATFORM=imx PLATFORM_FLAVOR=${PLATFORM_FLAVOR} \ + CROSS_COMPILE=${HOST_PREFIX} \ + CROSS_COMPILE64=${HOST_PREFIX} \ + LDFLAGS= \ + O=${B} \ + CFG_WERROR=y \ + CFG_TEE_CORE_LOG_LEVEL=${OPTEE_CORE_LOG_LEVEL} \ + CFG_TEE_TA_LOG_LEVEL=${OPTEE_TA_LOG_LEVEL} \ +" do_compile () { unset LDFLAGS @@ -45,3 +59,39 @@ do_compile () { oe_runmake -C ${S} all } +do_deploy () { + install -d ${DEPLOYDIR} + ${TARGET_PREFIX}objcopy -O binary ${B}/core/tee.elf ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin + + if [ "${OPTEE_ARCH}" != "arm64" ]; then + IMX_LOAD_ADDR=`cat ${B}/core/tee-init_load_addr.txt` && \ + uboot-mkimage -A arm -O linux -C none -a ${IMX_LOAD_ADDR} -e ${IMX_LOAD_ADDR} \ + -d ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin ${DEPLOYDIR}/uTee-${OPTEE_BIN_EXT} + fi + + cd ${DEPLOYDIR} + ln -sf tee.${PLATFORM_FLAVOR}.bin tee.bin + cd - +} + +do_install () { + install -d ${D}${nonarch_base_libdir}/firmware/ + install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/ + + # Install the TA devkit + install -d ${D}/usr/include/optee/export-user_ta_${OPTEE_ARCH}/ + + for f in ${B}/export-ta_${OPTEE_ARCH}/*; do + cp -aR $f ${D}/usr/include/optee/export-user_ta_${OPTEE_ARCH}/ + done +} + +addtask deploy after do_compile before do_install + + +FILES_${PN} = "${nonarch_base_libdir}/firmware/" +FILES_${PN}-staticdev = "/usr/include/optee/" +RDEPENDS_${PN}-dev += "${PN}-staticdev" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "(imx)" diff --git a/meta-digi-arm/recipes-security/optee-imx/optee-os_3.10.0.imx.bb b/meta-digi-arm/recipes-security/optee-imx/optee-os_3.10.0.imx.bb index 03e83340c..21979620b 100644 --- a/meta-digi-arm/recipes-security/optee-imx/optee-os_3.10.0.imx.bb +++ b/meta-digi-arm/recipes-security/optee-imx/optee-os_3.10.0.imx.bb @@ -3,8 +3,8 @@ require optee-os.imx.inc DEPENDS_append = " python3-pycryptodomex-native" -SRCBRANCH = "imx_5.4.47_2.2.0" -SRCREV = "b3914e547eaf90684b5630921d609126634ce64b" +SRCBRANCH = "imx_5.4.70_2.3.0" +SRCREV = "a991c90475bb1c715651e5fe27f7f32cbe61aef9" # tee-init_load_addr.txt has been remove in lates optee-os version. # to keep backward compatibility with existing optee-os recipe. diff --git a/meta-digi-arm/recipes-security/optee-imx/optee-test.imx.inc b/meta-digi-arm/recipes-security/optee-imx/optee-test.imx.inc index 37c0e3446..10cd63809 100644 --- a/meta-digi-arm/recipes-security/optee-imx/optee-test.imx.inc +++ b/meta-digi-arm/recipes-security/optee-imx/optee-test.imx.inc @@ -1,18 +1,23 @@ -# Copyright (C) 2019-2020 NXP +# Copyright (C) 2017-2020 NXP -require recipes-security/optee-imx/optee-test_3.2.0.imx.bb +SUMMARY = "OPTEE test" +HOMEPAGE = "http://www.optee.org/" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa" inherit python3native -DEPENDS_remove = "python-pycrypto-native" -DEPENDS_append = " python3-pycrypto-native" -SRC_URI_remove = "file://0001-regression-4011-correct-potential-overflow.patch \ - file://0001-xtest-prevent-unexpected-build-warning-with-strncpy.patch \ - file://0003-sock_server-fix-compilation-against-musl-sys-errno.h.patch \ - file://0004-build-ignore-declaration-after-statement-warnings.patch \ - file://0005-benchmark_1000-fix-compilation-against-musl-uint.patch \ - file://0006-regression_8100-use-null-terminated-strings-with-fil.patch \ - " +DEPENDS = "optee-os optee-client python3-pycrypto-native openssl" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +OPTEE_TEST_SRC ?= "git://source.codeaurora.org/external/imx/imx-optee-test.git;protocol=https" + +SRC_URI = "${OPTEE_TEST_SRC};branch=${SRCBRANCH} \ +" + +S = "${WORKDIR}/git" B = "${WORKDIR}/build" TA_DEV_KIT_DIR_aarch64 = "${STAGING_INCDIR}/optee/export-user_ta_arm64/" @@ -30,8 +35,23 @@ EXTRA_OEMAKE = " \ OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR}/ \ -C ${S} O=${B} \ " -do_compile_prepend () { + +do_compile () { export CXXFLAGS="${CXXFLAGS} --sysroot=${STAGING_DIR_HOST}" + + if [ ${DEFAULTTUNE} = "aarch64" ];then + export TA_DEV_KIT_DIR=${STAGING_INCDIR}/optee/export-user_ta_arm64/ + export ARCH=arm64 + else + export TA_DEV_KIT_DIR=${STAGING_INCDIR}/optee/export-user_ta_arm32/ + export ARCH=arm + fi + export OPTEE_CLIENT_EXPORT=${STAGING_DIR_HOST}/usr + export CROSS_COMPILE_HOST=${HOST_PREFIX} + export CROSS_COMPILE_TA=${HOST_PREFIX} + export CROSS_COMPILE=${HOST_PREFIX} + export OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR}/ + oe_runmake V=1 } do_install () { @@ -43,3 +63,7 @@ do_install () { install -m 444 $name ${D}/lib/optee_armtz/ done } + +FILES_${PN} = "/usr/bin/ /lib*/optee_armtz/" + +COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" diff --git a/meta-digi-arm/recipes-security/optee-imx/optee-test_3.10.0.imx.bb b/meta-digi-arm/recipes-security/optee-imx/optee-test_3.10.0.imx.bb index e6abb2431..66867f26e 100644 --- a/meta-digi-arm/recipes-security/optee-imx/optee-test_3.10.0.imx.bb +++ b/meta-digi-arm/recipes-security/optee-imx/optee-test_3.10.0.imx.bb @@ -3,8 +3,8 @@ require optee-test.imx.inc DEPENDS_append = " python3-pycryptodomex-native" -SRCBRANCH = "imx_5.4.47_2.2.0" -SRCREV = "30efcbeaf8864d0f2a5c4be593a5411001fab31b" +SRCBRANCH = "imx_5.4.70_2.3.0" +SRCREV = "0c998f42a3fb87b9f2929955cf4b0116cc515091" do_compile_prepend () { export CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_HOST}" diff --git a/meta-digi-dey/conf/distro/dey.conf b/meta-digi-dey/conf/distro/dey.conf index 0792479f0..cacf86280 100644 --- a/meta-digi-dey/conf/distro/dey.conf +++ b/meta-digi-dey/conf/distro/dey.conf @@ -1,6 +1,6 @@ DISTRO = "dey" DISTRO_NAME = "Digi Embedded Yocto" -DISTRO_VERSION = "3.0-r3" +DISTRO_VERSION = "3.0-r4" DISTRO_CODENAME = "zeus" SDK_VENDOR = "-deysdk" SDK_VERSION := "${@d.getVar('DISTRO_VERSION')}" diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.50/ccimx8mn/bluetooth-init b/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.50/ccimx8m/bluetooth-init similarity index 100% rename from meta-digi-dey/recipes-connectivity/bluez/bluez5-5.50/ccimx8mn/bluetooth-init rename to meta-digi-dey/recipes-connectivity/bluez/bluez5-5.50/ccimx8m/bluetooth-init diff --git a/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx8mm/80-mm-net-device-blacklist.rules b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx8mm/80-mm-net-device-blacklist.rules new file mode 100644 index 000000000..b5f43b430 --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx8mm/80-mm-net-device-blacklist.rules @@ -0,0 +1,18 @@ +ACTION!="add|change|move|bind", GOTO="mm_net_device_blacklist_end" + +# ModemManager documentation states that the best practice is to use the DEVPATH +# this way rather than other rules such as KERNEL, so be careful when modifying + +# Remove Ethernet interfaces from ModemManager probing +SUBSYSTEM=="net", DEVPATH=="/devices/platform/30be0000.ethernet*", ENV{ID_MM_CANDIDATE}="0", ENV{ID_MM_DEVICE_IGNORE}="1" + +# Remove SPI-to-CAN interface from ModemManager probing +SUBSYSTEM=="net", DEVPATH=="/devices/platform/30840000.ecspi*", ENV{ID_MM_CANDIDATE}="0", ENV{ID_MM_DEVICE_IGNORE}="1" + +# Remove MMC interfaces from ModemManager probing +SUBSYSTEM=="net", DEVPATH=="/devices/platform/30b40000.mmc*", ENV{ID_MM_CANDIDATE}="0", ENV{ID_MM_DEVICE_IGNORE}="1" + +# Remove PCIe interfaces from ModemManager probing +SUBSYSTEM=="net", DEVPATH=="/devices/platform/33800000.pcie*", ENV{ID_MM_CANDIDATE}="0", ENV{ID_MM_DEVICE_IGNORE}="1" + +LABEL="mm_net_device_blacklist_end" diff --git a/meta-digi-dey/recipes-connectivity/openssl/openssl_%.bbappend b/meta-digi-dey/recipes-connectivity/openssl/openssl_%.bbappend index e87c828c6..80d5ebada 100644 --- a/meta-digi-dey/recipes-connectivity/openssl/openssl_%.bbappend +++ b/meta-digi-dey/recipes-connectivity/openssl/openssl_%.bbappend @@ -17,3 +17,5 @@ SRC_URI += " \ # Add the openssl binary whenever the base package is pulled in via a dependency RRECOMMENDS_libcrypto += "openssl-bin" + +PACKAGECONFIG += "cryptodev-linux" diff --git a/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig b/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig index b79c600bf..82379eff9 100644 --- a/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig +++ b/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig @@ -1,9 +1,9 @@ # Example wpa_supplicant build time configuration # # This file lists the configuration options that are used when building the -# hostapd binary. All lines starting with # are ignored. Configuration option -# lines must be commented out complete, if they are not to be included, i.e., -# just setting VARIABLE=n is not disabling that variable. +# wpa_supplicant binary. All lines starting with # are ignored. Configuration +# option lines must be commented out complete, if they are not to be included, +# i.e., just setting VARIABLE=n is not disabling that variable. # # This file is included in Makefile, so variables like CFLAGS and LIBS can also # be modified from here. In most cases, these lines should use += in order not @@ -20,63 +20,6 @@ # used to fix build issues on such systems (krb5.h not found). #CFLAGS += -I/usr/include/kerberos -# Example configuration for various cross-compilation platforms - -#### sveasoft (e.g., for Linksys WRT54G) ###################################### -#CC=mipsel-uclibc-gcc -#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc -#CFLAGS += -Os -#CPPFLAGS += -I../src/include -I../../src/router/openssl/include -#LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl -############################################################################### - -#### openwrt (e.g., for Linksys WRT54G) ####################################### -#CC=mipsel-uclibc-gcc -#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc -#CFLAGS += -Os -#CPPFLAGS=-I../src/include -I../openssl-0.9.7d/include \ -# -I../WRT54GS/release/src/include -#LIBS = -lssl -############################################################################### - - -# Driver interface for Host AP driver -CONFIG_DRIVER_HOSTAP=y - -# Driver interface for Agere driver -#CONFIG_DRIVER_HERMES=y -# Change include directories to match with the local setup -#CFLAGS += -I../../hcf -I../../include -I../../include/hcf -#CFLAGS += -I../../include/wireless - -# Driver interface for madwifi driver -# Deprecated; use CONFIG_DRIVER_WEXT=y instead. -#CONFIG_DRIVER_MADWIFI=y -# Set include directory to the madwifi source tree -#CFLAGS += -I../../madwifi - -# Driver interface for ndiswrapper -# Deprecated; use CONFIG_DRIVER_WEXT=y instead. -#CONFIG_DRIVER_NDISWRAPPER=y - -# Driver interface for Atmel driver -# CONFIG_DRIVER_ATMEL=y - -# Driver interface for old Broadcom driver -# Please note that the newer Broadcom driver ("hybrid Linux driver") supports -# Linux wireless extensions and does not need (or even work) with the old -# driver wrapper. Use CONFIG_DRIVER_WEXT=y with that driver. -#CONFIG_DRIVER_BROADCOM=y -# Example path for wlioctl.h; change to match your configuration -#CFLAGS += -I/opt/WRT54GS/release/src/include - -# Driver interface for Intel ipw2100/2200 driver -# Deprecated; use CONFIG_DRIVER_WEXT=y instead. -#CONFIG_DRIVER_IPW=y - -# Driver interface for Ralink driver -#CONFIG_DRIVER_RALINK=y - # Driver interface for generic Linux wireless extensions # Note: WEXT is deprecated in the current Linux kernel version and no new # functionality is added to it. nl80211-based interface is the new @@ -127,12 +70,15 @@ CONFIG_LIBNL32=y # wpa_supplicant. # CONFIG_USE_NDISUIO=y -# Driver interface for development testing -#CONFIG_DRIVER_TEST=y - # Driver interface for wired Ethernet drivers #CONFIG_DRIVER_WIRED=y +# Driver interface for MACsec capable Qualcomm Atheros drivers +#CONFIG_DRIVER_MACSEC_QCA=y + +# Driver interface for Linux MACsec drivers +#CONFIG_DRIVER_MACSEC_LINUX=y + # Driver interface for the Broadcom RoboSwitch family #CONFIG_DRIVER_ROBOSWITCH=y @@ -143,8 +89,8 @@ CONFIG_LIBNL32=y #LIBS += -lsocket -ldlpi -lnsl #LIBS_c += -lsocket -# Enable IEEE 802.1X Supplicant (automatically included if any EAP method is -# included) +# Enable IEEE 802.1X Supplicant (automatically included if any EAP method or +# MACsec is included) CONFIG_IEEE8021X_EAPOL=y # EAP-MD5 @@ -163,11 +109,18 @@ CONFIG_EAP_PEAP=y CONFIG_EAP_TTLS=y # EAP-FAST -# Note: If OpenSSL is used as the TLS library, OpenSSL 1.0 or newer is needed -# for EAP-FAST support. Older OpenSSL releases would need to be patched, e.g., -# with openssl-0.9.8x-tls-extensions.patch, to add the needed functions. CONFIG_EAP_FAST=y +# EAP-TEAP +# Note: The current EAP-TEAP implementation is experimental and should not be +# enabled for production use. The IETF RFC 7170 that defines EAP-TEAP has number +# of conflicting statements and missing details and the implementation has +# vendor specific workarounds for those and as such, may not interoperate with +# any other implementation. This should not be used for anything else than +# experimentation and interoperability testing until those issues has been +# resolved. +#CONFIG_EAP_TEAP=y + # EAP-GTC CONFIG_EAP_GTC=y @@ -177,6 +130,9 @@ CONFIG_EAP_OTP=y # EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used) CONFIG_EAP_SIM=y +# Enable SIM simulator (Milenage) for EAP-SIM +#CONFIG_SIM_SIMULATOR=y + # EAP-PSK (experimental; this is _not_ needed for WPA-PSK) CONFIG_EAP_PSK=y @@ -212,8 +168,6 @@ CONFIG_EAP_GPSK=y # Wi-Fi Protected Setup (WPS) CONFIG_WPS=y -# Enable WSC 2.0 support -#CONFIG_WPS2=y # Enable WPS external registrar functionality #CONFIG_WPS_ER=y # Disable credentials for an open network by default when acting as a WPS @@ -228,6 +182,9 @@ CONFIG_EAP_IKEV2=y # EAP-EKE #CONFIG_EAP_EKE=y +# MACsec +#CONFIG_MACSEC=y + # PKCS#12 (PFX) support (used to read private key and certificate file from # a file that usually has extension .p12 or .pfx) CONFIG_PKCS12=y @@ -288,6 +245,9 @@ CONFIG_WPA_CLI_EDIT=y # wpa_passphrase). This saves about 0.5 kB in code size. #CONFIG_NO_WPA_PASSPHRASE=y +# Simultaneous Authentication of Equals (SAE), WPA3-Personal +CONFIG_SAE=y + # Disable scan result processing (ap_mode=1) to save code size by about 1 kB. # This can be used if ap_scan=1 mode is never enabled. #CONFIG_NO_SCAN_PROCESSING=y @@ -355,12 +315,16 @@ CONFIG_PEERKEY=y # IEEE 802.11w (management frame protection), also known as PMF # Driver support is also needed for IEEE 802.11w. -#CONFIG_IEEE80211W=y +CONFIG_IEEE80211W=y + +# Support Operating Channel Validation +#CONFIG_OCV=y # Select TLS implementation # openssl = OpenSSL (default) # gnutls = GnuTLS # internal = Internal TLSv1 implementation (experimental) +# linux = Linux kernel AF_ALG and internal TLSv1 implementation (experimental) # none = Empty template #CONFIG_TLS=openssl @@ -378,6 +342,10 @@ CONFIG_PEERKEY=y # will be used) #CONFIG_TLSV12=y +# Select which ciphers to use by default with OpenSSL if the user does not +# specify them. +#CONFIG_TLS_DEFAULT_CIPHERS="DEFAULT:!EXP:!LOW" + # If CONFIG_TLS=internal is used, additional library and include paths are # needed for LibTomMath. Alternatively, an integrated, minimal version of # LibTomMath can be used. See beginning of libtommath.c for details on benefits @@ -428,7 +396,7 @@ CONFIG_CTRL_IFACE_DBUS_NEW=y # amount of memory/flash. #CONFIG_DYNAMIC_EAP_METHODS=y -# IEEE Std 802.11r-2008 (Fast BSS Transition) +# IEEE Std 802.11r-2008 (Fast BSS Transition) for station mode CONFIG_IEEE80211R=y # Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt) @@ -505,6 +473,11 @@ CONFIG_IEEE80211R=y # that meet the requirements described above. #CONFIG_NO_RANDOM_POOL=y +# Should we attempt to use the getrandom(2) call that provides more reliable +# yet secure randomness source than /dev/random on Linux 3.17 and newer. +# Requires glibc 2.25 to build, falls back to /dev/random if unavailable. +#CONFIG_GETRANDOM=y + # IEEE 802.11n (High Throughput) support (mainly for AP mode) CONFIG_IEEE80211N=y @@ -548,8 +521,8 @@ CONFIG_P2P=y # Enable TDLS support #CONFIG_TDLS=y -# Wi-Fi Direct -# This can be used to enable Wi-Fi Direct extensions for P2P using an external +# Wi-Fi Display +# This can be used to enable Wi-Fi Display extensions for P2P using an external # program to control the additional information exchanges in the messages. #CONFIG_WIFI_DISPLAY=y diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx8mn/acpid.map b/meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/acpid.map similarity index 100% rename from meta-digi-dey/recipes-core/busybox/busybox/ccimx8mn/acpid.map rename to meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/acpid.map diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx8mn/standby b/meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/standby similarity index 100% rename from meta-digi-dey/recipes-core/busybox/busybox/ccimx8mn/standby rename to meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/standby diff --git a/meta-digi-dey/recipes-core/busybox/busybox/ccimx8mn/standby-actions b/meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/standby-actions similarity index 100% rename from meta-digi-dey/recipes-core/busybox/busybox/ccimx8mn/standby-actions rename to meta-digi-dey/recipes-core/busybox/busybox/ccimx8m/standby-actions diff --git a/meta-digi-dey/recipes-core/systemd/systemd-gpuconfig/gpuconfig b/meta-digi-dey/recipes-core/systemd/systemd-gpuconfig/gpuconfig index 9da22000b..bc073e81d 100644 --- a/meta-digi-dey/recipes-core/systemd/systemd-gpuconfig/gpuconfig +++ b/meta-digi-dey/recipes-core/systemd/systemd-gpuconfig/gpuconfig @@ -1,19 +1,28 @@ #!/bin/sh CPUREV=$(cat /sys/devices/soc0/soc_id) FILEVG=/usr/lib/libOpenVG.so +FILEVGLIB=/usr/lib/libOpenVG.so.1 FILEVG3D=/usr/lib/libOpenVG.3d.so.1.1.0 FILEVG355=/usr/lib/libOpenVG.2d.so.1.1.0 + if [ -e $FILEVG3D ] && [ -e $FILEVG355 ] then if [ -e $FILEVG ] then rm -f $FILEVG fi + if [ -e $FILEVGLIB ] + then + rm -f $FILEVGLIB + fi + if [ $CPUREV == "i.MX6QP" ] || [ $CPUREV == "i.MX6Q" ] || [ $CPUREV == "i.MX6SL" ] then # Use GC355 VG ln -s $FILEVG355 $FILEVG + ln -s $FILEVG355 $FILEVGLIB else ln -s $FILEVG3D $FILEVG + ln -s $FILEVG3D $FILEVGLIB fi fi diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc index 4e66757e4..ad2c625b6 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc @@ -1,4 +1,4 @@ -# Copyright (C) 2019,2020, Digi International Inc. +# Copyright (C) 2019-2021 Digi International Inc. SRCBRANCH = "dey-3.0/maint" SRCREV = "${AUTOREV}" diff --git a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx8mm-dvk/libdigiapix.conf b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx8mm-dvk/libdigiapix.conf new file mode 100644 index 000000000..2b1044637 --- /dev/null +++ b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx8mm-dvk/libdigiapix.conf @@ -0,0 +1,36 @@ +[board] +model = Digi International ConnectCore 8M Mini DVK. + +[GPIO] + +# USER LED1 +USER_LED = mca-gpio,12 +USER_LED1 = mca-gpio,12 + +# USER_LED2 +USER_LED2 = mca-gpio,18 + +# USER_LED3 +USER_LED3 = gpio2,19 + +# USER BUTTON1 +USER_BUTTON = mca-gpio,10 +USER_BUTTON1 = mca-gpio,10 + +# USER BUTTON2 +USER_BUTTON2 = gpio2,20 + +[I2C] + +# I2C-4 on Expansion connector. +DEFAULT_I2C_BUS = 4 + +[PWM] + +# PWM0 channel 1 USER_LED1. +DEFAULT_PWM = 0,1 + +[ADC] + +# MCA_IO1 (channel 1) at XBEE1_UART_TX. Not enabled by default. +DEFAULT_ADC = 0,1 diff --git a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb index 9d977bb28..4c200046a 100644 --- a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb +++ b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2017-2020 Digi International Inc. +# Copyright (C) 2017-2021 Digi International Inc. SUMMARY = "Digi APIX library" DESCRIPTION = "C library to access and manage your ConnectCore platform interfaces in an easy manner" diff --git a/meta-digi-dey/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch b/meta-digi-dey/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch deleted file mode 100644 index fa7b218e0..000000000 --- a/meta-digi-dey/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 9be904a70e6b7e6b3cc4e1b270bca02d14a4179b Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen -Date: Mon, 5 Sep 2016 14:41:37 +0300 -Subject: [PATCH] configure.ac: Allow explicit enabling of cunit tests - -Add --with-cunit to make it easier to do reproducible builds. Default -is still to probe cunit and build opportunistically. - -Signed-off-by: Jussi Kukkonen -Upstream-Status: Submitted [mailing list] - ---- - configure.ac | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 1341f51..bef46e0 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -168,6 +168,12 @@ AC_ARG_ENABLE(install-test-programs, - [Install test programs (default: no)]), - [INSTALL_TESTS=$enableval], [INSTALL_TESTS=no]) - -+AC_ARG_WITH([cunit], -+ [AS_HELP_STRING([--with-cunit], -+ [Build tests that use cunit (default: auto)])], -+ [], -+ [with_cunit=auto]) -+ - dnl =========================================================================== - dnl check compiler flags - AC_DEFUN([LIBDRM_CC_TRY_FLAG], [ -@@ -416,7 +422,7 @@ else - AC_DEFINE(HAVE_RADEON, 0) - fi - --if test "x$AMDGPU" != xno; then -+if test "x$with_cunit" != xno -a "x$AMDGPU" != xno; then - # Detect cunit library - PKG_CHECK_MODULES([CUNIT], [cunit >= 2.1], [have_cunit=yes], [have_cunit=no]) - # If pkg-config does not find cunit, check it using AC_CHECK_LIB. We -@@ -441,7 +447,11 @@ if test "x$AMDGPU" = xyes; then - AC_DEFINE(HAVE_AMDGPU, 1, [Have amdgpu support]) - - if test "x$have_cunit" = "xno"; then -- AC_MSG_WARN([Could not find cunit library. Disabling amdgpu tests]) -+ if test "x$with_cunit" = "xyes"; then -+ AC_MSG_ERROR([Could not find cunit library but --with-cunit was given]) -+ elif test "x$with_cunit" = "xauto"; then -+ AC_MSG_WARN([Could not find cunit library. Disabling amdgpu tests]) -+ fi - fi - else - AC_DEFINE(HAVE_AMDGPU, 0) diff --git a/meta-digi-dey/recipes-graphics/drm/libdrm/0001-meson-add-libdrm-vivante-to-the-meson-meta-data.patch b/meta-digi-dey/recipes-graphics/drm/libdrm/0001-meson-add-libdrm-vivante-to-the-meson-meta-data.patch new file mode 100644 index 000000000..ae6b0ab7d --- /dev/null +++ b/meta-digi-dey/recipes-graphics/drm/libdrm/0001-meson-add-libdrm-vivante-to-the-meson-meta-data.patch @@ -0,0 +1,140 @@ +From 45f48f8a5de59c04b0510c23853772bc970f411e Mon Sep 17 00:00:00 2001 +From: Max Krummenacher +Date: Thu, 9 Jan 2020 01:01:35 +0000 +Subject: [PATCH] meson: add libdrm-vivante to the meson meta data + +Upstream libdrm added the option to use meason as the buildsystem. +Integrate Vivante into the relevant meson build information. + +Upstream-Status: Pending + +Signed-off-by: Max Krummenacher +--- + meson.build | 14 +++++++++++++ + meson_options.txt | 7 +++++++ + vivante/meson.build | 50 +++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 71 insertions(+) + create mode 100644 vivante/meson.build + +diff --git a/meson.build b/meson.build +index e292554a..f4740634 100644 +--- a/meson.build ++++ b/meson.build +@@ -157,6 +157,15 @@ if _vc4 != 'false' + with_vc4 = _vc4 == 'true' or ['arm', 'aarch64'].contains(host_machine.cpu_family()) + endif + ++with_vivante = false ++_vivante = get_option('vivante') ++if _vivante == 'true' ++ if not with_atomics ++ error('libdrm_vivante requires atomics.') ++ endif ++ with_vivante = true ++endif ++ + # XXX: Apparently only freebsd and dragonfly bsd actually need this (and + # gnu/kfreebsd), not openbsd and netbsd + with_libkms = false +@@ -312,6 +321,7 @@ install_headers( + 'include/drm/savage_drm.h', 'include/drm/sis_drm.h', + 'include/drm/tegra_drm.h', 'include/drm/vc4_drm.h', + 'include/drm/via_drm.h', 'include/drm/virtgpu_drm.h', ++ 'include/drm/vivante_drm.h', + subdir : 'libdrm', + ) + if with_vmwgfx +@@ -362,6 +372,9 @@ endif + if with_etnaviv + subdir('etnaviv') + endif ++if with_vivante ++ subdir('vivante') ++endif + if with_man_pages + subdir('man') + endif +@@ -382,5 +395,6 @@ message(' EXYNOS API @0@'.format(with_exynos)) + message(' Freedreno API @0@ (kgsl: @1@)'.format(with_freedreno, with_freedreno_kgsl)) + message(' Tegra API @0@'.format(with_tegra)) + message(' VC4 API @0@'.format(with_vc4)) ++message(' Vivante API @0@'.format(with_etnaviv)) + message(' Etnaviv API @0@'.format(with_etnaviv)) + message('') +diff --git a/meson_options.txt b/meson_options.txt +index 8af33f1c..dc69563d 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -95,6 +95,13 @@ option( + choices : ['true', 'false', 'auto'], + description : '''Enable support for vc4's KMS API.''', + ) ++option( ++ 'vivante', ++ type : 'combo', ++ value : 'false', ++ choices : ['true', 'false', 'auto'], ++ description : '''Enable support for vivante's propriatary experimental KMS API.''', ++) + option( + 'etnaviv', + type : 'combo', +diff --git a/vivante/meson.build b/vivante/meson.build +new file mode 100644 +index 00000000..f6adb598 +--- /dev/null ++++ b/vivante/meson.build +@@ -0,0 +1,50 @@ ++# Copyright © 2017-2018 Intel Corporation ++ ++# Permission is hereby granted, free of charge, to any person obtaining a copy ++# of this software and associated documentation files (the "Software"), to deal ++# in the Software without restriction, including without limitation the rights ++# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++# copies of the Software, and to permit persons to whom the Software is ++# furnished to do so, subject to the following conditions: ++ ++# The above copyright notice and this permission notice shall be included in ++# all copies or substantial portions of the Software. ++ ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++# SOFTWARE. ++ ++ ++libdrm_vivante = shared_library( ++ 'drm_vivante', ++ [ ++ files( ++ 'vivante_bo.c', ++ ), ++ config_file ++ ], ++ include_directories : [inc_root, inc_drm], ++ link_with : libdrm, ++ c_args : libdrm_c_args, ++ dependencies : [dep_pthread_stubs, dep_rt, dep_atomic_ops], ++ version : '1.0.0', ++ install : true, ++) ++ ++pkg.generate( ++ name : 'libdrm_vivante', ++ libraries : libdrm_vivante, ++ subdirs : ['.', 'libdrm'], ++ version : meson.project_version(), ++ requires_private : 'libdrm', ++ description : 'Userspace interface to Vivante kernel DRM services', ++) ++ ++ext_libdrm_vivante = declare_dependency( ++ link_with : [libdrm, libdrm_vivante], ++ include_directories : [inc_drm, include_directories('.')], ++) +-- +2.20.1 + diff --git a/meta-digi-dey/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch b/meta-digi-dey/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch deleted file mode 100644 index ab9729b74..000000000 --- a/meta-digi-dey/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 860a227277ab425b0377875adc7ff5bdf3fa206e Mon Sep 17 00:00:00 2001 -From: "Maxin B. John" -Date: Fri, 13 Oct 2017 10:52:35 -0500 -Subject: [PATCH] drmdevice.c: define _GNU_SOURCE - -Include config.h to fix this build error with uclibc: - -libdrm-2.4.66/tests/drmdevice.c: In function 'main': -libdrm-2.4.66/tests/drmdevice.c:96:60: error: -'O_CLOEXEC' undeclared (first use in this function) -fd = open(devices[i]->nodes[j],O_RDONLY | O_CLOEXEC, 0); - -Upstream-Status: Pending - -Signed-off-by: Maxin B. John - ---- - tests/drmdevice.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/drmdevice.c b/tests/drmdevice.c -index 9dd5098..78fcc39 100644 ---- a/tests/drmdevice.c -+++ b/tests/drmdevice.c -@@ -21,6 +21,7 @@ - * - */ - -+#include - #include - #include - #include diff --git a/meta-digi-dey/recipes-graphics/drm/libdrm/installtests.patch b/meta-digi-dey/recipes-graphics/drm/libdrm/installtests.patch deleted file mode 100644 index b5456dec2..000000000 --- a/meta-digi-dey/recipes-graphics/drm/libdrm/installtests.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 14e42311309712228588fc9adf612b2ab3f0097f Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen -Date: Tue, 21 Feb 2017 14:37:52 +0200 -Subject: [PATCH] tests: also install test apps - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Yu Ke -Signed-off-by: Jussi Kukkonen - ---- - tests/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 0355a92..b4882cd 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -45,3 +45,4 @@ TESTS = \ - check_PROGRAMS = \ - $(TESTS) \ - drmdevice -+bin_PROGRAMS = $(check_PROGRAMS) diff --git a/meta-digi-dey/recipes-graphics/drm/libdrm/musl-ioctl.patch b/meta-digi-dey/recipes-graphics/drm/libdrm/musl-ioctl.patch new file mode 100644 index 000000000..e3d6c5b85 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/drm/libdrm/musl-ioctl.patch @@ -0,0 +1,35 @@ +Upstream-Status: Submitted +Signed-off-by: Ross Burton + +From 46c0fd6c827a8cb4d04e067bf04fab579ac4712e Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Mon, 18 Jun 2018 15:07:03 +0100 +Subject: [PATCH] tests/nouveau/threaded: adapt ioctl signature + +POSIX says ioctl() has the signature (int, int, ...) but glibc has decided to +use (int, unsigned long int, ...) instead. + +Use a #ifdef to adapt the replacement function as appropriate. +--- + tests/nouveau/threaded.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/tests/nouveau/threaded.c b/tests/nouveau/threaded.c +index 3669bcd3..e1c27c01 100644 +--- a/tests/nouveau/threaded.c ++++ b/tests/nouveau/threaded.c +@@ -36,7 +36,11 @@ static int failed; + + static int import_fd; + ++#ifdef __GLIBC__ + int ioctl(int fd, unsigned long request, ...) ++#else ++int ioctl(int fd, int request, ...) ++#endif + { + va_list va; + int ret; +-- +2.11.0 + diff --git a/meta-digi-dey/recipes-graphics/drm/libdrm_2.4.102.imx.bb b/meta-digi-dey/recipes-graphics/drm/libdrm_2.4.102.imx.bb new file mode 100644 index 000000000..e3dd75b42 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/drm/libdrm_2.4.102.imx.bb @@ -0,0 +1,9 @@ +require libdrm_2.4.99.imx.bb + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" + +LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71" +IMX_LIBDRM_BRANCH = "libdrm-imx-2.4.102" +SRCREV = "f525ae649cd6e81e5d4e459799b0f7a120c4e174" + +SRC_URI_remove = "file://musl-ioctl.patch" diff --git a/meta-digi-dey/recipes-graphics/drm/libdrm_2.4.99.imx.bb b/meta-digi-dey/recipes-graphics/drm/libdrm_2.4.99.imx.bb index da2ea2944..dc2aa8a90 100644 --- a/meta-digi-dey/recipes-graphics/drm/libdrm_2.4.99.imx.bb +++ b/meta-digi-dey/recipes-graphics/drm/libdrm_2.4.99.imx.bb @@ -1,6 +1,73 @@ -require recipes-graphics/drm/libdrm_2.4.91.imx.bb - +SUMMARY = "Userspace interface to the kernel DRM services" +DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \ +stands for \"Direct Rendering Manager\", which is the kernel portion of the \ +\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \ +accelerated OpenGL drivers." +HOMEPAGE = "http://dri.freedesktop.org" +SECTION = "x11/base" +LICENSE = "MIT" LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71" -IMX_LIBDRM_BRANCH = "libdrm-imx-2.4.99" -SRC_URI_remove = "file://installtests.patch" +PROVIDES = "drm" +DEPENDS = "libpthread-stubs" + +IMX_LIBDRM_SRC ?= "git://source.codeaurora.org/external/imx/libdrm-imx.git;protocol=https;nobranch=1" +IMX_LIBDRM_BRANCH ?= "libdrm-imx-2.4.99" +SRC_URI = "${IMX_LIBDRM_SRC};branch=${IMX_LIBDRM_BRANCH} \ + file://musl-ioctl.patch \ + file://0001-meson-add-libdrm-vivante-to-the-meson-meta-data.patch " SRCREV = "f421c9c8c4b8fe48d9e6ef43910e98569c94a4b2" +S = "${WORKDIR}/git" + +DEFAULT_PREFERENCE = "-1" + +inherit meson pkgconfig manpages + +PACKAGECONFIG ??= "libkms intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv install-test-programs" +PACKAGECONFIG[libkms] = "-Dlibkms=true,-Dlibkms=false" +PACKAGECONFIG[intel] = "-Dintel=true,-Dintel=false,libpciaccess" +PACKAGECONFIG[radeon] = "-Dradeon=true,-Dradeon=false" +PACKAGECONFIG[amdgpu] = "-Damdgpu=true,-Damdgpu=false" +PACKAGECONFIG[nouveau] = "-Dnouveau=true,-Dnouveau=false" +PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=true,-Dvmwgfx=false" +PACKAGECONFIG[omap] = "-Domap=true,-Domap=false" +PACKAGECONFIG[exynos] = "-Dexynos=true,-Dexynos=false" +PACKAGECONFIG[freedreno] = "-Dfreedreno=true,-Dfreedreno=false" +PACKAGECONFIG[tegra] = "-Dtegra=true,-Dtegra=false" +PACKAGECONFIG[vc4] = "-Dvc4=true,-Dvc4=false" +PACKAGECONFIG[etnaviv] = "-Detnaviv=true,-Detnaviv=false" +PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false" +PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind" +PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false" +PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false" +PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev" +PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native" + +ALLOW_EMPTY_${PN}-drivers = "1" +PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \ + ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \ + ${PN}-etnaviv" + +RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \ + ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \ + ${PN}-etnaviv" + +FILES_${PN}-tests = "${bindir}/*" +FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*" +FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*" +FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*" +FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*" +FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*" +FILES_${PN}-kms = "${libdir}/libkms*.so.*" +FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*" +FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids" +FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*" + +BBCLASSEXTEND = "native nativesdk" + +PACKAGES_prepend_imxgpu = "${PN}-vivante " +RRECOMMENDS_${PN}-drivers_append_imxgpu = " ${PN}-vivante" +FILES_${PN}-vivante = "${libdir}/libdrm_vivante.so.*" +PACKAGECONFIG_append_imxgpu = " vivante" +PACKAGECONFIG[vivante] = "-Dvivante=true,-Dvivante=false" + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" diff --git a/meta-digi-dey/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.8.12.bb b/meta-digi-dey/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.8.12.bb new file mode 100644 index 000000000..4feada08f --- /dev/null +++ b/meta-digi-dey/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.8.12.bb @@ -0,0 +1,8 @@ +require recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.7.0.bb + +LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a" + +SRC_URI[md5sum] = "18a4119f1f7b83a09f60381e5403bbab" +SRC_URI[sha256sum] = "ba7e219b3cee32e0ac305685de21c67f30e0e5a1a89b5ec441ae6b8484b3f964" + +RDEPENDS_${PN} += "libopencl-imx" diff --git a/meta-digi-dey/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.8.9.bb b/meta-digi-dey/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.8.9.bb deleted file mode 100644 index b4d4b24bd..000000000 --- a/meta-digi-dey/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.8.9.bb +++ /dev/null @@ -1,8 +0,0 @@ -require recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.7.0.bb - -LIC_FILES_CHKSUM = "file://COPYING;md5=983e4c77621568488dd902b27e0c2143" - -SRC_URI[md5sum] = "e532d99c1116ac8b685cd03aab3f4c75" -SRC_URI[sha256sum] = "c48e2d408be9c4bf2731546bece39216c79856e554fd22f6c3040603a2348c72" - -RDEPENDS_${PN} += "libopencl-imx" diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.4.3.p0.0.bb b/meta-digi-dey/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.4.3.p0.0.bb deleted file mode 100644 index e1e7ce278..000000000 --- a/meta-digi-dey/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.4.3.p0.0.bb +++ /dev/null @@ -1,10 +0,0 @@ -require recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.4.p4.0.bb - -LIC_FILES_CHKSUM = "file://COPYING;md5=983e4c77621568488dd902b27e0c2143" - -FSLBIN_NAME_arm = "${PN}-${PV}-${TARGET_ARCH}" - -SRC_URI[aarch64.md5sum] = "38d161708c42bb01362b7ba7f91bb6b4" -SRC_URI[aarch64.sha256sum] = "97ee90c81fa0db88e3249cb7df77f17f816ceb9a40355e03f72df99e600d7331" -SRC_URI[arm.md5sum] = "0011979d36205b1a3f03b404d6af4085" -SRC_URI[arm.sha256sum] = "725ad2edd41661713540d5e32509c754cda452acc608955689b8a64977b26ced" diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.4.3.p1.0.bb b/meta-digi-dey/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.4.3.p1.0.bb new file mode 100644 index 000000000..6a8518fc5 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.4.3.p1.0.bb @@ -0,0 +1,10 @@ +require recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.4.p4.0.bb + +LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a" + +FSLBIN_NAME_arm = "${PN}-${PV}-${TARGET_ARCH}" + +SRC_URI[aarch64.md5sum] = "2c17220ff2c28701b5feca45b341961f" +SRC_URI[aarch64.sha256sum] = "47a39b171d83bced378b1b4f408be6304850fe2f25bf4577dd1ea78e22473f3d" +SRC_URI[arm.md5sum] = "968a7d324016376930579a0f904d6e69" +SRC_URI[arm.sha256sum] = "8d3b024151d4bdcc4f68cdbba9c4e5d126d55c9258de5821c43b393ae3f840b4" diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc index 6e10faa54..c10bd2184 100644 --- a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc +++ b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc @@ -34,9 +34,6 @@ EXTRA_PROVIDES_append_imxgpu3d = " \ EXTRA_PROVIDES_append_mx8 = " \ virtual/libgbm \ " -EXTRA_PROVIDES_append_mx8qm = " \ - virtual/libopenvx \ -" PROVIDES_OPENVX = "" PROVIDES_OPENVX_mx8 = "virtual/libopenvx" PROVIDES_OPENVX_mx8mm = "" @@ -96,9 +93,11 @@ python __anonymous () { USE_X11 = "${@bb.utils.contains("DISTRO_FEATURES", "x11", "yes", "no", d)}" USE_WL = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "yes", "no", d)}" -# Inhibit warnings about files being stripped. -INHIBIT_PACKAGE_STRIP = "1" +# The packaged binaries have been stripped of debug info, so disable +# operations accordingly. INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_SYSROOT_STRIP = "1" # FIXME: The provided binary doesn't provide soname. If in future BSP # release the libraries are fixed, we can drop this hack. @@ -145,9 +144,8 @@ HAS_GBM = "false" HAS_GBM_mx8 = "true" GLES3_HEADER_REMOVALS = "gl31.h gl32.h" -GLES3_HEADER_REMOVALS_mx8mq = "gl32.h" -GLES3_HEADER_REMOVALS_mx8mn = "gl32.h" -GLES3_HEADER_REMOVALS_mx8mp = "gl32.h" +GLES3_HEADER_REMOVALS_mx8m = "gl32.h" +GLES3_HEADER_REMOVALS_mx8mm = "gl31.h gl32.h" GLES3_HEADER_REMOVALS_mx8qxp = "" GLES3_HEADER_REMOVALS_mx8qm = "" @@ -265,11 +263,7 @@ do_install () { ALLOW_EMPTY_${PN} = "1" -# FIXME: Remove the following lines after adding libopenvx package -INSANE_SKIP_imx-gpu-viv-dev += "dev-elf" -INSANE_SKIP_libclc-imx += "dev-deps" - -FILES_libclc-imx = "${libdir}/libCLC${SOLIBS}" +FILES_libclc-imx = "${libdir}/libCLC${SOLIBS} ${includedir}/CL/cl_viv_vx_ext.h" FILES_libclc-imx-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}" # libEGL.so is used by some demo apps from Freescale @@ -279,21 +273,23 @@ FILES_libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/ FILES_libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}" FILES_libgal-imx-dev = "${libdir}/libGAL${SOLIBSDEV} ${includedir}/HAL" +RDEPENDS_libgal-imx += "kernel-module-imx-gpu-viv" RDEPENDS_libgal-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'valgrind', '', d)}" RPROVIDES_libgal-imx += "libgal-imx" INSANE_SKIP_libgal-imx += "build-deps" FILES_libvsc-imx = "${libdir}/libVSC${SOLIBS}" -FILES_libgbm-imx_mx8 = "${libdir}/libgbm*${SOLIBS}" -FILES_libgbm-imx-dev_mx8 = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${libdir}/libgbm${SOLIBSDEV}" +FILES_libgbm-imx_mx8 = "${libdir}/libgbm${REALSOLIBS} ${libdir}/libgbm${SOLIBSDEV} ${libdir}/libgbm_viv${SOLIBSDEV}" +FILES_libgbm-imx-dev_mx8 = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h" RDEPENDS_libgbm-imx_append_mx8 = " libdrm" +INSANE_SKIP_libgbm-imx += "dev-so" FILES_libvulkan-imx = "${libdir}/libvulkan_VSI${SOLIBS} ${libdir}/libvulkan_VSI${REALSOLIBS} ${libdir}/libSPIRV_viv${SOLIBS}" FILES_libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}" INSANE_SKIP_libvulkan-imx += "dev-so" -FILES_libopenvx-imx = "${libdir}/libOpenVX${SOLIBS} ${libdir}/libOpenVX${REALSOLIBS} ${libdir}/libOvx*${SOLIBS} ${libdir}/libOpenVXC${SOLIBS} ${libdir}/libOpenVXU${SOLIBS}" +FILES_libopenvx-imx = "${libdir}/libOpenVX${SOLIBS} ${libdir}/libOpenVX${REALSOLIBS} ${libdir}/libOvx*${SOLIBS} ${libdir}/libOpenVXC${SOLIBS} ${libdir}/libOpenVXU${SOLIBS} ${libdir}/libArchModelSw${SOLIBS}" FILES_libopenvx-imx-dev = "${includedir}/VX ${libdir}/libOpenVX${SOLIBSDEV}" RDEPENDS_libopenvx-imx = "libnn-imx" INSANE_SKIP_libopenvx-imx += "dev-so dev-deps" @@ -335,11 +331,11 @@ INSANE_SKIP_libopencl-imx += "dev-so dev-deps" FILES_libnn-imx = "${libdir}/libNN*${SOLIBS}" INSANE_SKIP_libopenvg-imx += "dev-so" -FILES_libopenvg-imx = "${libdir}/libOpenVG*${REALSOLIBS}" +FILES_libopenvg-imx = "${libdir}/libOpenVG*${REALSOLIBS} ${libdir}/libOpenVG*${SOLIBS}" FILES_libopenvg-imx-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc" RDEPENDS_libopenvg-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-gpuconfig', '', d)}" -FILES_libvdk-imx = "${libdir}/libVDK*${REALSOLIBS}" +FILES_libvdk-imx = "${libdir}/libVDK*${REALSOLIBS} ${libdir}/libVDK*${SOLIBS}" FILES_libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}" INSANE_SKIP_libvdk-imx += "dev-so" diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p0.0-aarch32.bb b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p0.0-aarch32.bb deleted file mode 100644 index f66a19dc5..000000000 --- a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p0.0-aarch32.bb +++ /dev/null @@ -1,8 +0,0 @@ -require imx-gpu-viv-6.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=983e4c77621568488dd902b27e0c2143" - -SRC_URI[md5sum] = "163167d49e1667bab3a8a37ea33b7624" -SRC_URI[sha256sum] = "cdec43e45e840fe30e188e3b6f07c44b4a1ceafc315e605c8d278564db5fcbe9" - -COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx7ulp)" diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p0.0-aarch64.bb b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p0.0-aarch64.bb deleted file mode 100644 index 8aa0047bc..000000000 --- a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p0.0-aarch64.bb +++ /dev/null @@ -1,8 +0,0 @@ -require imx-gpu-viv-6.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=983e4c77621568488dd902b27e0c2143" - -SRC_URI[md5sum] = "db4c88a19d0c1f7ec2788531822f9144" -SRC_URI[sha256sum] = "b3bd03288106daf3a62d2301d09569292ef6a5c74c761cfa4e41dad85e4bf547" - -COMPATIBLE_MACHINE = "(mx8)" diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p1.0-aarch32.bb b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p1.0-aarch32.bb new file mode 100644 index 000000000..9980e0438 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p1.0-aarch32.bb @@ -0,0 +1,8 @@ +require imx-gpu-viv-6.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a" + +SRC_URI[md5sum] = "3ab06c5aa485c79c14e6c856ccfd8d82" +SRC_URI[sha256sum] = "9960fadbc1ea919f8b1b5c1e2e38a52b7293b70c906518d7fff2ada4140c59ea" + +COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx7ulp)" diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p1.0-aarch64.bb b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p1.0-aarch64.bb new file mode 100644 index 000000000..c58951f90 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p1.0-aarch64.bb @@ -0,0 +1,8 @@ +require imx-gpu-viv-6.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a" + +SRC_URI[md5sum] = "72a212a1bd8102718f8b03d935f1dcbc" +SRC_URI[sha256sum] = "0505620c3851a980d2e08fee4b4fcd06eff92efac02d1646924bea86e4384ad4" + +COMPATIBLE_MACHINE = "(mx8)" diff --git a/meta-digi-dey/recipes-graphics/mesa/mesa_%.bbappend b/meta-digi-dey/recipes-graphics/mesa/mesa_%.bbappend index 31bdad4a2..c913cf77f 100644 --- a/meta-digi-dey/recipes-graphics/mesa/mesa_%.bbappend +++ b/meta-digi-dey/recipes-graphics/mesa/mesa_%.bbappend @@ -3,6 +3,8 @@ PACKAGECONFIG_remove_mx8dxl = "osmesa" DRIDRIVERS_remove_mx8dxl = "swrast" PACKAGECONFIG_remove_mx8phantomdxl = "osmesa" DRIDRIVERS_remove_mx8phantomdxl = "swrast" +PACKAGECONFIG_remove_mx8mnlite = "osmesa" +DRIDRIVERS_remove_mx8mnlite = "swrast" do_install_append_imxgpu3d () { rm -f ${D}${includedir}/GL/glcorearb.h diff --git a/meta-digi-dey/recipes-graphics/vulkan/vulkan-loader_1.1.121.bbappend b/meta-digi-dey/recipes-graphics/vulkan/vulkan-loader_1.1.121.bbappend index 4bcbda8c8..a49e8a46c 100644 --- a/meta-digi-dey/recipes-graphics/vulkan/vulkan-loader_1.1.121.bbappend +++ b/meta-digi-dey/recipes-graphics/vulkan/vulkan-loader_1.1.121.bbappend @@ -4,5 +4,9 @@ PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', ' SRC_URI_append = " file://0001-STDIO-844-No-need-to-change-the-App-s-apiVersion-to-.patch" +# The i.MX implementation is dynamically loaded, so it requires an +# explicit runtime dependency. +RRECOMMENDS_${PN}_append_imxgpu = " libvulkan-imx" + COMPATIBLE_MACHINE = "(mx8)" COMPATIBLE_MACHINE_mx8mm = "(^$)" diff --git a/meta-digi-dey/recipes-graphics/vulkan/vulkan-tools_%.bbappend b/meta-digi-dey/recipes-graphics/vulkan/vulkan-tools_%.bbappend index 9d121953e..c088df979 100644 --- a/meta-digi-dey/recipes-graphics/vulkan/vulkan-tools_%.bbappend +++ b/meta-digi-dey/recipes-graphics/vulkan/vulkan-tools_%.bbappend @@ -4,7 +4,5 @@ PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', ' EXTRA_OECMAKE = "-DBUILD_CUBE=OFF" -RDEPENDS_${PN} += "libvulkan-imx" - COMPATIBLE_MACHINE = "(mx8)" COMPATIBLE_MACHINE_mx8mm = "(^$)" diff --git a/meta-digi-dey/recipes-graphics/vulkan/vulkan-validationlayers_%.bbappend b/meta-digi-dey/recipes-graphics/vulkan/vulkan-validationlayers_%.bbappend index fb6d88f86..88002489e 100644 --- a/meta-digi-dey/recipes-graphics/vulkan/vulkan-validationlayers_%.bbappend +++ b/meta-digi-dey/recipes-graphics/vulkan/vulkan-validationlayers_%.bbappend @@ -24,9 +24,6 @@ do_install_append () { FILES_SOLIBSDEV = "" FILES_${PN} += "${libdir}/libVkLayer_*.so" -# The package libvulkan-imx is required to configure the imx-gpu-viv vulkan drivers for the validation layers -RDEPENDS_${PN} += "libvulkan-imx" - INSANE_SKIP_${PN} = "dev-so" COMPATIBLE_MACHINE = "(mx8)" diff --git a/meta-digi-dey/recipes-graphics/wayland/wayland-protocols_1.18.imx.bb b/meta-digi-dey/recipes-graphics/wayland/wayland-protocols_1.18.imx.bb deleted file mode 100644 index 8ba8f9ee8..000000000 --- a/meta-digi-dey/recipes-graphics/wayland/wayland-protocols_1.18.imx.bb +++ /dev/null @@ -1,7 +0,0 @@ -require recipes-graphics/wayland/wayland-protocols_1.17.imx.bb - -WAYLAND_PROTOCOLS_SRC ?= "git://source.codeaurora.org/external/imx/wayland-protocols-imx.git;protocol=https" -SRCBRANCH = "wayland-protocols-imx-1.18" -SRC_URI = "${WAYLAND_PROTOCOLS_SRC};branch=${SRCBRANCH} " -SRCREV = "ee18c1f66877f7fb652467c349108395c20d4f9a" -S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb b/meta-digi-dey/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb new file mode 100644 index 000000000..7928ec16f --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb @@ -0,0 +1,26 @@ +SUMMARY = "Collection of additional Wayland protocols" +DESCRIPTION = "Wayland protocols that add functionality not \ +available in the Wayland core protocol. Such protocols either add \ +completely new functionality, or extend the functionality of some other \ +protocol either in Wayland core, or some other protocol in \ +wayland-protocols." +HOMEPAGE = "http://wayland.freedesktop.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \ + file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53" + +WAYLAND_PROTOCOLS_SRC ?= "git://source.codeaurora.org/external/imx/wayland-protocols-imx.git;protocol=https" +SRCBRANCH = "wayland-protocols-imx-1.20" +SRC_URI = "${WAYLAND_PROTOCOLS_SRC};branch=${SRCBRANCH} " +SRCREV = "9cacf108d0ee5863c7a656da5d2271bc2396e43d" +S = "${WORKDIR}/git" + +UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" + +inherit autotools pkgconfig + +PACKAGES = "${PN}" +FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc" + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" +COMPATIBLE_MACHINE = "(imxfbdev|imxgpu)" diff --git a/meta-digi-dey/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch b/meta-digi-dey/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch new file mode 100644 index 000000000..c2ceae4a4 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch @@ -0,0 +1,34 @@ +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/recipes-graphics/wayland/wayland/0001-meson-tests-add-missing-dependencies-on-protocol-hea.patch b/meta-digi-dey/recipes-graphics/wayland/wayland/0001-meson-tests-add-missing-dependencies-on-protocol-hea.patch new file mode 100644 index 000000000..61de0e04e --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/wayland/0001-meson-tests-add-missing-dependencies-on-protocol-hea.patch @@ -0,0 +1,115 @@ +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/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch b/meta-digi-dey/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch new file mode 100644 index 000000000..2199548bd --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch @@ -0,0 +1,26 @@ +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/recipes-graphics/wayland/wayland/0002-meson.build-find-the-native-wayland-scanner-directly.patch b/meta-digi-dey/recipes-graphics/wayland/wayland/0002-meson.build-find-the-native-wayland-scanner-directly.patch new file mode 100644 index 000000000..f98037a85 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/wayland/0002-meson.build-find-the-native-wayland-scanner-directly.patch @@ -0,0 +1,27 @@ +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/recipes-graphics/wayland/wayland/fixpathinpcfiles.patch b/meta-digi-dey/recipes-graphics/wayland/wayland/fixpathinpcfiles.patch deleted file mode 100644 index ad3526d98..000000000 --- a/meta-digi-dey/recipes-graphics/wayland/wayland/fixpathinpcfiles.patch +++ /dev/null @@ -1,32 +0,0 @@ -Fix wayland-client and wayland-scanner pc files - -Upstream-Status: Pending - -Signed-off-by: Fabien Lahoudere - -Index: wayland-1.14.0/src/wayland-client.pc.in -=================================================================== ---- wayland-1.14.0.orig/src/wayland-client.pc.in -+++ wayland-1.14.0/src/wayland-client.pc.in -@@ -1,7 +1,7 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ - datarootdir=@datarootdir@ --pkgdatadir=@datadir@/@PACKAGE@ -+pkgdatadir=${pc_sysrootdir}@datadir@/@PACKAGE@ - libdir=@libdir@ - includedir=@includedir@ - -Index: wayland-1.14.0/src/wayland-scanner.pc.in -=================================================================== ---- wayland-1.14.0.orig/src/wayland-scanner.pc.in -+++ wayland-1.14.0/src/wayland-scanner.pc.in -@@ -2,7 +2,7 @@ prefix=@prefix@ - exec_prefix=@exec_prefix@ - datarootdir=@datarootdir@ - pkgdatadir=@datadir@/@PACKAGE@ --wayland_scanner=@bindir@/wayland-scanner -+wayland_scanner=wayland-scanner - - Name: Wayland Scanner - Description: Wayland scanner diff --git a/meta-digi-dey/recipes-graphics/wayland/wayland/run-ptest b/meta-digi-dey/recipes-graphics/wayland/wayland/run-ptest new file mode 100644 index 000000000..7e8d9de04 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/wayland/run-ptest @@ -0,0 +1,17 @@ +#!/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/recipes-graphics/wayland/wayland_1.18.0.bb b/meta-digi-dey/recipes-graphics/wayland/wayland_1.18.0.bb index 19bcdf1fe..00be3aac2 100644 --- a/meta-digi-dey/recipes-graphics/wayland/wayland_1.18.0.bb +++ b/meta-digi-dey/recipes-graphics/wayland/wayland_1.18.0.bb @@ -1,4 +1,62 @@ -require recipes-graphics/wayland/wayland_1.17.0.bb +SUMMARY = "Wayland, a protocol between a compositor and clients" +DESCRIPTION = "Wayland is a protocol for a compositor to talk to its clients \ +as well as a C library implementation of that protocol. The compositor can be \ +a standalone display server running on Linux kernel modesetting and evdev \ +input devices, an X application, or a wayland client itself. The clients can \ +be traditional applications, X servers (rootless or fullscreen) or other \ +display servers." +HOMEPAGE = "http://wayland.freedesktop.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=b31d8f53b6aaf2b4985d7dd7810a70d1 \ + file://src/wayland-server.c;endline=24;md5=b8e046164a766bb1ede8ba38e9dcd7ce" +DEPENDS = "expat libffi wayland-native" + +SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ + file://run-ptest \ + file://0002-meson.build-find-the-native-wayland-scanner-directly.patch \ + file://0002-Do-not-hardcode-the-path-to-wayland-scanner.patch \ + file://0001-build-Fix-strndup-detection-on-MinGW.patch \ + file://0001-meson-tests-add-missing-dependencies-on-protocol-hea.patch \ + " SRC_URI[md5sum] = "23317697b6e3ff2e1ac8c5ba3ed57b65" SRC_URI[sha256sum] = "4675a79f091020817a98fd0484e7208c8762242266967f55a67776936c2e294d" + +UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" + +inherit meson pkgconfig ptest + +PACKAGECONFIG ??= "dtd-validation" +PACKAGECONFIG[dtd-validation] = "-Ddtd_validation=true,-Ddtd_validation=false,libxml2,," + +EXTRA_OEMESON = "-Ddocumentation=false" +EXTRA_OEMESON_class-native = "-Ddocumentation=false -Dlibraries=false" + +# Wayland installs a M4 macro for other projects to use, which uses the target +# pkg-config to find files. Replace pkg-config with pkg-config-native. +do_install_append_class-native() { + sed -e 's,PKG_CHECK_MODULES(.*),,g' \ + -e 's,$PKG_CONFIG,pkg-config-native,g' \ + -i ${D}/${datadir}/aclocal/wayland-scanner.m4 +} + +do_install_ptest() { + mkdir -p ${D}${PTEST_PATH}/tests/data + cp -rf ${B}/tests/*-test ${B}/tests/*-checker ${D}${PTEST_PATH}/tests + cp -rf ${B}/tests/*-checker ${D}${PTEST_PATH} + cp -rf ${S}/tests/scanner-test.sh ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/data/* ${D}${PTEST_PATH}/tests/data/ + cp -rf ${S}/egl/wayland-egl-symbols-check ${D}${PTEST_PATH}/tests/ +} + +sysroot_stage_all_append_class-target () { + rm ${SYSROOT_DESTDIR}/${datadir}/aclocal/wayland-scanner.m4 + cp ${STAGING_DATADIR_NATIVE}/aclocal/wayland-scanner.m4 ${SYSROOT_DESTDIR}/${datadir}/aclocal/ +} + +FILES_${PN} = "${libdir}/*${SOLIBS}" +FILES_${PN}-dev += "${bindir} ${datadir}/wayland" + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS_${PN}-ptest += "binutils sed" diff --git a/meta-digi-dey/recipes-graphics/wayland/weston-init.bbappend b/meta-digi-dey/recipes-graphics/wayland/weston-init.bbappend index 2b3e593bd..e4604503d 100644 --- a/meta-digi-dey/recipes-graphics/wayland/weston-init.bbappend +++ b/meta-digi-dey/recipes-graphics/wayland/weston-init.bbappend @@ -15,6 +15,9 @@ SRC_URI += " \ INI_UNCOMMENT_ASSIGNMENTS_append_mx8mp = " \ use-g2d=1 \ " +INI_UNCOMMENT_ASSIGNMENTS_append_mx8 = " \ + repaint-window=16 \ +" # Digi: use g2d on ccimx6sbc to fix desktop window issue # Also needed to workaround an HDMI hotplug issue on the ccimx6qpsbc diff --git a/meta-digi-dey/recipes-graphics/wayland/weston-init/weston.ini b/meta-digi-dey/recipes-graphics/wayland/weston-init/weston.ini index 9e8bde4d3..916e621ab 100644 --- a/meta-digi-dey/recipes-graphics/wayland/weston-init/weston.ini +++ b/meta-digi-dey/recipes-graphics/wayland/weston-init/weston.ini @@ -3,6 +3,7 @@ idle-time=0 #use-g2d=1 #xwayland=true +#repaint-window=16 #enable-overlay-view=1 #[shell] @@ -14,7 +15,7 @@ touchscreen_calibrator=true #[output] #name=HDMI-A-1 #mode=1920x1080@60 -#transform=90 +#transform=rotate-90 #[output] #name=HDMI-A-2 @@ -23,7 +24,7 @@ touchscreen_calibrator=true # off Disables the output # preferred Uses the preferred mode # current Uses the current crt controller mode -#transform=90 +#transform=rotate-90 [screen-share] command=@bindir@/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize diff --git a/meta-digi-dey/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch b/meta-digi-dey/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch new file mode 100644 index 000000000..6fe86ff3f --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch @@ -0,0 +1,47 @@ +From 58760e09eed662a72da939ff4802d605489cff8e Mon Sep 17 00:00:00 2001 +From: Denys Dmytriyenko +Date: Tue, 8 Sep 2020 19:37:42 -0400 +Subject: [PATCH] tests: include fcntl.h for open(), O_RDWR, O_CLOEXEC and + O_CREAT + +musl libc (unlike glibc) requires explicitly incuding fcntl.h to define open(), +O_RDWR, O_CLOEXEC and O_CREAT. Otherwise the build fails with the errors: + +| ../weston-9.0.0/tests/weston-test-fixture-compositor.c: In function 'wait_for_lock': +| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:7: warning: implicit declaration of function 'open'; did you mean 'popen'? [-Wimplicit-function-declaration] +| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700); +| | ^~~~ +| | popen +| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:23: error: 'O_RDWR' undeclared (first use in this function) +| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700); +| | ^~~~~~ +| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:23: note: each undeclared identifier is reported only once for each function it appears in +| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:32: error: 'O_CLOEXEC' undeclared (first use in this function) +| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700); +| | ^~~~~~~~~ +| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:44: error: 'O_CREAT' undeclared (first use in this function) +| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700); +| | ^~~~~~~ + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/493/diffs?commit_id=b10c0e843dcb8148bbe869bb15261955b94ac98c] + +Signed-off-by: Denys Dmytriyenko +--- + tests/weston-test-fixture-compositor.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tests/weston-test-fixture-compositor.c b/tests/weston-test-fixture-compositor.c +index 0c9855f..e0e32c9 100644 +--- a/tests/weston-test-fixture-compositor.c ++++ b/tests/weston-test-fixture-compositor.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + + #include "shared/helpers.h" + #include "weston-test-fixture-compositor.h" +-- +2.7.4 + diff --git a/meta-digi-dey/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/meta-digi-dey/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch index 1e24abf82..3279a728c 100644 --- a/meta-digi-dey/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch +++ b/meta-digi-dey/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch @@ -1,7 +1,8 @@ -From 682b7d79a7b81ec8e38760381104b24ad549e8c0 Mon Sep 17 00:00:00 2001 +From a1548c742bf2dedbb47282d8a00407b60bbab669 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Wed, 22 Feb 2017 15:53:30 +0200 Subject: [PATCH] weston-launch: Provide a default version that doesn't require + PAM weston-launch requires PAM for starting weston as a non-root user. @@ -16,17 +17,18 @@ Signed-off-by: Tom Hochstein Signed-off-by: Jussi Kukkonen Signed-off-by: Denys Dmytriyenko Signed-off-by: Ming Liu + --- libweston/meson.build | 16 ++++++++++++---- libweston/weston-launch.c | 21 +++++++++++++++++++++ meson_options.txt | 7 +++++++ 3 files changed, 40 insertions(+), 4 deletions(-) -Index: git/libweston/meson.build -=================================================================== ---- git.orig/libweston/meson.build -+++ git/libweston/meson.build -@@ -224,16 +224,24 @@ dep_vertex_clipping = declare_dependency +diff --git a/libweston/meson.build b/libweston/meson.build +index 08d23ec..cb9fd3f 100644 +--- a/libweston/meson.build ++++ b/libweston/meson.build +@@ -216,16 +216,24 @@ dep_vertex_clipping = declare_dependency( ) if get_option('weston-launch') @@ -55,10 +57,10 @@ Index: git/libweston/meson.build include_directories: common_inc, install: true ) -Index: git/libweston/weston-launch.c -=================================================================== ---- git.orig/libweston/weston-launch.c -+++ git/libweston/weston-launch.c +diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c +index 521cb2c..2d42d33 100644 +--- a/libweston/weston-launch.c ++++ b/libweston/weston-launch.c @@ -51,7 +51,9 @@ #include @@ -80,7 +82,7 @@ Index: git/libweston/weston-launch.c int tty; int ttynr; int sock[2]; -@@ -192,6 +196,7 @@ weston_launch_allowed(struct weston_laun +@@ -192,6 +196,7 @@ weston_launch_allowed(struct weston_launch *wl) return false; } @@ -96,7 +98,7 @@ Index: git/libweston/weston-launch.c static int setup_launcher_socket(struct weston_launch *wl) -@@ -431,6 +437,7 @@ quit(struct weston_launch *wl, int statu +@@ -466,6 +472,7 @@ quit(struct weston_launch *wl, int status) close(wl->signalfd); close(wl->sock[0]); @@ -104,15 +106,15 @@ Index: git/libweston/weston-launch.c if (wl->new_user) { err = pam_close_session(wl->ph, 0); if (err) -@@ -438,6 +445,7 @@ quit(struct weston_launch *wl, int statu +@@ -473,6 +480,7 @@ quit(struct weston_launch *wl, int status) err, pam_strerror(wl->ph, err)); pam_end(wl->ph, err); } +#endif - if (ioctl(wl->tty, KDSKBMUTE, 0) && - ioctl(wl->tty, KDSKBMODE, wl->kb_mode)) -@@ -666,6 +674,7 @@ setup_session(struct weston_launch *wl, + /* + * Get a fresh handle to the tty as the previous one is in +@@ -710,6 +718,7 @@ setup_session(struct weston_launch *wl, char **child_argv) setenv("HOME", wl->pw->pw_dir, 1); setenv("SHELL", wl->pw->pw_shell, 1); @@ -120,7 +122,7 @@ Index: git/libweston/weston-launch.c env = pam_getenvlist(wl->ph); if (env) { for (i = 0; env[i]; ++i) { -@@ -674,6 +683,7 @@ setup_session(struct weston_launch *wl, +@@ -718,6 +727,7 @@ setup_session(struct weston_launch *wl, char **child_argv) } free(env); } @@ -128,7 +130,7 @@ Index: git/libweston/weston-launch.c /* * We open a new session, so it makes sense -@@ -745,8 +755,10 @@ static void +@@ -789,8 +799,10 @@ static void help(const char *name) { fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name); @@ -139,7 +141,7 @@ Index: git/libweston/weston-launch.c fprintf(stderr, " -t, --tty Start session on alternative tty,\n" " e.g. -t /dev/tty4, requires -u option.\n"); fprintf(stderr, " -v, --verbose Be verbose\n"); -@@ -760,7 +772,9 @@ main(int argc, char *argv[]) +@@ -804,7 +816,9 @@ main(int argc, char *argv[]) int i, c; char *tty = NULL; struct option opts[] = { @@ -149,7 +151,7 @@ Index: git/libweston/weston-launch.c { "tty", required_argument, NULL, 't' }, { "verbose", no_argument, NULL, 'v' }, { "help", no_argument, NULL, 'h' }, -@@ -772,11 +786,16 @@ main(int argc, char *argv[]) +@@ -816,11 +830,16 @@ main(int argc, char *argv[]) while ((c = getopt_long(argc, argv, "u:t:vh", opts, &i)) != -1) { switch (c) { case 'u': @@ -166,7 +168,7 @@ Index: git/libweston/weston-launch.c break; case 't': tty = optarg; -@@ -828,8 +847,10 @@ main(int argc, char *argv[]) +@@ -872,8 +891,10 @@ main(int argc, char *argv[]) if (setup_tty(&wl, tty) < 0) exit(EXIT_FAILURE); @@ -177,11 +179,11 @@ Index: git/libweston/weston-launch.c if (setup_launcher_socket(&wl) < 0) exit(EXIT_FAILURE); -Index: git/meson_options.txt -=================================================================== ---- git.orig/meson_options.txt -+++ git/meson_options.txt -@@ -101,6 +101,13 @@ option( +diff --git a/meson_options.txt b/meson_options.txt +index 239bd2d..99e4ec3 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -73,6 +73,13 @@ option( ) option( diff --git a/meta-digi-dey/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch b/meta-digi-dey/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch new file mode 100644 index 000000000..a4444e5d1 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch @@ -0,0 +1,23 @@ +Fix atomic modesetting with musl + +atomic modesetting seems to fail with drm weston backend and this patch fixes +it, below errors are seen before weston exits + +atomic: couldn't commit new state: Invalid argument + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/weston/-/issues/158] +Signed-off-by: Khem Raj + +--- a/libweston/backend-drm/kms.c ++++ b/libweston/backend-drm/kms.c +@@ -1168,8 +1168,8 @@ drm_pending_state_apply_atomic(struct dr + wl_list_for_each(plane, &b->plane_list, link) { + drm_debug(b, "\t\t[atomic] starting with plane %lu disabled\n", + (unsigned long) plane->plane_id); +- plane_add_prop(req, plane, WDRM_PLANE_CRTC_ID, 0); +- plane_add_prop(req, plane, WDRM_PLANE_FB_ID, 0); ++ //plane_add_prop(req, plane, WDRM_PLANE_CRTC_ID, 0); ++ //plane_add_prop(req, plane, WDRM_PLANE_FB_ID, 0); + } + + flags |= DRM_MODE_ATOMIC_ALLOW_MODESET; diff --git a/meta-digi-dey/recipes-graphics/wayland/weston_9.0.0.bb b/meta-digi-dey/recipes-graphics/wayland/weston_9.0.0.bb new file mode 100644 index 000000000..0b037a377 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston_9.0.0.bb @@ -0,0 +1,131 @@ +SUMMARY = "Weston, a Wayland compositor" +DESCRIPTION = "Weston is the reference implementation of a Wayland compositor" +HOMEPAGE = "http://wayland.freedesktop.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \ + file://libweston/compositor.c;endline=27;md5=6c53bbbd99273f4f7c4affa855c33c0a" + +SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ + file://weston.png \ + file://weston.desktop \ + file://xwayland.weston-start \ + file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ + file://0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch \ +" + +SRC_URI_append_libc-musl = " file://dont-use-plane-add-prop.patch " + +SRC_URI[sha256sum] = "5cf5d6ce192e0eb15c1fc861a436bf21b5bb3b91dbdabbdebe83e1f83aa098fe" + +UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" + +inherit meson pkgconfig useradd features_check +# depends on virtual/egl +REQUIRED_DISTRO_FEATURES = "opengl" + +DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0" +DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" + +WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" + +EXTRA_OEMESON += "-Dbackend-default=auto -Dbackend-rdp=false -Dpipewire=false" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl clients', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \ + ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \ + launch \ + image-jpeg \ + screenshare \ + shell-desktop \ + shell-fullscreen \ + shell-ivi" + +# +# Compositor choices +# +# Weston on KMS +PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev virtual/egl virtual/libgles2 virtual/libgbm mtdev" +# Weston on Wayland (nested Weston) +PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/egl virtual/libgles2" +# Weston on X11 +PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libxcb libxcb libxcursor cairo" +# Headless Weston +PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false" +# Weston on framebuffer +PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev" +# weston-launch +PACKAGECONFIG[launch] = "-Dweston-launch=true,-Dweston-launch=false,drm" +# VA-API desktop recorder +PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva" +# Weston with EGL support +PACKAGECONFIG[egl] = "-Drenderer-gl=true,-Drenderer-gl=false,virtual/egl" +# Weston with lcms support +PACKAGECONFIG[lcms] = "-Dcolor-management-lcms=true,-Dcolor-management-lcms=false,lcms" +# Weston with webp support +PACKAGECONFIG[webp] = "-Dimage-webp=true,-Dimage-webp=false,libwebp" +# Weston with systemd-login support +PACKAGECONFIG[systemd] = "-Dsystemd=true -Dlauncher-logind=true,-Dsystemd=false -Dlauncher-logind=false,systemd dbus" +# Weston with Xwayland support (requires X11 and Wayland) +PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false" +# colord CMS support +PACKAGECONFIG[colord] = "-Dcolor-management-colord=true,-Dcolor-management-colord=false,colord" +# Clients support +PACKAGECONFIG[clients] = "-Dsimple-clients=all -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false" +# Virtual remote output with GStreamer on DRM backend +PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer-1.0" +# Weston with PAM support +PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam" +# Weston with screen-share support +PACKAGECONFIG[screenshare] = "-Dscreenshare=true,-Dscreenshare=false" +# Traditional desktop shell +PACKAGECONFIG[shell-desktop] = "-Dshell-desktop=true,-Dshell-desktop=false" +# Fullscreen shell +PACKAGECONFIG[shell-fullscreen] = "-Dshell-fullscreen=true,-Dshell-fullscreen=false" +# In-Vehicle Infotainment (IVI) shell +PACKAGECONFIG[shell-ivi] = "-Dshell-ivi=true,-Dshell-ivi=false" +# JPEG image loading support +PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg" + +do_install_append() { + # Weston doesn't need the .la files to load modules, so wipe them + rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la + + # If X11, ship a desktop file to launch it + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then + install -d ${D}${datadir}/applications + install ${WORKDIR}/weston.desktop ${D}${datadir}/applications + + install -d ${D}${datadir}/icons/hicolor/48x48/apps + install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps + fi + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then + install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland + fi + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then + chmod u+s ${D}${bindir}/weston-launch + fi +} + +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \ + libweston-${WESTON_MAJOR_VERSION} ${PN}-examples" + +FILES_${PN}-dev += "${libdir}/${BPN}/libexec_weston.so" +FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}" + +FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so" +SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'." + +FILES_${PN}-examples = "${bindir}/*" + +FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so" +RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland" + +RDEPENDS_${PN} += "xkeyboard-config" +RRECOMMENDS_${PN} = "weston-init liberation-fonts" +RRECOMMENDS_${PN}-dev += "wayland-protocols" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system weston-launch" diff --git a/meta-digi-dey/recipes-graphics/wayland/weston_8.0.0.imx.bb b/meta-digi-dey/recipes-graphics/wayland/weston_9.0.0.imx.bb similarity index 91% rename from meta-digi-dey/recipes-graphics/wayland/weston_8.0.0.imx.bb rename to meta-digi-dey/recipes-graphics/wayland/weston_9.0.0.imx.bb index 244651044..6276359b8 100644 --- a/meta-digi-dey/recipes-graphics/wayland/weston_8.0.0.imx.bb +++ b/meta-digi-dey/recipes-graphics/wayland/weston_9.0.0.imx.bb @@ -1,9 +1,9 @@ -require recipes-graphics/wayland/weston_7.0.0.bb +require weston_9.0.0.bb SRC_URI_remove = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz" WESTON_SRC ?= "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https" -SRC_URI_prepend = "${WESTON_SRC};branch=weston-imx-8.0 " -SRCREV = "f13d40a3a0504a00baf2f28abe83b65dab8b2e10" +SRC_URI_prepend = "${WESTON_SRC};branch=weston-imx-9.0 " +SRCREV = "a1823f20a1d6e24d2f56e98c5576eda34a94f567" S = "${WORKDIR}/git" # Disable OpenGL for parts with GPU support for 2D but not 3D diff --git a/meta-digi-dey/recipes-graphics/xorg-xserver/files/0001-test-xtest-Initialize-array-with-braces.patch b/meta-digi-dey/recipes-graphics/xorg-xserver/files/0001-test-xtest-Initialize-array-with-braces.patch new file mode 100644 index 000000000..c0c242814 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/xorg-xserver/files/0001-test-xtest-Initialize-array-with-braces.patch @@ -0,0 +1,36 @@ +From 8a382c015cd3c69fcfc146ef03dcbf30c77ff207 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 1 Mar 2019 09:47:57 -0800 +Subject: [PATCH] test/xtest: Initialize array with braces + +Fixes an error when extra warnings are enabled, this is caught with clang + +test/xtest.c:64:23: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] + WindowRec root = {0}; + ^ + {} +1 error generated. + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + test/xtest.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/xtest.c b/test/xtest.c +index fc5e433..d7e6620 100644 +--- a/test/xtest.c ++++ b/test/xtest.c +@@ -61,7 +61,7 @@ xtest_init_devices(void) + { + ScreenRec screen = {0}; + ClientRec server_client = {0}; +- WindowRec root = {0}; ++ WindowRec root = {{0}}; + WindowOptRec optional = {0}; + + /* random stuff that needs initialization */ +-- +2.21.0 + diff --git a/meta-digi-dey/recipes-graphics/xorg-xserver/files/0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch b/meta-digi-dey/recipes-graphics/xorg-xserver/files/0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch new file mode 100644 index 000000000..d05eec5bb --- /dev/null +++ b/meta-digi-dey/recipes-graphics/xorg-xserver/files/0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch @@ -0,0 +1,53 @@ +From d77cdc5e1eee26821ab98c947abea53fb7b18fe5 Mon Sep 17 00:00:00 2001 +From: California Sullivan +Date: Fri, 16 Mar 2018 17:23:11 -0700 +Subject: [PATCH] xf86pciBus.c: use Intel ddx only for pre-gen4 hardware + +Use intel ddx only on pre-gen4 hw, newer ones will fall back to modesetting +Author: Timo Aaltonen + +Instead of defaulting to the Intel driver for all Intel hardware, only +default it for older hardware for which it has shown to be better for. + +Others fall through to the -modesetting default. + +Upstream-Status: Pending [Debian/Fedora patch +https://src.fedoraproject.org/rpms/xorg-x11-server/c/ee515e44b07e37689abf48cf2fffb41578f3bc1d] + +Signed-off-by: California Sullivan +--- + hw/xfree86/common/xf86pciBus.c | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c +index e61ae0cd4..d70c99197 100644 +--- a/hw/xfree86/common/xf86pciBus.c ++++ b/hw/xfree86/common/xf86pciBus.c +@@ -1173,7 +1173,23 @@ xf86VideoPtrToDriverList(struct pci_device *dev, + case 0x0bef: + /* Use fbdev/vesa driver on Oaktrail, Medfield, CDV */ + break; +- default: ++ /* Default to intel only on pre-gen4 chips */ ++ case 0x3577: ++ case 0x2562: ++ case 0x3582: ++ case 0x358e: ++ case 0x2572: ++ case 0x2582: ++ case 0x258a: ++ case 0x2592: ++ case 0x2772: ++ case 0x27a2: ++ case 0x27ae: ++ case 0x29b2: ++ case 0x29c2: ++ case 0x29d2: ++ case 0xa001: ++ case 0xa011: + driverList[0] = "intel"; + break; + } +-- +2.14.3 + diff --git a/meta-digi-dey/recipes-graphics/xorg-xserver/files/pkgconfig.patch b/meta-digi-dey/recipes-graphics/xorg-xserver/files/pkgconfig.patch new file mode 100644 index 000000000..2ef9fa9fe --- /dev/null +++ b/meta-digi-dey/recipes-graphics/xorg-xserver/files/pkgconfig.patch @@ -0,0 +1,34 @@ +Upstream-Status: Submitted [https://gitlab.freedesktop.org/xorg/xserver/merge_requests/22] +Signed-off-by: Ross Burton + +From 5f65a6246fe752764045dd1e38912f1dccec71e4 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Thu, 20 Sep 2018 20:12:24 +0100 +Subject: [PATCH] xorg-server.m4: just all cflags instead of just sdkdir + +Instead of fetching just the sdkdir variable of xorg-server using pkg-config, +simply get all of the CFLAGS. Aside from completeness, this helps builds in +sysroots as pkg-config knows what to do with --cflags but doesn't remap +arbitrary variables. + +Signed-off-by: Ross Burton +--- + xorg-server.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/xorg-server.m4 b/xorg-server.m4 +index 18255b91a..195bda5d8 100644 +--- a/xorg-server.m4 ++++ b/xorg-server.m4 +@@ -31,7 +31,7 @@ dnl + AC_DEFUN([XORG_DRIVER_CHECK_EXT],[ + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + SAVE_CFLAGS="$CFLAGS" +- CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`" ++ CFLAGS="$CFLAGS `$PKG_CONFIG --cflags xorg-server`" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include "xorg-server.h" + #if !defined $1 +-- +2.11.0 + diff --git a/meta-digi-dey/recipes-graphics/xorg-xserver/files/sdksyms-no-build-path.patch b/meta-digi-dey/recipes-graphics/xorg-xserver/files/sdksyms-no-build-path.patch new file mode 100644 index 000000000..be198ece4 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/xorg-xserver/files/sdksyms-no-build-path.patch @@ -0,0 +1,50 @@ +Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/xserver/merge_requests/253] +Signed-off-by: Ross Burton + +From ca832598d38ba55a001088b57d73c6d7261dc9a7 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Thu, 1 Aug 2019 15:24:51 +0100 +Subject: [PATCH] sdksyms.sh: don't embed the build path + +This script generates a header that has a comment containing the build path for +no real reason. As this source can end up deployed on targets in debug packages +this means there is both potentially sensitive information leakage about the +build environment, and a source of change for reproducible builds. +--- + hw/xfree86/sdksyms.sh | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh +index 39e33711d..bdf47a71a 100755 +--- a/hw/xfree86/sdksyms.sh ++++ b/hw/xfree86/sdksyms.sh +@@ -302,13 +302,16 @@ LC_ALL=C + export LC_ALL + ${CPP:-cpp} "$@" sdksyms.c > /dev/null || exit $? + ${CPP:-cpp} "$@" sdksyms.c | ${AWK:-awk} -v topdir=$topdir ' ++function basename(file) { ++ sub(".*/", "", file) ++ return file ++} + BEGIN { + sdk = 0; + print("/*"); + print(" * These symbols are referenced to ensure they"); + print(" * will be available in the X Server binary."); + print(" */"); +- printf("/* topdir=%s */\n", topdir); + print("_X_HIDDEN void *xorg_symbols[] = {"); + + printf("sdksyms.c:") > "sdksyms.dep"; +@@ -337,7 +340,7 @@ BEGIN { + # remove quotes + gsub(/"/, "", $3); + line = $2; +- header = $3; ++ header = basename($3); + if (! headers[$3]) { + printf(" \\\n %s", $3) >> "sdksyms.dep"; + headers[$3] = 1; +-- +2.20.1 + diff --git a/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg.inc index b3e03744c..e69fa88e2 100644 --- a/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg.inc +++ b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg.inc @@ -23,7 +23,7 @@ S = "${WORKDIR}/${XORG_PN}-${PV}" inherit autotools pkgconfig -inherit features_check +inherit distro_features_check REQUIRED_DISTRO_FEATURES = "x11" LIB_DEPS = "pixman libxfont2 xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess" diff --git a/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg_1.20.8.bb b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg_1.20.8.bb index 40f894b0b..26815feb3 100644 --- a/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg_1.20.8.bb +++ b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg_1.20.8.bb @@ -1,7 +1,5 @@ require xserver-xorg.inc -FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-graphics/xorg-xserver/xserver-xorg:" - SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \ file://pkgconfig.patch \ file://0001-test-xtest-Initialize-array-with-braces.patch \ diff --git a/meta-digi-dey/recipes-multimedia/alsa/imx-alsa-plugins_git.bb b/meta-digi-dey/recipes-multimedia/alsa/imx-alsa-plugins_git.bb index b0aab8d45..a5507c57d 100644 --- a/meta-digi-dey/recipes-multimedia/alsa/imx-alsa-plugins_git.bb +++ b/meta-digi-dey/recipes-multimedia/alsa/imx-alsa-plugins_git.bb @@ -18,7 +18,7 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f" inherit autotools pkgconfig use-imx-headers IMXALSA_SRC ?= "git://source.codeaurora.org/external/imx/imx-alsa-plugins.git;protocol=https" -SRCBRANCH = "MM_04.05.06_2008_L5.4.47" +SRCBRANCH = "MM_04.05.07_2011_L5.4.70" SRC_URI = "${IMXALSA_SRC};branch=${SRCBRANCH}" SRCREV = "cde60d68ab2acee913dbfacb8aabb53d87dd3e38" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.imx.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.imx.bb index 6dc268c0d..b2a371159 100644 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.imx.bb +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.imx.bb @@ -7,8 +7,8 @@ FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/${PN}: FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files:" GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https" -SRCBRANCH = "MM_04.05.06_2008_L5.4.47" -SRCREV = "3f6c1ccbabe46a709680b32ce7d5bc521854e08e" +SRCBRANCH = "MM_04.05.07_2011_L5.4.70" +SRCREV = "cf7f2d0125424ce0d63ddc7f1eadc9ef71d10db1" SRC_URI = " \ ${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} \ file://configure-allow-to-disable-libssh2.patch \ diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bb index 53f5ec87e..79fc67582 100644 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bb +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bb @@ -5,7 +5,7 @@ FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/${PN}: FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https" -SRCBRANCH = "MM_04.05.06_2008_L5.4.47" +SRCBRANCH = "MM_04.05.07_2011_L5.4.70" SRCREV = "3c4aa2a58576d68f6e684efa58609665679c9969" SRC_URI = " \ ${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} \ diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.imx.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.imx.bb index 78c8a60bc..9e0173925 100644 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.imx.bb +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.imx.bb @@ -4,8 +4,8 @@ FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/${PN}: FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files:" GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https" -SRCBRANCH = "MM_04.05.06_2008_L5.4.47" -SRCREV = "a1ba15d53aab342dd921261148562f47eeed7d98" +SRCBRANCH = "MM_04.05.07_2011_L5.4.70" +SRCREV = "6005e8199ea19878f269b058ffbbbcaa314472d8" SRC_URI = " \ ${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} \ diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.imx.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.imx.bb index d3bcaec46..17e2aa0ac 100644 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.imx.bb +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.imx.bb @@ -4,7 +4,7 @@ FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files: # Use i.MX fork of GST for customizations GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https" -SRCBRANCH = "MM_04.05.06_2008_L5.4.47" +SRCBRANCH = "MM_04.05.07_2011_L5.4.70" SRCREV = "8514bc61ccab208a65e387eab9347276a8e770e7" SRC_URI = " \ ${GST1.0_SRC};branch=${SRCBRANCH} \ diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.6.bb b/meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.7.bb similarity index 97% rename from meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.6.bb rename to meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.7.bb index 7c253c13a..df36f0098 100644 --- a/meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.6.bb +++ b/meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.7.bb @@ -21,12 +21,12 @@ LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24" IMXGST_SRC ?= "git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https" -SRCBRANCH = "MM_04.05.06_2008_L5.4.47" +SRCBRANCH = "MM_04.05.07_2011_L5.4.70" SRC_URI = "${IMXGST_SRC};branch=${SRCBRANCH} \ file://0001-imx-gst1.0-plugin-Update-KERNEL_VERSION-check.patch \ " -SRCREV = "a4373418f5884de7d2da63581d3905f0e3a5d842" +SRCREV = "659ec4947d6b1903d26e4ec9e40ae251a659935d" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec.inc b/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec.inc index a0ac9a3ad..1af8651c7 100644 --- a/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec.inc +++ b/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec.inc @@ -111,5 +111,3 @@ FILES_${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm 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 = "${MACHINE_ARCH}" diff --git a/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.5.6.bb b/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.5.6.bb deleted file mode 100644 index b44c8d769..000000000 --- a/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.5.6.bb +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (C) 2013-2016 Freescale Semiconductor -# Copyright 2017-2018 NXP -# Released under the MIT license (see COPYING.MIT for the terms) - -require imx-codec.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=983e4c77621568488dd902b27e0c2143" - -SRC_URI[md5sum] = "acf07e6202c773b5cf8fa39d3992f08d" -SRC_URI[sha256sum] = "be9e341c1bda167ceb2164aa8c27fbc70480ba28252b5c10a8b1cdfb5fe26826" - -COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" diff --git a/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.5.7.bb b/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.5.7.bb new file mode 100644 index 000000000..ae119b860 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.5.7.bb @@ -0,0 +1,12 @@ +# Copyright (C) 2013-2016 Freescale Semiconductor +# Copyright 2017-2018 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +require imx-codec.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a" + +SRC_URI[md5sum] = "4d6ab45675c4010502a9bf2c16ee4705" +SRC_URI[sha256sum] = "637d6109e6d6105f36f0fbb4f1d2267d487e1326591f7a26cd078c35b8373e55" + +COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" diff --git a/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.5.6.bb b/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.5.6.bb deleted file mode 100644 index 4df7eba8c..000000000 --- a/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.5.6.bb +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (C) 2013-2016 Freescale Semiconductor -# Copyright 2017-2018 NXP -# Released under the MIT license (see COPYING.MIT for the terms) - -include imx-parser.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=983e4c77621568488dd902b27e0c2143" - -SRC_URI[md5sum] = "6431109c02762e63ad961ac311f14a3f" -SRC_URI[sha256sum] = "6a13f333aa82c3748f937ed7ee6eec4b6f363c74db342dccef1de8d2cdd23bb1" - -COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" diff --git a/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.5.7.bb b/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.5.7.bb new file mode 100644 index 000000000..df388295b --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.5.7.bb @@ -0,0 +1,12 @@ +# Copyright (C) 2013-2016 Freescale Semiconductor +# Copyright 2017-2018 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +include imx-parser.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a" + +SRC_URI[md5sum] = "dd34e4e2d1384af27d370964ebbd05fd" +SRC_URI[sha256sum] = "033bdfdd4b611a4e9993519637c9b0f195daca9e12f614daff5d4dec90478fcf" + +COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" diff --git a/meta-digi-dey/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.5.6.bb b/meta-digi-dey/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.5.7.bb similarity index 89% rename from meta-digi-dey/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.5.6.bb rename to meta-digi-dey/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.5.7.bb index d85c4446c..57a2a017c 100644 --- a/meta-digi-dey/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.5.6.bb +++ b/meta-digi-dey/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.5.7.bb @@ -9,9 +9,9 @@ SECTION = "multimedia" LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9" IMX_VPUWRAP_SRC ?= "git://github.com/NXP/imx-vpuwrap.git;protocol=https" -SRCBRANCH = "MM_04.05.06_2008_L5.4.47" +SRCBRANCH = "MM_04.05.07_2011_L5.4.70" SRC_URI = "${IMX_VPUWRAP_SRC};branch=${SRCBRANCH}" -SRCREV = "7d16e588b805163ef1c67dc92615ffa29bbb3dfb" +SRCREV = "ccaf10a0dae7c0d7d204bd64282598bc0e3bd661" S = "${WORKDIR}/git" inherit autotools pkgconfig diff --git a/meta-digi-dey/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.16.imx.bb b/meta-digi-dey/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.16.imx.bb index 5e0460d9a..e7fd15370 100644 --- a/meta-digi-dey/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.16.imx.bb +++ b/meta-digi-dey/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.16.imx.bb @@ -7,15 +7,13 @@ DEPENDS += "gstreamer1.0-plugins-base virtual/kernel libcap zlib bzip2 \ " GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https" -SRCBRANCH = "MM_04.05.05_2005_L5.4.24" +SRCBRANCH = "MM_04.05.07_2011_L5.4.70" SRC_URI = " \ ${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} \ file://0001-configure.ac-Add-prefix-to-correct-the-QT_PATH.patch \ " -SRCREV = "fc6d8ccf3bd775517fafb1ce1d9224312d2812d8" - -PV = "1.16.1.imx" +SRCREV = "6005e8199ea19878f269b058ffbbbcaa314472d8" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-qt/qt5/qtbase_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qtbase_%.bbappend index c1ed65746..9cf35bfa1 100644 --- a/meta-digi-dey/recipes-qt/qt5/qtbase_%.bbappend +++ b/meta-digi-dey/recipes-qt/qt5/qtbase_%.bbappend @@ -16,13 +16,13 @@ SRC_URI_append_imxgpu3d = " \ 'file://0016-Configure-eglfs-with-egl-pkg-config.patch', d)} \ " -PACKAGECONFIG_GL_imxpxp = "gles2" -PACKAGECONFIG_GL_imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gl', '', d)}" -PACKAGECONFIG_GL_imxgpu3d = "gles2" PACKAGECONFIG_append = " accessibility examples" -PACKAGECONFIG_MX8_GPU = "" -PACKAGECONFIG_MX8_GPU_mx8 = " gbm kms" +PACKAGECONFIG_PLATFORM_IMX_GPU = "" +PACKAGECONFIG_PLATFORM_IMX_GPU_mx8 = "eglfs" +PACKAGECONFIG_PLATFORM_imxgpu2d += "${PACKAGECONFIG_PLATFORM_IMX_GPU}" +PACKAGECONFIG_PLATFORM_imxgpu3d += "${PACKAGECONFIG_PLATFORM_IMX_GPU}" + PACKAGECONFIG_append_imxgpu = " ${PACKAGECONFIG_MX8_GPU}" PACKAGECONFIG_append_ccimx6 = " icu" diff --git a/meta-digi-dey/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch b/meta-digi-dey/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch index 5f909c1a8..9e6a61371 100644 --- a/meta-digi-dey/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch +++ b/meta-digi-dey/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch @@ -1,4 +1,4 @@ -From 85b882b4ceb57fe6538f47af58d0a970923fde0e Mon Sep 17 00:00:00 2001 +From 9b4959b97d2e95d4b49cf6ca2a3fce3cdb484f2d Mon Sep 17 00:00:00 2001 From: Ricardo Ribalda Delgado Date: Thu, 31 Mar 2016 00:20:15 +0200 Subject: [PATCH] 3rdparty/ippicv: Use pre-downloaded ipp @@ -11,10 +11,10 @@ Signed-off-by: Ismo Puustinen 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/3rdparty/ippicv/ippicv.cmake b/3rdparty/ippicv/ippicv.cmake -index ae8748c..305abdb 100644 +index 257af6fcc6..f88460450f 100644 --- a/3rdparty/ippicv/ippicv.cmake +++ b/3rdparty/ippicv/ippicv.cmake -@@ -39,18 +39,5 @@ function(download_ippicv root_var) +@@ -34,18 +34,5 @@ function(download_ippicv root_var) endif() set(THE_ROOT "${OpenCV_BINARY_DIR}/3rdparty/ippicv") diff --git a/meta-digi-dey/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch b/meta-digi-dey/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch index 40d3f53e1..948a80faf 100644 --- a/meta-digi-dey/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch +++ b/meta-digi-dey/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch @@ -1,4 +1,4 @@ -From 9659f5a1e75fc29c9879c301767bba72ecf9042a Mon Sep 17 00:00:00 2001 +From 66e50ee69fa9ee2469d349100e70d8b296c4b4dc Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 11 Sep 2018 00:21:18 -0700 Subject: [PATCH] Dont use isystem @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj 1 file changed, 2 insertions(+) diff --git a/cmake/OpenCVPCHSupport.cmake b/cmake/OpenCVPCHSupport.cmake -index 59bc826..055dfce 100644 +index 08cd06def4..46c9c02da3 100644 --- a/cmake/OpenCVPCHSupport.cmake +++ b/cmake/OpenCVPCHSupport.cmake @@ -18,6 +18,8 @@ IF(CV_GCC) diff --git a/meta-digi-dey/recipes-support/opencv/opencv/0001-Make-ts-module-external.patch b/meta-digi-dey/recipes-support/opencv/opencv/0001-Make-ts-module-external.patch new file mode 100644 index 000000000..d56b8ae67 --- /dev/null +++ b/meta-digi-dey/recipes-support/opencv/opencv/0001-Make-ts-module-external.patch @@ -0,0 +1,42 @@ +From 11bbf909e08594628bd757d989ae34cf1bfe200b Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Thu, 18 Jun 2020 05:51:38 +0000 +Subject: [PATCH] Make ts module external + +Make ts module external + +Reference: https://github.com/qbonnard/opencv/commit/6b229c5834cb9a0930425e762a6c7b03244d7abb + +Upstream-Status: Submitted [https://github.com/opencv/opencv/issues/8408] + +Signed-off-by: Mingli Yu +--- + modules/ts/CMakeLists.txt | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/modules/ts/CMakeLists.txt b/modules/ts/CMakeLists.txt +index f95bed0793..66f315bcca 100644 +--- a/modules/ts/CMakeLists.txt ++++ b/modules/ts/CMakeLists.txt +@@ -4,9 +4,6 @@ if(NOT BUILD_opencv_ts AND NOT BUILD_TESTS AND NOT BUILD_PERF_TESTS) + ocv_module_disable(ts) + endif() + +-set(OPENCV_MODULE_TYPE STATIC) +-set(OPENCV_MODULE_IS_PART_OF_WORLD FALSE) +- + if(WINRT) + # WINRT doesn't have access to environment variables + # so adding corresponding macros during CMake run +@@ -16,7 +13,7 @@ endif() + + ocv_warnings_disable(CMAKE_CXX_FLAGS -Wundef) + +-ocv_add_module(ts INTERNAL opencv_core opencv_imgproc opencv_imgcodecs opencv_videoio opencv_highgui) ++ocv_add_module(ts opencv_core opencv_imgproc opencv_imgcodecs opencv_videoio opencv_highgui) + + ocv_glob_module_sources() + ocv_module_include_directories() +-- +2.24.1 + diff --git a/meta-digi-dey/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch b/meta-digi-dey/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch index f8ccd1d55..1e47f8b16 100644 --- a/meta-digi-dey/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch +++ b/meta-digi-dey/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch @@ -1,4 +1,4 @@ -From fe27d0e2341683606704115949d16250e4cacbfa Mon Sep 17 00:00:00 2001 +From e4ec6cea72da9e9ae5ba57140fa2f5c63f1f8295 Mon Sep 17 00:00:00 2001 From: Jason Wessel Date: Wed, 9 May 2018 13:33:59 -0700 Subject: [PATCH] Temporarliy work around deprecated ffmpeg RAW function @@ -11,10 +11,10 @@ Signed-off-by: Jason Wessel 1 file changed, 8 insertions(+) diff --git a/modules/videoio/src/cap_ffmpeg_impl.hpp b/modules/videoio/src/cap_ffmpeg_impl.hpp -index 0d360ad..566df66 100644 +index 6dca724a89..ae55dd4555 100644 --- a/modules/videoio/src/cap_ffmpeg_impl.hpp +++ b/modules/videoio/src/cap_ffmpeg_impl.hpp -@@ -736,6 +736,14 @@ struct ImplMutex::Impl +@@ -774,6 +774,14 @@ struct ImplMutex::Impl #endif diff --git a/meta-digi-dey/recipes-support/opencv/opencv/0001-Use-Os-to-compile-tinyxml2.cpp.patch b/meta-digi-dey/recipes-support/opencv/opencv/0001-Use-Os-to-compile-tinyxml2.cpp.patch new file mode 100644 index 000000000..c5a64387f --- /dev/null +++ b/meta-digi-dey/recipes-support/opencv/opencv/0001-Use-Os-to-compile-tinyxml2.cpp.patch @@ -0,0 +1,31 @@ +From 59fafe6e39759e193b5764b36b4c5a93da352123 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 18 Aug 2020 00:36:49 -0700 +Subject: [PATCH] Use -Os to compile tinyxml2.cpp + +This workarounds issue [1] seen on riscv with gcc + +[1] https://github.com/riscv/riscv-gnu-toolchain/issues/624 + +Upstream-Status: Inappropriate [ OE-Specific ] +Signed-off-by: Khem Raj +--- + modules/datasets/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules/datasets/CMakeLists.txt b/modules/datasets/CMakeLists.txt +index 56ca9e310..99b7a33f6 100644 +--- a/modules/datasets/CMakeLists.txt ++++ b/modules/datasets/CMakeLists.txt +@@ -2,7 +2,7 @@ set(the_description "datasets framework") + + set(filter_srcs "${CMAKE_CURRENT_LIST_DIR}/src/tinyxml2/tinyxml2.cpp") + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") +- ocv_append_source_files_cxx_compiler_options(filter_srcs "-Wno-suggest-override") # GCC ++ ocv_append_source_files_cxx_compiler_options(filter_srcs "-Wno-suggest-override -Os") # GCC + elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + ocv_append_source_files_cxx_compiler_options(filter_srcs "-Wno-inconsistent-missing-override") # Clang + endif() +-- +2.28.0 + diff --git a/meta-digi-dey/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch b/meta-digi-dey/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch index 336c2e08e..bb47ef2ba 100644 --- a/meta-digi-dey/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch +++ b/meta-digi-dey/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch @@ -1,4 +1,4 @@ -From 867caccc358266f7021f076fc8c8e41bf048782c Mon Sep 17 00:00:00 2001 +From f42c9b8c7bafcadc7e95fb25a391707f970eb426 Mon Sep 17 00:00:00 2001 From: Huang Qiyu Date: Fri, 19 May 2017 04:27:50 +0900 Subject: [PATCH] To fix errors as following: @@ -21,10 +21,10 @@ Signed-off-by: Ismo Puustinen 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/ts/include/opencv2/ts.hpp b/modules/ts/include/opencv2/ts.hpp -index b9d6b74..f1ee7ee 100644 +index ed7491a89a..80919d13ee 100644 --- a/modules/ts/include/opencv2/ts.hpp +++ b/modules/ts/include/opencv2/ts.hpp -@@ -622,7 +622,7 @@ protected: +@@ -728,7 +728,7 @@ protected: } }; @@ -33,7 +33,7 @@ index b9d6b74..f1ee7ee 100644 struct DefaultRngAuto { -@@ -685,7 +685,7 @@ private: +@@ -791,7 +791,7 @@ private: #endif #endif @@ -43,7 +43,7 @@ index b9d6b74..f1ee7ee 100644 #define CV_TEST_INIT0_NOOP (void)0 diff --git a/modules/ts/include/opencv2/ts/ocl_test.hpp b/modules/ts/include/opencv2/ts/ocl_test.hpp -index 11572e9..438112e 100644 +index 11572e9f48..438112e2aa 100644 --- a/modules/ts/include/opencv2/ts/ocl_test.hpp +++ b/modules/ts/include/opencv2/ts/ocl_test.hpp @@ -82,7 +82,7 @@ inline UMat ToUMat(InputArray src) @@ -56,7 +56,7 @@ index 11572e9..438112e 100644 #define MAX_VALUE 357 diff --git a/modules/ts/include/opencv2/ts/ts_ext.hpp b/modules/ts/include/opencv2/ts/ts_ext.hpp -index b5cea3e..e5b0b4b 100644 +index b2a4cac241..b94c681c0c 100644 --- a/modules/ts/include/opencv2/ts/ts_ext.hpp +++ b/modules/ts/include/opencv2/ts/ts_ext.hpp @@ -9,7 +9,7 @@ diff --git a/meta-digi-dey/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch b/meta-digi-dey/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch index 37f3e9ca9..712806adb 100644 --- a/meta-digi-dey/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch +++ b/meta-digi-dey/recipes-support/opencv/opencv/OpenCV_DNN_examples.patch @@ -1,24 +1,24 @@ -From 3c4daafb54f961e376104a461ca7ec114ff0331a Mon Sep 17 00:00:00 2001 -From: Ludek Slosarcik -Date: Fri, 14 Feb 2020 15:46:50 +0100 -Subject: [PATCH] opencv_dnn: added video device for 2 examples, and change text labels - -Signed-off-by: Ludek Slosarcik - -Upstream-Status: Pending ---- - samples/cpp/logistic_regression.cpp | 2 +- - samples/dnn/classification.cpp | 7 ++++--- - samples/dnn/object_detection.cpp | 10 +++++----- - samples/dnn/segmentation.cpp | 2 +- - samples/dnn/text_detection.cpp | 5 +++-- - 5 files changed, 14 insertions(+), 12 deletions(-) - -diff --git a/samples/cpp/logistic_regression.cpp b/samples/cpp/logistic_regression.cpp -index 365b32e523..5dca6b3835 100644 ---- a/samples/cpp/logistic_regression.cpp -+++ b/samples/cpp/logistic_regression.cpp -@@ -83,7 +83,7 @@ static float calculateAccuracyPercent(const Mat &original, const Mat &predicted) +From 3c4daafb54f961e376104a461ca7ec114ff0331a Mon Sep 17 00:00:00 2001 +From: Ludek Slosarcik +Date: Fri, 14 Feb 2020 15:46:50 +0100 +Subject: [PATCH] opencv_dnn: added video device for 2 examples, and change text labels + +Signed-off-by: Ludek Slosarcik + +Upstream-Status: Pending +--- + samples/cpp/logistic_regression.cpp | 2 +- + samples/dnn/classification.cpp | 7 ++++--- + samples/dnn/object_detection.cpp | 10 +++++----- + samples/dnn/segmentation.cpp | 2 +- + samples/dnn/text_detection.cpp | 5 +++-- + 5 files changed, 14 insertions(+), 12 deletions(-) + +Index: git/samples/cpp/logistic_regression.cpp +=================================================================== +--- git.orig/samples/cpp/logistic_regression.cpp ++++ git/samples/cpp/logistic_regression.cpp +@@ -83,7 +83,7 @@ static float calculateAccuracyPercent(co int main() { @@ -27,10 +27,10 @@ index 365b32e523..5dca6b3835 100644 cout << "**********************************************************************" << endl; cout << filename << " contains digits 0 and 1 of 20 samples each, collected on an Android device" << endl; -diff --git a/samples/dnn/classification.cpp b/samples/dnn/classification.cpp -index 0ae9e6ed94..0a290a8f33 100644 ---- a/samples/dnn/classification.cpp -+++ b/samples/dnn/classification.cpp +Index: git/samples/dnn/classification.cpp +=================================================================== +--- git.orig/samples/dnn/classification.cpp ++++ git/samples/dnn/classification.cpp @@ -11,6 +11,7 @@ std::string keys = "{ help h | | Print help message. }" "{ @alias | | An alias name of model to extract preprocessing parameters from models.yml file. }" @@ -64,11 +64,11 @@ index 0ae9e6ed94..0a290a8f33 100644 imshow(kWinName, frame); } -diff --git a/samples/dnn/object_detection.cpp b/samples/dnn/object_detection.cpp -index 83ed10db5d..6fa8e08ad8 100644 ---- a/samples/dnn/object_detection.cpp -+++ b/samples/dnn/object_detection.cpp -@@ -250,13 +250,13 @@ int main(int argc, char** argv) +Index: git/samples/dnn/object_detection.cpp +=================================================================== +--- git.orig/samples/dnn/object_detection.cpp ++++ git/samples/dnn/object_detection.cpp +@@ -251,13 +251,13 @@ int main(int argc, char** argv) if (predictionsQueue.counter > 1) { std::string label = format("Camera: %.2f FPS", framesQueue.getFPS()); @@ -85,7 +85,7 @@ index 83ed10db5d..6fa8e08ad8 100644 } imshow(kWinName, frame); } -@@ -292,7 +292,7 @@ int main(int argc, char** argv) +@@ -293,7 +293,7 @@ int main(int argc, char** argv) double freq = getTickFrequency() / 1000; double t = net.getPerfProfile(layersTimes) / freq; std::string label = format("Inference time: %.2f ms", t); @@ -94,7 +94,7 @@ index 83ed10db5d..6fa8e08ad8 100644 imshow(kWinName, frame); } -@@ -424,7 +424,7 @@ void drawPred(int classId, float conf, int left, int top, int right, int bottom, +@@ -462,7 +462,7 @@ void drawPred(int classId, float conf, i top = max(top, labelSize.height); rectangle(frame, Point(left, top - labelSize.height), Point(left + labelSize.width, top + baseLine), Scalar::all(255), FILLED); @@ -103,10 +103,10 @@ index 83ed10db5d..6fa8e08ad8 100644 } void callback(int pos, void*) -diff --git a/samples/dnn/segmentation.cpp b/samples/dnn/segmentation.cpp -index d9fbad8974..2e0c6908d5 100644 ---- a/samples/dnn/segmentation.cpp -+++ b/samples/dnn/segmentation.cpp +Index: git/samples/dnn/segmentation.cpp +=================================================================== +--- git.orig/samples/dnn/segmentation.cpp ++++ git/samples/dnn/segmentation.cpp @@ -157,7 +157,7 @@ int main(int argc, char** argv) double freq = getTickFrequency() / 1000; double t = net.getPerfProfile(layersTimes) / freq; @@ -116,36 +116,33 @@ index d9fbad8974..2e0c6908d5 100644 imshow(kWinName, frame); if (!classes.empty()) -diff --git a/samples/dnn/text_detection.cpp b/samples/dnn/text_detection.cpp -index e7b0f237d3..00cd22e144 100644 ---- a/samples/dnn/text_detection.cpp -+++ b/samples/dnn/text_detection.cpp -@@ -8,6 +8,7 @@ using namespace cv::dnn; +Index: git/samples/dnn/text_detection.cpp +=================================================================== +--- git.orig/samples/dnn/text_detection.cpp ++++ git/samples/dnn/text_detection.cpp +@@ -25,6 +25,7 @@ using namespace cv::dnn; const char* keys = "{ help h | | Print help message. }" "{ input i | | Path to input image or video file. Skip this argument to capture frames from a camera.}" + "{ device | 0 | camera device number. }" - "{ model m | | Path to a binary .pb file contains trained network.}" + "{ model m | | Path to a binary .pb file contains trained detector network.}" + "{ ocr | | Path to a binary .pb or .onnx file contains trained recognition network.}" "{ width | 320 | Preprocess input image by resizing to a specific width. It should be multiple by 32. }" - "{ height | 320 | Preprocess input image by resizing to a specific height. It should be multiple by 32. }" -@@ -51,7 +52,7 @@ int main(int argc, char** argv) - if (parser.has("input")) - cap.open(parser.get("input")); - else -- cap.open(0); -+ cap.open(parser.get("device")); +@@ -75,7 +76,7 @@ int main(int argc, char** argv) + + // Open a video file or an image file or a camera stream. + VideoCapture cap; +- bool openSuccess = parser.has("input") ? cap.open(parser.get("input")) : cap.open(0); ++ bool openSuccess = parser.has("input") ? cap.open(parser.get("input")) : cap.open(parser.get("device")); + CV_Assert(openSuccess); static const std::string kWinName = "EAST: An Efficient and Accurate Scene Text Detector"; - namedWindow(kWinName, WINDOW_NORMAL); -@@ -109,7 +110,7 @@ int main(int argc, char** argv) - double freq = getTickFrequency() / 1000; - double t = net.getPerfProfile(layersTimes) / freq; - std::string label = format("Inference time: %.2f ms", t); +@@ -156,7 +157,7 @@ int main(int argc, char** argv) + + // Put efficiency information. + std::string label = format("Inference time: %.2f ms", tickMeter.getTimeMilli()); - putText(frame, label, Point(0, 15), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0, 255, 0)); + putText(frame, label, Point(0, 20), FONT_HERSHEY_SIMPLEX, 0.8, Scalar(0, 0, 255), 2, 8, false); imshow(kWinName, frame); - } --- -2.17.1 - + diff --git a/meta-digi-dey/recipes-support/opencv/opencv/download.patch b/meta-digi-dey/recipes-support/opencv/opencv/download.patch index 938d5ee1b..33ac48312 100644 --- a/meta-digi-dey/recipes-support/opencv/opencv/download.patch +++ b/meta-digi-dey/recipes-support/opencv/opencv/download.patch @@ -1,12 +1,16 @@ -From: Arturo Buzarra -Date: Thu, 16 Apr 2020 09:15:06 +0200 -Subject: [PATCH] This CMake module will download files during do_configure. - This is bad as it means we can't do offline builds. +From b18a280fab06a680d9f831bf8b462647f3cb6214 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Thu, 9 Jan 2020 16:24:24 +0000 +Subject: [PATCH] opencv: abort configure if we need to download + +This CMake module will download files during do_configure. This is bad as it +means we can't do offline builds. Add an option to disallow downloads by emitting a fatal error. Upstream-Status: Pending Signed-off-by: Ross Burton + --- cmake/OpenCVDownload.cmake | 6 ++++++ 1 file changed, 6 insertions(+) @@ -18,13 +22,13 @@ index 63cf6d3238..4acf477f70 100644 @@ -14,6 +14,7 @@ # RELATIVE_URL - if set, then URL is treated as a base, and FILENAME will be appended to it # Note: uses OPENCV_DOWNLOAD_PATH folder as cache, default is /.cache - + +set(OPENCV_ALLOW_DOWNLOADS ON CACHE BOOL "Allow downloads") set(HELP_OPENCV_DOWNLOAD_PATH "Cache directory for downloaded files") if(DEFINED ENV{OPENCV_DOWNLOAD_PATH}) set(OPENCV_DOWNLOAD_PATH "$ENV{OPENCV_DOWNLOAD_PATH}" CACHE PATH "${HELP_OPENCV_DOWNLOAD_PATH}") @@ -156,6 +157,11 @@ function(ocv_download) - + # Download if(NOT EXISTS "${CACHE_CANDIDATE}") + if(NOT OPENCV_ALLOW_DOWNLOADS) diff --git a/meta-digi-dey/recipes-support/opencv/opencv/uselocalxfeatures.patch b/meta-digi-dey/recipes-support/opencv/opencv/uselocalxfeatures.patch deleted file mode 100644 index 8ffee51dd..000000000 --- a/meta-digi-dey/recipes-support/opencv/opencv/uselocalxfeatures.patch +++ /dev/null @@ -1,21 +0,0 @@ -Index: contrib/modules/xfeatures2d/CMakeLists.txt -=================================================================== ---- contrib.orig/modules/xfeatures2d/CMakeLists.txt -+++ contrib/modules/xfeatures2d/CMakeLists.txt -@@ -5,11 +5,11 @@ ocv_define_module(xfeatures2d opencv_cor - include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/download_vgg.cmake) - include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/download_boostdesc.cmake) - set(DOWNLOAD_DIR "${OpenCV_BINARY_DIR}/downloads/xfeatures2d") --download_boost_descriptors("${DOWNLOAD_DIR}" boost_status) --download_vgg_descriptors("${DOWNLOAD_DIR}" vgg_status) --if(NOT boost_status OR NOT vgg_status) -- ocv_module_disable(xfeatures2d) --endif() -+#download_boost_descriptors("${DOWNLOAD_DIR}" boost_status) -+#download_vgg_descriptors("${DOWNLOAD_DIR}" vgg_status) -+#if(NOT boost_status OR NOT vgg_status) -+# ocv_module_disable(xfeatures2d) -+#endif() - - ocv_module_include_directories("${DOWNLOAD_DIR}") - diff --git a/meta-digi-dey/recipes-support/opencv/opencv_4.4.0.bb b/meta-digi-dey/recipes-support/opencv/opencv_4.4.0.bb new file mode 100644 index 000000000..c83186de0 --- /dev/null +++ b/meta-digi-dey/recipes-support/opencv/opencv_4.4.0.bb @@ -0,0 +1,217 @@ +SUMMARY = "Opencv : The Open Computer Vision Library" +HOMEPAGE = "http://opencv.org/" +SECTION = "libs" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=19598330421859a6dd353a4318091ac7" + +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp" + +SRCREV_opencv = "c3bb57afeaf030f10939204d48d7c2a3842f4293" +SRCREV_contrib = "5fae4082cc493efa5cb7a7486f9e009618a5198b" +SRCREV_ipp = "a56b6ac6f030c312b2dce17430eef13aed9af274" +SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26" +SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d" +SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12" + +def ipp_filename(d): + import re + arch = d.getVar('TARGET_ARCH') + if re.match("i.86$", arch): + return "ippicv_2020_lnx_ia32_20191018_general.tgz" + else: + return "ippicv_2020_lnx_intel64_20191018_general.tgz" + +def ipp_md5sum(d): + import re + arch = d.getVar('TARGET_ARCH') + if re.match("i.86$", arch): + return "ad189a940fb60eb71f291321322fe3e8" + else: + return "7421de0095c7a39162ae13a6098782f9" + +IPP_FILENAME = "${@ipp_filename(d)}" +IPP_MD5 = "${@ipp_md5sum(d)}" + +SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg" +SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \ + git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \ + git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=ipp;name=ipp \ + git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \ + git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \ + git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=face;name=face \ + file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \ + file://0003-To-fix-errors-as-following.patch \ + file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \ + file://0001-Dont-use-isystem.patch \ + file://download.patch \ + file://0001-Make-ts-module-external.patch \ + " +SRC_URI_append_riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib" + +S = "${WORKDIR}/git" + +# OpenCV wants to download more files during configure. We download these in +# do_fetch and construct a source cache in the format it expects +OPENCV_DLDIR = "${WORKDIR}/downloads" + +do_unpack_extra() { + tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR} + + md5() { + # Return the MD5 of $1 + echo $(md5sum $1 | cut -d' ' -f1) + } + cache() { + TAG=$1 + shift + mkdir --parents ${OPENCV_DLDIR}/$TAG + for F in $*; do + DEST=${OPENCV_DLDIR}/$TAG/$(md5 $F)-$(basename $F) + test -e $DEST || ln -s $F $DEST + done + } + cache xfeatures2d/boostdesc ${WORKDIR}/boostdesc/*.i + cache xfeatures2d/vgg ${WORKDIR}/vgg/*.i + cache data ${WORKDIR}/face/*.dat +} +addtask unpack_extra after do_unpack before do_patch + +CMAKE_VERBOSE = "VERBOSE=1" + +EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \ + -DWITH_1394=OFF \ + -DENABLE_PRECOMPILED_HEADERS=OFF \ + -DCMAKE_SKIP_RPATH=ON \ + -DOPENCV_ICV_HASH=${IPP_MD5} \ + -DIPPROOT=${WORKDIR}/ippicv_lnx \ + -DOPENCV_GENERATE_PKGCONFIG=ON \ + -DOPENCV_DOWNLOAD_PATH=${OPENCV_DLDIR} \ + -DOPENCV_ALLOW_DOWNLOADS=OFF \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \ +" +EXTRA_OECMAKE_append_x86 = " -DX86=ON" + +PACKAGECONFIG ??= "gapi python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}" + +PACKAGECONFIG[gapi] = "-DWITH_ADE=ON -Dade_DIR=${STAGING_LIBDIR},-DWITH_ADE=OFF,ade" +PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas," +PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft," +PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native," +PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog," +PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype," +PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2," +PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base," +PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3," +PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper," +PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native," +PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg," +PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav," +PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils," +PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd," +PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native," +PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng," +PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy," +PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy," +PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,," +PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb," +PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract," +PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff," +PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils," + +inherit pkgconfig cmake + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'distutils3-base', '', d)} +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)} + +export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}" +export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}" +export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java" +export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native" +export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/" + +TARGET_CC_ARCH += "-I${S}/include " + +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \ + ${PN}-apps" + +python populate_packages_prepend () { + cv_libdir = d.expand('${libdir}') + do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True) + do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') + do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') + do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True) + + pn = d.getVar('PN') + metapkg = pn + '-dev' + d.setVar('ALLOW_EMPTY_' + metapkg, "1") + blacklist = [ metapkg ] + metapkg_rdepends = [ ] + packages = d.getVar('PACKAGES').split() + for pkg in packages[1:]: + if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'): + metapkg_rdepends.append(pkg) + d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends)) + + metapkg = pn + d.setVar('ALLOW_EMPTY_' + metapkg, "1") + blacklist = [ metapkg, "libopencv-ts" ] + metapkg_rdepends = [ ] + for pkg in packages[1:]: + if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'): + metapkg_rdepends.append(pkg) + d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends)) +} + +PACKAGES_DYNAMIC += "^libopencv-.*" + +FILES_${PN} = "" +FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*" +FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${libdir}/cmake/opencv4/*.cmake" +FILES_${PN}-staticdev += "${libdir}/opencv4/3rdparty/*.a" +FILES_${PN}-apps = "${bindir}/* ${datadir}/opencv4 ${datadir}/licenses" +FILES_${PN}-java = "${datadir}/OpenCV/java" +FILES_${PN}-samples = "${datadir}/opencv4/samples/" + +INSANE_SKIP_${PN}-java = "libdir" +INSANE_SKIP_${PN}-dbg = "libdir" + +ALLOW_EMPTY_${PN} = "1" + +SUMMARY_python-opencv = "Python bindings to opencv" +FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" +RDEPENDS_python-opencv = "python-core python-numpy" + +SUMMARY_python3-opencv = "Python bindings to opencv" +FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" +RDEPENDS_python3-opencv = "python3-core python3-numpy" + +RDEPENDS_${PN}-apps = "bash" + +do_compile_prepend() { + # remove the build host info to improve reproducibility + if [ -f ${WORKDIR}/build/modules/core/version_string.inc ]; then + sed -i "s#${WORKDIR}#/workdir#g" ${WORKDIR}/build/modules/core/version_string.inc + fi +} + +do_install_append() { + # Move Python files into correct library folder (for multilib build) + if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then + mv ${D}/usr/lib/* ${D}/${libdir}/ + rm -rf ${D}/usr/lib + fi +} + +TOOLCHAIN = "gcc" diff --git a/meta-digi-dey/recipes-support/opencv/opencv_4.2.0.imx.bb b/meta-digi-dey/recipes-support/opencv/opencv_4.4.0.imx.bb similarity index 80% rename from meta-digi-dey/recipes-support/opencv/opencv_4.2.0.imx.bb rename to meta-digi-dey/recipes-support/opencv/opencv_4.4.0.imx.bb index 2cd2ba575..77af844d0 100644 --- a/meta-digi-dey/recipes-support/opencv/opencv_4.2.0.imx.bb +++ b/meta-digi-dey/recipes-support/opencv/opencv_4.4.0.imx.bb @@ -1,10 +1,10 @@ -require recipes-support/opencv/opencv_4.1.0.bb +require opencv_4.4.0.bb -LIC_FILES_CHKSUM = "file://LICENSE;md5=014935351b2df6f3094bf25de8d50ed8" +LIC_FILES_CHKSUM = "file://LICENSE;md5=19598330421859a6dd353a4318091ac7" -SRCREV_opencv = "f70f223ea33a62e8d8a03f8a0de33f6b7b2f2bb3" -SRCREV_contrib = "65abc7090dedc84bbedec4dfd143f0340e52114f" -SRCREV_extra = "322b475403899abc2411c4fbf68318afa77d3191" +SRCREV_opencv = "e39e6eded2d365a5dc370e1a72717e132166cf07" +SRCREV_contrib = "5fae4082cc493efa5cb7a7486f9e009618a5198b" +SRCREV_extra = "65796edadce27ed013e3deeedb3c081ff527e4ec" SRC_URI[tinydnn.md5sum] = "adb1c512e09ca2c7a6faef36f9c53e59" SRC_URI[tinydnn.sha256sum] = "e2c61ce8c5debaa644121179e9dbdcf83f497f39de853f8dd5175846505aa18b" SRCREV_FORMAT_append = "_extra" @@ -14,16 +14,15 @@ SRC_URI_remove = " \ file://0002-Make-opencv-ts-create-share-library-intead-of-static.patch \ " OPENCV_SRC ?= "git://source.codeaurora.org/external/imx/opencv-imx.git;protocol=https" -SRCBRANCH = "4.2.0_imx" +SRCBRANCH = "4.4.0_imx" SRC_URI =+ "${OPENCV_SRC};branch=${SRCBRANCH};name=opencv" SRC_URI += " \ git://github.com/opencv/opencv_extra.git;destsuffix=extra;name=extra \ https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz;destsuffix=git/3rdparty/tinydnn/tiny-dnn-1.0.0a3;name=tinydnn;unpack=false \ - file://uselocalxfeatures.patch;patchdir=../contrib/ \ file://OpenCV_DNN_examples.patch \ file://0001-Add-smaller-version-of-download_models.py.patch;patchdir=../extra \ " -PV = "4.2.0.imx" +PV = "4.4.0.imx" PACKAGECONFIG_remove = "eigen" PACKAGECONFIG_append_mx8 = " dnn text" @@ -32,6 +31,7 @@ PACKAGECONFIG_OPENCL_mx8 = "opencl" PACKAGECONFIG_OPENCL_mx8dxl = "" PACKAGECONFIG_OPENCL_mx8phantomdxl = "" PACKAGECONFIG_OPENCL_mx8mm = "" +PACKAGECONFIG_OPENCL_mx8mnlite = "" PACKAGECONFIG_append = " ${PACKAGECONFIG_OPENCL}" PACKAGECONFIG[openvx] = "-DWITH_OPENVX=ON -DOPENVX_ROOT=${STAGING_LIBDIR} -DOPENVX_LIB_CANDIDATES='OpenVX;OpenVXU',-DWITH_OPENVX=OFF,virtual/libopenvx," @@ -41,9 +41,6 @@ PACKAGECONFIG[test] = "-DBUILD_TESTS=ON -DINSTALL_TESTS=ON -DOPENCV_TEST_DATA_PA do_unpack_extra_append() { mkdir -p ${S}/3rdparty/tinydnn/ tar xzf ${WORKDIR}/v1.0.0a3.tar.gz -C ${S}/3rdparty/tinydnn/ - # Workaround to fix build issue - cp ${WORKDIR}/vgg/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src - cp ${WORKDIR}/boostdesc/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src } do_install_append() { diff --git a/sdk/build-github.sh b/sdk/build-github.sh index 83d8bbc19..d5885aa09 100755 --- a/sdk/build-github.sh +++ b/sdk/build-github.sh @@ -3,7 +3,7 @@ # # build-github.sh # -# Copyright (C) 2015-2019 by Digi International Inc. +# Copyright (C) 2015-2021 by Digi International Inc. # All rights reserved. # # This program is free software; you can redistribute it and/or modify it @@ -22,7 +22,16 @@ set -e -AVAILABLE_PLATFORMS="ccimx8mn-dvk ccimx8x-sbc-pro ccimx8x-sbc-express ccimx6qpsbc ccimx6sbc ccimx6ulsbc ccimx6ulstarter" +AVAILABLE_PLATFORMS=" \ + ccimx8mm-dvk \ + ccimx8mn-dvk \ + ccimx8x-sbc-pro \ + ccimx8x-sbc-express \ + ccimx6qpsbc \ + ccimx6sbc \ + ccimx6ulsbc \ + ccimx6ulstarter \ +" MANIFEST_URL="https://github.com/digi-embedded/dey-manifest.git" @@ -122,6 +131,7 @@ while read _pl _tgt; do # the fly with underscores. eval "${_pl//-/_}_tgt=\"${_tgt//,/ }\"" done<<-_EOF_ + ccimx8mm-dvk dey-image-qt ccimx8mn-dvk dey-image-qt ccimx8x-sbc-pro dey-image-qt ccimx8x-sbc-express dey-image-qt diff --git a/sdk/build.sh b/sdk/build.sh index 8b7ff28b2..7047f61f7 100755 --- a/sdk/build.sh +++ b/sdk/build.sh @@ -3,7 +3,7 @@ # # build.sh # -# Copyright (C) 2013-2019 by Digi International Inc. +# Copyright (C) 2013-2021 by Digi International Inc. # All rights reserved. # # This program is free software; you can redistribute it and/or modify it @@ -174,6 +174,7 @@ while read _pl _var _tgt; do eval "${_pl//-/_}_var=\"${_var//,/ }\"" eval "${_pl//-/_}_tgt=\"${_tgt//,/ }\"" done<<-_EOF_ + ccimx8mm-dvk DONTBUILDVARIANTS dey-image-qt,dey-image-aws ccimx8mn-dvk DONTBUILDVARIANTS dey-image-qt,dey-image-aws ccimx8x-sbc-pro DONTBUILDVARIANTS dey-image-qt,dey-image-aws ccimx8x-sbc-express DONTBUILDVARIANTS dey-image-qt,dey-image-aws diff --git a/sdk/config/ccimx8mm-dvk/bblayers.conf.sample b/sdk/config/ccimx8mm-dvk/bblayers.conf.sample new file mode 100644 index 000000000..68d2495bf --- /dev/null +++ b/sdk/config/ccimx8mm-dvk/bblayers.conf.sample @@ -0,0 +1,24 @@ +# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf +# changes incompatibly +POKY_BBLAYERS_CONF_VERSION = "2" + +BBPATH = "${TOPDIR}" +BBFILES ?= "" + +BBLAYERS ?= " \ + ##OEROOT##/meta \ + ##OEROOT##/meta-poky \ + ##OEROOT##/meta-yocto-bsp \ + ##DIGIBASE##/meta-openembedded/meta-oe \ + ##DIGIBASE##/meta-openembedded/meta-python \ + ##DIGIBASE##/meta-openembedded/meta-networking \ + ##DIGIBASE##/meta-openembedded/meta-webserver \ + ##DIGIBASE##/meta-qt5 \ + ##DIGIBASE##/meta-swupdate \ + ##DIGIBASE##/meta-freescale \ + ##DIGIBASE##/meta-fsl-demos \ + ##DIGIBASE##/meta-python2 \ + ##DIGIBASE##/meta-webkit \ + ##DIGIBASE##/meta-digi/meta-digi-arm \ + ##DIGIBASE##/meta-digi/meta-digi-dey \ + " diff --git a/sdk/config/ccimx8mm-dvk/conf-notes.txt b/sdk/config/ccimx8mm-dvk/conf-notes.txt new file mode 100644 index 000000000..39ed1c407 --- /dev/null +++ b/sdk/config/ccimx8mm-dvk/conf-notes.txt @@ -0,0 +1,23 @@ +Digi Embedded Yocto provides the following image recipes: + + * dey-image-qt: graphical QT image + + By default the image is XWayland-based so it provides a full Weston + desktop environment. + + To compile the image for the framebuffer (instead of XWayland) add + the following line to the project's conf/local.conf: + + DISTRO_FEATURES_remove = "x11 wayland vulkan" + + * dey-image-webkit: graphical WebKit image + + By default the image is XWayland-based so it provides a full Weston + desktop environment. + + * dey-image-aws: console-only image supporting Amazon Web Services IoT + + This image includes the AWS Greengrass Core and an AWS IoT platform + example application. For more information on AWS support in Digi + Embedded Yocto see the online documentation. + diff --git a/sdk/config/ccimx8mm-dvk/local.conf.sample b/sdk/config/ccimx8mm-dvk/local.conf.sample new file mode 100644 index 000000000..de295e30e --- /dev/null +++ b/sdk/config/ccimx8mm-dvk/local.conf.sample @@ -0,0 +1,285 @@ +# +# This file is your local configuration file and is where all local user settings +# are placed. The comments in this file give some guide to the options a new user +# to the system might want to change but pretty much any configuration option can +# be set in this file. More adventurous users can look at local.conf.extended +# which contains other examples of configuration which can be placed in this file +# but new users likely won't need any of them initially. +# +# Lines starting with the '#' character are commented out and in some cases the +# default values are provided as comments to show people example syntax. Enabling +# the option is a question of removing the # character and making any change to the +# variable as required. + +# +# Machine Selection +# +# You need to select a specific machine to target the build with. There are a selection +# of emulated machines available which can boot and run in the QEMU emulator: +# +#MACHINE ?= "qemuarm" +#MACHINE ?= "qemuarm64" +#MACHINE ?= "qemumips" +#MACHINE ?= "qemumips64" +#MACHINE ?= "qemuppc" +#MACHINE ?= "qemux86" +#MACHINE ?= "qemux86-64" +# +# There are also the following hardware board target machines included for +# demonstration purposes: +# +#MACHINE ?= "beaglebone-yocto" +#MACHINE ?= "genericx86" +#MACHINE ?= "genericx86-64" +#MACHINE ?= "mpc8315e-rdb" +#MACHINE ?= "edgerouter" +# +# This sets the default machine to be qemux86-64 if no other machine is selected: +#MACHINE ??= "qemux86-64" + +MACHINE = "ccimx8mm-dvk" + +# +# Use Digi's internal git repositories +# +#DIGI_INTERNAL_GIT ?= "1" + +# +# Where to place downloads +# +# During a first build the system will download many different source code tarballs +# from various upstream projects. This can take a while, particularly if your network +# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you +# can preserve this directory to speed up this part of subsequent builds. This directory +# is safe to share between multiple builds on the same machine too. +# +# The default is a downloads directory under TOPDIR which is the build directory. +# +#DL_DIR ?= "${TOPDIR}/downloads" + +# +# Where to place shared-state files +# +# BitBake has the capability to accelerate builds based on previously built output. +# This is done using "shared state" files which can be thought of as cache objects +# and this option determines where those files are placed. +# +# You can wipe out TMPDIR leaving this directory intact and the build would regenerate +# from these files if no changes were made to the configuration. If changes were made +# to the configuration, only shared state files where the state was still valid would +# be used (done using checksums). +# +# The default is a sstate-cache directory under TOPDIR. +# +#SSTATE_DIR ?= "${TOPDIR}/sstate-cache" + +# +# Where to place the build output +# +# This option specifies where the bulk of the building work should be done and +# where BitBake should place its temporary files and output. Keep in mind that +# this includes the extraction and compilation of many applications and the toolchain +# which can use Gigabytes of hard disk space. +# +# The default is a tmp directory under TOPDIR. +# +#TMPDIR = "${TOPDIR}/tmp" + +# +# Default policy config +# +# The distribution setting controls which policy settings are used as defaults. +# The default value is fine for general Yocto project use, at least initially. +# Ultimately when creating custom policy, people will likely end up subclassing +# these defaults. +# +DISTRO ?= "dey" +# As an example of a subclass there is a "bleeding" edge policy configuration +# where many versions are set to the absolute latest code from the upstream +# source control systems. This is just mentioned here as an example, its not +# useful to most new users. +# DISTRO ?= "poky-bleeding" + +# +# Package Management configuration +# +# This variable lists which packaging formats to enable. Multiple package backends +# can be enabled at once and the first item listed in the variable will be used +# to generate the root filesystems. +# Options are: +# - 'package_deb' for debian style deb files +# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager) +# - 'package_rpm' for rpm style packages +# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" +# We default to rpm: +PACKAGE_CLASSES ?= "package_rpm" + +# +# SDK target architecture +# +# This variable specifies the architecture to build SDK items for and means +# you can build the SDK packages for architectures other than the machine you are +# running the build on (i.e. building i686 packages on an x86_64 host). +# Supported values are i686 and x86_64 +#SDKMACHINE ?= "i686" + +# +# Extra image configuration defaults +# +# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated +# images. Some of these options are added to certain image types automatically. The +# variable can contain the following options: +# "dbg-pkgs" - add -dbg packages for all installed packages +# (adds symbol information for debugging/profiling) +# "src-pkgs" - add -src packages for all installed packages +# (adds source code for debugging) +# "dev-pkgs" - add -dev packages for all installed packages +# (useful if you want to develop against libs in the image) +# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages +# (useful if you want to run the package test suites) +# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.) +# "tools-debug" - add debugging tools (gdb, strace) +# "eclipse-debug" - add Eclipse remote debugging support +# "tools-profile" - add profiling tools (oprofile, lttng, valgrind) +# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.) +# "debug-tweaks" - make an image suitable for development +# e.g. ssh root access has a blank password +# There are other application targets that can be used here too, see +# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details. +# We default to enabling the debugging tweaks. +EXTRA_IMAGE_FEATURES ?= "debug-tweaks" + +# +# Additional image features +# +# The following is a list of additional classes to use when building images which +# enable extra features. Some available options which can be included in this variable +# are: +# - 'buildstats' collect build statistics +# - 'image-mklibs' to reduce shared library files size for an image +# - 'image-prelink' in order to prelink the filesystem image +# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink +# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended +USER_CLASSES ?= "buildstats image-mklibs image-prelink" + +# +# Runtime testing of images +# +# The build system can test booting virtual machine images under qemu (an emulator) +# after any root filesystems are created and run tests against those images. It can also +# run tests against any SDK that are built. To enable this uncomment these lines. +# See classes/test{image,sdk}.bbclass for further details. +#IMAGE_CLASSES += "testimage testsdk" +#TESTIMAGE_AUTO_qemuall = "1" + +# +# Interactive shell configuration +# +# Under certain circumstances the system may need input from you and to do this it +# can launch an interactive shell. It needs to do this since the build is +# multithreaded and needs to be able to handle the case where more than one parallel +# process may require the user's attention. The default is iterate over the available +# terminal types to find one that works. +# +# Examples of the occasions this may happen are when resolving patches which cannot +# be applied, to use the devshell or the kernel menuconfig +# +# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none +# Note: currently, Konsole support only works for KDE 3.x due to the way +# newer Konsole versions behave +#OE_TERMINAL = "auto" +# By default disable interactive patch resolution (tasks will just fail instead): +PATCHRESOLVE = "noop" + +# +# Disk Space Monitoring during the build +# +# Monitor the disk space during the build. If there is less that 1GB of space or less +# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully +# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort +# of the build. The reason for this is that running completely out of space can corrupt +# files and damages the build in ways which may not be easily recoverable. +# It's necesary to monitor /tmp, if there is no space left the build will fail +# with very exotic errors. +BB_DISKMON_DIRS ??= "\ + STOPTASKS,${TMPDIR},1G,100K \ + STOPTASKS,${DL_DIR},1G,100K \ + STOPTASKS,${SSTATE_DIR},1G,100K \ + STOPTASKS,/tmp,100M,100K \ + ABORT,${TMPDIR},100M,1K \ + ABORT,${DL_DIR},100M,1K \ + ABORT,${SSTATE_DIR},100M,1K \ + ABORT,/tmp,10M,1K" + +# +# Shared-state files from other locations +# +# As mentioned above, shared state files are prebuilt cache data objects which can +# used to accelerate build time. This variable can be used to configure the system +# to search other mirror locations for these objects before it builds the data itself. +# +# This can be a filesystem directory, or a remote url such as http or ftp. These +# would contain the sstate-cache results from previous builds (possibly from other +# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the +# cache locations to check for the shared objects. +# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH +# at the end as shown in the examples below. This will be substituted with the +# correct path within the directory structure. +#SSTATE_MIRRORS ?= "\ +#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \ +#file://.* file:///some/local/dir/sstate/PATH" + +# +# Yocto Project SState Mirror +# +# The Yocto Project has prebuilt artefacts available for its releases, you can enable +# use of these by uncommenting the following line. This will mean the build uses +# the network to check for artefacts at the start of builds, which does slow it down +# equally, it will also speed up the builds by not having to build things if they are +# present in the cache. It assumes you can download something faster than you can build it +# which will depend on your network. +# +#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/2.5/PATH;downloadfilename=PATH" + +# +# Qemu configuration +# +# By default native qemu will build with a builtin VNC server where graphical output can be +# seen. The line below enables the SDL UI frontend too. +PACKAGECONFIG_append_pn-qemu-system-native = " sdl" +# By default libsdl2-native will be built, if you want to use your host's libSDL instead of +# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below. +#ASSUME_PROVIDED += "libsdl2-native" + +# You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds +# a handy set of menus for controlling the emulator. +#PACKAGECONFIG_append_pn-qemu-system-native = " gtk+" + +# +# Hash Equivalence +# +# Enable support for automatically running a local hash equivalence server and +# instruct bitbake to use a hash equivalence aware signature generator. Hash +# equivalence improves reuse of sstate by detecting when a given sstate +# artifact can be reused as equivalent, even if the current task hash doesn't +# match the one that generated the artifact. +# +# A shared hash equivalent server can be set with ":" format +# +#BB_HASHSERVE = "auto" +#BB_SIGNATURE_HANDLER = "OEEquivHash" + +# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to +# track the version of this file when it was generated. This can safely be ignored if +# this doesn't mean anything to you. +CONF_VERSION = "1" + +# +# Enable local PR server +# +PRSERV_HOST = "localhost:0" + +# +# Some libraries and packages are covered by NXP EULA +# +#ACCEPT_FSL_EULA = "1"