All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers
@ 2013-07-19 23:37 Spenser Gilliland
  2013-07-19 23:37 ` [Buildroot] [PATCH 1/4] a10disp: new package Spenser Gilliland
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Spenser Gilliland @ 2013-07-19 23:37 UTC (permalink / raw)
  To: buildroot

This patch adds the ARM Mali graphics driver for Allwinner based systems.

Spenser Gilliland (4):
  a10disp: new package
  sunxi-mali: new package
  opengl: add sunxi-mali as possible egl/gles provider
  sunxi-cedar: add cedar hardware video decoding library

 package/Config.in                          |  4 ++
 package/a10disp/Config.in                  | 12 +++++
 package/a10disp/a10disp.mk                 | 21 ++++++++
 package/opengl/libegl/libegl.mk            |  4 ++
 package/opengl/libgles/libgles.mk          |  4 ++
 package/sunxi-cedar/Config.in              | 10 ++++
 package/sunxi-cedar/sunxi-cedar.mk         | 49 ++++++++++++++++++
 package/sunxi-mali-prop/Config.in          |  4 ++
 package/sunxi-mali-prop/sunxi-mali-prop.mk | 10 ++++
 package/sunxi-mali/Config.in               | 52 +++++++++++++++++++
 package/sunxi-mali/S80mali                 | 54 ++++++++++++++++++++
 package/sunxi-mali/egl.pc                  | 12 +++++
 package/sunxi-mali/glesv2.pc               | 12 +++++
 package/sunxi-mali/sunxi-mali.mk           | 82 ++++++++++++++++++++++++++++++
 14 files changed, 330 insertions(+)
 create mode 100644 package/a10disp/Config.in
 create mode 100644 package/a10disp/a10disp.mk
 create mode 100644 package/sunxi-cedar/Config.in
 create mode 100644 package/sunxi-cedar/sunxi-cedar.mk
 create mode 100644 package/sunxi-mali-prop/Config.in
 create mode 100644 package/sunxi-mali-prop/sunxi-mali-prop.mk
 create mode 100644 package/sunxi-mali/Config.in
 create mode 100644 package/sunxi-mali/S80mali
 create mode 100644 package/sunxi-mali/egl.pc
 create mode 100644 package/sunxi-mali/glesv2.pc
 create mode 100644 package/sunxi-mali/sunxi-mali.mk

-- 
1.8.1.2

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 1/4] a10disp: new package
  2013-07-19 23:37 [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Spenser Gilliland
@ 2013-07-19 23:37 ` Spenser Gilliland
  2013-07-19 23:37 ` [Buildroot] [PATCH 2/4] sunxi-mali: " Spenser Gilliland
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Spenser Gilliland @ 2013-07-19 23:37 UTC (permalink / raw)
  To: buildroot


Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
---
 package/Config.in          |  1 +
 package/a10disp/Config.in  | 12 ++++++++++++
 package/a10disp/a10disp.mk | 21 +++++++++++++++++++++
 3 files changed, 34 insertions(+)
 create mode 100644 package/a10disp/Config.in
 create mode 100644 package/a10disp/a10disp.mk

diff --git a/package/Config.in b/package/Config.in
index 286a605..0ba8ee4 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -229,6 +229,7 @@ source "package/ux500-firmware/Config.in"
 source "package/zd1211-firmware/Config.in"
 endmenu
 source "package/freescale-imx/Config.in"
+source "package/a10disp/Config.in"
 source "package/acpid/Config.in"
 source "package/cdrkit/Config.in"
 source "package/dbus/Config.in"
diff --git a/package/a10disp/Config.in b/package/a10disp/Config.in
new file mode 100644
index 0000000..b4edf31
--- /dev/null
+++ b/package/a10disp/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_A10DISP
+	bool "a10disp"
+	depends on BR2_arm
+	depends on BR2_LINUX_KERNEL
+	help
+	  Program to change the display mode of Allwinner ARM SOCs running
+	  the linux-sunxi kernel (and not the mainline kernel.)
+
+	  http://github.com/hglm/a10disp
+
+comment "a10disp requires the linux kernel"
+	depends on BR2_arm && !BR2_LINUX_KERNEL
diff --git a/package/a10disp/a10disp.mk b/package/a10disp/a10disp.mk
new file mode 100644
index 0000000..7dfc1b5
--- /dev/null
+++ b/package/a10disp/a10disp.mk
@@ -0,0 +1,21 @@
+################################################################################
+#
+# a10disp
+#
+################################################################################
+
+A10DISP_VERSION = a899cc6dcf
+A10DISP_SITE = http://github.com/hglm/a10disp/tarball/$(A10DISP_VERSION)
+
+A10DISP_DEPENDENCIES = linux
+
+define A10DISP_BUILD_CMDS
+	cp -f $(LINUX_DIR)/include/video/sunxi_disp_ioctl.h $(@D)/
+	$(TARGET_CC) $(TARGET_CFLAGS) $(@D)/a10disp.c -o $(@D)/a10disp
+endef
+
+define A10DISP_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/a10disp $(TARGET_DIR)/usr/bin/a10disp
+endef
+
+$(eval $(generic-package))
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 2/4] sunxi-mali: new package
  2013-07-19 23:37 [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Spenser Gilliland
  2013-07-19 23:37 ` [Buildroot] [PATCH 1/4] a10disp: new package Spenser Gilliland
