diff --git a/meta-digi-arm/classes/fsl-eula-unpack2.bbclass b/meta-digi-arm/classes/fsl-eula-unpack2.bbclass new file mode 100644 index 000000000..a3c8e668f --- /dev/null +++ b/meta-digi-arm/classes/fsl-eula-unpack2.bbclass @@ -0,0 +1,33 @@ +# fsl-eula-unpack2.bbclass provides a mechanism for a) unpacking certain +# EULA-licensed archives downloaded by HTTP and b) handling the EULA +# acceptance. + +inherit fsl-eula-unpack fsl-eula + +IMX_PACKAGE_VERSION = "${PV}" + +SRC_URI = "${FSL_MIRROR}${IMX_PACKAGE_NAME}.bin;name=${SRC_URI_NAME};fsl-eula=true" + +S = "${WORKDIR}/${IMX_PACKAGE_NAME}" + +# For native apps, insert the user-local sysroot path +# For nativesdk apps, insert the correct distro folder +D_SUBDIR = "" +D_SUBDIR_class-native = "${STAGING_DIR_NATIVE}" +D_SUBDIR_class-nativesdk = "/opt/${DISTRO}" + +# SCR is the location and name of the Software Content Register file +# relative to ${D}${D_SUBDIR}. +SCR = "SCR.txt" + +do_install () { + install -d ${D}${D_SUBDIR} + cp -r ${S}/* ${D}${D_SUBDIR} + rm ${D}${D_SUBDIR}/COPYING + if [ ! -f ${D}${D_SUBDIR}/${SCR} ]; then + bbfatal "Missing Software Content Register \"${D}${D_SUBDIR}/${SCR}\"" + fi + rm ${D}${D_SUBDIR}/${SCR} +} + +FILES_${PN} = "/" diff --git a/meta-digi-arm/classes/fsl-eula.bbclass b/meta-digi-arm/classes/fsl-eula.bbclass new file mode 100644 index 000000000..ec27fcde7 --- /dev/null +++ b/meta-digi-arm/classes/fsl-eula.bbclass @@ -0,0 +1,29 @@ +# fsl-eula.bbclass defines a common naming scheme used by the +# packing and unpacking mechanisms defined in fsl-eula-pack.bbclass +# and fsl-eula-unpack2.bbclass. +# +# Note that it is not necessary to inherit this class directly. It is +# already inherited from fsl-eula-pack.bbclass and fsl-eula-unpack2.bbclass. +# +# The naming scheme takes into account the fact that a single software +# package can create many archives based on the combinations of a) target +# versus native/nativesdk components, and b) the target or native architecture. +# The naming scheme can be extended through regular bitbake means to allow +# configuration-specific archives, as can be seen in fsl-eula-graphics.bbclass. + +# The variable IMX_PACKAGE_NAME gives a unique name for every possible +# archive. The variable is built from a combination of the package name ${PN}, +# the version ${IMX_PACKAGE_VERSION} and the target or native architecture, +# ${TARGET_ARCH} or ${BUILD_ARCH}. +IMX_PACKAGE_NAME = "${PN}-${IMX_PACKAGE_VERSION}-${TARGET_ARCH}" +IMX_PACKAGE_NAME_class-native = "${PN}-${IMX_PACKAGE_VERSION}-${BUILD_ARCH}" +IMX_PACKAGE_NAME_class-nativesdk = "${PN}-${IMX_PACKAGE_VERSION}-${BUILD_ARCH}" + +# The variable SRC_URI_NAME gives a unique SRC_URI name option for use in +# unpacking recipes derived from fsl-eula-unpack2.bbclass. With this name, +# a single unpacking recipe can handle all possible archives. The name is +# built from with a combination of target or native architecture, +# ${TARGET_ARCH} or ${BUILD_ARCH}, and a native or nativesdk designation. +SRC_URI_NAME = "${TARGET_ARCH}" +SRC_URI_NAME_class-native = "${BUILD_ARCH}-native" +SRC_URI_NAME_class-nativesdk = "${BUILD_ARCH}-nativesdk" diff --git a/meta-digi-arm/classes/image_types_digi.bbclass b/meta-digi-arm/classes/image_types_digi.bbclass index 39b5992ad..e4a93ddbd 100644 --- a/meta-digi-arm/classes/image_types_digi.bbclass +++ b/meta-digi-arm/classes/image_types_digi.bbclass @@ -21,6 +21,8 @@ IMAGE_CMD_boot.vfat() { BOOTIMG_FILES_SYMLINK="${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin" if [ -n "${KERNEL_DEVICETREE}" ]; then for DTB in ${KERNEL_DEVICETREE}; do + # Remove potential sub-folders + DTB="$(basename ${DTB})" if [ -e "${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB}" ]; then BOOTIMG_FILES="${BOOTIMG_FILES} $(readlink -e ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB})" BOOTIMG_FILES_SYMLINK="${BOOTIMG_FILES_SYMLINK} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB}" @@ -81,6 +83,8 @@ IMAGE_CMD_boot.ubifs() { BOOTIMG_FILES_SYMLINK="${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin" if [ -n "${KERNEL_DEVICETREE}" ]; then for DTB in ${KERNEL_DEVICETREE}; do + # Remove potential sub-folders + DTB="$(basename ${DTB})" if [ -e "${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB}" ]; then BOOTIMG_FILES_SYMLINK="${BOOTIMG_FILES_SYMLINK} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB}" fi @@ -149,6 +153,8 @@ IMAGE_CMD_recovery.ubifs() { RECOVERYIMG_FILES_SYMLINK="${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin" if [ -n "${KERNEL_DEVICETREE}" ]; then for DTB in ${KERNEL_DEVICETREE}; do + # Remove potential sub-folders + DTB="$(basename ${DTB})" if [ -e "${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB}" ]; then RECOVERYIMG_FILES_SYMLINK="${RECOVERYIMG_FILES_SYMLINK} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB}" fi diff --git a/meta-digi-arm/conf/machine/ccimx6qpsbc.conf b/meta-digi-arm/conf/machine/ccimx6qpsbc.conf index 810d92b89..1026f9d0a 100644 --- a/meta-digi-arm/conf/machine/ccimx6qpsbc.conf +++ b/meta-digi-arm/conf/machine/ccimx6qpsbc.conf @@ -11,7 +11,12 @@ WIRELESS_MODULE_append = " ${@base_conditional('HAVE_WIFI', '1', 'kernel-module- # Wireless p2p interface WLAN_P2P_INTERFACE ?= "p2p0" -MACHINE_EXTRA_RRECOMMENDS += "cryptoauthlib" +MACHINE_EXTRA_RRECOMMENDS += " \ + cryptoauthlib \ + cryptoauth-openssl-engine \ +" + +MACHINE_FEATURES += "cryptochip" # Firmware MACHINE_FIRMWARE_append = " ${@base_conditional('HAVE_BT', '1', 'firmware-qualcomm-qca6564-bt', '', d)}" @@ -22,7 +27,7 @@ PREFERRED_PROVIDER_virtual/libg2d_mx6 = "imx-gpu-g2d" # U-Boot configurations # Last one is the default (the one the symlinks point at) UBOOT_CONFIG ??= "ccimx6qpsbc2GB" -UBOOT_CONFIG[ccimx6qpsbc2GB] = "ccimx6qpsbc2GB_defconfig" +UBOOT_CONFIG[ccimx6qpsbc2GB] = "ccimx6qpsbc2GB_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" KERNEL_DEVICETREE ?= " \ imx6qp-ccimx6qpsbc.dtb \ diff --git a/meta-digi-arm/conf/machine/ccimx6sbc.conf b/meta-digi-arm/conf/machine/ccimx6sbc.conf index d10f8ea99..fdce4057d 100644 --- a/meta-digi-arm/conf/machine/ccimx6sbc.conf +++ b/meta-digi-arm/conf/machine/ccimx6sbc.conf @@ -14,11 +14,11 @@ PREFERRED_PROVIDER_virtual/libg2d_mx6 = "imx-gpu-g2d" # U-Boot configurations # Last one is the default (the one the symlinks point at) UBOOT_CONFIG ??= "ccimx6dlsbc512MB ccimx6dlsbc ccimx6qsbc2GB ccimx6qsbc512MB ccimx6qsbc" -UBOOT_CONFIG[ccimx6dlsbc512MB] = "ccimx6dlsbc512MB_defconfig" -UBOOT_CONFIG[ccimx6dlsbc] = "ccimx6dlsbc_defconfig" -UBOOT_CONFIG[ccimx6qsbc2GB] = "ccimx6qsbc2GB_defconfig" -UBOOT_CONFIG[ccimx6qsbc512MB] = "ccimx6qsbc512MB_defconfig" -UBOOT_CONFIG[ccimx6qsbc] = "ccimx6qsbc_defconfig" +UBOOT_CONFIG[ccimx6dlsbc512MB] = "ccimx6dlsbc512MB_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" +UBOOT_CONFIG[ccimx6dlsbc] = "ccimx6dlsbc_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" +UBOOT_CONFIG[ccimx6qsbc2GB] = "ccimx6qsbc2GB_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" +UBOOT_CONFIG[ccimx6qsbc512MB] = "ccimx6qsbc512MB_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" +UBOOT_CONFIG[ccimx6qsbc] = "ccimx6qsbc_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" KERNEL_DEVICETREE ?= " \ imx6dl-ccimx6sbc.dtb \ diff --git a/meta-digi-arm/conf/machine/ccimx6ulsbc.conf b/meta-digi-arm/conf/machine/ccimx6ulsbc.conf index db3ce2345..b52f6d5bc 100644 --- a/meta-digi-arm/conf/machine/ccimx6ulsbc.conf +++ b/meta-digi-arm/conf/machine/ccimx6ulsbc.conf @@ -8,8 +8,8 @@ include conf/machine/include/ccimx6ul.inc # U-Boot configurations # Last one is the default (the one the symlinks point at) UBOOT_CONFIG ??= "ccimx6ulsbc1GB ccimx6ulsbc" -UBOOT_CONFIG[ccimx6ulsbc1GB] = "ccimx6ulsbc1GB_defconfig" -UBOOT_CONFIG[ccimx6ulsbc] = "ccimx6ulsbc_defconfig" +UBOOT_CONFIG[ccimx6ulsbc1GB] = "ccimx6ulsbc1GB_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" +UBOOT_CONFIG[ccimx6ulsbc] = "ccimx6ulsbc_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" # U-Boot environment offset (within partition) UBOOT_ENV_OFFSET ?= "0x0" diff --git a/meta-digi-arm/conf/machine/ccimx6ulstarter.conf b/meta-digi-arm/conf/machine/ccimx6ulstarter.conf index f7b95048b..91b8f696f 100644 --- a/meta-digi-arm/conf/machine/ccimx6ulstarter.conf +++ b/meta-digi-arm/conf/machine/ccimx6ulstarter.conf @@ -8,8 +8,8 @@ include conf/machine/include/ccimx6ul.inc # U-Boot configurations # Last one is the default (the one the symlinks point at) UBOOT_CONFIG ??= "ccimx6ulstarter1GB ccimx6ulstarter" -UBOOT_CONFIG[ccimx6ulstarter1GB] = "ccimx6ulstarter1GB_defconfig" -UBOOT_CONFIG[ccimx6ulstarter] = "ccimx6ulstarter_defconfig" +UBOOT_CONFIG[ccimx6ulstarter1GB] = "ccimx6ulstarter1GB_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" +UBOOT_CONFIG[ccimx6ulstarter] = "ccimx6ulstarter_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" # U-Boot environment offset (within partition) UBOOT_ENV_OFFSET ?= "0x0" diff --git a/meta-digi-arm/conf/machine/ccimx8x-sbc-express.conf b/meta-digi-arm/conf/machine/ccimx8x-sbc-express.conf new file mode 100644 index 000000000..a576a03e5 --- /dev/null +++ b/meta-digi-arm/conf/machine/ccimx8x-sbc-express.conf @@ -0,0 +1,43 @@ +#@TYPE: Machine +#@NAME: ConnectCore 8X Single Board Computer Express. +#@DESCRIPTION: Machine configuration for Digi's ConnectCore 8X SBC Express. + +# Include the machine configuration for Digi's ConnectCore 8X module. +include conf/machine/include/ccimx8x.inc + +# Wireless external module +WIRELESS_MODULE_append = " ${@base_conditional('HAVE_WIFI', '1', 'kernel-module-qualcomm', '', d)}" + +# Wireless p2p interface +WLAN_P2P_INTERFACE ?= "p2p0" + +MACHINE_EXTRA_RRECOMMENDS += " \ + cryptoauthlib \ + cryptoauth-openssl-engine \ +" + +# Firmware +MACHINE_FIRMWARE_append = " ${@base_conditional('HAVE_BT', '1', 'firmware-qualcomm-qca6574-bt', '', d)}" +MACHINE_FIRMWARE_append = " ${@base_conditional('HAVE_WIFI', '1', 'firmware-qualcomm-qca6574-wifi', '', d)}" + +# U-Boot configurations +# Last one is the default (the one the symlinks point at) +UBOOT_CONFIG ??= "ccimx8x_sbc_express2GB ccimx8x_sbc_express1GB" +UBOOT_CONFIG[ccimx8x_sbc_express2GB] = "ccimx8x_sbc_express2GB_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" +UBOOT_CONFIG[ccimx8x_sbc_express1GB] = "ccimx8x_sbc_express1GB_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" + +KERNEL_DEVICETREE ?= " \ + digi/ccimx8x-sbc-express-wb.dtb \ + digi/ccimx8x-sbc-express.dtb \ +" + +SERIAL_CONSOLES ?= "115200;ttyLP2" + +# Bluetooth tty +BT_TTY ?= "ttyLP1" + +# U-Boot script to be copied to the boot image +BOOT_SCRIPTS = "boot.scr:boot.scr" + +# Flash image types +IMAGE_FSTYPES ?= "boot.vfat ext4 sdcard tar.bz2 recovery.vfat" diff --git a/meta-digi-arm/conf/machine/include/ccimx6.inc b/meta-digi-arm/conf/machine/include/ccimx6.inc index 879436413..7cf6abb1f 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6.inc @@ -12,6 +12,9 @@ include conf/machine/include/tune-cortexa9.inc UBOOT_SUFFIX = "imx" UBOOT_SYMLINK = "u-boot-${MACHINE}.${UBOOT_SUFFIX}" +# Linux kernel configuration +KERNEL_DEFCONFIG ?= "arch/arm/configs/ccimx6sbc_defconfig" + # Wireless external module WIRELESS_MODULE ?= "" @@ -30,7 +33,7 @@ MACHINE_EXTRA_RDEPENDS += " \ MACHINE_EXTRA_RRECOMMENDS += " \ ${MACHINE_FIRMWARE} \ ${WIRELESS_MODULE} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'imx-alsa-plugins', '', d)} \ + ${@bb.utils.contains('COMBINED_FEATURES', 'alsa', 'imx-alsa-plugins', '', d)} \ cryptodev-module \ " diff --git a/meta-digi-arm/conf/machine/include/ccimx6ul.inc b/meta-digi-arm/conf/machine/include/ccimx6ul.inc index 5aa20f5ce..962f2c2d9 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6ul.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6ul.inc @@ -12,6 +12,9 @@ include conf/machine/include/tune-cortexa7.inc UBOOT_SUFFIX = "imx" UBOOT_SYMLINK = "u-boot-${MACHINE}.${UBOOT_SUFFIX}" +# Linux kernel configuration +KERNEL_DEFCONFIG ?= "arch/arm/configs/ccimx6ul_defconfig" + # Wireless external module WIRELESS_MODULE ?= "" WIRELESS_MODULE_append = " ${@base_conditional('HAVE_WIFI', '1', 'kernel-module-qualcomm', '', d)}" @@ -32,12 +35,13 @@ MACHINE_EXTRA_RDEPENDS += " \ MACHINE_EXTRA_RRECOMMENDS += " \ ${MACHINE_FIRMWARE} \ ${WIRELESS_MODULE} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'imx-alsa-plugins', '', d)} \ + ${@bb.utils.contains('COMBINED_FEATURES', 'alsa', 'imx-alsa-plugins', '', d)} \ cryptoauthlib \ cryptodev-module \ + cryptoauth-openssl-engine \ " -MACHINE_FEATURES += "wifi bluetooth" +MACHINE_FEATURES += "wifi bluetooth cryptochip" MACHINE_FIRMWARE_append = " ${@base_conditional('HAVE_BT', '1', 'firmware-qualcomm-qca6564-bt', '', d)}" MACHINE_FIRMWARE_append = " ${@base_conditional('HAVE_WIFI', '1', 'firmware-qualcomm-qca6564-wifi', '', d)}" diff --git a/meta-digi-arm/conf/machine/include/ccimx8x.inc b/meta-digi-arm/conf/machine/include/ccimx8x.inc new file mode 100644 index 000000000..1ea798c6a --- /dev/null +++ b/meta-digi-arm/conf/machine/include/ccimx8x.inc @@ -0,0 +1,48 @@ +#@TYPE: Machine +#@NAME: ConnectCore 8X module. +#@DESCRIPTION: Machine configuration for Digi's ConnectCore 8X module. + +DIGI_FAMILY = "ccimx8x" +MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:mx8dxp:mx8dx:${DIGI_FAMILY}:" + +include conf/machine/include/imx-digi-base.inc +include conf/machine/include/arm/arch-arm64.inc + +# Platform u-boot settings +UBOOT_SUFFIX = "bin" +UBOOT_SYMLINK = "u-boot-${MACHINE}.${UBOOT_SUFFIX}" + +# The bootloader image that gets flashed consists of U-Boot and several fw binaries +EXTRA_IMAGEDEPENDS = "imx-boot" + +# Linux kernel configuration +KERNEL_DEFCONFIG ?= "arch/arm64/configs/ccimx8x_defconfig" + +# Wireless external module +WIRELESS_MODULE ?= "" + +# Firmware +MACHINE_FIRMWARE ?= "" + +MACHINE_EXTRA_RDEPENDS += " \ + e2fsprogs-mke2fs \ + e2fsprogs-resize2fs \ + mca-tool \ + parted \ + u-boot-fw-utils \ +" + +MACHINE_EXTRA_RRECOMMENDS += " \ + ${MACHINE_FIRMWARE} \ + ${WIRELESS_MODULE} \ + cryptodev-module \ +" + +MACHINE_FEATURES += "accel-graphics accel-video wifi bluetooth cryptochip" + +# AARCH64 doesn't support self-extracting zImage +KERNEL_IMAGETYPE = "Image.gz" + +# Adding 'wayland' along with 'x11' enables the xwayland backend +# Vulkan is necessary for wayland to build +DISTRO_FEATURES_append = " wayland vulkan" diff --git a/meta-digi-arm/conf/machine/include/digi-defaults.inc b/meta-digi-arm/conf/machine/include/digi-defaults.inc index 78d76a3ad..f40341ab1 100644 --- a/meta-digi-arm/conf/machine/include/digi-defaults.inc +++ b/meta-digi-arm/conf/machine/include/digi-defaults.inc @@ -10,9 +10,10 @@ PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" # # Platform Linux U-Boot # ------------------------------------------------- -# ccimx6 4.1, 3.14 2015.04 -# ccimx6qp 4.9 2015.04 -# ccimx6ul 4.9, 4.1 2015.04 +# ccimx6 4.9 2017.03, 2015.04 +# ccimx6qp 4.9 2017.03, 2015.04 +# ccimx6ul 4.9 2017.03, 2015.04 +# ccimx8x 4.9 2017.03 (packaged in imx-boot) # # Help variables used in recipes diff --git a/meta-digi-arm/conf/machine/include/imx-digi-base.inc b/meta-digi-arm/conf/machine/include/imx-digi-base.inc index bb8a6a5ec..57a89a0ca 100644 --- a/meta-digi-arm/conf/machine/include/imx-digi-base.inc +++ b/meta-digi-arm/conf/machine/include/imx-digi-base.inc @@ -2,7 +2,8 @@ include conf/machine/include/digi-defaults.inc XSERVER_DRIVER = "xf86-video-fbdev" -XSERVER_DRIVER_imxgpu2d = "xf86-video-imxfb-vivante" +XSERVER_DRIVER_imxgpu2d = "xf86-video-imx-vivante" +XSERVER_DRIVER_append_mx8 = " xf86-video-modesetting" XSERVER = "xserver-xorg \ xf86-input-evdev \ ${XSERVER_DRIVER}" @@ -19,23 +20,33 @@ MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" # handled by hardware DEFAULTTUNE_mx6 ?= "cortexa9thf-neon" DEFAULTTUNE_mx6ul ?= "cortexa7thf-neon" +DEFAULTTUNE_mx8 ?= "aarch64" INHERIT += "machine-overrides-extender" -MACHINEOVERRIDES_EXTENDER_mx6q = "imxipu:imxvpu:imxgpu2d:imxgpu3d" -MACHINEOVERRIDES_EXTENDER_mx6dl = "imxpxp:imxipu:imxvpu:imxgpu2d:imxgpu3d:imxepdc" -MACHINEOVERRIDES_EXTENDER_mx6ul = "imxpxp" +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_mx6ul = "imxfbdev:imxpxp" +MACHINEOVERRIDES_EXTENDER_mx8qxp = "imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d" # Sub-architecture support MACHINE_SOCARCH_SUFFIX ?= "" MACHINE_SOCARCH_SUFFIX_mx6q = "-mx6qdl" MACHINE_SOCARCH_SUFFIX_mx6dl = "-mx6qdl" MACHINE_SOCARCH_SUFFIX_mx6ul = "-mx6ul" +MACHINE_SOCARCH_SUFFIX_mx8qxp = "-mx8qxp" +MACHINE_SOCARCH_SUFFIX_mx8dxp = "-mx8dxp" +MACHINE_SOCARCH_SUFFIX_mx8dx = "-mx8dx" MACHINE_ARCH_FILTER = "virtual/kernel" MACHINE_SOCARCH_FILTER_append_imxvpu = " imx-vpu libimxvpuapi imx-codec imx-vpuwrap imx-parser" MACHINE_SOCARCH_FILTER_append_imxgpu2d = " virtual/libopenvg virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl virtual/libg2d cairo pango" MACHINE_SOCARCH_FILTER_append_imxpxp = " imx-codec imx-parser" +MACHINE_SOCARCH_FILTER_append_mx8 = " \ + virtual/libopenvx \ + virtual/opencl-icd \ + opencl-headers \ +" INHERIT += "fsl-dynamic-packagearch" @@ -55,11 +66,13 @@ MACHINE_GSTREAMER_1_0_PLUGIN ?= "" MACHINE_GSTREAMER_1_0_PLUGIN_mx6q ?= "imx-gst1.0-plugin imx-gst1.0-plugin-gplay imx-gst1.0-plugin-grecorder" MACHINE_GSTREAMER_1_0_PLUGIN_mx6dl ?= "imx-gst1.0-plugin imx-gst1.0-plugin-gplay imx-gst1.0-plugin-grecorder" MACHINE_GSTREAMER_1_0_PLUGIN_mx6ul ?= "imx-gst1.0-plugin imx-gst1.0-plugin-gplay imx-gst1.0-plugin-grecorder" +MACHINE_GSTREAMER_1_0_PLUGIN_mx8 ?= "imx-gst1.0-plugin imx-gst1.0-plugin-gplay imx-gst1.0-plugin-grecorder" # Determines if the SoC has support for Vivante kernel driver SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT = "0" SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT_mx6q = "1" SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT_mx6dl = "1" +SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT_mx8 = "1" # Handle Vivante kernel driver setting: # 0 - machine does not have Vivante GPU driver support @@ -70,25 +83,30 @@ MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT ?= "${SOC_HAS_VIVANTE_KERNEL_DRIVER_SU 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" 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" EXTRA_IMAGEDEPENDS = "u-boot" -KERNEL_IMAGETYPE = "zImage" +KERNEL_IMAGETYPE ?= "zImage" MACHINE_FEATURES = "usbgadget usbhost vfat alsa touchscreen" diff --git a/meta-digi-arm/custom-licenses/MICROCHIP_ENGINE_LICENSE b/meta-digi-arm/custom-licenses/MICROCHIP_ENGINE_LICENSE new file mode 100644 index 000000000..f5a2da34f --- /dev/null +++ b/meta-digi-arm/custom-licenses/MICROCHIP_ENGINE_LICENSE @@ -0,0 +1,30 @@ +Copyright (c) 2017 Microchip Technology Inc. and its subsidiaries (Microchip). All rights reserved. + +You are permitted to use this software and its derivatives with Microchip +products. Redistribution and use in source and binary forms, with or without +modification, is permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. The name of Microchip may not be used to endorse or promote products derived + from this software without specific prior written permission. + +4. This software may only be redistributed and used in connection with a + Microchip integrated circuit. + +THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE +EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL MICROCHIP BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/meta-digi-arm/recipes-bsp/alsa-state/alsa-state.bbappend b/meta-digi-arm/recipes-bsp/alsa-state/alsa-state.bbappend index 5cc823267..261a71574 100644 --- a/meta-digi-arm/recipes-bsp/alsa-state/alsa-state.bbappend +++ b/meta-digi-arm/recipes-bsp/alsa-state/alsa-state.bbappend @@ -1,4 +1,4 @@ -# Copyright (C) 2013 Digi International. +# Copyright (C) 2013-2018 Digi International. FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" diff --git a/meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx8x/asound.conf b/meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx8x/asound.conf new file mode 100644 index 000000000..0084f4a0b --- /dev/null +++ b/meta-digi-arm/recipes-bsp/alsa-state/alsa-state/ccimx8x/asound.conf @@ -0,0 +1,271 @@ +defaults.pcm.rate_converter "linear" + +pcm.dmix_48000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 48000 +} +} + +pcm.dmix_44100{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 44100 +} +} + +pcm.dmix_32000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 32000 +} +} + +pcm.dmix_24000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 24000 +} +} + +pcm.dmix_22050{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 22050 +} +} + +pcm.dmix_16000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 16000 +} +} + +pcm.dmix_12000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 12000 +} +} + +pcm.dmix_11025{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 11025 +} +} + +pcm.dmix_8000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 8000 +} +} + +pcm.!dsnoop_48000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 48000 +} +} + +pcm.!dsnoop_44100{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 44100 +} +} + +pcm.!dsnoop_32000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 32000 +} +} + +pcm.!dsnoop_24000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 24000 +} +} + +pcm.!dsnoop_22050{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 22050 +} +} + +pcm.!dsnoop_16000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 16000 +} +} + +pcm.!dsnoop_12000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 12000 +} +} + +pcm.!dsnoop_11025{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 11025 +} +} + +pcm.!dsnoop_8000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +format S16_LE +rate 8000 +} +} + +pcm.asymed{ +type asym +playback.pcm "dmix_44100" +capture.pcm "dsnoop_44100" +} + +pcm.dsp0{ +type plug +slave.pcm "asymed" +} + +pcm.!default{ +type plug +route_policy "average" +slave.pcm "asymed" +} + +ctl.!default{ +type hw +card 0 +} + +ctl.mixer0{ +type hw +card 0 +} + +pcm_slave.esai{ + pcm "hw:0,0" + channels 8 + rate 48000 + period_time 40000 +} + +pcm.esaich1to6{ + type dshare + ipc_key 5778293 + slave esai + bindings.0 0 + bindings.1 4 + bindings.2 1 + bindings.3 5 + bindings.4 2 + bindings.5 6 +} + +pcm.esaich78{ + type dshare + ipc_key 5778293 + slave esai + bindings.0 3 + bindings.1 7 +} diff --git a/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx_6.0.bb b/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx_6.0.bb deleted file mode 100644 index c924c19ad..000000000 --- a/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx_6.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright 2017 NXP - -require recipes-bsp/firmware-imx/firmware-imx.inc -LIC_FILES_CHKSUM = "file://COPYING;md5=6b552f505eedab4a11ab538cf3db743a" - -SRC_URI[md5sum] = "088fb08b565748b537f6481b1ad6c9d7" -SRC_URI[sha256sum] = "9fa7c204a6ff8a30f2b5e8f9002d8c5736791e455dc137b952fa725dc0c3aeb8" - -#BRCM firmware git -SRCREV = "951c1363abe95dd75ab3e9447f640d7807240236" - -COMPATIBLE_MACHINE = "(ccimx6)" diff --git a/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx_7.6.bb b/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx_7.6.bb new file mode 100644 index 000000000..5e2ad5af3 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/firmware-imx/firmware-imx_7.6.bb @@ -0,0 +1,70 @@ +# Copyright 2017-2018 NXP + +require recipes-bsp/firmware-imx/firmware-imx.inc +LIC_FILES_CHKSUM = "file://COPYING;md5=ab61cab9599935bfe9f700405ef00f28" + +#BRCM firmware v1.141.100.6 +IMX_FIRMWARE_SRC ?= "git://github.com/NXP/imx-firmware.git;protocol=https" +SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ + ${IMX_FIRMWARE_SRC};branch=${SRCBRANCH};destsuffix=${S}/git " + +SRC_URI[md5sum] = "3f6a00c3dfc0693c050bf39824865d28" +SRC_URI[sha256sum] = "6c1e4d4f33b216f69eb46a6dff7a3e10d722afb694acd412c5398ccc270f8a9c" + +#BRCM firmware git +SRCREV = "8ce9046f5058fdd2c5271f86ccfc61bc5a248ae3" + +do_install_append() { + # No need to do install for ddr & hdmi binaries + if [ -d ${D}${base_libdir}/firmware/ddr ]; then + rm -rf ${D}${base_libdir}/firmware/ddr + fi + if [ -d ${D}${base_libdir}/firmware/hdmi ]; then + rm -rf ${D}${base_libdir}/firmware/hdmi + fi + + # Don't install hifi4 related binary + if [ -d ${D}${base_libdir}/firmware/hifi4 ]; then + rm -rf ${D}${base_libdir}/firmware/hifi4 + fi + # Don't install seco related binary + if [ -d ${D}${base_libdir}/firmware/seco ]; then + rm -rf ${D}${base_libdir}/firmware/seco + fi + + #1FD_BCM89359 + install -d ${D}${base_libdir}/firmware/bcm/1FD_BCM89359 + cp -rfv git/brcm/1FD_BCM89359/*.bin ${D}${base_libdir}/firmware/bcm/1FD_BCM89359 + cp -rfv git/brcm/1FD_BCM89359/*.hcd ${D}${sysconfdir}/firmware/ + + #1CX_BCM4356 + install -d ${D}${base_libdir}/firmware/bcm/1CX_BCM4356 + cp -rfv git/brcm/1CX_BCM4356/fw_bcmdhd.bin ${D}${base_libdir}/firmware/bcm/1CX_BCM4356 +} + +IS_MX8 = "0" +IS_MX8_mx8mq = "8mq" +IS_MX8_mx8qm = "8qm" +IS_MX8_mx8qxp = "8qx" +inherit deploy +addtask deploy before do_build after do_install +do_deploy () { + # Deploy i.MX8 related firmware files + if [ "${IS_MX8}" = "8mq" ]; then + # Deploy ddr/synopsys + for ddr_firmware in ${DDR_FIRMWARE_NAME}; do + install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR} + done + + # Deploy hdmi/cadence + install -m 0644 ${S}/firmware/hdmi/cadence/signed_hdmi_imx8m.bin ${DEPLOYDIR} + elif [ "${IS_MX8}" = "8qm" ]; then + # Deploy hdmi/cadence + install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${DEPLOYDIR} + install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${DEPLOYDIR} + install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${DEPLOYDIR} + elif [ "${IS_MX8}" = "8qx" ]; then + # Deploy seco + install -m 0644 ${S}/firmware/seco/ahab-container.img ${DEPLOYDIR} + fi +} diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb index 049f3f41b..dcaf96132 100644 --- a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb +++ b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb @@ -1,18 +1,22 @@ -# Copyright (C) 2016,2017 Digi International. +# Copyright (C) 2016-2018 Digi International. SUMMARY = "Qualcomm firmware files for Digi's platforms." SECTION = "base" LICENSE = "Proprietary" LIC_FILES_CHKSUM = "file://${DIGI_EULA_FILE};md5=8c0ad592dd48ace3d25eed5bbb26ba78" -FW_QCA6564-BT = " \ +# Selects whether to use proprietary or community driver +QUALCOMM_WIFI_DRIVER ?= "proprietary" + +FW_QUALCOMM_BT = " \ file://qca/nvm_tlv_3.0.bin \ file://qca/nvm_tlv_3.2.bin \ file://qca/rampatch_tlv_3.0.tlv \ file://qca/rampatch_tlv_3.2.tlv \ " -FW_QCA6564-WIFI = " \ +# Firmware files for QCA6564 (Qualcomm proprietary driver) +FW_QCA6564_WIFI_PROPRIETARY = " \ file://bdwlan30_US.bin \ file://LICENCE.atheros_firmware \ file://otp30.bin \ @@ -20,39 +24,74 @@ FW_QCA6564-WIFI = " \ file://utf30.bin \ " +# Firmware files for QCA6574 (Qualcomm proprietary driver) +FW_QCA6574_WIFI_PROPRIETARY = " \ + file://LICENCE.atheros_firmware \ + file://qca6574_proprietary/qwlan30.bin \ + file://qca6574_proprietary/fakeboar.bin \ + file://qca6574_proprietary/otp.bin \ + file://qca6574_proprietary/utf.bin \ +" + +# Firmware files for QCA6574 (Qualcomm community driver) +# NOTE: the community file 'board.bin' must be substituted by proprietary +# 'fakeboar.bin' +FW_QCA6574_WIFI_COMMUNITY = " \ + file://qca6574_community/board-2.bin \ + file://qca6574_community/firmware-4.bin \ + file://qca6574_community/firmware-6.bin \ + file://qca6574_community/notice_ath10k_firmware-4.txt \ + file://qca6574_community/notice_ath10k_firmware-6.txt \ + file://qca6574_proprietary/fakeboar.bin \ +" + +FW_QUALCOMM_WIFI ?= "${FW_QCA6564_WIFI_PROPRIETARY}" +FW_QUALCOMM_WIFI_ccimx8x = "${@base_conditional('QUALCOMM_WIFI_DRIVER', 'community', '${FW_QCA6574_WIFI_COMMUNITY}', '${FW_QCA6574_WIFI_PROPRIETARY}', d)}" + SRC_URI = " \ - ${FW_QCA6564-BT} \ - ${FW_QCA6564-WIFI} \ + ${FW_QUALCOMM_BT} \ + ${FW_QUALCOMM_WIFI} \ " S = "${WORKDIR}" do_install() { - # BT firmware + # BT firmware (remove 'file://' from variable with files list) + BT_FW_FILES=$(echo ${FW_QUALCOMM_BT} | sed -e 's,file\:\/\/,,g') install -d ${D}${base_libdir}/firmware/qca - install -m 0644 \ - qca/nvm_tlv_3.0.bin \ - qca/nvm_tlv_3.2.bin \ - qca/rampatch_tlv_3.0.tlv \ - qca/rampatch_tlv_3.2.tlv \ - ${D}${base_libdir}/firmware/qca + install -m 0644 ${BT_FW_FILES} ${D}${base_libdir}/firmware/qca # Wifi firmware - install -d ${D}${base_libdir}/firmware - install -m 0644 \ - bdwlan30_US.bin \ - LICENCE.atheros_firmware \ - otp30.bin \ - qwlan30.bin \ - utf30.bin \ - ${D}${base_libdir}/firmware + if [ "${QUALCOMM_WIFI_DRIVER}" = "community" ]; then + WIFI_FW_PATH="${D}${base_libdir}/firmware/ath10k/QCA6174/hw3.0" + else + WIFI_FW_PATH="${D}${base_libdir}/firmware" + fi + install -d ${WIFI_FW_PATH} + # Remove preceeding 'file://' from variable with files list + FW_WIFI_FILES="$(echo ${FW_QUALCOMM_WIFI} | sed -e 's,file\:\/\/,,g')" + install -m 0644 ${FW_WIFI_FILES} ${WIFI_FW_PATH} + cd ${WIFI_FW_PATH} + if [ "${QUALCOMM_WIFI_DRIVER}" = "community" ]; then + # If using community driver, create symlink 'board.bin' to + # proprietary 'fakeboar.bin' + ln -s fakeboar.bin board.bin + else + if [ "${FW_QUALCOMM_WIFI}" = "${FW_QCA6574_WIFI_PROPRIETARY}" ]; then + ln -s qwlan30.bin athwlan.bin + ln -s otp.bin athsetup.bin + fi + fi } -# Do not create empty debug and development packages (PN-dbg PN-dev PN-staticdev) -PACKAGES = "${PN}-qca6564-bt ${PN}-qca6564-wifi" +QCA_MODEL ?= "qca6564" +QCA_MODEL_ccimx8x = "qca6574" -FILES_${PN}-qca6564-bt = "/lib/firmware/qca" -FILES_${PN}-qca6564-wifi = "/lib/firmware" +# Do not create empty debug and development packages (PN-dbg PN-dev PN-staticdev) +PACKAGES = "${PN}-${QCA_MODEL}-bt ${PN}-${QCA_MODEL}-wifi" + +FILES_${PN}-${QCA_MODEL}-bt = "/lib/firmware/qca" +FILES_${PN}-${QCA_MODEL}-wifi = "/lib/firmware" PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(ccimx6qpsbc|ccimx6ul)" +COMPATIBLE_MACHINE = "(ccimx6qpsbc|ccimx6ul|ccimx8x)" diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/board-2.bin b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/board-2.bin new file mode 100644 index 000000000..bba778a3e Binary files /dev/null and b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/board-2.bin differ diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/board.bin b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/board.bin new file mode 100644 index 000000000..7a48985ca Binary files /dev/null and b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/board.bin differ diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/firmware-4.bin b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/firmware-4.bin new file mode 100644 index 000000000..116513d03 Binary files /dev/null and b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/firmware-4.bin differ diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/firmware-6.bin b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/firmware-6.bin new file mode 100644 index 000000000..0a5123871 Binary files /dev/null and b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/firmware-6.bin differ diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/notice_ath10k_firmware-4.txt b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/notice_ath10k_firmware-4.txt new file mode 100644 index 000000000..5199e3f83 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/notice_ath10k_firmware-4.txt @@ -0,0 +1,1748 @@ +This Notice.txt file contains certain notices of software components included +with the software that Qualcomm Atheros, Inc. (“Qualcomm Atheros”) is required +to provide you. Except where prohibited by the open source license, the +content of this notices file is only provided to satisfy Qualcomm Atheros's +attribution and notice requirement; your use of these software components +together with the Qualcomm Atheros software (Qualcomm Atheros software +hereinafter referred to as “Software”) is subject to the terms of your +license from Qualcomm Atheros. Compliance with all copyright laws and +software license agreements included in the notice section of this file +are the responsibility of the user. Except as may be granted by separate +express written agreement, this file provides no license to any Qualcomm +Atheros patents, trademarks, copyrights, or other intellectual property. + +Copyright (c) 2014 Qualcomm Atheros, Inc. All rights reserved. + +Qualcomm is a trademark of Qualcomm Incorporated, registered in the +United States and other countries. All Qualcomm Incorporated trademarks +are used with permission. Atheros is a trademark of Qualcomm Atheros, Inc., +registered in the United States and other countries. Other products and +brand names may be trademarks or registered trademarks of their respective owners. + +NOTICES: + +============================================================================= + +* Copyright (c) 2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. + *Notifications and licenses are retained for attribution purposes only * + +Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. + +*For this file, which was received with alternative licensing options for +* distribution, Qualcomm Atheros, Inc. has selected the BSD license. + +NOTICES: + + +/* + * FILE: sha2.c + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/nan/sha2.c + +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/sha2.h + +/* + * Copyright (c) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/usb.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant / wrapper functions for crypto libraries + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + * + * This file defines the cryptographic functions that need to be implemented + * for wpa_supplicant and hostapd. When TLS is not used, internal + * implementation of MD5, SHA1, and AES is used and no external libraries are + * required. When TLS is enabled (e.g., by enabling EAP-TLS or EAP-PEAP), the + * crypto library used by the TLS implementation is expected to be used for + * non-TLS needs, too, in order to save space by not implementing these + * functions twice. + * + * Wrapper code for using each crypto library is in its own file (crypto*.c) + * and one of these files is build and linked in to provide the functions + * defined here. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/crypto.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant / Configuration file structures + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/config.h + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - Common definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/suppl_auth_api.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * wpa_supplicant - WPA definitions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/wpa.h + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * wpa_supplicant - Internal WPA state machine definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/wpa_i.h + + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2006, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/sha256.h + + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_ft.h + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2007, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/sha256.c + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - WPA state machine and EAPOL-Key processing + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa.c + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_ft.c + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2013, Jouni Malinen + + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_common.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/md5_api.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES-based functions + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/aes_wrap.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/sha1.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * wpa_supplicant/hostapd / common helper functions, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/common.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ +/* + * Common helper macros, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/seccommon.h + +/* + * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or + * code or tables extracted from it, as desired without restriction. + * + * First, the polynomial itself and its table of feedback terms. The + * polynomial is + * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 + * + * Note that we take it "backwards" and put the highest-order term in + * the lowest-order bit. The X^32 term is "implied"; the LSB is the + * X^31 term, etc. The X^0 term (usually shown as "+1") results in + * the MSB being 1 + * + * Note that the usual hardware shift register implementation, which + * is what we're using (we're merely optimizing it by doing eight-bit + * chunks at a time) shifts bits into the lowest-order term. In our + * implementation, that means shifting towards the right. Why do we + * do it this way? Because the calculated CRC must be transmitted in + * order from highest-order term to lowest-order term. UARTs transmit + * characters in order from LSB to MSB. By storing the CRC this way + * we hand it to the UART in the order low-byte to high-byte; the UART + * sends each low-bit to hight-bit; and the result is transmission bit + * by bit from highest- to lowest-order term without requiring any bit + * shuffling on our part. Reception works similarly + * + * The feedback terms table consists of 256, 32-bit entries. Notes + * + * The table can be generated at runtime if desired; code to do so + * is shown later. It might not be obvious, but the feedback + * terms simply represent the results of eight shift/xor opera + * tions for all combinations of data and CRC register values + * + * The values must be right-shifted by eight bits by the "updcrc + * logic; the shift must be unsigned (bring in zeroes). On some + * hardware you could probably optimize the shift in assembler by + * using byte-swap instructions + * polynomial $edb88320 + * + * + * CRC32 code derived from work by Gary S. Brown. +*/ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/nan/wlan_nan_crc.c + + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// $Id: //components/rel/wlanfw_cmn.cnss/1.0/cnss_proc/wlan/fwcommon/include/queue.h#1 $ +// +p4://qctp411.qualcomm.com/components/rel/wlanfw_cmn.cnss/1.0.0/include/queue.h + + +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ + +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/if_llc.h + +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// + +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/if_ethersubr.h + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/patch/AR6320/v3/sha1_patch.c + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA/RSN - Shared functions for supplicant and authenticator + * Copyright (c) 2002-2013, Jouni Malinen + + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_common.c + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2013, Jouni Malinen + + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_common.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +//####ECOSGPLCOPYRIGHTBEGIN#### +// ------------------------------------------- +// This file is part of eCos, the Embedded Configurable Operating System. +// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. +// Copyright (C) 2002 Gary Thomas +// +// eCos is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 or (at your option) any later version. +// +// eCos is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. +// +// You should have received a copy of the GNU General Public License along +// with eCos; if not, write to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. +// +// As a special exception, if other files instantiate templates or use macros +// or inline functions from this file, or you compile this file and link it +// with other works to produce a work based on this file, this file does not +// by itself cause the resulting work to be covered by the GNU General Public +// License. However the source code for this file must still be made available +// in accordance with section (3) of the GNU General Public License. +// +// This exception does not invalidate any other reasons why a work based on +// this file might be covered by the GNU General Public License. +// +// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. +// at http://sources.redhat.com/ecos/ecos-license/ +// ------------------------------------------- +//####ECOSGPLCOPYRIGHTEND#### +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/os/common/cmnos_printf.c +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +//####ECOSGPLCOPYRIGHTBEGIN#### +// ------------------------------------------- +// This file is part of eCos, the Embedded Configurable Operating System. +// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. +// +// eCos is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 or (at your option) any later version. +// +// eCos is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. +// +// You should have received a copy of the GNU General Public License along +// with eCos; if not, write to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. +// +// As a special exception, if other files instantiate templates or use macros +// or inline functions from this file, or you compile this file and link it +// with other works to produce a work based on this file, this file does not +// by itself cause the resulting work to be covered by the GNU General Public +// License. However the source code for this file must still be made available +// in accordance with section (3) of the GNU General Public License. +// +// This exception does not invalidate any other reasons why a work based on +// this file might be covered by the GNU General Public License. +// +// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. +// at http://sources.redhat.com/ecos/ecos-license/ +// ------------------------------------------- +//####ECOSGPLCOPYRIGHTEND#### +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/os/common/cmnos_sscanf.c + +/* + * WPA Supplicant - CCX Fast Roaming with CCKM Enhancements + * Copyright (c) 2003-2008, Jouni Malinen + * Copyright (c) 2010-2011, embWiSe Technologies + * + * Licensed under a proprietary license. + * Notifications and licenses are retained for attribution purposes only. + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name(s) of the above-listed copyright holder(s) nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + */ +/*original files: ccx_cckm.c and part of wpa_common.c in proprietary patch + * of open source supplicant */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_cckm.c + +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/if_llc.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/aes.c + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES-based functions + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/aes_wrap.c + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/sha1.c + +/* + * Copyright (c) 2013 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/wmi/wmi_tlv_platform.c + +/* + * Copyright (c) 2012, Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/qvit/qvit_init_api.h + +/* + * Copyright (c) 2013 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_cmn.cnss/1.0.0/fw_interface/include/wmi_version_whitelist.c + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/misc/crypto/md5.c#3 $ +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/md5.c + + +/*=========================================================================== + @file secrsa_encryption.c + + This file provides RSA PKCS #1 v1.5 encryption/decryption implementation. + =========================================================================== + + EDIT HISTORY FOR FILE + $Header: //components/dev/wlanfw.cnss/1.0.1/dennis.rome_emu_es2_rel_fw/cnss_proc/wlan/fw/target/src/misc/binsig/rsa.c#2 $ + $DateTime: 2013/10/21 08:09:59 $ + $Author: changhon $ + + when who what, where, why + -------- --- ---------------------------------------------------------- + 04/11/11 qxu initial version + + Copyright (c) 2011 by QUALCOMM Technologies, Incorporated. All Rights Reserved. + =============================================================================*/ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/binsig/rsa.c + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/cil.h $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/cil.h + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/dev.h $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/dev.h + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/pcd.h $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/pcd.h + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/cil.c $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +/** @file + * + * The Core Interface Layer provides basic services for accessing and + * managing the DWC_usb3 hardware. These services are used by both the + * Peripheral Controller Driver and the On The Go Driver. + * + * The CIL manages the memory map for the core so that the PCD and OTG drivers + * don't have to do this separately. The CIL also performs basic services + * that are not specific to either the Device or OTG modes of operation. + * These services include all functionality that requires specific + * knowledge of the CSR layout or the DMA descriptor (TRB) layout. Also + * included are services for invoking each of the commands provided by + * the DGCMD and DEPCMD registers (see the "Control and Status Registers" + * chapter of the USB3 controller databook for details). + * + * The Core Interface Layer has the following requirements: + * - Provides basic controller operations. + * - Minimal use of OS services. + * - The OS services used will be abstracted by using inline functions + * or macros. + * + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/cil.c + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/pcd_intr.c $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +/** @file + * This file contains the implementation of the PCD Interrupt handlers. + * + * The PCD handles the device interrupts. Many conditions can cause a + * device interrupt. When an interrupt occurs, the device interrupt + * service routine determines the cause of the interrupt and + * dispatches handling to the appropriate routine. These interrupt + * handling routines are described below. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/pcd_intr.c + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/os_dev.h $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/os_dev.h + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/cil_intr.c $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +/** @file + * + * The Core Interface Layer provides basic services for accessing and + * managing the DWC_usb3 hardware. These services are used by both the + * Peripheral Controller Driver and the On The Go Driver. + * + * This file contains the common interrupt handling functions. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/cil_intr.c + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/pcd.c $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +/** @file + * This file implements the Peripheral Controller Driver. + * + * The Peripheral Controller Driver (PCD) is responsible for translating + * requests from the Function Driver into the appropriate actions on the + * DWC_usb3 controller. It isolates the Function Driver from the specifics + * of the controller by providing an API to the Function Driver. + * + * The Peripheral Controller Driver for Linux will implement the Gadget API, + * so that the existing Gadget drivers can be used. (Gadget Driver is the + * Linux terminology for a Function Driver.) + * + * The Linux Gadget API is defined in the header file + * . The USB EP operations API is defined + * in the structure usb_ep_ops and the USB Controller API is + * defined in the structure usb_gadget_ops. + * + * An important function of the PCD is managing interrupts generated by the + * DWC_usb3 controller. The implementation of the DWC_usb3 device mode + * interrupt service routines is in pcd_intr.c. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/pcd.c + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/usb3_hw.h $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/usb3_hw.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// +// Name: lzuncompr.c +// Author: Vitaly Luban +// Based on code from Marcus Geelnard +// Description: LZ77 decoder implementation. +// Reentrant: Yes +// +// ------------------------------------------------------------------------ +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/lzuncompr/lzuncompr1.c diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/notice_ath10k_firmware-6.txt b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/notice_ath10k_firmware-6.txt new file mode 100644 index 000000000..0ccec35f6 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_community/notice_ath10k_firmware-6.txt @@ -0,0 +1,1730 @@ +This Notice.txt file contains certain notices of software components +included with the software that Qualcomm Atheros, Inc. (“Qualcomm Atheros”) +is required to provide you. Except where prohibited by the open source +license, the content of this notices file is only provided to satisfy +Qualcomm Atheros's attribution and notice requirement; your use of these +software components together with the Qualcomm Atheros software (Qualcomm +Atheros software hereinafter referred to as “Software”) is subject to the +terms of your agreement from Qualcomm Atheros. Compliance with all copyright +laws and software license agreements included in the notice section of this +file are the responsibility of the user. Except as may be granted by +separate express written agreement, this file provides no license to any +patents, trademarks, copyrights, or other intellectual property of Qualcomm +Incorporated or any of its subsidiaries. + +Copyright (c) 2016 Qualcomm Atheros, Inc. All rights reserved. + +Qualcomm is a trademark of Qualcomm Incorporated, registered in the United +States and other countries. All Qualcomm Incorporated trademarks are used +with permission. Atheros is a trademark of Qualcomm Atheros, Inc., +registered in the United States and other countries. Other products and +brand names may be trademarks or registered trademarks of their respective +owners. + +NOTICES: + +============================================================================= + +* Copyright (c) 2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. + *Notifications and licenses are retained for attribution purposes only * + +Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. + +*For this file, which was received with alternative licensing options for +* distribution, Qualcomm Atheros, Inc. has selected the BSD license. + +NOTICES: + + +/* + * FILE: sha2.c + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/nan/sha2.c + +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/sha2.h + +/* + * Copyright (c) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/usb.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant / wrapper functions for crypto libraries + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + * + * This file defines the cryptographic functions that need to be implemented + * for wpa_supplicant and hostapd. When TLS is not used, internal + * implementation of MD5, SHA1, and AES is used and no external libraries are + * required. When TLS is enabled (e.g., by enabling EAP-TLS or EAP-PEAP), the + * crypto library used by the TLS implementation is expected to be used for + * non-TLS needs, too, in order to save space by not implementing these + * functions twice. + * + * Wrapper code for using each crypto library is in its own file (crypto*.c) + * and one of these files is build and linked in to provide the functions + * defined here. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/crypto.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant / Configuration file structures + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/config.h + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - Common definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/suppl_auth_api.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * wpa_supplicant - WPA definitions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/wpa.h + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * wpa_supplicant - Internal WPA state machine definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/wpa_i.h + + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2006, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/sha256.h + + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_ft.h + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2007, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/sha256.c + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - WPA state machine and EAPOL-Key processing + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa.c + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_ft.c + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2013, Jouni Malinen + + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_common.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/md5_api.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES-based functions + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/aes_wrap.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/sha1.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * wpa_supplicant/hostapd / common helper functions, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/common.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ +/* + * Common helper macros, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/seccommon.h + +/* + * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or + * code or tables extracted from it, as desired without restriction. + * + * First, the polynomial itself and its table of feedback terms. The + * polynomial is + * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 + * + * Note that we take it "backwards" and put the highest-order term in + * the lowest-order bit. The X^32 term is "implied"; the LSB is the + * X^31 term, etc. The X^0 term (usually shown as "+1") results in + * the MSB being 1 + * + * Note that the usual hardware shift register implementation, which + * is what we're using (we're merely optimizing it by doing eight-bit + * chunks at a time) shifts bits into the lowest-order term. In our + * implementation, that means shifting towards the right. Why do we + * do it this way? Because the calculated CRC must be transmitted in + * order from highest-order term to lowest-order term. UARTs transmit + * characters in order from LSB to MSB. By storing the CRC this way + * we hand it to the UART in the order low-byte to high-byte; the UART + * sends each low-bit to hight-bit; and the result is transmission bit + * by bit from highest- to lowest-order term without requiring any bit + * shuffling on our part. Reception works similarly + * + * The feedback terms table consists of 256, 32-bit entries. Notes + * + * The table can be generated at runtime if desired; code to do so + * is shown later. It might not be obvious, but the feedback + * terms simply represent the results of eight shift/xor opera + * tions for all combinations of data and CRC register values + * + * The values must be right-shifted by eight bits by the "updcrc + * logic; the shift must be unsigned (bring in zeroes). On some + * hardware you could probably optimize the shift in assembler by + * using byte-swap instructions + * polynomial $edb88320 + * + * + * CRC32 code derived from work by Gary S. Brown. +*/ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/nan/wlan_nan_crc.c + + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// $Id: //components/rel/wlanfw_cmn.cnss/1.0/cnss_proc/wlan/fwcommon/include/queue.h#1 $ +// +p4://qctp411.qualcomm.com/components/rel/wlanfw_cmn.cnss/1.0.0/include/queue.h + + +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ + +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/if_llc.h + +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// + +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/if_ethersubr.h + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/patch/AR6320/v3/sha1_patch.c + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA/RSN - Shared functions for supplicant and authenticator + * Copyright (c) 2002-2013, Jouni Malinen + + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_common.c + +/* + * Copyright (c) 2014 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2013, Jouni Malinen + + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_common.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +/*original files: ccx_cckm.c and part of wpa_common.c in proprietary patch + * of open source supplicant */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_cckm.c + +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/if_llc.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/aes.c + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES-based functions + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/aes_wrap.c + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/sha1.c + +/* + * Copyright (c) 2013 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/wmi/wmi_tlv_platform.c + +/* + * Copyright (c) 2012, Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/qvit/qvit_init_api.h + +/* + * Copyright (c) 2013 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_cmn.cnss/1.0.0/fw_interface/include/wmi_version_whitelist.c + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/misc/crypto/md5.c#3 $ +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/md5.c + + +/*=========================================================================== + @file secrsa_encryption.c + + This file provides RSA PKCS #1 v1.5 encryption/decryption implementation. + =========================================================================== + + EDIT HISTORY FOR FILE + $Header: //components/dev/wlanfw.cnss/1.0.1/dennis.rome_emu_es2_rel_fw/cnss_proc/wlan/fw/target/src/misc/binsig/rsa.c#2 $ + $DateTime: 2013/10/21 08:09:59 $ + $Author: changhon $ + + when who what, where, why + -------- --- ---------------------------------------------------------- + 04/11/11 qxu initial version + + Copyright (c) 2011 by QUALCOMM Technologies, Incorporated. All Rights Reserved. + =============================================================================*/ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/binsig/rsa.c + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/cil.h $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/cil.h + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/dev.h $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/dev.h + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/pcd.h $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/pcd.h + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/cil.c $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +/** @file + * + * The Core Interface Layer provides basic services for accessing and + * managing the DWC_usb3 hardware. These services are used by both the + * Peripheral Controller Driver and the On The Go Driver. + * + * The CIL manages the memory map for the core so that the PCD and OTG drivers + * don't have to do this separately. The CIL also performs basic services + * that are not specific to either the Device or OTG modes of operation. + * These services include all functionality that requires specific + * knowledge of the CSR layout or the DMA descriptor (TRB) layout. Also + * included are services for invoking each of the commands provided by + * the DGCMD and DEPCMD registers (see the "Control and Status Registers" + * chapter of the USB3 controller databook for details). + * + * The Core Interface Layer has the following requirements: + * - Provides basic controller operations. + * - Minimal use of OS services. + * - The OS services used will be abstracted by using inline functions + * or macros. + * + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/cil.c + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/pcd_intr.c $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +/** @file + * This file contains the implementation of the PCD Interrupt handlers. + * + * The PCD handles the device interrupts. Many conditions can cause a + * device interrupt. When an interrupt occurs, the device interrupt + * service routine determines the cause of the interrupt and + * dispatches handling to the appropriate routine. These interrupt + * handling routines are described below. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/pcd_intr.c + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/os_dev.h $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/os_dev.h + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/cil_intr.c $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +/** @file + * + * The Core Interface Layer provides basic services for accessing and + * managing the DWC_usb3 hardware. These services are used by both the + * Peripheral Controller Driver and the On The Go Driver. + * + * This file contains the common interrupt handling functions. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/cil_intr.c + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/pcd.c $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +/** @file + * This file implements the Peripheral Controller Driver. + * + * The Peripheral Controller Driver (PCD) is responsible for translating + * requests from the Function Driver into the appropriate actions on the + * DWC_usb3 controller. It isolates the Function Driver from the specifics + * of the controller by providing an API to the Function Driver. + * + * The Peripheral Controller Driver for Linux will implement the Gadget API, + * so that the existing Gadget drivers can be used. (Gadget Driver is the + * Linux terminology for a Function Driver.) + * + * The Linux Gadget API is defined in the header file + * . The USB EP operations API is defined + * in the structure usb_ep_ops and the USB Controller API is + * defined in the structure usb_gadget_ops. + * + * An important function of the PCD is managing interrupts generated by the + * DWC_usb3 controller. The implementation of the DWC_usb3 device mode + * interrupt service routines is in pcd_intr.c. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/pcd.c + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/usb3_hw.h $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/usb3_hw.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// +// Name: lzuncompr.c +// Author: Vitaly Luban +// Based on code from Marcus Geelnard +// Description: LZ77 decoder implementation. +// Reentrant: Yes +// +// ------------------------------------------------------------------------ +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/lzuncompr/lzuncompr1.c + +/* + * WPA Supplicant - CCX Fast Roaming with CCKM Enhancements + * Copyright (c) 2003-2008, Jouni Malinen + * Copyright (c) 2010-2011, embWiSe Technologies + * + * Licensed under a proprietary license. + * Notifications and licenses are retained for attribution purposes only. + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name(s) of the above-listed copyright holder(s) nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + */ +/*original files: ccx_cckm.c and part of wpa_common.c in proprietary patch + * of open source supplicant */ + +p4://qctp411.qualcomm.com/components/src/wlanfw_protocol_cmn.cnss/3.0/src/supplicant/mywpa_cckm.c +/* +* Copyright (c)2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. +* $ATH_LICENSE_TARGET_C$ +*/ + +/* +* we got this file from ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/10.1-RELEASE/src.txz, +* and we revised the code. we take BSD license. Please keep the original BSD license here. +*/ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +p4://qctp411.qualcomm.com/components/src/wlanfw_mac_core.cnss/6.0/patch/AR6320/v3/cmnos_printf_patch.c \ No newline at end of file diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/fakeboar.bin b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/fakeboar.bin new file mode 100644 index 000000000..adde1da09 Binary files /dev/null and b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/fakeboar.bin differ diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/otp.bin b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/otp.bin new file mode 100644 index 000000000..2773e7ea2 Binary files /dev/null and b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/otp.bin differ diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/qwlan30.bin b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/qwlan30.bin new file mode 100644 index 000000000..c50ec790f Binary files /dev/null and b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/qwlan30.bin differ diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/utf.bin b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/utf.bin new file mode 100644 index 000000000..d9a7ccfe6 Binary files /dev/null and b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/utf.bin differ diff --git a/meta-digi-arm/recipes-bsp/formfactor/formfactor/ccimx8x/machconfig b/meta-digi-arm/recipes-bsp/formfactor/formfactor/ccimx8x/machconfig new file mode 100644 index 000000000..12a9134ab --- /dev/null +++ b/meta-digi-arm/recipes-bsp/formfactor/formfactor/ccimx8x/machconfig @@ -0,0 +1,4 @@ +# Display options +HAVE_TOUCHSCREEN=1 +HAVE_KEYBOARD=0 +SHOWCURSOR="yes" diff --git a/meta-digi-arm/recipes-bsp/imx-atf/imx-atf_1.4.1.bb b/meta-digi-arm/recipes-bsp/imx-atf/imx-atf_1.4.1.bb new file mode 100644 index 000000000..0b522b02a --- /dev/null +++ b/meta-digi-arm/recipes-bsp/imx-atf/imx-atf_1.4.1.bb @@ -0,0 +1,68 @@ +# Copyright 2017-2018 NXP + +DESCRIPTION = "i.MX ARM Trusted Firmware" +SECTION = "BSP" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" + +inherit pkgconfig deploy + +PV = "1.4.1+git${SRCPV}" + +ATF_SRC ?= "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https" +SRCBRANCH = "imx_4.9.88_imx8qxp_beta2" + +SRC_URI = "${ATF_SRC};branch=${SRCBRANCH}" +SRCREV = "00b653ec4b51a211ae735ffe0d3c9de7a8979947" + +S = "${WORKDIR}/git" + +BOOT_TOOLS = "imx-boot-tools" + +SOC_ATF ?= "imx8qm" +SOC_ATF_mx8qm = "imx8qm" +SOC_ATF_mx8qxp = "imx8qxp" +SOC_ATF_mx8mq = "imx8mq" + +SYSROOT_DIRS += "/boot" + +EXTRA_OEMAKE_append = " ${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'SPD=opteed', '', d)}" + +do_compile () { + export CROSS_COMPILE="${TARGET_PREFIX}" + cd ${S} + # Clear LDFLAGS to avoid the option -Wl recognize issue + unset LDFLAGS + + echo "-> Build ${SOC_ATF} bl31.bin" + # Set BUIL_STRING with the revision info + BUILD_STRING="" + if [ -e ${S}/.revision ]; then + cur_rev=`cat ${S}/.revision` + echo " Current revision is ${cur_rev} ." + BUILD_STRING="BUILD_STRING=${cur_rev}" + else + echo " No .revision found! " + fi + oe_runmake clean PLAT=${SOC_ATF} + oe_runmake ${BUILD_STRING} PLAT=${SOC_ATF} bl31 + + unset CROSS_COMPILE +} + +do_install () { + install -d ${D}/boot + install -m 0644 ${S}/build/${SOC_ATF}/release/bl31.bin ${D}/boot/bl31-${SOC_ATF}.bin +} + +do_deploy () { + install -d ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0644 ${S}/build/${SOC_ATF}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${SOC_ATF}.bin +} + +addtask deploy before do_install after do_compile + +FILES_${PN} = "/boot" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "(mx8)" diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/files/0001-cc8x-configure-DDRC-for-Micron-MT53B256M32D1.patch b/meta-digi-arm/recipes-bsp/imx-mkimage/files/0001-cc8x-configure-DDRC-for-Micron-MT53B256M32D1.patch new file mode 100644 index 000000000..847548998 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/files/0001-cc8x-configure-DDRC-for-Micron-MT53B256M32D1.patch @@ -0,0 +1,604 @@ +From: Hector Palacios +Date: Fri, 22 Jun 2018 10:46:31 +0200 +Subject: [PATCH] cc8x: configure DDRC for Micron MT53B256M32D1 + +The main differences to NXP part are: +- 1 rank, instead of 2. +- 4Gb density per channel, instead of 12. +- tRFC = 180 ns, instead of 280 ns. This also affects tXSR, tXS +- Reordering of the data bus lines. + +These were calculated using Excel aid sheet: + MX8QXP_LPDDR4_register_programming_aid_ValidationBoard_1.2GHz_v7_DBI_enabled.xlsx + +Signed-off-by: Hector Palacios +--- + iMX8QX/imx8qx_dcd_1.2GHz.cfg | 558 ++++++++++++++++------------------- + 1 file changed, 255 insertions(+), 303 deletions(-) + mode change 100755 => 100644 iMX8QX/imx8qx_dcd_1.2GHz.cfg + +diff --git a/iMX8QX/imx8qx_dcd_1.2GHz.cfg b/iMX8QX/imx8qx_dcd_1.2GHz.cfg +old mode 100755 +new mode 100644 +index e16e2ec27b5d..abf0ad89fcca +--- a/iMX8QX/imx8qx_dcd_1.2GHz.cfg ++++ b/iMX8QX/imx8qx_dcd_1.2GHz.cfg +@@ -10,323 +10,275 @@ + * Addr-type Address Value + * + * where: +- * Addr-type register length (1,2 or 4 bytes) +- * Address absolute address of the register +- * value value to be stored in the register ++ * Addr-type register length (1,2 or 4 bytes) ++ * Address absolute address of the register ++ * value value to be stored in the register + */ + + #ifndef SCFW_DCD + /* For 1200MHz DDR, DRC 600MHz operation */ +-DATA 4 0xff190000 0x00000CC8 /* DRC0 bringup */ ++DATA 4 0xff190000 0x00000CC8 /* DRC0 bringup */ + #else +-/* Set the DRC rate to 1.2GHz. */ ++/* Set the DRC rate to 600MHz, the PHY PLL will double this for the DRAM rate. */ + uint32_t rate2 = SC_600MHZ; + pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); + #endif + +-DATA 4 0x41C80208 0x1 +- +-DATA 4 0x41C80040 0xb +- +-DATA 4 0x41C80204 0x1 ++DATA 4 0x41C80208 0x1 ++DATA 4 0x41C80040 0xb ++DATA 4 0x41C80204 0x1 + + /* DRAM 0 controller configuration begin */ +-DATA 4 DDRC_MSTR_0 0xC3080020 // Set LPDDR4, BL = 16 and active ranks +-DATA 4 DDRC_RFSHTMG_0 0x004800A9 // tREFI, tRFC +-DATA 4 DDRC_INIT0_0 0x4003049A // pre_cke = 2ms is too long - LPDDR4 model hacked for 20us +-DATA 4 DDRC_INIT1_0 0x007A0000 // dram_rstn - LPDDR4 model hacked for 20us; +-DATA 4 DDRC_INIT3_0 0x00440024 // MR1=0x54: nWR=30 BL=16; MR2=0x2d: RL=28 WL=14 +-//DATA 4 DDRC_INIT4_0 0x00310000 // MR3, MR13 +-DATA 4 DDRC_INIT4_0 0x00F10000 // MR3=0xF1: DBI-WR=DBI-RD=1, PU-CAL=VDDQ/3 PDDS=RZQ/6, MR13 +-//DATA 4 DDRC_RANKCTL_0 0x0000075f // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +-DATA 4 DDRC_RANKCTL_0 0x0000066f // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd, waiting for SNPS feedback +-DATA 4 DDRC_DRAMTMG0_0 0x1619141a // wr2pr, tFAW, tRASmax, tRASmin +-DATA 4 DDRC_DRAMTMG1_0 0x00050527 // tXP, rd2pre, tRC +-//DATA 4 DDRC_DRAMTMG2_0 0x060c1011 // WL, RL, rd2wr, wr2rd +-DATA 4 DDRC_DRAMTMG2_0 0x060E1111 // WL, RL (DBI enabled, 28), rd2wr, wr2rd +-DATA 4 DDRC_DRAMTMG3_0 0x0090900a // tmrw, tmrd, tmod +-DATA 4 DDRC_DRAMTMG4_0 0x0c04070c // trcd, tccd, trrd, trp +-DATA 4 DDRC_DRAMTMG5_0 0x02040a05 // tCKCKEH, tCKCKEL, tckesr, tcke +-DATA 4 DDRC_DRAMTMG6_0 0x02020006 // tckdpde, tckdpdx, tckcsx +-DATA 4 DDRC_DRAMTMG7_0 0x00000401 // tckpde, tckpdx +-DATA 4 DDRC_DRAMTMG12_0 0x00020510 // tCMDCKE, tCKEHCMD (=tXP?) +-DATA 4 DDRC_DRAMTMG13_0 0x0b100002 // tODTLoff, tCCDMW, tPPD +-DATA 4 DDRC_DRAMTMG14_0 0x000000ae // txsr +-DATA 4 DDRC_ZQCTL0_0 0x425b0013 // tZQCAL, tZQLAT +- +-DATA 4 DDRC_ZQCTL1_0 0x01f00100 // tZQReset, tzq_short_interval +- +-//DATA 4 DDRC_DFITMG0_0 0x0495820a // dfi_t_ctrl_delay, dfi_t_rddata_en, dfi_tphy_wrdata, dfi_tphy_wrlat +-DATA 4 DDRC_DFITMG0_0 0x0499820a // dfi_t_ctrl_delay, dfi_t_rddata_en RL=28 with DBI enabled, dfi_tphy_wrdata, dfi_tphy_wrlat +-DATA 4 DDRC_DFITMG1_0 0x00070303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +-//DATA 4 DDRC_DFITMG2_0 0x00001308 // dfi_tphy_rdcslat, dfi_tphy_wrcslat +-DATA 4 DDRC_DFITMG2_0 0x00001708 // dfi_tphy_rdcslat RL=28 with DBI enabled, dfi_tphy_wrcslat +-DATA 4 DDRC_DFIMISC_0 0x00000005 // dfi_data_cs_polarity +-DATA 4 DDRC_DFIUPD0_0 0x00400003 // Disable the automatic dfi_ctrlupd_req generation +-DATA 4 DDRC_DFIUPD1_0 0x008000A0 // dfi_ctrlupd_req generation interval generation (min and max) +-DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en +- +-DATA 4 DDRC_ADDRMAP0_0 0x00000015 // addrmap_cs_bit0 +-DATA 4 DDRC_ADDRMAP4_0 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated +- +-DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +-DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +-DATA 4 DDRC_ADDRMAP6_0 0x48080707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +- +-DATA 4 DDRC_DBICTL_0 0x00000007 // rd_dbi_en=wr_dbi_en=dm_en=1 +- +-DATA 4 DDRC_ODTMAP_0 0x00002211 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +-DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 +-DATA 4 DDRC_HWLPCTL_0 0x0FFF0003 //Enable Hardware idle period - 96 * 32 DFI clk cycles +- +- //Enables DFI Low Power interface +-DATA 4 DDRC_DFILPCFG0_0 0x07009100 // dfi_lp_en_sr=1, dfi_lp_wakeup_sr=0x9 +- +-DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 +- +-DATA 4 DDRC_PWRCTL_0 0x10A +-DATA 4 DDRC_PWRTMG_0 0xFF201F +- +-DATA 4 0x41C80208 0x1 +- +-DATA 4 0x41C80040 0xf +- +-DATA 4 0x41C80204 0x1 +- +- //------------------------------------------- +- // Configure registers for PHY initialization +- // Timings are computed for a PHY at 800MHz (DRAM at 1600MHz) +- //-------------------------------=------------ +- +- // Set-up DRAM Configuration Register +-DATA 4 DDR_PHY_DCR_0 0x0000040D // LPDDR4 selection with 8 bank +- +- // Set-up byte and bit swapping registers +-DATA 4 DDR_PHY_PGCR8_0 0x000F000A // Set BSWAPMSB='b1001 (byte 0 and 1 are swapped) +-DATA 4 DDR_PHY_DX0DQMAP0_0 0x00061032 // DQ bit 0/1/2/3/4 remapping +-DATA 4 DDR_PHY_DX0DQMAP1_0 0x00004578 // DQ bit 5/6/7 and DM remapping +-DATA 4 DDR_PHY_DX1DQMAP0_0 0x00071032 // DQ bit 0/1/2/3/4 remapping +-DATA 4 DDR_PHY_DX1DQMAP1_0 0x00004685 // DQ bit 5/6/7 and DM remapping +-DATA 4 DDR_PHY_DX2DQMAP0_0 0x00016578 // DQ bit 0/1/2/3/4 remapping +-DATA 4 DDR_PHY_DX2DQMAP1_0 0x00004203 // DQ bit 5/6/7 and DM remapping +-DATA 4 DDR_PHY_DX3DQMAP0_0 0x00015867 // DQ bit 0/1/2/3/4 remapping +-DATA 4 DDR_PHY_DX3DQMAP1_0 0x00004320 // DQ bit 5/6/7 and DM remapping +-DATA 4 DDR_PHY_CATR0_0 0x00141032 // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +-DATA 4 DDR_PHY_CATR1_0 0x0013AAAA // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +- +- // Set-up PHY General Configuration Register +- // PGCR1,4,5,6,7 are untouched +-SET_BIT 4 DDR_PHY_PGCR1_0 0x00020000 // DISDIC=1 (no uMCTL2 commands can go to memory) +-DATA 4 DDR_PHY_PGCR0_0 0x87001E00 // Set ADCP=1 (Address Copy) +-DATA 4 DDR_PHY_PGCR2_0 0x00F0A190 // Set tREFPRD (9*3.904us - 600) +-DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity +- +- // Set-up PHY Timing Register +- // PTR2 is untouched +-DATA 4 DDR_PHY_PTR0_0 0x4B025810 // tPLLPD, tPLLGS, tPHYRST +-DATA 4 DDR_PHY_PTR1_0 0x3AA01520 // tPLLLOCK reduced to 4.3us, tPLLRST=9us +- +- // Set-up PLL Control Register +-DATA 4 DDR_PHY_PLLCR0_0 0x000E0000 // FREQSEL=0 +-DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x000E0000 +- +- // Set-up Impedance Control Register +-DATA 4 DDR_PHY_ZQCR_0 0x008A2C58 // Set ODT_MODE=0b10(LPDDR4 stype pullup) +- +- // ZPROG_DRAM_ODT and ZPROG_HOST_ODT = 60ohm +-//DATA 4 DDR_PHY_ZQ0PR0_0 0x0B7BB // comment is wrong => PU_DRV_ADJUST 3b001 = Adjust calibrated drive strength by 2/8 to obtain 1.25x of original strength +-//DATA 4 DDR_PHY_ZQ1PR0_0 0x0B7BB +-//DATA 4 DDR_PHY_ZQ2PR0_0 0x0B7BB +-//DATA 4 DDR_PHY_ZQ3PR0_0 0x0B7BB +-DATA 4 DDR_PHY_ZQ0PR0_0 0x1B7BB // PU_DRV_ADJUST 3b001 = Adjust calibrated drive strength by 2/8 to obtain 1.25x of original strength +-DATA 4 DDR_PHY_ZQ1PR0_0 0x1B7BB +-DATA 4 DDR_PHY_ZQ2PR0_0 0x1B7BB +-DATA 4 DDR_PHY_ZQ3PR0_0 0x1B7BB +- +- +- // Set-up PHY Initialization Register +-DATA 4 DDR_PHY_PIR_0 0x32 +- +- // Launch initialization (set bit 0) +-DATA 4 DDR_PHY_PIR_0 0x33 +- +- //------------------------------------------- +- // Configure registers for DRAM initialization +- //------------------------------------------- +- +- // Set-up Mode Register +- // MR0, MR3, MR4, MR5 MR6 are untouched +-DATA 4 DDR_PHY_MR1_0 0x44 // Set BL, WR-PRE, nWR=24, RPST +-DATA 4 DDR_PHY_MR2_0 0x24 // Set RL=14/WL=8 +-//DATA 4 DDR_PHY_MR3_0 0x31 // Set drive strength (40 Ohms by default) +-DATA 4 DDR_PHY_MR3_0 0xF1 // Set drive strength (40 Ohms by default), DBI_RD=DBI_WR=1 +-DATA 4 DDR_PHY_MR11_0 0x05 // Set CA ODT=Disable DQ_ODT=RZQ/5 +-DATA 4 DDR_PHY_MR22_0 0x15 // Set ODTE-CS=1 (overrides ODT_CA for CS1 as CS not shared between ranks), SoC ODT = RZQ/5 +- +-/* LPDDR4 mode register writes for CA and DQ VREF settings; range=1, 27.2% */ +-DATA 4 DDR_PHY_MR12_0 0x48 +-DATA 4 DDR_PHY_MR14_0 0x48 +- +- // Set-up DRAM Timing Parameters Register +- // DTPR6 is untouched +-DATA 4 DDR_PHY_DTPR0_0 0x0d331a09 // tRRD, tRAS, tRP, tRTP +-DATA 4 DDR_PHY_DTPR1_0 0x28310411 // tWLMRD, tFAW, tODTUP, tMRD +-DATA 4 DDR_PHY_DTPR2_0 0x006a615a // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +-DATA 4 DDR_PHY_DTPR3_0 0x01800501 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +-DATA 4 DDR_PHY_DTPR4_0 0x01512b0D // tRFC, tWLO, tXP +-DATA 4 DDR_PHY_DTPR5_0 0x194c160d // tRC, tRCD, tWTR +- +- // Set-up PHY Timing Register +-DATA 4 DDR_PHY_PTR3_0 0x00249F80 // tDINIT0 - 2ms +-DATA 4 DDR_PHY_PTR4_0 0x00000970 // tDINIT1 (2000ns) +-DATA 4 DDR_PHY_PTR5_0 0x0003A9A0 // tDINIT2 - normally 200us but memory model hacked to 20us +-DATA 4 DDR_PHY_PTR6_0 0x027004B5 // tDINIT4 (30ns), tDINIT3 (1us) +- +- // RDIMMGCR0-2 RDIMMGCR0-4?? +- +- // Set-up DATX8 Common Configuration Register +- // DXCCR is untouched +- +- // Set-up DDR System General Configuration Register +- // DSGCR is untouched +- +- // Set-up ODT Configuration Register +- // DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +-DATA 4 DDR_PHY_RANKIDR_0 1 // Select rank 1 to write +-DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank1 disabled +-DATA 4 DDR_PHY_RANKIDR_0 0 // Select rank 0 to write +-DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank0 disabled +- +- // Set-up Anti-Aging Control Register +- // AACR is untouched +- +- // Set-up Data Training Address Register +- // DTAR0-3 are untouched +- // !! DTAR3 is not described in spec !! +- +- // Set-up AC I/O Configuration Register +- // ACIOCR1-4 are untouched +-DATA 4 DDR_PHY_ACIOCR0_0 0x30070800 // PNUM2 (i.e.LPDDR4) selection [10:11] = 0x2 +-DATA 4 DDR_PHY_ACIOCR5_0 0x09000000 // I/O mode = LPDDR4 +- // Due to address copy set A[13] (=cke_B[0]) and A[15] (=cke_B[1]) outputs as always ON. +-DATA 4 DDR_PHY_ACIOCR1_0 0x44000000 +- +- // IOVCR0-1, DXnGCR0-4??, CALBYP +- +- // Set-up VREF Training Control Registers +-DATA 4 DDR_PHY_VTCR0_0 0xF0032019 // CK1, CK0 +-DATA 4 DDR_PHY_VTCR1_0 0x07F00193 // HVIO=1, SHREN=1, SHRNK=0 +- +- // Set-up DATX8 General Configuration Registers +- // DXnGCR0-3 are untouched +-DATA 4 DDR_PHY_PGCR5_0 0x01010004 +-DATA 4 DDR_PHY_PGCR6_0 0x00033200 // Enable CSN Bit Delay VT Compensation (AC already enabled by default) + drift limit +- ++DATA 4 DDRC_MSTR_0 0xC1080020 // Set LPDDR4, BL = 16 and active ranks ++DATA 4 DDRC_DERATEEN_0 0x00000203 // derate enable, derate values, byte to read MRR data ++DATA 4 DDRC_DERATEINT_0 0x0124F800 // derate MR4 interval read ++DATA 4 DDRC_RFSHTMG_0 0x0049006C // tREFI, tRFC ++DATA 4 DDRC_INIT0_0 0x40030495 // pre_cke = 2ms, post_cke = 2us ++DATA 4 DDRC_INIT1_0 0x00770000 // dram_rstn = 200us ++DATA 4 DDRC_INIT3_0 0x00440024 // MR1, MR2 ++DATA 4 DDRC_INIT4_0 0x00F10000 // MR3, MR13 ++DATA 4 DDRC_RANKCTL_0 0x0000066F // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd ++DATA 4 DDRC_DRAMTMG0_0 0x1618141A // wr2pr, tFAW, tRASmax, tRASmin ++DATA 4 DDRC_DRAMTMG1_0 0x00050526 // tXP, rd2pre, tRC ++DATA 4 DDRC_DRAMTMG2_0 0x060E1714 // WL, RL, rd2wr, wr2rd ++DATA 4 DDRC_DRAMTMG3_0 0x00909000 // tmrw, tmrd, tmod ++DATA 4 DDRC_DRAMTMG4_0 0x0B04060B // trcd, tccd, trrd, trp ++DATA 4 DDRC_DRAMTMG5_0 0x02030909 // tCKCKEH, tCKCKEL, tckesr, tcke ++DATA 4 DDRC_DRAMTMG6_0 0x02020006 // tckdpde, tckdpdx, tckcsx ++DATA 4 DDRC_DRAMTMG7_0 0x00000301 // tckpde, tckpdx ++DATA 4 DDRC_DRAMTMG12_0 0x00020510 // tCMDCKE, tCKEHCMD ++DATA 4 DDRC_DRAMTMG13_0 0x0B100002 // tODTLoff, tCCDMW, tPPD ++DATA 4 DDRC_DRAMTMG14_0 0x00000071 // txsr ++DATA 4 DDRC_ZQCTL0_0 0x02580012 // tZQCAL, tZQLAT ++DATA 4 DDRC_ZQCTL1_0 0x01E0493E // tZQReset, tzq_short_interval ++DATA 4 DDRC_DFITMG0_0 0x0499820A // dfi_t_ctrl_delay, dfi_t_rddata_en, dfi_tphy_wrdata, dfi_tphy_wrlat ++DATA 4 DDRC_DFITMG1_0 0x00070303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable ++DATA 4 DDRC_DFITMG2_0 0x00001708 // dfi_tphy_rdcslat, dfi_tphy_wrcslat ++DATA 4 DDRC_DFIMISC_0 0x00000005 // dfi_data_cs_polarity ++DATA 4 DDRC_DFIUPD0_0 0x00400003 // Disable the automatic dfi_ctrlupd_req generation ++DATA 4 DDRC_DFIUPD1_0 0x008000A0 // dfi_ctrlupd_req generation interval generation (min and max) ++DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en ++DATA 4 DDRC_ADDRMAP0_0 0x0000001F // addrmap_cs_bit0 ++DATA 4 DDRC_ADDRMAP3_0 0x00000000 // addrmap_col_b9, addrmap_col_b8, addrmap_col_b7, addrmap_col_b6 ++DATA 4 DDRC_ADDRMAP4_0 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated ++DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 ++DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 ++DATA 4 DDRC_ADDRMAP6_0 0x0F070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 ++DATA 4 DDRC_DBICTL_0 0x00000007 // rd_dbi_en=wr_dbi_en=dm_en=1 ++DATA 4 DDRC_ODTMAP_0 0x00002211 // rank[3:0]_wr_odt, rank[3:0]_wr_odt ++DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 ++ ++DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 ++ ++DATA 4 DDRC_PWRCTL_0 0x0000010D ++ ++DATA 4 0x41c80208 0x1 ++DATA 4 0x41c80040 0xf ++DATA 4 0x41c80204 0x1 ++ ++//------------------------------------------- ++// Configure registers for PHY initialization ++// Timings are computed for 1200MHz DRAM operation ++//-------------------------------------------- ++// Set-up DRAM Configuration Register ++DATA 4 DDR_PHY_DCR_0 0x0000040D // LPDDR4 selection with 8 bank ++// Set-up byte and bit swapping registers ++DATA 4 DDR_PHY_PGCR8_0 0x0001000A ++DATA 4 DDR_PHY_DX0DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping ++DATA 4 DDR_PHY_DX0DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping ++DATA 4 DDR_PHY_DX1DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping ++DATA 4 DDR_PHY_DX1DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping ++DATA 4 DDR_PHY_DX2DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping ++DATA 4 DDR_PHY_DX2DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping ++DATA 4 DDR_PHY_DX3DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping ++DATA 4 DDR_PHY_DX3DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping ++DATA 4 DDR_PHY_CATR0_0 0x00141032 // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY ++DATA 4 DDR_PHY_CATR1_0 0x0103AAAA // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY ++// Set-up PHY General Configuration Register ++// PGCR1,4,5,6,7 are untouched ++SET_BIT 4 DDR_PHY_PGCR1_0 0x000A0000 // DISDIC=1 (no uMCTL2 commands can go to memory) and WDQSEXT=1 ++DATA 4 DDR_PHY_PGCR0_0 0x87001E00 // Set ADCP=1 (Address Copy) ++DATA 4 DDR_PHY_PGCR2_0 0x00F0A193 // Set tREFPRD ++DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity ++// Set-up PHY Timing Register ++// PTR2 is untouched ++DATA 4 DDR_PHY_PTR0_0 0x4B025810 // tPLLPD, tPLLGS, tPHYRST ++DATA 4 DDR_PHY_PTR1_0 0x3A981518 // tPLLLOCK, tPLLRST ++// Set-up PLL Control Register ++DATA 4 DDR_PHY_PLLCR0_0 0x001C0000 ++DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x001C0000 ++// Set-up Impedance Control Register ++DATA 4 DDR_PHY_ZQCR_0 0x008A2C58 // Set ODT_MODE=0b10(LPDDR4 stype pullup) ++// ZPROG_DRAM_ODT and ZPROG_HOST_ODT ++DATA 4 DDR_PHY_ZQ0PR0_0 0x1BBBB // Optimal setting based on factory testing ++DATA 4 DDR_PHY_ZQ1PR0_0 0x1B9BB // Optimal setting based on factory testing ++// Set-up PHY Initialization Register ++DATA 4 DDR_PHY_PIR_0 0x32 ++// Launch initialization (set bit 0) ++DATA 4 DDR_PHY_PIR_0 0x33 ++ ++ ++//------------------------------------------- ++// Configure registers for DRAM initialization ++//------------------------------------------- ++// Set-up Mode Register ++// MR0, MR3, MR4, MR5 MR6 are untouched ++DATA 4 DDR_PHY_MR1_0 0x44 // Set BL, WR-PRE, nWR, RPST ++DATA 4 DDR_PHY_MR2_0 0x24 // Set RL/WL ++DATA 4 DDR_PHY_MR3_0 0xF1 // Set drive strength ++ ++DATA 4 DDR_PHY_MR11_0 0x54 // Set CA and DQ ODT ++DATA 4 DDR_PHY_MR22_0 0x15 // Set ODTE-CS=1 (overrides ODT_CA for CS1 as CS not shared between ranks) ++/* LPDDR4 mode register writes for CA and DQ VREF settings */ ++DATA 4 DDR_PHY_MR12_0 0x48 ++DATA 4 DDR_PHY_MR14_0 0x48 ++// Set-up DRAM Timing Parameters Register ++// DTPR6 is untouched ++DATA 4 DDR_PHY_DTPR0_0 0x0C331A09 // tRRD, tRAS, tRP, tRTP ++DATA 4 DDR_PHY_DTPR1_0 0x28300411 // tWLMRD, tFAW, tODTUP, tMRD ++DATA 4 DDR_PHY_DTPR2_0 0x006960E2 // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS ++DATA 4 DDR_PHY_DTPR3_0 0x01800501 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) ++DATA 4 DDR_PHY_DTPR4_0 0x00D82B0C // tRFC, tWLO, tXP ++DATA 4 DDR_PHY_DTPR5_0 0x194C160D // tRC, tRCD, tWTR ++// Set-up PHY Timing Register ++DATA 4 DDR_PHY_PTR3_0 0x00249F00 // tDINIT0 ++DATA 4 DDR_PHY_PTR4_0 0x00000960 // tDINIT1 ++DATA 4 DDR_PHY_PTR5_0 0x0003A980 // tDINIT2 ++DATA 4 DDR_PHY_PTR6_0 0x027004B0 // tDINIT4, tDINIT3 ++ ++ ++// Set-up ODT Configuration Register ++// DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. ++DATA 4 DDR_PHY_RANKIDR_0 0x00000001 // Select rank 1 to write ++DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank1 disabled ++DATA 4 DDR_PHY_RANKIDR_0 0x00000000 // Select rank 0 to write ++DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank0 disabled ++ ++ ++// Set-up AC I/O Configuration Register ++// ACIOCR1-4 are untouched ++DATA 4 DDR_PHY_ACIOCR0_0 0x30070800 // PNUM2 (i.e.LPDDR4) selection [10:11] = 0x2 ++DATA 4 DDR_PHY_ACIOCR5_0 0x09000000 // I/O mode = LPDDR4 ++// Due to address copy set A[13] (=cke_B[0]) and A[15] (=cke_B[1]) outputs as always ON. ++DATA 4 DDR_PHY_ACIOCR1_0 0x44000000 ++// Set-up VREF Training Control Registers ++DATA 4 DDR_PHY_VTCR0_0 0xF0032008 // CK1, CK0, DRAM VREF set to same as MR12 ++DATA 4 DDR_PHY_VTCR1_0 0x07F0018F // HVIO=1, SHREN=1, SHRNK=0 + // Set-up DATX8 General Configuration Registers +-DATA 4 DDR_PHY_DX0GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +-DATA 4 DDR_PHY_DX1GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +-DATA 4 DDR_PHY_DX2GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +-DATA 4 DDR_PHY_DX3GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +-DATA 4 DDR_PHY_DX0GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +-DATA 4 DDR_PHY_DX1GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +-DATA 4 DDR_PHY_DX2GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +-DATA 4 DDR_PHY_DX3GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +- +- // Set-up DATX8 DX Control Register 2 +- // PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +-DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 +- +- //Enable PHY PLL to go into power down on DFI low power request +-DATA 4 DDR_PHY_PGCR4_0 0x001900A1 +- +- // Set-up DATX8 IO Control Register +-DATA 4 DDR_PHY_DX8SLbIOCR_0 0x79000000 // I/O mode = LPDDR4 ++// DXnGCR0-4 are untouched ++SET_BIT 4 DDR_PHY_PGCR5_0 0x4 ++DATA 4 DDR_PHY_PGCR6_0 0x00033200 // Enable CSN Bit Delay VT Compensation (AC already enabled by default) + drift limit ++// Set-up DATX8 General Configuration Registers ++DATA 4 DDR_PHY_DX0GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults ++DATA 4 DDR_PHY_DX1GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults ++DATA 4 DDR_PHY_DX2GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults ++DATA 4 DDR_PHY_DX3GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults ++DATA 4 DDR_PHY_DX0GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults ++DATA 4 DDR_PHY_DX1GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults ++DATA 4 DDR_PHY_DX2GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults ++DATA 4 DDR_PHY_DX3GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults ++// Set-up DATX8 DX Control Register 2 ++// PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA ++DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 ++// Set-up DATX8 IO Control Register ++DATA 4 DDR_PHY_DX8SLbIOCR_0 0x79000000 // I/O mode = LPDDR4 + + #if DDR_TRAIN_IN_DCD +- +- // Wait for bit 0 of PGSR0 to be '1' +-CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +- +- // Launch DRAM initialization +-DATA 4 DDR_PHY_PIR_0 0x180 +-DATA 4 DDR_PHY_PIR_0 0x181 +- +- // Wait for bit 0 of PGSR0 to be '1' +-CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +- +- // Launch a second time DRAM initialization due to following Synopsys PHY bug: +- // Title: "PUB does not program LPDDR4 DRAM MR22 prior to running DRAM ZQ calibration" +- // Workaround: "Run DRAM Initialization twice" +-DATA 4 DDR_PHY_PIR_0 0x100 +-DATA 4 DDR_PHY_PIR_0 0x101 +- +- // Wait for bit 0 of PGSR0 to be '1' +-CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +- +- // Set-up Data Training Configuration Register +- // Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys +- // case 9001045655: Design limitation in LPDDR4 mode: REFRESH must be disabled during DQS2DQ training). +- // (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). +-DATA 4 DDR_PHY_DTCR0_0 0x000071CF // Set DTRPTN to 0xF. RFSHDT=0 +-DATA 4 DDR_PHY_DTCR1_0 0x00030236 // Set RANKEN=3 +- +-CLR_BIT 4 DDR_PHY_DX4GCR1_0 0xFF +- +-/* -- Write leveling */ +-DATA 4 DDR_PHY_PIR_0 0x00000200 +-DATA 4 DDR_PHY_PIR_0 0x00000201 +- +- // Wait for bit 0 of PGSR0 to be '1' +-CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +- // Check that no error occured +-CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 +- +-// -- Read DQS training +-// Set DQS/DQSn glitch suppression resistor for training +-DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012240F7 +- +-/* Launch training for DRC_0 */ +-DATA 4 DDR_PHY_PIR_0 0x00000400 +-DATA 4 DDR_PHY_PIR_0 0x00000401 +- +- // Wait for bit 0 of PGSR0 to be '1' +-CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +- // Check that no error occured +-CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 +- +-/* Remove DQS/DQSn glitch suppression resistor */ +-DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01224000 +- +-/* DQS2DQ training, Write leveling, Deskew and eye trainings */ +-DATA 4 DDR_PHY_PIR_0 0x0010F800 +-DATA 4 DDR_PHY_PIR_0 0x0010F801 +- +- // Wait for bit 0 of PGSR0 to be '1' +-CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +- +-/* VREF training for DRC_0 */ +-DATA 4 DDR_PHY_PIR_0 0x00020000 +-DATA 4 DDR_PHY_PIR_0 0x00020001 +- +- // Wait for bit 0 of PGSR0 to be '1' +-CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +- // Check that no error occured +-CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00080000 +- +- //Re-allow uMCTL2 to send commands to DDR +-CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020000 +- +-//DQS Drift Registers +-CLR_BIT 4 DDR_PHY_DX0GCR3_0 0x08000000 +-CLR_BIT 4 DDR_PHY_DX1GCR3_0 0x08000000 +-CLR_BIT 4 DDR_PHY_DX2GCR3_0 0x08000000 +-CLR_BIT 4 DDR_PHY_DX3GCR3_0 0x08000000 +-DATA 4 DDR_PHY_DQSDR0_0 0x20188004 +-//DATA 4 DDR_PHY_DQSDR1_0 0xA8770100 +-//DATA 4 DDR_PHY_DQSDR2_0 0x00062000 +-DATA 4 DDR_PHY_DQSDR1_0 0xA8AA0000 // SNPS recommendation +-DATA 4 DDR_PHY_DQSDR2_0 0x00070200 // SNPS recommendation ++// Wait PHY initialization end then launch DRAM initialization ++// Wait for bit 0 of PGSR0 to be '1' ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 // Check that no error occured ++ ++// Launch DRAM 0 initialization (set bit 0) ++DATA 4 DDR_PHY_PIR_0 0x180 ++DATA 4 DDR_PHY_PIR_0 0x181 ++ ++// DRAM 0 initialization end ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 ++ ++// Launch a second time DRAM initialization due to following Synopsys PHY bug: ++// Title: "PUB does not program LPDDR4 DRAM MR22 prior to running DRAM ZQ calibration" ++// Workaround: "Run DRAM Initialization twice" ++DATA 4 DDR_PHY_PIR_0 0x100 ++DATA 4 DDR_PHY_PIR_0 0x101 ++ ++// Wait (second time) DRAM 0 initialization end ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 ++ ++//---------------------------------------------------------------// ++// DATA training ++//---------------------------------------------------------------// ++// configure PHY for data training ++// The following register writes are recommended by SNPS prior to running training ++CLR_BIT 4 DDR_PHY_DQSDR0_0 0x00000001 // Disable drift ++SET_BIT 4 DDR_PHY_PGCR6_0 0x00000001 // Disable VT compensation ++CHECK_BITS_SET 4 DDR_PHY_PGSR1_0 0x40000000 // Disable VT compensation ++SET_BIT 4 DDR_PHY_PGCR1_0 0x00020040 // DISDIC=1; PUBMODE=1 ++// Per SNPS initialize BIST registers for VREF training ++DATA 4 DDR_PHY_BISTAR1_0 0x00010100 //BMRANK=1 (maximum rank minus 1); BIST Address Increment: 0x10 (16) ++DATA 4 DDR_PHY_BISTAR2_0 0x700003FF // BMBANK=8; BMCOL=0x400 (limit to min cols in JEDEC) ++DATA 4 DDR_PHY_BISTAR4_0 0x00003FFF // BMROW=0x4000 (limit to min rows in JEDEC) ++ ++// Set-up Data Training Configuration Register ++// Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys ++// case 9001045655: Design limitation in LPDDR4 mode: REFRESH must be disabled during DQS2DQ training). ++// (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). ++DATA 4 DDR_PHY_DTCR0_0 0x000071C7 // Set DTRPTN to 0x7. RFSHDT=0 ++DATA 4 DDR_PHY_DTCR1_0 0x00010236 // Set RANKEN ++ ++CLR_BIT 4 DDR_PHY_DX4GCR1_0 0xFF // disable byte 4 ++ ++// Launch Write leveling ++DATA 4 DDR_PHY_PIR_0 0x200 ++DATA 4 DDR_PHY_PIR_0 0x201 ++// Wait Write leveling to complete ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 ++ ++// Set DQS/DQSn glitch suppression resistor for training PHY0 ++DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012640F7 ++// Launch Read DQS training ++DATA 4 DDR_PHY_PIR_0 0x400 ++DATA 4 DDR_PHY_PIR_0 0x401 ++// Wait Read DQS training to complete PHY0 ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 ++// Remove DQS/DQSn glitch suppression resistor PHY0 ++DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01264000 ++ ++// DQS2DQ training, Write leveling, Deskew and eye trainings ++DATA 4 DDR_PHY_PIR_0 0x0010F800 ++DATA 4 DDR_PHY_PIR_0 0x0010F801 ++// Wait for training to complete ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 ++ ++// Launch VREF training ++DATA 4 DDR_PHY_PIR_0 0x00020000 ++DATA 4 DDR_PHY_PIR_0 0x00020001 ++// Wait for training to complete ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00080000 ++ ++//Re-allow uMCTL2 to send commands to DDR ++CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020040 // DISDIC=0, PUBMODE=0 ++ ++//DQS Drift Registers PHY0 ++CLR_BIT 4 DDR_PHY_DX0GCR3_0 0x08000000 ++CLR_BIT 4 DDR_PHY_DX1GCR3_0 0x08000000 ++CLR_BIT 4 DDR_PHY_DX2GCR3_0 0x08000000 ++CLR_BIT 4 DDR_PHY_DX3GCR3_0 0x08000000 ++// Enable DQS drift detection PHY0 ++DATA 4 DDR_PHY_DQSDR0_0 0x20188005 ++DATA 4 DDR_PHY_DQSDR1_0 0xA8AA0000 ++DATA 4 DDR_PHY_DQSDR2_0 0x00070200 ++ ++// Enable VT compensation ++CLR_BIT 4 DDR_PHY_PGCR6_0 0x1 + + //Check that controller is ready to operate +-CHECK_BITS_SET 4 DDRC_STAT_0 0x1 ++CHECK_BITS_SET 4 DDRC_STAT_0 0x1 ++ + #endif diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/files/0002-cc8x-add-second-DCD-for-the-2GB-variant-of-the-cc8x.patch b/meta-digi-arm/recipes-bsp/imx-mkimage/files/0002-cc8x-add-second-DCD-for-the-2GB-variant-of-the-cc8x.patch new file mode 100644 index 000000000..00a01d53e --- /dev/null +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/files/0002-cc8x-add-second-DCD-for-the-2GB-variant-of-the-cc8x.patch @@ -0,0 +1,892 @@ +From: Gabriel Valcazar +Date: Fri, 27 Jul 2018 12:50:37 +0200 +Subject: [PATCH 2/2] cc8x: add second DCD for the 2GB variant of the cc8x + +This DCD is the same as the one used for the 1GB variant, but with minor timing +and indexing changes. + +Also, suffix each DCD with their corresponding UBOOT_CONFIG values so the +imx-boot recipe is able to handle them. + +https://jira.digi.com/browse/DEL-6085 + +Signed-off-by: Gabriel Valcazar +--- + iMX8QX/imx8qx_dcd_1.2GHz.cfg | 284 --------------------- + .../imx8qx_dcd_1.2GHz.cfg-ccimx8x_sbc_express1GB | 284 +++++++++++++++++++++ + .../imx8qx_dcd_1.2GHz.cfg-ccimx8x_sbc_express2GB | 284 +++++++++++++++++++++ + 3 files changed, 568 insertions(+), 284 deletions(-) + delete mode 100644 iMX8QX/imx8qx_dcd_1.2GHz.cfg + create mode 100644 iMX8QX/imx8qx_dcd_1.2GHz.cfg-ccimx8x_sbc_express1GB + create mode 100644 iMX8QX/imx8qx_dcd_1.2GHz.cfg-ccimx8x_sbc_express2GB + +diff --git a/iMX8QX/imx8qx_dcd_1.2GHz.cfg b/iMX8QX/imx8qx_dcd_1.2GHz.cfg +deleted file mode 100644 +index abf0ad8..0000000 +--- a/iMX8QX/imx8qx_dcd_1.2GHz.cfg ++++ /dev/null +@@ -1,284 +0,0 @@ +-#define __ASSEMBLY__ +- +-#include +-#include +- +-/* +- * Device Configuration Data (DCD) +- * +- * Each entry must have the format: +- * Addr-type Address Value +- * +- * where: +- * Addr-type register length (1,2 or 4 bytes) +- * Address absolute address of the register +- * value value to be stored in the register +- */ +- +-#ifndef SCFW_DCD +-/* For 1200MHz DDR, DRC 600MHz operation */ +-DATA 4 0xff190000 0x00000CC8 /* DRC0 bringup */ +-#else +-/* Set the DRC rate to 600MHz, the PHY PLL will double this for the DRAM rate. */ +-uint32_t rate2 = SC_600MHZ; +-pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); +-#endif +- +-DATA 4 0x41C80208 0x1 +-DATA 4 0x41C80040 0xb +-DATA 4 0x41C80204 0x1 +- +-/* DRAM 0 controller configuration begin */ +-DATA 4 DDRC_MSTR_0 0xC1080020 // Set LPDDR4, BL = 16 and active ranks +-DATA 4 DDRC_DERATEEN_0 0x00000203 // derate enable, derate values, byte to read MRR data +-DATA 4 DDRC_DERATEINT_0 0x0124F800 // derate MR4 interval read +-DATA 4 DDRC_RFSHTMG_0 0x0049006C // tREFI, tRFC +-DATA 4 DDRC_INIT0_0 0x40030495 // pre_cke = 2ms, post_cke = 2us +-DATA 4 DDRC_INIT1_0 0x00770000 // dram_rstn = 200us +-DATA 4 DDRC_INIT3_0 0x00440024 // MR1, MR2 +-DATA 4 DDRC_INIT4_0 0x00F10000 // MR3, MR13 +-DATA 4 DDRC_RANKCTL_0 0x0000066F // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd +-DATA 4 DDRC_DRAMTMG0_0 0x1618141A // wr2pr, tFAW, tRASmax, tRASmin +-DATA 4 DDRC_DRAMTMG1_0 0x00050526 // tXP, rd2pre, tRC +-DATA 4 DDRC_DRAMTMG2_0 0x060E1714 // WL, RL, rd2wr, wr2rd +-DATA 4 DDRC_DRAMTMG3_0 0x00909000 // tmrw, tmrd, tmod +-DATA 4 DDRC_DRAMTMG4_0 0x0B04060B // trcd, tccd, trrd, trp +-DATA 4 DDRC_DRAMTMG5_0 0x02030909 // tCKCKEH, tCKCKEL, tckesr, tcke +-DATA 4 DDRC_DRAMTMG6_0 0x02020006 // tckdpde, tckdpdx, tckcsx +-DATA 4 DDRC_DRAMTMG7_0 0x00000301 // tckpde, tckpdx +-DATA 4 DDRC_DRAMTMG12_0 0x00020510 // tCMDCKE, tCKEHCMD +-DATA 4 DDRC_DRAMTMG13_0 0x0B100002 // tODTLoff, tCCDMW, tPPD +-DATA 4 DDRC_DRAMTMG14_0 0x00000071 // txsr +-DATA 4 DDRC_ZQCTL0_0 0x02580012 // tZQCAL, tZQLAT +-DATA 4 DDRC_ZQCTL1_0 0x01E0493E // tZQReset, tzq_short_interval +-DATA 4 DDRC_DFITMG0_0 0x0499820A // dfi_t_ctrl_delay, dfi_t_rddata_en, dfi_tphy_wrdata, dfi_tphy_wrlat +-DATA 4 DDRC_DFITMG1_0 0x00070303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable +-DATA 4 DDRC_DFITMG2_0 0x00001708 // dfi_tphy_rdcslat, dfi_tphy_wrcslat +-DATA 4 DDRC_DFIMISC_0 0x00000005 // dfi_data_cs_polarity +-DATA 4 DDRC_DFIUPD0_0 0x00400003 // Disable the automatic dfi_ctrlupd_req generation +-DATA 4 DDRC_DFIUPD1_0 0x008000A0 // dfi_ctrlupd_req generation interval generation (min and max) +-DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en +-DATA 4 DDRC_ADDRMAP0_0 0x0000001F // addrmap_cs_bit0 +-DATA 4 DDRC_ADDRMAP3_0 0x00000000 // addrmap_col_b9, addrmap_col_b8, addrmap_col_b7, addrmap_col_b6 +-DATA 4 DDRC_ADDRMAP4_0 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated +-DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 +-DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 +-DATA 4 DDRC_ADDRMAP6_0 0x0F070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 +-DATA 4 DDRC_DBICTL_0 0x00000007 // rd_dbi_en=wr_dbi_en=dm_en=1 +-DATA 4 DDRC_ODTMAP_0 0x00002211 // rank[3:0]_wr_odt, rank[3:0]_wr_odt +-DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 +- +-DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 +- +-DATA 4 DDRC_PWRCTL_0 0x0000010D +- +-DATA 4 0x41c80208 0x1 +-DATA 4 0x41c80040 0xf +-DATA 4 0x41c80204 0x1 +- +-//------------------------------------------- +-// Configure registers for PHY initialization +-// Timings are computed for 1200MHz DRAM operation +-//-------------------------------------------- +-// Set-up DRAM Configuration Register +-DATA 4 DDR_PHY_DCR_0 0x0000040D // LPDDR4 selection with 8 bank +-// Set-up byte and bit swapping registers +-DATA 4 DDR_PHY_PGCR8_0 0x0001000A +-DATA 4 DDR_PHY_DX0DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping +-DATA 4 DDR_PHY_DX0DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping +-DATA 4 DDR_PHY_DX1DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping +-DATA 4 DDR_PHY_DX1DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping +-DATA 4 DDR_PHY_DX2DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping +-DATA 4 DDR_PHY_DX2DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping +-DATA 4 DDR_PHY_DX3DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping +-DATA 4 DDR_PHY_DX3DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping +-DATA 4 DDR_PHY_CATR0_0 0x00141032 // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +-DATA 4 DDR_PHY_CATR1_0 0x0103AAAA // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY +-// Set-up PHY General Configuration Register +-// PGCR1,4,5,6,7 are untouched +-SET_BIT 4 DDR_PHY_PGCR1_0 0x000A0000 // DISDIC=1 (no uMCTL2 commands can go to memory) and WDQSEXT=1 +-DATA 4 DDR_PHY_PGCR0_0 0x87001E00 // Set ADCP=1 (Address Copy) +-DATA 4 DDR_PHY_PGCR2_0 0x00F0A193 // Set tREFPRD +-DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity +-// Set-up PHY Timing Register +-// PTR2 is untouched +-DATA 4 DDR_PHY_PTR0_0 0x4B025810 // tPLLPD, tPLLGS, tPHYRST +-DATA 4 DDR_PHY_PTR1_0 0x3A981518 // tPLLLOCK, tPLLRST +-// Set-up PLL Control Register +-DATA 4 DDR_PHY_PLLCR0_0 0x001C0000 +-DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x001C0000 +-// Set-up Impedance Control Register +-DATA 4 DDR_PHY_ZQCR_0 0x008A2C58 // Set ODT_MODE=0b10(LPDDR4 stype pullup) +-// ZPROG_DRAM_ODT and ZPROG_HOST_ODT +-DATA 4 DDR_PHY_ZQ0PR0_0 0x1BBBB // Optimal setting based on factory testing +-DATA 4 DDR_PHY_ZQ1PR0_0 0x1B9BB // Optimal setting based on factory testing +-// Set-up PHY Initialization Register +-DATA 4 DDR_PHY_PIR_0 0x32 +-// Launch initialization (set bit 0) +-DATA 4 DDR_PHY_PIR_0 0x33 +- +- +-//------------------------------------------- +-// Configure registers for DRAM initialization +-//------------------------------------------- +-// Set-up Mode Register +-// MR0, MR3, MR4, MR5 MR6 are untouched +-DATA 4 DDR_PHY_MR1_0 0x44 // Set BL, WR-PRE, nWR, RPST +-DATA 4 DDR_PHY_MR2_0 0x24 // Set RL/WL +-DATA 4 DDR_PHY_MR3_0 0xF1 // Set drive strength +- +-DATA 4 DDR_PHY_MR11_0 0x54 // Set CA and DQ ODT +-DATA 4 DDR_PHY_MR22_0 0x15 // Set ODTE-CS=1 (overrides ODT_CA for CS1 as CS not shared between ranks) +-/* LPDDR4 mode register writes for CA and DQ VREF settings */ +-DATA 4 DDR_PHY_MR12_0 0x48 +-DATA 4 DDR_PHY_MR14_0 0x48 +-// Set-up DRAM Timing Parameters Register +-// DTPR6 is untouched +-DATA 4 DDR_PHY_DTPR0_0 0x0C331A09 // tRRD, tRAS, tRP, tRTP +-DATA 4 DDR_PHY_DTPR1_0 0x28300411 // tWLMRD, tFAW, tODTUP, tMRD +-DATA 4 DDR_PHY_DTPR2_0 0x006960E2 // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS +-DATA 4 DDR_PHY_DTPR3_0 0x01800501 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) +-DATA 4 DDR_PHY_DTPR4_0 0x00D82B0C // tRFC, tWLO, tXP +-DATA 4 DDR_PHY_DTPR5_0 0x194C160D // tRC, tRCD, tWTR +-// Set-up PHY Timing Register +-DATA 4 DDR_PHY_PTR3_0 0x00249F00 // tDINIT0 +-DATA 4 DDR_PHY_PTR4_0 0x00000960 // tDINIT1 +-DATA 4 DDR_PHY_PTR5_0 0x0003A980 // tDINIT2 +-DATA 4 DDR_PHY_PTR6_0 0x027004B0 // tDINIT4, tDINIT3 +- +- +-// Set-up ODT Configuration Register +-// DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. +-DATA 4 DDR_PHY_RANKIDR_0 0x00000001 // Select rank 1 to write +-DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank1 disabled +-DATA 4 DDR_PHY_RANKIDR_0 0x00000000 // Select rank 0 to write +-DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank0 disabled +- +- +-// Set-up AC I/O Configuration Register +-// ACIOCR1-4 are untouched +-DATA 4 DDR_PHY_ACIOCR0_0 0x30070800 // PNUM2 (i.e.LPDDR4) selection [10:11] = 0x2 +-DATA 4 DDR_PHY_ACIOCR5_0 0x09000000 // I/O mode = LPDDR4 +-// Due to address copy set A[13] (=cke_B[0]) and A[15] (=cke_B[1]) outputs as always ON. +-DATA 4 DDR_PHY_ACIOCR1_0 0x44000000 +-// Set-up VREF Training Control Registers +-DATA 4 DDR_PHY_VTCR0_0 0xF0032008 // CK1, CK0, DRAM VREF set to same as MR12 +-DATA 4 DDR_PHY_VTCR1_0 0x07F0018F // HVIO=1, SHREN=1, SHRNK=0 +-// Set-up DATX8 General Configuration Registers +-// DXnGCR0-4 are untouched +-SET_BIT 4 DDR_PHY_PGCR5_0 0x4 +-DATA 4 DDR_PHY_PGCR6_0 0x00033200 // Enable CSN Bit Delay VT Compensation (AC already enabled by default) + drift limit +-// Set-up DATX8 General Configuration Registers +-DATA 4 DDR_PHY_DX0GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +-DATA 4 DDR_PHY_DX1GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +-DATA 4 DDR_PHY_DX2GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +-DATA 4 DDR_PHY_DX3GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults +-DATA 4 DDR_PHY_DX0GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +-DATA 4 DDR_PHY_DX1GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +-DATA 4 DDR_PHY_DX2GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +-DATA 4 DDR_PHY_DX3GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults +-// Set-up DATX8 DX Control Register 2 +-// PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA +-DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 +-// Set-up DATX8 IO Control Register +-DATA 4 DDR_PHY_DX8SLbIOCR_0 0x79000000 // I/O mode = LPDDR4 +- +-#if DDR_TRAIN_IN_DCD +-// Wait PHY initialization end then launch DRAM initialization +-// Wait for bit 0 of PGSR0 to be '1' +-CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +-CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 // Check that no error occured +- +-// Launch DRAM 0 initialization (set bit 0) +-DATA 4 DDR_PHY_PIR_0 0x180 +-DATA 4 DDR_PHY_PIR_0 0x181 +- +-// DRAM 0 initialization end +-CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +-CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 +- +-// Launch a second time DRAM initialization due to following Synopsys PHY bug: +-// Title: "PUB does not program LPDDR4 DRAM MR22 prior to running DRAM ZQ calibration" +-// Workaround: "Run DRAM Initialization twice" +-DATA 4 DDR_PHY_PIR_0 0x100 +-DATA 4 DDR_PHY_PIR_0 0x101 +- +-// Wait (second time) DRAM 0 initialization end +-CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +-CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 +- +-//---------------------------------------------------------------// +-// DATA training +-//---------------------------------------------------------------// +-// configure PHY for data training +-// The following register writes are recommended by SNPS prior to running training +-CLR_BIT 4 DDR_PHY_DQSDR0_0 0x00000001 // Disable drift +-SET_BIT 4 DDR_PHY_PGCR6_0 0x00000001 // Disable VT compensation +-CHECK_BITS_SET 4 DDR_PHY_PGSR1_0 0x40000000 // Disable VT compensation +-SET_BIT 4 DDR_PHY_PGCR1_0 0x00020040 // DISDIC=1; PUBMODE=1 +-// Per SNPS initialize BIST registers for VREF training +-DATA 4 DDR_PHY_BISTAR1_0 0x00010100 //BMRANK=1 (maximum rank minus 1); BIST Address Increment: 0x10 (16) +-DATA 4 DDR_PHY_BISTAR2_0 0x700003FF // BMBANK=8; BMCOL=0x400 (limit to min cols in JEDEC) +-DATA 4 DDR_PHY_BISTAR4_0 0x00003FFF // BMROW=0x4000 (limit to min rows in JEDEC) +- +-// Set-up Data Training Configuration Register +-// Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys +-// case 9001045655: Design limitation in LPDDR4 mode: REFRESH must be disabled during DQS2DQ training). +-// (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). +-DATA 4 DDR_PHY_DTCR0_0 0x000071C7 // Set DTRPTN to 0x7. RFSHDT=0 +-DATA 4 DDR_PHY_DTCR1_0 0x00010236 // Set RANKEN +- +-CLR_BIT 4 DDR_PHY_DX4GCR1_0 0xFF // disable byte 4 +- +-// Launch Write leveling +-DATA 4 DDR_PHY_PIR_0 0x200 +-DATA 4 DDR_PHY_PIR_0 0x201 +-// Wait Write leveling to complete +-CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +-CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 +- +-// Set DQS/DQSn glitch suppression resistor for training PHY0 +-DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012640F7 +-// Launch Read DQS training +-DATA 4 DDR_PHY_PIR_0 0x400 +-DATA 4 DDR_PHY_PIR_0 0x401 +-// Wait Read DQS training to complete PHY0 +-CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +-CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 +-// Remove DQS/DQSn glitch suppression resistor PHY0 +-DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01264000 +- +-// DQS2DQ training, Write leveling, Deskew and eye trainings +-DATA 4 DDR_PHY_PIR_0 0x0010F800 +-DATA 4 DDR_PHY_PIR_0 0x0010F801 +-// Wait for training to complete +-CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +-CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 +- +-// Launch VREF training +-DATA 4 DDR_PHY_PIR_0 0x00020000 +-DATA 4 DDR_PHY_PIR_0 0x00020001 +-// Wait for training to complete +-CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 +-CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00080000 +- +-//Re-allow uMCTL2 to send commands to DDR +-CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020040 // DISDIC=0, PUBMODE=0 +- +-//DQS Drift Registers PHY0 +-CLR_BIT 4 DDR_PHY_DX0GCR3_0 0x08000000 +-CLR_BIT 4 DDR_PHY_DX1GCR3_0 0x08000000 +-CLR_BIT 4 DDR_PHY_DX2GCR3_0 0x08000000 +-CLR_BIT 4 DDR_PHY_DX3GCR3_0 0x08000000 +-// Enable DQS drift detection PHY0 +-DATA 4 DDR_PHY_DQSDR0_0 0x20188005 +-DATA 4 DDR_PHY_DQSDR1_0 0xA8AA0000 +-DATA 4 DDR_PHY_DQSDR2_0 0x00070200 +- +-// Enable VT compensation +-CLR_BIT 4 DDR_PHY_PGCR6_0 0x1 +- +-//Check that controller is ready to operate +-CHECK_BITS_SET 4 DDRC_STAT_0 0x1 +- +-#endif +diff --git a/iMX8QX/imx8qx_dcd_1.2GHz.cfg-ccimx8x_sbc_express1GB b/iMX8QX/imx8qx_dcd_1.2GHz.cfg-ccimx8x_sbc_express1GB +new file mode 100644 +index 0000000..abf0ad8 +--- /dev/null ++++ b/iMX8QX/imx8qx_dcd_1.2GHz.cfg-ccimx8x_sbc_express1GB +@@ -0,0 +1,284 @@ ++#define __ASSEMBLY__ ++ ++#include ++#include ++ ++/* ++ * Device Configuration Data (DCD) ++ * ++ * Each entry must have the format: ++ * Addr-type Address Value ++ * ++ * where: ++ * Addr-type register length (1,2 or 4 bytes) ++ * Address absolute address of the register ++ * value value to be stored in the register ++ */ ++ ++#ifndef SCFW_DCD ++/* For 1200MHz DDR, DRC 600MHz operation */ ++DATA 4 0xff190000 0x00000CC8 /* DRC0 bringup */ ++#else ++/* Set the DRC rate to 600MHz, the PHY PLL will double this for the DRAM rate. */ ++uint32_t rate2 = SC_600MHZ; ++pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); ++#endif ++ ++DATA 4 0x41C80208 0x1 ++DATA 4 0x41C80040 0xb ++DATA 4 0x41C80204 0x1 ++ ++/* DRAM 0 controller configuration begin */ ++DATA 4 DDRC_MSTR_0 0xC1080020 // Set LPDDR4, BL = 16 and active ranks ++DATA 4 DDRC_DERATEEN_0 0x00000203 // derate enable, derate values, byte to read MRR data ++DATA 4 DDRC_DERATEINT_0 0x0124F800 // derate MR4 interval read ++DATA 4 DDRC_RFSHTMG_0 0x0049006C // tREFI, tRFC ++DATA 4 DDRC_INIT0_0 0x40030495 // pre_cke = 2ms, post_cke = 2us ++DATA 4 DDRC_INIT1_0 0x00770000 // dram_rstn = 200us ++DATA 4 DDRC_INIT3_0 0x00440024 // MR1, MR2 ++DATA 4 DDRC_INIT4_0 0x00F10000 // MR3, MR13 ++DATA 4 DDRC_RANKCTL_0 0x0000066F // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd ++DATA 4 DDRC_DRAMTMG0_0 0x1618141A // wr2pr, tFAW, tRASmax, tRASmin ++DATA 4 DDRC_DRAMTMG1_0 0x00050526 // tXP, rd2pre, tRC ++DATA 4 DDRC_DRAMTMG2_0 0x060E1714 // WL, RL, rd2wr, wr2rd ++DATA 4 DDRC_DRAMTMG3_0 0x00909000 // tmrw, tmrd, tmod ++DATA 4 DDRC_DRAMTMG4_0 0x0B04060B // trcd, tccd, trrd, trp ++DATA 4 DDRC_DRAMTMG5_0 0x02030909 // tCKCKEH, tCKCKEL, tckesr, tcke ++DATA 4 DDRC_DRAMTMG6_0 0x02020006 // tckdpde, tckdpdx, tckcsx ++DATA 4 DDRC_DRAMTMG7_0 0x00000301 // tckpde, tckpdx ++DATA 4 DDRC_DRAMTMG12_0 0x00020510 // tCMDCKE, tCKEHCMD ++DATA 4 DDRC_DRAMTMG13_0 0x0B100002 // tODTLoff, tCCDMW, tPPD ++DATA 4 DDRC_DRAMTMG14_0 0x00000071 // txsr ++DATA 4 DDRC_ZQCTL0_0 0x02580012 // tZQCAL, tZQLAT ++DATA 4 DDRC_ZQCTL1_0 0x01E0493E // tZQReset, tzq_short_interval ++DATA 4 DDRC_DFITMG0_0 0x0499820A // dfi_t_ctrl_delay, dfi_t_rddata_en, dfi_tphy_wrdata, dfi_tphy_wrlat ++DATA 4 DDRC_DFITMG1_0 0x00070303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable ++DATA 4 DDRC_DFITMG2_0 0x00001708 // dfi_tphy_rdcslat, dfi_tphy_wrcslat ++DATA 4 DDRC_DFIMISC_0 0x00000005 // dfi_data_cs_polarity ++DATA 4 DDRC_DFIUPD0_0 0x00400003 // Disable the automatic dfi_ctrlupd_req generation ++DATA 4 DDRC_DFIUPD1_0 0x008000A0 // dfi_ctrlupd_req generation interval generation (min and max) ++DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en ++DATA 4 DDRC_ADDRMAP0_0 0x0000001F // addrmap_cs_bit0 ++DATA 4 DDRC_ADDRMAP3_0 0x00000000 // addrmap_col_b9, addrmap_col_b8, addrmap_col_b7, addrmap_col_b6 ++DATA 4 DDRC_ADDRMAP4_0 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated ++DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 ++DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 ++DATA 4 DDRC_ADDRMAP6_0 0x0F070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 ++DATA 4 DDRC_DBICTL_0 0x00000007 // rd_dbi_en=wr_dbi_en=dm_en=1 ++DATA 4 DDRC_ODTMAP_0 0x00002211 // rank[3:0]_wr_odt, rank[3:0]_wr_odt ++DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 ++ ++DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 ++ ++DATA 4 DDRC_PWRCTL_0 0x0000010D ++ ++DATA 4 0x41c80208 0x1 ++DATA 4 0x41c80040 0xf ++DATA 4 0x41c80204 0x1 ++ ++//------------------------------------------- ++// Configure registers for PHY initialization ++// Timings are computed for 1200MHz DRAM operation ++//-------------------------------------------- ++// Set-up DRAM Configuration Register ++DATA 4 DDR_PHY_DCR_0 0x0000040D // LPDDR4 selection with 8 bank ++// Set-up byte and bit swapping registers ++DATA 4 DDR_PHY_PGCR8_0 0x0001000A ++DATA 4 DDR_PHY_DX0DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping ++DATA 4 DDR_PHY_DX0DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping ++DATA 4 DDR_PHY_DX1DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping ++DATA 4 DDR_PHY_DX1DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping ++DATA 4 DDR_PHY_DX2DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping ++DATA 4 DDR_PHY_DX2DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping ++DATA 4 DDR_PHY_DX3DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping ++DATA 4 DDR_PHY_DX3DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping ++DATA 4 DDR_PHY_CATR0_0 0x00141032 // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY ++DATA 4 DDR_PHY_CATR1_0 0x0103AAAA // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY ++// Set-up PHY General Configuration Register ++// PGCR1,4,5,6,7 are untouched ++SET_BIT 4 DDR_PHY_PGCR1_0 0x000A0000 // DISDIC=1 (no uMCTL2 commands can go to memory) and WDQSEXT=1 ++DATA 4 DDR_PHY_PGCR0_0 0x87001E00 // Set ADCP=1 (Address Copy) ++DATA 4 DDR_PHY_PGCR2_0 0x00F0A193 // Set tREFPRD ++DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity ++// Set-up PHY Timing Register ++// PTR2 is untouched ++DATA 4 DDR_PHY_PTR0_0 0x4B025810 // tPLLPD, tPLLGS, tPHYRST ++DATA 4 DDR_PHY_PTR1_0 0x3A981518 // tPLLLOCK, tPLLRST ++// Set-up PLL Control Register ++DATA 4 DDR_PHY_PLLCR0_0 0x001C0000 ++DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x001C0000 ++// Set-up Impedance Control Register ++DATA 4 DDR_PHY_ZQCR_0 0x008A2C58 // Set ODT_MODE=0b10(LPDDR4 stype pullup) ++// ZPROG_DRAM_ODT and ZPROG_HOST_ODT ++DATA 4 DDR_PHY_ZQ0PR0_0 0x1BBBB // Optimal setting based on factory testing ++DATA 4 DDR_PHY_ZQ1PR0_0 0x1B9BB // Optimal setting based on factory testing ++// Set-up PHY Initialization Register ++DATA 4 DDR_PHY_PIR_0 0x32 ++// Launch initialization (set bit 0) ++DATA 4 DDR_PHY_PIR_0 0x33 ++ ++ ++//------------------------------------------- ++// Configure registers for DRAM initialization ++//------------------------------------------- ++// Set-up Mode Register ++// MR0, MR3, MR4, MR5 MR6 are untouched ++DATA 4 DDR_PHY_MR1_0 0x44 // Set BL, WR-PRE, nWR, RPST ++DATA 4 DDR_PHY_MR2_0 0x24 // Set RL/WL ++DATA 4 DDR_PHY_MR3_0 0xF1 // Set drive strength ++ ++DATA 4 DDR_PHY_MR11_0 0x54 // Set CA and DQ ODT ++DATA 4 DDR_PHY_MR22_0 0x15 // Set ODTE-CS=1 (overrides ODT_CA for CS1 as CS not shared between ranks) ++/* LPDDR4 mode register writes for CA and DQ VREF settings */ ++DATA 4 DDR_PHY_MR12_0 0x48 ++DATA 4 DDR_PHY_MR14_0 0x48 ++// Set-up DRAM Timing Parameters Register ++// DTPR6 is untouched ++DATA 4 DDR_PHY_DTPR0_0 0x0C331A09 // tRRD, tRAS, tRP, tRTP ++DATA 4 DDR_PHY_DTPR1_0 0x28300411 // tWLMRD, tFAW, tODTUP, tMRD ++DATA 4 DDR_PHY_DTPR2_0 0x006960E2 // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS ++DATA 4 DDR_PHY_DTPR3_0 0x01800501 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) ++DATA 4 DDR_PHY_DTPR4_0 0x00D82B0C // tRFC, tWLO, tXP ++DATA 4 DDR_PHY_DTPR5_0 0x194C160D // tRC, tRCD, tWTR ++// Set-up PHY Timing Register ++DATA 4 DDR_PHY_PTR3_0 0x00249F00 // tDINIT0 ++DATA 4 DDR_PHY_PTR4_0 0x00000960 // tDINIT1 ++DATA 4 DDR_PHY_PTR5_0 0x0003A980 // tDINIT2 ++DATA 4 DDR_PHY_PTR6_0 0x027004B0 // tDINIT4, tDINIT3 ++ ++ ++// Set-up ODT Configuration Register ++// DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. ++DATA 4 DDR_PHY_RANKIDR_0 0x00000001 // Select rank 1 to write ++DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank1 disabled ++DATA 4 DDR_PHY_RANKIDR_0 0x00000000 // Select rank 0 to write ++DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank0 disabled ++ ++ ++// Set-up AC I/O Configuration Register ++// ACIOCR1-4 are untouched ++DATA 4 DDR_PHY_ACIOCR0_0 0x30070800 // PNUM2 (i.e.LPDDR4) selection [10:11] = 0x2 ++DATA 4 DDR_PHY_ACIOCR5_0 0x09000000 // I/O mode = LPDDR4 ++// Due to address copy set A[13] (=cke_B[0]) and A[15] (=cke_B[1]) outputs as always ON. ++DATA 4 DDR_PHY_ACIOCR1_0 0x44000000 ++// Set-up VREF Training Control Registers ++DATA 4 DDR_PHY_VTCR0_0 0xF0032008 // CK1, CK0, DRAM VREF set to same as MR12 ++DATA 4 DDR_PHY_VTCR1_0 0x07F0018F // HVIO=1, SHREN=1, SHRNK=0 ++// Set-up DATX8 General Configuration Registers ++// DXnGCR0-4 are untouched ++SET_BIT 4 DDR_PHY_PGCR5_0 0x4 ++DATA 4 DDR_PHY_PGCR6_0 0x00033200 // Enable CSN Bit Delay VT Compensation (AC already enabled by default) + drift limit ++// Set-up DATX8 General Configuration Registers ++DATA 4 DDR_PHY_DX0GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults ++DATA 4 DDR_PHY_DX1GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults ++DATA 4 DDR_PHY_DX2GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults ++DATA 4 DDR_PHY_DX3GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults ++DATA 4 DDR_PHY_DX0GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults ++DATA 4 DDR_PHY_DX1GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults ++DATA 4 DDR_PHY_DX2GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults ++DATA 4 DDR_PHY_DX3GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults ++// Set-up DATX8 DX Control Register 2 ++// PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA ++DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 ++// Set-up DATX8 IO Control Register ++DATA 4 DDR_PHY_DX8SLbIOCR_0 0x79000000 // I/O mode = LPDDR4 ++ ++#if DDR_TRAIN_IN_DCD ++// Wait PHY initialization end then launch DRAM initialization ++// Wait for bit 0 of PGSR0 to be '1' ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 // Check that no error occured ++ ++// Launch DRAM 0 initialization (set bit 0) ++DATA 4 DDR_PHY_PIR_0 0x180 ++DATA 4 DDR_PHY_PIR_0 0x181 ++ ++// DRAM 0 initialization end ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 ++ ++// Launch a second time DRAM initialization due to following Synopsys PHY bug: ++// Title: "PUB does not program LPDDR4 DRAM MR22 prior to running DRAM ZQ calibration" ++// Workaround: "Run DRAM Initialization twice" ++DATA 4 DDR_PHY_PIR_0 0x100 ++DATA 4 DDR_PHY_PIR_0 0x101 ++ ++// Wait (second time) DRAM 0 initialization end ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 ++ ++//---------------------------------------------------------------// ++// DATA training ++//---------------------------------------------------------------// ++// configure PHY for data training ++// The following register writes are recommended by SNPS prior to running training ++CLR_BIT 4 DDR_PHY_DQSDR0_0 0x00000001 // Disable drift ++SET_BIT 4 DDR_PHY_PGCR6_0 0x00000001 // Disable VT compensation ++CHECK_BITS_SET 4 DDR_PHY_PGSR1_0 0x40000000 // Disable VT compensation ++SET_BIT 4 DDR_PHY_PGCR1_0 0x00020040 // DISDIC=1; PUBMODE=1 ++// Per SNPS initialize BIST registers for VREF training ++DATA 4 DDR_PHY_BISTAR1_0 0x00010100 //BMRANK=1 (maximum rank minus 1); BIST Address Increment: 0x10 (16) ++DATA 4 DDR_PHY_BISTAR2_0 0x700003FF // BMBANK=8; BMCOL=0x400 (limit to min cols in JEDEC) ++DATA 4 DDR_PHY_BISTAR4_0 0x00003FFF // BMROW=0x4000 (limit to min rows in JEDEC) ++ ++// Set-up Data Training Configuration Register ++// Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys ++// case 9001045655: Design limitation in LPDDR4 mode: REFRESH must be disabled during DQS2DQ training). ++// (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). ++DATA 4 DDR_PHY_DTCR0_0 0x000071C7 // Set DTRPTN to 0x7. RFSHDT=0 ++DATA 4 DDR_PHY_DTCR1_0 0x00010236 // Set RANKEN ++ ++CLR_BIT 4 DDR_PHY_DX4GCR1_0 0xFF // disable byte 4 ++ ++// Launch Write leveling ++DATA 4 DDR_PHY_PIR_0 0x200 ++DATA 4 DDR_PHY_PIR_0 0x201 ++// Wait Write leveling to complete ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 ++ ++// Set DQS/DQSn glitch suppression resistor for training PHY0 ++DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012640F7 ++// Launch Read DQS training ++DATA 4 DDR_PHY_PIR_0 0x400 ++DATA 4 DDR_PHY_PIR_0 0x401 ++// Wait Read DQS training to complete PHY0 ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 ++// Remove DQS/DQSn glitch suppression resistor PHY0 ++DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01264000 ++ ++// DQS2DQ training, Write leveling, Deskew and eye trainings ++DATA 4 DDR_PHY_PIR_0 0x0010F800 ++DATA 4 DDR_PHY_PIR_0 0x0010F801 ++// Wait for training to complete ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 ++ ++// Launch VREF training ++DATA 4 DDR_PHY_PIR_0 0x00020000 ++DATA 4 DDR_PHY_PIR_0 0x00020001 ++// Wait for training to complete ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00080000 ++ ++//Re-allow uMCTL2 to send commands to DDR ++CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020040 // DISDIC=0, PUBMODE=0 ++ ++//DQS Drift Registers PHY0 ++CLR_BIT 4 DDR_PHY_DX0GCR3_0 0x08000000 ++CLR_BIT 4 DDR_PHY_DX1GCR3_0 0x08000000 ++CLR_BIT 4 DDR_PHY_DX2GCR3_0 0x08000000 ++CLR_BIT 4 DDR_PHY_DX3GCR3_0 0x08000000 ++// Enable DQS drift detection PHY0 ++DATA 4 DDR_PHY_DQSDR0_0 0x20188005 ++DATA 4 DDR_PHY_DQSDR1_0 0xA8AA0000 ++DATA 4 DDR_PHY_DQSDR2_0 0x00070200 ++ ++// Enable VT compensation ++CLR_BIT 4 DDR_PHY_PGCR6_0 0x1 ++ ++//Check that controller is ready to operate ++CHECK_BITS_SET 4 DDRC_STAT_0 0x1 ++ ++#endif +diff --git a/iMX8QX/imx8qx_dcd_1.2GHz.cfg-ccimx8x_sbc_express2GB b/iMX8QX/imx8qx_dcd_1.2GHz.cfg-ccimx8x_sbc_express2GB +new file mode 100644 +index 0000000..bb37fd5 +--- /dev/null ++++ b/iMX8QX/imx8qx_dcd_1.2GHz.cfg-ccimx8x_sbc_express2GB +@@ -0,0 +1,284 @@ ++#define __ASSEMBLY__ ++ ++#include ++#include ++ ++/* ++ * Device Configuration Data (DCD) ++ * ++ * Each entry must have the format: ++ * Addr-type Address Value ++ * ++ * where: ++ * Addr-type register length (1,2 or 4 bytes) ++ * Address absolute address of the register ++ * value value to be stored in the register ++ */ ++ ++#ifndef SCFW_DCD ++/* For 1200MHz DDR, DRC 600MHz operation */ ++DATA 4 0xff190000 0x00000CC8 /* DRC0 bringup */ ++#else ++/* Set the DRC rate to 600MHz, the PHY PLL will double this for the DRAM rate. */ ++uint32_t rate2 = SC_600MHZ; ++pm_set_clock_rate(SC_PT, SC_R_DRC_0, SC_PM_CLK_MISC0, &rate2); ++#endif ++ ++DATA 4 0x41C80208 0x1 ++DATA 4 0x41C80040 0xb ++DATA 4 0x41C80204 0x1 ++ ++/* DRAM 0 controller configuration begin */ ++DATA 4 DDRC_MSTR_0 0xC1080020 // Set LPDDR4, BL = 16 and active ranks ++DATA 4 DDRC_DERATEEN_0 0x00000203 // derate enable, derate values, byte to read MRR data ++DATA 4 DDRC_DERATEINT_0 0x0124F800 // derate MR4 interval read ++DATA 4 DDRC_RFSHTMG_0 0x004900A8 // tREFI, tRFC ++DATA 4 DDRC_INIT0_0 0x40030495 // pre_cke = 2ms, post_cke = 2us ++DATA 4 DDRC_INIT1_0 0x00770000 // dram_rstn = 200us ++DATA 4 DDRC_INIT3_0 0x00440024 // MR1, MR2 ++DATA 4 DDRC_INIT4_0 0x00F10000 // MR3, MR13 ++DATA 4 DDRC_RANKCTL_0 0x0000066F // diff_rank_wr_gap, diff_rank_rd_gap, max_rank_rd ++DATA 4 DDRC_DRAMTMG0_0 0x1618141A // wr2pr, tFAW, tRASmax, tRASmin ++DATA 4 DDRC_DRAMTMG1_0 0x00050526 // tXP, rd2pre, tRC ++DATA 4 DDRC_DRAMTMG2_0 0x060E1714 // WL, RL, rd2wr, wr2rd ++DATA 4 DDRC_DRAMTMG3_0 0x00909000 // tmrw, tmrd, tmod ++DATA 4 DDRC_DRAMTMG4_0 0x0B04060B // trcd, tccd, trrd, trp ++DATA 4 DDRC_DRAMTMG5_0 0x02030909 // tCKCKEH, tCKCKEL, tckesr, tcke ++DATA 4 DDRC_DRAMTMG6_0 0x02020006 // tckdpde, tckdpdx, tckcsx ++DATA 4 DDRC_DRAMTMG7_0 0x00000301 // tckpde, tckpdx ++DATA 4 DDRC_DRAMTMG12_0 0x00020510 // tCMDCKE, tCKEHCMD ++DATA 4 DDRC_DRAMTMG13_0 0x0B100002 // tODTLoff, tCCDMW, tPPD ++DATA 4 DDRC_DRAMTMG14_0 0x000000AD // txsr ++DATA 4 DDRC_ZQCTL0_0 0x02580012 // tZQCAL, tZQLAT ++DATA 4 DDRC_ZQCTL1_0 0x01E0493E // tZQReset, tzq_short_interval ++DATA 4 DDRC_DFITMG0_0 0x0499820A // dfi_t_ctrl_delay, dfi_t_rddata_en, dfi_tphy_wrdata, dfi_tphy_wrlat ++DATA 4 DDRC_DFITMG1_0 0x00070303 // dfi_t_wrdata_delay, dfi_t_dram_clk_disable, dfi_t_dram_clk_enable ++DATA 4 DDRC_DFITMG2_0 0x00001708 // dfi_tphy_rdcslat, dfi_tphy_wrcslat ++DATA 4 DDRC_DFIMISC_0 0x00000005 // dfi_data_cs_polarity ++DATA 4 DDRC_DFIUPD0_0 0x00400003 // Disable the automatic dfi_ctrlupd_req generation ++DATA 4 DDRC_DFIUPD1_0 0x008000A0 // dfi_ctrlupd_req generation interval generation (min and max) ++DATA 4 DDRC_DFIUPD2_0 0x80000000 // dfi_phyupd_en ++DATA 4 DDRC_ADDRMAP0_0 0x0000001F // addrmap_cs_bit0 ++DATA 4 DDRC_ADDRMAP3_0 0x00000000 // addrmap_col_b9, addrmap_col_b8, addrmap_col_b7, addrmap_col_b6 ++DATA 4 DDRC_ADDRMAP4_0 0x00001F1F // addrmap_col_b10 and addrmap_col_b11 set to de-activated ++DATA 4 DDRC_ADDRMAP1_0 0x00080808 // addrmap_bank_b2, addrmap_bank_b1, addrmap_bank_b0 ++DATA 4 DDRC_ADDRMAP5_0 0x07070707 // addrmap_row_b11, addrmap_row_b10_b2, addrmap_row_b1, addrmap_row_b0 ++DATA 4 DDRC_ADDRMAP6_0 0x07070707 // addrmap_row_b15, addrmap_row_b14, addrmap_row_b13, addrmap_row_b12 ++DATA 4 DDRC_DBICTL_0 0x00000007 // rd_dbi_en=wr_dbi_en=dm_en=1 ++DATA 4 DDRC_ODTMAP_0 0x00002211 // rank[3:0]_wr_odt, rank[3:0]_wr_odt ++DATA 4 DDRC_PCTRL_0_0 0x00000001 // Enable port 0 ++ ++DATA 4 DDRC_DFITMG0_SHADOW_0 0x00808000 ++ ++DATA 4 DDRC_PWRCTL_0 0x0000010D ++ ++DATA 4 0x41c80208 0x1 ++DATA 4 0x41c80040 0xf ++DATA 4 0x41c80204 0x1 ++ ++//------------------------------------------- ++// Configure registers for PHY initialization ++// Timings are computed for 1200MHz DRAM operation ++//-------------------------------------------- ++// Set-up DRAM Configuration Register ++DATA 4 DDR_PHY_DCR_0 0x0000040D // LPDDR4 selection with 8 bank ++// Set-up byte and bit swapping registers ++DATA 4 DDR_PHY_PGCR8_0 0x0001000A ++DATA 4 DDR_PHY_DX0DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping ++DATA 4 DDR_PHY_DX0DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping ++DATA 4 DDR_PHY_DX1DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping ++DATA 4 DDR_PHY_DX1DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping ++DATA 4 DDR_PHY_DX2DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping ++DATA 4 DDR_PHY_DX2DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping ++DATA 4 DDR_PHY_DX3DQMAP0_0 0x00053210 // DQ bit 0/1/2/3/4 remapping ++DATA 4 DDR_PHY_DX3DQMAP1_0 0x00004876 // DQ bit 5/6/7 and DM remapping ++DATA 4 DDR_PHY_CATR0_0 0x00141032 // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY ++DATA 4 DDR_PHY_CATR1_0 0x0103AAAA // Only for LPDDR3 but used here to know how LPDDR4 bytes are connected to PHY ++// Set-up PHY General Configuration Register ++// PGCR1,4,5,6,7 are untouched ++SET_BIT 4 DDR_PHY_PGCR1_0 0x000A0000 // DISDIC=1 (no uMCTL2 commands can go to memory) and WDQSEXT=1 ++DATA 4 DDR_PHY_PGCR0_0 0x87001E00 // Set ADCP=1 (Address Copy) ++DATA 4 DDR_PHY_PGCR2_0 0x00F0A193 // Set tREFPRD ++DATA 4 DDR_PHY_PGCR3_0 0x050A1080 // CKEN/CKNEN toggling and polarity ++// Set-up PHY Timing Register ++// PTR2 is untouched ++DATA 4 DDR_PHY_PTR0_0 0x4B025810 // tPLLPD, tPLLGS, tPHYRST ++DATA 4 DDR_PHY_PTR1_0 0x3A981518 // tPLLLOCK, tPLLRST ++// Set-up PLL Control Register ++DATA 4 DDR_PHY_PLLCR0_0 0x001C0000 ++DATA 4 DDR_PHY_DX8SLbPLLCR0_0 0x001C0000 ++// Set-up Impedance Control Register ++DATA 4 DDR_PHY_ZQCR_0 0x008A2C58 // Set ODT_MODE=0b10(LPDDR4 stype pullup) ++// ZPROG_DRAM_ODT and ZPROG_HOST_ODT ++DATA 4 DDR_PHY_ZQ0PR0_0 0x1BBBB // Optimal setting based on factory testing ++DATA 4 DDR_PHY_ZQ1PR0_0 0x1B9BB // Optimal setting based on factory testing ++// Set-up PHY Initialization Register ++DATA 4 DDR_PHY_PIR_0 0x32 ++// Launch initialization (set bit 0) ++DATA 4 DDR_PHY_PIR_0 0x33 ++ ++ ++//------------------------------------------- ++// Configure registers for DRAM initialization ++//------------------------------------------- ++// Set-up Mode Register ++// MR0, MR3, MR4, MR5 MR6 are untouched ++DATA 4 DDR_PHY_MR1_0 0x44 // Set BL, WR-PRE, nWR, RPST ++DATA 4 DDR_PHY_MR2_0 0x24 // Set RL/WL ++DATA 4 DDR_PHY_MR3_0 0xF1 // Set drive strength ++ ++DATA 4 DDR_PHY_MR11_0 0x54 // Set CA and DQ ODT ++DATA 4 DDR_PHY_MR22_0 0x15 // Set ODTE-CS=1 (overrides ODT_CA for CS1 as CS not shared between ranks) ++/* LPDDR4 mode register writes for CA and DQ VREF settings */ ++DATA 4 DDR_PHY_MR12_0 0x48 ++DATA 4 DDR_PHY_MR14_0 0x48 ++// Set-up DRAM Timing Parameters Register ++// DTPR6 is untouched ++DATA 4 DDR_PHY_DTPR0_0 0x0C331A09 // tRRD, tRAS, tRP, tRTP ++DATA 4 DDR_PHY_DTPR1_0 0x28300411 // tWLMRD, tFAW, tODTUP, tMRD ++DATA 4 DDR_PHY_DTPR2_0 0x0069615A // tRTW, tRTODT, tCMDCKE, tCKE, tVRCG, tXS ++DATA 4 DDR_PHY_DTPR3_0 0x01800501 // tODX, tCCD, tDLLK, tDQSCKmax, tDQSCK (FIXME double check tDLLK) ++DATA 4 DDR_PHY_DTPR4_0 0x01502B0C // tRFC, tWLO, tXP ++DATA 4 DDR_PHY_DTPR5_0 0x194C160D // tRC, tRCD, tWTR ++// Set-up PHY Timing Register ++DATA 4 DDR_PHY_PTR3_0 0x00249F00 // tDINIT0 ++DATA 4 DDR_PHY_PTR4_0 0x00000960 // tDINIT1 ++DATA 4 DDR_PHY_PTR5_0 0x0003A980 // tDINIT2 ++DATA 4 DDR_PHY_PTR6_0 0x027004B0 // tDINIT4, tDINIT3 ++ ++ ++// Set-up ODT Configuration Register ++// DDR ODT_CA signal is tied at boundary of DDR. Thus no need to drive it dynamically. ++DATA 4 DDR_PHY_RANKIDR_0 0x00000001 // Select rank 1 to write ++DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank1 disabled ++DATA 4 DDR_PHY_RANKIDR_0 0x00000000 // Select rank 0 to write ++DATA 4 DDR_PHY_ODTCR_0 0x00000000 // ODT of rank0 disabled ++ ++ ++// Set-up AC I/O Configuration Register ++// ACIOCR1-4 are untouched ++DATA 4 DDR_PHY_ACIOCR0_0 0x30070800 // PNUM2 (i.e.LPDDR4) selection [10:11] = 0x2 ++DATA 4 DDR_PHY_ACIOCR5_0 0x09000000 // I/O mode = LPDDR4 ++// Due to address copy set A[13] (=cke_B[0]) and A[15] (=cke_B[1]) outputs as always ON. ++DATA 4 DDR_PHY_ACIOCR1_0 0x44000000 ++// Set-up VREF Training Control Registers ++DATA 4 DDR_PHY_VTCR0_0 0xF0032008 // CK1, CK0, DRAM VREF set to same as MR12 ++DATA 4 DDR_PHY_VTCR1_0 0x07F0018F // HVIO=1, SHREN=1, SHRNK=0 ++// Set-up DATX8 General Configuration Registers ++// DXnGCR0-4 are untouched ++SET_BIT 4 DDR_PHY_PGCR5_0 0x4 ++DATA 4 DDR_PHY_PGCR6_0 0x00033200 // Enable CSN Bit Delay VT Compensation (AC already enabled by default) + drift limit ++// Set-up DATX8 General Configuration Registers ++DATA 4 DDR_PHY_DX0GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults ++DATA 4 DDR_PHY_DX1GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults ++DATA 4 DDR_PHY_DX2GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults ++DATA 4 DDR_PHY_DX3GCR5_0 0x09092020 // Set DXREFISELR0 and DXREFISELR1 to 0x30, maintain other defaults ++DATA 4 DDR_PHY_DX0GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults ++DATA 4 DDR_PHY_DX1GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults ++DATA 4 DDR_PHY_DX2GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults ++DATA 4 DDR_PHY_DX3GCR4_0 0x0E00BF3C // Set DXREFSSEL,DXREFSSELRANGE,DXREFSEN,DXREFIEN, maintain other defaults ++// Set-up DATX8 DX Control Register 2 ++// PREOEX=2.5tCK (0.5 more than MR1), POSOEX=1tCK (0.5 more than in MR3), LPWAKEUP_THRSH=0xA ++DATA 4 DDR_PHY_DX8SLbDXCTL2_0 0x001C1400 ++// Set-up DATX8 IO Control Register ++DATA 4 DDR_PHY_DX8SLbIOCR_0 0x79000000 // I/O mode = LPDDR4 ++ ++#if DDR_TRAIN_IN_DCD ++// Wait PHY initialization end then launch DRAM initialization ++// Wait for bit 0 of PGSR0 to be '1' ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 // Check that no error occured ++ ++// Launch DRAM 0 initialization (set bit 0) ++DATA 4 DDR_PHY_PIR_0 0x180 ++DATA 4 DDR_PHY_PIR_0 0x181 ++ ++// DRAM 0 initialization end ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 ++ ++// Launch a second time DRAM initialization due to following Synopsys PHY bug: ++// Title: "PUB does not program LPDDR4 DRAM MR22 prior to running DRAM ZQ calibration" ++// Workaround: "Run DRAM Initialization twice" ++DATA 4 DDR_PHY_PIR_0 0x100 ++DATA 4 DDR_PHY_PIR_0 0x101 ++ ++// Wait (second time) DRAM 0 initialization end ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 ++ ++//---------------------------------------------------------------// ++// DATA training ++//---------------------------------------------------------------// ++// configure PHY for data training ++// The following register writes are recommended by SNPS prior to running training ++CLR_BIT 4 DDR_PHY_DQSDR0_0 0x00000001 // Disable drift ++SET_BIT 4 DDR_PHY_PGCR6_0 0x00000001 // Disable VT compensation ++CHECK_BITS_SET 4 DDR_PHY_PGSR1_0 0x40000000 // Disable VT compensation ++SET_BIT 4 DDR_PHY_PGCR1_0 0x00020040 // DISDIC=1; PUBMODE=1 ++// Per SNPS initialize BIST registers for VREF training ++DATA 4 DDR_PHY_BISTAR1_0 0x00010100 //BMRANK=1 (maximum rank minus 1); BIST Address Increment: 0x10 (16) ++DATA 4 DDR_PHY_BISTAR2_0 0x700003FF // BMBANK=8; BMCOL=0x400 (limit to min cols in JEDEC) ++DATA 4 DDR_PHY_BISTAR4_0 0x00003FFF // BMROW=0x4000 (limit to min rows in JEDEC) ++ ++// Set-up Data Training Configuration Register ++// Note that DTCR0.RFSHDT are set to 0x0 as a workaround for PHY bug (Synopsys ++// case 9001045655: Design limitation in LPDDR4 mode: REFRESH must be disabled during DQS2DQ training). ++// (FYI avoiding refresh during training leads to Denali error (CUMULATIVE_REFRESH_POSTPONE_EXCEEDS_MAX_ALLOWED). ++DATA 4 DDR_PHY_DTCR0_0 0x000071C7 // Set DTRPTN to 0x7. RFSHDT=0 ++DATA 4 DDR_PHY_DTCR1_0 0x00010236 // Set RANKEN ++ ++CLR_BIT 4 DDR_PHY_DX4GCR1_0 0xFF // disable byte 4 ++ ++// Launch Write leveling ++DATA 4 DDR_PHY_PIR_0 0x200 ++DATA 4 DDR_PHY_PIR_0 0x201 ++// Wait Write leveling to complete ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00200000 ++ ++// Set DQS/DQSn glitch suppression resistor for training PHY0 ++DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x012640F7 ++// Launch Read DQS training ++DATA 4 DDR_PHY_PIR_0 0x400 ++DATA 4 DDR_PHY_PIR_0 0x401 ++// Wait Read DQS training to complete PHY0 ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00400000 ++// Remove DQS/DQSn glitch suppression resistor PHY0 ++DATA 4 DDR_PHY_DX8SLbDQSCTL_0 0x01264000 ++ ++// DQS2DQ training, Write leveling, Deskew and eye trainings ++DATA 4 DDR_PHY_PIR_0 0x0010F800 ++DATA 4 DDR_PHY_PIR_0 0x0010F801 ++// Wait for training to complete ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x7FF40000 ++ ++// Launch VREF training ++DATA 4 DDR_PHY_PIR_0 0x00020000 ++DATA 4 DDR_PHY_PIR_0 0x00020001 ++// Wait for training to complete ++CHECK_BITS_SET 4 DDR_PHY_PGSR0_0 0x1 ++CHECK_BITS_CLR 4 DDR_PHY_PGSR0_0 0x00080000 ++ ++//Re-allow uMCTL2 to send commands to DDR ++CLR_BIT 4 DDR_PHY_PGCR1_0 0x00020040 // DISDIC=0, PUBMODE=0 ++ ++//DQS Drift Registers PHY0 ++CLR_BIT 4 DDR_PHY_DX0GCR3_0 0x08000000 ++CLR_BIT 4 DDR_PHY_DX1GCR3_0 0x08000000 ++CLR_BIT 4 DDR_PHY_DX2GCR3_0 0x08000000 ++CLR_BIT 4 DDR_PHY_DX3GCR3_0 0x08000000 ++// Enable DQS drift detection PHY0 ++DATA 4 DDR_PHY_DQSDR0_0 0x20188005 ++DATA 4 DDR_PHY_DQSDR1_0 0xA8AA0000 ++DATA 4 DDR_PHY_DQSDR2_0 0x00070200 ++ ++// Enable VT compensation ++CLR_BIT 4 DDR_PHY_PGCR6_0 0x1 ++ ++//Check that controller is ready to operate ++CHECK_BITS_SET 4 DDRC_STAT_0 0x1 ++ ++#endif diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bb b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bb new file mode 100644 index 000000000..e90ae6ba2 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bb @@ -0,0 +1,230 @@ +# Copyright 2017-2018 NXP + +DESCRIPTION = "Generate Boot Loader for i.MX8 device" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" +SECTION = "BSP" + +require imx-mkimage_git.inc + +inherit deploy + +SRC_URI_append = " \ + file://0001-cc8x-configure-DDRC-for-Micron-MT53B256M32D1.patch \ + file://0002-cc8x-add-second-DCD-for-the-2GB-variant-of-the-cc8x.patch \ +" + +# Add CFLAGS with native INCDIR & LIBDIR for imx-mkimage build +CFLAGS = "-O2 -Wall -std=c99 -static -I ${STAGING_INCDIR_NATIVE} -L ${STAGING_LIBDIR_NATIVE}" + +BOOT_TOOLS = "imx-boot-tools" +BOOT_NAME = "imx-boot" +PROVIDES = "${BOOT_NAME}" + +IMX_FIRMWARE = "imx-sc-firmware" +IMX_FIRMWARE_mx8mq = "firmware-imx" +IMX_FIRMWARE_mx8qxp = "firmware-imx imx-sc-firmware" +DEPENDS += " \ + u-boot \ + ${IMX_FIRMWARE} \ + imx-atf \ + ${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'optee-os-imx', '', d)} \ +" +DEPENDS_append_mx8mq = " dtc-native" + +# For i.MX 8, this package aggregates the imx-m4-demos +# output. Note that this aggregation replaces the aggregation +# that would otherwise be done in the image build as controlled +# by IMAGE_BOOTFILES_DEPENDS and IMAGE_BOOTFILES in image_types_fsl.bbclass +IMX_M4_DEMOS = "" +IMX_M4_DEMOS_mx8qm = "imx-m4-demos:do_deploy" +IMX_M4_DEMOS_mx8qxp = "imx-m4-demos:do_deploy" + +# This package aggregates output deployed by other packages, +# so set the appropriate dependencies +do_compile[depends] += " \ + virtual/bootloader:do_deploy \ + ${@' '.join('%s:do_deploy' % r for r in '${IMX_FIRMWARE}'.split() )} \ + imx-atf:do_deploy \ + ${IMX_M4_DEMOS} \ + ${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'optee-os-imx:do_deploy', '', d)} \ +" + +SC_FIRMWARE_NAME ?= "scfw_tcm.bin" + +ATF_MACHINE_NAME ?= "bl31-imx8qm.bin" +ATF_MACHINE_NAME_mx8qm = "bl31-imx8qm.bin" +ATF_MACHINE_NAME_mx8qxp = "bl31-imx8qxp.bin" +ATF_MACHINE_NAME_mx8mq = "bl31-imx8mq.bin" + +DCD_NAME ?= "imx8qm_dcd.cfg.tmp" +DCD_NAME_mx8qm = "imx8qm_dcd.cfg.tmp" +DCD_NAME_mx8qxp = "imx8qx_dcd.cfg.tmp" + +DCD_SRC_NAME = "imx8qx_dcd_1.2GHz.cfg" + +UBOOT_NAME = "u-boot-${MACHINE}.bin" +BOOT_CONFIG_MACHINE = "${BOOT_NAME}" + +TOOLS_NAME ?= "mkimage_imx8" + +SOC_TARGET ?= "iMX8QM" +SOC_TARGET_mx8qm = "iMX8QM" +SOC_TARGET_mx8qxp = "iMX8QX" +SOC_TARGET_mx8mq = "iMX8M" + +DEPLOY_OPTEE = "false" +DEPLOY_OPTEE_mx8mq = "${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'true', 'false', d)}" + +IMXBOOT_TARGETS ?= "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \ + bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand', \ + 'flash_multi_cores flash flash_dcd', d), d)}" +IMXBOOT_TARGETS_mx8qxp = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \ + bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand', \ + 'flash_all flash', d), d)}" +IMXBOOT_TARGETS_ccimx8x = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi_a0', \ + bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand_a0', \ + 'flash_dcd_a0 flash_multi_cores_a0', d), d)}" +IMXBOOT_TARGETS_imx8qxpddr3arm2 = "flash_ddr3_dcd_a0" + +S = "${WORKDIR}/git" + +do_compile () { + if [ "${SOC_TARGET}" = "iMX8M" ]; then + echo 8MQ boot binary build + for ddr_firmware in ${DDR_FIRMWARE_NAME}; do + echo "Copy ddr_firmware: ${ddr_firmware} from ${DEPLOY_DIR_IMAGE} -> ${S}/${SOC_TARGET} " + cp ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${S}/${SOC_TARGET}/ + done + cp ${DEPLOY_DIR_IMAGE}/signed_hdmi_imx8m.bin ${S}/${SOC_TARGET}/ + cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ${S}/${SOC_TARGET}/u-boot-spl.bin + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME} ${S}/${SOC_TARGET}/ + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin ${S}/${SOC_TARGET}/ + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/mkimage_uboot ${S}/${SOC_TARGET}/ + + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${S}/${SOC_TARGET}/bl31.bin + cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${S}/${SOC_TARGET}/u-boot.bin + + elif [ "${SOC_TARGET}" = "iMX8QM" ]; then + echo 8QM boot binary build + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${S}/${SOC_TARGET}/scfw_tcm.bin + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${S}/${SOC_TARGET}/bl31.bin + cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${S}/${SOC_TARGET}/u-boot.bin + + cp ${DEPLOY_DIR_IMAGE}/imx8qm_m4_0_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin ${S}/${SOC_TARGET}/m40_tcm.bin + cp ${DEPLOY_DIR_IMAGE}/imx8qm_m4_1_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin ${S}/${SOC_TARGET}/m41_tcm.bin + + else + echo 8QX boot binary build + cp ${DEPLOY_DIR_IMAGE}/imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin ${S}/${SOC_TARGET}/m40_tcm.bin + cp ${DEPLOY_DIR_IMAGE}/imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin ${S}/${SOC_TARGET}/CM4.bin + cp ${DEPLOY_DIR_IMAGE}/ahab-container.img ${S}/${SOC_TARGET}/ + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${S}/${SOC_TARGET}/scfw_tcm.bin + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${S}/${SOC_TARGET}/bl31.bin + for type in ${UBOOT_CONFIG}; do + cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME}-${type} ${S}/${SOC_TARGET}/u-boot.bin-${type} + done + fi + + # Copy TEE binary to SoC target folder to mkimage + if ${DEPLOY_OPTEE}; then + cp ${DEPLOY_DIR_IMAGE}/tee.bin ${S}/${SOC_TARGET}/ + fi + + # mkimage for i.MX8 + for type in ${UBOOT_CONFIG}; do + cd ${S}/${SOC_TARGET} + ln -sf u-boot.bin-${type} u-boot.bin + ln -sf ${DCD_SRC_NAME}-${type} ${DCD_SRC_NAME} + cd - + for target in ${IMXBOOT_TARGETS}; do + echo "building ${SOC_TARGET} - ${type} - ${target}" + make SOC=${SOC_TARGET} ${target} + if [ -e "${S}/${SOC_TARGET}/flash.bin" ]; then + cp ${S}/${SOC_TARGET}/flash.bin ${S}/${BOOT_CONFIG_MACHINE}-${type}.bin-${target} + fi + done + cp ${S}/${SOC_TARGET}/${DCD_NAME} ${S}/${SOC_TARGET}/${DCD_NAME}-${type} + rm ${S}/${SOC_TARGET}/${DCD_SRC_NAME} + rm ${S}/${SOC_TARGET}/u-boot.bin + # Remove u-boot-atf.bin so it gets generated with the next iteration's U-Boot + rm ${S}/${SOC_TARGET}/u-boot-atf.bin + done +} + +SYSROOT_DIRS += "/boot" + +do_install () { + install -d ${D}/boot + for type in ${UBOOT_CONFIG}; do + for target in ${IMXBOOT_TARGETS}; do + install -m 0644 ${S}/${BOOT_CONFIG_MACHINE}-${type}.bin-${target} ${D}/boot/ + done + done +} + +DEPLOYDIR_IMXBOOT = "${BOOT_TOOLS}" +do_deploy () { + install -d ${DEPLOYDIR}/${DEPLOYDIR_IMXBOOT} + + # copy the tool mkimage to deploy path and sc fw, dcd and uboot + for type in ${UBOOT_CONFIG}; do + install -m 0644 ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME}-${type} ${DEPLOYDIR}/${DEPLOYDIR_IMXBOOT} + done + if [ "${SOC_TARGET}" = "iMX8M" ]; then + install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ${DEPLOYDIR}/${DEPLOYDIR_IMXBOOT} + for ddr_firmware in ${DDR_FIRMWARE_NAME}; do + install -m 0644 ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${DEPLOYDIR}/${DEPLOYDIR_IMXBOOT} + done + install -m 0644 ${DEPLOY_DIR_IMAGE}/signed_hdmi*.bin ${DEPLOYDIR}/${DEPLOYDIR_IMXBOOT} + + install -m 0755 ${S}/${SOC_TARGET}/${TOOLS_NAME} ${DEPLOYDIR}/${DEPLOYDIR_IMXBOOT} + + install -m 0755 ${S}/${SOC_TARGET}/mkimage_fit_atf.sh ${DEPLOYDIR}/${DEPLOYDIR_IMXBOOT} + elif [ "${SOC_TARGET}" = "iMX8QM" ]; then + install -m 0644 ${S}/${SOC_TARGET}/${DCD_NAME} ${DEPLOYDIR}/${DEPLOYDIR_IMXBOOT} + + install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} + else + # the DCD only needs to get copied when using an A0 CPU + for type in ${UBOOT_CONFIG}; do + install -m 0644 ${S}/${SOC_TARGET}/${DCD_NAME}-${type} ${DEPLOYDIR}/${DEPLOYDIR_IMXBOOT} + done + install -m 0644 ${S}/${SOC_TARGET}/ahab-container.img ${DEPLOYDIR}/${DEPLOYDIR_IMXBOOT} + install -m 0644 ${S}/${SOC_TARGET}/m40_tcm.bin ${DEPLOYDIR}/${DEPLOYDIR_IMXBOOT} + install -m 0644 ${S}/${SOC_TARGET}/CM4.bin ${DEPLOYDIR}/${DEPLOYDIR_IMXBOOT} + + install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} + fi + + # copy tee.bin to deploy path + if "${DEPLOY_OPTEE}"; then + install -m 0644 ${DEPLOY_DIR_IMAGE}/tee.bin ${DEPLOYDIR}/${DEPLOYDIR_IMXBOOT} + fi + + # copy makefile (soc.mak) for reference + install -m 0644 ${S}/${SOC_TARGET}/soc.mak ${DEPLOYDIR}/${DEPLOYDIR_IMXBOOT} + + # copy the generated boot image to deploy path + for type in ${UBOOT_CONFIG}; do + IMAGE_IMXBOOT_TARGET="" + for target in ${IMXBOOT_TARGETS}; do + # Use first "target" as IMAGE_IMXBOOT_TARGET + if [ "$IMAGE_IMXBOOT_TARGET" = "" ]; then + IMAGE_IMXBOOT_TARGET="$target" + echo "Set boot target as $IMAGE_IMXBOOT_TARGET" + fi + install -m 0644 ${S}/${BOOT_CONFIG_MACHINE}-${type}.bin-${target} ${DEPLOYDIR} + done + cd ${DEPLOYDIR} + ln -sf ${BOOT_CONFIG_MACHINE}-${type}.bin-${IMAGE_IMXBOOT_TARGET} ${BOOT_CONFIG_MACHINE}-${type}.bin + cd - + done +} + +addtask deploy before do_build after do_compile + +FILES_${PN} = "/boot" + +COMPATIBLE_MACHINE = "(mx8qm|mx8qxp|mx8mq)" +PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_%.bbappend b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_%.bbappend new file mode 100644 index 000000000..c8ba2530d --- /dev/null +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_%.bbappend @@ -0,0 +1,5 @@ +# Copyright (C) 2018 Digi International, Inc. + +SRC_URI_append = " \ + file://0001-cc8x-configure-DDRC-for-Micron-MT53B256M32D1.patch \ +" diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_git.bb b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_git.bb new file mode 100644 index 000000000..a9c8a2478 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_git.bb @@ -0,0 +1,43 @@ +# Copyright (C) 2016 Freescale Semiconductor +# Copyright 2017 NXP + +DESCRIPTION = "i.MX make image" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" +SECTION = "BSP" + +require imx-mkimage_git.inc + +inherit native deploy + +S = "${WORKDIR}/git" + +CFLAGS = "-O2 -Wall -std=c99 -static -I ${STAGING_INCDIR} -L ${STAGING_LIBDIR}" + +do_compile () { + cd ${S} + oe_runmake clean + oe_runmake bin + + oe_runmake -C iMX8M -f soc.mak mkimage_imx8 + + oe_runmake -C iMX8QM -f soc.mak imx8qm_dcd.cfg.tmp + oe_runmake -C iMX8QX -f soc.mak imx8qx_dcd.cfg.tmp +} + +BOOT_TOOLS = "imx-boot-tools" +SYSROOT_DIRS += "/boot" + +do_install () { + cd ${S} + install -d ${D}${bindir} + install -m 0755 iMX8M/mkimage_imx8 ${D}${bindir}/mkimage_imx8m + install -m 0755 mkimage_imx8 ${D}${bindir}/mkimage_imx8 +} + +do_deploy () { + install -m 0644 ${S}/iMX8QM/imx8qm_dcd.cfg.tmp ${DEPLOYDIR} + install -m 0644 ${S}/iMX8QX/imx8qx_dcd.cfg.tmp ${DEPLOYDIR} +} + +addtask deploy before do_build after do_install diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_git.inc b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_git.inc new file mode 100644 index 000000000..82519f97c --- /dev/null +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_git.inc @@ -0,0 +1,8 @@ +# Copyright 2017-2018 NXP + +IMX_MKIMAGE_SRC ?= "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https" +SRCBRANCH = "imx_4.9.88_imx8qxp_beta2" +SRC_URI = "${IMX_MKIMAGE_SRC};branch=${SRCBRANCH}" +SRCREV = "5c18f544c460747daed2844714c49685ed6ce897" + +DEPENDS = "zlib-native openssl-native" diff --git a/meta-digi-arm/recipes-bsp/imx-sc-firmware/imx-sc-firmware_0.7.bb b/meta-digi-arm/recipes-bsp/imx-sc-firmware/imx-sc-firmware_0.7.bb new file mode 100644 index 000000000..37f16775f --- /dev/null +++ b/meta-digi-arm/recipes-bsp/imx-sc-firmware/imx-sc-firmware_0.7.bb @@ -0,0 +1,48 @@ +# Copyright (C) 2016 Freescale Semiconductor +# Copyright 2017-2018 NXP +# Copyright (C) 2018 Digi International. + +DESCRIPTION = "i.MX System Controller Firmware" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=ab61cab9599935bfe9f700405ef00f28" +SECTION = "BSP" + +inherit pkgconfig deploy + +SRC_URI = "${DIGI_PKG_SRC}/${PN}-${PV}.tar.gz" + +SRC_URI[md5sum] = "2b403986a9a0e47528baa3138015ce02" +SRC_URI[sha256sum] = "dbdffdd9b0d527218a1bf90aad2ef8dcee1b4c5170e5a983ae6f5e54b062cddc" + +S = "${WORKDIR}/${PN}-${PV}" + +SC_FIRMWARE_NAME ?= "mx8qx-${DIGI_FAMILY}-scfw-tcm.bin" +symlink_name = "scfw_tcm.bin" + +SYSROOT_DIRS += "/boot" + +do_install () { + install -d ${D}/boot + install -m 0644 ${S}/${SC_FIRMWARE_NAME} ${D}/boot/ +} + +BOOT_TOOLS = "imx-boot-tools" + +do_deploy () { + install -d ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0644 ${S}/${SC_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/ + cd ${DEPLOYDIR}/${BOOT_TOOLS}/ + rm -f ${symlink_name} + ln -sf ${SC_FIRMWARE_NAME} ${symlink_name} + cd - +} + +addtask deploy after do_install + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +FILES_${PN} = "/boot" + +COMPATIBLE_MACHINE = "(ccimx8x)" diff --git a/meta-digi-arm/recipes-bsp/imx-vpu/imx-vpu_%.bbappend b/meta-digi-arm/recipes-bsp/imx-vpu/imx-vpu_%.bbappend new file mode 100644 index 000000000..8d717ae01 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/imx-vpu/imx-vpu_%.bbappend @@ -0,0 +1,3 @@ +PLATFORM_mx8 = "IMX8" + +COMPATIBLE_MACHINE = "(mx6|mx8x)" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot.inc b/meta-digi-arm/recipes-bsp/u-boot/u-boot-2015.04.inc similarity index 100% rename from meta-digi-arm/recipes-bsp/u-boot/u-boot.inc rename to meta-digi-arm/recipes-bsp/u-boot/u-boot-2015.04.inc diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6qpsbc/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6qpsbc/boot.txt similarity index 100% rename from meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6qpsbc/boot.txt rename to meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6qpsbc/boot.txt diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6qpsbc/install_linux_fw_sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6qpsbc/install_linux_fw_sd.txt similarity index 100% rename from meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6qpsbc/install_linux_fw_sd.txt rename to meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6qpsbc/install_linux_fw_sd.txt diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6sbc/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6sbc/boot.txt similarity index 100% rename from meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6sbc/boot.txt rename to meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6sbc/boot.txt diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6sbc/install_linux_fw_sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6sbc/install_linux_fw_sd.txt similarity index 100% rename from meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6sbc/install_linux_fw_sd.txt rename to meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6sbc/install_linux_fw_sd.txt diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6ulsbc/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulsbc/boot.txt similarity index 89% rename from meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6ulsbc/boot.txt rename to meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulsbc/boot.txt index 41fabd40f..61ad40243 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6ulsbc/boot.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulsbc/boot.txt @@ -13,7 +13,7 @@ else # if test "${module_variant}" = "0x02" || test "${module_variant}" = "0x04"; then setenv fdt_file zImage-imx6ul-ccimx6ulsbc-wb.dtb - elif test "${module_variant}" = "0x03"; then + elif test "${module_variant}" = "0x03" || test "${module_variant}" = "0x05"; then setenv fdt_file zImage-imx6ul-ccimx6ulsbc.dtb else echo "------ Using default fdt_file: $fdt_file" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6ulsbc/install_linux_fw_sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulsbc/install_linux_fw_sd.txt similarity index 98% rename from meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6ulsbc/install_linux_fw_sd.txt rename to meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulsbc/install_linux_fw_sd.txt index f6dfc5a08..2a63489e5 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6ulsbc/install_linux_fw_sd.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulsbc/install_linux_fw_sd.txt @@ -23,7 +23,7 @@ fi if test -n "${module_variant}"; then if test "${module_variant}" = "0x02" || test "${module_variant}" = "0x03"; then setenv INSTALL_UBOOT_FILENAME u-boot-ccimx6ulsbc.imx; - elif test "${module_variant}" = "0x04"; then + elif test "${module_variant}" = "0x04" || test "${module_variant}" = "0x05"; then setenv INSTALL_UBOOT_FILENAME u-boot-ccimx6ulsbc1GB.imx; fi fi diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6ulstarter/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulstarter/boot.txt similarity index 89% rename from meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6ulstarter/boot.txt rename to meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulstarter/boot.txt index 875f453de..cad47192a 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6ulstarter/boot.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulstarter/boot.txt @@ -13,7 +13,7 @@ else # if test "${module_variant}" = "0x02" || test "${module_variant}" = "0x04"; then setenv fdt_file zImage-imx6ul-ccimx6ulstarter-wb.dtb - elif test "${module_variant}" = "0x03"; then + elif test "${module_variant}" = "0x03" || test "${module_variant}" = "0x05"; then setenv fdt_file zImage-imx6ul-ccimx6ulstarter.dtb else echo "------ Using default fdt_file: $fdt_file" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6ulstarter/install_linux_fw_sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulstarter/install_linux_fw_sd.txt similarity index 98% rename from meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6ulstarter/install_linux_fw_sd.txt rename to meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulstarter/install_linux_fw_sd.txt index 6f9a1614b..b9d1c97c2 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2015.04/ccimx6ulstarter/install_linux_fw_sd.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx6ulstarter/install_linux_fw_sd.txt @@ -23,7 +23,7 @@ fi if test -n "${module_variant}"; then if test "${module_variant}" = "0x02" || test "${module_variant}" = "0x03"; then setenv INSTALL_UBOOT_FILENAME u-boot-ccimx6ulstarter.imx; - elif test "${module_variant}" = "0x04"; then + elif test "${module_variant}" = "0x04" || test "${module_variant}" = "0x05"; then setenv INSTALL_UBOOT_FILENAME u-boot-ccimx6ulstarter1GB.imx; fi fi diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/boot.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/boot.txt new file mode 100644 index 000000000..e8895fadd --- /dev/null +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/boot.txt @@ -0,0 +1,43 @@ +# +# U-Boot bootscript for EMMC/SD images created by Yocto. +# + +# +# Set device tree filename depending on the board ID (if defined) +# +if test -n "${board_id}"; then + setenv fdt_file Image.gz-ccimx8x-sbc-express-id${board_id}.dtb +else + # + # Set device tree filename depending on the hardware variant + # + if test "${module_variant}" = "0x01"; then + setenv fdt_file Image.gz-ccimx8x-sbc-express-wb.dtb + elif test "${module_variant}" = "0x02"; then + setenv fdt_file Image.gz-ccimx8x-sbc-express-wb.dtb + elif test "${module_variant}" = "0x03"; then + setenv fdt_file Image.gz-ccimx8x-sbc-express.dtb + elif test "${module_variant}" = "0x04"; then + setenv fdt_file Image.gz-ccimx8x-sbc-express-wb.dtb + elif test "${module_variant}" = "0x05"; then + setenv fdt_file Image.gz-ccimx8x-sbc-express.dtb + else + echo "------ Using default fdt_file" + 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 +dboot linux mmc ${mmcbootdev}:${mmcpart} diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/install_linux_fw_sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/install_linux_fw_sd.txt new file mode 100644 index 000000000..36c709a0b --- /dev/null +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/install_linux_fw_sd.txt @@ -0,0 +1,162 @@ +# +# 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 + +# Determine U-Boot file to program basing on module variant +if test -n "${module_variant}"; then + if test "${module_variant}" = "0x01"; then + setenv INSTALL_UBOOT_FILENAME u-boot-ccimx8x-sbc-express.bin; + fi +fi +# Use 'test -n ...' because 'test -z ...' does not work well on old versions of +# u-boot when the checked value is empty. +if test -n "${INSTALL_UBOOT_FILENAME}"; then + true; +else + echo ""; + echo "[ERROR] Cannot determine U-Boot file for this module!"; + echo ""; + echo "1. Set variable 'INSTALL_UBOOT_FILENAME' depending on your ConnectCore 8X variant:"; + echo " - For a QuadXPlus CPU with 1GB DDR3, run:"; + echo " => setenv INSTALL_UBOOT_FILENAME u-boot-ccimx8x-sbc-express.bin"; + echo ""; + echo "2. Run the install script again."; + echo ""; + echo "Aborted"; + echo ""; + exit; +fi; + +setenv INSTALL_MMCDEV 1 +setenv INSTALL_LINUX_FILENAME dey-image-qt-##GRAPHICAL_BACKEND##-ccimx8x-sbc-express.boot.vfat +setenv INSTALL_RECOVERY_FILENAME dey-image-qt-##GRAPHICAL_BACKEND##-ccimx8x-sbc-express.recovery.vfat +setenv INSTALL_ROOTFS_FILENAME dey-image-qt-##GRAPHICAL_BACKEND##-ccimx8x-sbc-express.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} fat ${INSTALL_UBOOT_FILENAME} +if test $? -eq 1; then + echo "[ERROR] Failed to update U-Boot boot loader!"; + echo ""; + echo "Aborted."; + exit; +fi + +# Set 'bootcmd' to 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 +# - Configure recovery to wipe 'update' partition +# - Run 'recovery' and let the system boot after +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 \">> Installing Linux kernel and device tree files\"; + echo \"\"; + echo \"\"; + update linux mmc ${INSTALL_MMCDEV} fat ${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} fat ${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} fat ${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; + saveenv; + echo \"\"; + echo \"\"; + echo \">> Firmware installation complete. Rebooting into recovery mode for final deployment.\"; + echo \"\"; + echo \"\"; + sleep 1; + reset; +" + +saveenv +reset diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2015.04.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2015.04.bb index b726aa3ba..6afbffc03 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2015.04.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2015.04.bb @@ -1,6 +1,6 @@ # Copyright (C) 2012-2018 Digi International -require u-boot.inc +require u-boot-2015.04.inc DESCRIPTION = "Bootloader for Digi platforms" LICENSE = "GPLv2+" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb new file mode 100644 index 000000000..54f0b1958 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb @@ -0,0 +1,172 @@ +# Copyright (C) 2018 Digi International + +require recipes-bsp/u-boot/u-boot.inc + +DESCRIPTION = "Bootloader for Digi platforms" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6" +SECTION = "bootloaders" + +DEPENDS += "bc-native dtc-native u-boot-mkimage-native" +DEPENDS += "${@base_conditional('TRUSTFENCE_SIGN', '1', 'trustfence-sign-tools-native', '', d)}" + +PROVIDES += "u-boot" + +SRCBRANCH = "v2017.03/master" +SRCREV = "${AUTOREV}" + +S = "${WORKDIR}/git" + +# Select internal or Github U-Boot repo +UBOOT_GIT_URI ?= "${@base_conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}u-boot-denx.git', '${DIGI_GITHUB_GIT}/u-boot.git', d)}" + +SRC_URI = " \ + ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ +" + +SRC_URI_append = " \ + file://boot.txt \ + file://install_linux_fw_sd.txt \ +" + +LOCALVERSION ?= "" +inherit fsl-u-boot-localversion + +EXTRA_OEMAKE_append = " KCFLAGS=-fgnu89-inline" + +UBOOT_EXTRA_CONF ?= "" + +python __anonymous() { + if (d.getVar("TRUSTFENCE_DEK_PATH", True) not in ["0", None]) and (d.getVar("TRUSTFENCE_SIGN", True) != "1"): + bb.fatal("Only signed U-Boot images can be encrypted. Generate signed images (TRUSTFENCE_SIGN = \"1\") or remove encryption (TRUSTFENCE_DEK_PATH = \"0\")") +} + +do_compile () { + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then + sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' ${S}/config.mk + fi + + unset LDFLAGS + unset CFLAGS + unset CPPFLAGS + + if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ] + then + echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion + echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion + fi + + if [ -n "${UBOOT_CONFIG}" ] + then + unset i j k + for config in ${UBOOT_MACHINE}; do + i=$(expr $i + 1); + for type in ${UBOOT_CONFIG}; do + j=$(expr $j + 1); + if [ $j -eq $i ] + then + oe_runmake -C ${S} O=${B}/${config} ${config} + + # Reconfigure U-Boot with Digi UBOOT_EXTRA_CONF + for var in ${UBOOT_EXTRA_CONF}; do + echo "${var}" >> ${B}/${config}/.config + done + oe_runmake -C ${S} O=${B}/${config} oldconfig + + oe_runmake -C ${S} O=${B}/${config} ${UBOOT_MAKE_TARGET} + for binary in ${UBOOT_BINARIES}; do + k=$(expr $k + 1); + if [ $k -eq $i ]; then + cp ${B}/${config}/${binary} ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} + fi + done + unset k + + # Secure boot artifacts + if [ "${TRUSTFENCE_SIGN}" = "1" ] + then + cp ${B}/${config}/u-boot-dtb-signed.imx ${B}/${config}/u-boot-dtb-signed-${type}.${UBOOT_SUFFIX} + cp ${B}/${config}/u-boot-dtb-usb-signed.imx ${B}/${config}/u-boot-dtb-usb-signed-${type}.${UBOOT_SUFFIX} + if [ "${TRUSTFENCE_DEK_PATH}" != "0" ] + then + cp ${B}/${config}/u-boot-dtb-encrypted.imx ${B}/${config}/u-boot-dtb-encrypted-${type}.${UBOOT_SUFFIX} + fi + fi + fi + done + unset j + done + unset i + else + oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE} + oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET} + fi +} + +TF_BOOTSCRIPT_SEDFILTER = "" +TF_BOOTSCRIPT_SEDFILTER_ccimx6 = "${@tf_bootscript_sedfilter(d)}" +TF_BOOTSCRIPT_SEDFILTER_ccimx6ul = "${@tf_bootscript_sedfilter(d)}" + +def tf_bootscript_sedfilter(d): + tf_initramfs = d.getVar('TRUSTFENCE_INITRAMFS_IMAGE',True) or "" + return "s,\(^[[:blank:]]*\)true.*,\\1setenv boot_initrd true\\n\\1setenv initrd_file %s-${MACHINE}.cpio.gz.u-boot.tf,g" % tf_initramfs if tf_initramfs else "" + +do_deploy_append() { + # Remove canonical U-Boot symlinks for ${UBOOT_CONFIG} currently in the form: + # u-boot-.- + # u-boot- + # and add a more suitable symlink in the form: + # u-boot--. + if [ -n "${UBOOT_CONFIG}" ] && [ "${TRUSTFENCE_SIGN}" = "1" ] + then + for config in ${UBOOT_MACHINE}; do + i=$(expr $i + 1); + for type in ${UBOOT_CONFIG}; do + j=$(expr $j + 1); + if [ $j -eq $i ] + then + install ${B}/${config}/SRK_efuses.bin SRK_efuses-${PV}-${PR}.bin + ln -sf SRK_efuses-${PV}-${PR}.bin SRK_efuses.bin + + install ${B}/${config}/u-boot-dtb-signed-${type}.${UBOOT_SUFFIX} u-boot-dtb-signed-${type}-${PV}-${PR}.${UBOOT_SUFFIX} + ln -sf u-boot-dtb-signed-${type}-${PV}-${PR}.${UBOOT_SUFFIX} u-boot-dtb-signed-${type}.${UBOOT_SUFFIX} + + install ${B}/${config}/u-boot-dtb-usb-signed-${type}.${UBOOT_SUFFIX} u-boot-dtb-usb-signed-${type}-${PV}-${PR}.${UBOOT_SUFFIX} + ln -sf u-boot-dtb-usb-signed-${type}-${PV}-${PR}.${UBOOT_SUFFIX} u-boot-dtb-usb-signed-${type}.${UBOOT_SUFFIX} + + if [ "${TRUSTFENCE_DEK_PATH}" != "0" ] + then + install ${B}/${config}/u-boot-dtb-encrypted-${type}.${UBOOT_SUFFIX} u-boot-dtb-encrypted-${type}-${PV}-${PR}.${UBOOT_SUFFIX} + ln -sf u-boot-dtb-encrypted-${type}-${PV}-${PR}.${UBOOT_SUFFIX} u-boot-dtb-encrypted-${type}.${UBOOT_SUFFIX} + fi + fi + done + unset j + done + unset i + fi + + # DEY firmware install script + sed -i -e 's,##GRAPHICAL_BACKEND##,${GRAPHICAL_BACKEND},g' ${WORKDIR}/install_linux_fw_sd.txt + mkimage -T script -n "DEY firmware install script" -C none -d ${WORKDIR}/install_linux_fw_sd.txt ${DEPLOYDIR}/install_linux_fw_sd.scr + + # Boot script for DEY images (reconfigure on-the-fly if TRUSTFENCE is enabled) + TMP_BOOTSCR="$(mktemp ${WORKDIR}/bootscr.XXXXXX)" + sed -e "${TF_BOOTSCRIPT_SEDFILTER}" ${WORKDIR}/boot.txt > ${TMP_BOOTSCR} + mkimage -T script -n bootscript -C none -d ${TMP_BOOTSCR} ${DEPLOYDIR}/boot.scr + + # Sign the scripts + if [ "${TRUSTFENCE_SIGN}" = "1" ]; then + export CONFIG_SIGN_KEYS_PATH="${TRUSTFENCE_SIGN_KEYS_PATH}" + [ -n "${TRUSTFENCE_KEY_INDEX}" ] && export CONFIG_KEY_INDEX="${TRUSTFENCE_KEY_INDEX}" + [ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ] && export CONFIG_DEK_PATH="${TRUSTFENCE_DEK_PATH}" + + # Sign boot script + TMP_SIGNED_BOOTSCR="$(mktemp ${WORKDIR}/bootscr-signed.XXXXXX)" + trustfence-sign-kernel.sh -p "${DIGI_FAMILY}" -b "${DEPLOYDIR}/boot.scr" "${TMP_SIGNED_BOOTSCR}" + mv "${TMP_SIGNED_BOOTSCR}" "${DEPLOYDIR}/boot.scr" + fi + rm -f ${TMP_BOOTSCR} +} + +COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul|ccimx8x)" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-fw-utils/ccimx8x/fw_env.config b/meta-digi-arm/recipes-bsp/u-boot/u-boot-fw-utils/ccimx8x/fw_env.config new file mode 100644 index 000000000..040cd8e30 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-fw-utils/ccimx8x/fw_env.config @@ -0,0 +1,7 @@ +# Configuration file for fw_(printenv/setenv) utility. +# Up to two entries are valid, in this case the redundant +# environment sector is assumed present. + +# Device name Offset Size +/dev/mmcblk0boot1 0x1C0000 0x4000 +/dev/mmcblk0boot1 0x1E0000 0x4000 diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-fw-utils_%.bbappend b/meta-digi-arm/recipes-bsp/u-boot/u-boot-fw-utils_%.bbappend index 3d6c4863a..3c9270cd6 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-fw-utils_%.bbappend +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-fw-utils_%.bbappend @@ -87,4 +87,4 @@ pkg_postinst_${PN}() { fi } -COMPATIBLE_MACHINE = "(ccimx6sbc|ccimx6qpsbc|ccimx6ul)" +COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul|ccimx8x)" diff --git a/meta-digi-arm/recipes-cpu/m4-demos/imx-m4-demos_2.3.1.bb b/meta-digi-arm/recipes-cpu/m4-demos/imx-m4-demos_2.3.1.bb new file mode 100644 index 000000000..62ecca97a --- /dev/null +++ b/meta-digi-arm/recipes-cpu/m4-demos/imx-m4-demos_2.3.1.bb @@ -0,0 +1,33 @@ +# Copyright 2017-2018 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "i.MX M4 core Demo images" +SECTION = "app" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=ab61cab9599935bfe9f700405ef00f28" + +inherit deploy fsl-eula-unpack2 + +SOC ?= "imx8qm" +SOC_mx7ulp= "imx7ulp" +SOC_mx8mq= "imx8mq" +SOC_mx8qm= "imx8qm" +SOC_mx8qxp= "imx8qx" + +IMX_PACKAGE_NAME = "${SOC}-m4-demo-${PV}" +SRC_URI_NAME = "${SOC}" + +SRC_URI[imx8qx.md5sum] = "e497c9742c0f20fbc429446c8052ade7" +SRC_URI[imx8qx.sha256sum] = "b46ac529c7c0fab9f99d39b094a9c4d6651616643f5df5ac2a4113bef02411fb" + +SCR = "SCR-${SOC}-m4-demo.txt" + +do_deploy () { + # Install the demo binaries + cp ${D}/* ${DEPLOYDIR}/ +} + +addtask deploy before do_build after do_install + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "(mx8qxp)" diff --git a/meta-digi-arm/recipes-digi/cryptoauthlib/cryptoauthlib_git.bb b/meta-digi-arm/recipes-digi/cryptoauthlib/cryptoauthlib_git.bb index 82b7359f5..788917577 100644 --- a/meta-digi-arm/recipes-digi/cryptoauthlib/cryptoauthlib_git.bb +++ b/meta-digi-arm/recipes-digi/cryptoauthlib/cryptoauthlib_git.bb @@ -23,10 +23,9 @@ S = "${WORKDIR}/git" I2C_BUS = "" I2C_BUS_ccimx6qpsbc = "1" I2C_BUS_ccimx6ul = "0" +I2C_BUS_ccimx8x = "0" -I2C_SPEED = "" -I2C_SPEED_ccimx6qpsbc = "100000" -I2C_SPEED_ccimx6ul = "100000" +I2C_SPEED ?= "100000" CFLAGS += "-DATCA_HAL_I2C_BUS=${I2C_BUS} -DATCA_HAL_I2C_SPEED=${I2C_SPEED}" @@ -41,4 +40,4 @@ do_install() { } PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(ccimx6qpsbc|ccimx6ul)" +COMPATIBLE_MACHINE = "(ccimx6qpsbc|ccimx6ul|ccimx8x)" diff --git a/meta-digi-arm/recipes-digi/mca/mca-tool_1.12.bb b/meta-digi-arm/recipes-digi/mca/mca-tool_1.12.bb index e324a600f..32926c0ce 100644 --- a/meta-digi-arm/recipes-digi/mca/mca-tool_1.12.bb +++ b/meta-digi-arm/recipes-digi/mca/mca-tool_1.12.bb @@ -5,10 +5,16 @@ SECTION = "console/tools" LICENSE = "CLOSED" PKGNAME = "mca_tool" -SRC_URI = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}.tar.gz" -SRC_URI[md5sum] = "bf9aff9f04118cceb2afe799ab940af2" -SRC_URI[sha256sum] = "e74682cb9b0f93b1e5f2e900c1a860df250bbf8733837506df3063124413d51a" +# ARM tarball +SRC_URI_arm = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}-${TUNE_ARCH}.tar.gz;name=arm" +SRC_URI[arm.md5sum] = "bf9aff9f04118cceb2afe799ab940af2" +SRC_URI[arm.sha256sum] = "e74682cb9b0f93b1e5f2e900c1a860df250bbf8733837506df3063124413d51a" + +# AARCH64 tarball +SRC_URI_aarch64 = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}-${TUNE_ARCH}.tar.gz;name=aarch64" +SRC_URI[aarch64.md5sum] = "bf14a7a431353c37523149af24fb44d0" +SRC_URI[aarch64.sha256sum] = "8646837296b7d80de4ef3a5374d18aaf5a1d5b96345b6ce9e05ee982794ece24" S = "${WORKDIR}/${PKGNAME}-${PV}" @@ -16,4 +22,4 @@ inherit bin_package INSANE_SKIP_${PN} = "already-stripped" -COMPATIBLE_MACHINE = "(ccimx6ul)" +COMPATIBLE_MACHINE = "(ccimx6ul|ccimx8x)" diff --git a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_1.0.bb b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb similarity index 97% rename from meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_1.0.bb rename to meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb index 93777cf73..882c70886 100644 --- a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_1.0.bb +++ b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425 DEPENDS = "trustfence-cst coreutils util-linux" -SRCBRANCH = "v2015.04/maint" +SRCBRANCH = "v2017.03/master" SRCREV = "${AUTOREV}" S = "${WORKDIR}" diff --git a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb index 855aed414..2ac6a28ba 100644 --- a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb +++ b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb @@ -1,13 +1,16 @@ -# Copyright (C) 2016,2017 Digi International. +# Copyright (C) 2016-2018 Digi International. -SUMMARY = "Qualcomm's wireless driver for qca6564" +SUMMARY = "Qualcomm's wireless driver for qca65xx" DESCRIPTION = "qcacld-2.0 module" LICENSE = "ISC" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d" +# Reference Qualcomm tag/version PV = "v4.2.80.63" +PV_ccimx8x = "v4.0.11.208Q" SRCBRANCH = "dey-2.4/maint" +SRCBRANCH_ccimx8x = "dey-2.4/maint_cc8x" SRCREV = "${AUTOREV}" QCOM_GIT_URI = "${@base_conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_MTK_GIT}linux/qcacld-2.0.git;protocol=ssh', '${DIGI_GITHUB_GIT}/qcacld-2.0.git', d)}" @@ -16,37 +19,58 @@ SRC_URI = " \ ${QCOM_GIT_URI};branch=${SRCBRANCH} \ " +# Selects whether the interface is SDIO or PCI +QUALCOMM_WIFI_INTERFACE ?= "sdio" +QUALCOMM_WIFI_INTERFACE_ccimx8x = "pci" + SRC_URI_append = " \ - file://81-sdio-qcom.rules \ - file://modprobe-qualcomm.conf \ + file://81-qcom-wifi.rules \ file://qualcomm.sh \ " +FILES_SDIO = " \ + file://modprobe-qualcomm.conf \ +" + +SRC_URI_append = "${@base_conditional('QUALCOMM_WIFI_INTERFACE', 'sdio' , '${FILES_SDIO}', '', d)}" + S = "${WORKDIR}/git" inherit module -EXTRA_OEMAKE += "CONFIG_CLD_HL_SDIO_CORE=y CONFIG_LINUX_QCMBR=y WLAN_OPEN_SOURCE=1" +EXTRA_OEMAKE += "CONFIG_LINUX_QCMBR=y WLAN_OPEN_SOURCE=1" # Explicity state it is not a QC platform, if not the driver will try to remap # memory that is not allowed in ARMv6 (kernel commit # 309caa9cc6ff39d261264ec4ff10e29489afc8f8) EXTRA_OEMAKE += "CONFIG_NON_QC_PLATFORM=y" # Flag to compile the debug version (1 - enabled, rest of values - disabled) EXTRA_OEMAKE += "BUILD_DEBUG_VERSION=0" +# Flags for SDIO interface with wifi +FLAGS_SDIO = "CONFIG_CLD_HL_SDIO_CORE=y" +EXTRA_OEMAKE += "${@base_conditional('QUALCOMM_WIFI_INTERFACE', 'sdio' , '${FLAGS_SDIO}', '', d)}" +# Flags for PCI interface with wifi +FLAGS_PCI = "CONFIG_ROME_IF=pci CONFIG_HIF_PCI=1 CONFIG_ATH_PCIE_ACCESS_DEBUG=1 CONFIG_ATH_PCIE_MAX_PERF=1" +EXTRA_OEMAKE += "${@base_conditional('QUALCOMM_WIFI_INTERFACE', 'pci' , '${FLAGS_PCI}', '', d)}" +# Flags required for QCA6574 +EXTRA_OEMAKE_append_ccimx8x = " CONFIG_ARCH_MSM=n CONFIG_ARCH_QCOM=n CONFIG_ATH_11AC_TXCOMPACT=1" do_compile_prepend() { export BUILD_VER=${PV} } do_install_append() { - install -d ${D}${sysconfdir}/modprobe.d - install -m 0644 ${WORKDIR}/modprobe-qualcomm.conf ${D}${sysconfdir}/modprobe.d/qualcomm.conf + if [ "${QUALCOMM_WIFI_INTERFACE}" = "sdio" ]; then + install -d ${D}${sysconfdir}/modprobe.d + install -m 0644 ${WORKDIR}/modprobe-qualcomm.conf ${D}${sysconfdir}/modprobe.d/qualcomm.conf + fi + install -d ${D}${base_libdir}/firmware/wlan/ install -m 0644 ${WORKDIR}/git/firmware_bin/WCNSS_cfg.dat ${D}${base_libdir}/firmware/wlan/cfg.dat install -m 0644 ${WORKDIR}/git/firmware_bin/WCNSS_qcom_cfg.ini ${D}${base_libdir}/firmware/wlan/qcom_cfg.ini - install -d ${D}${sysconfdir}/udev/rules.d ${D}${sysconfdir}/udev/scripts - install -m 0644 ${WORKDIR}/81-sdio-qcom.rules ${D}${sysconfdir}/udev/rules.d/ + install -d ${D}${sysconfdir}/udev/scripts install -m 0755 ${WORKDIR}/qualcomm.sh ${D}${sysconfdir}/udev/scripts/ + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/81-qcom-wifi.rules ${D}${sysconfdir}/udev/rules.d/ } FILES_${PN} += " \ @@ -56,4 +80,4 @@ FILES_${PN} += " \ ${base_libdir}/firmware/wlan/qcom_cfg.ini \ " -COMPATIBLE_MACHINE = "(ccimx6qpsbc|ccimx6ul)" +COMPATIBLE_MACHINE = "(ccimx6qpsbc|ccimx6ul|ccimx8x)" diff --git a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm/81-qcom-wifi.rules b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm/81-qcom-wifi.rules new file mode 100644 index 000000000..b717ebf0b --- /dev/null +++ b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm/81-qcom-wifi.rules @@ -0,0 +1,4 @@ +# Load Qualcomm wireless module (sdio) +SUBSYSTEM=="sdio", ACTION=="add", ENV{MODALIAS}=="sdio:c00v0271d050A", RUN="/etc/udev/scripts/qualcomm.sh" +# Load Qualcomm wireless module (pci) +SUBSYSTEM=="pci", ACTION=="add", ENV{MODALIAS}=="pci:v0000168Cd0000003Esv*sd*bc*sc*i*", RUN="/etc/udev/scripts/qualcomm.sh" diff --git a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm/81-sdio-qcom.rules b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm/81-sdio-qcom.rules deleted file mode 100644 index a69152b59..000000000 --- a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm/81-sdio-qcom.rules +++ /dev/null @@ -1,2 +0,0 @@ -# Load Qualcomm wireless module -SUBSYSTEM=="sdio", ACTION=="add", ENV{MODALIAS}=="sdio:c00v0271d050A", RUN="/etc/udev/scripts/qualcomm.sh" diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch deleted file mode 100644 index bd664fb07..000000000 --- a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch +++ /dev/null @@ -1,71 +0,0 @@ -From: Javier Viguera -Date: Tue, 10 Nov 2015 17:45:37 +0100 -Subject: [PATCH] mxc: gpu: use recommended values for minimum GPU frequency - divisor - -Freescale recommends the following default minimum GPU frequency divisors -depending on the CPU family: - - 3 for Dual/Quad - - 8 for DualLite/Solo - -Adapted for the external Vivante GPU driver from commit a790ad3 in linux -git repository. - -Signed-off-by: Javier Viguera ---- - .../hal/os/linux/kernel/gc_hal_kernel_driver.c | 14 +++++++++++++- - .../platform/freescale/gc_hal_kernel_platform_imx6.c | 2 +- - 2 files changed, 13 insertions(+), 2 deletions(-) - -diff --git a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_driver.c b/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_driver.c -index 816aae0..15a8753 100644 ---- a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_driver.c -+++ b/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_driver.c -@@ -54,6 +54,7 @@ - - - #include -+#include - #include - #include - -@@ -199,7 +200,7 @@ static uint type = 0; - module_param(type, uint, 0664); - MODULE_PARM_DESC(type, "0 - Char Driver (Default), 1 - Misc Driver"); - --static int gpu3DMinClock = 1; -+static int gpu3DMinClock = 0; - - static int contiguousRequested = 0; - -@@ -1138,6 +1139,17 @@ static int __devinit gpu_probe(struct platform_device *pdev) - } - } - else { -+ /* If undefined, set Freescale recommended value. Else use the min freq. */ -+ if (gpu3DMinClock == 0) { -+ if (of_machine_is_compatible("fsl,imx6dl")) -+ gpu3DMinClock = 8; -+ else if (of_machine_is_compatible("fsl,imx6q") || -+ of_machine_is_compatible("fsl,imx6qp")) -+ gpu3DMinClock = 3; -+ else -+ gpu3DMinClock = 1; -+ } -+ - ret = drv_init(); - if (!ret) { - platform_set_drvdata(pdev, galDevice); -diff --git a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c b/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -index 89706ec..65a54e2 100644 ---- a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -+++ b/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -@@ -123,7 +123,7 @@ extern int unregister_thermal_notifier(struct notifier_block *nb); - #define gcdFSL_CONTIGUOUS_SIZE (4 << 20) - #endif - --static int initgpu3DMinClock = 1; -+static int initgpu3DMinClock = 0; - module_param(initgpu3DMinClock, int, 0644); - - struct platform_device *pdevice; diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0002-Use-busfreq-imx6.h-up-to-3.15-kernel.patch b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0002-Use-busfreq-imx6.h-up-to-3.15-kernel.patch deleted file mode 100644 index 4273613a2..000000000 --- a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0002-Use-busfreq-imx6.h-up-to-3.15-kernel.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: Hector Palacios -Date: Tue, 1 Dec 2015 11:36:24 +0100 -Subject: [PATCH] Use busfreq-imx6.h up to 3.15 kernel - -For CC6 we're using Freescale 3.14.28 BSP. Even though we apply stability -patches that move the kernel version beyond 3.14.29 we still want to use -the GPU vivante external module build with the original BSP. - -Signed-off-by: Hector Palacios ---- - .../os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c b/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -index 0eae8262c2ce..f166680affa2 100644 ---- a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -+++ b/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -@@ -81,7 +81,7 @@ - #include - #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - #include --#elif LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 29) -+#elif LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0) - #include - #include - #else diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0003-gpu-Get-GPU-reserved-memory-from-DT.patch b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0003-gpu-Get-GPU-reserved-memory-from-DT.patch deleted file mode 100644 index 4615d9d93..000000000 --- a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0003-gpu-Get-GPU-reserved-memory-from-DT.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Mike Engel -Date: Tue, 11 Apr 2017 11:13:23 +0200 -Subject: [PATCH] gpu: Get GPU reserved memory from DT. - -This commit adds support to specify the GPU reserved memory in -the DT. - -Signed-off-by: Mike Engel - -https://jira.digi.com/browse/DEL-3868 ---- - .../linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c b/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -index dc7c976..fd2dbd3 100644 ---- a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -+++ b/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -@@ -568,7 +568,7 @@ gckPLATFORM_AdjustParam( - Args->registerMemSizeVG = res->end - res->start + 1; - } - --#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "contiguous_mem"); - if (res) - { -@@ -577,8 +577,6 @@ gckPLATFORM_AdjustParam( - if( Args->contiguousSize == ~0U ) - Args->contiguousSize = res->end - res->start + 1; - } --#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) -- Args->contiguousBase = 0; - #elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0) - prop = of_get_property(dn, "contiguousbase", NULL); - if(prop) - - diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch new file mode 100644 index 000000000..45aed5d2e --- /dev/null +++ b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch @@ -0,0 +1,71 @@ +From: Javier Viguera +Date: Tue, 10 Nov 2015 17:45:37 +0100 +Subject: [PATCH] mxc: gpu: use recommended values for minimum GPU frequency + divisor + +Freescale recommends the following default minimum GPU frequency divisors +depending on the CPU family: + - 3 for Dual/Quad + - 8 for DualLite/Solo + +Adapted for the external Vivante GPU driver from commit a790ad3 in linux +git repository. + +Signed-off-by: Javier Viguera +--- + .../src/hal/os/linux/kernel/gc_hal_kernel_driver.c | 14 +++++++++++++- + .../src/platform/freescale/gc_hal_kernel_platform_imx6.c | 2 +- + 2 files changed, 13 insertions(+), 2 deletions(-) + +diff --git a/src/hal/os/linux/kernel/gc_hal_kernel_driver.c b/src/hal/os/linux/kernel/gc_hal_kernel_driver.c +index 816aae0..15a8753 100644 +--- a/src/hal/os/linux/kernel/gc_hal_kernel_driver.c ++++ b/src/hal/os/linux/kernel/gc_hal_kernel_driver.c +@@ -54,6 +54,7 @@ + + + #include ++#include + #include + #include + +@@ -199,7 +200,7 @@ static uint type = 0; + module_param(type, uint, 0664); + MODULE_PARM_DESC(type, "0 - Char Driver (Default), 1 - Misc Driver"); + +-static int gpu3DMinClock = 1; ++static int gpu3DMinClock = 0; + + static int contiguousRequested = 0; + +@@ -959,6 +960,17 @@ static int __devinit gpu_probe(struct platform_device *pdev) + _UpdateModuleParam(&moduleParam); + } + ++ /* If undefined, set Freescale recommended value. Else use the min freq. */ ++ if (gpu3DMinClock == 0) { ++ if (of_machine_is_compatible("fsl,imx6dl")) ++ gpu3DMinClock = 8; ++ else if (of_machine_is_compatible("fsl,imx6q") || ++ of_machine_is_compatible("fsl,imx6qp")) ++ gpu3DMinClock = 3; ++ else ++ gpu3DMinClock = 1; ++ } ++ + ret = drv_init(); + + if (!ret) +diff --git a/src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c b/src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c +index 89706ec..65a54e2 100644 +--- a/src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c ++++ b/src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c +@@ -123,7 +123,7 @@ extern int unregister_thermal_notifier(struct notifier_block *nb); + #define gcdFSL_CONTIGUOUS_SIZE (4 << 20) + #endif + +-static int initgpu3DMinClock = 1; ++static int initgpu3DMinClock = 0; + module_param(initgpu3DMinClock, int, 0644); + + struct platform_device *pdevice; diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/Add-makefile.patch b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/Add-makefile.patch new file mode 100644 index 000000000..63f408c5a --- /dev/null +++ b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/Add-makefile.patch @@ -0,0 +1,326 @@ +Index: git/Makefile +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/Makefile 2017-06-27 12:07:11.931698672 -0500 +@@ -0,0 +1,17 @@ ++obj-m := galcore.o ++ ++SRC := $(shell pwd) ++ ++all: ++ $(MAKE) -C $(KERNEL_SRC) M=$(SRC)/src AQROOT=${PWD}/src ++ cp $(SRC)/src/Module.symvers $(PWD) ++ cp $(SRC)/src/modules.order $(PWD) ++ ++modules_install: ++ $(MAKE) -C $(KERNEL_SRC) M=$(SRC)/src modules_install ++ ++clean: ++ find . -name '*.o' -delete ++ rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c ++ rm -f Module.markers Module.symvers modules.order ++ rm -rf .tmp_versions Modules.symvers +Index: git/src/hal/kernel/arch/makefile.linux +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/src/hal/kernel/arch/makefile.linux 2017-06-27 11:44:06.004826232 -0500 +@@ -0,0 +1,91 @@ ++############################################################################## ++# ++# The MIT License (MIT) ++# ++# Copyright (c) 2014 - 2017 Vivante 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. ++# ++############################################################################## ++# ++# The GPL License (GPL) ++# ++# Copyright (C) 2014 - 2017 Vivante Corporation ++# ++# This program is free software; you can redistribute it and/or ++# modify it under the terms of the GNU General Public License ++# as published by the Free Software Foundation; either version 2 ++# of the License, or (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software Foundation, ++# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++# ++############################################################################## ++# ++# Note: This software is released under dual MIT and GPL licenses. A ++# recipient may use this file under the terms of either the MIT license or ++# GPL License. If you wish to use only one license not the other, you can ++# indicate your decision by deleting one of the above license notices in your ++# version of this file. ++# ++############################################################################## ++ ++ ++# ++# Linux build file for architecture dependent kernel HAL layer. ++# ++ ++################################################################################ ++# Include common definitions. ++ ++include $(AQROOT)/makefile.linux.def ++ ++################################################################################ ++# Define a shortcut for the main target. ++ ++STATIC = 1 ++TARGET_NAME = libhalarchkernel.a ++ ++################################################################################ ++# Supply additional include directories. ++ ++INCLUDE += -I$(AQROOT)/hal/kernel/inc ++INCLUDE += -I$(AQROOT)/hal/kernel/inc ++INCLUDE += -I$(AQROOT)/hal/kernel ++INCLUDE += -I$(AQROOT)/hal/kernel/arch ++ifeq ($(VIVANTE_ENABLE_VG),1) ++INCLUDE += -I$(AQROOT)/hal/kernel/archvg ++endif ++ ++CFLAGS += $(INCLUDE) -Werror -ansi ++ ++ ++################################################################################ ++# Describe object files. ++ ++OBJECTS = $(OBJ_DIR)/gc_hal_kernel_context.o \ ++ $(OBJ_DIR)/gc_hal_kernel_hardware.o ++ ++include $(AQROOT)/common.target +Index: git/src/hal/kernel/archvg/makefile.linux +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/src/hal/kernel/archvg/makefile.linux 2017-06-27 11:44:06.004826232 -0500 +@@ -0,0 +1,91 @@ ++############################################################################## ++# ++# The MIT License (MIT) ++# ++# Copyright (c) 2014 - 2017 Vivante 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. ++# ++############################################################################## ++# ++# The GPL License (GPL) ++# ++# Copyright (C) 2014 - 2017 Vivante Corporation ++# ++# This program is free software; you can redistribute it and/or ++# modify it under the terms of the GNU General Public License ++# as published by the Free Software Foundation; either version 2 ++# of the License, or (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software Foundation, ++# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++# ++############################################################################## ++# ++# Note: This software is released under dual MIT and GPL licenses. A ++# recipient may use this file under the terms of either the MIT license or ++# GPL License. If you wish to use only one license not the other, you can ++# indicate your decision by deleting one of the above license notices in your ++# version of this file. ++# ++############################################################################## ++ ++ ++# ++# Linux build file for architecture dependent kernel HAL layer. ++# ++ ++################################################################################ ++# Include common definitions. ++ ++include $(AQROOT)/makefile.linux.def ++ ++################################################################################ ++# Define a shortcut for the main target. ++ ++STATIC = 1 ++ ++TARGET_NAME = libhalarchkernelvg.a ++ ++################################################################################ ++# Supply additional include directories. ++ ++INCLUDE += -I$(AQROOT)/hal/inc ++INCLUDE += -I$(AQROOT)/hal/user ++INCLUDE += -I$(AQROOT)/hal/kernel ++INCLUDE += -I$(AQROOT)/hal/kernel/arch ++ifeq ($(VIVANTE_ENABLE_VG), 1) ++INCLUDE += -I$(AQROOT)/hal/kernel/archvg ++endif ++ ++CFLAGS += $(INCLUDE) -Werror -ansi ++ ++################################################################################ ++# Describe object files. ++ ++OBJECTS = $(OBJ_DIR)/gc_hal_kernel_hardware_vg.o \ ++ $(OBJ_DIR)/gc_hal_kernel_hardware_command_vg.o ++ ++include $(AQROOT)/common.target +Index: git/src/hal/kernel/makefile.linux +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/src/hal/kernel/makefile.linux 2017-06-27 11:44:06.004826232 -0500 +@@ -0,0 +1,107 @@ ++############################################################################## ++# ++# The MIT License (MIT) ++# ++# Copyright (c) 2014 - 2017 Vivante 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. ++# ++############################################################################## ++# ++# The GPL License (GPL) ++# ++# Copyright (C) 2014 - 2017 Vivante Corporation ++# ++# This program is free software; you can redistribute it and/or ++# modify it under the terms of the GNU General Public License ++# as published by the Free Software Foundation; either version 2 ++# of the License, or (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software Foundation, ++# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++# ++############################################################################## ++# ++# Note: This software is released under dual MIT and GPL licenses. A ++# recipient may use this file under the terms of either the MIT license or ++# GPL License. If you wish to use only one license not the other, you can ++# indicate your decision by deleting one of the above license notices in your ++# version of this file. ++# ++############################################################################## ++ ++ ++# ++# Linux build file for architecture dependent kernel HAL layer. ++# ++# ++ ++ ++################################################################################ ++# Include common definitions. ++ ++include $(AQROOT)/makefile.linux.def ++ ++################################################################################ ++# Define a shortcut for the main target. ++ ++STATIC = 1 ++TARGET_NAME = libhalkernel.a ++ ++################################################################################ ++# Supply additional include directories. ++ ++INCLUDE += -I$(AQROOT)/hal/kernel/inc ++INCLUDE += -I$(AQROOT)/hal/kernel/inc ++INCLUDE += -I$(AQROOT)/hal/kernel/arch ++INCLUDE += -I$(AQROOT)/hal/kernel ++ifeq ($(VIVANTE_ENABLE_VG),1) ++INCLUDE += -I$(AQROOT)/hal/kernel/archvg ++endif ++INCLUDE += -I$(AQROOT)/hal/os/linux/kernel ++CFLAGS += $(INCLUDE) -Werror -ansi ++ ++ ++################################################################################ ++# Describe object files. ++ ++OBJECTS = $(OBJ_DIR)/gc_hal_kernel_command.o \ ++ $(OBJ_DIR)/gc_hal_kernel_db.o \ ++ $(OBJ_DIR)/gc_hal_kernel_debug.o \ ++ $(OBJ_DIR)/gc_hal_kernel_event.o \ ++ $(OBJ_DIR)/gc_hal_kernel_heap.o \ ++ $(OBJ_DIR)/gc_hal_kernel.o \ ++ $(OBJ_DIR)/gc_hal_kernel_mmu.o \ ++ $(OBJ_DIR)/gc_hal_kernel_video_memory.o ++ ++ifeq ($(VIVANTE_ENABLE_VG),1) ++OBJECTS += \ ++ $(OBJ_DIR)/gc_hal_kernel_command_vg.o \ ++ $(OBJ_DIR)/gc_hal_kernel_interrupt_vg.o \ ++ $(OBJ_DIR)/gc_hal_kernel_mmu_vg.o \ ++ $(OBJ_DIR)/gc_hal_kernel_vg.o ++endif ++ ++include $(AQROOT)/common.target diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0+fslc.bbappend b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_%.bbappend similarity index 56% rename from meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0+fslc.bbappend rename to meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_%.bbappend index bbf63d7d9..86f3daa69 100644 --- a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0+fslc.bbappend +++ b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_%.bbappend @@ -1,4 +1,4 @@ -# Copyright (C) 2017 Digi International +# Copyright (C) 2017-2018 Digi International VER_DIR = "${@d.getVar('PV', True).split('+git')[0]}" @@ -6,6 +6,4 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}-${VER_DIR}:" SRC_URI += " \ file://0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch \ - file://0002-Use-busfreq-imx6.h-up-to-3.15-kernel.patch \ - file://0003-gpu-Get-GPU-reserved-memory-from-DT.patch \ " diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0+fslc.bb b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0+fslc.bb deleted file mode 100644 index 158d147a0..000000000 --- a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0+fslc.bb +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright (C) 2017 Digi International - -SUMMARY = "Kernel loadable module for Vivante GPU" -DESCRIPTION = "This package uses an exact copy of the GPU kernel driver source code of \ -the same version as base and include fixes and improvements developed by FSL Community" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e" - -PV .= "+git${SRCPV}" - -SRCREV = "3b9e057f29853fd29364aa666328a92b807007d7" -SRC_URI = "git://github.com/Freescale/kernel-module-imx-gpu-viv.git;protocol=https" - -S = "${WORKDIR}/git" - -inherit module - -KERNEL_MODULE_AUTOLOAD = "galcore" diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.4.p1.6.bb b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.4.p1.6.bb new file mode 100644 index 000000000..9bebf1c05 --- /dev/null +++ b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.4.p1.6.bb @@ -0,0 +1,21 @@ +# Copyright (C) 2017-2018 Digi International + +SUMMARY = "Kernel loadable module for Vivante GPU" +DESCRIPTION = "Builds the Vivante GPU kernel driver as a loadable kernel module, \ +allowing flexibility to use a newer graphics release with an older kernel." + +inherit module +require recipes-kernel/linux/linux-dey-src.inc + +PV .= "+git${SRCPV}" + +SRC_URI .= \ + ";subpath=drivers/mxc/gpu-viv;destsuffix=git/src \ + file://Add-makefile.patch \ +" + +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" + +EXTRA_OEMAKE += "CONFIG_MXC_GPU_VIV=m" + +KERNEL_MODULE_AUTOLOAD = "galcore" diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey-4.9/ccimx6qpsbc/defconfig b/meta-digi-arm/recipes-kernel/linux/linux-dey-4.9/ccimx6qpsbc/defconfig deleted file mode 100644 index 017dd9a1e..000000000 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey-4.9/ccimx6qpsbc/defconfig +++ /dev/null @@ -1,331 +0,0 @@ -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_KERNEL_LZO=y -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=18 -CONFIG_CGROUPS=y -CONFIG_MEMCG=y -CONFIG_MEMCG_SWAP=y -CONFIG_BLK_CGROUP=y -CONFIG_CGROUP_SCHED=y -CONFIG_CFS_BANDWIDTH=y -CONFIG_RT_GROUP_SCHED=y -CONFIG_CGROUP_FREEZER=y -CONFIG_CPUSETS=y -CONFIG_CGROUP_DEVICE=y -CONFIG_CGROUP_CPUACCT=y -CONFIG_CGROUP_PERF=y -CONFIG_NAMESPACES=y -CONFIG_USER_NS=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_EMBEDDED=y -CONFIG_PERF_EVENTS=y -# CONFIG_SLUB_DEBUG is not set -# CONFIG_COMPAT_BRK is not set -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODVERSIONS=y -# CONFIG_BLK_DEV_BSG is not set -CONFIG_ARCH_MXC=y -CONFIG_SOC_IMX6Q=y -CONFIG_SOC_VF610=y -CONFIG_ARM_ERRATA_814220=y -CONFIG_PCI=y -CONFIG_PCI_MSI=y -CONFIG_PCI_IMX6=y -CONFIG_SMP=y -CONFIG_HAVE_ARM_ARCH_TIMER=y -CONFIG_VMSPLIT_2G=y -CONFIG_PREEMPT_VOLUNTARY=y -CONFIG_AEABI=y -CONFIG_HIGHMEM=y -CONFIG_CMA=y -CONFIG_SECCOMP=y -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_STAT=y -CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_USERSPACE=y -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y -CONFIG_ARM_IMX6Q_CPUFREQ=y -CONFIG_CPU_IDLE=y -CONFIG_VFP=y -CONFIG_NEON=y -CONFIG_PM_DEBUG=y -CONFIG_PM_TEST_SUSPEND=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_SYN_COOKIES=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -CONFIG_NETFILTER=y -CONFIG_BRIDGE=y -CONFIG_NET_SCHED=y -CONFIG_CAN=y -CONFIG_CAN_FLEXCAN=y -CONFIG_BT=y -CONFIG_BT_RFCOMM=y -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=y -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=y -CONFIG_BT_HCIUART=y -CONFIG_BT_HCIUART_ATH3K=y -CONFIG_BT_HCIUART_3WIRE=y -CONFIG_BT_HCIUART_IBS=y -CONFIG_CFG80211=y -CONFIG_CFG80211_CERTIFICATION_ONUS=y -CONFIG_CFG80211_WEXT=y -CONFIG_RFKILL=y -CONFIG_RFKILL_INPUT=y -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -# CONFIG_STANDALONE is not set -CONFIG_DMA_CMA=y -CONFIG_CMA_SIZE_PERCENTAGE=40 -CONFIG_CMA_SIZE_SEL_PERCENTAGE=y -CONFIG_IMX_WEIM=y -CONFIG_CONNECTOR=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_SIZE=65536 -CONFIG_EEPROM_AT24=y -CONFIG_EEPROM_AT25=y -# CONFIG_SCSI_PROC_FS is not set -CONFIG_BLK_DEV_SD=y -CONFIG_SCSI_CONSTANTS=y -CONFIG_SCSI_LOGGING=y -CONFIG_SCSI_SCAN_ASYNC=y -# CONFIG_SCSI_LOWLEVEL is not set -CONFIG_ATA=y -CONFIG_SATA_AHCI_PLATFORM=y -CONFIG_AHCI_IMX=y -CONFIG_PATA_IMX=y -CONFIG_MD=y -CONFIG_BLK_DEV_DM=y -CONFIG_DM_CRYPT=y -CONFIG_NETDEVICES=y -# CONFIG_NET_CADENCE is not set -# CONFIG_NET_VENDOR_BROADCOM is not set -# CONFIG_NET_VENDOR_CIRRUS is not set -# CONFIG_NET_VENDOR_FARADAY is not set -# CONFIG_NET_VENDOR_INTEL is not set -# CONFIG_NET_VENDOR_MARVELL is not set -# CONFIG_NET_VENDOR_MICREL is not set -# CONFIG_NET_VENDOR_MICROCHIP is not set -# CONFIG_NET_VENDOR_NATSEMI is not set -# CONFIG_NET_VENDOR_SEEQ is not set -# CONFIG_NET_VENDOR_SMSC is not set -# CONFIG_NET_VENDOR_STMICRO is not set -# CONFIG_NET_VENDOR_WIZNET is not set -CONFIG_MICREL_PHY=y -CONFIG_SMSC_PHY=y -CONFIG_PPP=y -CONFIG_PPP_BSDCOMP=y -CONFIG_PPP_DEFLATE=y -CONFIG_PPP_ASYNC=y -CONFIG_USB_USBNET=y -CONFIG_USB_NET_CDC_EEM=y -CONFIG_USB_NET_CDC_MBIM=y -CONFIG_USB_NET_QMI_WWAN=y -CONFIG_USB_SIERRA_NET=y -CONFIG_ATH6KL=m -CONFIG_ATH6KL_SDIO=m -CONFIG_ATH6KL_DEBUG=y -CONFIG_ATH6KL_REGDOMAIN=y -CONFIG_HOSTAP=y -CONFIG_HOSTAP_FIRMWARE=y -CONFIG_INPUT_EVDEV=y -CONFIG_KEYBOARD_GPIO=y -CONFIG_KEYBOARD_IMX=y -# CONFIG_INPUT_MOUSE is not set -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_FUSION_7_10=y -CONFIG_TOUCHSCREEN_GOODIX=y -CONFIG_TOUCHSCREEN_MC13783=y -CONFIG_INPUT_MISC=y -CONFIG_INPUT_MMA8450=y -CONFIG_INPUT_DA9063_ONKEY=y -CONFIG_INPUT_ISL29023=y -# CONFIG_LEGACY_PTYS is not set -# CONFIG_DEVKMEM is not set -CONFIG_SERIAL_IMX=y -CONFIG_SERIAL_IMX_CONSOLE=y -CONFIG_SERIAL_FSL_LPUART=y -CONFIG_SERIAL_FSL_LPUART_CONSOLE=y -CONFIG_FSL_OTP=y -# CONFIG_I2C_COMPAT is not set -CONFIG_I2C_CHARDEV=y -# CONFIG_I2C_HELPER_AUTO is not set -CONFIG_I2C_IMX=y -CONFIG_I2C_IMX_LPI2C=y -CONFIG_SPI=y -CONFIG_SPI_IMX=y -CONFIG_SPI_FSL_LPSPI=y -CONFIG_SPI_SPIDEV=m -CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_DA9063=y -CONFIG_POWER_SUPPLY=y -CONFIG_SENSORS_DA9063=y -CONFIG_SENSORS_MAG3110=y -CONFIG_THERMAL=y -CONFIG_THERMAL_WRITABLE_TRIPS=y -CONFIG_CPU_THERMAL=y -CONFIG_IMX_THERMAL=y -CONFIG_DEVICE_THERMAL=y -CONFIG_WATCHDOG=y -CONFIG_IMX2_WDT=y -CONFIG_MFD_DA9052_I2C=y -CONFIG_MFD_DA9063=y -CONFIG_MFD_MC13XXX_SPI=y -CONFIG_MFD_MC13XXX_I2C=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_ANATOP=y -CONFIG_REGULATOR_DA9052=y -CONFIG_REGULATOR_DA9063=y -CONFIG_REGULATOR_MC13783=y -CONFIG_REGULATOR_MC13892=y -CONFIG_REGULATOR_PFUZE100=y -CONFIG_MEDIA_SUPPORT=y -CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_MEDIA_USB_SUPPORT=y -CONFIG_USB_VIDEO_CLASS=y -# CONFIG_USB_GSPCA is not set -CONFIG_V4L_PLATFORM_DRIVERS=y -CONFIG_VIDEO_MXC_OUTPUT=y -CONFIG_VIDEO_MXC_CAPTURE=y -CONFIG_MXC_CAMERA_OV5642=y -CONFIG_MXC_CAMERA_OV5640_MIPI=y -CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=y -CONFIG_VIDEO_MXC_IPU_OUTPUT=y -CONFIG_VIDEO_MXC_PXP_V4L2=y -CONFIG_SOC_CAMERA=y -CONFIG_SOC_CAMERA_OV2640=y -# CONFIG_VGA_ARB is not set -CONFIG_DRM=y -CONFIG_DRM_VIVANTE=y -CONFIG_FB_MXS=y -CONFIG_FB_MXC_SYNC_PANEL=y -CONFIG_FB_MXC_OVERLAY=y -CONFIG_FB_MXC_MIPI_DSI=y -CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y -CONFIG_FB_MXC_LDB=y -CONFIG_FB_MXC_HDMI=y -CONFIG_LCD_CLASS_DEVICE=y -CONFIG_LCD_L4F00242T03=y -CONFIG_LCD_PLATFORM=y -CONFIG_BACKLIGHT_PWM=y -CONFIG_BACKLIGHT_GPIO=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_LOGO=y -CONFIG_FB_LOGO_CENTERED=y -CONFIG_FB_LOGO_FORCE_SINGLE=y -# CONFIG_LOGO_LINUX_MONO is not set -# CONFIG_LOGO_LINUX_VGA16 is not set -# CONFIG_LOGO_LINUX_CLUT224 is not set -CONFIG_SOUND=y -CONFIG_SND=y -# CONFIG_SND_SUPPORT_OLD_API is not set -# CONFIG_SND_VERBOSE_PROCFS is not set -# CONFIG_SND_DRIVERS is not set -# CONFIG_SND_PCI is not set -# CONFIG_SND_ARM is not set -# CONFIG_SND_SPI is not set -# CONFIG_SND_USB is not set -CONFIG_SND_SOC=y -CONFIG_SND_IMX_SOC=y -CONFIG_SND_SOC_IMX_SGTL5000=y -CONFIG_SND_SOC_IMX_HDMI=y -CONFIG_HID_MULTITOUCH=y -CONFIG_USB=y -CONFIG_USB_OTG=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_ACM=y -CONFIG_USB_STORAGE=y -CONFIG_USB_CHIPIDEA=y -CONFIG_USB_CHIPIDEA_UDC=y -CONFIG_USB_CHIPIDEA_HOST=y -CONFIG_USB_SERIAL=y -CONFIG_USB_SERIAL_QUALCOMM=y -CONFIG_USB_SERIAL_SIERRAWIRELESS=y -CONFIG_USB_SERIAL_OPTION=y -CONFIG_USB_MXS_PHY=y -CONFIG_USB_GADGET=y -CONFIG_USB_ETH=m -CONFIG_USB_MASS_STORAGE=m -CONFIG_USB_G_SERIAL=m -CONFIG_USB_CDC_COMPOSITE=m -CONFIG_MMC=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMC_SDHCI_ESDHC_IMX=y -CONFIG_MXC_IPU=y -CONFIG_MXC_IPU_V3_PRE=y -CONFIG_MXC_MIPI_CSI2=y -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_DA9063=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_INTF_DEV_UIE_EMUL=y -CONFIG_RTC_DRV_DA9063=y -CONFIG_RTC_DRV_MC13XXX=y -CONFIG_RTC_DRV_MXC=y -CONFIG_RTC_DRV_SNVS=y -CONFIG_DMADEVICES=y -CONFIG_IMX_SDMA=y -CONFIG_MXS_DMA=y -CONFIG_MXC_PXP_V2=y -# CONFIG_IOMMU_SUPPORT is not set -CONFIG_EXTCON_USB_GPIO=y -CONFIG_PWM=y -CONFIG_PWM_IMX=y -CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_OVERLAY_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -# CONFIG_MISC_FILESYSTEMS is not set -CONFIG_NFS_FS=y -CONFIG_NFS_V3_ACL=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y -CONFIG_NLS_DEFAULT="cp437" -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_850=y -CONFIG_NLS_ASCII=y -CONFIG_NLS_ISO8859_1=y -CONFIG_NLS_ISO8859_15=y -CONFIG_NLS_UTF8=y -CONFIG_DYNAMIC_DEBUG=y -CONFIG_DEBUG_FS=y -# CONFIG_SCHED_DEBUG is not set -# CONFIG_DEBUG_BUGVERBOSE is not set -# CONFIG_FTRACE is not set -# CONFIG_ARM_UNWIND is not set -CONFIG_SECURITYFS=y -CONFIG_CRYPTO_TEST=m -CONFIG_CRYPTO_XTS=y -CONFIG_CRYPTO_DEFLATE=y -CONFIG_CRYPTO_LZO=y -CONFIG_CRYPTO_USER_API_HASH=y -CONFIG_CRYPTO_USER_API_SKCIPHER=y -CONFIG_CRYPTO_DEV_FSL_CAAM=y -CONFIG_FONTS=y -CONFIG_VIRTUALIZATION=y diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey-4.9/ccimx6sbc/defconfig b/meta-digi-arm/recipes-kernel/linux/linux-dey-4.9/ccimx6sbc/defconfig deleted file mode 100644 index 017dd9a1e..000000000 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey-4.9/ccimx6sbc/defconfig +++ /dev/null @@ -1,331 +0,0 @@ -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_KERNEL_LZO=y -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=18 -CONFIG_CGROUPS=y -CONFIG_MEMCG=y -CONFIG_MEMCG_SWAP=y -CONFIG_BLK_CGROUP=y -CONFIG_CGROUP_SCHED=y -CONFIG_CFS_BANDWIDTH=y -CONFIG_RT_GROUP_SCHED=y -CONFIG_CGROUP_FREEZER=y -CONFIG_CPUSETS=y -CONFIG_CGROUP_DEVICE=y -CONFIG_CGROUP_CPUACCT=y -CONFIG_CGROUP_PERF=y -CONFIG_NAMESPACES=y -CONFIG_USER_NS=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_EMBEDDED=y -CONFIG_PERF_EVENTS=y -# CONFIG_SLUB_DEBUG is not set -# CONFIG_COMPAT_BRK is not set -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODVERSIONS=y -# CONFIG_BLK_DEV_BSG is not set -CONFIG_ARCH_MXC=y -CONFIG_SOC_IMX6Q=y -CONFIG_SOC_VF610=y -CONFIG_ARM_ERRATA_814220=y -CONFIG_PCI=y -CONFIG_PCI_MSI=y -CONFIG_PCI_IMX6=y -CONFIG_SMP=y -CONFIG_HAVE_ARM_ARCH_TIMER=y -CONFIG_VMSPLIT_2G=y -CONFIG_PREEMPT_VOLUNTARY=y -CONFIG_AEABI=y -CONFIG_HIGHMEM=y -CONFIG_CMA=y -CONFIG_SECCOMP=y -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_STAT=y -CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_USERSPACE=y -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y -CONFIG_ARM_IMX6Q_CPUFREQ=y -CONFIG_CPU_IDLE=y -CONFIG_VFP=y -CONFIG_NEON=y -CONFIG_PM_DEBUG=y -CONFIG_PM_TEST_SUSPEND=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_SYN_COOKIES=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -CONFIG_NETFILTER=y -CONFIG_BRIDGE=y -CONFIG_NET_SCHED=y -CONFIG_CAN=y -CONFIG_CAN_FLEXCAN=y -CONFIG_BT=y -CONFIG_BT_RFCOMM=y -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=y -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=y -CONFIG_BT_HCIUART=y -CONFIG_BT_HCIUART_ATH3K=y -CONFIG_BT_HCIUART_3WIRE=y -CONFIG_BT_HCIUART_IBS=y -CONFIG_CFG80211=y -CONFIG_CFG80211_CERTIFICATION_ONUS=y -CONFIG_CFG80211_WEXT=y -CONFIG_RFKILL=y -CONFIG_RFKILL_INPUT=y -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -# CONFIG_STANDALONE is not set -CONFIG_DMA_CMA=y -CONFIG_CMA_SIZE_PERCENTAGE=40 -CONFIG_CMA_SIZE_SEL_PERCENTAGE=y -CONFIG_IMX_WEIM=y -CONFIG_CONNECTOR=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_SIZE=65536 -CONFIG_EEPROM_AT24=y -CONFIG_EEPROM_AT25=y -# CONFIG_SCSI_PROC_FS is not set -CONFIG_BLK_DEV_SD=y -CONFIG_SCSI_CONSTANTS=y -CONFIG_SCSI_LOGGING=y -CONFIG_SCSI_SCAN_ASYNC=y -# CONFIG_SCSI_LOWLEVEL is not set -CONFIG_ATA=y -CONFIG_SATA_AHCI_PLATFORM=y -CONFIG_AHCI_IMX=y -CONFIG_PATA_IMX=y -CONFIG_MD=y -CONFIG_BLK_DEV_DM=y -CONFIG_DM_CRYPT=y -CONFIG_NETDEVICES=y -# CONFIG_NET_CADENCE is not set -# CONFIG_NET_VENDOR_BROADCOM is not set -# CONFIG_NET_VENDOR_CIRRUS is not set -# CONFIG_NET_VENDOR_FARADAY is not set -# CONFIG_NET_VENDOR_INTEL is not set -# CONFIG_NET_VENDOR_MARVELL is not set -# CONFIG_NET_VENDOR_MICREL is not set -# CONFIG_NET_VENDOR_MICROCHIP is not set -# CONFIG_NET_VENDOR_NATSEMI is not set -# CONFIG_NET_VENDOR_SEEQ is not set -# CONFIG_NET_VENDOR_SMSC is not set -# CONFIG_NET_VENDOR_STMICRO is not set -# CONFIG_NET_VENDOR_WIZNET is not set -CONFIG_MICREL_PHY=y -CONFIG_SMSC_PHY=y -CONFIG_PPP=y -CONFIG_PPP_BSDCOMP=y -CONFIG_PPP_DEFLATE=y -CONFIG_PPP_ASYNC=y -CONFIG_USB_USBNET=y -CONFIG_USB_NET_CDC_EEM=y -CONFIG_USB_NET_CDC_MBIM=y -CONFIG_USB_NET_QMI_WWAN=y -CONFIG_USB_SIERRA_NET=y -CONFIG_ATH6KL=m -CONFIG_ATH6KL_SDIO=m -CONFIG_ATH6KL_DEBUG=y -CONFIG_ATH6KL_REGDOMAIN=y -CONFIG_HOSTAP=y -CONFIG_HOSTAP_FIRMWARE=y -CONFIG_INPUT_EVDEV=y -CONFIG_KEYBOARD_GPIO=y -CONFIG_KEYBOARD_IMX=y -# CONFIG_INPUT_MOUSE is not set -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_FUSION_7_10=y -CONFIG_TOUCHSCREEN_GOODIX=y -CONFIG_TOUCHSCREEN_MC13783=y -CONFIG_INPUT_MISC=y -CONFIG_INPUT_MMA8450=y -CONFIG_INPUT_DA9063_ONKEY=y -CONFIG_INPUT_ISL29023=y -# CONFIG_LEGACY_PTYS is not set -# CONFIG_DEVKMEM is not set -CONFIG_SERIAL_IMX=y -CONFIG_SERIAL_IMX_CONSOLE=y -CONFIG_SERIAL_FSL_LPUART=y -CONFIG_SERIAL_FSL_LPUART_CONSOLE=y -CONFIG_FSL_OTP=y -# CONFIG_I2C_COMPAT is not set -CONFIG_I2C_CHARDEV=y -# CONFIG_I2C_HELPER_AUTO is not set -CONFIG_I2C_IMX=y -CONFIG_I2C_IMX_LPI2C=y -CONFIG_SPI=y -CONFIG_SPI_IMX=y -CONFIG_SPI_FSL_LPSPI=y -CONFIG_SPI_SPIDEV=m -CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_DA9063=y -CONFIG_POWER_SUPPLY=y -CONFIG_SENSORS_DA9063=y -CONFIG_SENSORS_MAG3110=y -CONFIG_THERMAL=y -CONFIG_THERMAL_WRITABLE_TRIPS=y -CONFIG_CPU_THERMAL=y -CONFIG_IMX_THERMAL=y -CONFIG_DEVICE_THERMAL=y -CONFIG_WATCHDOG=y -CONFIG_IMX2_WDT=y -CONFIG_MFD_DA9052_I2C=y -CONFIG_MFD_DA9063=y -CONFIG_MFD_MC13XXX_SPI=y -CONFIG_MFD_MC13XXX_I2C=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_ANATOP=y -CONFIG_REGULATOR_DA9052=y -CONFIG_REGULATOR_DA9063=y -CONFIG_REGULATOR_MC13783=y -CONFIG_REGULATOR_MC13892=y -CONFIG_REGULATOR_PFUZE100=y -CONFIG_MEDIA_SUPPORT=y -CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_MEDIA_USB_SUPPORT=y -CONFIG_USB_VIDEO_CLASS=y -# CONFIG_USB_GSPCA is not set -CONFIG_V4L_PLATFORM_DRIVERS=y -CONFIG_VIDEO_MXC_OUTPUT=y -CONFIG_VIDEO_MXC_CAPTURE=y -CONFIG_MXC_CAMERA_OV5642=y -CONFIG_MXC_CAMERA_OV5640_MIPI=y -CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=y -CONFIG_VIDEO_MXC_IPU_OUTPUT=y -CONFIG_VIDEO_MXC_PXP_V4L2=y -CONFIG_SOC_CAMERA=y -CONFIG_SOC_CAMERA_OV2640=y -# CONFIG_VGA_ARB is not set -CONFIG_DRM=y -CONFIG_DRM_VIVANTE=y -CONFIG_FB_MXS=y -CONFIG_FB_MXC_SYNC_PANEL=y -CONFIG_FB_MXC_OVERLAY=y -CONFIG_FB_MXC_MIPI_DSI=y -CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y -CONFIG_FB_MXC_LDB=y -CONFIG_FB_MXC_HDMI=y -CONFIG_LCD_CLASS_DEVICE=y -CONFIG_LCD_L4F00242T03=y -CONFIG_LCD_PLATFORM=y -CONFIG_BACKLIGHT_PWM=y -CONFIG_BACKLIGHT_GPIO=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_LOGO=y -CONFIG_FB_LOGO_CENTERED=y -CONFIG_FB_LOGO_FORCE_SINGLE=y -# CONFIG_LOGO_LINUX_MONO is not set -# CONFIG_LOGO_LINUX_VGA16 is not set -# CONFIG_LOGO_LINUX_CLUT224 is not set -CONFIG_SOUND=y -CONFIG_SND=y -# CONFIG_SND_SUPPORT_OLD_API is not set -# CONFIG_SND_VERBOSE_PROCFS is not set -# CONFIG_SND_DRIVERS is not set -# CONFIG_SND_PCI is not set -# CONFIG_SND_ARM is not set -# CONFIG_SND_SPI is not set -# CONFIG_SND_USB is not set -CONFIG_SND_SOC=y -CONFIG_SND_IMX_SOC=y -CONFIG_SND_SOC_IMX_SGTL5000=y -CONFIG_SND_SOC_IMX_HDMI=y -CONFIG_HID_MULTITOUCH=y -CONFIG_USB=y -CONFIG_USB_OTG=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_ACM=y -CONFIG_USB_STORAGE=y -CONFIG_USB_CHIPIDEA=y -CONFIG_USB_CHIPIDEA_UDC=y -CONFIG_USB_CHIPIDEA_HOST=y -CONFIG_USB_SERIAL=y -CONFIG_USB_SERIAL_QUALCOMM=y -CONFIG_USB_SERIAL_SIERRAWIRELESS=y -CONFIG_USB_SERIAL_OPTION=y -CONFIG_USB_MXS_PHY=y -CONFIG_USB_GADGET=y -CONFIG_USB_ETH=m -CONFIG_USB_MASS_STORAGE=m -CONFIG_USB_G_SERIAL=m -CONFIG_USB_CDC_COMPOSITE=m -CONFIG_MMC=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMC_SDHCI_ESDHC_IMX=y -CONFIG_MXC_IPU=y -CONFIG_MXC_IPU_V3_PRE=y -CONFIG_MXC_MIPI_CSI2=y -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_DA9063=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_INTF_DEV_UIE_EMUL=y -CONFIG_RTC_DRV_DA9063=y -CONFIG_RTC_DRV_MC13XXX=y -CONFIG_RTC_DRV_MXC=y -CONFIG_RTC_DRV_SNVS=y -CONFIG_DMADEVICES=y -CONFIG_IMX_SDMA=y -CONFIG_MXS_DMA=y -CONFIG_MXC_PXP_V2=y -# CONFIG_IOMMU_SUPPORT is not set -CONFIG_EXTCON_USB_GPIO=y -CONFIG_PWM=y -CONFIG_PWM_IMX=y -CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_OVERLAY_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -# CONFIG_MISC_FILESYSTEMS is not set -CONFIG_NFS_FS=y -CONFIG_NFS_V3_ACL=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y -CONFIG_NLS_DEFAULT="cp437" -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_850=y -CONFIG_NLS_ASCII=y -CONFIG_NLS_ISO8859_1=y -CONFIG_NLS_ISO8859_15=y -CONFIG_NLS_UTF8=y -CONFIG_DYNAMIC_DEBUG=y -CONFIG_DEBUG_FS=y -# CONFIG_SCHED_DEBUG is not set -# CONFIG_DEBUG_BUGVERBOSE is not set -# CONFIG_FTRACE is not set -# CONFIG_ARM_UNWIND is not set -CONFIG_SECURITYFS=y -CONFIG_CRYPTO_TEST=m -CONFIG_CRYPTO_XTS=y -CONFIG_CRYPTO_DEFLATE=y -CONFIG_CRYPTO_LZO=y -CONFIG_CRYPTO_USER_API_HASH=y -CONFIG_CRYPTO_USER_API_SKCIPHER=y -CONFIG_CRYPTO_DEV_FSL_CAAM=y -CONFIG_FONTS=y -CONFIG_VIRTUALIZATION=y diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey-4.9/ccimx6ul/defconfig b/meta-digi-arm/recipes-kernel/linux/linux-dey-4.9/ccimx6ul/defconfig deleted file mode 100644 index cc7a12a29..000000000 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey-4.9/ccimx6ul/defconfig +++ /dev/null @@ -1,365 +0,0 @@ -CONFIG_KERNEL_LZO=y -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=18 -CONFIG_CGROUPS=y -CONFIG_MEMCG=y -CONFIG_MEMCG_SWAP=y -CONFIG_BLK_CGROUP=y -CONFIG_CGROUP_SCHED=y -CONFIG_CFS_BANDWIDTH=y -CONFIG_RT_GROUP_SCHED=y -CONFIG_CGROUP_FREEZER=y -CONFIG_CPUSETS=y -CONFIG_CGROUP_DEVICE=y -CONFIG_CGROUP_CPUACCT=y -CONFIG_CGROUP_PERF=y -CONFIG_NAMESPACES=y -CONFIG_USER_NS=y -CONFIG_RELAY=y -CONFIG_BLK_DEV_INITRD=y -# CONFIG_RD_LZMA is not set -# CONFIG_RD_XZ is not set -# CONFIG_RD_LZ4 is not set -CONFIG_EXPERT=y -CONFIG_KALLSYMS_ALL=y -CONFIG_PERF_EVENTS=y -# CONFIG_SLUB_DEBUG is not set -# CONFIG_COMPAT_BRK is not set -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODVERSIONS=y -CONFIG_MODULE_SRCVERSION_ALL=y -# CONFIG_BLK_DEV_BSG is not set -CONFIG_ARCH_MXC=y -CONFIG_SOC_IMX6UL=y -# CONFIG_SWP_EMULATE is not set -CONFIG_ARM_ERRATA_764369=y -CONFIG_SMP=y -CONFIG_HAVE_ARM_ARCH_TIMER=y -CONFIG_VMSPLIT_2G=y -CONFIG_PREEMPT=y -CONFIG_AEABI=y -CONFIG_HIGHMEM=y -CONFIG_CMA=y -CONFIG_SECCOMP=y -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_USERSPACE=y -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y -CONFIG_CPU_FREQ_GOV_INTERACTIVE=y -CONFIG_ARM_IMX6Q_CPUFREQ=y -CONFIG_CPU_IDLE=y -CONFIG_VFP=y -CONFIG_NEON=y -CONFIG_PM_DEBUG=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -CONFIG_BRIDGE=y -CONFIG_VLAN_8021Q=y -CONFIG_LLC2=y -CONFIG_CAN=y -CONFIG_CAN_FLEXCAN=y -CONFIG_BT=y -CONFIG_BT_RFCOMM=y -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=y -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=y -CONFIG_BT_HCIUART=y -CONFIG_BT_HCIUART_ATH3K=y -CONFIG_BT_HCIUART_IBS=y -CONFIG_CFG80211=y -CONFIG_CFG80211_CERTIFICATION_ONUS=y -CONFIG_CFG80211_DEBUGFS=y -CONFIG_CFG80211_WEXT=y -CONFIG_RFKILL=y -CONFIG_RFKILL_INPUT=y -CONFIG_RFKILL_REGULATOR=y -CONFIG_RFKILL_GPIO=y -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -# CONFIG_STANDALONE is not set -# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set -CONFIG_DMA_CMA=y -CONFIG_CMA_SIZE_MBYTES=0 -CONFIG_IMX_WEIM=y -CONFIG_CONNECTOR=y -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_BLOCK=y -CONFIG_MTD_CFI=y -CONFIG_MTD_JEDECPROBE=y -CONFIG_MTD_CFI_INTELEXT=y -CONFIG_MTD_CFI_AMDSTD=y -CONFIG_MTD_CFI_STAA=y -CONFIG_MTD_PHYSMAP_OF=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_GPMI_NAND=y -CONFIG_MTD_UBI=y -CONFIG_MTD_UBI_FASTMAP=y -CONFIG_MTD_UBI_BLOCK=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_SIZE=65536 -CONFIG_EEPROM_AT24=y -CONFIG_EEPROM_AT25=y -CONFIG_SCSI=y -# CONFIG_SCSI_PROC_FS is not set -CONFIG_BLK_DEV_SD=y -CONFIG_NETDEVICES=y -# CONFIG_NET_VENDOR_ARC is not set -# CONFIG_NET_CADENCE is not set -# CONFIG_NET_VENDOR_BROADCOM is not set -# CONFIG_NET_VENDOR_CIRRUS is not set -# CONFIG_NET_VENDOR_FARADAY is not set -# CONFIG_NET_VENDOR_HISILICON is not set -# CONFIG_NET_VENDOR_INTEL is not set -# CONFIG_NET_VENDOR_MARVELL is not set -# CONFIG_NET_VENDOR_MICREL is not set -# CONFIG_NET_VENDOR_MICROCHIP is not set -# CONFIG_NET_VENDOR_NATSEMI is not set -# CONFIG_NET_VENDOR_QUALCOMM is not set -# CONFIG_NET_VENDOR_ROCKER is not set -# CONFIG_NET_VENDOR_SAMSUNG is not set -# CONFIG_NET_VENDOR_SEEQ is not set -# CONFIG_NET_VENDOR_SMSC is not set -# CONFIG_NET_VENDOR_STMICRO is not set -# CONFIG_NET_VENDOR_VIA is not set -# CONFIG_NET_VENDOR_WIZNET is not set -CONFIG_SMSC_PHY=y -CONFIG_PPP=y -CONFIG_PPP_BSDCOMP=y -CONFIG_PPP_DEFLATE=y -CONFIG_PPP_ASYNC=y -CONFIG_USB_USBNET=y -# CONFIG_USB_NET_AX8817X is not set -# CONFIG_USB_NET_AX88179_178A is not set -CONFIG_USB_NET_CDC_EEM=y -CONFIG_USB_NET_CDC_MBIM=y -# CONFIG_USB_NET_NET1080 is not set -# CONFIG_USB_NET_CDC_SUBSET is not set -# CONFIG_USB_NET_ZAURUS is not set -CONFIG_USB_NET_QMI_WWAN=y -CONFIG_USB_SIERRA_NET=y -CONFIG_HOSTAP=y -CONFIG_HOSTAP_FIRMWARE=y -CONFIG_HOSTAP_FIRMWARE_NVRAM=y -CONFIG_INPUT_POLLDEV=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_EVDEV=y -CONFIG_KEYBOARD_GPIO=y -CONFIG_KEYBOARD_IMX=y -# CONFIG_INPUT_MOUSE is not set -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_FUSION_7_10=y -CONFIG_TOUCHSCREEN_GOODIX=y -CONFIG_TOUCHSCREEN_IMX6UL_TSC=y -CONFIG_INPUT_MISC=y -CONFIG_INPUT_MCA_CC6UL_PWRKEY=y -# CONFIG_SERIO_SERPORT is not set -# CONFIG_LEGACY_PTYS is not set -# CONFIG_DEVKMEM is not set -CONFIG_SERIAL_IMX=y -CONFIG_SERIAL_IMX_CONSOLE=y -CONFIG_SERIAL_MCA_CC6UL=y -CONFIG_FSL_OTP=y -# CONFIG_I2C_COMPAT is not set -CONFIG_I2C_CHARDEV=y -# CONFIG_I2C_HELPER_AUTO is not set -CONFIG_I2C_ALGOBIT=y -CONFIG_I2C_IMX=y -CONFIG_I2C_IMX_LPI2C=y -CONFIG_SPI=y -CONFIG_SPI_GPIO=y -CONFIG_SPI_IMX=y -CONFIG_SPI_FSL_LPSPI=y -CONFIG_SPI_SPIDEV=m -CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_MCA_CC6UL=y -CONFIG_POWER_RESET=y -CONFIG_POWER_RESET_SYSCON=y -CONFIG_POWER_RESET_SYSCON_POWEROFF=y -CONFIG_POWER_SUPPLY=y -# CONFIG_MXC_MMA8451 is not set -CONFIG_THERMAL=y -CONFIG_THERMAL_WRITABLE_TRIPS=y -CONFIG_CPU_THERMAL=y -CONFIG_IMX_THERMAL=y -CONFIG_DEVICE_THERMAL=y -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_NOWAYOUT=y -CONFIG_MCA_CC6UL_WATCHDOG=y -CONFIG_IMX2_WDT=y -CONFIG_MFD_MCA_IOEXP=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_ANATOP=y -CONFIG_REGULATOR_GPIO=y -CONFIG_REGULATOR_PFUZE100=y -CONFIG_MEDIA_SUPPORT=y -CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_V4L_PLATFORM_DRIVERS=y -CONFIG_VIDEO_MXC_OUTPUT=y -CONFIG_VIDEO_MXC_CAPTURE=y -CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=y -# CONFIG_MXC_IPU_PRP_ENC is not set -CONFIG_VIDEO_MXC_PXP_V4L2=y -CONFIG_VIDEO_MXC_CSI_CAMERA=y -CONFIG_MXC_SUBDEV_CAMERA_OV5640=y -CONFIG_MXC_SUBDEV_CAMERA_OV5642=y -CONFIG_SOC_CAMERA=y -CONFIG_V4L_MEM2MEM_DRIVERS=y -CONFIG_VIDEO_CODA=y -CONFIG_FB=y -# CONFIG_FB_MX3 is not set -CONFIG_FB_MXS=y -CONFIG_FB_MXC_SYNC_PANEL=y -CONFIG_FB_MXC_LDB=y -# CONFIG_FB_MXC_EDID is not set -CONFIG_BACKLIGHT_LCD_SUPPORT=y -CONFIG_LCD_CLASS_DEVICE=y -CONFIG_LCD_PLATFORM=y -CONFIG_BACKLIGHT_CLASS_DEVICE=y -CONFIG_BACKLIGHT_PWM=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -CONFIG_LOGO=y -CONFIG_FB_LOGO_CENTERED=y -# CONFIG_LOGO_LINUX_MONO is not set -# CONFIG_LOGO_LINUX_VGA16 is not set -# CONFIG_LOGO_LINUX_CLUT224 is not set -CONFIG_SOUND=y -CONFIG_SND=y -# CONFIG_SND_SPI is not set -# CONFIG_SND_USB is not set -CONFIG_SND_SOC=y -CONFIG_SND_SOC_FSL_ASRC=y -CONFIG_SND_IMX_SOC=y -CONFIG_SND_SOC_IMX_MAX98088=y -CONFIG_SND_SOC_IMX_SPDIF=y -CONFIG_SND_SOC_FSL_ASOC_CARD=y -CONFIG_USB=y -CONFIG_USB_OTG_WHITELIST=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_MXC=y -CONFIG_USB_HCD_TEST_MODE=y -CONFIG_USB_ACM=y -CONFIG_USB_STORAGE=y -CONFIG_USB_CHIPIDEA=y -CONFIG_USB_CHIPIDEA_UDC=y -CONFIG_USB_CHIPIDEA_HOST=y -CONFIG_USB_SERIAL=y -CONFIG_USB_SERIAL_GENERIC=y -CONFIG_USB_SERIAL_QUALCOMM=y -CONFIG_USB_SERIAL_SIERRAWIRELESS=y -CONFIG_USB_SERIAL_OPTION=y -CONFIG_USB_EHSET_TEST_FIXTURE=y -CONFIG_NOP_USB_XCEIV=y -CONFIG_USB_MXS_PHY=y -CONFIG_USB_GADGET=y -CONFIG_USB_FSL_USB2=y -CONFIG_USB_ETH=m -CONFIG_USB_MASS_STORAGE=m -CONFIG_USB_G_SERIAL=m -CONFIG_USB_CDC_COMPOSITE=m -CONFIG_MMC=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMC_SDHCI_ESDHC_IMX=y -CONFIG_MXC_IPU=y -CONFIG_MXC_SIM=y -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_PWM=y -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_ONESHOT=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_LEDS_TRIGGER_BACKLIGHT=y -CONFIG_LEDS_TRIGGER_GPIO=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_INTF_DEV_UIE_EMUL=y -CONFIG_RTC_DRV_MCA_CC6UL=y -CONFIG_RTC_DRV_MXC=y -CONFIG_RTC_DRV_SNVS=y -CONFIG_DMADEVICES=y -CONFIG_IMX_SDMA=y -CONFIG_MXS_DMA=y -CONFIG_MXC_PXP_V2=y -CONFIG_MXC_PXP_V3=y -CONFIG_STAGING=y -CONFIG_STAGING_MEDIA=y -# CONFIG_IOMMU_SUPPORT is not set -CONFIG_IIO=y -CONFIG_MCA_CC6UL_ADC=y -CONFIG_VF610_ADC=y -CONFIG_TAMPER_MCA_CC6UL=y -CONFIG_PWM=y -CONFIG_PWM_IMX=y -# CONFIG_RESET_GPIO is not set -CONFIG_NVMEM_IMX_OCOTP=y -CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_AUTOFS4_FS=y -CONFIG_OVERLAY_FS=y -CONFIG_VFAT_FS=y -CONFIG_TMPFS=y -CONFIG_UBIFS_FS=y -CONFIG_NFS_FS=y -CONFIG_NFS_V3_ACL=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y -CONFIG_NLS_DEFAULT="cp437" -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ASCII=y -CONFIG_NLS_ISO8859_1=y -CONFIG_NLS_UTF8=y -CONFIG_DEBUG_FS=y -CONFIG_MAGIC_SYSRQ=y -# CONFIG_SCHED_DEBUG is not set -# CONFIG_DEBUG_BUGVERBOSE is not set -# CONFIG_FTRACE is not set -CONFIG_CRYPTO_USER=y -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_CTR=y -CONFIG_CRYPTO_CTS=y -CONFIG_CRYPTO_LRW=y -CONFIG_CRYPTO_XTS=y -CONFIG_CRYPTO_GHASH=y -CONFIG_CRYPTO_MD4=y -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_RMD128=y -CONFIG_CRYPTO_RMD160=y -CONFIG_CRYPTO_RMD256=y -CONFIG_CRYPTO_RMD320=y -CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA512=y -CONFIG_CRYPTO_TGR192=y -CONFIG_CRYPTO_WP512=y -CONFIG_CRYPTO_BLOWFISH=y -CONFIG_CRYPTO_CAMELLIA=y -CONFIG_CRYPTO_TWOFISH=y -CONFIG_CRYPTO_DEV_FSL_CAAM=y -CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y -CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y -CONFIG_CRC_T10DIF=y -CONFIG_FONTS=y -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y -CONFIG_VIRTUALIZATION=y diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc new file mode 100644 index 000000000..2af545a1e --- /dev/null +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc @@ -0,0 +1,15 @@ +# Copyright (C) 2018 Digi International + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" + +LOCALVERSION = "-dey" +SRCBRANCH = "v4.9/dey-2.4/maint" +SRCBRANCH_ccimx8x = "v4.9.88/master" +SRCREV = "${AUTOREV}" + +# Select internal or Github Linux repo +LINUX_GIT_URI ?= "${@base_conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}linux-2.6.git', '${DIGI_GITHUB_GIT}/linux.git', d)}" +SRC_URI = "${LINUX_GIT_URI};branch=${SRCBRANCH}" + +S = "${WORKDIR}/git" diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey.inc b/meta-digi-arm/recipes-kernel/linux/linux-dey.inc index 69117b9ff..58fc19e12 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey.inc +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey.inc @@ -9,17 +9,10 @@ DEPENDS += "${@base_conditional('TRUSTFENCE_SIGN', '1', 'trustfence-sign-tools-n inherit kernel fsl-kernel-localversion -LOCALVERSION = "-dey" +require recipes-kernel/linux/linux-dey-src.inc -# Select internal or Github Linux repo -LINUX_GIT_URI ?= "${@base_conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}linux-2.6.git', '${DIGI_GITHUB_GIT}/linux.git', d)}" - -SRC_URI = " \ - ${LINUX_GIT_URI};branch=${SRCBRANCH} \ - file://defconfig \ -" - -S = "${WORKDIR}/git" +# Use custom provided 'defconfig' if variable KERNEL_DEFCONFIG is cleared +SRC_URI += "${@base_conditional('KERNEL_DEFCONFIG', '', 'file://defconfig', '', d)}" do_deploy[postfuncs] += "${@base_conditional('TRUSTFENCE_SIGN', '1', 'trustfence_sign', '', d)}" @@ -58,3 +51,21 @@ FILES_kernel-image += "/boot/config-${KERNEL_VERSION}" # Don't include kernels in standard images RDEPENDS_kernel-base = "" + +# A user can provide his own kernel 'defconfig' file by: +# - setting the variable KERNEL_DEFCONFIG to a custom kernel configuration file +# inside the kernel repository. +# - setting the variable KERNEL_DEFCONFIG to a kernel configuration file using +# the full path to the file. +# - clearing the variable KERNEL_DEFCONFIG and providing a kernel configuration +# file in the layer (in this case the file must be named 'defconfig'). +# Otherwise the default platform's kernel configuration file will be taken from +# the Linux source code tree. +do_copy_defconfig[vardeps] += "KERNEL_DEFCONFIG" +do_copy_defconfig[dirs] = "${S}" +do_copy_defconfig () { + if [ -n "${KERNEL_DEFCONFIG}" ]; then + cp -f ${KERNEL_DEFCONFIG} ${WORKDIR}/defconfig + fi +} +addtask copy_defconfig after do_patch before do_preconfigure diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey_4.9.bb b/meta-digi-arm/recipes-kernel/linux/linux-dey_4.9.bb index 284d85696..e8afd6ffc 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey_4.9.bb +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey_4.9.bb @@ -2,7 +2,4 @@ require recipes-kernel/linux/linux-dey.inc -SRCBRANCH = "v4.9/dey-2.4/maint" -SRCREV = "${AUTOREV}" - -COMPATIBLE_MACHINE = "(ccimx6|ccimx6ul)" +COMPATIBLE_MACHINE = "(ccimx6|ccimx6ul|ccimx8x)" diff --git a/meta-digi-dey/classes/trustfence.bbclass b/meta-digi-dey/classes/trustfence.bbclass index 058de583f..c9e391132 100644 --- a/meta-digi-dey/classes/trustfence.bbclass +++ b/meta-digi-dey/classes/trustfence.bbclass @@ -36,6 +36,10 @@ python () { import hashlib import os + if ("ccimx8x" in d.getVar("MACHINE", True)): + bb.fatal("Trustfence is not currently supported on the ccimx8x SOM") + return + # Secure console configuration if (d.getVar("TRUSTFENCE_CONSOLE_DISABLE", True) == "1"): d.appendVar("UBOOT_EXTRA_CONF", "CONFIG_CONSOLE_DISABLE=y ") diff --git a/meta-digi-dey/conf/distro/dey.conf b/meta-digi-dey/conf/distro/dey.conf index c5dfe8f01..bdbe90f5e 100644 --- a/meta-digi-dey/conf/distro/dey.conf +++ b/meta-digi-dey/conf/distro/dey.conf @@ -22,12 +22,13 @@ POKY_DEFAULT_EXTRA_RRECOMMENDS = "" DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC} ${POKY_DEFAULT_DISTRO_FEATURES}" # Removed DISTRO_FEATURES -# 'wayland' -> not supported at the moment +# 'wayland' -> only supported on the i.MX8 QXP # 'ptest' -> fails to build QT5 toolchain DISTRO_FEATURES_DEFAULT_remove = "3g nfc nfs zeroconf" POKY_DEFAULT_DISTRO_FEATURES_remove = "ptest wayland" -GRAPHICAL_BACKEND = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'fb', d)}" +GRAPHICAL_BACKEND = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', \ + bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'fb', d), d)}" # Recovery initramfs image name. RECOVERY_INITRAMFS_IMAGE ?= "dey-image-recovery-initramfs" diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.46/ccimx8x/bluetooth-init b/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.46/ccimx8x/bluetooth-init new file mode 100644 index 000000000..0a6a70cc4 --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.46/ccimx8x/bluetooth-init @@ -0,0 +1,93 @@ +#!/bin/sh +#=============================================================================== +# +# Copyright (C) 2018 by Digi International Inc. +# All rights reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# +# !Description: Initialize bluetooth hardware +# +#=============================================================================== + +# Bluetooth power GPIO +BT_EN_QCA_GPIO_NR="394" + +# set_gpio_value +set_gpio_value() { + local SG_GPIONR="${1}" + local SG_GPIOVAL="${2}" + local SG_GPIOPATH="/sys/class/gpio/gpio${SG_GPIONR}" + + [ -d "${SG_GPIOPATH}" ] || printf "%s" "${SG_GPIONR}" > /sys/class/gpio/export + printf out > "${SG_GPIOPATH}/direction" && sleep .2 + printf "${SG_GPIOVAL}" > "${SG_GPIOPATH}/value" && sleep .2 + [ -d "${SG_GPIOPATH}" ] && printf "%s" "${SG_GPIONR}" > /sys/class/gpio/unexport +} + +# powercycle_gpio +powercycle_gpio() { + set_gpio_value "${1}" 0 + set_gpio_value "${1}" 1 +} + +error() { + echo ${1} + exit 1 +} + +bluetooth_init() { + # Get MAC address from the device tree. Use a default value if it has not been set. + BT_MACADDR="$(hexdump -ve '1/1 "%02X" ":"' /proc/device-tree/bluetooth/mac-address 2>/dev/null | sed 's/:$//g')" + if [ -z "${BT_MACADDR}" ] || [ "${BT_MACADDR}" = "00:00:00:00:00:00" ]; then + BT_MACADDR="00:04:F3:FF:FF:BB" + fi + + # Start the Bluetooth driver and bring up the interface + HCIATTACH_LOG="/var/log/hciattach.log" + + for RETRY in $(seq 1 5) + do + killproc hciattach + powercycle_gpio "${BT_EN_QCA_GPIO_NR}" + if hciattach ttyBt qca ${BT_RATE:-3000000} -t30 ${BT_FLOW:-flow} unused ${BT_MACADDR} >${HCIATTACH_LOG} 2>&1; then + return + fi + sleep 1 + done + BT_ERROR="FAIL (hciattach)" +} + +# Source function library +. /etc/init.d/functions + +case "$1" in + start) + if [ -d "/proc/device-tree/bluetooth" ]; then + echo -n "Starting bluetooth hardware: " + bluetooth_init + echo "${BT_ERROR:-done.}" + fi + ;; + stop) + if [ -d "/sys/class/bluetooth/hci0" ]; then + echo -n "Stopping bluetooth hardware: " + killproc hciattach + # Power down bluetooth + set_gpio_value "${BT_EN_QCA_GPIO_NR}" 0 + echo "done." + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.46/ccimx8x/main.conf b/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.46/ccimx8x/main.conf new file mode 100644 index 000000000..1fae07f0e --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.46/ccimx8x/main.conf @@ -0,0 +1,12 @@ +[General] + +# Default adapter name +# Defaults to 'BlueZ X.YZ' +Name = cc8x + +[Policy] + +# AutoEnable defines option to enable all controllers when they are found. +# This includes adapters present on start as well as adapters that are plugged +# in later on. Defaults to 'false'. +AutoEnable=true diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5_5.41.bbappend b/meta-digi-dey/recipes-connectivity/bluez/bluez5_5.41.bbappend index 368f0f698..d786b748d 100644 --- a/meta-digi-dey/recipes-connectivity/bluez/bluez5_5.41.bbappend +++ b/meta-digi-dey/recipes-connectivity/bluez/bluez5_5.41.bbappend @@ -18,15 +18,15 @@ SRC_URI += " \ file://0011-core-Fix-BR-EDR-pairing-for-dual-mode-devices.patch \ " -QCA6564_COMMON_PATCHES = " \ +QCA65XX_COMMON_PATCHES = " \ file://0012-QCA_bluetooth_chip_support.patch \ file://0013-hciattach_rome-Respect-the-user-indication-for-noflo.patch \ file://0014-hciattach-If-the-user-supplies-a-bdaddr-use-it.patch \ file://0015-hciattach-Add-verbosity-option.patch \ " -SRC_URI_append_ccimx6ul = " ${QCA6564_COMMON_PATCHES}" -SRC_URI_append_ccimx6qpsbc = " ${QCA6564_COMMON_PATCHES}" +SRC_URI_append_ccimx6ul = " ${QCA65XX_COMMON_PATCHES}" +SRC_URI_append_ccimx6qpsbc = " ${QCA65XX_COMMON_PATCHES}" inherit update-rc.d diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5_5.46.bbappend b/meta-digi-dey/recipes-connectivity/bluez/bluez5_5.46.bbappend index 6246491eb..01d97f9c7 100644 --- a/meta-digi-dey/recipes-connectivity/bluez/bluez5_5.46.bbappend +++ b/meta-digi-dey/recipes-connectivity/bluez/bluez5_5.46.bbappend @@ -10,15 +10,16 @@ SRC_URI += " \ file://0003-port-test-discovery-to-python3.patch \ " -QCA6564_COMMON_PATCHES = " \ +QCA65XX_COMMON_PATCHES = " \ file://0004-QCA_bluetooth_chip_support.patch \ file://0005-hciattach_rome-Respect-the-user-indication-for-noflo.patch \ file://0006-hciattach-If-the-user-supplies-a-bdaddr-use-it.patch \ file://0007-hciattach-Add-verbosity-option.patch \ " -SRC_URI_append_ccimx6ul = " ${QCA6564_COMMON_PATCHES}" -SRC_URI_append_ccimx6qpsbc = " ${QCA6564_COMMON_PATCHES}" +SRC_URI_append_ccimx6ul = " ${QCA65XX_COMMON_PATCHES}" +SRC_URI_append_ccimx6qpsbc = " ${QCA65XX_COMMON_PATCHES}" +SRC_URI_append_ccimx8x = " ${QCA65XX_COMMON_PATCHES}" inherit update-rc.d diff --git a/meta-digi-dey/recipes-connectivity/hostapd/hostapd_%.bbappend b/meta-digi-dey/recipes-connectivity/hostapd/hostapd_%.bbappend index 6f31b13df..c3dd56f48 100644 --- a/meta-digi-dey/recipes-connectivity/hostapd/hostapd_%.bbappend +++ b/meta-digi-dey/recipes-connectivity/hostapd/hostapd_%.bbappend @@ -1,10 +1,11 @@ -# Copyright (C) 2016,2017 Digi International. +# Copyright (C) 2016-2018 Digi International. FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" SRC_URI_append = " file://hostapd_wlan0.conf" SRC_URI_append_ccimx6ul = " file://hostapd_wlan1.conf" SRC_URI_append_ccimx6qpsbc = " file://hostapd_wlan1.conf" +SRC_URI_append_ccimx8x = " file://hostapd_wlan1.conf" do_install_append() { # Remove the default hostapd.conf @@ -23,6 +24,11 @@ do_install_append_ccimx6qpsbc() { install -m 0644 ${WORKDIR}/hostapd_wlan1.conf ${D}${sysconfdir} } +do_install_append_ccimx8x() { + # Install custom hostapd_IFACE.conf file + install -m 0644 ${WORKDIR}/hostapd_wlan1.conf ${D}${sysconfdir} +} + pkg_postinst_${PN}() { # Append the last two bytes of the wlan0 MAC address to the SSID of the # hostAP configuration files diff --git a/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx8x-sbc-express/78-mm-digi-xbee-cellular.rules b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx8x-sbc-express/78-mm-digi-xbee-cellular.rules new file mode 100644 index 000000000..9ab0f5998 --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/ccimx8x-sbc-express/78-mm-digi-xbee-cellular.rules @@ -0,0 +1,10 @@ +ACTION!="add|change|move", GOTO="mm_digi_xbee_cellular_modem_end" + +# By default, ModemManager expects a default baudrate of 57600bps. Different +# baudrates may be used by setting the ID_MM_TTY_BAUDRATE udev tag. + +# 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 +DEVPATH=="/devices/platform/5a060000.serial/tty/ttyLP0", ENV{ID_MM_PLATFORM_DRIVER_PROBE}="1", ENV{ID_MM_PHYSDEV_UID}="Digi XBee Cellular" + +LABEL="mm_digi_xbee_cellular_modem_end" diff --git a/meta-digi-dey/recipes-connectivity/openssl/openssl/0003-Modify-openssl.cnf-to-automatically-load-the-cryptoc.patch b/meta-digi-dey/recipes-connectivity/openssl/openssl/0003-Modify-openssl.cnf-to-automatically-load-the-cryptoc.patch new file mode 100644 index 000000000..36afe491d --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/openssl/openssl/0003-Modify-openssl.cnf-to-automatically-load-the-cryptoc.patch @@ -0,0 +1,40 @@ +From: Gabriel Valcazar +Date: Wed, 2 May 2018 18:49:28 +0200 +Subject: [PATCH] Modify openssl.cnf to automatically load the cryptochip + engine + +https://jira.digi.com/browse/DEL-5592 + +Signed-off-by: Gabriel Valcazar +--- + apps/openssl.cnf | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/apps/openssl.cnf b/apps/openssl.cnf +index 1eb86c4..49d9d83 100644 +--- a/apps/openssl.cnf ++++ b/apps/openssl.cnf +@@ -3,6 +3,8 @@ + # This is mostly being used for generation of certificate requests. + # + ++openssl_conf = openssl_init ++ + # This definition stops the following lines choking if HOME isn't + # defined. + HOME = . +@@ -348,3 +350,14 @@ tsa_name = yes # Must the TSA name be included in the reply? + # (optional, default: no) + ess_cert_id_chain = no # Must the ESS cert id chain be included? + # (optional, default: no) ++ ++[ openssl_init ] ++engines = engine_section ++ ++[ engine_section ] ++ateccx08 = ateccx08_config ++ ++[ ateccx08_config ] ++engine_id = ateccx08 ++dynamic_path = /usr/lib/ssl/engines/libateccssl.so ++init = 0 diff --git a/meta-digi-dey/recipes-connectivity/openssl/openssl_%.bbappend b/meta-digi-dey/recipes-connectivity/openssl/openssl_%.bbappend index 2f4503192..5f35df7c2 100644 --- a/meta-digi-dey/recipes-connectivity/openssl/openssl_%.bbappend +++ b/meta-digi-dey/recipes-connectivity/openssl/openssl_%.bbappend @@ -1,8 +1,13 @@ -# Copyright (C) 2016 Digi International. +# Copyright (C) 2016-2018 Digi International. FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +CRYPTOCHIP_COMMON_PATCHES = " \ + file://0003-Modify-openssl.cnf-to-automatically-load-the-cryptoc.patch \ +" + SRC_URI += " \ file://0001-cryptodev-Fix-issue-with-signature-generation.patch \ file://0002-cryptodev-allow-copying-EVP-contexts.patch \ + ${@bb.utils.contains("MACHINE_FEATURES", "cryptochip", "${CRYPTOCHIP_COMMON_PATCHES}", "", d)} \ " diff --git a/meta-digi-dey/recipes-connectivity/packagegroups/packagegroup-dey-wireless.bb b/meta-digi-dey/recipes-connectivity/packagegroups/packagegroup-dey-wireless.bb index f2d6bf9a7..acefea7a6 100644 --- a/meta-digi-dey/recipes-connectivity/packagegroups/packagegroup-dey-wireless.bb +++ b/meta-digi-dey/recipes-connectivity/packagegroups/packagegroup-dey-wireless.bb @@ -1,5 +1,5 @@ # -# Copyright (C) 2012-2017 Digi International. +# Copyright (C) 2012-2018 Digi International. # SUMMARY = "Wireless packagegroup for DEY image" @@ -17,3 +17,4 @@ RDEPENDS_${PN} = "\ RDEPENDS_${PN}_append_ccimx6ul = " hostapd" RDEPENDS_${PN}_append_ccimx6qpsbc = " hostapd" +RDEPENDS_${PN}_append_ccimx8x = " hostapd" diff --git a/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant/ccimx8x/wpa_supplicant.conf-sane b/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant/ccimx8x/wpa_supplicant.conf-sane new file mode 100644 index 000000000..c58546a06 --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant/ccimx8x/wpa_supplicant.conf-sane @@ -0,0 +1,18 @@ +ctrl_interface=/var/run/wpa_supplicant +ctrl_interface_group=0 +fast_reauth=1 +update_config=1 + +ap_scan=1 + +# Static scheduled scan interval time in seconds +# +# The wpa-supplicant dynamically adjusts the scheduled scan time interval. On +# occassions, fixing the interval time is helpful, for example on DFS channels. +#sched_scan_interval=2 + +network={ + scan_ssid=1 + ssid="" + key_mgmt=NONE +} diff --git a/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant/ccimx8x/wpa_supplicant_p2p.conf b/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant/ccimx8x/wpa_supplicant_p2p.conf new file mode 100644 index 000000000..af04ee92b --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant/ccimx8x/wpa_supplicant_p2p.conf @@ -0,0 +1,8 @@ +ctrl_interface=/var/run/wpa_supplicant +update_config=1 +device_name=ccimx8x-p2p +manufacturer=QCA +model_name=McK +device_type=1-0050F204-1 +config_methods=display keypad push_button +persistent_reconnect=1 diff --git a/meta-digi-dey/recipes-core/busybox/busybox-1.24.1/ccimx8x/standby b/meta-digi-dey/recipes-core/busybox/busybox-1.24.1/ccimx8x/standby new file mode 100755 index 000000000..ad1f29669 --- /dev/null +++ b/meta-digi-dey/recipes-core/busybox/busybox-1.24.1/ccimx8x/standby @@ -0,0 +1,116 @@ +#!/bin/sh +#=============================================================================== +# +# standby +# +# Copyright (C) 2018 by Digi International Inc. +# All rights reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# +# !Description: suspend system to RAM +# +#=============================================================================== + +scriptname="$(basename $(readlink -f ${0}))" +syspower="/sys/power/state" +lockfile="/var/lock/${scriptname}.lock" +lockfd="9" + +BT_INIT="/etc/init.d/bluetooth-init" +BT_DAEMON="/etc/init.d/bluetooth" +NM_DAEMON="/etc/init.d/networkmanager" + +usage() { + printf "\nSuspend system to RAM memory\n" + printf "\nUsage: ${scriptname} [OPTIONS]\n + -h Show this help + \n" +} + +suspend_interfaces() { + # Stop NetworkManager before suspend + ${NM_DAEMON} stop + + # Suspend wireless interfaces + if [ -d "/proc/device-tree/wireless" ]; then + for i in $(sed -ne 's,^\(wlan[0-9]\)=.*,\1,g;T;p' /var/run/ifstate | sort -r); do + ifdown "${i}" && RESUME_IFACES="${RESUME_IFACES:+${RESUME_IFACES} }${i}" + done + grep -qs '^wlan' /proc/modules && rmmod wlan + fi + + # Suspend bluetooth interface + if [ -d "/proc/device-tree/bluetooth" ]; then + hciconfig hci0 2>&1 | grep -qs UP && up_bt_on_resume="1" + ${BT_DAEMON} stop >/dev/null + ${BT_INIT} stop >/dev/null + fi +} + +resume_interfaces() { + # Resume wireless interfaces + if [ -d "/proc/device-tree/wireless" ]; then + # Trigger wireless module loading event, and wait until the interface exists + udevadm trigger --action=add --attr-match="modalias=pci:v0000168Cd0000003Esv*sd*bc*sc*i*" + timeout -t 5 sh -c "while [ ! -d /sys/class/net/wlan0 ]; do sleep .2; done" 2>/dev/null + + # Bring up the interfaces that were bring down on suspend + for i in $(echo ${RESUME_IFACES} | tr ' ' '\n' | sort); do + grep -qs "^${i}" /var/run/ifstate || ifup "${i}" + done + fi + + # Resume NetworkManager after suspend + ${NM_DAEMON} start + + # Resume bluetooth interface + if [ -d "/proc/device-tree/bluetooth" ]; then + if [ -n "${up_bt_on_resume}" ]; then + ${BT_INIT} start >/dev/null + ${BT_DAEMON} start >/dev/null + fi + fi +} + +enter_critical_section() { + # Create lock file + eval "exec ${lockfd}>${lockfile}" + + # Acquire the lock in non blocking mode. Otherwise, additional calls + # to the script will be queued and the system will endlessly go in + # and out of suspend to ram + flock -n "${lockfd}" || exit 0 +} + +exit_critical_section() { + # Release the lock + flock -u "${lockfd}" +} + +while getopts "h" c; do + case "${c}" in + h) usage; exit;; + esac +done + +if [ -f "${syspower}" ]; then + # Avoid running multiple instances of this script in parallel + enter_critical_section + + # Pre-suspend actions + suspend_interfaces + + # Suspend the device + printf "freeze" > ${syspower} + + # Post-resume actions + resume_interfaces + + exit_critical_section +else + printf "\n[ERROR] File ${syspower} not found\n\n" +fi diff --git a/meta-digi-dey/recipes-core/images/dey-image-qt.bb b/meta-digi-dey/recipes-core/images/dey-image-qt.bb index a6ffcef3d..5f6281377 100644 --- a/meta-digi-dey/recipes-core/images/dey-image-qt.bb +++ b/meta-digi-dey/recipes-core/images/dey-image-qt.bb @@ -5,7 +5,7 @@ DESCRIPTION = "DEY image with QT graphical libraries" LICENSE = "MIT" SOC_PACKAGES = "" -SOC_PACKAGES_ccimx6 = "imx-gpu-viv-demos imx-gpu-viv-tools" +SOC_PACKAGES_imxgpu2d = "imx-gpu-viv-demos imx-gpu-viv-tools" IMAGE_INSTALL = " \ packagegroup-dey-core \ @@ -19,7 +19,9 @@ IMAGE_FEATURES += " \ eclipse-debug \ package-management \ ssh-server-dropbear \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11-base x11-sato', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \ + bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11-base x11-sato', \ + '', d), d)} \ ${@bb.utils.contains('MACHINE_FEATURES', 'accel-video', 'dey-gstreamer', '', d)} \ ${@bb.utils.contains('MACHINE_FEATURES', 'alsa', 'dey-audio', '', d)} \ ${@bb.utils.contains('MACHINE_FEATURES', 'bluetooth', 'dey-bluetooth', '', d)} \ @@ -43,7 +45,7 @@ inherit core-image inherit dey-image inherit distro_features_check -CONFLICT_DISTRO_FEATURES = "directfb wayland" +CONFLICT_DISTRO_FEATURES = "directfb" IMAGE_ROOTFS_SIZE = "8192" @@ -52,3 +54,8 @@ BAD_RECOMMENDATIONS += "udev-cache" BAD_RECOMMENDATIONS += "eudev-hwdb" export IMAGE_BASENAME = "dey-image-qt-${GRAPHICAL_BACKEND}" + +CORE_IMAGE_EXTRA_INSTALL += " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston-init weston-examples gtk+3-demo clutter-1.0-examples', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'weston-xwayland xterm', '', d)} \ +" diff --git a/meta-digi-dey/recipes-core/images/dey-image-recovery-initramfs.bb b/meta-digi-dey/recipes-core/images/dey-image-recovery-initramfs.bb index 1338fb7c9..47b063b7f 100644 --- a/meta-digi-dey/recipes-core/images/dey-image-recovery-initramfs.bb +++ b/meta-digi-dey/recipes-core/images/dey-image-recovery-initramfs.bb @@ -15,6 +15,7 @@ PACKAGE_INSTALL = " \ PACKAGE_INSTALL_append_ccimx6 = " e2fsprogs-mke2fs" PACKAGE_INSTALL_append_ccimx6ul = " mtd-utils-ubifs" +PACKAGE_INSTALL_append_ccimx8x = " e2fsprogs-mke2fs" # Do not pollute the initrd image with rootfs features IMAGE_FEATURES = "" diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.br0.example b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.br0.example deleted file mode 100644 index 60e05fe52..000000000 --- a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.br0.example +++ /dev/null @@ -1,7 +0,0 @@ - -## Example bridge between eth0 and wlan1 -#auto br0 -#iface br0 inet static -# bridge_ports eth0 wlan1 -# address 192.168.42.50 -# netmask 255.255.255.0 diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan1.dhcp b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan1.dhcp deleted file mode 100644 index 245b973f0..000000000 --- a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan1.dhcp +++ /dev/null @@ -1,6 +0,0 @@ - -auto wlan1 -iface wlan1 inet dhcp - udhcpc_opts -S -b >/dev/null & - post-up /etc/init.d/hostapd start - pre-down /etc/init.d/hostapd stop diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan1.static b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan1.static deleted file mode 100644 index 664542efe..000000000 --- a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/interfaces.wlan1.static +++ /dev/null @@ -1,9 +0,0 @@ - -auto wlan1 -iface wlan1 inet static - address ##WLAN1_STATIC_IP## - netmask ##WLAN1_STATIC_NETMASK## - gateway ##WLAN1_STATIC_GATEWAY## - dns-nameservers ##WLAN1_STATIC_DNS## - post-up /etc/init.d/hostapd start - pre-down /etc/init.d/hostapd stop diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/virtwlans.sh b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/virtwlans.sh deleted file mode 100644 index a3eb3dc7b..000000000 --- a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6ul/virtwlans.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2017, Digi International Inc. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, you can obtain one at http://mozilla.org/MPL/2.0/. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# - -# This will create a second wireless network device -if [ -s "/proc/device-tree/wireless/mac-address1" ] && - [ -s "/proc/device-tree/wireless/mac-address2" ] && - [ -s "/proc/device-tree/wireless/mac-address3" ]; then - : -else - echo "[WARN] Using default MAC addresses for virtual interfaces, please program them referring to the Digi U-Boot Documentation" -fi - -if [ ! -d "/sys/class/net/wlan1" ]; then - # This will create a second wireless network device - iw dev wlan0 interface add wlan1 type __ap -fi diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6qpsbc/interfaces.br0.example b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.br0.example similarity index 100% rename from meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6qpsbc/interfaces.br0.example rename to meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.br0.example diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6qpsbc/interfaces.wlan1.dhcp b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.wlan1.dhcp similarity index 100% rename from meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6qpsbc/interfaces.wlan1.dhcp rename to meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.wlan1.dhcp diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6qpsbc/interfaces.wlan1.static b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.wlan1.static similarity index 100% rename from meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6qpsbc/interfaces.wlan1.static rename to meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.wlan1.static diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6qpsbc/virtwlans.sh b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/virtwlans.sh similarity index 100% rename from meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/ccimx6qpsbc/virtwlans.sh rename to meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/virtwlans.sh diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend index 97e1dccf4..d1c54cbe2 100644 --- a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2017 Digi International Inc. +# Copyright (C) 2013-2018 Digi International Inc. FILESEXTRAPATHS_prepend := "${THISDIR}/${BP}:" @@ -23,6 +23,12 @@ SRC_URI_append_ccimx6ul = "\ file://virtwlans.sh \ " +SRC_URI_append_ccimx8x = "\ + file://interfaces.wlan1.static \ + file://interfaces.wlan1.dhcp \ + file://virtwlans.sh \ +" + WPA_DRIVER ?= "nl80211" do_install_append() { @@ -49,54 +55,46 @@ do_install_append() { sed -i -e "s,##P2P0_STATIC_GATEWAY##,${P2P0_STATIC_GATEWAY},g" ${D}${sysconfdir}/network/interfaces sed -i -e "s,##P2P0_STATIC_DNS##,${P2P0_STATIC_DNS},g" ${D}${sysconfdir}/network/interfaces sed -i -e "s,##WPA_DRIVER##,${WPA_DRIVER},g" ${D}${sysconfdir}/network/interfaces + + cat ${WORKDIR}/interfaces.br0.example >> ${D}${sysconfdir}/network/interfaces } -do_install_append_ccimx6sbc() { - cat ${WORKDIR}/interfaces.br0.example >> ${D}${sysconfdir}/network/interfaces +install_virtwlans() { + install -d ${D}${base_bindir} + install -m 0755 ${WORKDIR}/virtwlans.sh ${D}${base_bindir} +} + +install_wlan1() { + if [ -n "${HAVE_WIFI}" ]; then + cat ${WORKDIR}/interfaces.wlan1.${WLAN1_MODE} >> ${D}${sysconfdir}/network/interfaces + fi + + # Remove config entries if corresponding variable is not defined + [ -z "${WLAN1_STATIC_DNS}" ] && sed -i -e "/##WLAN1_STATIC_DNS##/d" ${D}${sysconfdir}/network/interfaces + [ -z "${WLAN1_STATIC_GATEWAY}" ] && sed -i -e "/##WLAN1_STATIC_GATEWAY##/d" ${D}${sysconfdir}/network/interfaces + [ -z "${WLAN1_STATIC_IP}" ] && sed -i -e "/##WLAN1_STATIC_IP##/d" ${D}${sysconfdir}/network/interfaces + [ -z "${WLAN1_STATIC_NETMASK}" ] && sed -i -e "/##WLAN1_STATIC_NETMASK##/d" ${D}${sysconfdir}/network/interfaces + + # Replace interface parameters + sed -i -e "s,##WLAN1_STATIC_IP##,${WLAN1_STATIC_IP},g" ${D}${sysconfdir}/network/interfaces + sed -i -e "s,##WLAN1_STATIC_NETMASK##,${WLAN1_STATIC_NETMASK},g" ${D}${sysconfdir}/network/interfaces + sed -i -e "s,##WLAN1_STATIC_GATEWAY##,${WLAN1_STATIC_GATEWAY},g" ${D}${sysconfdir}/network/interfaces + sed -i -e "s,##WLAN1_STATIC_DNS##,${WLAN1_STATIC_DNS},g" ${D}${sysconfdir}/network/interfaces } do_install_append_ccimx6qpsbc() { - install -d ${D}${base_bindir} - install -m 0755 ${WORKDIR}/virtwlans.sh ${D}${base_bindir} - if [ -n "${HAVE_WIFI}" ]; then - cat ${WORKDIR}/interfaces.wlan1.${WLAN1_MODE} >> ${D}${sysconfdir}/network/interfaces - fi - - # Remove config entries if corresponding variable is not defined - [ -z "${WLAN1_STATIC_DNS}" ] && sed -i -e "/##WLAN1_STATIC_DNS##/d" ${D}${sysconfdir}/network/interfaces - [ -z "${WLAN1_STATIC_GATEWAY}" ] && sed -i -e "/##WLAN1_STATIC_GATEWAY##/d" ${D}${sysconfdir}/network/interfaces - [ -z "${WLAN1_STATIC_IP}" ] && sed -i -e "/##WLAN1_STATIC_IP##/d" ${D}${sysconfdir}/network/interfaces - [ -z "${WLAN1_STATIC_NETMASK}" ] && sed -i -e "/##WLAN1_STATIC_NETMASK##/d" ${D}${sysconfdir}/network/interfaces - - # Replace interface parameters - sed -i -e "s,##WLAN1_STATIC_IP##,${WLAN1_STATIC_IP},g" ${D}${sysconfdir}/network/interfaces - sed -i -e "s,##WLAN1_STATIC_NETMASK##,${WLAN1_STATIC_NETMASK},g" ${D}${sysconfdir}/network/interfaces - sed -i -e "s,##WLAN1_STATIC_GATEWAY##,${WLAN1_STATIC_GATEWAY},g" ${D}${sysconfdir}/network/interfaces - sed -i -e "s,##WLAN1_STATIC_DNS##,${WLAN1_STATIC_DNS},g" ${D}${sysconfdir}/network/interfaces - - cat ${WORKDIR}/interfaces.br0.example >> ${D}${sysconfdir}/network/interfaces + install_virtwlans + install_wlan1 } do_install_append_ccimx6ul() { - install -d ${D}${base_bindir} - install -m 0755 ${WORKDIR}/virtwlans.sh ${D}${base_bindir} - if [ -n "${HAVE_WIFI}" ]; then - cat ${WORKDIR}/interfaces.wlan1.${WLAN1_MODE} >> ${D}${sysconfdir}/network/interfaces - fi + install_virtwlans + install_wlan1 +} - # Remove config entries if corresponding variable is not defined - [ -z "${WLAN1_STATIC_DNS}" ] && sed -i -e "/##WLAN1_STATIC_DNS##/d" ${D}${sysconfdir}/network/interfaces - [ -z "${WLAN1_STATIC_GATEWAY}" ] && sed -i -e "/##WLAN1_STATIC_GATEWAY##/d" ${D}${sysconfdir}/network/interfaces - [ -z "${WLAN1_STATIC_IP}" ] && sed -i -e "/##WLAN1_STATIC_IP##/d" ${D}${sysconfdir}/network/interfaces - [ -z "${WLAN1_STATIC_NETMASK}" ] && sed -i -e "/##WLAN1_STATIC_NETMASK##/d" ${D}${sysconfdir}/network/interfaces - - # Replace interface parameters - sed -i -e "s,##WLAN1_STATIC_IP##,${WLAN1_STATIC_IP},g" ${D}${sysconfdir}/network/interfaces - sed -i -e "s,##WLAN1_STATIC_NETMASK##,${WLAN1_STATIC_NETMASK},g" ${D}${sysconfdir}/network/interfaces - sed -i -e "s,##WLAN1_STATIC_GATEWAY##,${WLAN1_STATIC_GATEWAY},g" ${D}${sysconfdir}/network/interfaces - sed -i -e "s,##WLAN1_STATIC_DNS##,${WLAN1_STATIC_DNS},g" ${D}${sysconfdir}/network/interfaces - - cat ${WORKDIR}/interfaces.br0.example >> ${D}${sysconfdir}/network/interfaces +do_install_append_ccimx8x() { + install_virtwlans + install_wlan1 } # Disable wireless interfaces on first boot for non-wireless variants diff --git a/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.1.bb b/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.1.bb index 9db3d9c98..74942b6f8 100644 --- a/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.1.bb +++ b/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.1.bb @@ -1,12 +1,17 @@ -# Copyright (C) 2016, 2017 Digi International. +# Copyright (C) 2016-2018 Digi International. SUMMARY = "Trustfence command line tool" SECTION = "console/tools" LICENSE = "CLOSED" -SRC_URI = "${DIGI_PKG_SRC}/${BP}.tar.gz" +SRC_URI_arm = "${DIGI_PKG_SRC}/${BP}-${TUNE_ARCH}.tar.gz;name=arm" -SRC_URI[md5sum] = "31385122bed83d420f92efddd8975e99" -SRC_URI[sha256sum] = "e5e9157837be8e26141708e06a881ef872dd94aa06451668959845c4d4d19efc" +SRC_URI[arm.md5sum] = "31385122bed83d420f92efddd8975e99" +SRC_URI[arm.sha256sum] = "e5e9157837be8e26141708e06a881ef872dd94aa06451668959845c4d4d19efc" + +SRC_URI_aarch64 = "${DIGI_PKG_SRC}/${BP}-${TUNE_ARCH}.tar.gz;name=aarch64" + +SRC_URI[aarch64.md5sum] = "41116c3d1f5a71f7f6d97571ad52b872" +SRC_URI[aarch64.sha256sum] = "3fe7d39140b1b73d001afd220bf83965116175022f3a9f42695a752c23637e04" inherit bin_package diff --git a/meta-digi-dey/recipes-digi/cryptoauth-openssl-engine/cryptoauth-openssl-engine/0001-Digi-modifications-to-the-cryptoauth-OpenSSL-engine.patch b/meta-digi-dey/recipes-digi/cryptoauth-openssl-engine/cryptoauth-openssl-engine/0001-Digi-modifications-to-the-cryptoauth-OpenSSL-engine.patch new file mode 100644 index 000000000..cc4f1196e --- /dev/null +++ b/meta-digi-dey/recipes-digi/cryptoauth-openssl-engine/cryptoauth-openssl-engine/0001-Digi-modifications-to-the-cryptoauth-OpenSSL-engine.patch @@ -0,0 +1,228 @@ +From: Gabriel Valcazar +Date: Fri, 27 Apr 2018 13:24:49 +0200 +Subject: [PATCH] Digi modifications to the cryptoauth OpenSSL engine + +https://jira.digi.com/browse/DEL-5592 + +Signed-off-by: Gabriel Valcazar +--- + Makefile | 1 + + cryptoauthlib/Makefile | 40 +++++++++++++++------------ + cryptoauthlib/lib/atca_cfgs.c | 16 +++++++++-- + cryptoauthlib/lib/openssl/eccx08_eckey_meth.c | 16 +++++------ + cryptoauthlib/lib/openssl/eccx08_engine.h | 4 +++ + 5 files changed, 49 insertions(+), 28 deletions(-) + create mode 100644 Makefile + +diff --git a/Makefile b/Makefile +new file mode 100644 +index 0000000..3025439 +--- /dev/null ++++ b/Makefile +@@ -0,0 +1 @@ ++include cryptoauthlib/Makefile +diff --git a/cryptoauthlib/Makefile b/cryptoauthlib/Makefile +index 399db53..b2596bb 100644 +--- a/cryptoauthlib/Makefile ++++ b/cryptoauthlib/Makefile +@@ -1,8 +1,11 @@ + .PHONY: all libcryptoauth libateccssl libpkcs11 dist install clean + +-OPTIONS := ATCAPRINTF ATCA_HAL_KIT_CDC ENGINE_DYNAMIC_SUPPORT USE_ECCX08 ECC_DEBUG ++OPTIONS := ATCAPRINTF ATCA_HAL_I2C ENGINE_DYNAMIC_SUPPORT USE_ECCX08 ECC_DEBUG + +-SYSTEM_INCLUDES := /usr/include ++SYSTEM_INCLUDES := $(DESTDIR)/usr/include ++ ++TARGET_ARCH = Linux ++TARGET_HAL = I2C + + # Check platform + ifeq ($(OS),Windows_NT) +@@ -38,7 +41,7 @@ endif + endif + + ifeq ($(uname_S),Linux) +-CFLAGS += -g -O1 -m64 -Wall -fPIC $(addprefix -D,$(OPTIONS)) ++CFLAGS += -g -O1 -Wall -fPIC $(addprefix -D,$(OPTIONS)) + TARGET_ARCH := Linux + endif + # ifeq ($(uname_S),Darwin) +@@ -55,32 +58,32 @@ endif + # CCFLAGS += -D ARM + # endif + +-OPENSSLDIR = /usr/include/openssl ++OPENSSLDIR = $(DESTDIR)/usr/include/openssl + +-OUTDIR := $(abspath .build) ++OUTDIR := $(abspath cryptoauthlib/.build) + + DEPFLAGS = -MT $@ -MMD -MP -MF $(OUTDIR)/$*.d + ARFLAGS = rcs + + + # Wildcard all the sources and headers +-SOURCES := $(call FIND,lib,*.c) +-INCLUDE := $(sort $(dir $(call FIND, lib, *.h))) ++SOURCES := $(call FIND,cryptoauthlib/lib,*.c) ++INCLUDE := $(sort $(dir $(call FIND, cryptoauthlib/lib, *.h))) + + # Gather OpenSSL Engine objects +-LIBATECCSSL_OBJECTS := $(filter $(abspath lib/openssl)/%, $(SOURCES)) ++LIBATECCSSL_OBJECTS := $(filter $(abspath cryptoauthlib/lib/openssl)/%, $(SOURCES)) + # Example if statically linking in the certificate definition + #LIBATECCSSL_OBJECTS += cert_def_1_signer.c cert_def_2_signer.c + LIBATECCSSL_OBJECTS := $(addprefix $(OUTDIR)/,$(notdir $(LIBATECCSSL_OBJECTS:.c=.o))) + + # Gather PKCS11 Objects +-LIBPKCS11_OBJECTS := $(filter $(abspath lib/pkcs11)/%, $(SOURCES)) ++LIBPKCS11_OBJECTS := $(filter $(abspath cryptoauthlib/lib/pkcs11)/%, $(SOURCES)) + LIBPKCS11_OBJECTS := $(addprefix $(OUTDIR)/,$(notdir $(LIBPKCS11_OBJECTS:.c=.o))) + + # Gather libcryptoauth objects +-LIBCRYPTOAUTH_OBJECTS := $(filter-out $(abspath lib/hal)/%, $(SOURCES)) +-LIBCRYPTOAUTH_OBJECTS := $(filter-out $(abspath lib/pkcs11)/%, $(LIBCRYPTOAUTH_OBJECTS)) +-LIBCRYPTOAUTH_OBJECTS := $(filter-out $(abspath lib/openssl)/%, $(LIBCRYPTOAUTH_OBJECTS)) ++LIBCRYPTOAUTH_OBJECTS := $(filter-out $(abspath cryptoauthlib/lib/hal)/%, $(SOURCES)) ++LIBCRYPTOAUTH_OBJECTS := $(filter-out $(abspath cryptoauthlib/lib/pkcs11)/%, $(LIBCRYPTOAUTH_OBJECTS)) ++LIBCRYPTOAUTH_OBJECTS := $(filter-out $(abspath cryptoauthlib/lib/openssl)/%, $(LIBCRYPTOAUTH_OBJECTS)) + LIBCRYPTOAUTH_OBJECTS += atca_hal.c + + ifeq ($(TARGET_ARCH),Windows) +@@ -101,9 +104,9 @@ LIBCRYPTOAUTH_OBJECTS += hal_linux_kit_cdc.c kit_protocol.c + endif + endif + +-TEST_SOURCES := $(call FIND,test,*.c) ++TEST_SOURCES := $(call FIND,cryptoauthlib/test,*.c) + #TEST_INCLUDE := $(sort $(dir $(call FIND, test, *.h))) +-TEST_INCLUDE := $(abspath .) ++TEST_INCLUDE := $(abspath cryptoauthlib/.) + TEST_OBJECTS := $(addprefix $(OUTDIR)/,$(notdir $(TEST_SOURCES:.c=.o))) + + LIBCRYPTOAUTH_OBJECTS := $(addprefix $(OUTDIR)/,$(notdir $(LIBCRYPTOAUTH_OBJECTS:.c=.o))) +@@ -126,7 +129,7 @@ $(OUTDIR)/libcryptoauth.a: $(LIBCRYPTOAUTH_OBJECTS) | $(OUTDIR) + $(AR) $(ARFLAGS) $@ $(LIBCRYPTOAUTH_OBJECTS) + + $(OUTDIR)/libateccssl.so: $(LIBATECCSSL_OBJECTS) $(LIBCRYPTOAUTH_OBJECTS) | $(OUTDIR) +- $(LD) -dll -shared $(LIBATECCSSL_OBJECTS) $(LIBCRYPTOAUTH_OBJECTS) -o $@ -lcrypto -lrt ++ $(CC) -dll -shared $(LIBATECCSSL_OBJECTS) $(LIBCRYPTOAUTH_OBJECTS) -o $@ -lcrypto -lrt + + $(OUTDIR)/test: $(OUTDIR)/libateccssl.so $(TEST_OBJECTS) | $(OUTDIR) + $(CC) -o $@ $(TEST_OBJECTS) -L$(OUTDIR) -lateccssl -lcrypto -lssl +@@ -142,7 +145,10 @@ libcryptoauth: $(OUTDIR)/libcryptoauth.a | $(OUTDIR) + all: $(LIBCRYPTOAUTH_OBJECTS) $(LIBATECCSSL_OBJECTS) $(LIBPKCS11_OBJECTS) | $(OUTDIR) + + test: $(OUTDIR)/test | $(OUTDIR) +- env LD_LIBRARY_PATH=$(OUTDIR) $(OUTDIR)/test ++ ++install: libateccssl | $(OUTDIR) ++ install -d $(DESTDIR)/usr/lib/ssl/engines ++ install -m 0755 $(OUTDIR)/libateccssl.so $(DESTDIR)/usr/lib/ssl/engines + + clean: +- rm -r $(OUTDIR) ++ rm -rf $(OUTDIR) +diff --git a/cryptoauthlib/lib/atca_cfgs.c b/cryptoauthlib/lib/atca_cfgs.c +index a8f6b68..5775f91 100644 +--- a/cryptoauthlib/lib/atca_cfgs.c ++++ b/cryptoauthlib/lib/atca_cfgs.c +@@ -47,14 +47,24 @@ + + /* if the number of these configurations grows large, we can #ifdef them based on required device support */ + ++/* Default I2C configuration */ ++#ifndef ATCA_HAL_I2C_BUS ++#define ATCA_HAL_I2C_BUS 0 ++#warning "Using default value for ATCA_HAL_I2C_BUS: 0" ++#endif ++ ++#ifndef ATCA_HAL_I2C_SPEED ++#define ATCA_HAL_I2C_SPEED 400000 ++#warning "Using default value for ATCA_HAL_I2C_SPEED: 400000" ++#endif ++ + /** \brief default configuration for an ECCx08A device */ + ATCAIfaceCfg cfg_ateccx08a_i2c_default = { + .iface_type = ATCA_I2C_IFACE, + .devtype = ATECC508A, + .atcai2c.slave_address = 0xC0, +- .atcai2c.bus = 2, +- .atcai2c.baud = 400000, +- //.atcai2c.baud = 100000, ++ .atcai2c.bus = ATCA_HAL_I2C_BUS, ++ .atcai2c.baud = ATCA_HAL_I2C_SPEED, + .wake_delay = 1500, + .rx_retries = 20 + }; +diff --git a/cryptoauthlib/lib/openssl/eccx08_eckey_meth.c b/cryptoauthlib/lib/openssl/eccx08_eckey_meth.c +index a857a92..f79a98f 100644 +--- a/cryptoauthlib/lib/openssl/eccx08_eckey_meth.c ++++ b/cryptoauthlib/lib/openssl/eccx08_eckey_meth.c +@@ -818,7 +818,7 @@ int eccx08_pmeth_selector(ENGINE *e, EVP_PKEY_METHOD **pkey_meth, + #if ATCA_OPENSSL_OLD_API + /* These are from the OpenSSL 1.1.x API */ + +-static void EVP_PKEY_meth_get_init(EVP_PKEY_METHOD *pmeth, ++static void ECCX08_PKEY_meth_get_init(EVP_PKEY_METHOD *pmeth, + int(**pinit) (EVP_PKEY_CTX *ctx)) + { + if (pmeth && pinit) +@@ -827,7 +827,7 @@ static void EVP_PKEY_meth_get_init(EVP_PKEY_METHOD *pmeth, + } + } + +-static void EVP_PKEY_meth_get_keygen(EVP_PKEY_METHOD *pmeth, ++static void ECCX08_PKEY_meth_get_keygen(EVP_PKEY_METHOD *pmeth, + int(**pkeygen_init) (EVP_PKEY_CTX *ctx), + int(**pkeygen) (EVP_PKEY_CTX *ctx, + EVP_PKEY *pkey)) +@@ -845,7 +845,7 @@ static void EVP_PKEY_meth_get_keygen(EVP_PKEY_METHOD *pmeth, + } + } + +-static void EVP_PKEY_meth_get_sign(EVP_PKEY_METHOD *pmeth, ++static void ECCX08_PKEY_meth_get_sign(EVP_PKEY_METHOD *pmeth, + int(**psign_init) (EVP_PKEY_CTX *ctx), + int(**psign) (EVP_PKEY_CTX *ctx, + unsigned char *sig, size_t *siglen, +@@ -865,7 +865,7 @@ static void EVP_PKEY_meth_get_sign(EVP_PKEY_METHOD *pmeth, + } + } + +-static void EVP_PKEY_meth_get_derive(EVP_PKEY_METHOD *pmeth, ++static void ECCX08_PKEY_meth_get_derive(EVP_PKEY_METHOD *pmeth, + int(**pderive_init) (EVP_PKEY_CTX *ctx), + int(**pderive) (EVP_PKEY_CTX *ctx, + unsigned char *key, +@@ -951,10 +951,10 @@ int eccx08_pkey_meth_init(void) + EVP_PKEY_meth_copy(eccx08_pkey_meth, defaults); + + /* Retain default methods we'll be replacing */ +- EVP_PKEY_meth_get_init(defaults, &eccx08_pkey_def_f.init); +- EVP_PKEY_meth_get_keygen(defaults, &eccx08_pkey_def_f.keygen_init, &eccx08_pkey_def_f.keygen); +- EVP_PKEY_meth_get_sign(defaults, &eccx08_pkey_def_f.sign_init, &eccx08_pkey_def_f.sign); +- EVP_PKEY_meth_get_derive(defaults, &eccx08_pkey_def_f.derive_init, &eccx08_pkey_def_f.derive); ++ ECCX08_PKEY_meth_get_init(defaults, &eccx08_pkey_def_f.init); ++ ECCX08_PKEY_meth_get_keygen(defaults, &eccx08_pkey_def_f.keygen_init, &eccx08_pkey_def_f.keygen); ++ ECCX08_PKEY_meth_get_sign(defaults, &eccx08_pkey_def_f.sign_init, &eccx08_pkey_def_f.sign); ++ ECCX08_PKEY_meth_get_derive(defaults, &eccx08_pkey_def_f.derive_init, &eccx08_pkey_def_f.derive); + + /* Replace those we need to intercept */ + EVP_PKEY_meth_set_init(eccx08_pkey_meth, eccx08_pkey_ec_init); +diff --git a/cryptoauthlib/lib/openssl/eccx08_engine.h b/cryptoauthlib/lib/openssl/eccx08_engine.h +index 0df331f..90f9673 100644 +--- a/cryptoauthlib/lib/openssl/eccx08_engine.h ++++ b/cryptoauthlib/lib/openssl/eccx08_engine.h +@@ -52,6 +52,10 @@ + + /* Configuration options */ + ++#define ATCA_OPENSSL_ENGINE_STATIC_CONFIG (0) ++#define ATCA_OPENSSL_ENGINE_ENABLE_RAND (1) ++#define ATCA_OPENSSL_ENGINE_ENABLE_SHA256 (1) ++ + /** \brief Advertize RNG to OpenSSL*/ + #ifndef ATCA_OPENSSL_ENGINE_ENABLE_RAND + #define ATCA_OPENSSL_ENGINE_ENABLE_RAND (0) diff --git a/meta-digi-dey/recipes-digi/cryptoauth-openssl-engine/cryptoauth-openssl-engine_git.bb b/meta-digi-dey/recipes-digi/cryptoauth-openssl-engine/cryptoauth-openssl-engine_git.bb new file mode 100644 index 000000000..c39720847 --- /dev/null +++ b/meta-digi-dey/recipes-digi/cryptoauth-openssl-engine/cryptoauth-openssl-engine_git.bb @@ -0,0 +1,37 @@ +# Copyright (C) 2018 Digi International Inc. + +SUMMARY = "Microchip CryptoAuthentication OpenSSL engine" +SECTION = "libs" +LICENSE = "MICROCHIP_ENGINE_LICENSE" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3fdaa96f37898a0641820700bbf5f7b8" + +SRCBRANCH = "master" +SRCREV = "a69a4f92af6bee9cb13035c2f859912744796380" + +GIT_URI ?= "git://github.com/MicrochipTech/cryptoauth-openssl-engine.git;protocol=git" + +SRC_URI = " \ + ${GIT_URI};nobranch=1 \ + file://0001-Digi-modifications-to-the-cryptoauth-OpenSSL-engine.patch \ +" + +S = "${WORKDIR}/git" + +I2C_BUS ?= "0" +I2C_BUS_ccimx6qpsbc = "1" + +I2C_SPEED ?= "100000" + +CFLAGS += "-DATCA_HAL_I2C_BUS=${I2C_BUS} -DATCA_HAL_I2C_SPEED=${I2C_SPEED}" + +do_install() { + oe_runmake DESTDIR=${D} install +} + +DEPENDS += "openssl" + +TARGET_CC_ARCH += "${LDFLAGS}" +FILES_${PN} += "${libdir}/ssl/engines/libateccssl.so" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "(ccimx6qpsbc|ccimx6ul|ccimx8x)" diff --git a/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb b/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb index 50039e728..6234aee49 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb @@ -49,4 +49,3 @@ do_install() { RRECOMMENDS_${PN} += "awsiotsdk-c-cert" PACKAGE_ARCH = "${MACHINE_ARCH}" - diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-adc-cmp.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-adc-cmp.bb index 18c1f9946..1e996de50 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-adc-cmp.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-adc-cmp.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2017 Digi International. +# Copyright (C) 2017-2018 Digi International. SUMMARY = "DEY examples: Analog Comparator test application" SECTION = "examples" @@ -15,4 +15,4 @@ do_install() { } PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(ccimx6ul)" +COMPATIBLE_MACHINE = "(ccimx6ul|ccimx8x)" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-adc.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-adc.bb index 4067bdbac..b656cd7e3 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-adc.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-adc.bb @@ -13,4 +13,4 @@ do_install() { } PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(ccimx6ul)" +COMPATIBLE_MACHINE = "(ccimx6ul|ccimx8x)" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-bt.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-bt.bb index 6b467525e..f992ca759 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-bt.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-bt.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2017, Digi International Inc. +# Copyright (C) 2013-2018, Digi International Inc. SUMMARY = "DEY examples: application to transfer data over bluetooth" SECTION = "examples" @@ -21,5 +21,3 @@ do_install() { install -d ${D}${bindir} install -m 0755 bt_test ${D}${bindir} } - -COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul)" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-btconfig.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-btconfig.bb index f533b8237..3b4c56161 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-btconfig.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-btconfig.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2017, Digi International Inc. +# Copyright (C) 2013-2018, Digi International Inc. SUMMARY = "DEY examples: application to perform low level bluetooth" SECTION = "examples" @@ -21,5 +21,3 @@ do_install() { install -d ${D}${bindir} install -m 0755 btconfig ${D}${bindir} } - -COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul)" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-can.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-can.bb index fa793a6c4..0978c456a 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-can.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-can.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2017, Digi International Inc. +# Copyright (C) 2013-2018, Digi International Inc. SUMMARY = "DEY examples: CAN bus test application" SECTION = "examples" @@ -17,5 +17,3 @@ do_install() { install -d ${D}${bindir} install -m 0755 can_test ${D}${bindir} } - -COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul)" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cloudconnector.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cloudconnector.bb index e32bc2038..3076fa5bd 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cloudconnector.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cloudconnector.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2017 Digi International Inc. +# Copyright (C) 2017, 2018 Digi International Inc. SUMMARY = "DEY examples: Remote Manager test applications" SECTION = "examples" @@ -18,5 +18,3 @@ do_install() { } RDEPENDS_${PN} = "cloudconnector-cert" - -COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul)" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb index fe1ee8ee7..f21faa8e5 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2017 Digi International. +# Copyright (C) 2017, 2018 Digi International. SUMMARY = "DEY examples: Cryptochip example application" SECTION = "examples" @@ -26,5 +26,4 @@ do_install() { } PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(ccimx6qpsbc|ccimx6ul)" - +COMPATIBLE_MACHINE = "(ccimx6qpsbc|ccimx6ul|ccimx8x)" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb index 964bbc91b..aee31ad07 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2017, Digi International Inc. +# Copyright (C) 2017, 2018, Digi International Inc. SUMMARY = "DEY Digi APIX examples" SECTION = "examples" @@ -30,5 +30,3 @@ do_compile() { do_install() { oe_runmake DESTDIR=${D} install } - -COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul)" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-hdp.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-hdp.bb index ab52fd51d..4df25e0e1 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-hdp.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-hdp.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2017, Digi International Inc. +# Copyright (C) 2013-2018, Digi International Inc. SUMMARY = "DEY examples: bluetooth health profile test application" SECTION = "examples" @@ -15,5 +15,3 @@ do_install() { } RDEPENDS_${PN} = "python3 python3-argparse python3-crypt python3-dbus python3-pygobject" - -COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul)" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-opengles.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-opengles.bb index f28891e71..ff08e81d3 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-opengles.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-opengles.bb @@ -20,7 +20,7 @@ do_install () { FILES_${PN} = "/opt/${PN}" FILES_${PN}-dbg += "/opt/${PN}/.debug" -RDEPENDS_${PN}_ccimx6 = "libopenvg-mx6" +RDEPENDS_${PN}_ccimx6 = "libopenvg-imx" PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-v4l2.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-v4l2.bb index 2d9195891..92631171b 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-v4l2.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-v4l2.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2013,2017 Digi International. +# Copyright (C) 2013-2018 Digi International. SUMMARY = "DEY examples: V4L2 test application" SECTION = "examples" @@ -25,4 +25,4 @@ do_install() { PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(ccimx6$)" +COMPATIBLE_MACHINE = "(ccimx6$|ccimx8x)" diff --git a/meta-digi-dey/recipes-digi/dey-examples/files/adc_cmp_sample/adc_cmp_sample.c b/meta-digi-dey/recipes-digi/dey-examples/files/adc_cmp_sample/adc_cmp_sample.c index bf83f2ec2..578bc249e 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/files/adc_cmp_sample/adc_cmp_sample.c +++ b/meta-digi-dey/recipes-digi/dey-examples/files/adc_cmp_sample/adc_cmp_sample.c @@ -25,12 +25,14 @@ #include "iio_utils.h" +#define ARRAY_SIZE(v) (sizeof(v) / sizeof((v)[0])) #define BUFFER_LEN 20 #define FULL_USAGE \ "Usage:\n" \ "adc_cmp_sample -c channel [options]\n\n" \ "Options:\n" \ + " -t : ADC_type ('MCA-CC6UL', 'MCA-CC8X')\n" \ " -c : channel number to read from\n" \ " -h : Threshold_high higher limit of the comparator window\n" \ " -l : Threshold_low lower limit of the comparator window\n" \ @@ -38,7 +40,36 @@ " -v : use V for output and thresholds instead of raw values.\n"\ " -? : help\n\n" +enum adc_type { + ADC_TYPE_UNKNOWN, + ADC_TYPE_MCA_CC6UL, + ADC_TYPE_MCA_CC8X, +}; + +struct adc_data { + enum adc_type type; + const char *name; + const char *dev_name; + unsigned int nbits; +}; + +struct adc_data adc_list[] = { + { + .type = ADC_TYPE_MCA_CC6UL, + .name = "MCA-CC6UL", + .dev_name = "mca-cc6ul-adc", + .nbits = 12, + }, + { + .type = ADC_TYPE_MCA_CC8X, + .name = "MCA-CC8X", + .dev_name = "mca-cc8x-adc", + .nbits = 12, + }, +}; + typedef struct cmp { + struct adc_data *data; char *sysfs_dir; unsigned int channel; double voltage_scale; @@ -50,6 +81,21 @@ static void show_usage() fprintf(stdout, "%s", FULL_USAGE); } +static struct adc_data *get_adc_data(const char *type_str) +{ + struct adc_data *data = NULL; + int i; + + for (i = 0; i < ARRAY_SIZE(adc_list); i++) { + if (!strcmp(adc_list[i].name, type_str)) { + data = &adc_list[i]; + break; + } + } + + return data; +} + static int read_adc_sample_sysfs(cmp_t *cmp, long int *val) { int fd = -1; @@ -328,13 +374,22 @@ int main(int argc, char **argv) }; struct iio_event_data event; - if (argc <= 3) { + if (argc <= 4) { show_usage(); return EXIT_FAILURE; } - while ((opt = getopt(argc, argv, "c:h:l:e:v?")) > 0) { + while ((opt = getopt(argc, argv, "t:c:h:l:e:v?")) > 0) { switch (opt) { + case 't': + cmp.data = get_adc_data(optarg); + if (!cmp.data) { + fprintf(stdout, "Unknown ADC type %s\n", optarg); + show_usage(0); + ret = EXIT_FAILURE; + goto exit; + } + break; case 'c': cmp.channel = strtoul(optarg, NULL, 10); break; @@ -371,6 +426,21 @@ int main(int argc, char **argv) } } + /* Check that the application params provide what we need */ + if (!cmp.data || cmp.data->type == ADC_TYPE_UNKNOWN) { + fprintf(stdout, "ADC type must be provided\n"); + show_usage(1); + ret = EXIT_FAILURE; + goto exit; + } + + if (cmp.channel == ~0) { + fprintf(stdout, "ADC channel must be provided\n"); + show_usage(1); + ret = EXIT_FAILURE; + goto exit; + } + if (!edge) { edge = strdup("both"); if (!edge) { @@ -379,10 +449,10 @@ int main(int argc, char **argv) } } - dev_num = find_type_by_name("mca-cc6ul-adc", "iio:device"); + dev_num = find_type_by_name(cmp.data->dev_name, "iio:device"); if (dev_num < 0) { - fprintf(stdout, - "Failed to find iio:device for mca-cc6ul-adc\n"); + fprintf(stdout, "Failed to find iio:device for %s\n", + cmp.data->dev_name); ret = -ENODEV; goto exit; } @@ -410,6 +480,20 @@ int main(int argc, char **argv) threshold_low = threshold_low * 1000 / cmp.voltage_scale; } + if (threshold_low > threshold_high) { + fprintf(stdout, "threshold_low bigger than threshold_high\n"); + show_usage(1); + ret = EXIT_FAILURE; + goto exit; + } + + if (threshold_high >= 1 << cmp.data->nbits) { + fprintf(stdout, "threshold_high out of range\n"); + show_usage(1); + ret = EXIT_FAILURE; + goto exit; + } + ret = configure_comparator(&cmp, threshold_low, threshold_high, edge); if (ret < 0) goto exit; diff --git a/meta-digi-dey/recipes-digi/dey-examples/files/adc_sample/adc_sample.c b/meta-digi-dey/recipes-digi/dey-examples/files/adc_sample/adc_sample.c index 6848db0d2..f80d602ac 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/files/adc_sample/adc_sample.c +++ b/meta-digi-dey/recipes-digi/dey-examples/files/adc_sample/adc_sample.c @@ -35,7 +35,7 @@ "Usage:\n" \ "adc_sample -t ADC_type -c channel [options]\n\n" \ "Options:\n" \ - " -t : ADC_type ('MX6UL', 'MCA', 'IOEXP')\n" \ + " -t : ADC_type ('MX6UL', 'MCA-CC6UL', 'MCA-CC8X', 'IOEXP')\n" \ " -c : channel number to read from\n" \ " -n : Number of samples (default: 1)\n" \ " -d : Delay (in ms) between samples (default: 1000)\n" \ @@ -45,7 +45,8 @@ enum adc_type { ADC_TYPE_UNKNOWN, ADC_TYPE_MX6UL, - ADC_TYPE_MCA, + ADC_TYPE_MCA_CC6UL, + ADC_TYPE_MCA_CC8X, ADC_TYPE_IOEXP, }; @@ -64,11 +65,17 @@ struct adc_data adc_list[] = { .nbits = 12, }, { - .type = ADC_TYPE_MCA, - .name = "MCA", + .type = ADC_TYPE_MCA_C6UL, + .name = "MCA-CC6UL", .dev_name = "mca-cc6ul-adc", .nbits = 12, }, + { + .type = ADC_TYPE_MCA_CC8X, + .name = "MCA-CC8X", + .dev_name = "mca-cc8x-adc", + .nbits = 12, + }, { .type = ADC_TYPE_IOEXP, .name = "IOEXP", diff --git a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx8x-sbc-express/board.conf b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx8x-sbc-express/board.conf new file mode 100644 index 000000000..32d2bd5ae --- /dev/null +++ b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix-git/ccimx8x-sbc-express/board.conf @@ -0,0 +1,30 @@ +[board] +model = Digi International ConnectCore 8X SBC Express. + +[GPIO] + +# USER LED - GPIO0_19 +USER_LED = 499 + +# USER BUTTON - GPIO0_20 +USER_BUTTON = 500 + +[I2C] + +# I2C-2 on Expansion connector. +DEFAULT_I2C_BUS = 1 + +[SPI] + +# SPI-3 on Expansion connector. +DEFAULT_SPI = 2,0 + +[PWM] + +# TODO: PWM not currently supported +DEFAULT_PWM = 0,0 + +[ADC] + +# TODO: only MCA ADCs are supported at the moment, with them being disabled by default +DEFAULT_ADC = 0,0 diff --git a/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb b/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb index e9c891015..831baeebc 100644 --- a/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb +++ b/meta-digi-dey/recipes-digi/packagegroups/packagegroup-dey-examples.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2017, Digi International Inc. +# Copyright (C) 2013-2018, Digi International Inc. SUMMARY = "DEY examples packagegroup" @@ -9,34 +9,37 @@ inherit packagegroup RDEPENDS_${PN} = "\ ${@bb.utils.contains("MACHINE_FEATURES", "alsa", "dey-examples-alsa", "", d)} \ - dey-examples-gpio-sysfs \ - ${@bb.utils.contains("MACHINE_FEATURES", "rtc", "dey-examples-rtc", "", d)} \ - dey-examples-spidev \ ${@bb.utils.contains("MACHINE_FEATURES", "alsa", "dey-examples-vplay", "", d)} \ + ${@bb.utils.contains("MACHINE_FEATURES", "bluetooth", "dey-examples-bt", "", d)} \ + ${@bb.utils.contains("MACHINE_FEATURES", "bluetooth", "dey-examples-btconfig", "", d)} \ + ${@bb.utils.contains("MACHINE_FEATURES", "bluetooth", "dey-examples-hdp", "", d)} \ + ${@bb.utils.contains("MACHINE_FEATURES", "cryptochip", "dey-examples-cryptochip", "", d)} \ + awsiotsdk-demo \ + dey-examples-can \ + dey-examples-cloudconnector \ + dey-examples-digiapix \ + dey-examples-gpio-sysfs \ + dey-examples-rtc \ + dey-examples-spidev \ dey-examples-watchdog \ " RDEPENDS_${PN}_append_ccimx6 = "\ - awsiotsdk-demo \ - ${@bb.utils.contains("MACHINE_FEATURES", "bluetooth", "dey-examples-bt", "", d)} \ - ${@bb.utils.contains("MACHINE_FEATURES", "bluetooth", "dey-examples-btconfig", "", d)} \ - dey-examples-can \ - dey-examples-cloudconnector \ - ${@bb.utils.contains("MACHINE_FEATURES", "bluetooth", "dey-examples-hdp", "", d)} \ ${@bb.utils.contains("MACHINE_FEATURES", "accel-graphics", "dey-examples-opengles", "", d)} \ dey-examples-v4l2 \ " RDEPENDS_${PN}_append_ccimx6ul = "\ - awsiotsdk-demo \ - ${@bb.utils.contains("MACHINE_FEATURES", "bluetooth", "dey-examples-bt", "", d)} \ - ${@bb.utils.contains("MACHINE_FEATURES", "bluetooth", "dey-examples-btconfig", "", d)} \ dey-examples-adc \ dey-examples-adc-cmp \ - dey-examples-can \ - dey-examples-cloudconnector \ - ${@bb.utils.contains("MACHINE_FEATURES", "bluetooth", "dey-examples-hdp", "", d)} \ dey-examples-tamper \ " -COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul)" +RDEPENDS_${PN}_append_ccimx8x = "\ + dey-examples-adc \ + dey-examples-adc-cmp \ + dey-examples-tamper \ + dey-examples-v4l2 \ +" + +COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul|ccimx8x)" diff --git a/meta-digi-dey/recipes-digi/swu-images/files/ccimx8x/preinstall_swu.sh b/meta-digi-dey/recipes-digi/swu-images/files/ccimx8x/preinstall_swu.sh new file mode 100644 index 000000000..ddd61b789 --- /dev/null +++ b/meta-digi-dey/recipes-digi/swu-images/files/ccimx8x/preinstall_swu.sh @@ -0,0 +1,83 @@ +#!/bin/sh +#=============================================================================== +# +# preinstall_swu.sh +# +# Copyright (C) 2018 by Digi International Inc. +# All rights reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# !Description: SWUpdate pre-install script to open the virtual mapped device +# +# SWUpdate calls this script before installing the image. +# +#=============================================================================== + +# Functions. +#------------------------------------------------------------------------------ +# Function - psplash_message +# +# Shows the given message in the psplash screen. +# +# @param ${1} - Message to show. +#------------------------------------------------------------------------------ +psplash_message() { + echo "MSG ${1}" > /tmp/psplash_fifo + sleep 0.2 +} + +#------------------------------------------------------------------------------ +# Function - psplash_progress +# +# Sets the psplash progress bar percentage to the given one. +# +# @param ${1} - Progress percentage. +#------------------------------------------------------------------------------ +psplash_progress() { + echo "PROGRESS ${1}" > /tmp/psplash_fifo + sleep 0.2 +} + +#------------------------------------------------------------------------------ +# Function - log +# +# Prints the given text in the console. +# +# @param ${1} - Text to print. +#------------------------------------------------------------------------------ +log() { + echo "[FW UPDATE] ${1}" +} + +#------------------------------------------------------------------------------ +# Function - log_error +# +# Prints the given text in the console as an error. +# +# @param ${1} - Error text to print. +#------------------------------------------------------------------------------ +log_error() { + log "[ERROR] ${1}" + psplash_message "ERROR: ${1}" + psplash_progress "0" +} + +# Main +#------------------------------------------------------------------------------ +# Check if encrypted device is already open. +if [ -b /dev/mapper/cryptroot ]; then + exit 0 +fi + +rootfs_block="/dev/mmcblk0p$(fdisk -l /dev/mmcblk0 | sed -ne "s,^[^0-9]*\([0-9]\+\).*\.*,\1,g;T;p")" + +# Open LUKS encrypted device +trustfence-tool ${rootfs_block} cryptroot +if [ "$?" != "0" ]; then + log_error "Error executing the firmware update, cannot open virtual device" + exit 1 +fi + diff --git a/meta-digi-dey/recipes-digi/swu-images/files/ccimx8x/sw-description b/meta-digi-dey/recipes-digi/swu-images/files/ccimx8x/sw-description new file mode 100644 index 000000000..cde521bf2 --- /dev/null +++ b/meta-digi-dey/recipes-digi/swu-images/files/ccimx8x/sw-description @@ -0,0 +1,20 @@ +software = +{ + version = "##SW_VERSION##"; + + images: ( + { + filename = "##BOOTIMG_NAME##"; + device = "##BOOT_DEV##"; + type = "raw"; + sha256 = "@##BOOTIMG_NAME##"; + }, + { + filename = "##ROOTIMG_NAME##"; + device = "##ROOTFS_DEV##"; + type = "raw"; + sha256 = "@##ROOTIMG_NAME##"; + } + ); + ##PREINSTALL_SCRIPT## +} diff --git a/meta-digi-dey/recipes-digi/swu-images/swu.inc b/meta-digi-dey/recipes-digi/swu-images/swu.inc index e4024216f..391bc4685 100644 --- a/meta-digi-dey/recipes-digi/swu-images/swu.inc +++ b/meta-digi-dey/recipes-digi/swu-images/swu.inc @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425 SRC_URI = "file://sw-description" SRC_URI_append_ccimx6 = " ${@oe.utils.ifelse(d.getVar('TRUSTFENCE_INITRAMFS_IMAGE', True), 'file://preinstall_swu.sh', '')}" SRC_URI_append_ccimx6ul = " ${@oe.utils.ifelse(d.getVar('TRUSTFENCE_INITRAMFS_IMAGE', True), '', 'file://preinstall_swu.sh')}" +SRC_URI_append_ccimx8x = " ${@oe.utils.ifelse(d.getVar('TRUSTFENCE_INITRAMFS_IMAGE', True), 'file://preinstall_swu.sh', '')}" inherit swupdate @@ -34,6 +35,7 @@ PREINST_SCRIPT_TEMPLATE = "scripts: ( { filename = \\"preinstall_swu.sh\\"; type PREINST_SCRIPT_DESC = "" PREINST_SCRIPT_DESC_ccimx6 = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_INITRAMFS_IMAGE', True), '${PREINST_SCRIPT_TEMPLATE}', '')}" PREINST_SCRIPT_DESC_ccimx6ul = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_INITRAMFS_IMAGE', True), '', '${PREINST_SCRIPT_TEMPLATE}')}" +PREINST_SCRIPT_DESC_ccimx8x = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_INITRAMFS_IMAGE', True), '${PREINST_SCRIPT_TEMPLATE}', '')}" python () { img_fstypes = d.getVar('BOOTFS_EXT', True) + " " + d.getVar('ROOTFS_EXT', True) diff --git a/meta-digi-dey/recipes-graphics/clutter/clutter-1.0_%.bbappend b/meta-digi-dey/recipes-graphics/clutter/clutter-1.0_%.bbappend new file mode 100644 index 000000000..bf03d1297 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/clutter/clutter-1.0_%.bbappend @@ -0,0 +1,5 @@ +PACKAGECONFIG_imxgpu3d ??= " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', \ + bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11', \ + '', d), d)} \ +" diff --git a/meta-digi-dey/recipes-graphics/cogl/cogl-1.0_%.bbappend b/meta-digi-dey/recipes-graphics/cogl/cogl-1.0_%.bbappend new file mode 100644 index 000000000..afbaee432 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/cogl/cogl-1.0_%.bbappend @@ -0,0 +1,5 @@ +PACKAGECONFIG_imxgpu3d ??= " \ + cogl-pango gles2 \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'egl-wayland', \ + bb.utils.contains('DISTRO_FEATURES', 'x11', 'egl-x11', \ + '', d), d)}" diff --git a/meta-digi-dey/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch b/meta-digi-dey/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch new file mode 100644 index 000000000..bf526370b --- /dev/null +++ b/meta-digi-dey/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch @@ -0,0 +1,56 @@ +From e6bd4205b0b546afe991ae6f72256645f4404ad4 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Mon, 5 Sep 2016 14:41:37 +0300 +Subject: [PATCH libdrm] configure.ac: Allow explicit enabling of cunit tests + +Add --with-cunit to make it easier to do reproducible builds. Default +is still to probe cunit and build opportunistically. + +Signed-off-by: Jussi Kukkonen +Upstream-Status: Submitted [mailing list] +--- + configure.ac | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index e3048c7..918d21d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -137,6 +137,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], [ +@@ -372,7 +378,7 @@ if test "x$RADEON" = xyes; then + AC_DEFINE(HAVE_RADEON, 1, [Have radeon support]) + 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 +@@ -399,7 +406,11 @@ if test "x$AMDGPU" = xyes; then + AC_DEFINE(HAVE_CUNIT, [test "x$have_cunit" != "xno"], [Enable CUNIT 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 + fi + +-- +2.1.4 + diff --git a/meta-digi-dey/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch b/meta-digi-dey/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch new file mode 100644 index 000000000..4708bf1eb --- /dev/null +++ b/meta-digi-dey/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch @@ -0,0 +1,24 @@ +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 +--- +diff -Naur libdrm-2.4.66-orig/tests/drmdevice.c libdrm-2.4.66/tests/drmdevice.c +--- libdrm-2.4.66-orig/tests/drmdevice.c 2016-02-23 11:34:02.054904502 +0200 ++++ libdrm-2.4.66/tests/drmdevice.c 2016-02-23 11:35:34.371750383 +0200 +@@ -21,6 +21,7 @@ + * + */ + ++#include + #include + #include + #include diff --git a/meta-digi-dey/recipes-graphics/drm/libdrm/installtests.patch b/meta-digi-dey/recipes-graphics/drm/libdrm/installtests.patch new file mode 100644 index 000000000..ec1fb0236 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/drm/libdrm/installtests.patch @@ -0,0 +1,25 @@ +From 5c6eb43c2f6e7f2ee7c25c92e42f4e4403fa0527 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Tue, 21 Feb 2017 14:37:52 +0200 +Subject: [PATCH] tests: also install test apps + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Yu Ke +Signed-off-by: Jussi Kukkonen +--- + tests/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 0355a92..b4882cd 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -45,3 +45,4 @@ TESTS = \ + check_PROGRAMS = \ + $(TESTS) \ + drmdevice ++bin_PROGRAMS = $(check_PROGRAMS) +-- +2.1.4 + diff --git a/meta-digi-dey/recipes-graphics/drm/libdrm/mx7/drm-update-arm.patch b/meta-digi-dey/recipes-graphics/drm/libdrm/mx7/drm-update-arm.patch new file mode 100644 index 000000000..1160cd10a --- /dev/null +++ b/meta-digi-dey/recipes-graphics/drm/libdrm/mx7/drm-update-arm.patch @@ -0,0 +1,35 @@ +Add ARM support into xf86arm.h. This provides support for Xorg interface. +Without this the vivante samples will hang during close requiring a reboot + +Upstream-Status: Pending + +Signed-off-by: Lauren Post +Signed-off-by: Evan Kotara + +diff --git a/xf86drm.h b/xf86drm.h +--- a/xf86drm.h ++++ b/xf86drm.h +@@ -461,6 +461,23 @@ do { register unsigned int __old __asm(" + : "cr0", "memory"); \ + } while (0) + ++#elif defined(__arm__) ++ #undef DRM_DEV_MODE ++ #define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) ++ ++ #define DRM_CAS(lock,old,new,__ret) \ ++ do { \ ++ __asm__ __volatile__ ( \ ++ "1: ldrex %0, [%1]\n" \ ++ " teq %0, %2\n" \ ++ " ite eq\n" \ ++ " strexeq %0, %3, [%1]\n" \ ++ " movne %0, #1\n" \ ++ : "=&r" (__ret) \ ++ : "r" (lock), "r" (old), "r" (new) \ ++ : "cc","memory"); \ ++ } while (0) ++ + #endif /* architecture */ + #endif /* __GNUC__ >= 2 */ + diff --git a/meta-digi-dey/recipes-graphics/drm/libdrm_%.bbappend b/meta-digi-dey/recipes-graphics/drm/libdrm_%.bbappend new file mode 100644 index 000000000..3b3641066 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/drm/libdrm_%.bbappend @@ -0,0 +1,18 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +IMX_LIBDRM_SRC ?= "git://source.codeaurora.org/external/imx/libdrm-imx.git;protocol=https" +IMX_LIBDRM_BRANCH = "libdrm-imx-2.4.84" +SRC_URI_remove = "http://dri.freedesktop.org/libdrm/${BP}.tar.bz2" +SRC_URI_remove_mx8 = "file://drm-update-arm.patch" +SRC_URI_prepend = "${IMX_LIBDRM_SRC};branch=${IMX_LIBDRM_BRANCH} " +SRCREV = "c70adff9b5b8ffd98217c51e0c9b9bb424c9ae16" + +S = "${WORKDIR}/git" + +EXTRA_OECONF_append_imxgpu = " --enable-vivante-experimental-api" + +PACKAGES_prepend_imxgpu = "${PN}-vivante " + +RRECOMMENDS_${PN}-drivers_append_imxgpu = " ${PN}-vivante" + +FILES_${PN}-vivante = "${libdir}/libdrm_vivante.so.*" diff --git a/meta-digi-dey/recipes-graphics/drm/libdrm_2.4.84.bb b/meta-digi-dey/recipes-graphics/drm/libdrm_2.4.84.bb new file mode 100644 index 000000000..2ea2216f0 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/drm/libdrm_2.4.84.bb @@ -0,0 +1,55 @@ +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" +PROVIDES = "drm" +DEPENDS = "libpthread-stubs libpciaccess" + +SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.bz2 \ + file://installtests.patch \ + file://fix_O_CLOEXEC_undeclared.patch \ + file://0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch \ + " + +SRC_URI[md5sum] = "35b9544bc2ad864acd1abaa1a2b99092" +SRC_URI[sha256sum] = "7ae9c24d91139ac9a2cdee06fe46dbe1c401a1eda1c0bd2a6d1ecf72f479e0aa" + +# IMX: Remove manpages which is added in pyro +#inherit autotools pkgconfig manpages +inherit autotools pkgconfig + +EXTRA_OECONF += "--disable-cairo-tests \ + --without-cunit \ + --enable-omap-experimental-api \ + --enable-etnaviv-experimental-api \ + --enable-install-test-programs \ + --disable-valgrind \ + " +# IMX: Remove manpages which is added in pyro +#PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native" +EXTRA_OECONF += "--disable-manpages" + +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.*" +FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*" diff --git a/meta-digi-dey/recipes-graphics/glm/glm_0.9.8.4.bb b/meta-digi-dey/recipes-graphics/glm/glm_0.9.8.4.bb new file mode 100644 index 000000000..2d2e9ade4 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/glm/glm_0.9.8.4.bb @@ -0,0 +1,22 @@ +SUMMARY = "OpenGL Mathematics Library" +DESCRIPTION = "OpenGL Mathematics (GLM) is a header only C++ \ +mathematics library for graphics software based on the OpenGL \ +Shading Language (GLSL) specifications." +HOMEPAGE = "https://glm.g-truc.net" +BUGTRACKER = "https://github.com/g-truc/glm/issues" + +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://copying.txt;md5=4431606d144252143c9c3df384a74cad" + +SRC_URI = "git://github.com/g-truc/glm;protocol=https" + +SRCREV = "5dcc56489e1b66dfd5bca751fa9b8dc68059e008" + +S = "${WORKDIR}/git" + +inherit cmake + +FILES_${PN}-dev += "${libdir}/cmake" +RDEPENDS_${PN}-dev = "" diff --git a/meta-digi-dey/recipes-graphics/gtk+/gtk+3_%.bbappend b/meta-digi-dey/recipes-graphics/gtk+/gtk+3_%.bbappend index be2bac75f..e59675bdf 100644 --- a/meta-digi-dey/recipes-graphics/gtk+/gtk+3_%.bbappend +++ b/meta-digi-dey/recipes-graphics/gtk+/gtk+3_%.bbappend @@ -1,5 +1,3 @@ -DEPENDS_append_imxgpu2d = " virtual/egl" +SRC_URI_remove = "file://0004-configure.ac-Fix-wayland-protocols-path.patch" -PACKAGECONFIG_remove_imxgpu2d = " \ - ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "x11", "", d)} \ -" +EXTRA_OECONF_remove = "WAYLAND_PROTOCOLS_SYSROOT_DIR=${RECIPE_SYSROOT}" diff --git a/meta-digi-dey/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.4.6.bb b/meta-digi-dey/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.4.6.bb new file mode 100644 index 000000000..1a3cbfd40 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.4.6.bb @@ -0,0 +1,38 @@ +# Copyright (C) 2016 Freescale Semiconductor +# Copyright 2017-2018 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "GPU G2D library and apps for imx8" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=ab61cab9599935bfe9f700405ef00f28" + +RDEPENDS_${PN} = "libgal-imx libdrm" + +PROVIDES += "virtual/libg2d" + +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" + +S="${WORKDIR}/${PN}-${PV}" + +inherit fsl-eula-unpack + +SRC_URI[md5sum] = "c18c4bd215bac23b035b1e8a55cbaaf2" +SRC_URI[sha256sum] = "dd111f3a9c76bd9c338407658af849c325b424541bb2166ffe1f6dd31c834100" + +do_install () { + install -d ${D}${libdir} + install -d ${D}${includedir} + + cp -r ${S}/g2d/usr/lib/*.so* ${D}${libdir} + cp -Pr ${S}/g2d/usr/include/* ${D}${includedir} + cp -r ${S}/gpu-demos/opt ${D} +} + +INSANE_SKIP_${PN} += "ldflags" + +FILES_${PN} = "${libdir}/libg2d* /opt" +FILES_${PN}-dev = "${libdir}/libg2d${SOLIBSDEV} ${includedir}" + +# Compatible only with i.MX DPU +COMPATIBLE_MACHINE = "(^$)" +COMPATIBLE_MACHINE_imxdpu = "${MACHINE}" diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.2.p0.bb b/meta-digi-dey/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.4.p1.6.bb similarity index 58% rename from meta-digi-dey/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.2.p0.bb rename to meta-digi-dey/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.4.p1.6.bb index 8be05f93f..c61469cb9 100644 --- a/meta-digi-dey/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.2.p0.bb +++ b/meta-digi-dey/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.4.p1.6.bb @@ -1,11 +1,12 @@ # Copyright (C) 2016 Freescale Semiconductor -# Copyright 2017 NXP +# Copyright 2017-2018 NXP # Released under the MIT license (see COPYING.MIT for the terms) -DESCRIPTION = "GPU G2D library and apps for imx6" +DESCRIPTION = "GPU G2D library and apps for imx6 and imx7ulp" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=08fd295cce89b0a9c74b9b83ed74f671" +LIC_FILES_CHKSUM = "file://COPYING;md5=ab61cab9599935bfe9f700405ef00f28" +DEPENDS += "libgal-imx" PROVIDES += "virtual/libg2d" SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" @@ -14,8 +15,8 @@ S="${WORKDIR}/${PN}-${PV}" inherit fsl-eula-unpack -SRC_URI[md5sum] = "64720dda9b96fd7af5be7e2c654ab72a" -SRC_URI[sha256sum] = "070a95aa9942bd67e8ba4012962df74143bffb9998301ac097dab5e1437000d8" +SRC_URI[md5sum] = "0829288a9b4fcc89066d1671aeb671b9" +SRC_URI[sha256sum] = "5ded476226df9068ec8611b5e89d444de1e5d9a53374a7ea4fb47bc5c6ba20e0" do_install () { @@ -33,4 +34,6 @@ FILES_${PN} = "${libdir}/libg2d* /opt" FILES_${PN}-dev = "${includedir}" INSANE_SKIP_${PN} = "ldflags" -COMPATIBLE_MACHINE = "(mx6|mx7ulp)" +# Compatible only with i.MX DPU-blit +COMPATIBLE_MACHINE = "(^$)" +COMPATIBLE_MACHINE_imxdpublit = "${MACHINE}" diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-v6.inc b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-v6.inc index d7716601d..cdf7557a2 100644 --- a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-v6.inc +++ b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-v6.inc @@ -5,14 +5,16 @@ DESCRIPTION = "GPU driver and apps for imx" SECTION = "libs" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=08fd295cce89b0a9c74b9b83ed74f671" +LIC_FILES_CHKSUM = "file://COPYING;md5=ab61cab9599935bfe9f700405ef00f28" -DEPENDS += " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \ - bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes', \ - '', d), d)} \ -" -DEPENDS += "libdrm" +DEPENDS += \ + "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \ + bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes', \ + '', d), d)}" +DEPENDS += \ + "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcb libxshmfence libxxf86vm', \ + '', d)}" +DEPENDS_append_imxdrm = " libdrm wayland" # imx-gpu-viv does not provide everything it needs to for virtual/libgl # on x11 backend or on Wayland backend with XWayland support. @@ -20,42 +22,65 @@ DEPENDS += "libdrm" DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa', '', d)}" EXTRA_PROVIDES = "" -EXTRA_PROVIDES_append_imxgpu3d = " virtual/libgl virtual/libgles1 virtual/libgles2" -EXTRA_PROVIDES_append_mx6q = " virtual/opencl-icd opencl-headers" -EXTRA_PROVIDES_append_mx8 = " virtual/opencl-icd opencl-headers virtual/libopenvx" -PROVIDES += "imx-gpu-viv virtual/wayland-egl virtual/libgal-x11 virtual/egl virtual/libopenvg ${EXTRA_PROVIDES}" +EXTRA_PROVIDES_append_imxgpu3d = " \ + virtual/libgl \ + virtual/libgles1 \ + virtual/libgles2 \ +" +EXTRA_PROVIDES_append_mx6q = " \ + virtual/opencl-icd \ + opencl-headers \ +" +EXTRA_PROVIDES_append_mx8 = " \ + virtual/libopenvx \ + virtual/opencl-icd \ + opencl-headers \ +" +PROVIDES += " \ + imx-gpu-viv \ + libgal-imx \ + virtual/egl \ + virtual/libopenvg \ + virtual/opencl-headers \ + virtual/opencl-icd \ + ${EXTRA_PROVIDES} \ +" RPROVIDES_${PN}_imxgpu3d += "imx-gpu-viv" PE = "1" -inherit fsl-eula-unpack +inherit fsl-eula-unpack distro_features_check + +REQUIRED_DISTRO_FEATURES_mx8 = "wayland" SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" # Note : If you add a package here, to prevent a naming conflict see the python_anonymous() futher below -PACKAGES =+ "libclc-imx libclc-imx-dev \ - libgl-imx libgl-imx-dev \ - libgles-imx libgles-imx-dev \ - libgles2-imx libgles2-imx-dev \ - libgles3-imx-dev \ - libglslc-imx libglslc-imx-dev \ - libopencl-imx libopencl-imx-dev \ - libopenvg-imx libopenvg-imx-dev \ - libvdk-imx libvdk-imx-dev \ - libegl-imx libegl-imx-dev \ - libgal-imx libgal-imx-dev \ - libvivante-dri-imx \ - libvsc-imx \ - libgbm-imx libgbm-imx-dev \ - libwayland-viv-imx libwayland-viv-imx-dev \ - libgc-wayland-protocol-imx libgc-wayland-protocol-imx-dev \ - libwayland-egl-imx-dev \ - imx-gpu-viv-tools \ - imx-gpu-viv-demos \ - libvulkan-imx libvulkan-imx-dev \ - libopenvx-imx libopenvx-imx-dev \ +PACKAGES_1 = "libclc-imx libclc-imx-dev \ + libgl-imx libgl-imx-dev \ + libgles-imx libgles-imx-dev \ + libgles2-imx libgles2-imx-dev \ + libgles3-imx-dev \ + libglslc-imx libglslc-imx-dev \ + libopencl-imx libopencl-imx-dev \ + libopenvg-imx libopenvg-imx-dev \ + libvdk-imx libvdk-imx-dev \ + libegl-imx libegl-imx-dev \ + libgal-imx libgal-imx-dev \ + libvivante-dri-imx \ + libvsc-imx \ " +PACKAGES_2 = "" +PACKAGES_2_mx8 = "libgbm-imx libgbm-imx-dev" +PACKAGES_3 = "libwayland-viv-imx libwayland-viv-imx-dev \ + libgc-wayland-protocol-imx libgc-wayland-protocol-imx-dev \ + imx-gpu-viv-tools \ + imx-gpu-viv-demos \ + libvulkan-imx libvulkan-imx-dev \ + libopenvx-imx libopenvx-imx-dev \ +" +PACKAGES =+ "${PACKAGES_1} ${PACKAGES_2} ${PACKAGES_3}" python __anonymous () { has_vivante_kernel_driver_support = (d.getVar('MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT', True) or '0') if has_vivante_kernel_driver_support != '1': @@ -74,16 +99,15 @@ INHIBIT_PACKAGE_DEBUG_SPLIT = "1" REALSOLIBS := "${SOLIBS}" SOLIBS = "${SOLIBSDEV}" -# For the packages that make up the OpenGL interfaces, inject variables so that -# they don't get Debian-renamed (which would remove the -imx suffix). -# -# FIXME: All binaries lack GNU_HASH in elf binary but as we don't have -# the source we cannot fix it. Disable the insane check for now. python __anonymous() { + # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have + # the source we cannot fix it. Disable the insane check for now. packages = d.getVar('PACKAGES', True).split() for p in packages: d.appendVar("INSANE_SKIP_%s" % p, " ldflags") + # For the packages that make up the OpenGL interfaces, inject variables so that + # they don't get Debian-renamed (which would remove the -imx suffix). for p in (("libegl", "libegl1"), ("libgl", "libgl1"), ("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2"), ("libgles3",) , ("libvulkan",)): @@ -109,6 +133,17 @@ IS_MX6SL_mx6sl = "1" IS_MX8 = "0" IS_MX8_mx8 = "1" +PACKAGE_FP_TYPE = "hardfp" + +HAS_GBM = "false" +HAS_GBM_mx8 = "true" + +# GLES 3.1 is supported for all i.MX 8 +# GLES 3.2 is supported for i.MX 8QM only +GLES3_HEADER_REMOVALS = "gl31.h gl32.h" +GLES3_HEADER_REMOVALS_remove_mx8 = "gl31.h" +GLES3_HEADER_REMOVALS_remove_mx8qm = "gl32.h" + do_install () { install -d ${D}${libdir} install -d ${D}${includedir} @@ -119,8 +154,13 @@ do_install () { cp -r ${S}/gpu-demos/opt ${D} cp -r ${S}/gpu-tools/gmem-info/usr/bin/* ${D}${bindir} + # Use vulkan header from vulkan recipe to support vkmark + rm -rf ${D}${includedir}/vulkan/vulkan.h install -d ${D}${libdir}/pkgconfig + if ${HAS_GBM}; then + install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc + fi # The preference order, based in DISTRO_FEATURES, is Wayland (with or without X11), X11 and fb if [ "${USE_WL}" = "yes" ]; then @@ -131,10 +171,8 @@ do_install () { install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc - install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc - install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc - install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc - install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc + #install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc + #install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc if [ "${USE_X11}" = "yes" ]; then @@ -161,7 +199,7 @@ do_install () { # Regular framebuffer install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_linuxfb.pc ${D}${libdir}/pkgconfig/egl.pc - + backend=fb fi @@ -180,7 +218,16 @@ do_install () { ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so.1 ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so - mv ${D}${libdir}/libVDK-${backend}.so ${D}${libdir}/libVDK.so + if [ "${USE_WL}" = "yes" ]; then + # Special case for libVDK on Wayland backend, deliver fb library as well. + # Need to rename the libraries to avoid the code below that will remove + # *-fb.so and *-wl.so + mv ${D}${libdir}/libVDK-fb.so ${D}${libdir}/libVDK-framebuffer.so + mv ${D}${libdir}/libVDK-wl.so ${D}${libdir}/libVDK-wayland.so + ln -sf libVDK-wayland.so ${D}${libdir}/libVDK.so + else + mv ${D}${libdir}/libVDK-${backend}.so ${D}${libdir}/libVDK.so + fi # update libglesv2 as backend dependent rm -rf ${D}${libdir}/libGLESv2* @@ -196,11 +243,14 @@ do_install () { install -d ${D}${libdir}/vulkan mv ${D}${libdir}/libvulkan-${backend}.so ${D}${libdir}/vulkan/libvulkan_VSI.so fi + for header in ${GLES3_HEADER_REMOVALS}; do + rm -f ${D}${includedir}/GLES3/${header} + done # skip packaging wayland libraries if no support is requested if [ "${USE_WL}" = "no" ]; then - rm ${D}${libdir}/libgc_wayland_protocol.* - rm ${D}${libdir}/libwayland-viv.* + find ${D}${libdir} -name "libgc_wayland_protocol.*" -exec rm '{}' ';' + find ${D}${libdir} -name "libwayland-viv.*" -exec rm '{}' ';' fi for i in wl x11 fb dri; do @@ -247,8 +297,7 @@ FILES_libclc-imx-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}" INSANE_SKIP_libegl-imx += "dev-so" FILES_libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} " FILES_libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" -RDEPENDS_libegl-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libgc-wayland-protocol-imx libwayland-viv-imx libgc-wayland-protocol-imx', '', d)}" -RDEPENDS_libegl-imx-dev += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libwayland-egl-imx-dev', '', d)}" +#RDEPENDS_libegl-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libgc-wayland-protocol-imx libwayland-viv-imx libgc-wayland-protocol-imx', '', d)}" FILES_libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}" FILES_libgal-imx-dev = "${libdir}/libGAL${SOLIBSDEV} ${includedir}/HAL" @@ -258,9 +307,9 @@ INSANE_SKIP_libgal-imx += "build-deps" FILES_libvsc-imx = "${libdir}/libVSC${SOLIBS}" -FILES_libgbm-imx = "${libdir}/libgbm${SOLIBS} ${libdir}/gbm_viv${SOLIBS}" -FILES_libgbm-imx-dev = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${libdir}/libgbm${SOLIBSDEV}" -RDEPENDS_libgbm-imx += "libdrm" +FILES_libgbm-imx_mx8 = "${libdir}/libgbm${SOLIBS} ${libdir}/gbm_viv${SOLIBS}" +FILES_libgbm-imx-dev_mx8 = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${libdir}/libgbm${SOLIBSDEV}" +RDEPENDS_libgbm-imx_append_mx8 = " libdrm" FILES_libvulkan-imx = "${libdir}/vulkan/libvulkan_VSI${SOLIBS}" FILES_libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/vulkan/libvulkan_VSI${SOLIBSDEV}" @@ -304,8 +353,9 @@ FILES_libopenvg-imx = "${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${SOLIBS}" +FILES_libvdk-imx = "${libdir}/libVDK*${SOLIBS}" FILES_libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}" +INSANE_SKIP_libvdk-imx += "dev-so" FILES_libvivante-dri-imx = "${libdir}/dri/vivante_dri.so" RDEPENDS_libvivante-dri-imx = "libdrm" @@ -313,15 +363,15 @@ RDEPENDS_libvivante-dri-imx = "libdrm" INSANE_SKIP_libwayland-viv-imx += "dev-so" FILES_libwayland-viv-imx = "${libdir}/libwayland-viv${REALSOLIBS} ${libdir}/libwayland-viv${SOLIBS}" FILES_libwayland-viv-imx-dev = "${includedir}/wayland-viv ${libdir})/libwayland-viv${SOLIBSDEV} ${libdir}/pkgconfig/wayland-viv.pc" -RPROVIDES_libwayland-viv-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'xf86-video-imxfb-vivante', '', d)}" +RPROVIDES_libwayland-viv-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'xf86-video-imx-vivante', '', d)}" INSANE_SKIP_libgc-wayland-protocol-imx += "dev-so" FILES_libgc-wayland-protocol-imx = "${libdir}/libgc_wayland_protocol${REALSOLIBS} ${libdir}/libgc_wayland_protocol${SOLIBS}" FILES_libgc-wayland-protocol-imx-dev = "${libdir}/libgc_wayland_protocol${SOLIBSDEV} ${libdir}/pkgconfig/gc_wayland_protocol.pc" -FILES_libwayland-egl-imx-dev = "${libdir}/pkgconfig/wayland-egl.pc" - FILES_imx-gpu-viv-tools = "${bindir}/gmem_info" FILES_imx-gpu-viv-demos = "/opt" INSANE_SKIP_imx-gpu-viv-demos += "rpaths dev-deps" + +# COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx8)" diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.2.p0-aarch32.bb b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.2.p0-aarch32.bb deleted file mode 100644 index c48216ab5..000000000 --- a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.2.p0-aarch32.bb +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright (C) 2013-2016 Freescale Semiconductor -# Copyright 2017 NXP -# Released under the MIT license (see COPYING.MIT for the terms) - -require recipes-graphics/imx-gpu-viv/imx-gpu-viv-v6.inc - -SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" - -S="${WORKDIR}/${PN}-${PV}" - -SRC_URI[md5sum] = "7d43f73b8bc0c1c442587f819218a1d5" -SRC_URI[sha256sum] = "4f93a4412c93ca5959aa2437bfed2ecbaf983b5b272be5977f76a967de5db150" - -PACKAGE_FP_TYPE = "hardfp" - -COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx7ulp)" diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.6-aarch32.bb b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.6-aarch32.bb new file mode 100644 index 000000000..905f0c2aa --- /dev/null +++ b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.6-aarch32.bb @@ -0,0 +1,6 @@ +require imx-gpu-viv-v6.inc + +SRC_URI[md5sum] = "25f961c67d8c3b8b0f38bbf3b6da5ea6" +SRC_URI[sha256sum] = "463b3cba4b6f817e8f2b1abdadb51bbecdbdab3066a5c0b92504156a6f86f8c0" + +COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx7ulp)" diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.6-aarch64.bb b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.6-aarch64.bb new file mode 100644 index 000000000..3d179ccf6 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.6-aarch64.bb @@ -0,0 +1,6 @@ +require imx-gpu-viv-v6.inc + +SRC_URI[md5sum] = "2d5437e5264a25fdddcc29c63db82e84" +SRC_URI[sha256sum] = "bfcb9f8f16b006c35576a57d185692ae22acdc9353b5a1f7f818436810224027" + +COMPATIBLE_MACHINE = "(mx8)" diff --git a/meta-digi-dey/recipes-graphics/libsdl2/libsdl2_%.bbappend b/meta-digi-dey/recipes-graphics/libsdl2/libsdl2_%.bbappend new file mode 100644 index 000000000..e8403f3ae --- /dev/null +++ b/meta-digi-dey/recipes-graphics/libsdl2/libsdl2_%.bbappend @@ -0,0 +1,6 @@ +SRC_URI_remove = " \ + file://0001-prepend-our-sysroot-path-so-that-make-finds-our-wayl.patch \ + file://0002-Avoid-finding-build-host-s-wayland-scanner.patch \ +" + +EXTRA_OECONF_remove = "WAYLAND_PROTOCOLS_SYSROOT_DIR=${RECIPE_SYSROOT}" diff --git a/meta-digi-dey/recipes-graphics/matchbox-wm/matchbox-wm/fix-close-button-do-not-response-to-multitouch.patch b/meta-digi-dey/recipes-graphics/matchbox-wm/matchbox-wm/fix-close-button-do-not-response-to-multitouch.patch new file mode 100644 index 000000000..f404a1009 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/matchbox-wm/matchbox-wm/fix-close-button-do-not-response-to-multitouch.patch @@ -0,0 +1,37 @@ +matchbox-wm: Fix to support closing windows in multi-touch panels + +In many applications, the close is not recognized because the sub window class is NULL +This calculates coordinates to track close touch actions in the area to respond. + +Upstream Status: Not applicable + +diff --git a/src/client_common.c b/src/client_common.c +index 2b62024..30724c1 100644 +--- a/src/client_common.c ++++ b/src/client_common.c +@@ -779,10 +779,24 @@ client_get_button_list_item_from_event(Client *c, XButtonEvent *e) + { + struct list_item *l = c->buttons; + MBClientButton *b = NULL; +- ++ int dx, dy; + while (l != NULL) + { + b = (MBClientButton *)l->data; ++ if (e->subwindow == 0) ++ { ++ dx = (e->x - b->x - b->w/2) > 0 ? \ ++ (e->x - b->x - b->w/2) : \ ++ (b->x + b->w/2 - e->x); ++ ++ dy = (e->y - b->y - b->h/2) > 0 ? \ ++ (e->y - b->y - b->h/2) : \ ++ (b->y + b->h/2 - e->y); ++ ++ if (dx <= b->w/2 && dy <= b->h/2) ++ return l; ++ } ++ + if (b->win == e->subwindow) + { + return l; diff --git a/meta-digi-dey/recipes-graphics/matchbox-wm/matchbox-wm_%.bbappend b/meta-digi-dey/recipes-graphics/matchbox-wm/matchbox-wm_%.bbappend new file mode 100644 index 000000000..96647d3e7 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/matchbox-wm/matchbox-wm_%.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI_append = " file://fix-close-button-do-not-response-to-multitouch.patch" diff --git a/meta-digi-dey/recipes-graphics/mesa/mesa-demos/Add-OpenVG-demos-to-support-wayland.patch b/meta-digi-dey/recipes-graphics/mesa/mesa-demos/Add-OpenVG-demos-to-support-wayland.patch new file mode 100644 index 000000000..19bcca98c --- /dev/null +++ b/meta-digi-dey/recipes-graphics/mesa/mesa-demos/Add-OpenVG-demos-to-support-wayland.patch @@ -0,0 +1,84 @@ +From 8aba54422d9a77383c150f9f70240b18b6e1918e Mon Sep 17 00:00:00 2001 +From: Prabhu Sundararaj +Date: Thu, 9 Apr 2015 15:47:21 -0500 +Subject: [PATCH] Add OpenVG demos to support wayland. + +Upstream-Status: Pending + +Signed-off-by: Prabhu Sundararaj +--- + src/egl/Makefile.am | 6 +++--- + src/egl/openvg/Makefile.am | 33 +++++++++++++++++++++++++++++---- + 2 files changed, 32 insertions(+), 7 deletions(-) + +Index: mesa-demos-8.2.0/src/egl/Makefile.am +=================================================================== +--- mesa-demos-8.2.0.orig/src/egl/Makefile.am 2016-05-09 11:45:51.479100180 -0500 ++++ mesa-demos-8.2.0/src/egl/Makefile.am 2016-05-09 11:45:51.475100160 -0500 +@@ -26,10 +26,10 @@ + eglut \ + opengles1 \ + opengles2 \ +- oes_vg ++ oes_vg \ ++ openvg + + if HAVE_GLU + SUBDIRS += \ +- opengl \ +- openvg ++ opengl + endif +Index: mesa-demos-8.2.0/src/egl/openvg/Makefile.am +=================================================================== +--- mesa-demos-8.2.0.orig/src/egl/openvg/Makefile.am 2016-05-09 11:45:51.479100180 -0500 ++++ mesa-demos-8.2.0/src/egl/openvg/Makefile.am 2016-05-09 12:39:30.000000000 -0500 +@@ -47,13 +47,26 @@ + endif + endif + ++if HAVE_WAYLAND ++EGL_WL_DEMOS = \ ++ lion_wayland \ ++ sp_wayland ++ ++if HAVE_FREETYPE2 ++EGL_WL_DEMOS += \ ++ vgtext_wayland ++endif ++endif ++ + if HAVE_EGL + if HAVE_VG + bin_PROGRAMS = \ +- $(EGL_X11_DEMOS) ++ $(EGL_X11_DEMOS) \ ++ $(EGL_WL_DEMOS) + endif + endif + ++if HAVE_X11 + lion_x11_SOURCES = lion.c lion-render.c lion-render.h + sp_x11_SOURCES = sp.c + +@@ -63,6 +76,20 @@ + text_SOURCES = text.c + text_CFLAGS = $(AM_CFLAGS) @FREETYPE2_CFLAGS@ + text_LDADD = @FREETYPE2_LIBS@ ../eglut/libeglut_x11.la ++endif ++ ++if HAVE_WAYLAND ++lion_wayland_SOURCES = lion.c lion-render.c lion-render.h ++lion_wayland_LDADD = ../eglut/libeglut_wayland.la ++ ++sp_wayland_SOURCES = sp.c ++sp_wayland_LDADD = ../eglut/libeglut_wayland.la ++ ++vgtext_wayland_SOURCES = text.c ++vgtext_wayland_CFLAGS = $(AM_CFLAGS) @FREETYPE2_CFLAGS@ ++vgtext_wayland_LDADD = @FREETYPE2_LIBS@ ../eglut/libeglut_wayland.la ++ ++endif + + SUBDIRS = \ + trivial diff --git a/meta-digi-dey/recipes-graphics/mesa/mesa-demos/Additional-eglSwapBuffer-calling-makes-wrong-throttl.patch b/meta-digi-dey/recipes-graphics/mesa/mesa-demos/Additional-eglSwapBuffer-calling-makes-wrong-throttl.patch new file mode 100644 index 000000000..180a9d84e --- /dev/null +++ b/meta-digi-dey/recipes-graphics/mesa/mesa-demos/Additional-eglSwapBuffer-calling-makes-wrong-throttl.patch @@ -0,0 +1,28 @@ +From 010af1952d935352764389636b7165283e6c9e3f Mon Sep 17 00:00:00 2001 +From: Prabhu Sundararaj +Date: Tue, 7 Apr 2015 17:58:45 -0500 +Subject: [PATCH] Additional eglSwapBuffer calling makes wrong throttling + +Upstream Status: Pending + +Signed-off-by: Prabhu Sundararaj +--- + src/egl/eglut/eglut_wayland.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/egl/eglut/eglut_wayland.c b/src/egl/eglut/eglut_wayland.c +index 968b33f..5664d35 100644 +--- a/src/egl/eglut/eglut_wayland.c ++++ b/src/egl/eglut/eglut_wayland.c +@@ -155,7 +155,7 @@ draw(void *data, struct wl_callback *callback, uint32_t time) + + if (win->display_cb) + win->display_cb(); +- eglSwapBuffers(_eglut->dpy, win->surface); ++ /*eglSwapBuffers(_eglut->dpy, win->surface);*/ + + if (callback) + wl_callback_destroy(callback); +-- +2.3.5 + diff --git a/meta-digi-dey/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch b/meta-digi-dey/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch new file mode 100644 index 000000000..d899540fb --- /dev/null +++ b/meta-digi-dey/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch @@ -0,0 +1,355 @@ +From 757649a766f90e745f24df1d191caeef15c71399 Mon Sep 17 00:00:00 2001 +From: Otavio Salvador +Date: Tue, 4 Jun 2013 09:28:51 -0300 +Subject: [PATCH] Replace glWindowPos2iARB calls with glWindowPos2i + +Vivante libGL does not provide the glWindowPos2iARB symbol, but +glWindowPos2i. Use this instead. + +Upstream-Status: Inapropriate [embedded specific] + +Reported-by: Jeremy Stashluk +Signed-off-by: Otavio Salvador +--- + src/demos/copypix.c | 4 ++-- + src/demos/engine.c | 2 +- + src/demos/fogcoord.c | 4 ++-- + src/glsl/shadow_sampler.c | 2 +- + src/tests/auxbuffer.c | 2 +- + src/tests/copypixrate.c | 2 +- + src/tests/drawbuffers.c | 2 +- + src/tests/drawbuffers2.c | 2 +- + src/tests/fbotest1.c | 2 +- + src/tests/fbotest2.c | 4 ++-- + src/tests/fbotest3.c | 2 +- + src/tests/readrate.c | 10 +++++----- + src/tests/viewmemory.c | 2 +- + src/trivial/clear-fbo-scissor.c | 2 +- + src/trivial/clear-fbo-tex.c | 2 +- + src/trivial/clear-fbo.c | 2 +- + src/trivial/readpixels.c | 2 +- + src/trivial/tri-fbo.c | 2 +- + src/xdemos/glxsnoop.c | 2 +- + src/xdemos/wincopy.c | 4 ++-- + 20 files changed, 28 insertions(+), 28 deletions(-) + +diff --git a/src/demos/copypix.c b/src/demos/copypix.c +index 286c5a9..041b567 100644 +--- a/src/demos/copypix.c ++++ b/src/demos/copypix.c +@@ -54,7 +54,7 @@ static void Display( void ) + glClear( GL_COLOR_BUFFER_BIT ); + + /* draw original image */ +- glWindowPos2iARB(dx, dy); ++ glWindowPos2i(dx, dy); + glDrawPixels(ImgWidth, ImgHeight, ImgFormat, GL_UNSIGNED_BYTE, Image); + + if (Scissor) +@@ -71,7 +71,7 @@ static void Display( void ) + + /* draw copy */ + glPixelZoom(Xzoom, Yzoom); +- glWindowPos2iARB(Xpos, Ypos); ++ glWindowPos2i(Xpos, Ypos); + glCopyPixels(dx, dy, ImgWidth, ImgHeight, GL_COLOR); + glPixelZoom(1, 1); + +diff --git a/src/demos/engine.c b/src/demos/engine.c +index 928fcbb..beace4c 100644 +--- a/src/demos/engine.c ++++ b/src/demos/engine.c +@@ -971,7 +971,7 @@ Draw(void) + glDisable(GL_LIGHTING); + glDisable(GL_TEXTURE_2D); + glColor3f(1, 1 , 1); +- glWindowPos2iARB(10, 10); ++ glWindowPos2i(10, 10); + PrintString(s); + if (lit) + glEnable(GL_LIGHTING); +diff --git a/src/demos/fogcoord.c b/src/demos/fogcoord.c +index 567eec0..e833009 100644 +--- a/src/demos/fogcoord.c ++++ b/src/demos/fogcoord.c +@@ -68,14 +68,14 @@ PrintInfo(void) + + sprintf(s, "Mode(m): %s Start(s/S): %g End(e/E): %g Density(d/D): %g", + ModeStr, fogStart, fogEnd, fogDensity); +- glWindowPos2iARB(5, 20); ++ glWindowPos2i(5, 20); + PrintString(s); + + sprintf(s, "Arrays(a): %s glFogCoord(c): %s EyeZ(z/z): %g", + (Arrays ? "Yes" : "No"), + (fogCoord ? "Yes" : "No"), + camz); +- glWindowPos2iARB(5, 5); ++ glWindowPos2i(5, 5); + PrintString(s); + } + +diff --git a/src/glsl/shadow_sampler.c b/src/glsl/shadow_sampler.c +index b830030..eb82d8b 100644 +--- a/src/glsl/shadow_sampler.c ++++ b/src/glsl/shadow_sampler.c +@@ -85,7 +85,7 @@ Redisplay(void) + glPopMatrix(); + + glUseProgram(0); +- glWindowPos2iARB(80, 20); ++ glWindowPos2i(80, 20); + PrintString("white black white black"); + + { +diff --git a/src/tests/auxbuffer.c b/src/tests/auxbuffer.c +index 5fa399a..0cd5f47 100644 +--- a/src/tests/auxbuffer.c ++++ b/src/tests/auxbuffer.c +@@ -419,7 +419,7 @@ event_loop(Display *dpy, Window win) + /* Copy aux buffer image to back color buffer */ + glReadBuffer(GL_AUX0); + glDrawBuffer(GL_BACK); +- glWindowPos2iARB(0, 0); ++ glWindowPos2i(0, 0); + glDisable(GL_DEPTH_TEST); + glCopyPixels(0, 0, WinWidth, WinHeight, GL_COLOR); + glEnable(GL_DEPTH_TEST); +diff --git a/src/tests/copypixrate.c b/src/tests/copypixrate.c +index 2f64e0a..df1f9b0 100644 +--- a/src/tests/copypixrate.c ++++ b/src/tests/copypixrate.c +@@ -91,7 +91,7 @@ BlitOne(void) + else + #endif + { +- glWindowPos2iARB(x, y); ++ glWindowPos2i(x, y); + glCopyPixels(0, 0, ImgWidth, ImgHeight, GL_COLOR); + } + } +diff --git a/src/tests/drawbuffers.c b/src/tests/drawbuffers.c +index fa2f8a7..cd5033f 100644 +--- a/src/tests/drawbuffers.c ++++ b/src/tests/drawbuffers.c +@@ -88,7 +88,7 @@ Display(void) + glUseProgram(0); + glDisable(GL_DEPTH_TEST); + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); +- glWindowPos2iARB(0, 0); ++ glWindowPos2i(0, 0); + glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer); + + free(buffer); +diff --git a/src/tests/drawbuffers2.c b/src/tests/drawbuffers2.c +index 5bcf0b2..84d444b 100644 +--- a/src/tests/drawbuffers2.c ++++ b/src/tests/drawbuffers2.c +@@ -112,7 +112,7 @@ Display(void) + glUseProgram(0); + glDisable(GL_DEPTH_TEST); + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); +- glWindowPos2iARB(0, 0); ++ glWindowPos2i(0, 0); + glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer); + + free(buffer); +diff --git a/src/tests/fbotest1.c b/src/tests/fbotest1.c +index 161903c..5930a6d 100644 +--- a/src/tests/fbotest1.c ++++ b/src/tests/fbotest1.c +@@ -61,7 +61,7 @@ Display( void ) + + /* draw to window */ + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); +- glWindowPos2iARB(0, 0); ++ glWindowPos2i(0, 0); + glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer); + + free(buffer); +diff --git a/src/tests/fbotest2.c b/src/tests/fbotest2.c +index 6ef7f12..11c867e 100644 +--- a/src/tests/fbotest2.c ++++ b/src/tests/fbotest2.c +@@ -72,7 +72,7 @@ Display( void ) + + glDisable(GL_DEPTH_TEST); /* in case window has depth buffer */ + +- glWindowPos2iARB(0, 0); ++ glWindowPos2i(0, 0); + glCopyPixels(0, 0, Width, Height, GL_COLOR); + } + else if (blitPix) { +@@ -95,7 +95,7 @@ Display( void ) + /* draw to window */ + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); + glDisable(GL_DEPTH_TEST); /* in case window has depth buffer */ +- glWindowPos2iARB(0, 0); ++ glWindowPos2i(0, 0); + glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer); + + free(buffer); +diff --git a/src/tests/fbotest3.c b/src/tests/fbotest3.c +index 19f684d..e6d7710 100644 +--- a/src/tests/fbotest3.c ++++ b/src/tests/fbotest3.c +@@ -79,7 +79,7 @@ Display( void ) + /* draw to window */ + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); + glDisable(GL_DEPTH_TEST); /* in case window has depth buffer */ +- glWindowPos2iARB(0, 0); ++ glWindowPos2i(0, 0); + glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer); + + free(buffer); +diff --git a/src/tests/readrate.c b/src/tests/readrate.c +index 3859cf4..81eb8a3 100644 +--- a/src/tests/readrate.c ++++ b/src/tests/readrate.c +@@ -85,7 +85,7 @@ MeasureFormat(struct format_type *fmt, GLint width, GLint height, GLuint pbo) + glEnd(); + + #if DRAW +- glWindowPos2iARB(0,0); ++ glWindowPos2i(0,0); + glDrawPixels(width, height, + fmt->Format, fmt->Type, Buffer); + glFinish(); +@@ -137,21 +137,21 @@ Draw(void) + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + +- glWindowPos2iARB(10, y); ++ glWindowPos2i(10, y); + sprintf(str, "ReadPixels size: %d x %d", width, height); + PrintString(str); + y -= 14; + +- glWindowPos2iARB(10, y); ++ glWindowPos2i(10, y); + PrintString("Press up/down/left/right to change image size."); + y -= 14; + +- glWindowPos2iARB(10, y); ++ glWindowPos2i(10, y); + PrintString("Press 'b' to run benchmark test."); + y -= 14; + + if (Benchmark) { +- glWindowPos2iARB(10, y); ++ glWindowPos2i(10, y); + PrintString("Testing..."); + } + +diff --git a/src/tests/viewmemory.c b/src/tests/viewmemory.c +index 16044b9..3584c33 100644 +--- a/src/tests/viewmemory.c ++++ b/src/tests/viewmemory.c +@@ -95,7 +95,7 @@ Draw(void) + + glDisable(GL_TEXTURE_2D); + glColor3f(0, 1, 0); +- glWindowPos2iARB(10, 10); ++ glWindowPos2i(10, 10); + PrintString(s); + + glutSwapBuffers(); +diff --git a/src/trivial/clear-fbo-scissor.c b/src/trivial/clear-fbo-scissor.c +index a30935c..5c15200 100644 +--- a/src/trivial/clear-fbo-scissor.c ++++ b/src/trivial/clear-fbo-scissor.c +@@ -182,7 +182,7 @@ Draw(void) + + /* draw to window */ + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); +- glWindowPos2iARB(0, 0); ++ glWindowPos2i(0, 0); + glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer); + + free(buffer); +diff --git a/src/trivial/clear-fbo-tex.c b/src/trivial/clear-fbo-tex.c +index de84f98..f0fbdf6 100644 +--- a/src/trivial/clear-fbo-tex.c ++++ b/src/trivial/clear-fbo-tex.c +@@ -140,7 +140,7 @@ static void Draw( void ) + glClearColor(0.8, 0.8, 0, 0.0); + glClear(GL_COLOR_BUFFER_BIT); + +- glWindowPos2iARB(30, 30); ++ glWindowPos2i(30, 30); + glDrawPixels(Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer); + + free(buffer); +diff --git a/src/trivial/clear-fbo.c b/src/trivial/clear-fbo.c +index 10d830b..3fee3e3 100644 +--- a/src/trivial/clear-fbo.c ++++ b/src/trivial/clear-fbo.c +@@ -116,7 +116,7 @@ Draw(void) + glClearColor(0.8, 0.8, 0, 0.0); + glClear(GL_COLOR_BUFFER_BIT); + +- glWindowPos2iARB(30, 30); ++ glWindowPos2i(30, 30); + glDrawPixels(Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer); + + free(buffer); +diff --git a/src/trivial/readpixels.c b/src/trivial/readpixels.c +index ccce4ed..74e0546 100644 +--- a/src/trivial/readpixels.c ++++ b/src/trivial/readpixels.c +@@ -71,7 +71,7 @@ static void Draw(void) + printf("Pixel(0,0) = %f, %f, %f, %f\n", + image[0], image[1], image[2], image[3]); + /* draw to right half of window */ +- glWindowPos2iARB(Width, 0); ++ glWindowPos2i(Width, 0); + glPixelZoom(Zoom, Zoom); + glDrawPixels(Width, Height, GL_RGBA, GL_FLOAT, image); + free(image); +diff --git a/src/trivial/tri-fbo.c b/src/trivial/tri-fbo.c +index d5800b2..dd1f21a 100644 +--- a/src/trivial/tri-fbo.c ++++ b/src/trivial/tri-fbo.c +@@ -119,7 +119,7 @@ static void Draw( void ) + glClearColor(0.8, 0.8, 0, 0.0); + glClear(GL_COLOR_BUFFER_BIT); + +- glWindowPos2iARB(30, 30); ++ glWindowPos2i(30, 30); + glDrawPixels(Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer); + + +diff --git a/src/xdemos/glxsnoop.c b/src/xdemos/glxsnoop.c +index 2215cfd..13d2b2d 100644 +--- a/src/xdemos/glxsnoop.c ++++ b/src/xdemos/glxsnoop.c +@@ -91,7 +91,7 @@ redraw(Display *dpy, Window srcWin, Window dstWin ) + } + + glXMakeCurrent(dpy, dstWin, Context); +- glWindowPos2iARB(0, 0); ++ glWindowPos2i(0, 0); + glDrawBuffer(GL_FRONT); + glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, image); + glFlush(); +diff --git a/src/xdemos/wincopy.c b/src/xdemos/wincopy.c +index f670983..d010085 100644 +--- a/src/xdemos/wincopy.c ++++ b/src/xdemos/wincopy.c +@@ -156,11 +156,11 @@ Redraw(void) + glClear(GL_COLOR_BUFFER_BIT); + + if (TestClipping) { +- glWindowPos2iARB(-2, -2); ++ glWindowPos2i(-2, -2); + glCopyPixels(-2, -2, Width[0] + 4, Height[0] + 4, GL_COLOR); + } + else { +- glWindowPos2iARB(0, 0); ++ glWindowPos2i(0, 0); + glCopyPixels(0, 0, Width[0], Height[0], GL_COLOR); + } + +-- +1.8.1 + diff --git a/meta-digi-dey/recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch b/meta-digi-dey/recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch new file mode 100644 index 000000000..eb541d658 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch @@ -0,0 +1,17 @@ +mesa-demos: Add extension header to fix build break now that gl1 is removed + +Upstream Status: Pending + +diff --git a/src/egl/opengles1/clear.c b/src/egl/opengles1/clear.c +index 9fe1b5291e1905fd6fe572063ed707d59ce45a81..ca9954a21b5f475709dbdef07f90b900962fcbc7 100644 +--- a/src/egl/opengles1/clear.c ++++ b/src/egl/opengles1/clear.c +@@ -34,7 +34,7 @@ + #include + #include + #include +- ++#include + #include "eglut.h" + + typedef void (GL_APIENTRY *type_ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); diff --git a/meta-digi-dey/recipes-graphics/mesa/mesa-demos_%.bbappend b/meta-digi-dey/recipes-graphics/mesa/mesa-demos_%.bbappend new file mode 100644 index 000000000..3aebea0de --- /dev/null +++ b/meta-digi-dey/recipes-graphics/mesa/mesa-demos_%.bbappend @@ -0,0 +1,24 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +DEPENDS = "mesa" + +SRC_URI_append_imxgpu = " file://Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch \ + file://fix-clear-build-break.patch \ + file://Additional-eglSwapBuffer-calling-makes-wrong-throttl.patch \ + file://Add-OpenVG-demos-to-support-wayland.patch" + +PACKAGECONFIG_IMX_REMOVE_IF_2D_ONLY = "" +PACKAGECONFIG_IMX_REMOVE_IF_2D_ONLY_imxgpu2d = "gles1 gles2" +PACKAGECONFIG_IMX_REMOVE_IF_2D_ONLY_imxgpu3d = "" + +PACKAGECONFIG_remove_imxgpu = " \ + ${PACKAGECONFIG_IMX_REMOVE_IF_2D_ONLY} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'glu x11', '', d)} \ +" + +PACKAGECONFIG_append_imxgpu = " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland vg', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glut', '', d)} \ +" + +PACKAGECONFIG[glut] = "--with-glut=${STAGING_EXECPREFIXDIR},--without-glut,freeglut" diff --git a/meta-digi-dey/recipes-graphics/mesa/mesa-gl_%.bbappend b/meta-digi-dey/recipes-graphics/mesa/mesa-gl_%.bbappend new file mode 100644 index 000000000..7eee63ac2 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/mesa/mesa-gl_%.bbappend @@ -0,0 +1 @@ +COMPATIBLE_MACHINE_mx8 = "(-)" diff --git a/meta-digi-dey/recipes-graphics/mesa/mesa_%.bbappend b/meta-digi-dey/recipes-graphics/mesa/mesa_%.bbappend index 0de2ea75d..916f3a300 100644 --- a/meta-digi-dey/recipes-graphics/mesa/mesa_%.bbappend +++ b/meta-digi-dey/recipes-graphics/mesa/mesa_%.bbappend @@ -1,44 +1,29 @@ # Copyright (C) 2018 Digi International -PACKAGECONFIG_remove_imxgpu2d = "egl gles gbm" +PROVIDES_remove_imxgpu = "virtual/egl" +PROVIDES_remove_imxgpu3d = "virtual/libgl virtual/libgles1 virtual/libgles2" -PROVIDES_remove_imxgpu2d = "virtual/libgles1 virtual/libgles2 virtual/libopenvg virtual/egl gbm" -PROVIDES_remove_imxgpu3d = "virtual/libgl" - -# FIXME: mesa should support 'x11-no-tls' option -python () { - overrides = d.getVar("OVERRIDES", True).split(":") - if "imxgpu2d" not in overrides: - return - - x11flag = d.getVarFlag("PACKAGECONFIG", "x11", False) - d.setVarFlag("PACKAGECONFIG", "x11", x11flag.replace("--enable-glx-tls", "--enable-glx")) -} - -# Enable Etnaviv support -PACKAGECONFIG_append_use-mainline-bsp = " gallium" -GALLIUMDRIVERS_append_use-mainline-bsp = ",etnaviv,imx" +PACKAGECONFIG_remove_imxgpu = "egl gbm" +PACKAGECONFIG_remove_imxgpu3d = "gles" BACKEND = \ "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \ bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \ 'fb', d), d)}" - -# FIXME: Dirty hack to allow use of Vivante GPU libGL binary do_install_append_imxgpu3d () { - rm -f ${D}${libdir}/libGL.* \ - ${D}${includedir}/GL/gl.h \ - ${D}${includedir}/GL/glext.h \ - ${D}${includedir}/GL/glx.h \ + rm -f ${D}${includedir}/GL/glx.h \ ${D}${includedir}/GL/glxext.h if [ "${BACKEND}" = "x11" ]; then rm -f ${D}${libdir}/pkgconfig/gl.pc fi } -do_install_append_imxgpu2d () { - rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc +do_install_append_imxgpu () { + rm -f ${D}${includedir}/KHR } -do_install_append_imxgpu2d () { - rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc +do_install_append () { + if [ "${BACKEND}" = "wayland" ]; then + rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc + rm -f ${D}${libdir}/libwayland-egl* + fi } diff --git a/meta-digi-dey/recipes-graphics/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch b/meta-digi-dey/recipes-graphics/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch new file mode 100644 index 000000000..4d76ad40c --- /dev/null +++ b/meta-digi-dey/recipes-graphics/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch @@ -0,0 +1,38 @@ +From 4801a057730632225337d7f6d26b9335e6b9b078 Mon Sep 17 00:00:00 2001 +From: Ricardo Ribalda Delgado +Date: Thu, 31 Mar 2016 00:20:15 +0200 +Subject: [PATCH] 3rdparty/ippicv: Use pre-downloaded ipp + +Signed-off-by: Ricardo Ribalda Delgado +Signed-off-by: Ismo Puustinen +--- + 3rdparty/ippicv/ippicv.cmake | 15 +-------------- + 1 file changed, 1 insertion(+), 14 deletions(-) + +diff --git a/3rdparty/ippicv/ippicv.cmake b/3rdparty/ippicv/ippicv.cmake +index d601da4bb..f6fc1098c 100644 +--- a/3rdparty/ippicv/ippicv.cmake ++++ b/3rdparty/ippicv/ippicv.cmake +@@ -39,18 +39,5 @@ function(download_ippicv root_var) + endif() + + set(THE_ROOT "${OpenCV_BINARY_DIR}/3rdparty/ippicv") +- ocv_download(FILENAME ${OPENCV_ICV_NAME} +- HASH ${OPENCV_ICV_HASH} +- URL +- "${OPENCV_IPPICV_URL}" +- "$ENV{OPENCV_IPPICV_URL}" +- "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/" +- DESTINATION_DIR "${THE_ROOT}" +- ID IPPICV +- STATUS res +- UNPACK RELATIVE_URL) +- +- if(res) +- set(${root_var} "${THE_ROOT}/${OPENCV_ICV_PACKAGE_SUBDIR}" PARENT_SCOPE) +- endif() ++ set(${root_var} "${THE_ROOT}/${OPENCV_ICV_PACKAGE_SUBDIR}" PARENT_SCOPE) + endfunction() +-- +2.13.4 + diff --git a/meta-digi-dey/recipes-graphics/opencv/opencv/0001-Dont-use-isystem.patch b/meta-digi-dey/recipes-graphics/opencv/opencv/0001-Dont-use-isystem.patch new file mode 100644 index 000000000..6dd48fcdc --- /dev/null +++ b/meta-digi-dey/recipes-graphics/opencv/opencv/0001-Dont-use-isystem.patch @@ -0,0 +1,26 @@ +From 2bc6bb9831d07f035fea74ea745cea43dd5f9ef9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 9 Sep 2017 23:48:31 -0700 +Subject: [PATCH] Dont use isystem + +Signed-off-by: Khem Raj +--- +Upstream-Status: Pending + + cmake/OpenCVPCHSupport.cmake | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +Index: git/cmake/OpenCVPCHSupport.cmake +=================================================================== +--- git.orig/cmake/OpenCVPCHSupport.cmake ++++ git/cmake/OpenCVPCHSupport.cmake +@@ -17,7 +17,8 @@ IF(CMAKE_COMPILER_IS_GNUCXX) + IF(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.2.0") + SET(PCHSupport_FOUND TRUE) + ENDIF() +- ++ SET(CMAKE_INCLUDE_SYSTEM_FLAG_C "-I") ++ SET(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-I") + SET(_PCH_include_prefix "-I") + SET(_PCH_isystem_prefix "-isystem") + SET(_PCH_define_prefix "-D") diff --git a/meta-digi-dey/recipes-graphics/opencv/opencv/Avoid-segmentation-fault.patch b/meta-digi-dey/recipes-graphics/opencv/opencv/Avoid-segmentation-fault.patch new file mode 100644 index 000000000..b94541938 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/opencv/opencv/Avoid-segmentation-fault.patch @@ -0,0 +1,13 @@ +Index: git/modules/core/src/command_line_parser.cpp +=================================================================== +--- git.orig/modules/core/src/command_line_parser.cpp 2017-01-24 09:21:45.900724275 -0600 ++++ git/modules/core/src/command_line_parser.cpp 2017-01-24 10:34:17.000000000 -0600 +@@ -10,7 +10,7 @@ + static String cat_string(const String& str) + { + int left = 0, right = (int)str.length(); +- while( left <= right && str[left] == ' ' ) ++ while( left < right && str[left] == ' ' ) + left++; + while( right > left && str[right-1] == ' ' ) + right--; diff --git a/meta-digi-dey/recipes-graphics/opencv/opencv/Disable_OpenVX.patch b/meta-digi-dey/recipes-graphics/opencv/opencv/Disable_OpenVX.patch new file mode 100644 index 000000000..96b471f25 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/opencv/opencv/Disable_OpenVX.patch @@ -0,0 +1,25 @@ +diff --git a/modules/core/src/ovx.cpp b/modules/core/src/ovx.cpp +index a53f553..6fb9bce 100644 +--- a/modules/core/src/ovx.cpp ++++ b/modules/core/src/ovx.cpp +@@ -17,6 +17,12 @@ namespace cv + bool haveOpenVX() + { + #ifdef HAVE_OPENVX ++ char *p; ++ p = getenv("NO_OPENVX"); ++ if((p != NULL) && (p[0] == '1')) ++ { ++ return false; ++ } + static int g_haveOpenVX = -1; + if(g_haveOpenVX < 0) + { +@@ -45,6 +51,7 @@ bool useOpenVX() + { + #ifdef HAVE_OPENVX + CoreTLSData* data = getCoreTlsData().get(); ++ if(!haveOpenVX()) return false; + if( data->useOpenVX < 0 ) + { + // enabled (if available) by default diff --git a/meta-digi-dey/recipes-graphics/opencv/opencv/fix_openvx_samples.patch b/meta-digi-dey/recipes-graphics/opencv/opencv/fix_openvx_samples.patch new file mode 100644 index 000000000..3db3dd15d --- /dev/null +++ b/meta-digi-dey/recipes-graphics/opencv/opencv/fix_openvx_samples.patch @@ -0,0 +1,11 @@ +diff --git a/samples/openvx/CMakeLists.txt b/samples/openvx/CMakeLists.txt +index fd9165b..85fe948 100644 +--- a/samples/openvx/CMakeLists.txt ++++ b/samples/openvx/CMakeLists.txt +@@ -21,5 +21,5 @@ add_definitions(-DIVX_HIDE_INFO_WARNINGS) + file(GLOB_RECURSE cpp_samples RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp) + foreach(sample_filename ${cpp_samples}) + ocv_define_sample(tgt ${sample_filename} openvx) +- ocv_target_link_libraries(${tgt} ${OPENCV_LINKER_LIBS} ${OPENCV_OPENVX_SAMPLE_REQUIRED_DEPS}) ++ ocv_target_link_libraries(${tgt} ${OPENCV_LINKER_LIBS} ${OPENCV_OPENVX_SAMPLE_REQUIRED_DEPS} ${OPENVX_LIBRARIES}) + endforeach() diff --git a/meta-digi-dey/recipes-graphics/opencv/opencv/fix_python_bindings.patch b/meta-digi-dey/recipes-graphics/opencv/opencv/fix_python_bindings.patch new file mode 100644 index 000000000..1609b49b5 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/opencv/opencv/fix_python_bindings.patch @@ -0,0 +1,14 @@ +diff --git a/modules/python/bindings/CMakeLists.txt b/modules/python/bindings/CMakeLists.txt +index 73c67aa..a71c297 100644 +--- a/modules/python/bindings/CMakeLists.txt ++++ b/modules/python/bindings/CMakeLists.txt +@@ -20,7 +20,8 @@ endforeach() + set(opencv_hdrs "") + set(opencv_userdef_hdrs "") + foreach(m ${OPENCV_PYTHON_MODULES}) +- ocv_list_filter(OPENCV_MODULE_${m}_HEADERS "${OPENCV_MODULE_${m}_LOCATION}/include" __hdrs) ++ string(REPLACE "+" "\\\\+" __pattern "${OPENCV_MODULE_${m}_LOCATION}/include") ++ ocv_list_filter(OPENCV_MODULE_${m}_HEADERS "${__pattern}" __hdrs) + list(APPEND opencv_hdrs ${__hdrs}) + file(GLOB userdef_hdrs ${OPENCV_MODULE_${m}_LOCATION}/misc/python/pyopencv*.hpp) + list(APPEND opencv_userdef_hdrs ${userdef_hdrs}) diff --git a/meta-digi-dey/recipes-graphics/opencv/opencv/fixpkgconfig.patch b/meta-digi-dey/recipes-graphics/opencv/opencv/fixpkgconfig.patch new file mode 100644 index 000000000..76dfd04d7 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/opencv/opencv/fixpkgconfig.patch @@ -0,0 +1,29 @@ +diff --git a/cmake/OpenCVGenPkgconfig.cmake b/cmake/OpenCVGenPkgconfig.cmake +index 425c0fa..9123dc6 100644 +--- a/cmake/OpenCVGenPkgconfig.cmake ++++ b/cmake/OpenCVGenPkgconfig.cmake +@@ -31,7 +31,7 @@ macro(fix_prefix lst isown) + get_filename_component(libdir "${item}" PATH) + get_filename_component(_libname "${item}" NAME) + ocv_get_libname(libname "${_libname}") +- list(APPEND _lst "-L${libdir}" "-l${libname}") ++ list(APPEND _lst "-l${libname}") + else() + list(APPEND _lst "-l${item}") + endif() +@@ -125,10 +125,14 @@ ocv_list_unique(_3rdparty) + + set(OPENCV_PC_LIBS + "-L\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}" ++ "-L\${exec_prefix}/${OPENCV_3P_LIB_INSTALL_PATH}" + "${_modules}" + ) + if(BUILD_SHARED_LIBS) +- set(OPENCV_PC_LIBS_PRIVATE "${_extra}") ++ set(OPENCV_PC_LIBS_PRIVATE ++ "-L\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}" ++ "${_extra}" ++ ) + else() + set(OPENCV_PC_LIBS_PRIVATE + "-L\${exec_prefix}/${OPENCV_3P_LIB_INSTALL_PATH}" diff --git a/meta-digi-dey/recipes-graphics/opencv/opencv/protobuf.patch b/meta-digi-dey/recipes-graphics/opencv/opencv/protobuf.patch new file mode 100644 index 000000000..c63dc142e --- /dev/null +++ b/meta-digi-dey/recipes-graphics/opencv/opencv/protobuf.patch @@ -0,0 +1,57 @@ +Upstream-status: Inappropriate [OE specific] + +Signed-off-by: Ricardo Ribalda +diff --git a/cmake/OpenCVFindLibProtobuf.cmake b/cmake/OpenCVFindLibProtobuf.cmake +index b6ce1e7fd56b..e916ec0df2a6 100644 +--- a/cmake/OpenCVFindLibProtobuf.cmake ++++ b/cmake/OpenCVFindLibProtobuf.cmake +@@ -7,21 +7,21 @@ OCV_OPTION(BUILD_PROTOBUF "Force to build libprotobuf from sources" ON) + OCV_OPTION(PROTOBUF_UPDATE_FILES "Force to rebuild .proto files" OFF) + + if(PROTOBUF_UPDATE_FILES) +- if(NOT DEFINED Protobuf_PROTOC_EXECUTABLE) ++ if(NOT DEFINED PROTOBUF_PROTOC_EXECUTABLE) + find_package(Protobuf QUIET) + endif() +- if(DEFINED Protobuf_PROTOC_EXECUTABLE AND EXISTS ${Protobuf_PROTOC_EXECUTABLE}) +- message(STATUS "The protocol buffer compiler is found (${Protobuf_PROTOC_EXECUTABLE})") ++ if(DEFINED PROTOBUF_PROTOC_EXECUTABLE AND EXISTS ${PROTOBUF_PROTOC_EXECUTABLE}) ++ message(STATUS "The protocol buffer compiler is found (${PROTOBUF_PROTOC_EXECUTABLE})") + else() +- message(FATAL_ERROR "The protocol buffer compiler is not found (Protobuf_PROTOC_EXECUTABLE='${Protobuf_PROTOC_EXECUTABLE}')") ++ message(FATAL_ERROR "The protocol buffer compiler is not found (PROTOBUF_PROTOC_EXECUTABLE='${PROTOBUF_PROTOC_EXECUTABLE}')") + endif() + endif() + +-if(NOT BUILD_PROTOBUF AND NOT (DEFINED Protobuf_INCLUDE_DIRS AND DEFINED Protobuf_LIBRARIES)) ++if(NOT BUILD_PROTOBUF AND NOT (DEFINED PROTOBUF_INCLUDE_DIR AND DEFINED PROTOBUF_LIBRARIES)) + find_package(Protobuf QUIET) + endif() + +-if(Protobuf_FOUND) ++if(PROTOBUF_FOUND OR (DEFINED PROTOBUF_INCLUDE_DIR AND DEFINED PROTOBUF_LIBRARIES)) + # nothing + else() + set(Protobuf_LIBRARIES libprotobuf) +diff --git a/modules/dnn/CMakeLists.txt b/modules/dnn/CMakeLists.txt +index 2a71568d1a44..c6329a742263 100644 +--- a/modules/dnn/CMakeLists.txt ++++ b/modules/dnn/CMakeLists.txt +@@ -7,7 +7,7 @@ if(DEFINED BUILD_opencv_dnn AND NOT BUILD_opencv_dnn) + endif() + + include(${OpenCV_SOURCE_DIR}/cmake/OpenCVFindLibProtobuf.cmake) +-if(NOT Protobuf_FOUND) ++if(NOT PROTOBUF_FOUND) + ocv_module_disable(opencv_dnn) + endif() + +@@ -72,7 +72,7 @@ ocv_source_group("Src\\protobuf" FILES ${Protobuf_SRCS} ${Protobuf_HDRS}) + ocv_module_include_directories(include ${Protobuf_INCLUDE_DIRS}) + + ocv_glob_module_sources(${Protobuf_SRCS} ${Protobuf_HDRS} ${CBLAS_H_PROXY_PATH}) +-ocv_create_module(${Protobuf_LIBRARIES} ${LAPACK_LIBRARIES}) ++ocv_create_module(${PROTOBUF_LIBRARIES} ${LAPACK_LIBRARIES}) + ocv_add_samples() + ocv_add_accuracy_tests() + ocv_add_perf_tests() diff --git a/meta-digi-dey/recipes-graphics/opencv/opencv/tinydnn.patch b/meta-digi-dey/recipes-graphics/opencv/opencv/tinydnn.patch new file mode 100644 index 000000000..c433fc312 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/opencv/opencv/tinydnn.patch @@ -0,0 +1,34 @@ +Upstream-status: Inappropriate [OE specific] + +Signed-off-by: Ricardo Ribalda +diff --git a/modules/dnn_modern/CMakeLists.txt b/modules/dnn_modern/CMakeLists.txt +index 79b64b12160b..ba06a0a163e4 100644 +--- a/modules/dnn_modern/CMakeLists.txt ++++ b/modules/dnn_modern/CMakeLists.txt +@@ -15,24 +15,8 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) + # MODULE REQUIREMENTS + # ---------------------------------------------------------------------------- + +-set(TINY_DNN_CPP_PATH "${OpenCV_BINARY_DIR}/3rdparty/tinydnn") +-set(TINY_DNN_CPP_ROOT "${TINY_DNN_CPP_PATH}/tiny-dnn-1.0.0a3") +-ocv_download(FILENAME "v1.0.0a3.tar.gz" +- HASH "adb1c512e09ca2c7a6faef36f9c53e59" +- URL +- "${OPENCV_TINY_DNN_URL}" +- "$ENV{OPENCV_TINY_DNN_URL}" +- "https://github.com/tiny-dnn/tiny-dnn/archive/" +- DESTINATION_DIR "${TINY_DNN_CPP_PATH}" +- STATUS TINY_DNN_DOWNLOAD_SUCCESS +- ID "tiny-dnn" +- UNPACK RELATIVE_URL) +- +-if(NOT TINY_DNN_DOWNLOAD_SUCCESS) +- message(STATUS "Failed to download tiny-dnn sources") +-endif() +- +-find_package(TinyDNN QUIET) ++set(TINYDNN_INCLUDE_DIRS "${OpenCV_SOURCE_DIR}/3rdparty/tinydnn/tiny-dnn-1.0.0a3") ++set(TinyDNN_FOUND TRUE) + + include(CheckCXXCompilerFlag) + CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) diff --git a/meta-digi-dey/recipes-graphics/opencv/opencv/uselocalxfeatures.patch b/meta-digi-dey/recipes-graphics/opencv/opencv/uselocalxfeatures.patch new file mode 100644 index 000000000..fc273a891 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/opencv/opencv/uselocalxfeatures.patch @@ -0,0 +1,20 @@ +diff --git a/modules/xfeatures2d/CMakeLists.txt b/modules/xfeatures2d/CMakeLists.txt +index e1755595..c7009c47 100644 +--- a/modules/xfeatures2d/CMakeLists.txt ++++ b/modules/xfeatures2d/CMakeLists.txt +@@ -5,10 +5,10 @@ ocv_define_module(xfeatures2d opencv_core opencv_imgproc opencv_features2d openc + include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/download_vgg.cmake) + include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/download_boostdesc.cmake) + set(DOWNLOAD_DIR "${OpenCV_BINARY_DIR}/downloads/xfeatures2d") +-download_boost_descriptors("${DOWNLOAD_DIR}" boost_status) +-download_vgg_descriptors("${DOWNLOAD_DIR}" vgg_status) +-if(NOT boost_status OR NOT vgg_status) +- ocv_module_disable(xfeatures2d) +-endif() ++#download_boost_descriptors("${DOWNLOAD_DIR}" boost_status) ++#download_vgg_descriptors("${DOWNLOAD_DIR}" vgg_status) ++#if(NOT boost_status OR NOT vgg_status) ++# ocv_module_disable(xfeatures2d) ++#endif() + + ocv_module_include_directories("${DOWNLOAD_DIR}") diff --git a/meta-digi-dey/recipes-graphics/opencv/opencv/useoeprotobuf.patch b/meta-digi-dey/recipes-graphics/opencv/opencv/useoeprotobuf.patch new file mode 100644 index 000000000..3068bd44d --- /dev/null +++ b/meta-digi-dey/recipes-graphics/opencv/opencv/useoeprotobuf.patch @@ -0,0 +1,13 @@ +diff --git a/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake b/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake +index eb2a729cc2eb..8717736484de 100644 +--- a/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake ++++ b/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake +@@ -24,7 +24,7 @@ if(NOT BUILD_PROTOBUF AND NOT (DEFINED PROTOBUF_INCLUDE_DIR AND DEFINED PROTOBUF + find_package(Protobuf QUIET) + endif() + +-if(PROTOBUF_FOUND) ++if(PROTOBUF_FOUND OR (DEFINED PROTOBUF_INCLUDE_DIR AND DEFINED PROTOBUF_LIBRARIES)) + # nothing + else() + include(${CMAKE_CURRENT_LIST_DIR}/download_protobuf.cmake) diff --git a/meta-digi-dey/recipes-graphics/opencv/opencv_3.4.1.bb b/meta-digi-dey/recipes-graphics/opencv/opencv_3.4.1.bb new file mode 100755 index 000000000..de2027d1d --- /dev/null +++ b/meta-digi-dey/recipes-graphics/opencv/opencv_3.4.1.bb @@ -0,0 +1,192 @@ +SUMMARY = "Opencv : The Open Computer Vision Library" +HOMEPAGE = "http://opencv.org/" +SECTION = "libs" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=62d89c5dcb0583609ea919c56be0ee76" + +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp" + +SRCREV_opencv = "6ffc48769ac60d53c4bd1913eac15117c9b1c9f7" +SRCREV_contrib = "ced5aa760688dd2ec867ebf7bd4f0c2341d2fde5" +SRCREV_ipp = "a62e20676a60ee0ad6581e217fe7e4bada3b95db" +SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26" +SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d" +SRC_URI[tinydnn.md5sum] = "adb1c512e09ca2c7a6faef36f9c53e59" +SRC_URI[tinydnn.sha256sum] = "e2c61ce8c5debaa644121179e9dbdcf83f497f39de853f8dd5175846505aa18b" + +def ipp_filename(d): + import re + arch = d.getVar('TARGET_ARCH', True) + if re.match("i.86$", arch): + return "ippicv_2017u2_lnx_ia32_20170418.tgz" + else: + return "ippicv_2017u2_lnx_intel64_20170418.tgz" + +def ipp_md5sum(d): + import re + arch = d.getVar('TARGET_ARCH', True) + if re.match("i.86$", arch): + return "f2cece00d802d4dea86df52ed095257e" + else: + return "808b791a6eac9ed78d32a7666804320e" + +IPP_FILENAME = "${@ipp_filename(d)}" +IPP_MD5 = "${@ipp_md5sum(d)}" + +SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg" +SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \ + git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \ + git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20170418;destsuffix=ipp;name=ipp \ + git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \ + git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \ + https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz;destsuffix=git/3rdparty/tinydnn/tiny-dnn-1.0.0a3;name=tinydnn;unpack=false \ + file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \ + file://fixpkgconfig.patch \ + file://uselocalxfeatures.patch;patchdir=../contrib/ \ + file://tinydnn.patch;patchdir=../contrib/ \ + file://0001-Dont-use-isystem.patch \ + file://javagen.patch \ +" + +PV = "3.4.1+git${SRCPV}" + +S = "${WORKDIR}/git" + +do_unpack_extra() { + mkdir -p ${S}/3rdparty/tinydnn/ + tar xzf ${WORKDIR}/v1.0.0a3.tar.gz -C ${S}/3rdparty/tinydnn/ + tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR} + cp ${WORKDIR}/vgg/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src + cp ${WORKDIR}/boostdesc/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src +} +addtask unpack_extra after do_unpack before do_patch + +EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \ + -DWITH_1394=OFF \ + -DCMAKE_SKIP_RPATH=ON \ + -DOPENCV_ICV_HASH=${IPP_MD5} \ + -DIPPROOT=${WORKDIR}/ippicv_lnx \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \ +" +EXTRA_OECMAKE_append_x86 = " -DX86=ON" + +PACKAGECONFIG ??= "python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}" + +PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas," +PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft," +PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native," +PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog," +PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype," +PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2," +PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base," +PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3," +PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper," +PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native," +PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg," +PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav," +PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils," +PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd," +PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native," +PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng," +PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy," +PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy," +PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,," +PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb," +PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract," +PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff," +PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils," + +inherit pkgconfig cmake + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'distutils3-base', '', d)} +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)} + +export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}" +export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}" +export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java" +export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native" +export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/" + +TARGET_CC_ARCH += "-I${S}/include " + +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \ + ${PN}-apps" + +python populate_packages_prepend () { + cv_libdir = d.expand('${libdir}') + do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True) + do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') + do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') + do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True) + + pn = d.getVar('PN') + metapkg = pn + '-dev' + d.setVar('ALLOW_EMPTY_' + metapkg, "1") + blacklist = [ metapkg ] + metapkg_rdepends = [ ] + packages = d.getVar('PACKAGES').split() + for pkg in packages[1:]: + if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'): + metapkg_rdepends.append(pkg) + d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends)) + + metapkg = pn + d.setVar('ALLOW_EMPTY_' + metapkg, "1") + blacklist = [ metapkg, "libopencv-ts" ] + metapkg_rdepends = [ ] + for pkg in packages[1:]: + if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'): + metapkg_rdepends.append(pkg) + d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends)) +} + +PACKAGES_DYNAMIC += "^libopencv-.*" + +FILES_${PN} = "" +FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*" +FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${datadir}/OpenCV/*.cmake" +FILES_${PN}-staticdev += "${datadir}/OpenCV/3rdparty/lib/*.a" +FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV" +FILES_${PN}-java = "${datadir}/OpenCV/java" +FILES_${PN}-samples = "${datadir}/OpenCV/samples/" + +INSANE_SKIP_${PN}-java = "libdir" +INSANE_SKIP_${PN}-dbg = "libdir" + +ALLOW_EMPTY_${PN} = "1" + +SUMMARY_python-opencv = "Python bindings to opencv" +FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" +RDEPENDS_python-opencv = "python-core python-numpy" + +SUMMARY_python3-opencv = "Python bindings to opencv" +FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" +RDEPENDS_python3-opencv = "python3-core python3-numpy" + +do_install_append() { + cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/ + sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h + + # Move Python files into correct library folder (for multilib build) + if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then + mv ${D}/usr/lib/* ${D}/${libdir}/ + rm -rf ${D}/usr/lib + fi + + if ${@bb.utils.contains("PACKAGECONFIG", "samples", "true", "false", d)}; then + install -d ${D}${datadir}/OpenCV/samples/bin/ + cp -f bin/example_* ${D}${datadir}/OpenCV/samples/bin/ + fi +} diff --git a/meta-digi-dey/recipes-graphics/opencv/opencv_3.4.1.bbappend b/meta-digi-dey/recipes-graphics/opencv/opencv_3.4.1.bbappend new file mode 100644 index 000000000..a097189ed --- /dev/null +++ b/meta-digi-dey/recipes-graphics/opencv/opencv_3.4.1.bbappend @@ -0,0 +1,70 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +# Specify the opencv_extra source. The version should match the overall opencv version. +# Recording the opencv_extra version here allows us to raise a fatal error if the +# package version is updated but this section is not. +SRC_URI += "git://github.com/opencv/opencv_extra.git;destsuffix=opencv_extra;name=opencv_extra" +SRCREV_opencv_extra = "c533012eb214ec3db851586f74f9dc43ea20c065" +OPENCV_EXTRA_VERSION = "3.4.1" + +SRC_URI_remove = "file://javagen.patch" +SRC_URI += "file://fix_openvx_samples.patch" +SRC_URI += "file://fix_python_bindings.patch" + +PACKAGECONFIG_remove_imx = "eigen" +PACKAGECONFIG_remove_mx8 = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland x11', 'gtk', '', d)}" +PACKAGECONFIG_append_mx8 = " opencl dnn text" +PACKAGECONFIG_append_mx8dv = " openvx" +PACKAGECONFIG_append_mx8qm = " openvx" + +PACKAGECONFIG[openvx] = " \ + -DWITH_OPENVX=ON -DOPENVX_ROOT=${STAGING_LIBDIR} -DOPENVX_LIB_CANDIDATES='OpenVX;OpenVXU', \ + -DWITH_OPENVX=OFF, \ + virtual/libopenvx, \ + \ +" +PACKAGECONFIG[qt5] = " \ + -DWITH_QT=ON -DWITH_GTK=OFF \ + -DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${STAGING_BINDIR_NATIVE}/qt5 \ + -DCMAKE_PREFIX_PATH=${STAGING_BINDIR_NATIVE}/cmake, \ + -DWITH_QT=OFF, \ + qtbase qtbase-native, \ + \ +" +PACKAGECONFIG[test] = " \ + -DBUILD_TESTS=ON -DINSTALL_TESTS=ON -DOPENCV_TEST_DATA_PATH=${S}/../opencv_extra/testdata, \ + -DBUILD_TESTS=OFF -DINSTALL_TESTS=OFF, \ +" + +do_check_opencv_extra_version() { + OPENCV_VERSION=`echo ${PV} | cut -d '+' -f 1` + if [ "${OPENCV_EXTRA_VERSION}" != "${OPENCV_VERSION}" ]; then + bbfatal "The opencv_extra version ${OPENCV_EXTRA_VERSION} does not match the recipe version ${OPENCV_VERSION}." + fi +} +addtask check_opencv_extra_version before do_fetch + +do_compile_prepend() { + # A build break occurs if dnn and python3 are configured. Work around + # the problem by building opencv_dnn first. See + # https://github.com/opencv/opencv/issues/10474. + if ${@bb.utils.contains("PACKAGECONFIG", "dnn python3", "true", "false", d)}; then + bbnote VERBOSE=1 cmake --build '${B}' --target opencv_dnn -- ${PARALLEL_MAKE} + VERBOSE=1 cmake --build '${B}' --target opencv_dnn -- ${PARALLEL_MAKE} + fi +} + +do_install_append() { + if ${@bb.utils.contains("PACKAGECONFIG", "samples", "true", "false", d)}; then + install -d ${D}${datadir}/OpenCV/samples/data + cp -r ${S}/samples/data/* ${D}${datadir}/OpenCV/samples/data + + install -d ${D}${datadir}/OpenCV/samples/bin/ + cp -f bin/example_* ${D}${datadir}/OpenCV/samples/bin/ + fi +} + +RDEPENDS_opencv-apps += \ + "${@bb.utils.contains('PACKAGECONFIG', 'test', 'bash', '', d)}" + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" diff --git a/meta-digi-dey/recipes-graphics/packagegroups/packagegroup-dey-qt.bb b/meta-digi-dey/recipes-graphics/packagegroups/packagegroup-dey-qt.bb index 5ac37efee..e0922e4a3 100644 --- a/meta-digi-dey/recipes-graphics/packagegroups/packagegroup-dey-qt.bb +++ b/meta-digi-dey/recipes-graphics/packagegroups/packagegroup-dey-qt.bb @@ -1,38 +1,44 @@ # -# Copyright (C) 2013-2017, Digi International Inc. +# Copyright (C) 2013-2018, Digi International Inc. # SUMMARY = "QT packagegroup for DEY image" PACKAGE_ARCH = "${MACHINE_ARCH}" inherit packagegroup -MACHINE_QT5_EXTRA_INSTALL ?= "" -MACHINE_QT5_EXTRA_INSTALL_ccimx6 ?= "qtwebengine-examples" +# Install Freescale QT demo applications +QT5_APPS = "" +QT5_APPS_imxgpu3d = "${@bb.utils.contains("MACHINE_GSTREAMER_1_0_PLUGIN", "imx-gst1.0-plugin", "imx-qtapplications", "", d)}" -QT5_PKS = "qtserialport" -QT5_PKS_append_ccimx6 = " qtdeclarative-tools" +# Install fonts +QT5_FONTS = "ttf-dejavu-common ttf-dejavu-sans ttf-dejavu-sans-mono ttf-dejavu-serif " -QT5_EXAMPLES = "" -QT5_EXAMPLES_append_ccimx6 = " \ - qt3d-examples \ - qtbase-examples \ - qtconnectivity-examples \ - qtdeclarative-examples \ - qtmultimedia-examples \ - qtsvg-examples \ +# Install Freescale QT demo applications for X11 backend only +MACHINE_QT5_MULTIMEDIA_APPS = "" +QT5_RDEPENDS = "" +QT5_RDEPENDS_common = " \ + packagegroup-qt5-demos \ + ${QT5_FONTS} \ + ${QT5_APPS} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxkbcommon', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'qtwayland qtwayland-plugins', '', d)}\ " -QT5_DEMOS = "qtsmarthome" -QT5_DEMOS_append_ccimx6 = " \ - cinematicexperience \ - qt5-demo-extrafiles \ - qt5everywheredemo \ +QT5_RDEPENDS_imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11','${QT5_RDEPENDS_common}', \ + 'qtbase qtbase-plugins', d)}" + +QT5_RDEPENDS_imxpxp = "${@bb.utils.contains('DISTRO_FEATURES', 'x11','${QT5_RDEPENDS_common}', \ + 'qtbase qtbase-examples qtbase-plugins', d)}" + +QT5_RDEPENDS_imxgpu3d = " \ + ${QT5_RDEPENDS_common} \ + gstreamer1.0-plugins-good-qt \ " +# Add packagegroup-qt5-webengine to QT5_RDEPENDS_mx6 and comment out the line below to install qtwebengine to the rootfs. +QT5_RDEPENDS_remove = " packagegroup-qt5-webengine" + RDEPENDS_${PN} += " \ liberation-fonts \ - ${QT5_PKS} \ - ${QT5_DEMOS} \ - ${QT5_EXAMPLES} \ - ${MACHINE_QT5_EXTRA_INSTALL} \ + ${QT5_RDEPENDS} \ " diff --git a/meta-digi-dey/recipes-graphics/ttf-fonts/ttf-dejavu_2.%.bbappend b/meta-digi-dey/recipes-graphics/ttf-fonts/ttf-dejavu_2.%.bbappend new file mode 100644 index 000000000..440652e13 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/ttf-fonts/ttf-dejavu_2.%.bbappend @@ -0,0 +1,20 @@ +# Fix up the fonts to the right location +# Install the ttf files into /usr/lib/fonts directory + +PATH_TTF_FONTS="${libdir}/fonts" +do_install_append() { + if [ ! -d ${D}/${PATH_TTF_FONTS} ]; then + mkdir -p ${D}/${PATH_TTF_FONTS} + cp -d ${S}/* ${D}/${PATH_TTF_FONTS} + chown -R root:root ${D}/${PATH_TTF_FONTS} + fi +} + +FILES_${PN}-sans += "${PATH_TTF_FONTS}/DejaVuSans.ttf ${PATH_TTF_FONTS}/DejaVuSans-*.ttf" +FILES_${PN}-sans-mono += "${PATH_TTF_FONTS}/DejaVuSansMono*.ttf" +FILES_${PN}-sans-condensed += "${PATH_TTF_FONTS}/DejaVuSansCondensed*.ttf" +FILES_${PN}-serif += "${PATH_TTF_FONTS}/DejaVuSerif.ttf ${PATH_TTF_FONTS}/DejaVuSerif-*.ttf" +FILES_${PN}-serif-condensed += "${PATH_TTF_FONTS}/DejaVuSerifCondensed*.ttf" +FILES_${PN}-mathtexgyre += "${PATH_TTF_FONTS}/DejaVuMathTeXGyre.ttf" + + diff --git a/meta-digi-dey/recipes-graphics/vulkan/assimp_4.1.0.bb b/meta-digi-dey/recipes-graphics/vulkan/assimp_4.1.0.bb new file mode 100644 index 000000000..194cbe33c --- /dev/null +++ b/meta-digi-dey/recipes-graphics/vulkan/assimp_4.1.0.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Open Asset Import Library is a portable Open Source library to import \ + various well-known 3D model formats in a uniform manner." +HOMEPAGE = "http://www.assimp.org/" +SECTION = "devel" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2119edef0916b0bd511cb3c731076271" + +DEPENDS = "zlib" + +SRC_URI = "git://github.com/assimp/assimp.git" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P(\d+(\.\d+)+))" + +SRCREV = "80799bdbf90ce626475635815ee18537718a05b1" + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE = "-DASSIMP_BUILD_ASSIMP_TOOLS=OFF -DASSIMP_BUILD_TESTS=OFF -DASSIMP_LIB_INSTALL_DIR=${baselib}" diff --git a/meta-digi-dey/recipes-graphics/vulkan/assimp_4.1.0.bbappend b/meta-digi-dey/recipes-graphics/vulkan/assimp_4.1.0.bbappend new file mode 100644 index 000000000..8ffc95ab9 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/vulkan/assimp_4.1.0.bbappend @@ -0,0 +1,3 @@ +# The line is in the 4.0.0 recipe but removed for some reason in +# the 4.1.0 recipe. It seems to still be needed. +FILES_${PN}-dev += "${libdir}/cmake/" diff --git a/meta-digi-dey/recipes-graphics/vulkan/glslang/0001-CMakeLists.txt-obey-CMAKE_INSTALL_LIBDIR.patch b/meta-digi-dey/recipes-graphics/vulkan/glslang/0001-CMakeLists.txt-obey-CMAKE_INSTALL_LIBDIR.patch new file mode 100644 index 000000000..cef3e8e61 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/vulkan/glslang/0001-CMakeLists.txt-obey-CMAKE_INSTALL_LIBDIR.patch @@ -0,0 +1,82 @@ +From 372422ed8ce32e1085cd524156c687df65095237 Mon Sep 17 00:00:00 2001 +From: Awais Belal +Date: Tue, 25 Oct 2016 14:44:20 +0500 +Subject: [PATCH] CMakeLists.txt: obey CMAKE_INSTALL_LIBDIR + +Not using the exact path that is set through cmake +will end up in a mixed configuration setup where +files are installed on hard-coded locations. + +Signed-off-by: Awais Belal +--- + OGLCompilersDLL/CMakeLists.txt | 2 +- + SPIRV/CMakeLists.txt | 2 +- + glslang/CMakeLists.txt | 2 +- + glslang/OSDependent/Unix/CMakeLists.txt | 2 +- + glslang/OSDependent/Windows/CMakeLists.txt | 2 +- + hlsl/CMakeLists.txt | 2 +- + 6 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/OGLCompilersDLL/CMakeLists.txt b/OGLCompilersDLL/CMakeLists.txt +index 4954db9..6b518d9 100644 +--- a/OGLCompilersDLL/CMakeLists.txt ++++ b/OGLCompilersDLL/CMakeLists.txt +@@ -8,4 +8,4 @@ if(WIN32) + endif(WIN32) + + install(TARGETS OGLCompiler +- ARCHIVE DESTINATION lib) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt +index 48a6c46..c657d56 100755 +--- a/SPIRV/CMakeLists.txt ++++ b/SPIRV/CMakeLists.txt +@@ -41,4 +41,4 @@ if(WIN32) + endif(WIN32) + + install(TARGETS SPIRV SPVRemapper +- ARCHIVE DESTINATION lib) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt +index ff91135..efb7f15 100644 +--- a/glslang/CMakeLists.txt ++++ b/glslang/CMakeLists.txt +@@ -89,4 +89,4 @@ if(WIN32) + endif(WIN32) + + install(TARGETS glslang +- ARCHIVE DESTINATION lib) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/glslang/OSDependent/Unix/CMakeLists.txt b/glslang/OSDependent/Unix/CMakeLists.txt +index 174cc91..d98057b 100644 +--- a/glslang/OSDependent/Unix/CMakeLists.txt ++++ b/glslang/OSDependent/Unix/CMakeLists.txt +@@ -2,4 +2,4 @@ add_library(OSDependent STATIC ossource.cpp ../osinclude.h) + set_property(TARGET OSDependent PROPERTY FOLDER glslang) + + install(TARGETS OSDependent +- ARCHIVE DESTINATION lib) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/glslang/OSDependent/Windows/CMakeLists.txt b/glslang/OSDependent/Windows/CMakeLists.txt +index 399760c..744bcbb 100644 +--- a/glslang/OSDependent/Windows/CMakeLists.txt ++++ b/glslang/OSDependent/Windows/CMakeLists.txt +@@ -14,4 +14,4 @@ if(WIN32) + endif(WIN32) + + install(TARGETS OSDependent +- ARCHIVE DESTINATION lib) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/hlsl/CMakeLists.txt b/hlsl/CMakeLists.txt +index c7537e2..5111661 100755 +--- a/hlsl/CMakeLists.txt ++++ b/hlsl/CMakeLists.txt +@@ -23,4 +23,4 @@ if(WIN32) + endif(WIN32) + + install(TARGETS HLSL +- ARCHIVE DESTINATION lib) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +-- +1.9.1 + diff --git a/meta-digi-dey/recipes-graphics/vulkan/glslang_git.bb b/meta-digi-dey/recipes-graphics/vulkan/glslang_git.bb new file mode 100644 index 000000000..15852cacd --- /dev/null +++ b/meta-digi-dey/recipes-graphics/vulkan/glslang_git.bb @@ -0,0 +1,39 @@ +SUMMARY = "An OpenGL and OpenGL ES shader front end and validator." +DESCRIPTION = "Glslang is the official reference compiler front end \ + for the OpenGL ES and OpenGL shading languages. It \ + implements a strict interpretation of the specifications \ + for these languages. It is open and free for anyone to use, \ + either from a command line or programmatically." +SECTION = "graphics" +HOMEPAGE = "https://www.khronos.org/opengles/sdk/tools/Reference-Compiler" + +inherit cmake + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://glslang/Include/Types.h;beginline=1;endline=36;md5=6639a5f9543e833d71e2f4e4ff52f34b" + +S = "${WORKDIR}/git" + +SRCREV = "81cd764b5ffc475bc73f1fb35f75fd1171bb2343" +SRC_URI = "git://github.com/KhronosGroup/glslang \ + file://0001-CMakeLists.txt-obey-CMAKE_INSTALL_LIBDIR.patch" + +FILES_${PN} += "${libdir}/*" + +BBCLASSEXTEND = "native nativesdk" + +do_install_append() { + # Some of the vulkan samples/test require these headers + install -d ${D}${includedir}/SPIRV + cp -f ${S}/SPIRV/GlslangToSpv.h ${D}${includedir}/SPIRV + cp -f ${S}/SPIRV/Logger.h ${D}${includedir}/SPIRV + cp -f ${S}/SPIRV/SPVRemapper.h ${D}${includedir}/SPIRV + cp -f ${S}/SPIRV/spvIR.h ${D}${includedir}/SPIRV + + install -d ${D}${includedir}/glslang/Include + cp -f ${S}/glslang/Include/*.h ${D}${includedir}/glslang/Include + install -d ${D}${includedir}/glslang/Public + cp -f ${S}/glslang/Public/*.h ${D}${includedir}/glslang/Public + install -d ${D}${includedir}/glslang/MachineIndependent + cp -f ${S}/glslang/MachineIndependent/Versions.h ${D}${includedir}/glslang/MachineIndependent +} diff --git a/meta-digi-dey/recipes-graphics/vulkan/spirv-tools/0002-spirv-lesspipe.sh-allow-using-generic-shells.patch b/meta-digi-dey/recipes-graphics/vulkan/spirv-tools/0002-spirv-lesspipe.sh-allow-using-generic-shells.patch new file mode 100644 index 000000000..2918e4ef5 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/vulkan/spirv-tools/0002-spirv-lesspipe.sh-allow-using-generic-shells.patch @@ -0,0 +1,24 @@ +From 93a770330aa21c91a9b7fce798b73d31cad8f16a Mon Sep 17 00:00:00 2001 +From: Awais Belal +Date: Tue, 25 Oct 2016 16:12:08 +0500 +Subject: [PATCH] spirv-lesspipe.sh: allow using generic shells + +The script is harmless for any type of shell and +shouldn't be tied with bash to allow catering +more possibilities. + +Signed-off-by: Awais Belal +--- + tools/lesspipe/spirv-lesspipe.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: git/tools/lesspipe/spirv-lesspipe.sh +=================================================================== +--- git.orig/tools/lesspipe/spirv-lesspipe.sh 2018-05-01 13:37:34.294579393 -0500 ++++ git/tools/lesspipe/spirv-lesspipe.sh 2018-05-01 13:38:35.000000000 -0500 +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # Copyright (c) 2016 The Khronos Group Inc. + + # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/meta-digi-dey/recipes-graphics/vulkan/spirv-tools_git.bb b/meta-digi-dey/recipes-graphics/vulkan/spirv-tools_git.bb new file mode 100644 index 000000000..f1682368a --- /dev/null +++ b/meta-digi-dey/recipes-graphics/vulkan/spirv-tools_git.bb @@ -0,0 +1,32 @@ +SUMMARY = "SPIR-V Tools" +DESCRIPTION = "SPIR-V is a binary intermediate language for representing \ + graphical-shader stages and compute kernels for multiple \ + Khronos APIs, such as OpenCL, OpenGL, and Vulkan." +SECTION = "graphics" +HOMEPAGE = "https://www.khronos.org/registry/spir-v" + +inherit cmake python3native + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +S = "${WORKDIR}/git" +SPIRV_HEADERS_LOCATION = "${S}/external/spirv-headers" +HEADERS_VERSION = "1.1" + +SRCREV_spirv-tools = "2c0ce872103d676bf8de5dc87a03ad2c32e215a2" +SRCREV_spirv-headers = "3a4dbdde9a9b2cf23736694ba70262dce27fbeaa" +SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools;protocol=http;name=spirv-tools \ + git://github.com/KhronosGroup/SPIRV-Headers;name=spirv-headers;destsuffix=${SPIRV_HEADERS_LOCATION} \ + file://0002-spirv-lesspipe.sh-allow-using-generic-shells.patch" + +do_install_append() { + if test -d ${SPIRV_HEADERS_LOCATION}/include/spirv/${HEADERS_VERSION}; then + install -d ${D}/${includedir}/SPIRV + install -m 0644 ${SPIRV_HEADERS_LOCATION}/include/spirv/${HEADERS_VERSION}/* ${D}/${includedir}/SPIRV + fi +} + +FILES_SOLIBSDEV = "" +FILES_${PN} += "${libdir}/libSPIRV*" +INSANE_SKIP_${PN} = "dev-so" diff --git a/meta-digi-dey/recipes-graphics/vulkan/vkmark_1.0.bb b/meta-digi-dey/recipes-graphics/vulkan/vkmark_1.0.bb new file mode 100644 index 000000000..f549fde41 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/vulkan/vkmark_1.0.bb @@ -0,0 +1,38 @@ +SUMMARY = "Vulkan benchmarking suite." +DESCRIPTION = "vkmark is an extensible Vulkan benchmarking suite with \ + targeted, configurable scenes." +SECTION = "graphics" + +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING-LGPL2.1;md5=4fbd65380cdd255951079008b364516c" + +inherit meson + +S = "${WORKDIR}/git" + +SRCREV = "${AUTOREV}" +SRC_URI = "git://github.com/vkmark/vkmark;protocol=https" + +VKMARK_INSTALL_DIR = "${WORKDIR}/vm-install" + +DEPENDS = " vulkan imx-gpu-viv assimp glm ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \ + bb.utils.contains('DISTRO_FEATURES', 'x11', ' libxcb','libdrm libgbm', d), d)}" +do_compile() { + + ninja -C ${WORKDIR}/build +} + +do_install() { + + DESTDIR=${VKMARK_INSTALL_DIR} ninja -C ${WORKDIR}/build install + install -d ${D}${bindir} + install -d ${D}${datadir} + install -d ${D}${libdir} + cp -r ${VKMARK_INSTALL_DIR}${bindir}/* ${D}${bindir}/ + cp -r ${VKMARK_INSTALL_DIR}${datadir}/* ${D}${datadir}/ + cp -r ${VKMARK_INSTALL_DIR}${libdir}/* ${D}${libdir}/ +} + +FILES_${PN} += "${bindir} ${datadir}" + +COMPATIBLE_MACHINE = "(mx8)" diff --git a/meta-digi-dey/recipes-graphics/vulkan/vulkan-demos_%.bbappend b/meta-digi-dey/recipes-graphics/vulkan/vulkan-demos_%.bbappend new file mode 100644 index 000000000..2ab9f3ecd --- /dev/null +++ b/meta-digi-dey/recipes-graphics/vulkan/vulkan-demos_%.bbappend @@ -0,0 +1,2 @@ + +COMPATIBLE_MACHINE = "(mx8)" diff --git a/meta-digi-dey/recipes-graphics/vulkan/vulkan/0001-CMakeLists.txt-Modify-the-library-path-to-point-to-u.patch b/meta-digi-dey/recipes-graphics/vulkan/vulkan/0001-CMakeLists.txt-Modify-the-library-path-to-point-to-u.patch new file mode 100644 index 000000000..ba7ed45b4 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/vulkan/vulkan/0001-CMakeLists.txt-Modify-the-library-path-to-point-to-u.patch @@ -0,0 +1,27 @@ +From 5d967d036c49a4d609dec979c21fc34159788008 Mon Sep 17 00:00:00 2001 +From: Neena Busireddy +Date: Mon, 30 Apr 2018 13:52:36 -0500 +Subject: [PATCH] CMakeLists.txt: Modify the library path to point to + /usr/lib/libVK.so in json files + +Signed-off-by: Neena Busireddy +--- + layers/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/layers/CMakeLists.txt b/layers/CMakeLists.txt +index 35a1b41..3af3975 100644 +--- a/layers/CMakeLists.txt ++++ b/layers/CMakeLists.txt +@@ -92,7 +92,7 @@ if(UNIX) + add_custom_target(${config_file}-staging-json ALL + COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/staging-json + COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/linux/${config_file}.json ${CMAKE_CURRENT_BINARY_DIR}/staging-json +- COMMAND sed -i -e "/\"library_path\":/s$./libVkLayer$libVkLayer$" ${CMAKE_CURRENT_BINARY_DIR}/staging-json/${config_file}.json ++ COMMAND sed -i -e "/\"library_path\":/s$./libVkLayer$$(libdir)/libVkLayer$" ${CMAKE_CURRENT_BINARY_DIR}/staging-json/${config_file}.json + VERBATIM + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/linux/${config_file}.json + ) +-- +1.9.1 + diff --git a/meta-digi-dey/recipes-graphics/vulkan/vulkan/icd_VSI.json b/meta-digi-dey/recipes-graphics/vulkan/vulkan/icd_VSI.json new file mode 100644 index 000000000..4324c71a5 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/vulkan/vulkan/icd_VSI.json @@ -0,0 +1,7 @@ +{ + "file_format_version": "1.0.0", + "ICD": { + "library_path": "/usr/lib/vulkan/libvulkan_VSI.so", + "api_version": "1.0.30" + } +} diff --git a/meta-digi-dey/recipes-graphics/vulkan/vulkan_%.bbappend b/meta-digi-dey/recipes-graphics/vulkan/vulkan_%.bbappend new file mode 100644 index 000000000..6e7c30f60 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/vulkan/vulkan_%.bbappend @@ -0,0 +1,32 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" + +SRC_URI += " \ + file://icd_VSI.json \ + file://0001-CMakeLists.txt-Modify-the-library-path-to-point-to-u.patch \ +" +# choose wayland +PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '' ,d)}" + +DEPENDS = "virtual/egl glslang spirv-tools" +RDEPENDS_${PN} += "libvulkan-imx" + +EXTRA_OECMAKE_remove = "-DBUILD_LAYERS=OFF" +# Enable validation layers +EXTRA_OECMAKE_append = " -DBUILD_LAYERS=ON" + +do_install_append () { + + install -d ${D}${sysconfdir}/vulkan/icd.d + cp ${WORKDIR}/icd_VSI.json ${D}${sysconfdir}/vulkan/icd.d + sed -i "s,/usr/lib,${libdir}," ${D}${sysconfdir}/vulkan/icd.d/icd_VSI.json + sed -i "s,1.0.30,${PV}," ${D}${sysconfdir}/vulkan/icd.d/icd_VSI.json + +# Use some vulkan headers from imx-gpu-viv + rm -rf ${D}${includedir}/vulkan/vk_* +} + +FILES_SOLIBSDEV = "" +FILES_${PN} += "${libdir}/libvulkan.so ${libdir}/libVkLayer_*.so" +INSANE_SKIP_${PN} = "dev-so" + +COMPATIBLE_MACHINE = "(mx8)" diff --git a/meta-digi-dey/recipes-graphics/waffle/waffle_%.bbappend b/meta-digi-dey/recipes-graphics/waffle/waffle_%.bbappend new file mode 100644 index 000000000..caef3a1e0 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/waffle/waffle_%.bbappend @@ -0,0 +1,7 @@ +PACKAGECONFIG_X11 = "" +PACKAGECONFIG_X11_append_imxgpu3d = " x11-egl glx" +PACKAGECONFIG_imxgpu = " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gbm wayland', \ + bb.utils.contains('DISTRO_FEATURES', 'x11', '${PACKAGECONFIG_X11}', \ + '', d), d)} \ +" diff --git a/meta-digi-dey/recipes-graphics/wayland/libinput/touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch b/meta-digi-dey/recipes-graphics/wayland/libinput/touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch new file mode 100644 index 000000000..b52b4962b --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/libinput/touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch @@ -0,0 +1,72 @@ +This is a workaround upstream suggests for use with kernel 4.1. + +Upstream-Status: Inappropriate [temporary work-around] +Signed-off-by: Jussi Kukkonen + + + +From: Peter Hutterer +Date: Mon Aug 3 18:23:12 PDT 2015 +Subject: [PATCH v3 libinput] touchpad: serial synaptics need to fake new touches on TRIPLETAP + +On the 4.1 kernels synaptics pretends to have 3 slots (the serial fw only does +2). This was added to avoid cursor jumps but has since been reverted for 4.2 +(kernel commit dbf3c37086, 4.1.3 is still buggy). In some cases a TRIPLETAP +may be triggered without slot 2 ever activating. + +While there are still those kernels out there, work around this bug by opening +a new touch point where none exists if the fake finger count exceeds the slot +count. + +Reported-by: Jan Alexander Steffens +Signed-off-by: Peter Hutterer +Tested-by: Jan Alexander Steffens +Reviewed-by: Hans de Goede +--- +Changes to v2: +- split out the handling instead of having a tmp state variable, see Hans' + comments from v2 + +Mainly sending this to the list again so I have a link to point people to. +If you're on 4.1.x add this patch to your distribution package. + + src/evdev-mt-touchpad.c | 22 ++++++++++++++++------ + 1 file changed, 16 insertions(+), 6 deletions(-) + +diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c +index a683d9a..5ef03d5 100644 +--- a/src/evdev-mt-touchpad.c ++++ b/src/evdev-mt-touchpad.c +@@ -369,13 +369,23 @@ tp_restore_synaptics_touches(struct tp_dispatch *tp, + for (i = 0; i < tp->num_slots; i++) { + struct tp_touch *t = tp_get_touch(tp, i); + +- if (t->state != TOUCH_END) ++ switch(t->state) { ++ case TOUCH_HOVERING: ++ case TOUCH_BEGIN: ++ case TOUCH_UPDATE: + continue; +- +- /* new touch, move it through begin to update immediately */ +- tp_new_touch(tp, t, time); +- tp_begin_touch(tp, t, time); +- t->state = TOUCH_UPDATE; ++ case TOUCH_NONE: ++ /* new touch, move it through to begin immediately */ ++ tp_new_touch(tp, t, time); ++ tp_begin_touch(tp, t, time); ++ break; ++ case TOUCH_END: ++ /* touch just ended ,we need need to restore it to update */ ++ tp_new_touch(tp, t, time); ++ tp_begin_touch(tp, t, time); ++ t->state = TOUCH_UPDATE; ++ break; ++ } + } + } + +-- +2.4.3 + diff --git a/meta-digi-dey/recipes-graphics/wayland/libinput_1.6.1.bb b/meta-digi-dey/recipes-graphics/wayland/libinput_1.6.1.bb new file mode 100644 index 000000000..c8714f23e --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/libinput_1.6.1.bb @@ -0,0 +1,25 @@ +SUMMARY = "Library to handle input devices in Wayland compositors" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/" +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2184aef38ff137ed33ce9a63b9d1eb8f" + +DEPENDS = "libevdev udev mtdev" + +SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \ + file://touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch \ +" +SRC_URI[md5sum] = "7e282344f8ed7ec5cf87ca9fc22674fb" +SRC_URI[sha256sum] = "9d816f13eee63bcca0e9c3bb652c52ab55f39be4d1b90b54e4bfd1dc92ef55a8" + +inherit autotools pkgconfig + +PACKAGECONFIG ??= "" +PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind" +PACKAGECONFIG[libwacom] = "--enable-libwacom,--disable-libwacom,libwacom" +PACKAGECONFIG[gui] = "--enable-event-gui,--disable-event-gui,cairo gtk+3" + +UDEVDIR = "`pkg-config --variable=udevdir udev`" + +EXTRA_OECONF += "--with-udev-dir=${UDEVDIR}" diff --git a/meta-digi-dey/recipes-graphics/wayland/wayland-protocols_1.13.bb b/meta-digi-dey/recipes-graphics/wayland/wayland-protocols_1.13.bb new file mode 100644 index 000000000..1ef1ee141 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/wayland-protocols_1.13.bb @@ -0,0 +1,20 @@ +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" + +SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ + " +SRC_URI[md5sum] = "29312149dafcd4a0e739ba94995a574d" +SRC_URI[sha256sum] = "0758bc8008d5332f431b2a84fea7de64d971ce270ed208206a098ff2ebc68f38" + +inherit allarch autotools pkgconfig + +PACKAGES = "${PN}" +FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc" diff --git a/meta-digi-dey/recipes-graphics/wayland/wayland-protocols_1.13.bbappend b/meta-digi-dey/recipes-graphics/wayland/wayland-protocols_1.13.bbappend new file mode 100644 index 000000000..3fdfa6bd6 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/wayland-protocols_1.13.bbappend @@ -0,0 +1,5 @@ +WAYLAND_PROTOCOLS_SRC ?= "git://source.codeaurora.org/external/imx/wayland-protocols-imx.git;protocol=https" +SRCBRANCH = "master" +SRC_URI = "${WAYLAND_PROTOCOLS_SRC};branch=${SRCBRANCH} " +SRCREV = "d5ded4ddaf68b161fec23d75204d2153232c3a47" +S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-graphics/wayland/wayland/fixpathinpcfiles.patch b/meta-digi-dey/recipes-graphics/wayland/wayland/fixpathinpcfiles.patch new file mode 100644 index 000000000..ad3526d98 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/wayland/fixpathinpcfiles.patch @@ -0,0 +1,32 @@ +Fix wayland-client and wayland-scanner pc files + +Upstream-Status: Pending + +Signed-off-by: Fabien Lahoudere + +Index: wayland-1.14.0/src/wayland-client.pc.in +=================================================================== +--- wayland-1.14.0.orig/src/wayland-client.pc.in ++++ wayland-1.14.0/src/wayland-client.pc.in +@@ -1,7 +1,7 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ + datarootdir=@datarootdir@ +-pkgdatadir=@datadir@/@PACKAGE@ ++pkgdatadir=${pc_sysrootdir}@datadir@/@PACKAGE@ + libdir=@libdir@ + includedir=@includedir@ + +Index: wayland-1.14.0/src/wayland-scanner.pc.in +=================================================================== +--- wayland-1.14.0.orig/src/wayland-scanner.pc.in ++++ wayland-1.14.0/src/wayland-scanner.pc.in +@@ -2,7 +2,7 @@ prefix=@prefix@ + exec_prefix=@exec_prefix@ + datarootdir=@datarootdir@ + pkgdatadir=@datadir@/@PACKAGE@ +-wayland_scanner=@bindir@/wayland-scanner ++wayland_scanner=wayland-scanner + + Name: Wayland Scanner + Description: Wayland scanner diff --git a/meta-digi-dey/recipes-graphics/wayland/wayland_1.15.0.bb b/meta-digi-dey/recipes-graphics/wayland/wayland_1.15.0.bb new file mode 100644 index 000000000..788105bff --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/wayland_1.15.0.bb @@ -0,0 +1,42 @@ +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 libxml2 libffi wayland-native" + +SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ + file://fixpathinpcfiles.patch \ + " +SRC_URI[md5sum] = "b7393c17fdce9a8d383edab656c92fd2" +SRC_URI[sha256sum] = "eb3fbebb8559d56a80ad3753ec3db800f587329067962dbf65e14488b4b7aeb0" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-documentation --with-host-scanner" +EXTRA_OECONF_class-native = "--disable-documentation --disable-libraries" + +# 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 +} + +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" diff --git a/meta-digi-dey/recipes-graphics/wayland/weston-init.bbappend b/meta-digi-dey/recipes-graphics/wayland/weston-init.bbappend new file mode 100644 index 000000000..6df4ec803 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston-init.bbappend @@ -0,0 +1,23 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +REQUIRED_DISTRO_FEATURES_remove_mx6sl = "opengl" + +SRC_URI_append = " file://profile" +SRC_URI_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd wayland x11', 'file://weston.config', '', d)}" + +HAS_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', 'no', d)}" +HAS_XWAYLAND = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland x11', 'yes', 'no', d)}" + +do_install_append() { + install -Dm0755 ${WORKDIR}/profile ${D}${sysconfdir}/profile.d/weston.sh + if [ "${HAS_SYSTEMD}" = "yes" ]; then + sed -i \ + -e 's,/usr/bin,${bindir},g' \ + -e 's,/etc,${sysconfdir},g' \ + -e 's,/var,${localstatedir},g' \ + ${D}${systemd_system_unitdir}/weston.service + if [ "${HAS_XWAYLAND}" = "yes" ]; then + install -Dm0755 ${WORKDIR}/weston.config ${D}${sysconfdir}/default/weston + fi + fi +} diff --git a/meta-digi-dey/recipes-graphics/wayland/weston-init/imxdrm/weston.config b/meta-digi-dey/recipes-graphics/wayland/weston-init/imxdrm/weston.config new file mode 100644 index 000000000..5693d6cbf --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston-init/imxdrm/weston.config @@ -0,0 +1,3 @@ +#!/bin/sh +OPTARGS="--xwayland" +DESKTOP_SHELL_WINDOW=1920x1080 diff --git a/meta-digi-dey/recipes-graphics/wayland/weston-init/init b/meta-digi-dey/recipes-graphics/wayland/weston-init/init new file mode 100644 index 000000000..b4092bb21 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston-init/init @@ -0,0 +1,51 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: weston +# Required-Start: $local_fs $remote_fs +# Required-Stop: $local_fs $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +### END INIT INFO + +if test -e /etc/default/weston ; then + . /etc/default/weston +fi + +killproc() { + pid=`/bin/pidof $1` + [ "$pid" != "" ] && kill $pid +} + +read CMDLINE < /proc/cmdline +for x in $CMDLINE; do + case $x in + weston=false) + echo "Weston disabled" + exit 0; + ;; + esac +done + +case "$1" in + start) + weston-start -- $OPTARGS + ;; + + stop) + echo "Stopping Weston" + killproc weston + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + *) + echo "usage: $0 { start | stop | restart }" + ;; +esac + +exit 0 diff --git a/meta-digi-dey/recipes-graphics/wayland/weston-init/profile b/meta-digi-dey/recipes-graphics/wayland/weston-init/profile new file mode 100644 index 000000000..d4fefbcb7 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston-init/profile @@ -0,0 +1,7 @@ +if test -z "$XDG_RUNTIME_DIR"; then + export XDG_RUNTIME_DIR=/run/user/$USER + if ! test -d "${XDG_RUNTIME_DIR}"; then + mkdir --parents "${XDG_RUNTIME_DIR}" + chmod 0700 "${XDG_RUNTIME_DIR}" + fi +fi diff --git a/meta-digi-dey/recipes-graphics/wayland/weston-init/weston-start b/meta-digi-dey/recipes-graphics/wayland/weston-init/weston-start new file mode 100755 index 000000000..880fd5771 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston-init/weston-start @@ -0,0 +1,68 @@ +#!/bin/sh +# Copyright (C) 2016 O.S. Systems Software LTDA. +# Copyright 2016 Freescale Semiconductor + +if [ "$USER" = "" ]; then + export USER=`id -un` +fi +if [ "$HOME" = "/" ]; then + export HOME=/home/$USER +fi +cd +. /etc/profile + +usage() { + cat <] [-- ] +EOF +} + +## Module support +modules_dir=@DATADIR@/weston-start + +# Add weston extra argument +add_weston_argument() { + weston_args="$weston_args $1" +} + +# Add openvt extra argument +add_openvt_argument() { + openvt_args="$openvt_args $1" +} + +if [ -n "$WAYLAND_DISPLAY" ]; then + echo "ERROR: A Wayland compositor is already running, nested Weston instance is not supported yet." + exit 1 +fi +if [ -n "$DISPLAY" ]; then + launcher="weston" +else + launcher="weston-launch --" +fi + +openvt_args="-s" +while [ -n "$1" ]; do + if [ "$1" = "--" ]; then + shift + break + fi + openvt_args="$openvt_args $1" + shift +done + +weston_args=$* + +# Load and run modules +if [ -d "$modules_dir" ]; then + for m in "$modules_dir"/*; do + # Skip backup files + if [ "`echo $m | sed -e 's/\~$//'`" != "$m" ]; then + continue + fi + + # process module + . $m + done +fi + +exec openvt $openvt_args -- $launcher $weston_args --log=@LOCALSTATEDIR@/log/weston.log diff --git a/meta-digi-dey/recipes-graphics/wayland/weston-init/weston.config b/meta-digi-dey/recipes-graphics/wayland/weston-init/weston.config new file mode 100644 index 000000000..7c92cf110 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston-init/weston.config @@ -0,0 +1,2 @@ +#!/bin/sh +OPTARGS="--xwayland" diff --git a/meta-digi-dey/recipes-graphics/wayland/weston-init/weston.service b/meta-digi-dey/recipes-graphics/wayland/weston-init/weston.service new file mode 100644 index 000000000..44c5a82f1 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston-init/weston.service @@ -0,0 +1,38 @@ +[Unit] +Description=Weston Wayland Compositor (on tty7) +RequiresMountsFor=/run +Conflicts=getty@tty7.service plymouth-quit.service +After=systemd-user-sessions.service getty@tty7.service plymouth-quit-wait.service + +[Service] +User=root +PermissionsStartOnly=true + +# Log us in via PAM so we get our XDG & co. environment and +# are treated as logged in so we can use the tty: +PAMName=login + +# Grab tty7 +UtmpIdentifier=tty7 +TTYPath=/dev/tty7 +TTYReset=yes +TTYVHangup=yes +TTYVTDisallocate=yes + +# stderr to journal so our logging doesn't get thrown into /dev/null +StandardOutput=tty +StandardInput=tty +StandardError=journal + +EnvironmentFile=-/etc/default/weston + +# Weston does not successfully change VT, nor does systemd place us on +# the VT it just activated for us. Switch manually: +ExecStartPre=/usr/bin/chvt 7 +ExecStart=/usr/bin/weston-launch -- --log=/var/log/weston.log $OPTARGS + +IgnoreSIGPIPE=no + +[Install] +WantedBy=multi-user.target + diff --git a/meta-digi-dey/recipes-graphics/wayland/weston/0001-make-error-portable.patch b/meta-digi-dey/recipes-graphics/wayland/weston/0001-make-error-portable.patch new file mode 100644 index 000000000..e2213aca6 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston/0001-make-error-portable.patch @@ -0,0 +1,70 @@ +From c22e90365d89346258394833cbcad03ff32b2e27 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 29 May 2015 20:56:00 -0700 +Subject: [PATCH weston] make error() portable + +error() is not posix but gnu extension so may not be available on all +kind of systemsi e.g. musl. + +Signed-off-by: Khem Raj +--- +Upstream-Status: Submitted + + configure.ac | 2 ++ + libweston/weston-error.h | 20 ++++++++++++++++++++ + libweston/weston-launch.c | 2 +- + 3 files changed, 23 insertions(+), 1 deletion(-) + create mode 100644 src/weston-error.h + +--- a/configure.ac ++++ b/configure.ac +@@ -60,6 +60,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[], + [[#include ]]) + AC_CHECK_HEADERS([execinfo.h]) + ++AC_CHECK_HEADERS([error.h]) ++ + AC_CHECK_FUNCS([mkostemp strchrnul initgroups posix_fallocate]) + + COMPOSITOR_MODULES="wayland-server >= $WAYLAND_PREREQ_VERSION pixman-1 >= 0.25.2" +--- /dev/null ++++ b/libweston/weston-error.h +@@ -0,0 +1,20 @@ ++#ifndef _WESTON_ERROR_H ++#define _WESTON_ERROR_H ++ ++#if defined(HAVE_ERROR_H) ++#include ++#else ++#include ++#include ++#define _weston_error(S, E, F, ...) do { \ ++ if (E) \ ++ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \ ++ else \ ++ err(S, F, ##__VA_ARGS__); \ ++} while(0) ++ ++#define error _weston_error ++#endif ++ ++#endif ++ +--- a/libweston/weston-launch.c ++++ b/libweston/weston-launch.c +@@ -33,7 +33,6 @@ + #include + #include + +-#include + #include + + #include +@@ -59,6 +58,7 @@ + #endif + + #include "weston-launch.h" ++#include "weston-error.h" + + #define DRM_MAJOR 226 + diff --git a/meta-digi-dey/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/meta-digi-dey/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch new file mode 100644 index 000000000..5bbc1ad44 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch @@ -0,0 +1,172 @@ +From 8ff6ed03ec4079f32e9b34085414e57be4730e04 Mon Sep 17 00:00:00 2001 +From: Tom Hochstein +Date: Wed, 22 Feb 2017 15:53:30 +0200 +Subject: [PATCH] weston-launch: Provide a default version that doesn't require + PAM + +weston-launch requires PAM for starting weston as a non-root user. + +Since starting weston as root is a valid use case by itself, if +PAM is not available, provide a default version of weston-launch +without non-root-user support. + +Upstream-Status: Pending + +Signed-off-by: Tom Hochstein +Signed-off-by: Jussi Kukkonen +--- + configure.ac | 9 +++++++-- + libweston/weston-launch.c | 20 ++++++++++++++++++++ + 2 files changed, 27 insertions(+), 2 deletions(-) + +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac 2018-02-08 14:04:40.807286171 -0600 ++++ git/configure.ac 2018-02-08 14:04:40.807286171 -0600 +@@ -472,13 +472,17 @@ + AS_IF([test "x$enable_resize_optimization" = "xyes"], + [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])]) + ++AC_ARG_WITH(pam, ++ AS_HELP_STRING([--with-pam], [Use PAM]), ++ [use_pam=$withval], [use_pam=yes]) + AC_ARG_ENABLE(weston-launch, [ --enable-weston-launch],, enable_weston_launch=yes) + AM_CONDITIONAL(BUILD_WESTON_LAUNCH, test x$enable_weston_launch = xyes) +-if test x$enable_weston_launch = xyes; then ++if test x$enable_weston_launch = xyes -a x$use_pam = xyes; then + WESTON_SEARCH_LIBS([PAM], [pam], [pam_open_session], [have_pam=yes], [have_pam=no]) + if test x$have_pam = xno; then +- AC_ERROR([weston-launch requires pam]) ++ AC_ERROR([PAM support is explicitly requested, but libpam couldn't be found]) + fi ++ AC_DEFINE([HAVE_PAM], [1], [Define if PAM is available]) + fi + + AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes") +@@ -744,6 +748,7 @@ + Enable developer documentation ${enable_devdocs} + + weston-launch utility ${enable_weston_launch} ++ PAM support ${use_pam} + systemd-login support ${have_systemd_login} + systemd notify support ${enable_systemd_notify} + +Index: git/libweston/weston-launch.c +=================================================================== +--- git.orig/libweston/weston-launch.c 2018-02-08 14:04:40.807286171 -0600 ++++ git/libweston/weston-launch.c 2018-02-08 14:08:10.000000000 -0600 +@@ -51,7 +51,9 @@ + + #include + #include ++#ifdef HAVE_PAM + #include ++#endif + + #ifdef HAVE_SYSTEMD_LOGIN + #include +@@ -101,8 +103,10 @@ + #endif + + struct weston_launch { ++#ifdef HAVE_PAM + struct pam_conv pc; + pam_handle_t *ph; ++#endif + int tty; + int ttynr; + int sock[2]; +@@ -189,6 +193,7 @@ + return false; + } + ++#ifdef HAVE_PAM + static int + pam_conversation_fn(int msg_count, + const struct pam_message **messages, +@@ -229,6 +234,7 @@ + + return 0; + } ++#endif + + static int + setup_launcher_socket(struct weston_launch *wl) +@@ -422,6 +428,7 @@ + close(wl->signalfd); + close(wl->sock[0]); + ++#ifdef HAVE_PAM + if (wl->new_user) { + err = pam_close_session(wl->ph, 0); + if (err) +@@ -429,6 +436,7 @@ + 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)) +@@ -608,6 +616,7 @@ + setenv("HOME", wl->pw->pw_dir, 1); + setenv("SHELL", wl->pw->pw_shell, 1); + ++#ifdef HAVE_PAM + env = pam_getenvlist(wl->ph); + if (env) { + for (i = 0; env[i]; ++i) { +@@ -616,6 +625,7 @@ + } + free(env); + } ++#endif + + /* + * We open a new session, so it makes sense +@@ -683,8 +693,10 @@ + help(const char *name) + { + fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name); ++#ifdef HAVE_PAM + fprintf(stderr, " -u, --user Start session as specified username,\n" + " e.g. -u joe, requires root.\n"); ++#endif + 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"); +@@ -698,7 +710,9 @@ + int i, c; + char *tty = NULL; + struct option opts[] = { ++#ifdef HAVE_PAM + { "user", required_argument, NULL, 'u' }, ++#endif + { "tty", required_argument, NULL, 't' }, + { "verbose", no_argument, NULL, 'v' }, + { "help", no_argument, NULL, 'h' }, +@@ -710,9 +724,13 @@ + while ((c = getopt_long(argc, argv, "u:t:vh", opts, &i)) != -1) { + switch (c) { + case 'u': ++#ifdef HAVE_PAM + wl.new_user = optarg; + if (getuid() != 0) + error(1, 0, "Permission denied. -u allowed for root only"); ++#else ++ error(1, 0, "-u is unsupported in this weston-launch build"); ++#endif + break; + case 't': + tty = optarg; +@@ -753,8 +771,10 @@ + if (setup_tty(&wl, tty) < 0) + exit(EXIT_FAILURE); + ++#ifdef HAVE_PAM + if (wl.new_user && setup_pam(&wl) < 0) + exit(EXIT_FAILURE); ++#endif + + if (setup_launcher_socket(&wl) < 0) + exit(EXIT_FAILURE); diff --git a/meta-digi-dey/recipes-graphics/wayland/weston/0001-weston.ini.in-Modify-paths-to-point-to-right-directo.patch b/meta-digi-dey/recipes-graphics/wayland/weston/0001-weston.ini.in-Modify-paths-to-point-to-right-directo.patch new file mode 100644 index 000000000..80e6dbf70 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston/0001-weston.ini.in-Modify-paths-to-point-to-right-directo.patch @@ -0,0 +1,155 @@ +From b9c05520c4ff688c6488d8ca1e1defc592449d49 Mon Sep 17 00:00:00 2001 +From: Neena Busireddy +Date: Wed, 2 May 2018 11:51:45 -0500 +Subject: [PATCH] weston.ini.in: Modify paths to point to right directories + +Signed-off-by: Neena Busireddy +--- + Makefile.am | 2 ++ + ivi-shell/weston.ini.in | 56 ++++++++++++++++++++++++------------------------- + 2 files changed, 30 insertions(+), 28 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 870e347..427cb5b 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -27,6 +27,7 @@ ivi-shell/weston.ini : $(srcdir)/ivi-shell/weston.ini.in + -e 's|@abs_top_builddir[@]|$(abs_top_builddir)|g' \ + -e 's|@abs_top_srcdir[@]|$(abs_top_srcdir)|g' \ + -e 's|@libexecdir[@]|$(libexecdir)|g' \ ++ -e 's|@datadir[@]|$(datadir)|g' \ + -e 's|@plugin_prefix[@]||g' \ + $< > $@ + +@@ -43,6 +44,7 @@ AM_CPPFLAGS = \ + -I$(top_builddir)/protocol \ + -DLIBWESTON_MODULEDIR='"$(libweston_moduledir)"' \ + -DLIBEXECDIR='"$(libexecdir)"' \ ++ -DDATADIR='"$(datadir)"' \ + -DBINDIR='"$(bindir)"' + + CLEANFILES = weston.ini \ +diff --git a/ivi-shell/weston.ini.in b/ivi-shell/weston.ini.in +index 3f11e1c..d0efd03 100644 +--- a/ivi-shell/weston.ini.in ++++ b/ivi-shell/weston.ini.in +@@ -3,7 +3,7 @@ shell=@plugin_prefix@ivi-shell.so + modules=@plugin_prefix@hmi-controller.so + + [ivi-shell] +-ivi-shell-user-interface=@abs_top_builddir@/weston-ivi-shell-user-interface ++ivi-shell-user-interface=@libexecdir@/weston-ivi-shell-user-interface + + #developermode=true + +@@ -19,20 +19,20 @@ application-layer-id=4000 + + transition-duration=300 + +-background-image=@abs_top_srcdir@/data/background.png ++background-image=@datadir@/weston/background.png + background-id=1001 +-panel-image=@abs_top_srcdir@/data/panel.png ++panel-image=@datadir@/weston/panel.png + panel-id=1002 + surface-id-offset=10 +-tiling-image=@abs_top_srcdir@/data/tiling.png ++tiling-image=@datadir@/weston/tiling.png + tiling-id=1003 +-sidebyside-image=@abs_top_srcdir@/data/sidebyside.png ++sidebyside-image=@datadir@/weston/sidebyside.png + sidebyside-id=1004 +-fullscreen-image=@abs_top_srcdir@/data/fullscreen.png ++fullscreen-image=@datadir@/weston/fullscreen.png + fullscreen-id=1005 +-random-image=@abs_top_srcdir@/data/random.png ++random-image=@datadir@/weston/random.png + random-id=1006 +-home-image=@abs_top_srcdir@/data/home.png ++home-image=@datadir@/weston/home.png + home-id=1007 + workspace-background-color=0x99000000 + workspace-background-id=2001 +@@ -43,59 +43,59 @@ path=@libexecdir@/weston-keyboard + [ivi-launcher] + workspace-id=0 + icon-id=4001 +-icon=@abs_top_srcdir@/data/icon_ivi_flower.png +-path=@abs_top_builddir@/weston-flower ++icon=@datadir@/weston/icon_ivi_flower.png ++path=@bindir@/weston-flower + + [ivi-launcher] + workspace-id=0 + icon-id=4002 +-icon=@abs_top_srcdir@/data/icon_ivi_clickdot.png +-path=@abs_top_builddir@/weston-clickdot ++icon=@datadir@/weston/icon_ivi_clickdot.png ++path=@bindir@/weston-clickdot + + [ivi-launcher] + workspace-id=1 + icon-id=4003 +-icon=@abs_top_srcdir@/data/icon_ivi_simple-egl.png +-path=@abs_top_builddir@/weston-simple-egl ++icon=@datadir@/weston/icon_ivi_simple-egl.png ++path=@bindir@/weston-simple-egl + + [ivi-launcher] + workspace-id=1 + icon-id=4004 +-icon=@abs_top_srcdir@/data/icon_ivi_simple-shm.png +-path=@abs_top_builddir@/weston-simple-shm ++icon=@datadir@/weston/icon_ivi_simple-shm.png ++path=@bindir@/weston-simple-shm + + [ivi-launcher] + workspace-id=2 + icon-id=4005 +-icon=@abs_top_srcdir@/data/icon_ivi_smoke.png +-path=@abs_top_builddir@/weston-smoke ++icon=@datadir@/weston/icon_ivi_smoke.png ++path=@bindir@/weston-smoke + + [ivi-launcher] + workspace-id=3 + icon-id=4006 +-icon=@abs_top_srcdir@/data/icon_ivi_flower.png +-path=@abs_top_builddir@/weston-flower ++icon=@datadir@/weston/icon_ivi_flower.png ++path=@bindir@/weston-flower + + [ivi-launcher] + workspace-id=3 + icon-id=4007 +-icon=@abs_top_srcdir@/data/icon_ivi_clickdot.png +-path=@abs_top_builddir@/weston-clickdot ++icon=@datadir@/weston/icon_ivi_clickdot.png ++path=@bindir@/weston-clickdot + + [ivi-launcher] + workspace-id=3 + icon-id=4008 +-icon=@abs_top_srcdir@/data/icon_ivi_simple-egl.png +-path=@abs_top_builddir@/weston-simple-egl ++icon=@datadir@/weston/icon_ivi_simple-egl.png ++path=@bindir@/weston-simple-egl + + [ivi-launcher] + workspace-id=3 + icon-id=4009 +-icon=@abs_top_srcdir@/data/icon_ivi_simple-shm.png +-path=@abs_top_builddir@/weston-simple-shm ++icon=@datadir@/weston/icon_ivi_simple-shm.png ++path=@bindir@/weston-simple-shm + + [ivi-launcher] + workspace-id=3 + icon-id=4010 +-icon=@abs_top_srcdir@/data/icon_ivi_smoke.png +-path=@abs_top_builddir@/weston-smoke ++icon=@datadir@/weston/icon_ivi_smoke.png ++path=@bindir@/weston-smoke +-- +1.9.1 + diff --git a/meta-digi-dey/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch b/meta-digi-dey/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch new file mode 100644 index 000000000..b3e1d06f5 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch @@ -0,0 +1,55 @@ +Multi-plane sub-sampled textures have partial width/height, e.g. +YUV420/I420 has a full-size Y plane, followed by a half-width/height U +plane, and a half-width/height V plane. + +zwp_linux_dmabuf_v1 allows clients to pass an explicit pitch for each +plane, but for wl_shm this must be inferred. gl-renderer was correctly +accounting for the width and height when subsampling, but the pitch was +being taken as the pitch for the first plane. + +This does not match the requirements for GStreamer's waylandsink, in +particular, as well as other clients. Fix the SHM upload path to +correctly set the pitch for each plane, according to subsampling. + +Tested with: + $ gst-launch-1.0 videotestsrc ! waylandsink + +Upstream-Status: Backport [https://patchwork.freedesktop.org/patch/180767/] + +Signed-off-by: Daniel Stone +Fixes: fdeefe42418 ("gl-renderer: add support of WL_SHM_FORMAT_YUV420") +Reported-by: Fabien Lahoudere +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103063 + +--- + libweston/gl-renderer.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libweston/gl-renderer.c b/libweston/gl-renderer.c +index 244ce309..40bf0bb6 100644 +--- a/libweston/gl-renderer.c ++++ b/libweston/gl-renderer.c +@@ -1445,14 +1445,13 @@ gl_renderer_flush_damage(struct weston_surface *surface) + goto done; + } + +- glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch); +- + if (gs->needs_full_upload) { + glPixelStorei(GL_UNPACK_SKIP_PIXELS_EXT, 0); + glPixelStorei(GL_UNPACK_SKIP_ROWS_EXT, 0); + wl_shm_buffer_begin_access(buffer->shm_buffer); + for (j = 0; j < gs->num_textures; j++) { + glBindTexture(GL_TEXTURE_2D, gs->textures[j]); ++ glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch / gs->hsub[j]); + glTexImage2D(GL_TEXTURE_2D, 0, + gs->gl_format[j], + gs->pitch / gs->hsub[j], +@@ -1477,6 +1476,7 @@ gl_renderer_flush_damage(struct weston_surface *surface) + glPixelStorei(GL_UNPACK_SKIP_ROWS_EXT, r.y1); + for (j = 0; j < gs->num_textures; j++) { + glBindTexture(GL_TEXTURE_2D, gs->textures[j]); ++ glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch / gs->hsub[j]); + glTexSubImage2D(GL_TEXTURE_2D, 0, + r.x1 / gs->hsub[j], + r.y1 / gs->vsub[j], diff --git a/meta-digi-dey/recipes-graphics/wayland/weston/weston.desktop b/meta-digi-dey/recipes-graphics/wayland/weston/weston.desktop new file mode 100644 index 000000000..1086ae8bf --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston/weston.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=Application +Name=Weston +Comment=Wayland Compostitor +Exec=weston +Icon=weston +Terminal=false +Categories=Utility; diff --git a/meta-digi-dey/recipes-graphics/wayland/weston/weston.png b/meta-digi-dey/recipes-graphics/wayland/weston/weston.png new file mode 100644 index 000000000..ea8b7e0e2 Binary files /dev/null and b/meta-digi-dey/recipes-graphics/wayland/weston/weston.png differ diff --git a/meta-digi-dey/recipes-graphics/wayland/weston/xwayland.weston-start b/meta-digi-dey/recipes-graphics/wayland/weston/xwayland.weston-start new file mode 100644 index 000000000..b483c97cf --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston/xwayland.weston-start @@ -0,0 +1,7 @@ +#!/bin/sh + +if type Xwayland >/dev/null 2>/dev/null; then + mkdir -p /tmp/.X11-unix + + add_weston_argument "--modules=xwayland.so" +fi diff --git a/meta-digi-dey/recipes-graphics/wayland/weston_4.0.0.bb b/meta-digi-dey/recipes-graphics/wayland/weston_4.0.0.bb new file mode 100644 index 000000000..a24f667f5 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston_4.0.0.bb @@ -0,0 +1,116 @@ +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=26;md5=e342df749174a8ee11065583157c7a38" + +SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ + file://weston.png \ + file://weston.desktop \ + file://0001-make-error-portable.patch \ + file://xwayland.weston-start \ + file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ + file://weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch \ + file://fix-missing-header.patch \ +" +SRC_URI[md5sum] = "33709aa4d5916f89643fca0fc0064b39" +SRC_URI[sha256sum] = "a0fc0ae7ef83dfbed12abfe9b8096a24a7dd00705e86fa0db1e619ded18b4b58" + +inherit autotools pkgconfig useradd distro_features_check +# depends on virtual/egl +REQUIRED_DISTRO_FEATURES = "opengl" + +DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg" +DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" + +EXTRA_OECONF = "--enable-setuid-install \ + --disable-rdp-compositor \ + " +EXTRA_OECONF_append_qemux86 = "\ + WESTON_NATIVE_BACKEND=fbdev-backend.so \ + " +EXTRA_OECONF_append_qemux86-64 = "\ + WESTON_NATIVE_BACKEND=fbdev-backend.so \ + " +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ + clients launch" +# +# Compositor choices +# +# Weston on KMS +PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm udev virtual/mesa mtdev" +# Weston on Wayland (nested Weston) +PACKAGECONFIG[wayland] = "--enable-wayland-compositor,--disable-wayland-compositor,virtual/mesa" +# Weston on X11 +PACKAGECONFIG[x11] = "--enable-x11-compositor,--disable-x11-compositor,virtual/libx11 libxcb libxcb libxcursor cairo" +# Headless Weston +PACKAGECONFIG[headless] = "--enable-headless-compositor,--disable-headless-compositor" +# Weston on framebuffer +PACKAGECONFIG[fbdev] = "--enable-fbdev-compositor,--disable-fbdev-compositor,udev mtdev" +# weston-launch +PACKAGECONFIG[launch] = "--enable-weston-launch,--disable-weston-launch,drm" +# VA-API desktop recorder +PACKAGECONFIG[vaapi] = "--enable-vaapi-recorder,--disable-vaapi-recorder,libva" +# Weston with EGL support +PACKAGECONFIG[egl] = "--enable-egl --enable-simple-egl-clients,--disable-egl --disable-simple-egl-clients,virtual/egl" +# Weston with cairo glesv2 support +PACKAGECONFIG[cairo-glesv2] = "--with-cairo-glesv2,--with-cairo=image,cairo" +# Weston with lcms support +PACKAGECONFIG[lcms] = "--enable-lcms,--disable-lcms,lcms" +# Weston with webp support +PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp" +# Weston with unwinding support +PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" +# Weston with systemd-login support +PACKAGECONFIG[systemd] = "--enable-systemd-login,--disable-systemd-login,systemd dbus" +# Weston with Xwayland support (requires X11 and Wayland) +PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland" +# colord CMS support +PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord" +# Clients support +PACKAGECONFIG[clients] = "--enable-clients --enable-simple-clients --enable-demo-clients-install,--disable-clients --disable-simple-clients" +# Weston with PAM support +PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam" + +do_install_append() { + # Weston doesn't need the .la files to load modules, so wipe them + rm -f ${D}/${libdir}/libweston-4/*.la + + # If X11, ship a desktop file to launch it + if [ "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '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 +} + +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \ + libweston-4 ${PN}-examples" + +FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}" + +FILES_libweston-4 = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-4/*.so" +SUMMARY_libweston-4 = "Helper library for implementing 'wayland window managers'." + +FILES_${PN}-examples = "${bindir}/*" + +FILES_${PN}-xwayland = "${libdir}/libweston-4/xwayland.so" +RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland" + +RDEPENDS_${PN} += "xkeyboard-config" +RRECOMMENDS_${PN} = "liberation-fonts" +RRECOMMENDS_${PN}-dev += "wayland-protocols" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system weston-launch" diff --git a/meta-digi-dey/recipes-graphics/wayland/weston_4.0.0.bbappend b/meta-digi-dey/recipes-graphics/wayland/weston_4.0.0.bbappend new file mode 100644 index 000000000..c1bd077a2 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/wayland/weston_4.0.0.bbappend @@ -0,0 +1,52 @@ +SUMMARY_append = " (with i.MX support)" + +DEPENDS_append_imxgpu2d = " virtual/libg2d" + +# Use i.MX fork of weston for customizations. +SRC_URI_remove = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz" +SRC_URI_remove = "file://weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch" +SRC_URI_remove = "file://fix-missing-header.patch" +SRC_URI += "file://0001-weston.ini.in-Modify-paths-to-point-to-right-directo.patch" +WESTON_SRC ?= "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https" +SRCBRANCH = "weston-imx-4.0" +SRC_URI_prepend = "${WESTON_SRC};branch=${SRCBRANCH} " +SRCREV = "a400f041e68b25da8ef9f6376d30209e43b507fb" +S = "${WORKDIR}/git" + +EXTRA_OECONF_append_imxfbdev = " WESTON_NATIVE_BACKEND=fbdev-backend.so" + +# Disable OpenGL for parts with GPU support for 2D but not 3D +IMX_REQUIRED_DISTRO_FEATURES_REMOVE = "" +IMX_REQUIRED_DISTRO_FEATURES_REMOVE_imxgpu2d = "opengl" +IMX_REQUIRED_DISTRO_FEATURES_REMOVE_imxgpu3d = "" +REQUIRED_DISTRO_FEATURES_remove = "${IMX_REQUIRED_DISTRO_FEATURES_REMOVE}" +IMX_EXTRA_OECONF_OPENGL = "" +IMX_EXTRA_OECONF_OPENGL_imxgpu2d = " --disable-opengl" +IMX_EXTRA_OECONF_OPENGL_imxgpu3d = "" +EXTRA_OECONF_append = "${IMX_EXTRA_OECONF_OPENGL}" + +# Disable G2D for parts without GPU support for 2D +IMX_EXTRA_OECONF_G2D = " --disable-imxg2d" +IMX_EXTRA_OECONF_G2D_imxgpu2d = "" +EXTRA_OECONF_append = "${IMX_EXTRA_OECONF_G2D}" + +# drm is not supported on mx6/mx7 +PACKAGECONFIG_remove_mx6 = "kms" +PACKAGECONFIG_remove_mx7 = "kms" + +PACKAGECONFIG_append_imxgpu3d = " cairo-glesv2" + +do_install_append() { + if [ "${@bb.utils.filter('BBFILE_COLLECTIONS', 'ivi', d)}" ]; then + WESTON_INI_SRC=${B}/ivi-shell/weston.ini + else + WESTON_INI_SRC=${B}/weston.ini + fi + WESTON_INI_DEST_DIR=${D}${sysconfdir}/xdg/weston + install -d ${WESTON_INI_DEST_DIR} + install -m 0644 ${WESTON_INI_SRC} ${WESTON_INI_DEST_DIR} +} + +FILES_${PN} += "${sysconfdir}/xdg/weston" + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" diff --git a/meta-digi-dey/recipes-graphics/xinput-calibrator/pointercal-xinput/ccimx8x/pointercal.xinput b/meta-digi-dey/recipes-graphics/xinput-calibrator/pointercal-xinput/ccimx8x/pointercal.xinput new file mode 100644 index 000000000..d184df50f --- /dev/null +++ b/meta-digi-dey/recipes-graphics/xinput-calibrator/pointercal-xinput/ccimx8x/pointercal.xinput @@ -0,0 +1 @@ +# Empty calibration file to avoid re-calibration diff --git a/meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/Stop-using-Git-to-write-local-version.patch b/meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imx-vivante/Stop-using-Git-to-write-local-version.patch similarity index 100% rename from meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/Stop-using-Git-to-write-local-version.patch rename to meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imx-vivante/Stop-using-Git-to-write-local-version.patch diff --git a/meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/rc.autohdmi b/meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imx-vivante/rc.autohdmi similarity index 100% rename from meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/rc.autohdmi rename to meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imx-vivante/rc.autohdmi diff --git a/meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imx-vivante_%.bbappend b/meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imx-vivante_%.bbappend new file mode 100644 index 000000000..9ec6bd0dc --- /dev/null +++ b/meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imx-vivante_%.bbappend @@ -0,0 +1,8 @@ +# Patch for MX8 DRM_VIV +RDEPENDS_${PN}_append_mx8 = " kernel-module-vivante" + +DEPENDS_remove = "virtual/libgal-x11" +DEPENDS_append = " libgal-imx" + +# Use lflags defined in the EXA makefile +EXTRA_OEMAKE_remove = "LFLAGS="${LDFLAGS}"" diff --git a/meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_6.2.2.p0.bb b/meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.2.4.p1.6.bb similarity index 52% rename from meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_6.2.2.p0.bb rename to meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.2.4.p1.6.bb index 3768064a3..931f7a765 100644 --- a/meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_6.2.2.p0.bb +++ b/meta-digi-dey/recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.2.4.p1.6.bb @@ -1,24 +1,29 @@ # Copyright (C) 2012-2016 Freescale Semiconductor # Copyright (C) 2012-2014 O.S. Systems Software LTDA. -# Copyright 2017 NXP +# Copyright 2017-2018 NXP # Released under the MIT license (see COPYING.MIT for the terms) -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - require recipes-graphics/xorg-driver/xf86-video-imxfb-vivante.inc -NXP_REPO_MIRROR ?= "nxp/" -SRCBRANCH = "${NXP_REPO_MIRROR}imx_4.9.11_1.0.0_ga" -S = "${WORKDIR}/git/" +SRCBRANCH = "imx_exa_viv6_g2d" XF86_VIDEO_IMX_VIVANTE_SRC ?= "git://source.codeaurora.org/external/imx/xf86-video-imx-vivante.git;protocol=https" -SRC_URI = "${XF86_VIDEO_IMX_VIVANTE_SRC};branch=${SRCBRANCH}" -SRC_URI +="file://rc.autohdmi" -SRCREV = "07ef065dfe09f1c05a1a188c371577faa3677a17" +SRC_URI = "${XF86_VIDEO_IMX_VIVANTE_SRC};branch=${SRCBRANCH}" +SRC_URI += "file://rc.autohdmi" +SRCREV = "946e8603ed9a52f36d305405dbb2ab8ff90943d0" -DEPENDS += "virtual/libg2d" +S = "${WORKDIR}/git/" + +DEPENDS += "virtual/libg2d pixman" + +EXTRA_OEMAKE += "SDKTARGETSYSROOT=${STAGING_DIR_HOST}" + +TARGET_CC_ARCH += "${LDFLAGS}" + +EXTRA_OEMAKE_remove = "prefix=${D}/usr" +EXTRA_OEMAKE += "prefix=${exec_prefix}" RDEPENDS_${PN}_remove = "libvivante-dri-mx6" - +RDEPENDS_${PN}_remove_mx8mq = "xserver-xorg-extension-glx" RDEPENDS_${PN}_append = " libvivante-dri-imx" COMPATIBLE_MACHINE = "(mx6|mx8|mx7ulp)" diff --git a/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xf86-config/imxdrm/xorg.conf b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xf86-config/imxdrm/xorg.conf new file mode 100644 index 000000000..ec12ed9bc --- /dev/null +++ b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xf86-config/imxdrm/xorg.conf @@ -0,0 +1,15 @@ +Section "Device" + Identifier "i.MX Accelerated DRM Device" + Driver "vivante" + Option "kmsdev" "/dev/dri/card0" +EndSection + +Section "ServerFlags" + Option "BlankTime" "0" + Option "StandbyTime" "0" + Option "SuspendTime" "0" + Option "OffTime" "0" + Option "Xinerama" "off" + Option "Clone" "on" + Option "SWcursor" "true" +EndSection diff --git a/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xf86-config/imxfbdev/xorg.conf b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xf86-config/imxfbdev/xorg.conf new file mode 100644 index 000000000..b89bed60f --- /dev/null +++ b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xf86-config/imxfbdev/xorg.conf @@ -0,0 +1,14 @@ +Section "Device" + Identifier "i.MX Accelerated Framebuffer Device" + Driver "vivante" + Option "fbdev" "/dev/fb0" + Option "vivante_fbdev" "/dev/fb0" + Option "HWcursor" "false" +EndSection + +Section "ServerFlags" + Option "BlankTime" "0" + Option "StandbyTime" "0" + Option "SuspendTime" "0" + Option "OffTime" "0" +EndSection diff --git a/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sll/xorg.conf b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sll/xorg.conf new file mode 100755 index 000000000..79b6c0fc1 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sll/xorg.conf @@ -0,0 +1,12 @@ +Section "Device" + Identifier "Kernel Framebuffer Device" + Driver "fbdev" + Option "fbdev" "/dev/fb0" +EndSection + +Section "ServerFlags" + Option "BlankTime" "0" + Option "StandbyTime" "0" + Option "SuspendTime" "0" + Option "OffTime" "0" +EndSection diff --git a/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xf86-config/mx7ulp/xorg.conf b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xf86-config/mx7ulp/xorg.conf new file mode 100755 index 000000000..de6307a3a --- /dev/null +++ b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xf86-config/mx7ulp/xorg.conf @@ -0,0 +1,15 @@ +Section "Device" + Identifier "i.MX Accelerated Framebuffer Device" + Driver "vivante" + Option "fbdev" "/dev/fb0" + Option "vivante_fbdev" "/dev/fb0" + Option "HWcursor" "false" + Option "VivCacheMem" "false" +EndSection + +Section "ServerFlags" + Option "BlankTime" "0" + Option "StandbyTime" "0" + Option "SuspendTime" "0" + Option "OffTime" "0" +EndSection diff --git a/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend new file mode 100644 index 000000000..ceb438e37 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend @@ -0,0 +1,2 @@ +# Append path for freescale layer to include bsp xorg.conf +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg/0001-glamor-Use-CFLAGS-for-EGL-and-GBM.patch b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg/0001-glamor-Use-CFLAGS-for-EGL-and-GBM.patch new file mode 100644 index 000000000..2ae278cd0 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg/0001-glamor-Use-CFLAGS-for-EGL-and-GBM.patch @@ -0,0 +1,30 @@ +From 8360595a2c350d985db38e2bc9eff5c80893d660 Mon Sep 17 00:00:00 2001 +From: Tom Hochstein +Date: Mon, 17 Jul 2017 16:44:23 -0500 +Subject: [PATCH] glamor: Use CFLAGS for EGL and GBM + +Glamor uses both EGL and GBM, so use CFLAGS for these. + +Upstream-Status: Pending + +Signed-off-by: Tom Hochstein +--- + glamor/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/glamor/Makefile.am b/glamor/Makefile.am +index 8c79994..3f0f592 100644 +--- a/glamor/Makefile.am ++++ b/glamor/Makefile.am +@@ -2,7 +2,7 @@ noinst_LTLIBRARIES = libglamor.la libglamor_egl_stubs.la + + libglamor_la_LIBADD = $(GLAMOR_LIBS) + +-AM_CFLAGS = $(CWARNFLAGS) $(DIX_CFLAGS) $(GLAMOR_CFLAGS) ++AM_CFLAGS = $(CWARNFLAGS) $(DIX_CFLAGS) $(EGL_CFLAGS) $(GBM_CFLAGS) $(GLAMOR_CFLAGS) + + libglamor_la_SOURCES = \ + glamor.c \ +-- +1.9.1 + diff --git a/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg/0002-glamor_egl-Automatically-choose-a-GLES2-context-if-d.patch b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg/0002-glamor_egl-Automatically-choose-a-GLES2-context-if-d.patch new file mode 100644 index 000000000..aae37ffad --- /dev/null +++ b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg/0002-glamor_egl-Automatically-choose-a-GLES2-context-if-d.patch @@ -0,0 +1,262 @@ +From 1c99ec67c526b21f6cde697c8efece82a7884a15 Mon Sep 17 00:00:00 2001 +From: Prabhu Sundararaj +Date: Tue, 18 Jul 2017 09:49:06 -0500 +Subject: [PATCH] glamor_egl: Automatically choose a GLES2 context if desktop + GL fails. + +Backport from xserver 1.19.x for Pyro + +GLES2 support has been requested multiple times, and we've had this +code laying around trying to implement it. The GLES2 implementation +is not quite there yet (some pixel transfer failures), but it +shouldn't take much fixing at this point. + +Upstream-Status: Inappropriate + +Reviewed-by: Adam Jackson +Signed-off-by: Eric Anholt +Signed-off-by: Prabhu Sundararaj +--- + glamor/glamor_egl.c | 143 ++++++++++++++++++++++++++-------------------------- + 1 file changed, 71 insertions(+), 72 deletions(-) + +diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c +index 4bde637..d6fd9c5 100644 +--- a/glamor/glamor_egl.c ++++ b/glamor/glamor_egl.c +@@ -73,7 +73,7 @@ struct glamor_egl_screen_private { + #endif + int has_gem; + int gl_context_depth; +- int dri3_capable; ++ + + CloseScreenProcPtr saved_close_screen; + DestroyPixmapProcPtr saved_destroy_pixmap; +@@ -307,7 +307,7 @@ glamor_egl_create_textured_pixmap_from_gbm_bo(PixmapPtr pixmap, + glamor_make_current(glamor_priv); + + image = eglCreateImageKHR(glamor_egl->display, +- glamor_egl->context, ++ EGL_NO_CONTEXT, + EGL_NATIVE_PIXMAP_KHR, bo, NULL); + if (image == EGL_NO_IMAGE_KHR) { + glamor_set_pixmap_type(pixmap, GLAMOR_DRM_ONLY); +@@ -447,6 +447,7 @@ glamor_egl_dri3_fd_name_from_tex(ScreenPtr screen, + glamor_get_name_from_bo(glamor_egl->fd, bo, &fd); + } + else { ++ /*fixed from Xserver 1.19.x*/ + fd = gbm_bo_get_fd(bo); + } + *stride = pixmap->devKind; +@@ -477,9 +478,6 @@ glamor_back_pixmap_from_fd(PixmapPtr pixmap, + + glamor_egl = glamor_egl_get_screen_private(scrn); + +- if (!glamor_egl->dri3_capable) +- return FALSE; +- + if (bpp != 32 || !(depth == 24 || depth == 32) || width == 0 || height == 0) + return FALSE; + +@@ -669,7 +667,7 @@ glamor_egl_screen_init(ScreenPtr screen, struct glamor_context *glamor_ctx) + glamor_ctx->make_current = glamor_egl_make_current; + + #ifdef DRI3 +- if (glamor_egl->dri3_capable) { ++ { + glamor_screen_private *glamor_priv = glamor_get_screen_private(screen); + /* Tell the core that we have the interfaces for import/export + * of pixmaps. +@@ -733,25 +731,8 @@ Bool + glamor_egl_init(ScrnInfoPtr scrn, int fd) + { + struct glamor_egl_screen_private *glamor_egl; +- const char *version; + +- EGLint config_attribs[] = { +-#ifdef GLAMOR_GLES2 +- EGL_CONTEXT_CLIENT_VERSION, 2, +-#endif +- EGL_NONE +- }; +- static const EGLint config_attribs_core[] = { +- EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR, +- EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR, +- EGL_CONTEXT_MAJOR_VERSION_KHR, +- GLAMOR_GL_CORE_VER_MAJOR, +- EGL_CONTEXT_MINOR_VERSION_KHR, +- GLAMOR_GL_CORE_VER_MINOR, +- EGL_NONE +- }; + +- glamor_identify(0); + glamor_egl = calloc(sizeof(*glamor_egl), 1); + if (glamor_egl == NULL) + return FALSE; +@@ -760,41 +741,26 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) + + scrn->privates[xf86GlamorEGLPrivateIndex].ptr = glamor_egl; + glamor_egl->fd = fd; +-#ifdef GLAMOR_HAS_GBM ++ + glamor_egl->gbm = gbm_create_device(glamor_egl->fd); + if (glamor_egl->gbm == NULL) { + ErrorF("couldn't get display device\n"); + goto error; + } + +- glamor_egl->display = glamor_egl_get_display(EGL_PLATFORM_GBM_MESA, +- glamor_egl->gbm); ++ glamor_egl->display = eglGetPlatformDisplayEXT(EGL_PLATFORM_GBM_KHR, glamor_egl->gbm, NULL); + if (!glamor_egl->display) { + xf86DrvMsg(scrn->scrnIndex, X_ERROR, "eglGetDisplay() failed\n"); + goto error; + } +-#else +- glamor_egl->display = eglGetDisplay((EGLNativeDisplayType) (intptr_t) fd); +-#endif + +- glamor_egl->has_gem = glamor_egl_check_has_gem(fd); ++ if (!eglInitialize(glamor_egl->display, NULL, NULL)) { + +- if (!eglInitialize +- (glamor_egl->display, &glamor_egl->major, &glamor_egl->minor)) { + xf86DrvMsg(scrn->scrnIndex, X_ERROR, "eglInitialize() failed\n"); + glamor_egl->display = EGL_NO_DISPLAY; + goto error; + } + +-#ifndef GLAMOR_GLES2 +- eglBindAPI(EGL_OPENGL_API); +-#else +- eglBindAPI(EGL_OPENGL_ES_API); +-#endif +- +- version = eglQueryString(glamor_egl->display, EGL_VERSION); +- xf86Msg(X_INFO, "%s: EGL version %s:\n", glamor_name, version); +- + #define GLAMOR_CHECK_EGL_EXTENSION(EXT) \ + if (!epoxy_has_egl_extension(glamor_egl->display, "EGL_" #EXT)) { \ + ErrorF("EGL_" #EXT " required.\n"); \ +@@ -808,30 +774,66 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) + goto error; \ + } + +- GLAMOR_CHECK_EGL_EXTENSION(MESA_drm_image); +- GLAMOR_CHECK_EGL_EXTENSION(KHR_gl_renderbuffer_image); +-#ifdef GLAMOR_GLES2 +- GLAMOR_CHECK_EGL_EXTENSIONS(KHR_surfaceless_context, KHR_surfaceless_gles2); +-#else +- GLAMOR_CHECK_EGL_EXTENSIONS(KHR_surfaceless_context, +- KHR_surfaceless_opengl); +-#endif ++ GLAMOR_CHECK_EGL_EXTENSION(KHR_surfaceless_context); ++ ++ if (eglBindAPI(EGL_OPENGL_API)) { ++ static const EGLint config_attribs_core[] = { ++ EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR, ++ EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR, ++ EGL_CONTEXT_MAJOR_VERSION_KHR, ++ GLAMOR_GL_CORE_VER_MAJOR, ++ EGL_CONTEXT_MINOR_VERSION_KHR, ++ GLAMOR_GL_CORE_VER_MINOR, ++ EGL_NONE ++ }; ++ static const EGLint config_attribs[] = { ++ EGL_NONE ++ }; + +-#ifndef GLAMOR_GLES2 +- glamor_egl->context = eglCreateContext(glamor_egl->display, +- NULL, EGL_NO_CONTEXT, +- config_attribs_core); +-#else +- glamor_egl->context = NULL; +-#endif +- if (!glamor_egl->context) { + glamor_egl->context = eglCreateContext(glamor_egl->display, + NULL, EGL_NO_CONTEXT, +- config_attribs); +- if (glamor_egl->context == EGL_NO_CONTEXT) { +- xf86DrvMsg(scrn->scrnIndex, X_ERROR, "Failed to create EGL context\n"); ++ config_attribs_core); ++ ++ ++ if (glamor_egl->context == EGL_NO_CONTEXT) ++ glamor_egl->context = eglCreateContext(glamor_egl->display, ++ NULL, EGL_NO_CONTEXT, ++ config_attribs); ++ } ++ if (glamor_egl->context == EGL_NO_CONTEXT) { ++ static const EGLint context_attribs[] = { ++ EGL_CONTEXT_CLIENT_VERSION, 2, ++ EGL_NONE ++ }; ++ EGLint numconfigs; ++ EGLBoolean ret; ++ EGLConfig eglConfig; ++ static const EGLint config_attribs[] = { ++ EGL_SURFACE_TYPE, EGL_WINDOW_BIT, ++ EGL_RED_SIZE, 1, ++ EGL_GREEN_SIZE, 1, ++ EGL_BLUE_SIZE, 1, ++ EGL_ALPHA_SIZE, 1, ++ EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, ++ EGL_NONE ++ }; ++ ++ if (!eglBindAPI(EGL_OPENGL_ES_API)) { ++ xf86DrvMsg(scrn->scrnIndex, X_ERROR, ++ "glamor: Failed to bind either GL or GLES APIs.\n"); + goto error; + } ++ ++ ret = eglChooseConfig(glamor_egl->display, config_attribs, &eglConfig, 1, &numconfigs); ++ ++ glamor_egl->context = eglCreateContext(glamor_egl->display, ++ eglConfig, EGL_NO_CONTEXT, ++ context_attribs); ++ } ++ if (glamor_egl->context == EGL_NO_CONTEXT) { ++ xf86DrvMsg(scrn->scrnIndex, X_ERROR, ++ "glamor: Failed to create GL or GLES2 contexts\n"); ++ goto error; + } + + if (!eglMakeCurrent(glamor_egl->display, +@@ -845,21 +847,18 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) + * (in case of multiple GPUs using glamor) + */ + lastGLContext = NULL; +-#ifdef GLAMOR_HAS_GBM +- if (epoxy_has_egl_extension(glamor_egl->display, +- "EGL_KHR_gl_texture_2D_image") && +- epoxy_has_gl_extension("GL_OES_EGL_image")) +- glamor_egl->dri3_capable = TRUE; +-#endif ++ ++ if (!epoxy_has_gl_extension("GL_OES_EGL_image")) { ++ xf86DrvMsg(scrn->scrnIndex, X_ERROR, ++ "glamor acceleration requires GL_OES_EGL_image\n"); ++ goto error; ++ } ++ ++ xf86DrvMsg(scrn->scrnIndex, X_INFO, "glamor X acceleration enabled on %s\n", ++ glGetString(GL_RENDERER)); + + glamor_egl->saved_free_screen = scrn->FreeScreen; + scrn->FreeScreen = glamor_egl_free_screen; +-#ifdef GLAMOR_GLES2 +- xf86DrvMsg(scrn->scrnIndex, X_INFO, "Using GLES2.\n"); +- xf86DrvMsg(scrn->scrnIndex, X_WARNING, +- "Glamor is using GLES2 but GLX needs GL. " +- "Indirect GLX may not work correctly.\n"); +-#endif + return TRUE; + + error: +-- +2.7.4 + diff --git a/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend new file mode 100644 index 000000000..c56d27d0d --- /dev/null +++ b/meta-digi-dey/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend @@ -0,0 +1,11 @@ +# REPLACE meta-nxp-mx8 +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" + +SRC_URI += "file://0001-glamor-Use-CFLAGS-for-EGL-and-GBM.patch \ + file://0002-glamor_egl-Automatically-choose-a-GLES2-context-if-d.patch" +SRC_URI_remove = "file://0002-configure.ac-Fix-wayland-scanner-and-protocols-locat.patch" + +PACKAGECONFIG_append_mx8 = " glamor" +PACKAGECONFIG_append_imxgpu = " dri3 xshmfence dri glx" + +EXTRA_OECONF_remove = "WAYLAND_PROTOCOLS_SYSROOT_DIR=${RECIPE_SYSROOT}" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav/0002-gst-libs-Remove-library-path-switch-from-dependency_.patch b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav/0002-gst-libs-Remove-library-path-switch-from-dependency_.patch new file mode 100644 index 000000000..1a8ea8f66 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav/0002-gst-libs-Remove-library-path-switch-from-dependency_.patch @@ -0,0 +1,36 @@ +From 8e976b60a7f11d9f8ed981ea9a3245220cd2a7dd Mon Sep 17 00:00:00 2001 +From: Yuqing Zhu +Date: Mon, 23 Apr 2018 23:28:09 +0800 +Subject: [PATCH] gst-libs: Remove library path switch from dependency_libs + line + +Yocto complains because it sees a -L/usr/lib path being used. Apparently, +GCC internally translates this path by appending the sysroot path, so +it isn't actually pointing towards the host's libraries. Still, remove +the -L switch for Yocto, since it isn't needed for the build. + +Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=794621] + +Do update base on commit: 1c00bca0f73d09bfd5d16b1c40f318bff78f3bdb + +Signed-off-by: Yuqing Zhu +--- + gst-libs/ext/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gst-libs/ext/Makefile.am b/gst-libs/ext/Makefile.am +index 6cdc048..f45e71f 100644 +--- a/gst-libs/ext/Makefile.am ++++ b/gst-libs/ext/Makefile.am +@@ -49,7 +49,7 @@ echo " GEN $1.la" && \ + echo "library_names=''" && \ + echo "old_library='$1.a'" && \ + echo "inherited_linker_flags=''" && \ +- echo "dependency_libs=' -L$(libdir) $(if $2,$(foreach dep,$2,$(abs_builddir)/$(dep).la)) $(call find_library_la,$3 $(LIBM),$(LDFLAGS)) '" && \ ++ echo "dependency_libs=' $(if $2,$(foreach dep,$2,$(abs_builddir)/$(dep).la)) $(call find_library_la,$3 $(LIBM),$(LDFLAGS)) '" && \ + echo "weak_library_names=''" && \ + echo "current=" && \ + echo "age=" && \ +-- +2.7.4 + diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav/0002-gstavcodecmap-Do-not-require-a-channel-mask.patch b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav/0002-gstavcodecmap-Do-not-require-a-channel-mask.patch deleted file mode 100644 index b499d213e..000000000 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav/0002-gstavcodecmap-Do-not-require-a-channel-mask.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 1553cc0f1843213801767dedb973e30db2d23855 Mon Sep 17 00:00:00 2001 -From: Mathieu Duponchelle -Date: Thu, 17 Aug 2017 14:28:22 +0200 -Subject: [PATCH] gstavcodecmap: Do not require a channel-mask - -.. for mono or stereo input. - -Upstream-Status: Backport [1.13.1] - -https://bugzilla.gnome.org/show_bug.cgi?id=786401 ---- - ext/libav/gstavcodecmap.c | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) - -diff --git a/ext/libav/gstavcodecmap.c b/ext/libav/gstavcodecmap.c -index 35a2ca0..7033f54 100644 ---- a/ext/libav/gstavcodecmap.c -+++ b/ext/libav/gstavcodecmap.c -@@ -651,12 +651,19 @@ gst_ff_aud_caps_new (AVCodecContext * context, AVCodec * codec, - - if (gst_audio_channel_positions_to_mask (pos, nbits_set, FALSE, - &mask)) { -- GstCaps *tmp = -- gst_caps_new_simple (mimetype, "channel-mask", GST_TYPE_BITMASK, -- mask, -- "channels", G_TYPE_INT, nbits_set, NULL); -+ GstStructure *s = -+ gst_structure_new (mimetype, "channels", G_TYPE_INT, nbits_set, -+ NULL); -+ -+ /* No need to require a channel mask for mono or stereo */ -+ if (!(nbits_set == 1 && pos[0] == GST_AUDIO_CHANNEL_POSITION_MONO) -+ && !(nbits_set == 2 -+ && pos[0] == GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT -+ && pos[1] == GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT)) -+ gst_structure_set (s, "channel-mask", GST_TYPE_BITMASK, mask, -+ NULL); - -- gst_caps_append (caps, tmp); -+ gst_caps_append_structure (caps, s); - } - } - layouts++; --- -1.9.1 - diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.12.%.bbappend b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.12.%.bbappend deleted file mode 100644 index b51d88be1..000000000 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.12.%.bbappend +++ /dev/null @@ -1,8 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -SRC_URI_IMX_PATCHES = " \ - file://0002-gstavcodecmap-Do-not-require-a-channel-mask.patch \ -" - -SRC_URI_append_mx6 = "${SRC_URI_IMX_PATCHES}" -SRC_URI_append_mx7 = "${SRC_URI_IMX_PATCHES}" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.0.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.0.bb new file mode 100644 index 000000000..54771a1ab --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.0.bb @@ -0,0 +1,29 @@ +require recipes-multimedia/gstreamer/gstreamer1.0-libav.inc + +# Re-use patch files from 1.12.2 recipe +FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files:" +FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav:" +# The following PATH has highest priority +# Implement patch overwrite, using the updated patch under this PATH, instead of the 1.12.2 ones +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \ + file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \ + file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ + file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \ + file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" + +SRC_URI = "http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \ + file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \ + file://workaround-to-build-gst-libav-for-i586-with-gcc.patch \ + file://mips64_cpu_detection.patch \ + file://0001-configure-check-for-armv7ve-variant.patch \ + file://0002-gst-libs-Remove-library-path-switch-from-dependency_.patch \ +" + +SRC_URI[md5sum] = "943045b9e937ffc5c6cfa0bd5c44230d" +SRC_URI[sha256sum] = "fb134b4d3e054746ef8b922ff157b0c7903d1fdd910708a45add66954da7ef89" + +S = "${WORKDIR}/gst-libav-${PV}" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch new file mode 100644 index 000000000..355341e4d --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch @@ -0,0 +1,45 @@ +From c890afb8a542a272acb398e8fc289b790afa08e4 Mon Sep 17 00:00:00 2001 +From: Yuqing Zhu +Date: Sat, 21 Apr 2018 00:51:12 +0800 +Subject: [PATCH] Makefile.am: don't hardcode libtool name when running + introspection tools + +Do refine base on commit: 7592e793b3906355d76ca9a59f8fea2749ea2a4e + +Upstream-Status: Pending [review on oe-core list] + +Signed-off-by: Yuqing Zhu +--- + gst-libs/gst/insertbin/Makefile.am | 2 +- + gst-libs/gst/mpegts/Makefile.am | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gst-libs/gst/insertbin/Makefile.am b/gst-libs/gst/insertbin/Makefile.am +index 1f8ea30..4b98ef6 100644 +--- a/gst-libs/gst/insertbin/Makefile.am ++++ b/gst-libs/gst/insertbin/Makefile.am +@@ -45,7 +45,7 @@ GstInsertBin-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstinsertbin-@GS + --library=libgstinsertbin-@GST_API_VERSION@.la \ + --include=Gst-@GST_API_VERSION@ \ + --include=GstBase-@GST_API_VERSION@ \ +- --libtool="$(top_builddir)/libtool" \ ++ --libtool="$(LIBTOOL)" \ + --pkg gstreamer-@GST_API_VERSION@ \ + --pkg gstreamer-base-@GST_API_VERSION@ \ + --pkg-export gstreamer-insertbin-@GST_API_VERSION@ \ +diff --git a/gst-libs/gst/mpegts/Makefile.am b/gst-libs/gst/mpegts/Makefile.am +index f264e33..9934a4d 100644 +--- a/gst-libs/gst/mpegts/Makefile.am ++++ b/gst-libs/gst/mpegts/Makefile.am +@@ -82,7 +82,7 @@ GstMpegts-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstmpegts-@GST_API_ + --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-video-@GST_API_VERSION@` \ + --library=libgstmpegts-@GST_API_VERSION@.la \ + --include=Gst-@GST_API_VERSION@ \ +- --libtool="$(top_builddir)/libtool" \ ++ --libtool="$(LIBTOOL)" \ + --pkg gstreamer-@GST_API_VERSION@ \ + --pkg gstreamer-video-@GST_API_VERSION@ \ + --pkg-export gstreamer-mpegts-@GST_API_VERSION@ \ +-- +2.7.4 + diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.12.%.bbappend b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.12.%.bbappend deleted file mode 100644 index da16b5774..000000000 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.12.%.bbappend +++ /dev/null @@ -1,54 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -DEPENDS_append_imxgpu2d = " virtual/libg2d" -DEPENDS_append_mx7ulp = " libdrm" - -PACKAGECONFIG_GL_imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)}" -PACKAGECONFIG_GL_imxgpu3d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)}" - -PACKAGECONFIG_append_mx6q = " opencv" -PACKAGECONFIG_append_mx6qp = " opencv" -PACKAGECONFIG_append_mx8 = " opencv kms" -PACKAGECONFIG_remove_mx6sl = " gles2" - -#revert poky fido commit:cdc2c8aeaa96b07dfc431a4cf0bf51ef7f8802a3: move EGL to Wayland -PACKAGECONFIG[gles2] = "--enable-gles2 --enable-egl,--disable-gles2 --disable-egl,virtual/libgles2 virtual/egl" -PACKAGECONFIG[wayland] = "--enable-wayland --disable-x11,--disable-wayland,wayland-native wayland wayland-protocols libdrm" - -# Disable introspection to fix [GstGL-1.0.gir] Error -EXTRA_OECONF_append = " --disable-introspection" - -EXTRA_OECONF_remove = " --disable-sdl --disable-nas --disable-libvisual --disable-xvid --disable-mimic \ - --disable-pvr --disable-sdltest --disable-wininet --disable-timidity \ - --disable-linsys --disable-sndio --disable-apexsink \ -" -# Use i.MX fork of GST for customizations -SRC_URI_remove_imx = " \ - http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ -" - -GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https" -SRCBRANCH = "MM_04.03.05_1804_L4.9.88_MX7ULP_GA" - -SRC_URI_append_imx = " \ - ${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} \ -" - -SRCREV_imx = "3bf09ef9cda8220b53459b45fe5384a99a7b1c6b" - -# This remove "--exclude=autopoint" option from autoreconf argument to avoid -# configure.ac:30: error: required file './ABOUT-NLS' not found -EXTRA_AUTORECONF = "" - -# include fragment shaders -FILES_${PN}-opengl += "/usr/share/*.fs" - -PACKAGE_ARCH_imxpxp = "${MACHINE_SOCARCH}" -PACKAGE_ARCH_mx8 = "${MACHINE_SOCARCH}" - -# Fix libgstbadion-1.0.so.0 which is under built directory cannot be found -do_compile_prepend () { - export GIR_EXTRA_LIBS_PATH="${B}/gst-libs/gst/ion/.libs" -} - -S_imx = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.imx.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.imx.bb new file mode 100644 index 000000000..4e18c9d15 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.imx.bb @@ -0,0 +1,63 @@ +require recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc + +# Re-use patch files from 1.12.2 recipe +FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files:" +FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad:" +# The following PATH has highest priority +# Implement patch overwrite, using the updated patch under this PATH, instead of the 1.12.2 ones +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \ + file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 " + +DEPENDS_append_imxgpu2d = " virtual/libg2d" +DEPENDS_append_mx8 = " libdrm" + +PACKAGECONFIG_append_mx6q = " opencv" +PACKAGECONFIG_append_mx6qp = " opencv" +PACKAGECONFIG_append_mx8 = " opencv kms" + +#Remove unrecognised configure option for 1.14 +PACKAGECONFIG_remove = " gles2" + +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm" + +# Disable introspection to fix [GstGL-1.0.gir] Error +EXTRA_OECONF_append = " --disable-introspection" + +EXTRA_OECONF_remove = " --disable-sdl --disable-nas --disable-libvisual --disable-xvid --disable-mimic \ + --disable-pvr --disable-sdltest --disable-wininet --disable-timidity \ + --disable-linsys --disable-sndio --disable-apexsink \ + --disable-libssh2 --disable-qt --disable-schro --disable-cocoa --disable-gtk3 \ + --enable-egl --disable-opengl --disable-gles2 \ +" + +SRC_URI_remove = "file://0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch" + +EXTRA_OECONF_remove = "WAYLAND_PROTOCOLS_SYSROOT_DIR=${RECIPE_SYSROOT}" + +GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https" +SRCBRANCH = "MM_04.04.00_1805_L4.9.88_MX8QXP_BETA2" + +SRC_URI = " \ + ${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} \ +" + +SRCREV = "07ad0bb676a16c2dffb0f0e415a873f0924cfdc0" + +# This remove "--exclude=autopoint" option from autoreconf argument to avoid +# configure.ac:30: error: required file './ABOUT-NLS' not found +EXTRA_AUTORECONF = "" + +PACKAGE_ARCH_imxpxp = "${MACHINE_SOCARCH}" +PACKAGE_ARCH_mx8 = "${MACHINE_SOCARCH}" + +# Fix libgstbadion-1.0.so.0 which is under built directory cannot be found +do_compile_prepend () { + export GIR_EXTRA_LIBS_PATH="${B}/gst-libs/gst/ion/.libs" +} + +PV = "1.14.0.imx" + +S = "${WORKDIR}/git" + diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch new file mode 100644 index 000000000..a1cc7d3dc --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch @@ -0,0 +1,171 @@ +From a049bb15839557594713cb32e7d6bfe0e2127392 Mon Sep 17 00:00:00 2001 +From: Yuqing Zhu +Date: Fri, 20 Apr 2018 22:46:46 +0800 +Subject: [PATCH] Makefile.am: don't hardcode libtool name when running + introspection tools + +Do patch refine basing on commit: f1d9652351e7754c63003104eceb526af424c7e0 + +Upstream-Status: Pending [review on oe-core maillist] + +Signed-off-by: Yuqing Zhu +--- + gst-libs/gst/allocators/Makefile.am | 2 +- + gst-libs/gst/app/Makefile.am | 2 +- + gst-libs/gst/audio/Makefile.am | 2 +- + gst-libs/gst/gl/Makefile.am | 2 +- + gst-libs/gst/pbutils/Makefile.am | 2 +- + gst-libs/gst/riff/Makefile.am | 2 +- + gst-libs/gst/rtp/Makefile.am | 2 +- + gst-libs/gst/rtsp/Makefile.am | 2 +- + gst-libs/gst/sdp/Makefile.am | 2 +- + gst-libs/gst/tag/Makefile.am | 2 +- + gst-libs/gst/video/Makefile.am | 2 +- + 11 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/gst-libs/gst/allocators/Makefile.am b/gst-libs/gst/allocators/Makefile.am +index 0edc0ae..d0d425d 100644 +--- a/gst-libs/gst/allocators/Makefile.am ++++ b/gst-libs/gst/allocators/Makefile.am +@@ -58,7 +58,7 @@ GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@ + --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ + --library=libgstallocators-@GST_API_VERSION@.la \ + --include=Gst-@GST_API_VERSION@ \ +- --libtool="$(top_builddir)/libtool" \ ++ --libtool="$(LIBTOOL)" \ + --pkg gstreamer-@GST_API_VERSION@ \ + --pkg-export gstreamer-allocators-@GST_API_VERSION@ \ + --output $@ \ +diff --git a/gst-libs/gst/app/Makefile.am b/gst-libs/gst/app/Makefile.am +index 52f6ad3..5bfd606 100644 +--- a/gst-libs/gst/app/Makefile.am ++++ b/gst-libs/gst/app/Makefile.am +@@ -56,7 +56,7 @@ GstApp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstapp-@GST_API_VERSIO + --library=libgstapp-@GST_API_VERSION@.la \ + --include=Gst-@GST_API_VERSION@ \ + --include=GstBase-@GST_API_VERSION@ \ +- --libtool="$(top_builddir)/libtool" \ ++ --libtool="$(LIBTOOL)" \ + --pkg gstreamer-@GST_API_VERSION@ \ + --pkg gstreamer-base-@GST_API_VERSION@ \ + --pkg-export gstreamer-app-@GST_API_VERSION@ \ +diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am +index 2922245..7fb65f2 100644 +--- a/gst-libs/gst/audio/Makefile.am ++++ b/gst-libs/gst/audio/Makefile.am +@@ -184,7 +184,7 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE + --include=Gst-@GST_API_VERSION@ \ + --include=GstBase-@GST_API_VERSION@ \ + --include=GstTag-@GST_API_VERSION@ \ +- --libtool="$(top_builddir)/libtool" \ ++ --libtool="$(LIBTOOL)" \ + --pkg gstreamer-@GST_API_VERSION@ \ + --pkg gstreamer-base-@GST_API_VERSION@ \ + --pkg-export gstreamer-audio-@GST_API_VERSION@ \ +diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am +index b04187f..576bf1c 100644 +--- a/gst-libs/gst/gl/Makefile.am ++++ b/gst-libs/gst/gl/Makefile.am +@@ -205,7 +205,7 @@ GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@ + --include=Gst-@GST_API_VERSION@ \ + --include=GstBase-@GST_API_VERSION@ \ + --include=GstVideo-@GST_API_VERSION@ \ +- --libtool="$(top_builddir)/libtool" \ ++ --libtool="$(LIBTOOL)" \ + --pkg gstreamer-@GST_API_VERSION@ \ + --pkg gstreamer-base-@GST_API_VERSION@ \ + --pkg gstreamer-video-@GST_API_VERSION@ \ +diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am +index ae51993..35a6e44 100644 +--- a/gst-libs/gst/pbutils/Makefile.am ++++ b/gst-libs/gst/pbutils/Makefile.am +@@ -103,7 +103,7 @@ GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@GST_AP + --include=GstTag-@GST_API_VERSION@ \ + --include=GstVideo-@GST_API_VERSION@ \ + --include=GstAudio-@GST_API_VERSION@ \ +- --libtool="$(top_builddir)/libtool" \ ++ --libtool="$(LIBTOOL)" \ + --pkg gstreamer-@GST_API_VERSION@ \ + --pkg gstreamer-tag-@GST_API_VERSION@ \ + --pkg gstreamer-video-@GST_API_VERSION@ \ +diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am +index fb53f06..e66ef4f 100644 +--- a/gst-libs/gst/riff/Makefile.am ++++ b/gst-libs/gst/riff/Makefile.am +@@ -49,7 +49,7 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) + # --include=GstAudio-@GST_API_VERSION@ \ + # --include=GstTag-@GST_API_VERSION@ \ + # --include=Gst-@GST_API_VERSION@ \ +-# --libtool="$(top_builddir)/libtool" \ ++# --libtool="$(LIBTOOL)" \ + # --pkg gstreamer-@GST_API_VERSION@ \ + # --pkg gstreamer-tag-@GST_API_VERSION@ \ + # --pkg gstreamer-audio-@GST_API_VERSION@ \ +diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am +index a6f971d..77ebeeb 100644 +--- a/gst-libs/gst/rtp/Makefile.am ++++ b/gst-libs/gst/rtp/Makefile.am +@@ -69,7 +69,7 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO + --library=libgstrtp-@GST_API_VERSION@.la \ + --include=Gst-@GST_API_VERSION@ \ + --include=GstBase-@GST_API_VERSION@ \ +- --libtool="$(top_builddir)/libtool" \ ++ --libtool="$(LIBTOOL)" \ + --pkg gstreamer-@GST_API_VERSION@ \ + --pkg gstreamer-base-@GST_API_VERSION@ \ + --pkg-export gstreamer-rtp-@GST_API_VERSION@ \ +diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am +index ceb07f4..db9d0fd 100644 +--- a/gst-libs/gst/rtsp/Makefile.am ++++ b/gst-libs/gst/rtsp/Makefile.am +@@ -76,7 +76,7 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS + --include=Gio-2.0 \ + --include=Gst-@GST_API_VERSION@ \ + --include=GstSdp-@GST_API_VERSION@ \ +- --libtool="$(top_builddir)/libtool" \ ++ --libtool="$(LIBTOOL)" \ + --pkg gio-2.0 \ + --pkg gstreamer-@GST_API_VERSION@ \ + --pkg gstreamer-sdp-@GST_API_VERSION@ \ +diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am +index e197e9b..6e05cc7 100644 +--- a/gst-libs/gst/sdp/Makefile.am ++++ b/gst-libs/gst/sdp/Makefile.am +@@ -34,7 +34,7 @@ GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@GST_API_VERSIO + --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ + --library=libgstsdp-@GST_API_VERSION@.la \ + --include=Gst-@GST_API_VERSION@ \ +- --libtool="$(top_builddir)/libtool" \ ++ --libtool="$(LIBTOOL)" \ + --pkg gstreamer-@GST_API_VERSION@ \ + --pkg-export gstreamer-sdp-@GST_API_VERSION@ \ + --output $@ \ +diff --git a/gst-libs/gst/tag/Makefile.am b/gst-libs/gst/tag/Makefile.am +index 0247c33..c86515b 100644 +--- a/gst-libs/gst/tag/Makefile.am ++++ b/gst-libs/gst/tag/Makefile.am +@@ -66,7 +66,7 @@ GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@GST_API_VERSIO + --library=libgsttag-@GST_API_VERSION@.la \ + --include=Gst-@GST_API_VERSION@ \ + --include=GstBase-@GST_API_VERSION@ \ +- --libtool="$(top_builddir)/libtool" \ ++ --libtool="$(LIBTOOL)" \ + --pkg gstreamer-@GST_API_VERSION@ \ + --pkg gstreamer-base-@GST_API_VERSION@ \ + --pkg-export gstreamer-tag-@GST_API_VERSION@ \ +diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am +index 1b74f37..0f7c07e 100644 +--- a/gst-libs/gst/video/Makefile.am ++++ b/gst-libs/gst/video/Makefile.am +@@ -126,7 +126,7 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE + --library=libgstvideo-@GST_API_VERSION@.la \ + --include=Gst-@GST_API_VERSION@ \ + --include=GstBase-@GST_API_VERSION@ \ +- --libtool="$(top_builddir)/libtool" \ ++ --libtool="$(LIBTOOL)" \ + --pkg gstreamer-@GST_API_VERSION@ \ + --pkg gstreamer-base-@GST_API_VERSION@ \ + --pkg-export gstreamer-video-@GST_API_VERSION@ \ +-- +2.7.4 + diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch new file mode 100644 index 000000000..4b6cfdd69 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch @@ -0,0 +1,289 @@ +From e3f28d15e38f7633d8ed4023fe883b8377c0597e Mon Sep 17 00:00:00 2001 +From: Yuqing Zhu +Date: Fri, 20 Apr 2018 02:03:57 +0800 +Subject: [PATCH] Makefile.am: prefix calls to pkg-config with + PKG_CONFIG_SYSROOT_DIR + +Do patch refine base on commit: 990b653c7b6de1937ec759019982d6c5f15770f7 + +Upstream-Status: Pending [review on oe-core maillist] + +Signed-off-by: Yuqing Zhu +--- + gst-libs/gst/allocators/Makefile.am | 4 ++-- + gst-libs/gst/app/Makefile.am | 8 ++++---- + gst-libs/gst/audio/Makefile.am | 12 ++++++------ + gst-libs/gst/pbutils/Makefile.am | 12 ++++++------ + gst-libs/gst/riff/Makefile.am | 8 ++++---- + gst-libs/gst/rtp/Makefile.am | 8 ++++---- + gst-libs/gst/rtsp/Makefile.am | 4 ++-- + gst-libs/gst/sdp/Makefile.am | 4 ++-- + gst-libs/gst/tag/Makefile.am | 8 ++++---- + gst-libs/gst/video/Makefile.am | 8 ++++---- + 10 files changed, 38 insertions(+), 38 deletions(-) + +diff --git a/gst-libs/gst/allocators/Makefile.am b/gst-libs/gst/allocators/Makefile.am +index c4412a1..9f9d14d 100644 +--- a/gst-libs/gst/allocators/Makefile.am ++++ b/gst-libs/gst/allocators/Makefile.am +@@ -59,7 +59,7 @@ GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@ + --c-include "gst/allocators/allocators.h" \ + -I$(top_srcdir)/gst-libs \ + -I$(top_builddir)/gst-libs \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ + --library=libgstallocators-@GST_API_VERSION@.la \ + --include=Gst-@GST_API_VERSION@ \ + --libtool="$(LIBTOOL)" \ +@@ -83,7 +83,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) + $(INTROSPECTION_COMPILER) \ + --includedir=$(srcdir) \ + --includedir=$(builddir) \ +- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ + $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F) + + CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA) +diff --git a/gst-libs/gst/app/Makefile.am b/gst-libs/gst/app/Makefile.am +index 5bfd606..c231267 100644 +--- a/gst-libs/gst/app/Makefile.am ++++ b/gst-libs/gst/app/Makefile.am +@@ -51,8 +51,8 @@ GstApp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstapp-@GST_API_VERSIO + --c-include "gst/app/app.h" \ + -I$(top_srcdir)/gst-libs \ + -I$(top_builddir)/gst-libs \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ + --library=libgstapp-@GST_API_VERSION@.la \ + --include=Gst-@GST_API_VERSION@ \ + --include=GstBase-@GST_API_VERSION@ \ +@@ -79,8 +79,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) + $(INTROSPECTION_COMPILER) \ + --includedir=$(srcdir) \ + --includedir=$(builddir) \ +- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ +- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ ++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ + $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F) + + CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA) +diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am +index 7fb65f2..5379f79 100644 +--- a/gst-libs/gst/audio/Makefile.am ++++ b/gst-libs/gst/audio/Makefile.am +@@ -174,12 +174,12 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE + -I$(top_srcdir)/gst-libs \ + -I$(top_builddir)/gst-libs \ + --c-include "gst/audio/audio.h" \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ + --add-include-path="$(top_builddir)/gst-libs/gst/tag/" \ + --library=libgstaudio-@GST_API_VERSION@.la \ +- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \ +- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \ ++ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \ ++ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \ + --library-path="$(top_builddir)/gst-libs/gst/tag/" \ + --include=Gst-@GST_API_VERSION@ \ + --include=GstBase-@GST_API_VERSION@ \ +@@ -208,8 +208,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) + --includedir=$(srcdir) \ + --includedir=$(builddir) \ + --includedir="$(top_builddir)/gst-libs/gst/tag/" \ +- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ +- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ ++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ + $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F) + + CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA) +diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am +index 35a6e44..49d6894 100644 +--- a/gst-libs/gst/pbutils/Makefile.am ++++ b/gst-libs/gst/pbutils/Makefile.am +@@ -88,14 +88,14 @@ GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@GST_AP + --c-include "gst/pbutils/pbutils.h" \ + -I$(top_srcdir)/gst-libs \ + -I$(top_builddir)/gst-libs \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ + --add-include-path="$(top_builddir)/gst-libs/gst/tag/" \ + --add-include-path="$(top_builddir)/gst-libs/gst/video/" \ + --add-include-path="$(top_builddir)/gst-libs/gst/audio/" \ + --library=libgstpbutils-@GST_API_VERSION@.la \ +- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \ +- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \ ++ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \ ++ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \ + --library-path="$(top_builddir)/gst-libs/gst/tag/" \ + --library-path="$(top_builddir)/gst-libs/gst/video/" \ + --library-path="$(top_builddir)/gst-libs/gst/audio/" \ +@@ -128,8 +128,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) + $(INTROSPECTION_COMPILER) \ + --includedir=$(srcdir) \ + --includedir=$(builddir) \ +- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ +- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ ++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ + --includedir="$(top_builddir)/gst-libs/gst/tag/" \ + --includedir="$(top_builddir)/gst-libs/gst/video/" \ + --includedir="$(top_builddir)/gst-libs/gst/audio/" \ +diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am +index e66ef4f..c8c588a 100644 +--- a/gst-libs/gst/riff/Makefile.am ++++ b/gst-libs/gst/riff/Makefile.am +@@ -43,8 +43,8 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) + # --c-include "gst/riff/riff.h" \ + # --add-include-path=$(builddir)/../tag \ + # --add-include-path=$(builddir)/../audio \ +-# --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ +-# --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ ++# --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++# --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ + # --library=libgstriff-@GST_API_VERSION@.la \ + # --include=GstAudio-@GST_API_VERSION@ \ + # --include=GstTag-@GST_API_VERSION@ \ +@@ -75,8 +75,8 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) + # --includedir=$(builddir) \ + # --includedir=$(builddir)/../tag \ + # --includedir=$(builddir)/../audio \ +-# --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ +-# --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ ++# --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++# --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ + # $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F) + # + #CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA) +diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am +index 77ebeeb..9aee788 100644 +--- a/gst-libs/gst/rtp/Makefile.am ++++ b/gst-libs/gst/rtp/Makefile.am +@@ -64,8 +64,8 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO + --c-include "gst/rtp/rtp.h" \ + -I$(top_builddir)/gst-libs \ + -I$(top_srcdir)/gst-libs \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ + --library=libgstrtp-@GST_API_VERSION@.la \ + --include=Gst-@GST_API_VERSION@ \ + --include=GstBase-@GST_API_VERSION@ \ +@@ -92,8 +92,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) + $(INTROSPECTION_COMPILER) \ + --includedir=$(srcdir) \ + --includedir=$(builddir) \ +- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ +- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ ++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ + $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F) + + CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA) +diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am +index db9d0fd..79027cb 100644 +--- a/gst-libs/gst/rtsp/Makefile.am ++++ b/gst-libs/gst/rtsp/Makefile.am +@@ -71,7 +71,7 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS + -I$(top_builddir)/gst-libs \ + -I$(top_srcdir)/gst-libs \ + --add-include-path=$(builddir)/../sdp \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ + --library=libgstrtsp-@GST_API_VERSION@.la \ + --include=Gio-2.0 \ + --include=Gst-@GST_API_VERSION@ \ +@@ -101,7 +101,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) + --includedir=$(srcdir) \ + --includedir=$(builddir) \ + --includedir=$(builddir)/../sdp \ +- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ + $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F) + + CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA) +diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am +index 6e05cc7..c7cf514 100644 +--- a/gst-libs/gst/sdp/Makefile.am ++++ b/gst-libs/gst/sdp/Makefile.am +@@ -31,7 +31,7 @@ GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@GST_API_VERSIO + --warn-all \ + --c-include "gst/sdp/sdp.h" \ + -I$(top_srcdir)/gst-libs \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ + --library=libgstsdp-@GST_API_VERSION@.la \ + --include=Gst-@GST_API_VERSION@ \ + --libtool="$(LIBTOOL)" \ +@@ -55,7 +55,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) + $(INTROSPECTION_COMPILER) \ + --includedir=$(srcdir) \ + --includedir=$(builddir) \ +- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ + $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F) + + CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA) +diff --git a/gst-libs/gst/tag/Makefile.am b/gst-libs/gst/tag/Makefile.am +index c86515b..363e6d2 100644 +--- a/gst-libs/gst/tag/Makefile.am ++++ b/gst-libs/gst/tag/Makefile.am +@@ -61,8 +61,8 @@ GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@GST_API_VERSIO + --c-include "gst/tag/tag.h" \ + -I$(top_srcdir)/gst-libs \ + -I$(top_builddir)/gst-libs \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ + --library=libgsttag-@GST_API_VERSION@.la \ + --include=Gst-@GST_API_VERSION@ \ + --include=GstBase-@GST_API_VERSION@ \ +@@ -89,8 +89,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) + $(INTROSPECTION_COMPILER) \ + --includedir=$(srcdir) \ + --includedir=$(builddir) \ +- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ +- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ ++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ + $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F) + + CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA) +diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am +index 0f7c07e..d642267 100644 +--- a/gst-libs/gst/video/Makefile.am ++++ b/gst-libs/gst/video/Makefile.am +@@ -121,8 +121,8 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE + --c-include "gst/video/video.h" \ + -I$(top_srcdir)/gst-libs \ + -I$(top_builddir)/gst-libs \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ + --library=libgstvideo-@GST_API_VERSION@.la \ + --include=Gst-@GST_API_VERSION@ \ + --include=GstBase-@GST_API_VERSION@ \ +@@ -149,8 +149,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) + $(INTROSPECTION_COMPILER) \ + --includedir=$(srcdir) \ + --includedir=$(builddir) \ +- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ +- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ ++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ + $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F) + + CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA) +-- +2.7.4 + diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.12.%.bbappend b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.12.%.bbappend deleted file mode 100644 index 11c5fa7fc..000000000 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.12.%.bbappend +++ /dev/null @@ -1,32 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -# Enable pango lib -PACKAGECONFIG_append = " pango " - -# ion allocator will be enabled only when detecting the ion.h exists, which is built out from kernel. -# Now, ion allocator can be supported on all i.MX platform -DEPENDS_append = " virtual/kernel" - -# Remove gio-unix-2.0 as it does not seem to exist anywhere -PACKAGECONFIG_remove = "gio-unix-2.0" -# Overwrite the unrecognised option which is set in gstreamer1.0-plugins-base.inc under poky layer -PACKAGECONFIG[gio-unix-2.0] = "" - -# Use i.MX fork of GST for customizations -SRC_URI_remove_imx = " \ - http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \ - file://0003-ssaparse-enhance-SSA-text-lines-parsing.patch \ - file://0004-subparse-set-need_segment-after-sink-pad-received-GS.patch \ - file://get-caps-from-src-pad-when-query-caps.patch \ -" - -GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https" -SRCBRANCH = "MM_04.03.05_1804_L4.9.88_MX7ULP_GA" - -SRC_URI_append_imx = " \ - ${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} \ -" -SRCREV_imx = "7b637f65e7ce2b03c5adb7624501e74c575ac0f2" - -EXTRA_AUTORECONF = "" - -S_imx = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.imx.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.imx.bb new file mode 100644 index 000000000..2a8dbd817 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.imx.bb @@ -0,0 +1,46 @@ +require recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc + +# Re-use patch files from 1.12.2 recipe +FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files:" +FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base:" +# The following PATH has highest priority +# Implement patch overwrite, using the updated patch under this PATH, instead of the 1.12.2 ones +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +LIC_FILES_CHKSUM = "file://COPYING;md5=c54ce9345727175ff66d17b67ff51f58 \ + file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \ + file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607" + +# Enable pango lib +PACKAGECONFIG_append = " pango " + +# ion allocator will be enabled only when detecting the ion.h exists, which is built out from kernel. +# Now, ion allocator can be supported on all i.MX platform +DEPENDS_append = " virtual/kernel" + +# Remove gio-unix-2.0 as it does not seem to exist anywhere +PACKAGECONFIG_remove = "gio-unix-2.0" +# Overwrite the unrecognised option which is set in gstreamer1.0-plugins-base.inc under poky layer +PACKAGECONFIG[gio-unix-2.0] = "" + +# Disable introspection to fix [GstGL-1.0.gir] Error +EXTRA_OECONF_append = " --disable-introspection --disable-opengl --enable-wayland" + +GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https" +SRCBRANCH = "MM_04.04.00_1805_L4.9.88_MX8QXP_BETA2" + +SRC_URI = " \ + ${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} \ + file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ + file://make-gio_unix_2_0-dependency-configurable.patch \ +" +SRCREV = "04bafd740a52757f12496206cfabe282835a1eb5" + +EXTRA_AUTORECONF = "" + +FILES_${PN} += "${libdir}/gstreamer-1.0/include" + +PV = "1.14.0.imx" + +S = "${WORKDIR}/git" + diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.12.%.bbappend b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.12.%.bbappend deleted file mode 100644 index f2d10c2cb..000000000 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.12.%.bbappend +++ /dev/null @@ -1,18 +0,0 @@ -# Use i.MX fork of GST for customizations -SRC_URI_remove_imx = " \ - http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ - file://0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch \ -" - -GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https" -SRCBRANCH = "imx-1.12.x" - -SRC_URI_append_imx = " \ - ${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} \ -" -SRCREV_imx = "b2c850f295a0fe49310fb60784ac6af4a29bceae" - -EXTRA_AUTORECONF = "" -PACKAGECONFIG_append = " vpx" - -S_imx = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.imx.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.imx.bb new file mode 100644 index 000000000..3262bab6e --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.imx.bb @@ -0,0 +1,26 @@ +require recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ + file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \ + file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe" + +GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https" +SRCBRANCH = "MM_04.04.00_1805_L4.9.88_MX8QXP_BETA2" + +SRC_URI = " \ + ${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} \ +" +SRCREV = "037e2bf9a152de410623235974c68be21948985a" + +DEPENDS_append = " libdrm" + +EXTRA_AUTORECONF = "" +PACKAGECONFIG_append = " vpx" + +# Fix: unrecognised options: --disable-sunaudio [unknown-configure-option] +EXTRA_OECONF_remove = " --disable-sunaudio" + +PV = "1.14.0.imx" + +S = "${WORKDIR}/git" + diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.0.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.0.bb new file mode 100644 index 000000000..d00dd2178 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.0.bb @@ -0,0 +1,18 @@ +require recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly.inc + +# Re-use patch files from 1.12.2 recipe +FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files:" +FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly:" + +LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ + file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068" + +SRC_URI = " \ + http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \ + file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ +" +SRC_URI[md5sum] = "bcb1f8d9339176aee2b5da2a9cb2df88" +SRC_URI[sha256sum] = "3fb9ea5fc8a2de4b3eaec4128d71c6a2d81dd19befe1cd87cb833b98bcb542d1" + +S = "${WORKDIR}/gst-plugins-ugly-${PV}" + diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.0.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.0.bb new file mode 100644 index 000000000..be58da288 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.0.bb @@ -0,0 +1,14 @@ +require recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc + +# Re-use patch files from 1.12.2 recipe +FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files:" +FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server:" + +SRC_URI[md5sum] = "8a505c88f7469c3a0d1e9f4e9a315e53" +SRC_URI[sha256sum] = "6b65a077bed815f6d3157ebea503cc9f3c32d289af2756b7ff7e3958744d9756" + +# Disable introspection to fix [GstRtsp-1.0.gir] Error +EXTRA_OECONF_append = " --disable-introspection" + +LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d" + diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0_1.12.%.bbappend b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0_1.12.%.bbappend deleted file mode 100644 index f037cdb5e..000000000 --- a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0_1.12.%.bbappend +++ /dev/null @@ -1,16 +0,0 @@ -# Use i.MX fork of GST for customizations -GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https" -SRCBRANCH = "imx-1.12.x" - -SRC_URI_remove_imx = "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz " -SRC_URI_append_imx = " ${GST1.0_SRC};branch=${SRCBRANCH}" -SRCREV_imx = "cca1ebf223bd423ed5fc21031014ee1f3ce497a1" - -EXTRA_AUTORECONF = "" - -DEPENDS += " elfutils" - -# Unrecognised options, need to remove them -EXTRA_OECONF_remove = " --disable-docbook --disable-trace" - -S_imx = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0_1.14.imx.bb b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0_1.14.imx.bb new file mode 100644 index 000000000..44e7b0b7a --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/gstreamer1.0_1.14.imx.bb @@ -0,0 +1,26 @@ +require recipes-multimedia/gstreamer/gstreamer1.0.inc + +# Re-use patch files from 1.12.2 recipe +FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-multimedia/gstreamer/files:" + +LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ + file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" + +# Use i.MX fork of GST for customizations +GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https" +SRCBRANCH = "MM_04.04.00_1805_L4.9.88_MX8QXP_BETA2" + +SRC_URI = " ${GST1.0_SRC};branch=${SRCBRANCH}" +SRCREV = "f4e127a5e9a1eb977e023532d6636d939c8ccbc8" + +EXTRA_AUTORECONF = "" + +DEPENDS += " elfutils" + +# Unrecognised options, need to remove them +EXTRA_OECONF_remove = " --disable-docbook --disable-trace" + +PV = "1.14.0.imx" + +S = "${WORKDIR}/git" + diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0002-imx_2d_device_g2d-define-a-G2D_AMPHION_INTERLACED-ma.patch b/meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0002-imx_2d_device_g2d-define-a-G2D_AMPHION_INTERLACED-ma.patch new file mode 100644 index 000000000..1fa126876 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0002-imx_2d_device_g2d-define-a-G2D_AMPHION_INTERLACED-ma.patch @@ -0,0 +1,27 @@ +From: Gabriel Valcazar +Date: Fri, 20 Jul 2018 18:04:55 +0200 +Subject: [PATCH] imx_2d_device_g2d: define a G2D_AMPHION_INTERLACED macro + +Currently, this symbol is not present in the libg2d used by imx6 platforms, so +this is a workaround to get the package to compile. + +https://jira.digi.com/browse/DEL-6078 + +Signed-off-by: Gabriel Valcazar +--- + libs/device-2d/imx_2d_device_g2d.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libs/device-2d/imx_2d_device_g2d.c b/libs/device-2d/imx_2d_device_g2d.c +index 56dc550..e5d58c3 100755 +--- a/libs/device-2d/imx_2d_device_g2d.c ++++ b/libs/device-2d/imx_2d_device_g2d.c +@@ -27,6 +27,8 @@ + GST_DEBUG_CATEGORY_EXTERN (imx2ddevice_debug); + #define GST_CAT_DEFAULT imx2ddevice_debug + ++#define G2D_AMPHION_INTERLACED 0x10 ++ + typedef struct _Imx2DDeviceG2d { + gint capabilities; + struct g2d_surfaceEx src; diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_%.bbappend b/meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_%.bbappend index 0910aca5a..9cc4e0cb0 100644 --- a/meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_%.bbappend +++ b/meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_%.bbappend @@ -3,3 +3,5 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BP}:" SRC_URI += "file://0001-gstimxv4l2-map-dev-video1-to-dev-fb0.patch" + +SRC_URI_append_ccimx6 = " file://0002-imx_2d_device_g2d-define-a-G2D_AMPHION_INTERLACED-ma.patch" diff --git a/meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.3.1.bb b/meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.4.0.bb similarity index 94% rename from meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.3.1.bb rename to meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.4.0.bb index 067a36527..00182bbd5 100644 --- a/meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.3.1.bb +++ b/meta-digi-dey/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.4.0.bb @@ -1,5 +1,5 @@ # Copyright (C) 2014,2016 Freescale Semiconductor -# Copyright 2017 NXP +# Copyright 2017-2018 NXP # Copyright (C) 2012-2015 O.S. Systems Software LTDA. # Released under the MIT license (see COPYING.MIT for the terms) @@ -10,7 +10,7 @@ SECTION = "multimedia" DEPENDS = "imx-codec imx-parser virtual/kernel gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" DEPENDS_append_mx6 = " imx-lib" DEPENDS_append_mx7 = " imx-lib" -DEPENDS_append_imxvpu = " imx-vpuwrap" +DEPENDS_append_imxvpu = " imx-vpuwrap libdrm" # For backwards compatibility RREPLACES_${PN} = "gst1.0-fsl-plugin" @@ -21,10 +21,10 @@ LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24" IMXGST_SRC ?= "git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https" -SRCBRANCH = "MM_04.03.01_1710_L4.9.51_MX8_BETA1" +SRCBRANCH = "MM_04.04.00_1805_L4.9.88_MX8QXP_BETA2" SRC_URI = "${IMXGST_SRC};branch=${SRCBRANCH}" -SRCREV = "6d489bb8fbbd04076a2893f0e43e79cc378ccab2" +SRCREV = "ded3b04018ca71306da9bc38b0037b9ea99abd29" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec.inc b/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec.inc new file mode 100644 index 000000000..c14866db3 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec.inc @@ -0,0 +1,114 @@ +# Copyright (C) 2012-2016 Freescale Semiconductor +# Released under the MIT license (see COPYING.MIT for the terms) +DESCRIPTION = "Freescale Multimedia codec libs" +LICENSE = "Proprietary" +SECTION = "multimedia" +LIC_FILES_CHKSUM = "file://COPYING;md5=6b552f505eedab4a11ab538cf3db743a" + +# Backward compatibility +PROVIDES += "libfslcodec" + +inherit fsl-eula-unpack autotools pkgconfig + +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" + +# Choose between 32bit and 64bit binaries +EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \ + bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d), d)}" + +PACKAGECONFIG ?= "" +PACKAGECONFIG_imxvpu = "vpu" + +PACKAGECONFIG[vpu] = "--enable-vpu,--disable-vpu,virtual/imxvpu" + +do_install_append() { + # FIXME: This link points to nowhere + if [ -e ${D}${libdir}/imx-mm/audio-codec/lib_src_ppp_arm11_elinux.so ]; then + rm ${D}${libdir}/imx-mm/audio-codec/lib_src_ppp_arm11_elinux.so + fi + + # LTIB move the files around or gst-fsl-plugin won't find them + for p in $(find ${D}${libdir}/imx-mm -mindepth 2 -maxdepth 2 -not -type d); do + mv $p ${D}${libdir} + done + rmdir ${D}${libdir}/imx-mm/video-codec + +} + +python __set_insane_skip() { + # Ensure we have PACKAGES expanded + bb.build.exec_func("read_subpackage_metadata", d) + + for p in d.getVar('PACKAGES', True).split(): + # Even though we are packaging libraries those are plugins so we + # shouldn't rename the packages to follow its sonames. + d.setVar("DEBIAN_NOAUTONAME_%s" % p, "1") + + # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have + # the source we cannot fix it. Disable the insane check for now. + if p == 'imx-codec-test-bin': + # FIXME: includes the DUT .so files so we need to deploy those + d.setVar("INSANE_SKIP_%s" % p, "ldflags textrel libdir") + else: + d.setVar("INSANE_SKIP_%s" % p, "ldflags textrel") +} + +do_package_qa[prefuncs] += "__set_insane_skip" + +python __split_libfslcodec_plugins() { + codecdir = bb.data.expand('${libdir}', d) + do_split_packages(d, codecdir, '^lib_([^_]*).*_arm.*_elinux\.so\..*', + aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*', + output_pattern='imx-codec-%s', + description='Freescale i.MX Codec (%s)', + extra_depends='') + pkgs = d.getVar('PACKAGES', True).split() + for pkg in pkgs: + meta = pkg[10:] + if meta != '': + d.setVar('RREPLACES_%s' % pkg, ' libfslcodec-%s' % meta) + d.setVar('RPROVIDES_%s' % pkg, ' libfslcodec-%s' % meta) + d.setVar('RCONFLICTS_%s' % pkg, ' libfslcodec-%s' % meta) + else : + d.setVar('RREPLACES_%s' % pkg, ' libfslcodec') + d.setVar('RPROVIDES_%s' % pkg, ' libfslcodec') + d.setVar('RCONFLICTS_%s' % pkg, ' libfslcodec') +} + +python __set_metapkg_rdepends() { + # Allow addition of all codecs in a image; useful specially for + # debugging. + codec_pkgs = oe.utils.packages_filter_out_system(d) + codec_pkgs = filter(lambda x: x not in ['imx-codec-test-bin', 'imx-codec-test-source'], + codec_pkgs) + d.appendVar('RDEPENDS_imx-codec-meta', ' ' + ' '.join(codec_pkgs)) +} + +PACKAGESPLITFUNCS =+ "__split_libfslcodec_plugins __set_metapkg_rdepends" + +PACKAGES_DYNAMIC = "${PN}-*" +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +PACKAGES += "${PN}-meta ${PN}-test-bin ${PN}-test-source" + +ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY_${PN}-meta = "1" + +# Ensure we get warnings if we miss something +FILES_${PN} = "" + +FILES_${PN}-dev += "${libdir}/imx-mm/*/*${SOLIBSDEV} \ + ${libdir}/imx-mm/*/*/*${SOLIBSDEV} \ + ${libdir}/pkgconfig/*.pc ${includedir}/imx-mm/*" + +FILES_${PN}-test-bin += "${datadir}/imx-mm/*/examples/*/bin" + +FILES_${PN}-test-source += "${datadir}/imx-mm/*" + +# FIXME: The wrap and lib names does not match +FILES_${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm*_elinux.so.*" +FILES_${PN}-nb += "${libdir}/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm*_elinux.so.*" +FILES_${PN}-wb += "${libdir}/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm*_elinux.so.*" + +PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.2.1.bb b/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.2.1.bb deleted file mode 100644 index 5145c34e9..000000000 --- a/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.2.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright (C) 2013-2016 Freescale Semiconductor -# Copyright 2017 NXP -# Released under the MIT license (see COPYING.MIT for the terms) - -require recipes-multimedia/imx-codec/imx-codec.inc -LIC_FILES_CHKSUM = "file://COPYING;md5=6b552f505eedab4a11ab538cf3db743a" - -SRC_URI[md5sum] = "3db67e3f602e65fe0ac00ae4f9ea6109" -SRC_URI[sha256sum] = "20d3f9b4187fcd9e7007c94558a00bab1191513eee74b6f0d8c7b43f874e06ed" - -COMPATIBLE_MACHINE = "(ccimx6)" diff --git a/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.4.0.bb b/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.4.0.bb new file mode 100644 index 000000000..15660ce66 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.4.0.bb @@ -0,0 +1,14 @@ +# Copyright (C) 2013-2016 Freescale Semiconductor +# Copyright 2017-2018 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +require imx-codec.inc + +PACKAGECONFIG_remove_imxvpuamphion = "vpu" + +LIC_FILES_CHKSUM = "file://COPYING;md5=ab61cab9599935bfe9f700405ef00f28" + +SRC_URI[md5sum] = "27c4d8f70a2c9ee0c63034f97752c235" +SRC_URI[sha256sum] = "6f0117365e0b0235ba42fc8b1bbbc5e02e635da47aff66face5816721b581fbf" + +COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" diff --git a/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.2.1.bbappend b/meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.4.0.bbappend similarity index 100% rename from meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.2.1.bbappend rename to meta-digi-dey/recipes-multimedia/imx-codec/imx-codec_4.4.0.bbappend diff --git a/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser.inc b/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser.inc new file mode 100644 index 000000000..e3290b92d --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser.inc @@ -0,0 +1,41 @@ +# Copyright (C) 2012-2014, 2016 O.S. Systems Software LTDA. +# Copyright (C) 2012-2016 Freescale Semiconductor +# Released under the MIT license (see COPYING.MIT for the terms) +DESCRIPTION = "Freescale Multimedia parser libs" +LICENSE = "Proprietary" +SECTION = "multimedia" +LIC_FILES_CHKSUM = "file://COPYING;md5=6b552f505eedab4a11ab538cf3db743a" + +# For backwards compatibility +PROVIDES += "libfslparser" +RREPLACES_${PN} = "libfslparser" +RPROVIDES_${PN} = "libfslparser" +RCONFLICTS_${PN} = "libfslparser" + +inherit fsl-eula-unpack autotools pkgconfig + +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" + +# Choose between 32bit and 64bit binaries +EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \ + bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '--enable-fsw', d), d)}" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +python __set_insane_skip() { + # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have + # the source we cannot fix it. Disable the insane check for now. + # FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those + for p in d.getVar('PACKAGES', True).split(): + d.setVar("INSANE_SKIP_%s" % p, "ldflags dev-so textrel") +} + +do_package_qa[prefuncs] += "__set_insane_skip" + +# FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those +FILES_${PN} += "${libdir}/imx-mm/*/*${SOLIBS} ${libdir}/imx-mm/*/*${SOLIBSDEV}" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +INHIBIT_SYSROOT_STRIP = "1" diff --git a/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.2.1.bb b/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.2.1.bb deleted file mode 100644 index 2fe1cb4f1..000000000 --- a/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.2.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright (C) 2013-2016 Freescale Semiconductor -# Copyright 2017 NXP -# Released under the MIT license (see COPYING.MIT for the terms) - -include recipes-multimedia/imx-parser/imx-parser.inc -LIC_FILES_CHKSUM = "file://COPYING;md5=6b552f505eedab4a11ab538cf3db743a" - -SRC_URI[md5sum] = "6717799abce0dc5918db8d3fd0e39184" -SRC_URI[sha256sum] = "36d3ae7285f3a83a87abf680b8a52b3c07df869d2443de844fb5f0ff528ca862" - -COMPATIBLE_MACHINE = "(ccimx6)" diff --git a/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.4.0.bb b/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.4.0.bb new file mode 100644 index 000000000..252f4007b --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.4.0.bb @@ -0,0 +1,12 @@ +# Copyright (C) 2013-2016 Freescale Semiconductor +# Copyright 2017-2018 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +include imx-parser.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=ab61cab9599935bfe9f700405ef00f28" + +SRC_URI[md5sum] = "55918adc721057ad762f39cada22c566" +SRC_URI[sha256sum] = "edde3d1a0e52fce55f7b0df6bd831649434e71e434468cf8b247acc809c35e7a" + +COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" diff --git a/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.2.1.bbappend b/meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.4.0.bbappend similarity index 100% rename from meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.2.1.bbappend rename to meta-digi-dey/recipes-multimedia/imx-parser/imx-parser_4.4.0.bbappend diff --git a/meta-digi-dey/recipes-multimedia/packagegroups/packagegroup-dey-gstreamer.bb b/meta-digi-dey/recipes-multimedia/packagegroups/packagegroup-dey-gstreamer.bb index 168d32239..7eb4206dc 100644 --- a/meta-digi-dey/recipes-multimedia/packagegroups/packagegroup-dey-gstreamer.bb +++ b/meta-digi-dey/recipes-multimedia/packagegroups/packagegroup-dey-gstreamer.bb @@ -30,10 +30,11 @@ MACHINE_GSTREAMER_1_0_PKGS_ccimx6ul = " \ " MACHINE_GSTREAMER_1_0_EXTRA_INSTALL ?= "" -MACHINE_GSTREAMER_1_0_EXTRA_INSTALL_ccimx6 ?= " \ +MACHINE_GSTREAMER_1_0_EXTRA_INSTALL_imxgpu2d ?= " \ gstreamer1.0-plugins-bad-meta \ gstreamer1.0-plugins-ugly-meta \ gstreamer1.0-rtsp-server-meta \ + gstreamer1.0-libav \ " RDEPENDS_${PN} = " \ diff --git a/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-demos.bb b/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-demos.bb new file mode 100644 index 000000000..478f7219c --- /dev/null +++ b/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-demos.bb @@ -0,0 +1,29 @@ +# Copyright (C) 2014 Freescale Semiconductor +# Copyright 2017-2018 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Package group for Qt5 demos" +LICENSE = "MIT" + +inherit packagegroup + +RDEPENDS_${PN}_append = " \ + qtserialport \ + qtsmarthome \ +" + +# Install the following apps on SoC with GPU +RDEPENDS_${PN}_append_imxgpu = " \ + cinematicexperience \ + qtbase-examples \ + qtconnectivity-examples \ + qtdeclarative-examples \ + qtmultimedia-examples \ + qtsvg-examples \ + qt5-demo-extrafiles \ + qt5everywheredemo \ +" + +RDEPENDS_${PN}_append_imxgpu3d = " \ + qt3d-examples \ +" diff --git a/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend b/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend new file mode 100644 index 000000000..c417a96b1 --- /dev/null +++ b/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend @@ -0,0 +1,14 @@ + +RDEPENDS_${PN}_remove = "qtquick1-dev \ + qtquick1-mkspecs \ + qtquick1-plugins \ + qtquick1-qmlplugins \ + qttranslations-qtquick1 \ + qtwebkit-dev \ + qtwebkit-mkspecs \ + qtwebkit-qmlplugins \ +" + +RDEPENDS_${PN}_append_imxgpu = " \ + qtdeclarative-tools \ +" diff --git a/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-webengine.bb b/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-webengine.bb new file mode 100644 index 000000000..70658a4fb --- /dev/null +++ b/meta-digi-dey/recipes-qt/packagegroups/packagegroup-qt5-webengine.bb @@ -0,0 +1,15 @@ +# Copyright (C) 2015 Freescale Semiconductor +# Copyright 2017 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Package group for Qt5 webengine and examples" +LICENSE = "MIT" + +inherit packagegroup + +RDEPENDS_${PN} += " \ + qtwebengine \ + qtwebengine-qmlplugins \ + qtquickcontrols-qmlplugins \ + qtwebengine-examples \ +" diff --git a/meta-digi-dey/recipes-qt/qt5/cinematicexperience_%.bbappend b/meta-digi-dey/recipes-qt/qt5/cinematicexperience_%.bbappend new file mode 100644 index 000000000..199100e8e --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/cinematicexperience_%.bbappend @@ -0,0 +1,4 @@ + +# Remove dependency on qtgraphicaleffects for sololite +DEPENDS_remove_mx6sl = "qtgraphicaleffects" +RDEPENDS_${PN}_remove_mx6sl = "qtgraphicaleffects-qmlplugins" diff --git a/meta-digi-dey/recipes-qt/qt5/gstreamer1.0-plugins-good-qt/0001-configure.ac-Add-prefix-to-correct-the-QT_PATH.patch b/meta-digi-dey/recipes-qt/qt5/gstreamer1.0-plugins-good-qt/0001-configure.ac-Add-prefix-to-correct-the-QT_PATH.patch new file mode 100644 index 000000000..f21b88149 --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/gstreamer1.0-plugins-good-qt/0001-configure.ac-Add-prefix-to-correct-the-QT_PATH.patch @@ -0,0 +1,28 @@ +From 66389744b6f521880679433fd3ea6ed072eef9a3 Mon Sep 17 00:00:00 2001 +From: Yuqing Zhu +Date: Wed, 26 Jul 2017 11:29:41 +0800 +Subject: [PATCH] configure.ac: Add prefix to correct the QT_PATH + +Signed-off-by: Yuqing Zhu +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index fa26262..b35a828 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2919,8 +2919,8 @@ dnl *** Qt *** + translit(dnm, m, l) AM_CONDITIONAL(USE_QT, true) + AG_GST_CHECK_FEATURE(QT, [Qt elements], qt, [ + PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Qml Qt5Quick >= 5.4.0, [ +- QT_PATH=`$PKG_CONFIG --variable=exec_prefix Qt5Core` +- QT_HOST_PATH=`$PKG_CONFIG --variable=host_bins Qt5Core` ++ QT_PATH=$STAGING_DIR`$PKG_CONFIG --variable=exec_prefix Qt5Core` ++ QT_HOST_PATH=$STAGING_DIR`$PKG_CONFIG --variable=host_bins Qt5Core` + AC_ARG_WITH([moc], + AS_HELP_STRING([--with-moc], [Set location of qt moc tool]), + [MOC=$withval]) +-- +1.9.1 + diff --git a/meta-digi-dey/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.14.imx.bb b/meta-digi-dey/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.14.imx.bb new file mode 100644 index 000000000..e377d70c7 --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/gstreamer1.0-plugins-good-qt_1.14.imx.bb @@ -0,0 +1,64 @@ +require recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc +FILESEXTRAPATHS_prepend := "${BSPDIR}/sources/meta-fsl-bsp-release/imx/meta-sdk/recipes-qt5/qt5/${PN}:" + +LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ + file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \ + file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe" + +GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https" +SRCBRANCH = "MM_04.04.00_1805_L4.9.88_MX8QXP_BETA2" + +SRC_URI = " \ + ${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} \ + file://0001-configure.ac-Add-prefix-to-correct-the-QT_PATH.patch \ +" +SRCREV = "037e2bf9a152de410623235974c68be21948985a" + +# gstgldisplay_viv_fb.h from gst-base is needed by qmlgl plugin +DEPENDS_append = " gstreamer1.0-plugins-base" +# Need libdrm_fourcc.h for DMA buf support in opengl plugins +DEPENDS_append_mx7ulp = " libdrm" +DEPENDS_append_mx8 = " libdrm" + +# Qt5 configuratin only support "--disable-qt" +# And in default, it is disabled, need to remove the default setting to enable it. +# Fix: unrecognised options: --disable-sunaudio [unknown-configure-option] +EXTRA_OECONF_remove = "--disable-qt \ + --disable-sdl --disable-nas --disable-libvisual --disable-xvid --disable-mimic \ + --disable-pvr --disable-sdltest --disable-wininet --disable-timidity \ + --disable-linsys --disable-sndio --disable-apexsink \ + --disable-sunaudio \ +" + +# The QT_PATH & QT_HOST_PATH which help to access to moc uic rcc tools are incorrect, +# need to passing STAGING_DIR to update the QT PATH +EXTRA_OECONF += "STAGING_DIR=${STAGING_DIR_NATIVE} --disable-introspection" + +PACKAGECONFIG += "qt5" + +PACKAGECONFIG[qt5] = '--enable-qt \ + --with-moc="${STAGING_DIR_NATIVE}/usr/bin/qt5/moc" \ + --with-uic="${STAGING_DIR_NATIVE}/usr/bin/qt5/uic" \ + --with-rcc="${STAGING_DIR_NATIVE}/usr/bin/qt5/rcc" \ + ,--disable-qt,qtbase qtdeclarative qtbase-native' + +# This remove "--exclude=autopoint" option from autoreconf argument to avoid +# configure.ac:30: error: required file './ABOUT-NLS' not found +EXTRA_AUTORECONF = "" + +# remove the duplicate libs except qtsink +do_install_append() { + rm -rf ${D}/usr + if [ -e ${WORKDIR}/build/ext/qt/.libs/libgstqmlgl.so ]; then + mkdir -p ${D}${libdir}/gstreamer-1.0/ + install -m 0755 ${WORKDIR}/build/ext/qt/.libs/libgstqmlgl.so ${D}${libdir}/gstreamer-1.0/ + install -m 0755 ${WORKDIR}/build/ext/qt/.libs/libgstqmlgl.lai ${D}${libdir}/gstreamer-1.0/libgstqmlgl.la + fi +} + +PV = "1.14.0.imx" + +S = "${WORKDIR}/git" + +# Need qtsink for SoCs that have hardware GPU3D +COMPATIBLE_MACHINE = "(mx6sx|mx6dl|mx6q|mx7ulp|mx8)" diff --git a/meta-digi-dey/recipes-qt/qt5/imx-qtapplications/qtimxcamera.desktop b/meta-digi-dey/recipes-qt/qt5/imx-qtapplications/qtimxcamera.desktop new file mode 100644 index 000000000..f1cd635e5 --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/imx-qtapplications/qtimxcamera.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=iMX Camera +Exec=/usr/share/qt5/examples/multimedia/imxcamera/imxcamera +Icon=imxcamera +Terminal=false +Type=Application +X-MB-SingleInstance=true +Comment=i.MX Camera App +StartupNotify=false diff --git a/meta-digi-dey/recipes-qt/qt5/imx-qtapplications/qtimxplayer.desktop b/meta-digi-dey/recipes-qt/qt5/imx-qtapplications/qtimxplayer.desktop new file mode 100644 index 000000000..182365805 --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/imx-qtapplications/qtimxplayer.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=iMX Player +Exec=/usr/share/qt5/examples/multimedia/imxplayer/imxplayer +Icon=imxplayer +Terminal=false +Type=Application +X-MB-SingleInstance=true +Comment=i.MX Player +StartupNotify=false diff --git a/meta-digi-dey/recipes-qt/qt5/imx-qtapplications_1.2.0-aarch32.bb b/meta-digi-dey/recipes-qt/qt5/imx-qtapplications_1.2.0-aarch32.bb new file mode 100644 index 000000000..23b556d09 --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/imx-qtapplications_1.2.0-aarch32.bb @@ -0,0 +1,58 @@ +# Copyright (C) 2014-2016 Freescale Semiconductor +# Copyright 2017 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Freescale QT Multimedia applications" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=6b552f505eedab4a11ab538cf3db743a" + +inherit fsl-eula-unpack pkgconfig + +# base on QtMultimedia v5.2.1 +DEPENDS += "qtmultimedia gstreamer1.0 gstreamer1.0-plugins-base imx-gst1.0-plugin qtquickcontrols" + +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \ + file://qtimxplayer.desktop \ + file://qtimxcamera.desktop \ +" +SRC_URI[md5sum] = "e65c9a365a4ed76efd4e5de8c3b35293" +SRC_URI[sha256sum] = "4a43cc4ec58827dda287e2f3c4700bfa821c5075ffefa06056a33290ccaede9a" + +USE_X11 = "${@bb.utils.contains("DISTRO_FEATURES", "x11", "yes", "no", d)}" +PLATFORM_HAS_VPU = " " +PLATFORM_HAS_VPU_imxvpu = "yes" + +# imx-qtapplications will be enabled on board with GPU 3D +# For now, imxcamera & imxplayer can only be supported on x11 backend for SoC with VPU only (including i.MX6Q & i.MX6DL) +# And test_qmlglsrc & test_qmlglsink can be supported on all backends +do_install () { + if [ "${USE_X11}" = "yes" ]; then + if [ "${PLATFORM_HAS_VPU}" = "yes" ]; then + install -d ${D}${datadir}/applications + install -m 0644 ${WORKDIR}/qt*.desktop ${D}${datadir}/applications + install -d ${D}${datadir}/qt5 + cp -r ${S}/usr/share/qt5/examples ${D}${datadir}/qt5 + install -d ${D}${datadir}/pixmaps + cp -r ${S}/usr/share/pixmaps/* ${D}${datadir}/pixmaps + else + install -d ${D}${datadir}/qt5/examples/multimedia/ + cp -r ${S}/usr/share/qt5/examples/multimedia/qmlgltest/ ${D}${datadir}/qt5/examples/multimedia/ + fi + else + install -d ${D}${datadir}/qt5/examples/multimedia/ + cp -r ${S}/usr/share/qt5/examples/multimedia/qmlgltest/ ${D}${datadir}/qt5/examples/multimedia/ + fi +} + + +FILES_${PN} = " \ + ${datadir}/qt5/examples/*/* \ + ${datadir}/applications/* \ + ${datadir}/pixmaps/* \ +" + +INSANE_SKIP_${PN} += "debug-files" + +COMPATIBLE_MACHINE = "(mx6|mx7ulp)" + + diff --git a/meta-digi-dey/recipes-qt/qt5/imx-qtapplications_1.2.0-aarch64.bb b/meta-digi-dey/recipes-qt/qt5/imx-qtapplications_1.2.0-aarch64.bb new file mode 100644 index 000000000..d0daa91f0 --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/imx-qtapplications_1.2.0-aarch64.bb @@ -0,0 +1,31 @@ +# Copyright (C) 2014-2016 Freescale Semiconductor +# Copyright 2017 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Freescale QT Multimedia applications" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=08fd295cce89b0a9c74b9b83ed74f671" + +inherit fsl-eula-unpack pkgconfig + +# base on QtMultimedia v5.2.1 +DEPENDS += "qtmultimedia gstreamer1.0 gstreamer1.0-plugins-base imx-gst1.0-plugin qtquickcontrols" + +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \ +" +SRC_URI[md5sum] = "a4df8c4b998d9de7fde469d20d3cd8b1" +SRC_URI[sha256sum] = "8f64a8d232dc1e3f03873b6702c281750bae9d720e89e414c0104f0ded3d2f84" + +do_install () { + install -d ${D}${datadir}/qt5/examples/multimedia/ + cp -r ${S}/usr/share/qt5/examples/multimedia/qmlgltest/ ${D}${datadir}/qt5/examples/multimedia/ +} + +FILES_${PN} = " \ + ${datadir}/qt5/examples/*/* \ +" + +INSANE_SKIP_${PN} += "debug-files" + +COMPATIBLE_MACHINE = "(mx8)" + diff --git a/meta-digi-dey/recipes-qt/qt5/nativesdk-qtbase_%.bbappend b/meta-digi-dey/recipes-qt/qt5/nativesdk-qtbase_%.bbappend index d114142b3..8fcfd62b4 100644 --- a/meta-digi-dey/recipes-qt/qt5/nativesdk-qtbase_%.bbappend +++ b/meta-digi-dey/recipes-qt/qt5/nativesdk-qtbase_%.bbappend @@ -3,3 +3,8 @@ do_install_append_class-nativesdk() { mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d } + +do_generate_qt_environment_file[noexec] = "1" +do_install_append () { + do_generate_qt_environment_file +} diff --git a/meta-digi-dey/recipes-qt/qt5/qt3d_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qt3d_%.bbappend new file mode 100644 index 000000000..13f91d6df --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/qt3d_%.bbappend @@ -0,0 +1,6 @@ +do_install_append() { +if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc +fi +} + diff --git a/meta-digi-dey/recipes-qt/qt5/qt5ledscreen_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qt5ledscreen_%.bbappend new file mode 100644 index 000000000..7bb9126df --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/qt5ledscreen_%.bbappend @@ -0,0 +1,4 @@ + +# Remove dependency on qtgraphicaleffects for sololite +DEPENDS_remove_mx6sl = "qtgraphicaleffects" +RDEPENDS_${PN}_remove_mx6sl = "qtgraphicaleffects-qmlplugins" \ No newline at end of file diff --git a/meta-digi-dey/recipes-qt/qt5/qt5nmapcarousedemo_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qt5nmapcarousedemo_%.bbappend new file mode 100644 index 000000000..7bb9126df --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/qt5nmapcarousedemo_%.bbappend @@ -0,0 +1,4 @@ + +# Remove dependency on qtgraphicaleffects for sololite +DEPENDS_remove_mx6sl = "qtgraphicaleffects" +RDEPENDS_${PN}_remove_mx6sl = "qtgraphicaleffects-qmlplugins" \ No newline at end of file diff --git a/meta-digi-dey/recipes-qt/qt5/qt5nmapper_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qt5nmapper_%.bbappend new file mode 100644 index 000000000..7bb9126df --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/qt5nmapper_%.bbappend @@ -0,0 +1,4 @@ + +# Remove dependency on qtgraphicaleffects for sololite +DEPENDS_remove_mx6sl = "qtgraphicaleffects" +RDEPENDS_${PN}_remove_mx6sl = "qtgraphicaleffects-qmlplugins" \ No newline at end of file diff --git a/meta-digi-dey/recipes-qt/qt5/qtbase/ccimx8x/qt5.sh b/meta-digi-dey/recipes-qt/qt5/qtbase/ccimx8x/qt5.sh new file mode 100644 index 000000000..6779c9d12 --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/qtbase/ccimx8x/qt5.sh @@ -0,0 +1,2 @@ +#!/bin/sh +export QT_QPA_PLATFORM=wayland diff --git a/meta-digi-dey/recipes-qt/qt5/qtbase_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qtbase_%.bbappend index 81987bfeb..8b78e6616 100644 --- a/meta-digi-dey/recipes-qt/qt5/qtbase_%.bbappend +++ b/meta-digi-dey/recipes-qt/qt5/qtbase_%.bbappend @@ -1,18 +1,40 @@ -# Copyright (C) 2015-2017, Digi International Inc. +# Copyright (C) 2013 Eric Bénard - Eukréa Electromatique +# Copyright (C) 2016 O.S. Systems Software LTDA. +# Copyright (C) 2016 Freescale Semiconductor +# Copyright 2017-2018 NXP +# Copyright (C) 2015-2018, Digi International Inc. -FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI_append = " file://qt5.sh" +PACKAGECONFIG_GL_imxpxp = "gles2" +PACKAGECONFIG_GL_imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gl', '', d)}" +PACKAGECONFIG_GL_imxgpu3d = "gles2" PACKAGECONFIG_append = " accessibility examples fontconfig sql-sqlite" PACKAGECONFIG_append_ccimx6 = " icu" PACKAGECONFIG_append_ccimx6ul = " linuxfb" -QT_CONFIG_FLAGS += " -optimize-size" +# -eglfs is conditioned on GPU3D with FrameBuffer only +# -no-opengl -linuxfb are conditioned on GPU2D only +# Overwrite the original setting which is in meta-freescale layer +QT_CONFIG_FLAGS_APPEND_imxpxp = "-no-eglfs" +QT_CONFIG_FLAGS_APPEND_imxgpu2d = "-no-eglfs -no-opengl -linuxfb" +QT_CONFIG_FLAGS_APPEND_imxgpu3d = "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '-no-eglfs', \ + bb.utils.contains('DISTRO_FEATURES', 'wayland', '-no-eglfs', \ + '-eglfs', d), d)}" +QT_CONFIG_FLAGS_append = " ${QT_CONFIG_FLAGS_APPEND} -optimize-size" + +PACKAGECONFIG_WAYLAND ?= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'xkbcommon-evdev', '', d)}" +PACKAGECONFIG += "${PACKAGECONFIG_WAYLAND}" do_install_append() { - install -d ${D}${sysconfdir}/profile.d - install -m 0755 ${WORKDIR}/qt5.sh ${D}${sysconfdir}/profile.d/ + if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc + fi + install -d ${D}${sysconfdir}/profile.d/ + install -m 0755 ${WORKDIR}/qt5.sh ${D}${sysconfdir}/profile.d/qt5.sh } -PACKAGE_ARCH = "${MACHINE_ARCH}" +FILES_${PN} += "${sysconfdir}/profile.d/qt5.sh" diff --git a/meta-digi-dey/recipes-qt/qt5/qtdeclarative_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qtdeclarative_%.bbappend new file mode 100644 index 000000000..13f91d6df --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/qtdeclarative_%.bbappend @@ -0,0 +1,6 @@ +do_install_append() { +if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc +fi +} + diff --git a/meta-digi-dey/recipes-qt/qt5/qtlocation_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qtlocation_%.bbappend new file mode 100644 index 000000000..13f91d6df --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/qtlocation_%.bbappend @@ -0,0 +1,6 @@ +do_install_append() { +if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc +fi +} + diff --git a/meta-digi-dey/recipes-qt/qt5/qtmultimedia_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qtmultimedia_%.bbappend index 9c2a7034e..738b22a5d 100644 --- a/meta-digi-dey/recipes-qt/qt5/qtmultimedia_%.bbappend +++ b/meta-digi-dey/recipes-qt/qt5/qtmultimedia_%.bbappend @@ -1,4 +1,4 @@ -# Copyright (C) 2015 Digi International +# Copyright (C) 2015-2018 Digi International PACKAGECONFIG_append = " gstreamer" @@ -8,4 +8,10 @@ pkg_postinst_${PN}_ccimx6() { echo 'export QT_GSTREAMER_CAMERABIN_VIDEOSRC="imxv4l2src"' >> $D${sysconfdir}/profile.d/qt5.sh } +do_install_append() { + if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc + fi +} + PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/meta-digi-dey/recipes-qt/qt5/qtquickcontrols2_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qtquickcontrols2_%.bbappend new file mode 100644 index 000000000..13f91d6df --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/qtquickcontrols2_%.bbappend @@ -0,0 +1,6 @@ +do_install_append() { +if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc +fi +} + diff --git a/meta-digi-dey/recipes-qt/qt5/qtscript_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qtscript_%.bbappend new file mode 100644 index 000000000..13f91d6df --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/qtscript_%.bbappend @@ -0,0 +1,6 @@ +do_install_append() { +if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc +fi +} + diff --git a/meta-digi-dey/recipes-qt/qt5/qtsvg_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qtsvg_%.bbappend new file mode 100644 index 000000000..13f91d6df --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/qtsvg_%.bbappend @@ -0,0 +1,6 @@ +do_install_append() { +if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc +fi +} + diff --git a/meta-digi-dey/recipes-qt/qt5/qttools_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qttools_%.bbappend new file mode 100644 index 000000000..13f91d6df --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/qttools_%.bbappend @@ -0,0 +1,6 @@ +do_install_append() { +if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc +fi +} + diff --git a/meta-digi-dey/recipes-qt/qt5/qtwayland/0001-Fix-crash-when-wl_surface-was-destroyed-before-eglDe.patch b/meta-digi-dey/recipes-qt/qt5/qtwayland/0001-Fix-crash-when-wl_surface-was-destroyed-before-eglDe.patch new file mode 100644 index 000000000..6365f04fa --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/qtwayland/0001-Fix-crash-when-wl_surface-was-destroyed-before-eglDe.patch @@ -0,0 +1,31 @@ +From f407bd40a35153f88b3492814b805e0773e53881 Mon Sep 17 00:00:00 2001 +From: Alexandru Palalau +Date: Mon, 15 Jan 2018 15:18:41 +0200 +Subject: [PATCH] =?UTF-8?q?Fix=20crash=20when=20wl=5Fsurface=20was=20destr?= + =?UTF-8?q?oyed=20before=20eglDestroySurface=20called.=20Upstream=C2=A0Sta?= + =?UTF-8?q?tus:=C2=A0Inappropriate=C2=A0[i.MX=C2=A0specific]?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Alexandru Palalau +--- + src/client/qwaylandwindow.cpp | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp +index 6d7c088..94c89a3 100644 +--- a/src/client/qwaylandwindow.cpp ++++ b/src/client/qwaylandwindow.cpp +@@ -385,8 +385,6 @@ void QWaylandWindow::setVisible(bool visible) + QWindowSystemInterface::flushWindowSystemEvents(); + if (!deleteGuard.isNull() && window()->type() == Qt::Popup) + closePopups(this); +- if (!deleteGuard.isNull()) +- reset(); + } + } + +-- +2.7.4 + diff --git a/meta-digi-dey/recipes-qt/qt5/qtwayland/0001-tst_client.cpp-Fix-no-opengl-build.patch b/meta-digi-dey/recipes-qt/qt5/qtwayland/0001-tst_client.cpp-Fix-no-opengl-build.patch new file mode 100644 index 000000000..563773780 --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/qtwayland/0001-tst_client.cpp-Fix-no-opengl-build.patch @@ -0,0 +1,63 @@ +From 9e2f959060d8767f8710e113621c0004f21ace93 Mon Sep 17 00:00:00 2001 +From: Yuqing Zhu +Date: Fri, 11 May 2018 13:51:55 +0800 +Subject: [PATCH] tst_client.cpp: Fix no-opengl build error + +The error is introduced by bf09c7a1493c01a65ee0f110b37a04e653edc08e + +Upstream-Status: Pending + +Signed-off-by: Yuqing Zhu +--- + tests/auto/client/client/tst_client.cpp | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/tests/auto/client/client/tst_client.cpp b/tests/auto/client/client/tst_client.cpp +index 2124205..d63030d 100644 +--- a/tests/auto/client/client/tst_client.cpp ++++ b/tests/auto/client/client/tst_client.cpp +@@ -114,6 +114,7 @@ public: + QPoint mousePressPos; + }; + ++#ifndef QT_NO_OPENGL + class TestGlWindow : public QOpenGLWindow + { + Q_OBJECT +@@ -132,6 +133,7 @@ void TestGlWindow::paintGL() + { + glClear(GL_COLOR_BUFFER_BIT); + } ++#endif // QT_NO_OPENGL + + class tst_WaylandClient : public QObject + { +@@ -170,7 +172,9 @@ private slots: + void dontCrashOnMultipleCommits(); + void hiddenTransientParent(); + void hiddenPopupParent(); ++#ifndef QT_NO_OPENGL + void glWindow(); ++#endif // QT_NO_OPENGL + + private: + MockCompositor *compositor; +@@ -433,6 +437,7 @@ void tst_WaylandClient::hiddenPopupParent() + QTRY_VERIFY(compositor->surface()); + } + ++#ifndef QT_NO_OPENGL + void tst_WaylandClient::glWindow() + { + QSKIP("Skipping GL tests, as not supported by all CI systems: See https://bugreports.qt.io/browse/QTBUG-65802"); +@@ -447,6 +452,7 @@ void tst_WaylandClient::glWindow() + testWindow->setVisible(false); + QTRY_VERIFY(!compositor->surface()); + } ++#endif // QT_NO_OPENGL + + int main(int argc, char **argv) + { +-- +1.9.1 + diff --git a/meta-digi-dey/recipes-qt/qt5/qtwayland_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qtwayland_%.bbappend new file mode 100644 index 000000000..90e7b66b4 --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/qtwayland_%.bbappend @@ -0,0 +1,15 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +SRC_URI_append = " file://0001-Fix-crash-when-wl_surface-was-destroyed-before-eglDe.patch \ + file://0001-tst_client.cpp-Fix-no-opengl-build.patch \ +" + +PACKAGECONFIG_remove_mx6 = "xcomposite-egl xcomposite-glx" +PACKAGECONFIG_remove_mx6sl = "wayland-egl" +PACKAGECONFIG_remove_mx7 = "xcomposite-egl xcomposite-glx" +PACKAGECONFIG_remove_mx8 = "xcomposite-egl xcomposite-glx" + +do_install_append() { +if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc +fi +} diff --git a/meta-digi-dey/recipes-qt/qt5/qtwebengine_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qtwebengine_%.bbappend index 44fc66554..531b2a9c9 100644 --- a/meta-digi-dey/recipes-qt/qt5/qtwebengine_%.bbappend +++ b/meta-digi-dey/recipes-qt/qt5/qtwebengine_%.bbappend @@ -1,4 +1,12 @@ -# Copyright (C) 2015 Digi International +# Copyright (C) 2015-2018 Digi International + +do_install_append() { + if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc + fi +} + +COMPATIBLE_MACHINE_aarch64 = "(.*)" # Decrease memory used by the linker to avoid being killed due to # out of memory. diff --git a/meta-digi-dey/recipes-qt/qt5/qtx11extras_%.bbappend b/meta-digi-dey/recipes-qt/qt5/qtx11extras_%.bbappend new file mode 100644 index 000000000..13f91d6df --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/qtx11extras_%.bbappend @@ -0,0 +1,6 @@ +do_install_append() { +if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc +fi +} + diff --git a/meta-digi-dey/recipes-qt/qt5/quitbattery_%.bbappend b/meta-digi-dey/recipes-qt/qt5/quitbattery_%.bbappend new file mode 100644 index 000000000..7bb9126df --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/quitbattery_%.bbappend @@ -0,0 +1,4 @@ + +# Remove dependency on qtgraphicaleffects for sololite +DEPENDS_remove_mx6sl = "qtgraphicaleffects" +RDEPENDS_${PN}_remove_mx6sl = "qtgraphicaleffects-qmlplugins" \ No newline at end of file diff --git a/meta-digi-dey/recipes-qt/qt5/quitindicators_%.bbappend b/meta-digi-dey/recipes-qt/qt5/quitindicators_%.bbappend new file mode 100644 index 000000000..7bb9126df --- /dev/null +++ b/meta-digi-dey/recipes-qt/qt5/quitindicators_%.bbappend @@ -0,0 +1,4 @@ + +# Remove dependency on qtgraphicaleffects for sololite +DEPENDS_remove_mx6sl = "qtgraphicaleffects" +RDEPENDS_${PN}_remove_mx6sl = "qtgraphicaleffects-qmlplugins" \ No newline at end of file diff --git a/meta-digi-dey/recipes-sato/packagegroups/packagegroup-core-x11-sato.bbappend b/meta-digi-dey/recipes-sato/packagegroups/packagegroup-core-x11-sato.bbappend index 7600747a5..3d50e5763 100644 --- a/meta-digi-dey/recipes-sato/packagegroups/packagegroup-core-x11-sato.bbappend +++ b/meta-digi-dey/recipes-sato/packagegroups/packagegroup-core-x11-sato.bbappend @@ -4,3 +4,12 @@ NETWORK_MANAGER = "" RDEPENDS_${PN}-apps_remove_ccimx6ul = "gst-player" + +matchbox-base = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', ' \ + matchbox-desktop matchbox-session-sato matchbox-keyboard matchbox-keyboard-applet matchbox-keyboard-im matchbox-config-gtk', '', d)}" +matchbox-apps = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'matchbox-terminal', '', d)}" + +RDEPENDS_${PN}-base_remove = "${matchbox-base}" +RDEPENDS_${PN}-apps_remove = "${matchbox-apps} \ + gst-player-bin \ +" diff --git a/sdk/build-github.sh b/sdk/build-github.sh index 2c1af809e..7ffeaa69f 100755 --- a/sdk/build-github.sh +++ b/sdk/build-github.sh @@ -3,7 +3,7 @@ # # build-github.sh # -# Copyright (C) 2015-2017 by Digi International Inc. +# Copyright (C) 2015-2018 by Digi International Inc. # All rights reserved. # # This program is free software; you can redistribute it and/or modify it @@ -22,7 +22,7 @@ set -e -AVAILABLE_PLATFORMS="ccimx6qpsbc ccimx6sbc ccimx6ulsbc ccimx6ulstarter" +AVAILABLE_PLATFORMS="ccimx8x-sbc-express ccimx6qpsbc ccimx6sbc ccimx6ulsbc ccimx6ulstarter" MANIFEST_URL="https://github.com/digi-embedded/dey-manifest.git" @@ -119,10 +119,11 @@ while read _pl _tgt; do [ -n "${DY_TARGET}" ] && _tgt="${DY_TARGET}" || true eval "${_pl}_tgt=\"${_tgt}\"" done<<-_EOF_ - ccimx6qpsbc dey-image-qt - ccimx6sbc dey-image-qt - ccimx6ulsbc dey-image-qt - ccimx6ulstarter core-image-base + ccimx8x-sbc-express dey-image-qt + ccimx6qpsbc dey-image-qt + ccimx6sbc dey-image-qt + ccimx6ulsbc dey-image-qt + ccimx6ulstarter core-image-base _EOF_ YOCTO_IMGS_DIR="${WORKSPACE}/images" diff --git a/sdk/build.sh b/sdk/build.sh index e11e88c9a..a5191d980 100755 --- a/sdk/build.sh +++ b/sdk/build.sh @@ -3,7 +3,7 @@ # # build.sh # -# Copyright (C) 2013-2017 by Digi International Inc. +# Copyright (C) 2013-2018 by Digi International Inc. # All rights reserved. # # This program is free software; you can redistribute it and/or modify it @@ -166,15 +166,18 @@ while read _pl _var _tgt; do fi fi [ -n "${DY_TARGET}" ] && _tgt="${DY_TARGET}" || true - eval "${_pl}_var=\"${_var//,/ }\"" - eval "${_pl}_tgt=\"${_tgt//,/ }\"" + # Dashes are not allowed in variables so let's substitute them on + # the fly with underscores. + eval "${_pl//-/_}_var=\"${_var//,/ }\"" + eval "${_pl//-/_}_tgt=\"${_tgt//,/ }\"" done<<-_EOF_ - ccimx6qpsbc DONTBUILDVARIANTS dey-image-qt,dey-image-aws - ccimx6sbc DONTBUILDVARIANTS dey-image-qt,dey-image-aws - ccimx6ulsbc DONTBUILDVARIANTS dey-image-qt,dey-image-aws - ccimx6ulstarter DONTBUILDVARIANTS core-image-base,dey-image-aws - ccimx6ulsom DONTBUILDVARIANTS dey-image-mft-module-min - ccimx6ulrftest DONTBUILDVARIANTS dey-image-mft-module-rf + ccimx8x-sbc-express DONTBUILDVARIANTS dey-image-qt,dey-image-aws + ccimx6qpsbc DONTBUILDVARIANTS dey-image-qt,dey-image-aws + ccimx6sbc DONTBUILDVARIANTS dey-image-qt,dey-image-aws + ccimx6ulsbc DONTBUILDVARIANTS dey-image-qt,dey-image-aws + ccimx6ulstarter DONTBUILDVARIANTS core-image-base,dey-image-aws + ccimx6ulsom DONTBUILDVARIANTS dey-image-mft-module-min + ccimx6ulrftest DONTBUILDVARIANTS dey-image-mft-module-rf _EOF_ YOCTO_IMGS_DIR="${WORKSPACE}/images" @@ -214,8 +217,10 @@ fi # Create projects and build rm -rf ${YOCTO_IMGS_DIR} ${YOCTO_PROJ_DIR} for platform in ${DY_PLATFORMS}; do - eval platform_variants="\${${platform}_var}" - eval platform_targets="\${${platform}_tgt}" + # The variables _var|tgt got their dashes converted to + # underscores, so we must convert also the ones in ${platform}. + eval platform_variants=\"\${${platform//-/_}_var}\" + eval platform_targets=\"\${${platform//-/_}_tgt}\" for variant in ${platform_variants}; do _this_prj_dir="${YOCTO_PROJ_DIR}/${platform}" _this_img_dir="${YOCTO_IMGS_DIR}/${platform}" diff --git a/sdk/config/ccimx8x-sbc-express/bblayers.conf.sample b/sdk/config/ccimx8x-sbc-express/bblayers.conf.sample new file mode 100644 index 000000000..bc2ef9645 --- /dev/null +++ b/sdk/config/ccimx8x-sbc-express/bblayers.conf.sample @@ -0,0 +1,22 @@ +# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf +# changes incompatibly +POKY_BBLAYERS_CONF_VERSION = "2" + +BBPATH = "${TOPDIR}" +BBFILES ?= "" + +BBLAYERS ?= " \ + ##OEROOT##/meta \ + ##OEROOT##/meta-poky \ + ##OEROOT##/meta-yocto-bsp \ + ##DIGIBASE##/meta-openembedded/meta-oe \ + ##DIGIBASE##/meta-openembedded/meta-python \ + ##DIGIBASE##/meta-openembedded/meta-networking \ + ##DIGIBASE##/meta-openembedded/meta-webserver \ + ##DIGIBASE##/meta-qt5 \ + ##DIGIBASE##/meta-swupdate \ + ##DIGIBASE##/meta-freescale \ + ##DIGIBASE##/meta-fsl-demos \ + ##DIGIBASE##/meta-digi/meta-digi-arm \ + ##DIGIBASE##/meta-digi/meta-digi-dey \ + " diff --git a/sdk/config/ccimx8x-sbc-express/conf-notes.txt b/sdk/config/ccimx8x-sbc-express/conf-notes.txt new file mode 100644 index 000000000..fee2b5471 --- /dev/null +++ b/sdk/config/ccimx8x-sbc-express/conf-notes.txt @@ -0,0 +1,13 @@ +Digi Embedded Yocto provides the following image recipes: + + * dey-image-qt: graphical QT image + + By default the image is XWayland-based so it provides a full Weston + desktop environment. + + * dey-image-aws: console-only image supporting Amazon Web Services IoT + + This image includes the AWS Greengrass Core and an AWS IoT platform + example application. For more information on AWS support in Digi + Embedded Yocto see the online documentation. + diff --git a/sdk/config/ccimx8x-sbc-express/local.conf.sample b/sdk/config/ccimx8x-sbc-express/local.conf.sample new file mode 100644 index 000000000..f07a6ba80 --- /dev/null +++ b/sdk/config/ccimx8x-sbc-express/local.conf.sample @@ -0,0 +1,254 @@ +# +# This file is your local configuration file and is where all local user settings +# are placed. The comments in this file give some guide to the options a new user +# to the system might want to change but pretty much any configuration option can +# be set in this file. More adventurous users can look at local.conf.extended +# which contains other examples of configuration which can be placed in this file +# but new users likely won't need any of them initially. +# +# Lines starting with the '#' character are commented out and in some cases the +# default values are provided as comments to show people example syntax. Enabling +# the option is a question of removing the # character and making any change to the +# variable as required. + +# +# Machine Selection +# +# You need to select a specific machine to target the build with. There are a selection +# of emulated machines available which can boot and run in the QEMU emulator: +# +#MACHINE ?= "qemuarm" +#MACHINE ?= "qemuarm64" +#MACHINE ?= "qemumips" +#MACHINE ?= "qemumips64" +#MACHINE ?= "qemuppc" +#MACHINE ?= "qemux86" +#MACHINE ?= "qemux86-64" +# +# There are also the following hardware board target machines included for +# demonstration purposes: +# +#MACHINE ?= "beaglebone" +#MACHINE ?= "genericx86" +#MACHINE ?= "genericx86-64" +#MACHINE ?= "mpc8315e-rdb" +#MACHINE ?= "edgerouter" +# +# This sets the default machine to be qemux86 if no other machine is selected: +#MACHINE ??= "qemux86" + +MACHINE = "ccimx8x-sbc-express" + +# +# Use Digi's internal git repositories +# +#DIGI_INTERNAL_GIT ?= "1" + +# +# Where to place downloads +# +# During a first build the system will download many different source code tarballs +# from various upstream projects. This can take a while, particularly if your network +# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you +# can preserve this directory to speed up this part of subsequent builds. This directory +# is safe to share between multiple builds on the same machine too. +# +# The default is a downloads directory under TOPDIR which is the build directory. +# +#DL_DIR ?= "${TOPDIR}/downloads" + +# +# Where to place shared-state files +# +# BitBake has the capability to accelerate builds based on previously built output. +# This is done using "shared state" files which can be thought of as cache objects +# and this option determines where those files are placed. +# +# You can wipe out TMPDIR leaving this directory intact and the build would regenerate +# from these files if no changes were made to the configuration. If changes were made +# to the configuration, only shared state files where the state was still valid would +# be used (done using checksums). +# +# The default is a sstate-cache directory under TOPDIR. +# +#SSTATE_DIR ?= "${TOPDIR}/sstate-cache" + +# +# Where to place the build output +# +# This option specifies where the bulk of the building work should be done and +# where BitBake should place its temporary files and output. Keep in mind that +# this includes the extraction and compilation of many applications and the toolchain +# which can use Gigabytes of hard disk space. +# +# The default is a tmp directory under TOPDIR. +# +#TMPDIR = "${TOPDIR}/tmp" + +# +# Default policy config +# +# The distribution setting controls which policy settings are used as defaults. +# The default value is fine for general Yocto project use, at least initially. +# Ultimately when creating custom policy, people will likely end up subclassing +# these defaults. +# +DISTRO ?= "dey" +# As an example of a subclass there is a "bleeding" edge policy configuration +# where many versions are set to the absolute latest code from the upstream +# source control systems. This is just mentioned here as an example, its not +# useful to most new users. +# DISTRO ?= "poky-bleeding" + +# +# Package Management configuration +# +# This variable lists which packaging formats to enable. Multiple package backends +# can be enabled at once and the first item listed in the variable will be used +# to generate the root filesystems. +# Options are: +# - 'package_deb' for debian style deb files +# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager) +# - 'package_rpm' for rpm style packages +# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" +# We default to rpm: +PACKAGE_CLASSES ?= "package_rpm" + +# +# SDK target architecture +# +# This variable specifies the architecture to build SDK items for and means +# you can build the SDK packages for architectures other than the machine you are +# running the build on (i.e. building i686 packages on an x86_64 host). +# Supported values are i686 and x86_64 +#SDKMACHINE ?= "i686" + +# +# Extra image configuration defaults +# +# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated +# images. Some of these options are added to certain image types automatically. The +# variable can contain the following options: +# "dbg-pkgs" - add -dbg packages for all installed packages +# (adds symbol information for debugging/profiling) +# "dev-pkgs" - add -dev packages for all installed packages +# (useful if you want to develop against libs in the image) +# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages +# (useful if you want to run the package test suites) +# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.) +# "tools-debug" - add debugging tools (gdb, strace) +# "eclipse-debug" - add Eclipse remote debugging support +# "tools-profile" - add profiling tools (oprofile, lttng, valgrind) +# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.) +# "debug-tweaks" - make an image suitable for development +# e.g. ssh root access has a blank password +# There are other application targets that can be used here too, see +# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details. +# We default to enabling the debugging tweaks. +EXTRA_IMAGE_FEATURES ?= "debug-tweaks" + +# +# Additional image features +# +# The following is a list of additional classes to use when building images which +# enable extra features. Some available options which can be included in this variable +# are: +# - 'buildstats' collect build statistics +# - 'image-mklibs' to reduce shared library files size for an image +# - 'image-prelink' in order to prelink the filesystem image +# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink +# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended +USER_CLASSES ?= "buildstats image-mklibs image-prelink" + +# +# Runtime testing of images +# +# The build system can test booting virtual machine images under qemu (an emulator) +# after any root filesystems are created and run tests against those images. To +# enable this uncomment this line. See classes/testimage(-auto).bbclass for +# further details. +#TEST_IMAGE = "1" +# +# Interactive shell configuration +# +# Under certain circumstances the system may need input from you and to do this it +# can launch an interactive shell. It needs to do this since the build is +# multithreaded and needs to be able to handle the case where more than one parallel +# process may require the user's attention. The default is iterate over the available +# terminal types to find one that works. +# +# Examples of the occasions this may happen are when resolving patches which cannot +# be applied, to use the devshell or the kernel menuconfig +# +# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none +# Note: currently, Konsole support only works for KDE 3.x due to the way +# newer Konsole versions behave +#OE_TERMINAL = "auto" +# By default disable interactive patch resolution (tasks will just fail instead): +PATCHRESOLVE = "noop" + +# +# Disk Space Monitoring during the build +# +# Monitor the disk space during the build. If there is less that 1GB of space or less +# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully +# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort +# of the build. The reason for this is that running completely out of space can corrupt +# files and damages the build in ways which may not be easily recoverable. +# It's necesary to monitor /tmp, if there is no space left the build will fail +# with very exotic errors. +BB_DISKMON_DIRS = "\ + STOPTASKS,${TMPDIR},1G,100K \ + STOPTASKS,${DL_DIR},1G,100K \ + STOPTASKS,${SSTATE_DIR},1G,100K \ + STOPTASKS,/tmp,100M,100K \ + ABORT,${TMPDIR},100M,1K \ + ABORT,${DL_DIR},100M,1K \ + ABORT,${SSTATE_DIR},100M,1K \ + ABORT,/tmp,10M,1K" + +# +# Shared-state files from other locations +# +# As mentioned above, shared state files are prebuilt cache data objects which can +# used to accelerate build time. This variable can be used to configure the system +# to search other mirror locations for these objects before it builds the data itself. +# +# This can be a filesystem directory, or a remote url such as http or ftp. These +# would contain the sstate-cache results from previous builds (possibly from other +# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the +# cache locations to check for the shared objects. +# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH +# at the end as shown in the examples below. This will be substituted with the +# correct path within the directory structure. +#SSTATE_MIRRORS ?= "\ +#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \ +#file://.* file:///some/local/dir/sstate/PATH" + + +# +# Qemu configuration +# +# By default qemu will build with a builtin VNC server where graphical output can be +# seen. The two lines below enable the SDL backend too. By default libsdl-native will +# be built, if you want to use your host's libSDL instead of the minimal libsdl built +# by libsdl-native then uncomment the ASSUME_PROVIDED line below. +PACKAGECONFIG_append_pn-qemu-native = " sdl" +PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" +#ASSUME_PROVIDED += "libsdl-native" + + +# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to +# track the version of this file when it was generated. This can safely be ignored if +# this doesn't mean anything to you. +CONF_VERSION = "1" + +# +# Enable local PR server +# +PRSERV_HOST = "localhost:0" + +# +# Some libraries and packages are covered by NXP EULA +# +#ACCEPT_FSL_EULA = "1"