[meta-xilinx] [meta-xilinx-bsp][PATCH v2] libmali-xlnx.bb: Add recipe to support MALI 400 binaries
This recipe allows user to fetch the MALI 400 binaries from xilinx.com manually and use it with compatible machines based on UltraScale+ for libgles1/libgles2 and egl libraries. Signed-off-by: Manjukumar Matha --- Changelog: v2: add COMPATIBLE_MACHINE as zynqmpeg and zynqmpev add PACKAGE ARCH as soc_family and soc_variant The above changes are to meet the criteria for SOC_VARIANT introduced in recent patches .../recipes-graphics/libgles/files/egl.pc | 12 +++ .../recipes-graphics/libgles/files/glesv1.pc | 12 +++ .../recipes-graphics/libgles/files/glesv1_cm.pc| 12 +++ .../recipes-graphics/libgles/files/glesv2.pc | 12 +++ .../recipes-graphics/libgles/libmali-xlnx.bb | 108 + 5 files changed, 156 insertions(+) create mode 100644 meta-xilinx-bsp/recipes-graphics/libgles/files/egl.pc create mode 100644 meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1.pc create mode 100644 meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1_cm.pc create mode 100644 meta-xilinx-bsp/recipes-graphics/libgles/files/glesv2.pc create mode 100644 meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb diff --git a/meta-xilinx-bsp/recipes-graphics/libgles/files/egl.pc b/meta-xilinx-bsp/recipes-graphics/libgles/files/egl.pc new file mode 100644 index 000..f9935f2 --- /dev/null +++ b/meta-xilinx-bsp/recipes-graphics/libgles/files/egl.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/lib +includedir=/usr/include + +Name: egl +Description: MALI EGL library +Requires.private: +Version: r8p0 +Libs: -L${libdir} -lEGL +Libs.private: -lm -lpthread -ldl +Cflags: -I${includedir} diff --git a/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1.pc b/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1.pc new file mode 100644 index 000..4895400 --- /dev/null +++ b/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/lib +includedir=/usr/include + +Name: glesv1 +Description: MALI OpenGL ES 1.1 library +Requires.private: +Version: r8p0 +Libs: -L${libdir} -lGLESv1_CM +Libs.private: -lm -lpthread -ldl +Cflags: -I${includedir} diff --git a/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1_cm.pc b/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1_cm.pc new file mode 100644 index 000..888af87 --- /dev/null +++ b/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv1_cm.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/lib +includedir=/usr/include + +Name: gles_cm +Description: Mali OpenGL ES 1.1 CM library +Requires.private: +Version: r8p0 +Libs: -L${libdir} -lGLESv1_CM +Libs.private: -lm -lpthread -ldl +Cflags: -I${includedir} diff --git a/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv2.pc b/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv2.pc new file mode 100644 index 000..5047c39 --- /dev/null +++ b/meta-xilinx-bsp/recipes-graphics/libgles/files/glesv2.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/lib +includedir=/usr/include + +Name: glesv2 +Description: MALI OpenGL ES 2.0 library +Requires.private: +Version: r8p0 +Libs: -L${libdir} -lGLESv2 +Libs.private: -lm -lpthread -ldl +Cflags: -I${includedir} diff --git a/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb b/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb new file mode 100644 index 000..3e675d9 --- /dev/null +++ b/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb @@ -0,0 +1,108 @@ +DESCRIPTION = "libGLES for ZynqMP with Mali 400" + +LICENSE = "Proprietary" +LICENSE_FLAGS = "xilinx" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28" + +inherit distro_features_check +inherit xilinx-fetch-restricted + +ANY_OF_DISTRO_FEATURES = "fbdev x11" + +PROVIDES += "virtual/libgles1 virtual/libgles2 virtual/egl" + +FILESEXTRAPATHS_append := " \ +${THISDIR}/files: \ +${THISDIR}/r8p0-00rel0: " + + +# Fetch the MALI 400 binaries from here +# https://www.xilinx.com/member/forms/download/mali-driver-license.html?filename=mali-400-userspace.tar + +PV = "r8p0-01rel0" +SRC_URI = " \ + https://www.xilinx.com/member/forms/download/mali-driver-license.html?filename=mali-400-userspace.tar;downloadfilename=mali-400-userspace.tar \ +file://egl.pc \ +file://glesv1_cm.pc \ +file://glesv1.pc \ +file://glesv2.pc \ +" + +SRC_URI[md5sum] = "e75b147c8b4ee96616e24572cdc9c21f" +SRC_URI[sha256sum] = "7b179ec2df54ee05a886cca1535c0bdc6cba77a646e22742adedc79bfc2b3017" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE_zynqmpeg = "zynqmpeg" +COMPATIBLE_MACHINE_zynqmpev = "zynqmpev" + +PACKAGE_ARCH = "${SOC_FAMILY}${SOC_VARIANT}" + + +S = "${WORKDIR}/mali-400" + +X11RDEPENDS = "libxdamage libxext libx11 libdrm libxfixes" +X11DEPENDS = "libxdamage libxext virtual/libx11 libdrm libxfixes" + +RDEPENDS_${PN} = " \ + kernel-module-mali \ +
[meta-xilinx] [[meta-xilinx-bsp][PATCH v2]] device-tree.bb: add missing include path
This patch adds a missing include path for generic kernel DTC includes. Signed-off-by: Martin Siegumfeldt Reviewed-by: Nathan Rossi --- meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb b/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb index dc49cbb..d1b6771 100644 --- a/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb +++ b/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb @@ -30,6 +30,7 @@ SYSROOT_DIRS += "/boot/devicetree" KERNEL_DTS_INCLUDE ??= " \ ${STAGING_KERNEL_DIR}/arch/${ARCH}/boot/dts \ ${STAGING_KERNEL_DIR}/arch/${ARCH}/boot/dts/include \ + ${STAGING_KERNEL_DIR}/scripts/dtc/include-prefixes \ " # For arm64/zynqmp the xilinx specific includes are subdired under a vendor directory. KERNEL_DTS_INCLUDE_append_zynqmp = " \ -- 2.14.1 -- ___ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx
Re: [meta-xilinx] [PATCH] device-tree.bb: add missing include path
On 21 June 2018 at 05:34, Martin Siegumfeldt wrote: > > On 20 June 2018 at 21:14, Martin Siegumfeldt wrote: > > > >> This patch add a missing include path for dt-bindings header-files >> (i.e. gpio, pinctrl etc.) >> >> Signed-off-by: Martin Siegumfeldt >> --- >> meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb >> b/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb >> index dc49cbb..e01e5b5 100644 >> --- a/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb >> +++ b/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb >> @@ -34,6 +34,7 @@ KERNEL_DTS_INCLUDE ??= " \ >> # For arm64/zynqmp the xilinx specific includes are subdired under a vendor >> directory. >> KERNEL_DTS_INCLUDE_append_zynqmp = " \ >> ${STAGING_KERNEL_DIR}/arch/${ARCH}/boot/dts/xilinx \ >> + ${STAGING_KERNEL_DIR}/include \ > > Does "${STAGING_KERNEL_DIR}/scripts/dtc/include-prefixes" cover the > includes you are after? Since I don't believe the kernel itself adds > the root include directory for dtc targets. > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/scripts/Makefile.lib?h=v4.18-rc1#n167 > > Regards, > Nathan > > Yes it does: > > martin@dell:~/work/z7000-distro_sumo/build$ ls -la > tmp/work-shared/nanomind-ultra-zu6eg-uv1/kernel-source/scripts/dtc/include-prefixes/ > total 8 > drwxr-xr-x 2 martin martin 4096 Jun 20 21:24 . > drwxr-xr-x 4 martin martin 4096 Jun 20 21:24 .. > lrwxrwxrwx 1 martin martin 26 Jun 20 21:24 arc -> ../../../arch/arc/boot/dts > lrwxrwxrwx 1 martin martin 26 Jun 20 21:24 arm -> ../../../arch/arm/boot/dts > lrwxrwxrwx 1 martin martin 28 Jun 20 21:24 arm64 -> > ../../../arch/arm64/boot/dts > lrwxrwxrwx 1 martin martin 26 Jun 20 21:24 c6x -> ../../../arch/c6x/boot/dts > lrwxrwxrwx 1 martin martin 27 Jun 20 21:24 cris -> > ../../../arch/cris/boot/dts > lrwxrwxrwx 1 martin martin 28 Jun 20 21:24 dt-bindings -> > ../../../include/dt-bindings > lrwxrwxrwx 1 martin martin 28 Jun 20 21:24 h8300 -> > ../../../arch/h8300/boot/dts > lrwxrwxrwx 1 martin martin 28 Jun 20 21:24 metag -> > ../../../arch/metag/boot/dts > lrwxrwxrwx 1 martin martin 33 Jun 20 21:24 microblaze -> > ../../../arch/microblaze/boot/dts > lrwxrwxrwx 1 martin martin 27 Jun 20 21:24 mips -> > ../../../arch/mips/boot/dts > lrwxrwxrwx 1 martin martin 28 Jun 20 21:24 nios2 -> > ../../../arch/nios2/boot/dts > lrwxrwxrwx 1 martin martin 31 Jun 20 21:24 openrisc -> > ../../../arch/openrisc/boot/dts > lrwxrwxrwx 1 martin martin 30 Jun 20 21:24 powerpc -> > ../../../arch/powerpc/boot/dts > lrwxrwxrwx 1 martin martin 25 Jun 20 21:24 sh -> ../../../arch/sh/boot/dts > lrwxrwxrwx 1 martin martin 29 Jun 20 21:24 xtensa -> > ../../../arch/xtensa/boot/dts > > martin@dell:~/work/z7000-distro_sumo/build$ file > tmp/work-shared/nanomind-ultra-zu6eg-uv1/kernel-source/include/dt-bindings/gpio/gpio.h > tmp/work-shared/nanomind-ultra-zu6eg-uv1/kernel-source/include/dt-bindings/gpio/gpio.h: > C source, ASCII text > > The include part of the device tree being built: > > #include "zynqmp.dtsi" > #include "zynqmp-clk-ccf.dtsi" > #include > #include > #include > > AFAICS from the Xilinx machines, there are no zynqmp variants utilizing > out-of-tree device trees, only zynq which do not include any of the above > header files. This is why I suspected the scenario to be untested by Xilinx. Yep, it is just a case of it not being brought up as a missing include. :) I had included the include-prefix path in my RFC for devicetree.bbclass for oe-core (http://lists.openembedded.org/pipermail/openembedded-core/2018-April/149662.html). I haven't followed up on that patch yet, but it wont be in the sumo release. So if you can spin a v2 of this patch with the include-prefix path instead and you can add my: Reviewed-by: Nathan Rossi Thanks, Nathan > > Thanks, > Martin > > >> " >> >> DTS_FILES_PATH ?= "${S}" >> -- >> 2.14.1 >> >> -- >> ___ >> meta-xilinx mailing list >> meta-xilinx@yoctoproject.org >> https://lists.yoctoproject.org/listinfo/meta-xilinx > -- ___ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx