[meta-xilinx] [meta-xilinx-bsp][PATCH v2] libmali-xlnx.bb: Add recipe to support MALI 400 binaries

2018-06-21 Thread Manjukumar Matha
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

2018-06-21 Thread Martin Siegumfeldt
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

2018-06-21 Thread Nathan Rossi
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