[Buildroot] [PATCH 1/1] add sunxi-mali r6p2 mainline user space blob
Giulio Benetti
giulio.benetti at micronovasrl.com
Sun Nov 5 22:23:44 UTC 2017
Signed-off-by: Giulio Benetti <giulio.benetti at micronovasrl.com>
---
package/sunxi-mali-mainline/Config.in | 38 ++++++++++++++
package/sunxi-mali-mainline/egl.pc | 12 +++++
package/sunxi-mali-mainline/glesv2.pc | 12 +++++
package/sunxi-mali-mainline/sunxi-mali-mainline.mk | 59 ++++++++++++++++++++++
4 files changed, 121 insertions(+)
create mode 100644 package/sunxi-mali-mainline/Config.in
create mode 100644 package/sunxi-mali-mainline/egl.pc
create mode 100644 package/sunxi-mali-mainline/glesv2.pc
create mode 100644 package/sunxi-mali-mainline/sunxi-mali-mainline.mk
diff --git a/package/sunxi-mali-mainline/Config.in b/package/sunxi-mali-mainline/Config.in
new file mode 100644
index 0000000..0b180d7
--- /dev/null
+++ b/package/sunxi-mali-mainline/Config.in
@@ -0,0 +1,38 @@
+config BR2_PACKAGE_SUNXI_MALI_MAINLINE
+ bool "sunxi-mali-mainline"
+ depends on BR2_arm
+ depends on BR2_ARM_EABIHF
+ depends on BR2_TOOLCHAIN_USES_GLIBC
+ select BR2_PACKAGE_HAS_LIBEGL
+ select BR2_PACKAGE_HAS_LIBGLES
+ help
+ Install the ARM Mali drivers for sunxi based systems (i.e
+ systems based on ARM Allwinner SoCs). This driver requires
+ either the sunxi-kernel with the ARM Mali driver enabled or
+ the installation of the ARM Mali drivers as an external
+ module.
+
+if BR2_PACKAGE_SUNXI_MALI_MAINLINE
+
+config BR2_PACKAGE_PROVIDES_LIBEGL
+ default "sunxi-mali-mainline"
+
+config BR2_PACKAGE_PROVIDES_LIBGLES
+ default "sunxi-mali-mainline"
+
+choice
+ prompt "Version"
+ default BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2
+ help
+ Select the version of the kernel module.
+
+config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2
+ bool "r6p2"
+
+endchoice
+
+endif
+
+comment "sunxi-mali needs an EABIhf glibc toolchain"
+ depends on BR2_arm
+ depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF
diff --git a/package/sunxi-mali-mainline/egl.pc b/package/sunxi-mali-mainline/egl.pc
new file mode 100644
index 0000000..3854e5f
--- /dev/null
+++ b/package/sunxi-mali-mainline/egl.pc
@@ -0,0 +1,12 @@
+prefix=/usr/
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: egl
+Description: ARM Mali implementation of EGL
+Version: 1.4
+Requires:
+Libs: -L${libdir} -lEGL -lGLESv2
+Cflags: -I${includedir}
+
diff --git a/package/sunxi-mali-mainline/glesv2.pc b/package/sunxi-mali-mainline/glesv2.pc
new file mode 100644
index 0000000..6910b46
--- /dev/null
+++ b/package/sunxi-mali-mainline/glesv2.pc
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: glesv2
+Description: ARM Mali implementation of OpenGL ESv2
+Version: 2.0
+Requires:
+Libs: -L${libdir} -lGLESv2 -lGLESv1_CM
+Cflags: -I${includedir}
+
diff --git a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
new file mode 100644
index 0000000..42f973e
--- /dev/null
+++ b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
@@ -0,0 +1,59 @@
+################################################################################
+#
+# sunxi-mali-mainline
+#
+################################################################################
+
+# last sha1 character dropped to ensure unique filename
+SUNXI_MALI_MAINLINE_VERSION = cb3e8ece9b2c3a70cbeb3204cd6f30eceaa3202
+SUNXI_MALI_MAINLINE_SITE = https://github.com/free-electrons/mali-blobs.git
+SUNXI_MALI_MAINLINE_SITE_METHOD = git
+
+SUNXI_MALI_MAINLINE_INSTALL_STAGING = YES
+SUNXI_MALI_MAINLINE_PROVIDES = libegl libgles
+
+ifeq ($(BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2),y)
+SUNXI_MALI_LIB_VER=r6p2
+endif
+
+ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
+SUNXI_MALI_MAINLINE_DEPENDENCIES += xlib_libX11 xlib_libXfixes \
+ xlib_libXext xlib_libXdamage libdrm
+endif
+
+define SUNXI_MALI_MAINLINE_BUILD_CMDS
+endef
+
+ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
+define SUNXI_MALI_MAINLINE_INSTALL_STAGING_CMDS
+ cp -rf $(@D)/$(SUNXI_MALI_LIB_VER)/x11_dma_buf/lib_x11_dma_buf/* $(STAGING_DIR)/usr/lib
+ cp -rf $(@D)/$(SUNXI_MALI_LIB_VER)/fbdev/include/* $(STAGING_DIR)/usr/include/
+
+ $(INSTALL) -D -m 0644 package/sunxi-mali-mainline/egl.pc \
+ $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
+ $(INSTALL) -D -m 0644 package/sunxi-mali-mainline/glesv2.pc \
+ $(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc
+endef
+else
+define SUNXI_MALI_MAINLINE_INSTALL_STAGING_CMDS
+ cp -rf $(@D)/$(SUNXI_MALI_LIB_VER)/fbdev/lib/lib_fb_dev/* $(STAGING_DIR)/usr/lib/
+ cp -rf $(@D)/$(SUNXI_MALI_LIB_VER)/fbdev/include/* $(STAGING_DIR)/usr/include/
+
+ $(INSTALL) -D -m 0644 package/sunxi-mali-mainline/egl.pc \
+ $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
+ $(INSTALL) -D -m 0644 package/sunxi-mali-mainline/glesv2.pc \
+ $(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc
+endef
+endif
+
+ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
+define SUNXI_MALI_MAINLINE_INSTALL_TARGET_CMDS
+ cp -rf $(@D)/$(SUNXI_MALI_LIB_VER)/x11_dma_buf/lib_x11_dma_buf/* $(TARGET_DIR)/usr/lib
+endef
+else
+define SUNXI_MALI_MAINLINE_INSTALL_TARGET_CMDS
+ cp -rf $(@D)/$(SUNXI_MALI_LIB_VER)/fbdev/lib/lib_fb_dev/* $(TARGET_DIR)/usr/lib/
+endef
+endif
+
+$(eval $(generic-package))
--
2.7.4
More information about the buildroot
mailing list