diff mbox series

[v2,1/2] package/rpmsg-utils: new package

Message ID 20260208173627.881651-2-vjardin@free.fr
State New
Headers show
Series new packages: rpmsg-utils and rpmsg-echo-test | expand

Commit Message

Vincent Jardin Feb. 8, 2026, 5:36 p.m. UTC
rpmsg-utils provides user-space utilities for the Linux RPMsg character
driver from the OpenAMP system reference. It includes tools for managing
RPMsg communication channels with remote processors: rpmsg_export_dev,
rpmsg_export_ept, rpmsg_destroy_ept, and rpmsg_ping.

Signed-off-by: Vincent Jardin <vjardin@free.fr>
---
 DEVELOPERS                           |  1 +
 package/Config.in                    |  1 +
 package/rpmsg-utils/Config.in        | 17 +++++++++++
 package/rpmsg-utils/rpmsg-utils.hash |  4 +++
 package/rpmsg-utils/rpmsg-utils.mk   | 45 ++++++++++++++++++++++++++++
 5 files changed, 68 insertions(+)
 create mode 100644 package/rpmsg-utils/Config.in
 create mode 100644 package/rpmsg-utils/rpmsg-utils.hash
 create mode 100644 package/rpmsg-utils/rpmsg-utils.mk
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index 225d1ac917..79581cae66 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -3357,6 +3357,7 @@  F:	package/bfscripts/
 F:	package/dpdk/
 F:	package/libecoli/
 F:	package/libyang-cpp/
+F:	package/rpmsg-utils/
 F:	package/sysrepo-cpp/
 
 N:	Vincent Prince <vincent.prince.fr@gmail.com>
diff --git a/package/Config.in b/package/Config.in
index 8346ef1a0e..1ccd7f320f 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -587,6 +587,7 @@  endmenu
 	source "package/rng-tools/Config.in"
 	source "package/rockchip-mali/Config.in"
 	source "package/rockchip-rkbin/Config.in"
+	source "package/rpmsg-utils/Config.in"
 	source "package/rs485conf/Config.in"
 	source "package/rtc-tools/Config.in"
 	source "package/rtl8188eu/Config.in"
diff --git a/package/rpmsg-utils/Config.in b/package/rpmsg-utils/Config.in
new file mode 100644
index 0000000000..e801c5695f
--- /dev/null
+++ b/package/rpmsg-utils/Config.in
@@ -0,0 +1,17 @@ 
+config BR2_PACKAGE_RPMSG_UTILS
+	bool "rpmsg-utils"
+	depends on BR2_USE_MMU # Linux userspace
+	help
+	  User-space utilities for the Linux RPMsg character driver,
+	  from the OpenAMP system reference examples.
+
+	  Installs:
+	    - rpmsg_export_dev
+	    - rpmsg_export_ept
+	    - rpmsg_destroy_ept
+	    - rpmsg_ping
+
+	  These tools operate on /dev/rpmsg_ctrlX and /dev/rpmsgX
+	  devices provided by the Linux RPMsg framework.
+
+	  https://github.com/OpenAMP/openamp-system-reference
diff --git a/package/rpmsg-utils/rpmsg-utils.hash b/package/rpmsg-utils/rpmsg-utils.hash
new file mode 100644
index 0000000000..bd4f88a78b
--- /dev/null
+++ b/package/rpmsg-utils/rpmsg-utils.hash
@@ -0,0 +1,4 @@ 
+# Locally computed
+sha256  8059fbde74f726efd778f1393e75f5b554871ea8a9f51278912838ea414031ca  rpmsg-utils-v2025.04.0.tar.gz
+sha256  62345788a019596360c7f4e4026278cc84754de6beafac82ea0de0647b23c6ed  LICENSE.md
+sha256  5907fa1cd899be6bd9696603a1d7c671c34dc993436e5f4acf69c78e1fa2e988  examples/linux/rpmsg-utils/LICENSE
diff --git a/package/rpmsg-utils/rpmsg-utils.mk b/package/rpmsg-utils/rpmsg-utils.mk
new file mode 100644
index 0000000000..f40fa9f980
--- /dev/null
+++ b/package/rpmsg-utils/rpmsg-utils.mk
@@ -0,0 +1,45 @@ 
+################################################################################
+#
+# rpmsg-utils
+#
+################################################################################
+
+RPMSG_UTILS_VERSION = v2025.04.0
+RPMSG_UTILS_SITE = $(call github,OpenAMP,openamp-system-reference,$(RPMSG_UTILS_VERSION))
+RPMSG_UTILS_SUBDIR = examples/linux/rpmsg-utils
+RPMSG_UTILS_DL_SUBDIR = openamp-system-reference
+
+RPMSG_UTILS_LICENSE = BSD-3-Clause
+RPMSG_UTILS_LICENSE_FILES = LICENSE.md $(RPMSG_UTILS_SUBDIR)/LICENSE
+
+define RPMSG_UTILS_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/$(RPMSG_UTILS_SUBDIR) \
+		CC="$(TARGET_CC)" \
+		LD="$(TARGET_LD)" \
+		CFLAGS="$(TARGET_CFLAGS)" \
+		LDFLAGS="$(TARGET_LDFLAGS)"
+endef
+
+define RPMSG_UTILS_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 0755 \
+		$(@D)/$(RPMSG_UTILS_SUBDIR)/rpmsg_export_dev \
+		$(TARGET_DIR)/usr/bin/rpmsg_export_dev
+	$(INSTALL) -D -m 0755 \
+		$(@D)/$(RPMSG_UTILS_SUBDIR)/rpmsg_export_ept \
+		$(TARGET_DIR)/usr/bin/rpmsg_export_ept
+	$(INSTALL) -D -m 0755 \
+		$(@D)/$(RPMSG_UTILS_SUBDIR)/rpmsg_destroy_ept \
+		$(TARGET_DIR)/usr/bin/rpmsg_destroy_ept
+	$(INSTALL) -D -m 0755 \
+		$(@D)/$(RPMSG_UTILS_SUBDIR)/rpmsg_ping \
+		$(TARGET_DIR)/usr/bin/rpmsg_ping
+endef
+
+define RPMSG_UTILS_LINUX_CONFIG_FIXUPS
+	$(call KCONFIG_ENABLE_OPT,CONFIG_RPMSG)
+	$(call KCONFIG_ENABLE_OPT,CONFIG_RPMSG_CHAR)
+	$(call KCONFIG_ENABLE_OPT,CONFIG_RPMSG_CTRL)
+	$(call KCONFIG_ENABLE_OPT,CONFIG_RPMSG_VIRTIO)
+endef
+
+$(eval $(generic-package))