No description
Find a file
Andrew Davis 93a6f694db drivers: ipm: Add IPM over MBOX driver
The Multi-Channel Inter-Processor Mailbox (MBOX) framework can be seen
as a more general version of the Inter-Processor Mailbox (IPM) framework.
An MBOX driver provides for multiple channels, where IPM provides for
only a single channel of communication.

Currently many applications are written to use IPM, while some are now
being written to use MBOX. This means if a platform wants to support both
types of apps a given it must have a driver for both frameworks. As MBOX
is the newer and more generic framework, new drivers are being added for
this framework only and older IPM drivers are being migrated to MBOX.
This leads to the situation where applications need to be written twice,
once for each framework, to run across all platforms.

The solution is to add a gasket driver that exposes the IPM interface
while using a MBOX driver in the back-end. This shim driver allows
platforms to only need an MBOX driver to support both types of
application. This IPM driver can be used when an application only
supports IPM but the platform only supports MBOX.

This will allow platforms and applications to be ported over to MBOX
independently of each other. Add this driver here.

Signed-off-by: Andrew Davis <afd@ti.com>
2024-09-26 09:17:48 -05:00
.github github: workflows: Add cargo support to twister 2024-09-20 15:25:05 -05:00
arch arch: x86_64: re-enable -mno-red-zone 2024-09-24 10:11:15 +02:00
boards samples: drivers: video: add capture to lvgl sample 2024-09-26 03:35:34 -04:00
cmake cmake: linker: evaluate CONFIG_LINKER_ITERABLE_SUBALIGN in CMake 2024-09-25 16:16:35 -05:00
doc modules: tfm: split security counter from version 2024-09-26 03:34:42 -04:00
drivers drivers: ipm: Add IPM over MBOX driver 2024-09-26 09:17:48 -05:00
dts drivers: ipm: Add IPM over MBOX driver 2024-09-26 09:17:48 -05:00
include/zephyr ipc: icmsg & icbmsg: Add support for POSIX arch targets 2024-09-26 03:34:26 -04:00
kernel arch: kernel: lib: toolchain: Standardize TLS keyword 2024-09-23 10:01:48 +02:00
lib arch: kernel: lib: toolchain: Standardize TLS keyword 2024-09-23 10:01:48 +02:00
misc
modules modules: tfm: split security counter from version 2024-09-26 03:34:42 -04:00
samples samples: drivers: video: add capture to lvgl sample 2024-09-26 03:35:34 -04:00
scripts west: linkserver: Fix version detect for ihex support 2024-09-26 03:34:53 -04:00
share sysbuild: fix extra kconfig targets when using sysbuild 2024-09-16 20:19:09 +02:00
snippets dts: bindings: arm: nordic: Add TDDCONF sources 2024-09-25 12:00:04 +01:00
soc boards native: Add function to remap embedded address 2024-09-26 03:34:26 -04:00
submanifests manifest: update SOF revision 2024-09-24 09:20:01 -04:00
subsys Bluetooth: Controller: Add device tree dependency to selection 2024-09-26 11:10:22 +01:00
tests Bluetooth: Controller: Add device tree dependency to selection 2024-09-26 11:10:22 +01:00
.checkpatch.conf checkpatch: ignore EXPORT_SYMBOL 2024-04-05 12:19:36 +02:00
.clang-format drivers: i3c: add iterate through i3c/i2c devices macros 2024-09-25 04:04:13 -04:00
.codechecker.yml tests: Add a CodeChecker config file 2024-09-12 10:04:05 +02:00
.codecov.yml
.editorconfig
.gitattributes
.gitignore scripts: compliance: add sphinx-lint linter 2024-09-13 11:43:04 -05:00
.gitlint gitlint: do not allow treewide as an area in commit messages 2024-04-10 09:22:24 +02:00
.mailmap mailmap: missing entry for Manuel Argüelles 2024-08-05 18:36:50 -04:00
.yamllint
CMakeLists.txt cmake: use the warnings_as_errors flag for cpp files 2024-09-23 18:10:30 -04:00
CODE_OF_CONDUCT.md coc: Update Code of Conduct to latest Contributor Covenant 2023-12-21 09:38:23 +00:00
CODEOWNERS CODEOWNERS: Updated coder owners file 2024-09-05 17:03:05 -04:00
CONTRIBUTING.rst
Kconfig
Kconfig.constants kconfig: Add variables for integer constants 2024-07-27 20:49:15 +03:00
Kconfig.zephyr kernel: mmu: install demand mappings for the on-demand linker sections 2024-09-10 17:17:30 -04:00
LICENSE
MAINTAINERS.yml tests: boards: rename espressif folder name 2024-09-25 13:47:37 -05:00
README.rst github: workflows: Add Scorecards badge 2024-08-09 08:40:05 -04:00
SDK_VERSION SDK_VERSION: Use Zephyr SDK 0.16.8 2024-06-04 22:59:31 -04:00
VERSION release: Zephyr v3.7.99 2024-07-26 21:14:10 +02:00
version.h.in version.h.in: Do not use @template@ 2024-05-24 18:05:41 -04:00
west.yml manifest: Update nRF hw models to latest 2024-09-26 03:34:26 -04:00
zephyr-env.cmd
zephyr-env.sh

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <picture>
         <source media="(prefers-color-scheme: dark)" srcset="doc/_static/images/logo-readme-dark.svg">
         <source media="(prefers-color-scheme: light)" srcset="doc/_static/images/logo-readme-light.svg">
         <img src="doc/_static/images/logo-readme-light.svg">
       </picture>
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74">
     <img src="https://bestpractices.coreinfrastructure.org/projects/74/badge">
   </a>
   <a href="https://scorecard.dev/viewer/?uri=github.com/zephyrproject-rtos/zephyr">
     <img src="https://api.securityscorecards.dev/projects/github.com/zephyrproject-rtos/zephyr/badge">
   </a>
   <a href="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain">
     <img src="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml/badge.svg?event=push">
   </a>


