Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/3] package/libimxdmabuffer: new package
@ 2022-01-12  9:42 Sébastien Szymanski
  2022-01-12  9:42 ` [Buildroot] [PATCH 2/3] package/libimxvpuapi2: " Sébastien Szymanski
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Sébastien Szymanski @ 2022-01-12  9:42 UTC (permalink / raw)
  To: buildroot; +Cc: Eric Le Bihan, Yann E . MORIN

Library for allocating and managing physically contiguous memory ("DMA
memory" or "DMA buffers") on i.MX devices.
Needed for libimxvpuapi2 and gst1-imx2.
The user has to choose an allocator depending on the i.MX device.

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
---
 package/Config.in                            |  1 +
 package/libimxdmabuffer/Config.in            | 59 ++++++++++++++++++++
 package/libimxdmabuffer/libimxdmabuffer.hash |  3 +
 package/libimxdmabuffer/libimxdmabuffer.mk   | 51 +++++++++++++++++
 4 files changed, 114 insertions(+)
 create mode 100644 package/libimxdmabuffer/Config.in
 create mode 100644 package/libimxdmabuffer/libimxdmabuffer.hash
 create mode 100644 package/libimxdmabuffer/libimxdmabuffer.mk

diff --git a/package/Config.in b/package/Config.in
index 59297c3f3d..8d844aa11e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -505,6 +505,7 @@ endmenu
 	source "package/kbd/Config.in"
 	source "package/lcdproc/Config.in"
 	source "package/libiec61850/Config.in"
+	source "package/libimxdmabuffer/Config.in"
 	source "package/libubootenv/Config.in"
 	source "package/libuio/Config.in"
 	source "package/linux-backports/Config.in"
diff --git a/package/libimxdmabuffer/Config.in b/package/libimxdmabuffer/Config.in
new file mode 100644
index 0000000000..9e81a69123
--- /dev/null
+++ b/package/libimxdmabuffer/Config.in
@@ -0,0 +1,59 @@
+comment "libimxdmabuffer needs an imx-specific Linux kernel to be built"
+	depends on (BR2_arm || BR2_aarch64) && !BR2_LINUX_KERNEL
+
+config BR2_PACKAGE_LIBIMXDMABUFFER
+	bool "libimxdmabuffer"
+	depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
+	depends on BR2_LINUX_KERNEL
+	help
+	  Library for allocating and managing physically contiguous
+	  memory ("DMA memory" or "DMA buffers") on i.MX devices.
+
+	  It requires a kernel that includes the i.MX specific headers
+	  to be built.
+
+	  https://github.com/Freescale/libimxdmabuffer
+
+if BR2_PACKAGE_LIBIMXDMABUFFER
+choice
+	prompt "Allocator"
+
+config BR2_PACKAGE_LIBIMXDMABUFFER_DWL
+	bool "dwl"
+	depends on BR2_PACKAGE_IMX_VPU_HANTRO
+
+comment "dwl allocator needs imx-vpu-hantro"
+	depends on !BR2_PACKAGE_IMX_VPU_HANTRO
+
+config BR2_PACKAGE_LIBIMXDMABUFFER_IPU
+	bool "ipu"
+
+config BR2_PACKAGE_LIBIMXDMABUFFER_G2D
+	bool "g2d"
+	depends on BR2_PACKAGE_IMX_GPU_G2D
+
+comment "g2d allocator needs imx-gpu-g2d"
+	depends on !BR2_PACKAGE_IMX_GPU_G2D
+
+config BR2_PACKAGE_LIBIMXDMABUFFER_PXP
+	bool "pxp"
+endchoice
+
+if BR2_PACKAGE_LIBIMXDMABUFFER_DWL
+choice
+	prompt "Hantro decoder version"
+
+config BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G1
+	bool "G1"
+
+config BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G2
+	bool "G2"
+endchoice
+
+config BR2_PACKAGE_LIBIMXDMABUFFER_DWL_HANTRO_DEC_VERSION
+	string
+	default "G1" if BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G1
+	default "G2" if BR2_PACKAGE_LIBIMXDMABUFFER_DWL_G2
+endif
+
+endif
diff --git a/package/libimxdmabuffer/libimxdmabuffer.hash b/package/libimxdmabuffer/libimxdmabuffer.hash
new file mode 100644
index 0000000000..7d317005df
--- /dev/null
+++ b/package/libimxdmabuffer/libimxdmabuffer.hash
@@ -0,0 +1,3 @@
+# locally computed hash
+sha256  cea163d213206f5451eb75a4501b52d861ed00bfd14cd3e4e8734c6181edb6cc  libimxdmabuffer-1.0.1.tar.gz
+sha256  4bb33cc4cd956b56b779b501f18cae46a9e26f8c8500cca86ed758b8bc5e1788  LICENSE
diff --git a/package/libimxdmabuffer/libimxdmabuffer.mk b/package/libimxdmabuffer/libimxdmabuffer.mk
new file mode 100644
index 0000000000..c8adf03365
--- /dev/null
+++ b/package/libimxdmabuffer/libimxdmabuffer.mk
@@ -0,0 +1,51 @@
+################################################################################
+#
+# libimxdmabuffer
+#
+################################################################################
+
+LIBIMXDMABUFFER_VERSION = 1.0.1
+LIBIMXDMABUFFER_SITE = $(call github,Freescale,libimxdmabuffer,$(LIBIMXDMABUFFER_VERSION))
+LIBIMXDMABUFFER_LICENSE = LGPL-2.1+
+LIBIMXDMABUFFER_LICENSE_FILES = LICENSE
+LIBIMXDMABUFFER_DEPENDENCIES = host-pkgconf host-python3
+LIBIMXDMABUFFER_INSTALL_STAGING = YES
+LIBIMXDMABUFFER_NEEDS_EXTERNAL_WAF = NO
+
+# libimxdmabuffer needs access to imx-specific kernel headers
+LIBIMXDMABUFFER_DEPENDENCIES += linux
+
+LIBIMXDMABUFFER_CONF_OPTS += \
+	--imx-linux-headers-path=$(STAGING_DIR)/usr/include/ \
+	--with-ion-allocator=no
+
+ifeq ($(BR2_PACKAGE_LIBIMXDMABUFFER_DWL),y)
+LIBIMXDMABUFFER_CONF_OPTS += \
+	--with-dwl-allocator=yes \
+	--hantro-headers-path=$(STAGING_DIR)/usr/include/hantro_dec \
+	--hantro-decoder-version=$(BR2_PACKAGE_LIBIMXDMABUFFER_DWL_HANTRO_DEC_VERSION)
+LIBIMXDMABUFFER_DEPENDENCIES += imx-vpu-hantro
+else
+LIBIMXDMABUFFER_CONF_OPTS += --with-dwl-allocator=no
+endif
+
+ifeq ($(BR2_PACKAGE_LIBIMXDMABUFFER_IPU),y)
+LIBIMXDMABUFFER_CONF_OPTS += --with-ipu-allocator=yes
+else
+LIBIMXDMABUFFER_CONF_OPTS += --with-ipu-allocator=no
+endif
+
+ifeq ($(BR2_PACKAGE_LIBIMXDMABUFFER_G2D),y)
+LIBIMXDMABUFFER_CONF_OPTS += --with-g2d-allocator=yes
+LIBIMXDMABUFFER_DEPENDENCIES += imx-gpu-g2d
+else
+LIBIMXDMABUFFER_CONF_OPTS += --with-g2d-allocator=no
+endif
+
+ifeq ($(BR2_PACKAGE_LIBIMXDMABUFFER_PXP),y)
+LIBIMXDMABUFFER_CONF_OPTS += --with-pxp-allocator=yes
+else
+LIBIMXDMABUFFER_CONF_OPTS += --with-pxp-allocator=no
+endif
+
+$(eval $(waf-package))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2022-08-09 12:52 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-12  9:42 [Buildroot] [PATCH 1/3] package/libimxdmabuffer: new package Sébastien Szymanski
2022-01-12  9:42 ` [Buildroot] [PATCH 2/3] package/libimxvpuapi2: " Sébastien Szymanski
2022-01-12 10:31   ` Baruch Siach via buildroot
2022-01-12 12:53     ` Sébastien Szymanski
2022-07-28  8:36   ` Arnout Vandecappelle
2022-01-12  9:42 ` [Buildroot] [PATCH 3/3] package/gstreamer1/gst1-imx2: " Sébastien Szymanski
2022-01-14 17:44   ` Herve Codina
2022-01-17  9:37     ` Sébastien Szymanski
2022-07-28 19:51   ` Arnout Vandecappelle
2022-08-08 14:14     ` Sébastien Szymanski
2022-08-08 20:36       ` Arnout Vandecappelle
2022-08-09 12:50         ` Sébastien Szymanski
2022-07-28  8:23 ` [Buildroot] [PATCH 1/3] package/libimxdmabuffer: " Arnout Vandecappelle
2022-08-08 13:56   ` Sébastien Szymanski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox