diff options
-rw-r--r-- | recipes-graphics/mali/mali-imx.inc | 107 | ||||
-rw-r--r-- | recipes-graphics/mali/mali-imx_r50.0.bb | 25 |
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 @@ | |||
1 | SUMMARY = "Graphics libraries and driver for i.MX Mali GPU" | ||
2 | SECTION = "libs" | ||
3 | DEPENDS = " \ | ||
4 | libdrm \ | ||
5 | vulkan-loader \ | ||
6 | wayland \ | ||
7 | wayland-protocols" | ||
8 | PROVIDES = " \ | ||
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. | ||
17 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
18 | INHIBIT_PACKAGE_STRIP = "1" | ||
19 | INHIBIT_SYSROOT_STRIP = "1" | ||
20 | |||
21 | PACKAGES =+ " \ | ||
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 | ||
31 | FILES:${PN} += " \ | ||
32 | ${libdir}/libmali.so \ | ||
33 | ${nonarch_base_libdir}/firmware" | ||
34 | FILES_SOLIBSDEV = "" | ||
35 | INSANE_SKIP:${PN} = "dev-so" | ||
36 | FILES:${PN}-libegl = " \ | ||
37 | ${libdir}/libEGL${SOLIBS}" | ||
38 | FILES:${PN}-libgbm = " \ | ||
39 | ${libdir}/libgbm${SOLIBS}" | ||
40 | FILES:${PN}-libgles1 = " \ | ||
41 | ${libdir}/libGLESv1_CM${SOLIBS}" | ||
42 | FILES:${PN}-libgles2 = " \ | ||
43 | ${libdir}/libGLESv2${SOLIBS}" | ||
44 | FILES:${PN}-opencl-icd = " \ | ||
45 | ${sysconfdir}/OpenCL" | ||
46 | FILES:${PN}-libvulkan = " \ | ||
47 | ${sysconfdir}/vulkan" | ||
48 | |||
49 | FILES:${PN}-dev = " \ | ||
50 | ${bindir}/malisc" | ||
51 | FILES:${PN}-libegl-dev = " \ | ||
52 | ${includedir}/EGL \ | ||
53 | ${includedir}/KHR \ | ||
54 | ${libdir}/libEGL${SOLIBSDEV} \ | ||
55 | ${libdir}/pkgconfig/egl.pc" | ||
56 | FILES:${PN}-libgbm-dev = " \ | ||
57 | ${includedir}/gbm.h \ | ||
58 | ${libdir}/libgbm${SOLIBSDEV} \ | ||
59 | ${libdir}/pkgconfig/gbm.pc" | ||
60 | |||
61 | # Consolidate GLES dev packages | ||
62 | PACKAGES =+ "${PN}-libgles-dev" | ||
63 | FILES:${PN}-libgles-dev = " \ | ||
64 | ${includedir}/GLES* \ | ||
65 | ${libdir}/libGLES*${SOLIBSDEV} \ | ||
66 | ${libdir}/pkgconfig/gles*.pc" | ||
67 | DEBIAN_NOAUTONAME:${PN}-libgles-dev = "1" | ||
68 | RREPLACES:${PN}-libgles-dev = "libgles-dev" | ||
69 | RPROVIDES:${PN}-libgles-dev = "libgles-dev" | ||
70 | RCONFLICTS:${PN}-libgles-dev = "libgles-dev" | ||
71 | ALLOW_EMPTY:${PN}-libgles1-dev = "1" | ||
72 | ALLOW_EMPTY:${PN}-libgles2-dev = "1" | ||
73 | ALLOW_EMPTY:${PN}-libgles3-dev = "1" | ||
74 | RDEPENDS:${PN}-libgles1-dev = "${PN}-libgles-dev" | ||
75 | RDEPENDS:${PN}-libgles2-dev = "${PN}-libgles-dev" | ||
76 | RDEPENDS:${PN}-libgles3-dev = "${PN}-libgles-dev" | ||
77 | |||
78 | FILES:${PN}-opencl-icd-dev = " \ | ||
79 | ${bindir}/mali_clcc" | ||
80 | |||
81 | python __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 | |||
107 | COMPATIBLE_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 @@ | |||
1 | require mali-imx.inc | ||
2 | |||
3 | LICENSE = "Proprietary" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837" | ||
5 | |||
6 | SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" | ||
7 | SRC_URI[sha256sum] = "a787a3285c3e288eedacf1a746de2bc9f5fdc15f35cf8b6147deb436183baf6f" | ||
8 | IMX_SRCREV_ABBREV = "39604c3" | ||
9 | |||
10 | S = "${WORKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}" | ||
11 | |||
12 | inherit fsl-eula-unpack | ||
13 | |||
14 | do_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 | |||
25 | PACKAGE_ARCH = "${MACHINE_SOCARCH}" | ||