[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