@ 2013-07-19 23:37 ` Spenser Gilliland
  2013-07-28 15:40   ` Thomas Petazzoni
  2013-07-19 23:37 ` [Buildroot] [PATCH 3/4] opengl: add sunxi-mali as possible egl/gles provider Spenser Gilliland
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Spenser Gilliland @ 2013-07-19 23:37 UTC (permalink / raw)
  To: buildroot


Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
---
 package/Config.in                          |  2 +
 package/sunxi-mali-prop/Config.in          |  4 ++
 package/sunxi-mali-prop/sunxi-mali-prop.mk | 10 ++++
 package/sunxi-mali/Config.in               | 52 +++++++++++++++++++
 package/sunxi-mali/S80mali                 | 54 ++++++++++++++++++++
 package/sunxi-mali/egl.pc                  | 12 +++++
 package/sunxi-mali/glesv2.pc               | 12 +++++
 package/sunxi-mali/sunxi-mali.mk           | 82 ++++++++++++++++++++++++++++++
 8 files changed, 228 insertions(+)
 create mode 100644 package/sunxi-mali-prop/Config.in
 create mode 100644 package/sunxi-mali-prop/sunxi-mali-prop.mk
 create mode 100644 package/sunxi-mali/Config.in
 create mode 100644 package/sunxi-mali/S80mali
 create mode 100644 package/sunxi-mali/egl.pc
 create mode 100644 package/sunxi-mali/glesv2.pc
 create mode 100644 package/sunxi-mali/sunxi-mali.mk

diff --git a/package/Config.in b/package/Config.in
index 0ba8ee4..e49264f 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -294,6 +294,8 @@ source "package/smartmontools/Config.in"
 source "package/snowball-hdmiservice/Config.in"
 source "package/sredird/Config.in"
 source "package/statserial/Config.in"
+source "package/sunxi-mali/Config.in"
+source "package/sunxi-mali-prop/Config.in"
 source "package/sysstat/Config.in"
 source "package/ti-gfx/Config.in"
 source "package/ti-utils/Config.in"
diff --git a/package/sunxi-mali-prop/Config.in b/package/sunxi-mali-prop/Config.in
new file mode 100644
index 0000000..b9efb4e
--- /dev/null
+++ b/package/sunxi-mali-prop/Config.in
@@ -0,0 +1,4 @@
+# Sunxi-mali-prop is a git submodule of sunxi-mali. To use this package
+# select the sunxi-mali option.
+config BR2_PACKAGE_SUNXI_MALI_PROP
+	bool
diff --git a/package/sunxi-mali-prop/sunxi-mali-prop.mk b/package/sunxi-mali-prop/sunxi-mali-prop.mk
new file mode 100644
index 0000000..21960e6
--- /dev/null
+++ b/package/sunxi-mali-prop/sunxi-mali-prop.mk
@@ -0,0 +1,10 @@
+################################################################################
+#
+# sunxi-mali-prop
+#
+################################################################################
+
+SUNXI_MALI_PROP_VERSION = e4ced47
+SUNXI_MALI_PROP_SITE = http://github.com/linux-sunxi/sunxi-mali-proprietary/tarball/$(SUNXI_MALI_PROP_VERSION)
+
+$(eval $(generic-package))
diff --git a/package/sunxi-mali/Config.in b/package/sunxi-mali/Config.in
new file mode 100644
index 0000000..74b8ebc
--- /dev/null
+++ b/package/sunxi-mali/Config.in
@@ -0,0 +1,52 @@
+config BR2_PACKAGE_SUNXI_MALI
+	bool "sunxi-mali"
+	select BR2_PACKAGE_HAS_OPENGL_EGL
+	select BR2_PACKAGE_HAS_OPENGL_ES
+	# The egl/gles mali libraries are provided as a git submodule of the
+	# sunxi-mali repo and are downloaded by the sunxi-mali-prop package.
+	select BR2_PACKAGE_SUNXI_MALI_PROP
+	depends on BR2_TOOLCHAIN_USES_GLIBC
+	depends on BR2_arm
+	help
+	  Install the ARM Mali drivers for sunxi based systems.  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.
+
+	  http://github.com/linux-sunxi/sunxi-mali
+
+if BR2_PACKAGE_SUNXI_MALI
+
+config BR2_PACKAGE_SUNXI_MALI_DBG
+	bool "install malitest and maliver tools"
+	help
+	  Install 3D triangle demo malitest application and the maliver application
+	  which describes the kernel module version.
+
+choice
+	prompt "Version"
+	default BR2_PACKAGE_SUNXI_MALI_R3P0
+	help
+	  Select the version of the kernel module.  For the sunxi-kernel, the
+	  appropriate version number is r3p0. For other kernels, use the maliver
+	  application to determine the appropriate version.
+
+config BR2_PACKAGE_SUNXI_MALI_R2P4
+	bool "r2p4"
+
+config BR2_PACKAGE_SUNXI_MALI_R3P0
+	bool "r3p0"
+
+config BR2_PACKAGE_SUNXI_MALI_R3P1
+	depends on BR2_ARM_EABIHF
+	bool "r3p1"
+
+comment "r3p1 requires a toolchain with hard float support"
+	depends on !BR2_ARM_EABIHF
+
+endchoice
+
+endif
+
+comment "sunxi-mali requires an eglibc/glibc based toolchain"
+	depends on BR2_arm && !BR2_TOOLCHAIN_USES_GLIBC
+
diff --git a/package/sunxi-mali/S80mali b/package/sunxi-mali/S80mali
new file mode 100644
index 0000000..a1f32df
--- /dev/null
+++ b/package/sunxi-mali/S80mali
@@ -0,0 +1,54 @@
+#!/bin/sh -e
+
+install_driver() {
+	DRIVER=$1
+	OPTS=$2
+
+	modprobe $DRIVER $OPTS
+	maj=$(awk "$$2==\"${DRIVER}\" { print $$1; }" /proc/devices)
+
+	rm -f /dev/${DRIVER}
+
+	mknod /dev/${DRIVER} c $maj 0
+	chmod 600 /dev/${DRIVER}
+}
+
+start() {
+	echo "mali: starting driver"
+
+	BITSPERPIXEL="$(fbset | awk '/geom/ {print $6}')"
+	YRES="$(fbset | awk '/geom/ {print $3}')"
+	# Set RGBA ordering to something the drivers like
+	if [ "$BITSPERPIXEL" = "32" ] ; then
+		fbset -rgba 8/16,8/8,8/0,8/24
+	fi
+	# Try to enable triple buffering when there's enough VRAM
+	fbset -vyres $(( YRES*3 ))
+
+	install_driver mali
+	install_driver ump
+}	
+
+stop() {
+	echo "mali: stopping driver"
+
+	rmmod ump
+	rmmod mali
+}
+
+case "$1" in 
+start)
+	start
+;;
+stop)
+	stop
+;;
+restart)
+	stop
+	start
+;;
+*)
+	echo "mali: Please use start, stop, or restart."
+	exit 1
+;;
+esac
diff --git a/package/sunxi-mali/egl.pc b/package/sunxi-mali/egl.pc
new file mode 100644
index 0000000..56e3990
--- /dev/null
+++ b/package/sunxi-mali/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 -lUMP
+Cflags: -I{includedir}/EGL/ -I${includedir}
+
diff --git a/package/sunxi-mali/glesv2.pc b/package/sunxi-mali/glesv2.pc
new file mode 100644
index 0000000..4e112ee
--- /dev/null
+++ b/package/sunxi-mali/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 -lGLES_CM -lUMP
+Cflags: -I${includedir}/GLES2
+
diff --git a/package/sunxi-mali/sunxi-mali.mk b/package/sunxi-mali/sunxi-mali.mk
new file mode 100644
index 0000000..cfe5a73
--- /dev/null
+++ b/package/sunxi-mali/sunxi-mali.mk
@@ -0,0 +1,82 @@
+################################################################################
+#
+# sunxi-mali
+#
+################################################################################
+
+SUNXI_MALI_VERSION = c2491fe952
+SUNXI_MALI_SITE = http://github.com/linux-sunxi/sunxi-mali/tarball/$(SUNXI_MALI_VERSION)
+
+SUNXI_MALI_INSTALL_STAGING = YES
+SUNXI_MALI_DEPENDENCIES = sunxi-mali-prop
+
+# The options below must be provided in the environment.  Providing these
+# through options overrides the value and prevents the makefiles from
+# appending to these variables.  This is used throughout the sunxi-mali build
+# system.
+# 
+# Furthermore, the -lm -dl -lpthread options are included due to a possible bug
+# in the way the linaro 2013.06 toolchain handles shared libraries.
+SUNXI_MALI_MAKE_ENV = \
+	CC="$(TARGET_CC)" \
+	CFLAGS="$(TARGET_CFLAGS) -lm -ldl -lpthread" \
+	$(TARGET_MAKE_ENV)
+
+ifeq ($(BR2_ARM_EABIHF),y)
+SUNXI_MALI_MAKE_OPTS += ABI=armhf
+else
+SUNXI_MALI_MAKE_OPTS += ABI=armel
+endif
+
+SUNXI_MALI_MAKE_OPTS += EGL_TYPE=framebuffer
+
+ifeq ($(BR2_PACKAGE_SUNXI_MALI_R2P4),y)
+SUNXI_MALI_MAKE_OPTS += VERSION=r2p4
+endif
+ifeq ($(BR2_PACKAGE_SUNXI_MALI_R3P0),y)
+SUNXI_MALI_MAKE_OPTS += VERSION=r3p0
+endif
+ifeq ($(BR2_PACKAGE_SUNXI_MALI_R3P1),y)
+SUNXI_MALI_MAKE_OPTS += VERSION=r3p1
+endif
+
+define SUNXI_MALI_GIT_SUBMODULE_FIXUP
+	rm -rf $(@D)/lib/mali
+	cp -rf $(SUNXI_MALI_PROP_SRCDIR) $(@D)/lib/mali
+endef
+
+SUNXI_MALI_PRE_CONFIGURE_HOOKS += SUNXI_MALI_GIT_SUBMODULE_FIXUP
+
+define SUNXI_MALI_BUILD_CMDS
+	$(SUNXI_MALI_MAKE_ENV) $(MAKE) -C $(@D) $(SUNXI_MALI_MAKE_OPTS) all
+	$(TARGET_CC) $(TARGET_CFLAGS) -o $(@D)/version/version \
+		$(@D)/version/version.c
+endef
+
+define SUNXI_MALI_INSTALL_STAGING_CMDS
+	$(SUNXI_MALI_MAKE_ENV) $(MAKE) -C $(@D) \
+		$(SUNXI_MALI_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install
+	# test must be built after install because it depends on headers that are
+	# generated during the install above.
+	$(SUNXI_MALI_MAKE_ENV) $(MAKE) -C $(@D) $(SUNXI_MALI_MAKE_OPTS) test
+	$(INSTALL) -D -m 0644 package/sunxi-mali/egl.pc \
+		$(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
+	$(INSTALL) -D -m 0644 package/sunxi-mali/glesv2.pc \
+		$(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc
+endef
+
+define SUNXI_MALI_INSTALL_TARGET_CMDS
+	$(SUNXI_MALI_MAKE_ENV) $(MAKE) -C $(@D)/lib \
+		$(SUNXI_MALI_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install
+	$(if $(BR2_PACKAGE_SUNXI_MALI_DBG),
+		$(INSTALL) -m 755 $(@D)/version/version $(TARGET_DIR)/usr/bin/maliver; \
+		$(INSTALL) -m 755 $(@D)/test/test $(TARGET_DIR)/usr/bin/malitest
+	)
+endef
+
+define SUNXI_MALI_INSTALL_INIT_SYSV
+	$(INSTALL) -D -m 0755 package/sunxi-mali/S80mali \
+		$(TARGET_DIR)/etc/init.d/S80mali
+endef
+
+$(eval $(generic-package))
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 3/4] opengl: add sunxi-mali as possible egl/gles provider
  2013-07-19 23:37 [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Spenser Gilliland
  2013-07-19 23:37 ` [Buildroot] [PATCH 1/4] a10disp: new package Spenser Gilliland
  2013-07-19 23:37 ` [Buildroot] [PATCH 2/4] sunxi-mali: " Spenser Gilliland
@ 2013-07-19 23:37 ` Spenser Gilliland
  2013-07-19 23:37 ` [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library Spenser Gilliland
  2013-07-28 15:40 ` [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Thomas Petazzoni
  4 siblings, 0 replies; 9+ messages in thread
From: Spenser Gilliland @ 2013-07-19 23:37 UTC (permalink / raw)
  To: buildroot


Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
---
 package/opengl/libegl/libegl.mk   | 4 ++++
 package/opengl/libgles/libgles.mk | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/package/opengl/libegl/libegl.mk b/package/opengl/libegl/libegl.mk
index 00e1f19..5943a3a 100644
--- a/package/opengl/libegl/libegl.mk
+++ b/package/opengl/libegl/libegl.mk
@@ -14,6 +14,10 @@ ifeq ($(BR2_PACKAGE_TI_GFX),y)
 LIBEGL_DEPENDENCIES += ti-gfx
 endif
 
+ifeq ($(BR2_PACKAGE_SUNXI_MALI),y)
+LIBEGL_DEPENDENCIES += sunxi-mali
+endif
+
 ifeq ($(LIBEGL_DEPENDENCIES),)
 define LIBEGL_CONFIGURE_CMDS
 	echo "No libEGL implementation selected. Configuration error."
diff --git a/package/opengl/libgles/libgles.mk b/package/opengl/libgles/libgles.mk
index d2fe11b..715d91a 100644
--- a/package/opengl/libgles/libgles.mk
+++ b/package/opengl/libgles/libgles.mk
@@ -14,6 +14,10 @@ ifeq ($(BR2_PACKAGE_TI_GFX),y)
 LIBGLES_DEPENDENCIES += ti-gfx
 endif
 
+ifeq ($(BR2_PACKAGE_SUNXI_MALI),y)
+LIBGLES_DEPENDENCIES += sunxi-mali
+endif
+
 ifeq ($(LIBGLES_DEPENDENCIES),)
 define LIBGLES_CONFIGURE_CMDS
 	echo "No libGLES implementation selected. Configuration error."
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library
  2013-07-19 23:37 [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Spenser Gilliland
                   ` (2 preceding siblings ...)
  2013-07-19 23:37 ` [Buildroot] [PATCH 3/4] opengl: add sunxi-mali as possible egl/gles provider Spenser Gilliland
@ 2013-07-19 23:37 ` Spenser Gilliland
  2013-07-28 15:41   ` Thomas Petazzoni
  2013-07-29 22:01   ` Thomas Petazzoni
  2013-07-28 15:40 ` [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Thomas Petazzoni
  4 siblings, 2 replies; 9+ messages in thread
From: Spenser Gilliland @ 2013-07-19 23:37 UTC (permalink / raw)
  To: buildroot


Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
---
 package/Config.in                  |  1 +
 package/sunxi-cedar/Config.in      | 10 ++++++++
 package/sunxi-cedar/sunxi-cedar.mk | 49 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 60 insertions(+)
 create mode 100644 package/sunxi-cedar/Config.in
 create mode 100644 package/sunxi-cedar/sunxi-cedar.mk

diff --git a/package/Config.in b/package/Config.in
index e49264f..3825668 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -294,6 +294,7 @@ source "package/smartmontools/Config.in"
 source "package/snowball-hdmiservice/Config.in"
 source "package/sredird/Config.in"
 source "package/statserial/Config.in"
+source "package/sunxi-cedar/Config.in"
 source "package/sunxi-mali/Config.in"
 source "package/sunxi-mali-prop/Config.in"
 source "package/sysstat/Config.in"
diff --git a/package/sunxi-cedar/Config.in b/package/sunxi-cedar/Config.in
new file mode 100644
index 0000000..859de84
--- /dev/null
+++ b/package/sunxi-cedar/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_SUNXI_CEDAR
+	bool "sunxi-cedar"
+	depends on BR2_TOOLCHAIN_USES_GLIBC && BR2_arm
+	help
+	  Sunxi cedar decoder libraries
+
+	  http://github.com/linux-sunxi/cedarx-libs
+
+comment "sunxi-cedar requires an eglibc/glibc based toolchain"
+	depends on !(BR2_TOOLCHAIN_USES_GLIBC) && BR2_arm
diff --git a/package/sunxi-cedar/sunxi-cedar.mk b/package/sunxi-cedar/sunxi-cedar.mk
new file mode 100644
index 0000000..9104ec0
--- /dev/null
+++ b/package/sunxi-cedar/sunxi-cedar.mk
@@ -0,0 +1,49 @@
+################################################################################
+#
+# sunxi-cedar
+#
+################################################################################
+
+SUNXI_CEDAR_VERSION = 74923e55fc
+SUNXI_CEDAR_SITE = http://github.com/linux-sunxi/cedarx-libs/tarball/$(SUNXI_CEDAR_VERSION)
+
+SUNXI_CEDAR_INSTALL_STAGING = YES
+
+ifeq ($(BR2_ARM_EABIHF),y)
+SUNXI_CEDAR_BIN_DIR = $(@D)/libcedarv/linux-armhf
+else
+SUNXI_CEDAR_BIN_DIR = $(@D)/libcedarv/linux-armel
+endif
+
+define SUNXI_CEDAR_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(SUNXI_CEDAR_BIN_DIR)
+	$(TARGET_CC) $(TARGET_CFLAGS) \
+		-c $(SUNXI_CEDAR_BIN_DIR)/adapter/avheap/avheap.c \
+		-o $(SUNXI_CEDAR_BIN_DIR)/adapter/avheap/avheap.o \
+		-I $(SUNXI_CEDAR_BIN_DIR)/adapter/avheap \
+		-I $(SUNXI_CEDAR_BIN_DIR)/
+	$(TARGET_CC) -shared -L./ -Wl,-soname,libavheap.so \
+		-o $(SUNXI_CEDAR_BIN_DIR)/adapter/avheap/libavheap.so \
+		$(SUNXI_CEDAR_BIN_DIR)/adapter/avheap/avheap.o
+endef
+
+define SUNXI_CEDAR_INSTALL_STAGING_CMDS
+	$(INSTALL) -d -m 755 $(STAGING_DIR)/usr/include/libvecore
+	$(INSTALL) -m 664 $(SUNXI_CEDAR_BIN_DIR)/libvecore/*.h \
+		$(STAGING_DIR)/usr/include/libvecore
+	$(INSTALL) -m 644 $(SUNXI_CEDAR_BIN_DIR)/*.h \
+		$(STAGING_DIR)/usr/include/
+	$(INSTALL) -m 644 $(SUNXI_CEDAR_BIN_DIR)/libvecore/libvecore.so \
+		$(STAGING_DIR)/usr/lib/
+	$(INSTALL) -m 644 $(SUNXI_CEDAR_BIN_DIR)/adapter/avheap/libavheap.so \
+		$(STAGING_DIR)/usr/lib/
+endef
+
+define SUNXI_CEDAR_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 644 $(SUNXI_CEDAR_BIN_DIR)/libvecore/libvecore.so \
+		$(TARGET_DIR)/usr/lib/
+	$(INSTALL) -m 644 $(SUNXI_CEDAR_BIN_DIR)/adapter/avheap/libavheap.so \
+		$(TARGET_DIR)/usr/lib/
+endef
+
+$(eval $(generic-package))
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 2/4] sunxi-mali: new package
  2013-07-19 23:37 ` [Buildroot] [PATCH 2/4] sunxi-mali: " Spenser Gilliland
@ 2013-07-28 15:40   ` Thomas Petazzoni
  0 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2013-07-28 15:40 UTC (permalink / raw)
  To: buildroot

Dear Spenser Gilliland,

On Fri, 19 Jul 2013 18:37:52 -0500, Spenser Gilliland wrote:

> +config BR2_PACKAGE_SUNXI_MALI_R2P4
> +	bool "r2p4"

This one is only available on EABI toolchains.

> +
> +config BR2_PACKAGE_SUNXI_MALI_R3P0
> +	bool "r3p0"

and this one on EABIhf toolchains.


> +define SUNXI_MALI_INSTALL_TARGET_CMDS
> +	$(SUNXI_MALI_MAKE_ENV) $(MAKE) -C $(@D)/lib \
> +		$(SUNXI_MALI_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install

I've added here a chmod +x to ensure libraries are installed with
execution permissions, so that they are properly stripped by Buildroot.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers
  2013-07-19 23:37 [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Spenser Gilliland
                   ` (3 preceding siblings ...)
  2013-07-19 23:37 ` [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library Spenser Gilliland
@ 2013-07-28 15:40 ` Thomas Petazzoni
  4 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2013-07-28 15:40 UTC (permalink / raw)
  To: buildroot

Dear Spenser Gilliland,

On Fri, 19 Jul 2013 18:37:50 -0500, Spenser Gilliland wrote:

> Spenser Gilliland (4):
>   a10disp: new package
>   sunxi-mali: new package
>   opengl: add sunxi-mali as possible egl/gles provider
>   sunxi-cedar: add cedar hardware video decoding library

Committed, thanks. I did a few fixes, which I detailed in a reply to
each patch.

Thanks,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library
  2013-07-19 23:37 ` [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library Spenser Gilliland
@ 2013-07-28 15:41   ` Thomas Petazzoni
  2013-07-29 22:01   ` Thomas Petazzoni
  1 sibling, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2013-07-28 15:41 UTC (permalink / raw)
  To: buildroot

Dear Spenser Gilliland,

On Fri, 19 Jul 2013 18:37:54 -0500, Spenser Gilliland wrote:
> 
> Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
> ---
>  package/Config.in                  |  1 +
>  package/sunxi-cedar/Config.in      | 10 ++++++++
>  package/sunxi-cedar/sunxi-cedar.mk | 49 ++++++++++++++++++++++++++++++++++++++
>  3 files changed, 60 insertions(+)
>  create mode 100644 package/sunxi-cedar/Config.in
>  create mode 100644 package/sunxi-cedar/sunxi-cedar.mk

I've renamed this package to sunxi-cedarx and modified the installation
steps to ensure libraries are installed with execution permissions.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library
  2013-07-19 23:37 ` [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library Spenser Gilliland
  2013-07-28 15:41   ` Thomas Petazzoni
@ 2013-07-29 22:01   ` Thomas Petazzoni
  1 sibling, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2013-07-29 22:01 UTC (permalink / raw)
  To: buildroot

Dear Spenser Gilliland,

On Fri, 19 Jul 2013 18:37:54 -0500, Spenser Gilliland wrote:

> +ifeq ($(BR2_ARM_EABIHF),y)
> +SUNXI_CEDAR_BIN_DIR = $(@D)/libcedarv/linux-armhf
> +else
> +SUNXI_CEDAR_BIN_DIR = $(@D)/libcedarv/linux-armel
> +endif

The package fails to build in the linux-armel case, because avheap.c
doesn't exist in this case:

  http://autobuild.buildroot.org/results/739/7395780dafedb6126dad7f9405609c2fe02104ec/build-end.log

Also for some reason, in another build it uses the host compiler
instead of the cross compiler:

  http://autobuild.buildroot.org/results/5b0/5b0e52f2fd59916e46572b0f34403972e77e8283/build-end.log

Could you have a look into these issues?

Thanks,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-07-29 22:01 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-19 23:37 [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Spenser Gilliland
2013-07-19 23:37 ` [Buildroot] [PATCH 1/4] a10disp: new package Spenser Gilliland
2013-07-19 23:37 ` [Buildroot] [PATCH 2/4] sunxi-mali: " Spenser Gilliland
2013-07-28 15:40   ` Thomas Petazzoni
2013-07-19 23:37 ` [Buildroot] [PATCH 3/4] opengl: add sunxi-mali as possible egl/gles provider Spenser Gilliland
2013-07-19 23:37 ` [Buildroot] [PATCH 4/4] sunxi-cedar: add cedar hardware video decoding library Spenser Gilliland
2013-07-28 15:41   ` Thomas Petazzoni
2013-07-29 22:01   ` Thomas Petazzoni
2013-07-28 15:40 ` [Buildroot] [PATCH 0/4] ARM Mali Graphics Drivers Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.