Merge branch 'dey-3.0/master' into fgilmar/merge_to_maint

# Conflicts:
#	meta-digi-dey/recipes-support/opencv/opencv_4.4.0.imx.bb
This commit is contained in:
Francisco Gil 2021-03-01 16:53:26 +01:00
commit f154d811a6
132 changed files with 2819 additions and 641 deletions

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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}"

View File

@ -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

View File

@ -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
@ -98,39 +101,25 @@ MACHINE_GSTREAMER_1_0_PLUGIN_mx8 ?= "imx-gst1.0-plugin imx-gst1.0-plugin-gplay i
# 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_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"

View File

@ -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}"

View File

@ -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}"

View File

@ -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/"

View File

@ -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 \

View File

@ -0,0 +1,54 @@
From 32f0fe2d607f165fbf4ab6b5c21b147b68ab46e2 Mon Sep 17 00:00:00 2001
From: Gabriel Valcazar <gabriel.valcazar@digi.com>
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 <gabriel.valcazar@digi.com>
---
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

View File

@ -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"

View File

@ -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
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 "\

View File

@ -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)"

View File

@ -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"

View File

@ -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

View File

@ -0,0 +1,33 @@
From 59608dcb0f0a6f6d8154b1d331c2403d7c1143eb Mon Sep 17 00:00:00 2001
From: Cristinel Panfir <cristinel.panfir@nxp.com>
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 <cristinel.panfir@nxp.com>
---
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

View File

@ -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"

View File

@ -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.

View File

@ -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"

View File

@ -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)"

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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}

View File

@ -1,4 +1,4 @@
# Copyright (C) 2018-2020 Digi International
# Copyright (C) 2018-2021 Digi International
require digi-u-boot.inc

View File

@ -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"

View File

@ -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"

View File

@ -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}"

View File

@ -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

View File

@ -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"

View File

@ -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)"

View File

@ -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"

View File

@ -1,21 +1,30 @@
# 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.
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"
@ -25,19 +34,24 @@ 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 \
# 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} \
CFG_NXPCRYPT=y \
CFG_GEN_DEK_BLOB=y \
"
"
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)"

View File

@ -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.

View File

@ -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)"

View File

@ -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}"

View File

@ -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')}"

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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}"

View File

@ -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

View File

@ -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"

View File

@ -1,54 +0,0 @@
From 9be904a70e6b7e6b3cc4e1b270bca02d14a4179b Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
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 <jussi.kukkonen@intel.com>
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)

View File

@ -0,0 +1,140 @@
From 45f48f8a5de59c04b0510c23853772bc970f411e Mon Sep 17 00:00:00 2001
From: Max Krummenacher <max.krummenacher@toradex.com>
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 <max.krummenacher@toradex.com>
---
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

View File

@ -1,32 +0,0 @@
From 860a227277ab425b0377875adc7ff5bdf3fa206e Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
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 <maxin.john@intel.com>
---
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 <config.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,23 +0,0 @@
From 14e42311309712228588fc9adf612b2ab3f0097f Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
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 <ke.yu@intel.com>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
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)

View File

@ -0,0 +1,35 @@
Upstream-Status: Submitted
Signed-off-by: Ross Burton <ross.burton@intel.com>
From 46c0fd6c827a8cb4d04e067bf04fab579ac4712e Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
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

View File

@ -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"

View File

@ -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}"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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)"

View File

@ -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)"

View File

@ -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)"

View File

@ -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)"

View File

@ -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

View File

@ -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 = "(^$)"

View File

@ -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 = "(^$)"

View File

@ -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)"

View File

@ -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"

View File

@ -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)"

View File

@ -0,0 +1,34 @@
From e6783c99f051c6d8252db5f388d805cef0e16357 Mon Sep 17 00:00:00 2001
From: Joshua Watt <JPEWhacker@gmail.com>
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 <string.h>' when looking
for strndup().
See: https://github.com/mesonbuild/meson/issues/3672
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
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')

View File

@ -0,0 +1,115 @@
From b2c74f6a3dbe0aee2413800837314136947a4985 Mon Sep 17 00:00:00 2001
From: Jan Beich <jbeich@FreeBSD.org>
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 <alex.kanavin@gmail.com>
---
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': [],
}

View File

@ -0,0 +1,26 @@
From cbb28635a1079d68e62dbaa1e21791a20dbbbaf4 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
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 <alex.kanavin@gmail.com>
---
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'
)

View File

@ -0,0 +1,27 @@
From 2582d2653ba80917d7bc47088e1a5f49530fddaa Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
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 <alex.kanavin@gmail.com>
---
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

View File

@ -1,32 +0,0 @@
Fix wayland-client and wayland-scanner pc files
Upstream-Status: Pending
Signed-off-by: Fabien Lahoudere <fabien.lahoudere@collabora.co.uk>
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

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,47 @@
From 58760e09eed662a72da939ff4802d605489cff8e Mon Sep 17 00:00:00 2001
From: Denys Dmytriyenko <denys@ti.com>
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 <denys@ti.com>
---
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 <unistd.h>
#include <sys/file.h>
#include <errno.h>
+#include <fcntl.h>
#include "shared/helpers.h"
#include "weston-test-fixture-compositor.h"
--
2.7.4

View File

@ -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 <tom.hochstein@nxp.com>
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 <tom.hochstein@nxp.com>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ming Liu <ming.liu@toradex.com>
---
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 <pwd.h>
@ -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(

View File

@ -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 <raj.khem@gmail.com>
--- 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;

View File

@ -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"

View File

@ -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

View File

@ -0,0 +1,36 @@
From 8a382c015cd3c69fcfc146ef03dcbf30c77ff207 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
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 <raj.khem@gmail.com>
---
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

View File

@ -0,0 +1,53 @@
From d77cdc5e1eee26821ab98c947abea53fb7b18fe5 Mon Sep 17 00:00:00 2001
From: California Sullivan <california.l.sullivan@intel.com>
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 <tjaalton@debian.org>
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 <california.l.sullivan@intel.com>
---
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

View File

@ -0,0 +1,34 @@
Upstream-Status: Submitted [https://gitlab.freedesktop.org/xorg/xserver/merge_requests/22]
Signed-off-by: Ross Burton <ross.burton@intel.com>
From 5f65a6246fe752764045dd1e38912f1dccec71e4 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
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 <ross.burton@intel.com>
---
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

View File

@ -0,0 +1,50 @@
Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/xserver/merge_requests/253]
Signed-off-by: Ross Burton <ross.burton@intel.com>
From ca832598d38ba55a001088b57d73c6d7261dc9a7 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
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

Some files were not shown because too many files have changed in this diff Show More