summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-graphics/mali/mali-imx.inc107
-rw-r--r--recipes-graphics/mali/mali-imx_r50.0.bb25
2 files changed, 132 insertions, 0 deletions
diff --git a/recipes-graphics/mali/mali-imx.inc b/recipes-graphics/mali/mali-imx.inc
new file mode 100644
index 00000000..e4fafeb0
--- /dev/null
+++ b/recipes-graphics/mali/mali-imx.inc
@@ -0,0 +1,107 @@
1SUMMARY = "Graphics libraries and driver for i.MX Mali GPU"
2SECTION = "libs"
3DEPENDS = " \
4 libdrm \
5 vulkan-loader \
6 wayland \
7 wayland-protocols"
8PROVIDES = " \
9 virtual/egl \
10 virtual/libgbm \
11 virtual/libgles1 \
12 virtual/libgles2 \
13 virtual/libgles3"
14
15# The packaged binaries have been stripped of debug info, so disable
16# operations accordingly.
17INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
18INHIBIT_PACKAGE_STRIP = "1"
19INHIBIT_SYSROOT_STRIP = "1"
20
21PACKAGES =+ " \
22 ${PN}-libegl ${PN}-libegl-dev \
23 ${PN}-libgbm ${PN}-libgbm-dev \
24 ${PN}-libgles1 ${PN}-libgles1-dev \
25 ${PN}-libgles2 ${PN}-libgles2-dev \
26 ${PN}-libgles3 ${PN}-libgles3-dev \
27 ${PN}-libvulkan \
28 ${PN}-opencl-icd ${PN}-opencl-icd-dev"
29
30# Since libmali.so is loaded by dlopen, include it in the main package
31FILES:${PN} += " \
32 ${libdir}/libmali.so \
33 ${nonarch_base_libdir}/firmware"
34FILES_SOLIBSDEV = ""
35INSANE_SKIP:${PN} = "dev-so"
36FILES:${PN}-libegl = " \
37 ${libdir}/libEGL${SOLIBS}"
38FILES:${PN}-libgbm = " \
39 ${libdir}/libgbm${SOLIBS}"
40FILES:${PN}-libgles1 = " \
41 ${libdir}/libGLESv1_CM${SOLIBS}"
42FILES:${PN}-libgles2 = " \
43 ${libdir}/libGLESv2${SOLIBS}"
44FILES:${PN}-opencl-icd = " \
45 ${sysconfdir}/OpenCL"
46FILES:${PN}-libvulkan = " \
47 ${sysconfdir}/vulkan"
48
49FILES:${PN}-dev = " \
50 ${bindir}/malisc"
51FILES:${PN}-libegl-dev = " \
52 ${includedir}/EGL \
53 ${includedir}/KHR \
54 ${libdir}/libEGL${SOLIBSDEV} \
55 ${libdir}/pkgconfig/egl.pc"
56FILES:${PN}-libgbm-dev = " \
57 ${includedir}/gbm.h \
58 ${libdir}/libgbm${SOLIBSDEV} \
59 ${libdir}/pkgconfig/gbm.pc"
60
61# Consolidate GLES dev packages
62PACKAGES =+ "${PN}-libgles-dev"
63FILES:${PN}-libgles-dev = " \
64 ${includedir}/GLES* \
65 ${libdir}/libGLES*${SOLIBSDEV} \
66 ${libdir}/pkgconfig/gles*.pc"
67DEBIAN_NOAUTONAME:${PN}-libgles-dev = "1"
68RREPLACES:${PN}-libgles-dev = "libgles-dev"
69RPROVIDES:${PN}-libgles-dev = "libgles-dev"
70RCONFLICTS:${PN}-libgles-dev = "libgles-dev"
71ALLOW_EMPTY:${PN}-libgles1-dev = "1"
72ALLOW_EMPTY:${PN}-libgles2-dev = "1"
73ALLOW_EMPTY:${PN}-libgles3-dev = "1"
74RDEPENDS:${PN}-libgles1-dev = "${PN}-libgles-dev"
75RDEPENDS:${PN}-libgles2-dev = "${PN}-libgles-dev"
76RDEPENDS:${PN}-libgles3-dev = "${PN}-libgles-dev"
77
78FILES:${PN}-opencl-icd-dev = " \
79 ${bindir}/mali_clcc"
80
81python __anonymous() {
82
83 # Avoid Debian-renaming
84 for p in (("libegl", "libegl1" ),
85 ("libgbm", "libgbm1" ),
86 ("libgles1", "libglesv1-cm1"),
87 ("libgles2", "libglesv2-2" ),
88 ("libgles3", )):
89 fullp = "${PN}-" + p[0]
90 pkgs = "".join(' %s' % i for i in p)
91 d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
92 d.appendVar("RREPLACES:" + fullp, pkgs)
93 d.appendVar("RPROVIDES:" + fullp, pkgs)
94 d.appendVar("RCONFLICTS:" + fullp, pkgs)
95 # libmali.so is loaded with dlopen, so an explicit runtime dependency is necessary
96 d.appendVar("RDEPENDS:" + fullp, "${PN}")
97
98 # For -dev, the first element is both the Debian and original name
99 fullp += "-dev"
100 pkgs = p[0] + "-dev"
101 d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
102 d.appendVar("RREPLACES:" + fullp, pkgs)
103 d.appendVar("RPROVIDES:" + fullp, pkgs)
104 d.appendVar("RCONFLICTS:" + fullp, pkgs)
105}
106
107COMPATIBLE_MACHINE = "(mx95-nxp-bsp)"
diff --git a/recipes-graphics/mali/mali-imx_r50.0.bb b/recipes-graphics/mali/mali-imx_r50.0.bb
new file mode 100644
index 00000000..3d30f468
--- /dev/null
+++ b/recipes-graphics/mali/mali-imx_r50.0.bb
@@ -0,0 +1,25 @@
1require mali-imx.inc
2
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
5
6SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
7SRC_URI[sha256sum] = "a787a3285c3e288eedacf1a746de2bc9f5fdc15f35cf8b6147deb436183baf6f"
8IMX_SRCREV_ABBREV = "39604c3"
9
10S = "${WORKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
11
12inherit fsl-eula-unpack
13
14do_install () {
15 install -d ${D}
16 cp -r ${S}/etc ${S}/usr ${D}
17
18 # Move firmware to nonarch_base_libdir
19 if [ "${base_libdir}" != "${nonarch_base_libdir}" ]; then
20 install -d ${D}${nonarch_base_libdir}
21 mv ${D}${base_libdir}/firmware ${D}${nonarch_base_libdir}
22 fi
23}
24
25PACKAGE_ARCH = "${MACHINE_SOCARCH}"