-
Notifications
You must be signed in to change notification settings - Fork 303
qcom-rtss-mailbox: add KMD and UMD recipes for RTSS mailbox IPC #2528
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
snegi-qti
wants to merge
2
commits into
qualcomm-linux:master
Choose a base branch
from
snegi-qti:rtss_kmd
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+153
−0
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
35 changes: 35 additions & 0 deletions
35
recipes-kernel/qcom-rtss-mailbox-kmd/qcom-rtss-mailbox-kmd_1.0.0.bb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| # SPDX-License-Identifier: GPL-2.0-only | ||
|
|
||
| SUMMARY = "QCOM RTSS Mailbox Kernel Driver Module" | ||
| DESCRIPTION = "Dynamically Loadable Kernel Module (DLKM) for RTSS mailbox communication. \ | ||
| Provides mailbox IPC communication between APSS and RTSS." | ||
| LICENSE = "GPL-2.0-only" | ||
| LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/${LICENSE};md5=801f80980d171dd6425610833a22dbe6" | ||
|
|
||
| PV = "1.0.0" | ||
|
|
||
| SRC_URI = "git://github.com/qualcomm-linux/rtss-mailbox-kmd.git;branch=rtss-mailbox-kernel.le.0.0;protocol=https;tag=v${PV}" | ||
| SRCREV = "74f4ec17e45a65e455c2bff33638b5c5a7c507e0" | ||
|
|
||
| inherit module | ||
|
|
||
| RPROVIDES:${PN} += "kernel-module-rtss-mailbox" | ||
|
|
||
| EXTRA_OEMAKE += "MACHINE='${MACHINE}'" | ||
| MAKE_TARGETS = "modules" | ||
| MODULES_INSTALL_TARGET = "modules_install" | ||
|
|
||
| # qcom-ipcc (CONFIG_QCOM_IPCC=y) is built into the kernel image, not a DLKM, | ||
| # so no RDEPENDS on a qcom-ipcc package is needed. | ||
| # The softdep below documents the runtime dependency and ensures modprobe | ||
| # loads rtss_mailbox only after the MAILBOX framework is ready. | ||
| KERNEL_MODULE_PROBECONF += "rtss_mailbox" | ||
| module_conf_rtss_mailbox = "softdep rtss_mailbox pre: qcom_ipcc" | ||
|
|
||
| # Install the UAPI header into the sysroot so the UMD build can consume it. | ||
| # DEPENDS = "qcom-rtss-mailbox-kmd" in qcom-rtss-mailbox-umd.bb pulls this in first. | ||
| do_install:append() { | ||
| install -d ${D}${includedir} | ||
| install -m 0644 ${S}/include/uapi/rtss_mailbox_uapi.h ${D}${includedir}/ | ||
| } | ||
|
|
||
118 changes: 118 additions & 0 deletions
118
recipes-support/qcom-rtss-mailbox-umd/qcom-rtss-mailbox-umd_1.0.0.bb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,118 @@ | ||
| # SPDX-License-Identifier: BSD-3-Clause | ||
|
|
||
| SUMMARY = "Qualcomm RTSS mailbox userspace middleware" | ||
| DESCRIPTION = "Userspace middleware libraries and utilities for RTSS mailbox \ | ||
| IPC communication between APSS and RTSS. Provides librtss_mailbox, \ | ||
| librtss_safemlib, and the librtss_ota OTA SDK library." | ||
| LICENSE = "BSD-3-Clause" | ||
| LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" | ||
|
|
||
| # --------------------------------------------------------------------------- | ||
| # Version tracks | ||
| # | ||
| # Track 1 — Mailbox middleware (librtss_mailbox + librtss_safemlib) | ||
| # Tied to RTSS_MB_UAPI_VERSION_MAJOR in rtss_mailbox_uapi.h. | ||
| # Bump SOVERSION when KMD IOCTL struct or numbers change. | ||
| # Bump minor for UMD-only additive API changes. | ||
| # Bump patch for bug fixes with no API/ABI change. | ||
| # Bump PR (r0->r1) for recipe/packaging fix with no source change. | ||
| # | ||
| # Track 2 — OTA SDK (librtss_ota) | ||
| # Tied to RTSS_UPD_VER_MAJ/MIN in rtss_ota_lib.h. | ||
| # Changes independently and more frequently than middleware. | ||
| # Version carried by SONAME (librtss_ota.so.1) and package name (qcom-rtss-ota). | ||
| # --------------------------------------------------------------------------- | ||
| PV = "1.0.0" | ||
| PR = "r0" | ||
|
|
||
| # qcom-rtss-ota sub-packages carry OTA version independently of middleware PV. | ||
| PKGV:qcom-rtss-ota = "${PV}" | ||
| PKGV:qcom-rtss-ota-staticdev = "${PV}" | ||
| PKGV:qcom-rtss-ota-dev = "${PV}" | ||
|
|
||
| # Suppress Debian auto-renaming for single-soname OTA sub-packages. | ||
| # qcom-rtss-ota installs exactly one soname (librtss_ota.so.1) so | ||
| # Yocto debian.bbclass would rename it, breaking RDEPENDS and opkg queries. | ||
| DEBIAN_NOAUTONAME:qcom-rtss-ota = "1" | ||
| DEBIAN_NOAUTONAME:qcom-rtss-ota-staticdev = "1" | ||
| DEBIAN_NOAUTONAME:qcom-rtss-ota-dev = "1" | ||
|
|
||
| # qcom-rtss-mailbox-kmd installs rtss_mailbox_uapi.h into sysroot via | ||
| # do_install:append — must be staged before UMD builds. | ||
| DEPENDS = "glib-2.0 qcom-rtss-mailbox-kmd" | ||
|
|
||
| SRC_URI = "git://github.com/qualcomm-linux/rtss-mailbox-umd.git;branch=rtss-mailbox-usr.le.0.0;protocol=https;tag=v${PV}" | ||
| SRCREV = "5fb8e0d5e234ab4ab8b704b7128c98e7dd7b4f83" | ||
|
|
||
| inherit cmake | ||
|
|
||
| EXTRA_OECMAKE += "-DSYSROOTINC_PATH=${STAGING_INCDIR} \ | ||
| -DSYSROOT_INCLUDEDIR=${STAGING_INCDIR}" | ||
|
|
||
| # --------------------------------------------------------------------------- | ||
| # Package layout | ||
| # | ||
| # qcom-rtss-mailbox-umd librtss_mailbox.so.1, librtss_safemlib.so.1 | ||
| # qcom-rtss-mailbox-umd-staticdev librtss_mailbox.a, librtss_safemlib.a | ||
| # qcom-rtss-ota librtss_ota.so.1, rtss_ota | ||
| # qcom-rtss-ota-staticdev librtss_ota.a | ||
| # qcom-rtss-mailbox-umd-utils rtssdbg, rtss_console, rtss_mbdemo | ||
| # qcom-rtss-mailbox-umd-dev middleware headers + unversioned .so symlinks | ||
| # qcom-rtss-ota-dev OTA SDK header + unversioned .so symlink | ||
| # | ||
| # Internal utils (rtssdbg, rtss_console, rtss_ota) link dynamic — independent | ||
| # of static lib availability. End users choose shared or static per their need. | ||
| # --------------------------------------------------------------------------- | ||
| PACKAGES =+ "qcom-rtss-ota qcom-rtss-ota-staticdev qcom-rtss-ota-dev qcom-rtss-mailbox-umd-utils" | ||
|
|
||
| # --- qcom-rtss-mailbox-umd --- | ||
| FILES:${PN} += "${libdir}/librtss_mailbox.so.1" | ||
| FILES:${PN} += "${libdir}/librtss_mailbox.so.1.*" | ||
| FILES:${PN} += "${libdir}/librtss_safemlib.so.1" | ||
| FILES:${PN} += "${libdir}/librtss_safemlib.so.1.*" | ||
|
|
||
| # --- qcom-rtss-ota --- | ||
| FILES:qcom-rtss-ota += "${libdir}/librtss_ota.so.1" | ||
| FILES:qcom-rtss-ota += "${libdir}/librtss_ota.so.1.*" | ||
| FILES:qcom-rtss-ota += "${bindir}/rtss_ota" | ||
|
|
||
| # --- qcom-rtss-mailbox-umd-utils --- | ||
| FILES:qcom-rtss-mailbox-umd-utils += "${bindir}/rtssdbg" | ||
| FILES:qcom-rtss-mailbox-umd-utils += "${bindir}/rtss_console" | ||
| FILES:qcom-rtss-mailbox-umd-utils += "${bindir}/rtss_mbdemo" | ||
|
|
||
| # --- qcom-rtss-mailbox-umd-staticdev --- | ||
| # Yocto auto-populates ${PN}-staticdev with ${libdir}/*.a — explicit here for clarity. | ||
| FILES:${PN}-staticdev += "${libdir}/librtss_mailbox.a" | ||
| FILES:${PN}-staticdev += "${libdir}/librtss_safemlib.a" | ||
|
|
||
| # --- qcom-rtss-ota-staticdev --- | ||
| FILES:qcom-rtss-ota-staticdev += "${libdir}/librtss_ota.a" | ||
|
|
||
| # --- qcom-rtss-mailbox-umd-dev --- | ||
| FILES:${PN}-dev += "${includedir}/rtss_mailbox_api.h" | ||
| FILES:${PN}-dev += "${libdir}/librtss_mailbox.so" | ||
| FILES:${PN}-dev += "${libdir}/librtss_safemlib.so" | ||
|
|
||
| # --- qcom-rtss-ota-dev --- | ||
| FILES:qcom-rtss-ota-dev += "${includedir}/rtss_ota_lib.h" | ||
| FILES:qcom-rtss-ota-dev += "${libdir}/librtss_ota.so" | ||
|
|
||
| # Runtime deps | ||
| RDEPENDS:qcom-rtss-mailbox-umd-utils += "${PN}" | ||
| RDEPENDS:qcom-rtss-ota += "${PN}" | ||
| RDEPENDS:qcom-rtss-ota-staticdev += "qcom-rtss-ota" | ||
| RDEPENDS:qcom-rtss-ota-dev += "qcom-rtss-ota" | ||
| RDEPENDS:${PN}-staticdev += "${PN}" | ||
| RDEPENDS:${PN}-dev += "${PN}" | ||
|
|
||
| do_install:append() { | ||
| install -d ${D}${bindir} | ||
| install -d ${D}${libdir} | ||
| install -d ${D}${includedir} | ||
| } | ||
|
|
||
| # Prevent unversioned .so symlinks landing in the runtime package. | ||
| SOLIBS = ".so" | ||
| FILES_SOLIBSDEV = "" | ||
|
|
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.