The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr kernel supports multiple architectures, including ARM (Cortex-A,
Cortex-R, Cortex-M), Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V,
SPARC, MIPS, and a large number of `supported boards`_.

.. below included in doc/introduction/introduction.rst


Getting Started
***************

Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview,
and the documentation's `Getting Started Guide`_ to start developing.

.. start_include_here

Community Support
*****************

Community support is provided via mailing lists and Discord; see the Resources
below for details.

.. _project-resources:

Resources
*********

Here's a quick summary of resources to help you find your way around:

Getting Started
---------------

  | 📖 `Zephyr Documentation`_
  | 🚀 `Getting Started Guide`_
  | 🙋🏽 `Tips when asking for help`_
  | 💻 `Code samples`_

Code and Development
--------------------

  | 🌐 `Source Code Repository`_
  | 📦 `Releases`_
  | 🤝 `Contribution Guide`_

Community and Support
---------------------

  | 💬 `Discord Server`_ for real-time community discussions
  | 📧 `User mailing list (users@lists.zephyrproject.org)`_
  | 📧 `Developer mailing list (devel@lists.zephyrproject.org)`_
  | 📬 `Other project mailing lists`_
  | 📚 `Project Wiki`_

Issue Tracking and Security
---------------------------

  | 🐛 `GitHub Issues`_
  | 🔒 `Security documentation`_
  | 🛡️ `Security Advisories Repository`_
  | ⚠️ Report security vulnerabilities at vulnerabilities@zephyrproject.org

Additional Resources
--------------------
  | 🌐 `Zephyr Project Website`_
  | 📺 `Zephyr Tech Talks`_

.. _Zephyr Project Website: https://www.zephyrproject.org
.. _Discord Server: https://chat.zephyrproject.org
.. _supported boards: https://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: https://docs.zephyrproject.org
.. _Introduction to Zephyr: https://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: https://docs.zephyrproject.org/latest/develop/getting_started/index.html
.. _Contribution Guide: https://docs.zephyrproject.org/latest/contribute/index.html
.. _Source Code Repository: https://github.com/zephyrproject-rtos/zephyr
.. _GitHub Issues: https://github.com/zephyrproject-rtos/zephyr/issues
.. _Releases: https://github.com/zephyrproject-rtos/zephyr/releases
.. _Project Wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _User mailing list (users@lists.zephyrproject.org): https://lists.zephyrproject.org/g/users
.. _Developer mailing list (devel@lists.zephyrproject.org): https://lists.zephyrproject.org/g/devel
.. _Other project mailing lists: https://lists.zephyrproject.org/g/main/subgroups
.. _Code samples: https://docs.zephyrproject.org/latest/samples/index.html
.. _Security documentation: https://docs.zephyrproject.org/latest/security/index.html
.. _Security Advisories Repository: https://github.com/zephyrproject-rtos/zephyr/security
.. _Tips when asking for help: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help
.. _Zephyr Tech Talks: https://www.zephyrproject.org/tech-talks