Home
last modified time | relevance | path

Searched +full:rpmsg +full:- +full:in (Results 1 – 25 of 54) sorted by relevance

123

/Linux-v5.15/Documentation/staging/
Drpmsg.rst2 Remote Processor Messaging (rpmsg) Framework
7 This document describes the rpmsg bus and how to write rpmsg drivers.
8 To learn how to add rpmsg support for new platforms, check out remoteproc.txt
14 Modern SoCs typically employ heterogeneous remote processor devices in
17 flavor of real-time OS.
19 OMAP4, for example, has dual Cortex-A9, dual Cortex-M3 and a C64x+ DSP.
20 Typically, the dual cortex-A9 is running Linux in a SMP configuration,
22 its own instance of RTOS in an AMP configuration.
25 hardware accelerators, and therefore are often used to offload CPU-intensive
28 These remote processors could also be used to control latency-sensitive
[all …]
Dremoteproc.rst8 Modern SoCs typically have heterogeneous remote processor devices in asymmetric
10 of operating system, whether it's Linux or any other flavor of real-time OS.
12 OMAP4, for example, has dual Cortex-A9, dual Cortex-M3 and a C64x+ DSP.
13 In a typical configuration, the dual cortex-A9 is running Linux in a SMP
15 is running its own instance of RTOS in an AMP configuration.
20 duplicated. In addition, this framework also adds rpmsg virtio devices
22 platform-specific remoteproc drivers only need to provide a few low-level
23 handlers, and then all rpmsg drivers will then just work
24 (for more information about the virtio-based rpmsg bus and its drivers,
25 please read Documentation/staging/rpmsg.rst).
[all …]
/Linux-v5.15/Documentation/ABI/testing/
Dsysfs-bus-rpmsg1 What: /sys/bus/rpmsg/devices/.../name
4 Contact: Ohad Ben-Cohen <ohad@wizery.com>
6 Every rpmsg device is a communication channel with a remote
8 which is maximum 32 bytes long (defined as RPMSG_NAME_SIZE in
9 rpmsg.h).
13 What: /sys/bus/rpmsg/devices/.../src
16 Contact: Ohad Ben-Cohen <ohad@wizery.com>
18 Every rpmsg device is a communication channel with a remote
19 processor. Channels have a local ("source") rpmsg address,
20 and remote ("destination") rpmsg address. When an entity
[all …]
/Linux-v5.15/drivers/rpmsg/
DKconfig1 # SPDX-License-Identifier: GPL-2.0
3 menu "Rpmsg drivers"
5 # RPMSG always gets selected by whoever wants it
6 config RPMSG config
10 tristate "RPMSG device interface"
11 depends on RPMSG
14 Say Y here to export rpmsg endpoints as device files, usually found
15 in /dev. They make it possible for user-space programs to send and
16 receive rpmsg packets.
19 tristate "RPMSG name service announcement"
[all …]
Drpmsg_core.c1 // SPDX-License-Identifier: GPL-2.0
8 * Ohad Ben-Cohen <ohad@wizery.com>
16 #include <linux/rpmsg.h>
24 * rpmsg_create_channel() - create a new rpmsg channel
26 * @rpdev: rpmsg device
29 * Returns a pointer to the new rpmsg device on success, or NULL on error.
36 if (!rpdev->ops || !rpdev->ops->create_channel) { in rpmsg_create_channel()
37 dev_err(&rpdev->dev, "no create_channel ops found\n"); in rpmsg_create_channel()
41 return rpdev->ops->create_channel(rpdev, chinfo); in rpmsg_create_channel()
46 * rpmsg_release_channel() - release a rpmsg channel
[all …]
Dvirtio_rpmsg_bus.c1 // SPDX-License-Identifier: GPL-2.0
3 * Virtio-based remote processor messaging bus
8 * Ohad Ben-Cohen <ohad@wizery.com>
14 #include <linux/dma-mapping.h>
21 #include <linux/rpmsg.h>
22 #include <linux/rpmsg/byteorder.h>
23 #include <linux/rpmsg/ns.h>
35 * struct virtproc_info - virtual remote processor state
53 * This structure stores the rpmsg state of a given virtio remote processor
72 /* The feature bitmap for virtio rpmsg */
[all …]
Drpmsg_char.c1 // SPDX-License-Identifier: GPL-2.0
9 * Based on rpmsg performance statistics driver by Michal Simek, which in turn
10 * was based on TI & Google OMX rpmsg driver.
19 #include <linux/rpmsg.h>
23 #include <uapi/linux/rpmsg.h>
43 * struct rpmsg_ctrldev - control device for instantiating endpoint devices
44 * @rpdev: underlaying rpmsg device
55 * struct rpmsg_eptdev - endpoint device context
58 * @rpdev: underlaying rpmsg device
61 * @ept: rpmsg endpoint reference, when open
[all …]
Dmtk_rpmsg.c1 // SPDX-License-Identifier: GPL-2.0
10 #include <linux/rpmsg/mtk_rpmsg.h>
36 * struct rpmsg_ns_msg - dynamic name service announcement message
41 * messages, an appropriate rpmsg channel (i.e device) is created. In turn, the
42 * ->probe() handler of the appropriate rpmsg driver will be invoked
43 * (if/as-soon-as one is registered).
75 struct rpmsg_endpoint *ept = &mept->ept; in mtk_rpmsg_ipi_handler()
78 ret = (*ept->cb)(ept->rpdev, data, len, ept->priv, ept->addr); in mtk_rpmsg_ipi_handler()
80 dev_warn(&ept->rpdev->dev, "rpmsg handler return error = %d", in mtk_rpmsg_ipi_handler()
91 struct platform_device *pdev = mtk_subdev->pdev; in __mtk_create_ept()
[all …]
Drpmsg_internal.h1 /* SPDX-License-Identifier: GPL-2.0 */
8 * Ohad Ben-Cohen <ohad@wizery.com>
15 #include <linux/rpmsg.h>
22 * struct rpmsg_device_ops - indirection table for the rpmsg_device operations
23 * @create_channel: create backend-specific channel, optional
24 * @release_channel: release backend-specific channel, optional
25 * @create_ept: create backend-specific endpoint, required
29 * Indirection table for the operations that a rpmsg backend should implement.
47 * struct rpmsg_endpoint_ops - indirection table for rpmsg_endpoint operations
57 * Indirection table for the operations that a rpmsg backend should implement.
[all …]
/Linux-v5.15/Documentation/devicetree/bindings/sound/
Dfsl,rpmsg.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/sound/fsl,rpmsg.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: NXP Audio RPMSG CPU DAI Controller
10 - Shengjiu Wang <shengjiu.wang@nxp.com>
15 side is a device which provides audio service by rpmsg channel.
20 - fsl,imx7ulp-rpmsg-audio
21 - fsl,imx8mn-rpmsg-audio
22 - fsl,imx8mm-rpmsg-audio
[all …]
/Linux-v5.15/include/linux/
Drpmsg.h1 /* SPDX-License-Identifier: BSD-3-Clause */
20 #include <linux/rpmsg/byteorder.h>
21 #include <uapi/linux/rpmsg.h>
29 * struct rpmsg_channel_info - channel info representation
41 * rpmsg_device - device that belong to the rpmsg bus
43 * @id: device id (used to match between rpmsg drivers and devices)
47 * @ept: the rpmsg endpoint of this channel
48 * @announce: if set, rpmsg will announce the creation/removal of this channel
67 * struct rpmsg_endpoint - binds a local rpmsg address to its user
68 * @rpdev: rpmsg channel device
[all …]
/Linux-v5.15/Documentation/devicetree/bindings/mfd/
Dgoogle,cros-ec.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/mfd/google,cros-ec.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Benson Leung <bleung@chromium.org>
11 - Enric Balletbo i Serra <enric.balletbo@collabora.com>
12 - Guenter Roeck <groeck@chromium.org>
23 - description:
25 const: google,cros-ec-i2c
26 - description:
[all …]
/Linux-v5.15/sound/soc/fsl/
Dimx-rpmsg.c1 // SPDX-License-Identifier: GPL-2.0+
2 // Copyright 2017-2020 NXP
16 #include <sound/soc-dapm.h>
17 #include "imx-pcm-rpmsg.h"
34 struct device *dev = pdev->dev.parent; in imx_rpmsg_probe()
35 /* rpmsg_pdev is the platform device for the rpmsg node that probed us */ in imx_rpmsg_probe()
37 struct device_node *np = rpmsg_pdev->dev.of_node; in imx_rpmsg_probe()
42 dlc = devm_kzalloc(&pdev->dev, 3 * sizeof(*dlc), GFP_KERNEL); in imx_rpmsg_probe()
44 return -ENOMEM; in imx_rpmsg_probe()
46 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); in imx_rpmsg_probe()
[all …]
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
14 This option is only useful for out-of-tree drivers since
15 in-tree drivers select it automatically.
25 This option is only useful for out-of-tree drivers since
26 in-tree drivers select it automatically.
35 This option is only useful for out-of-tree drivers since
36 in-tree drivers select it automatically.
53 This option is only useful for out-of-tree drivers since
54 in-tree drivers select it automatically.
65 This option is only useful for out-of-tree drivers since
[all …]
Dimx-pcm-rpmsg.c1 // SPDX-License-Identifier: GPL-2.0+
2 // Copyright 2017-2021 NXP
4 #include <linux/dma-mapping.h>
8 #include <linux/rpmsg.h>
15 #include "imx-pcm.h"
17 #include "imx-pcm-rpmsg.h"
38 struct rpmsg_device *rpdev = info->rpdev; in imx_rpmsg_pcm_send_message()
41 mutex_lock(&info->msg_lock); in imx_rpmsg_pcm_send_message()
43 dev_err(info->dev, "rpmsg channel not ready\n"); in imx_rpmsg_pcm_send_message()
44 mutex_unlock(&info->msg_lock); in imx_rpmsg_pcm_send_message()
[all …]
Dimx-pcm-rpmsg.h1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * Copyright 2017-2021 NXP
6 * Communication stack of audio with rpmsg
11 * +---------------+-------------------------------+
13 * +---------------+-------------------------------+
15 * +---------------+---+---+---+---+---+---+---+---+
17 * +---------------+---+---+---+---+---+---+---+---+
19 * +---------------+---+---+---+---+---+---+---+---+
21 * +---------------+---+---+---+---+---+---+---+---+
23 * +---------------+---+---+---+---+---+---+---+---+
[all …]
/Linux-v5.15/include/linux/rpmsg/
Dns.h1 /* SPDX-License-Identifier: GPL-2.0 */
7 #include <linux/rpmsg.h>
8 #include <linux/rpmsg/byteorder.h>
12 * struct rpmsg_ns_msg - dynamic name service announcement message
19 * rpmsg channel (i.e device) is created/destroyed. In turn, the ->probe()
20 * or ->remove() handler of the appropriate rpmsg driver will be invoked
21 * (if/as-soon-as one is registered).
30 * enum rpmsg_ns_flags - dynamic name service announcement flags
Dmtk_rpmsg.h1 /* SPDX-License-Identifier: GPL-2.0 */
15 * struct mtk_rpmsg_info - IPI functions tied to the rpmsg device.
18 * @send_ipi: send IPI to an IPI id. wait is the timeout (in msecs) to wait
20 * @ns_ipi_id: the IPI id used for name service, or -1 if name service isn't
/Linux-v5.15/drivers/net/wwan/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
29 tristate "MHI WWAN control driver for QCOM-based PCIe modems"
32 MHI WWAN CTRL allows QCOM-based PCIe modems to expose different modem
42 tristate "MHI WWAN MBIM network driver for QCOM-based PCIe modems"
45 MHI WWAN MBIM is a WWAN network driver for QCOM-based PCIe modems.
54 tristate "RPMSG WWAN control driver"
55 depends on RPMSG
57 RPMSG WWAN CTRL allows modems available via RPMSG channels to expose
77 If you have one of those Intel M.2 WWAN Modules and wish to use it in
/Linux-v5.15/samples/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
14 tristate "Build trace_events examples -- loadable modules only"
20 tristate "Build trace_printk module - tests various trace_printk formats"
48 If in doubt, say "N" here.
51 tristate "Build kprobes examples -- loadable modules only"
57 tristate "Build kretprobes example -- loadable modules only"
62 tristate "Build kernel hardware breakpoint examples -- loadable module only"
68 tristate "Build kfifo examples -- loadable modules only"
75 If in doubt, say "N" here.
78 tristate "Build kdb command example -- loadable modules only"
[all …]
/Linux-v5.15/drivers/media/platform/sti/delta/
Ddelta-ipc.c1 // SPDX-License-Identifier: GPL-2.0
7 #include <linux/rpmsg.h>
10 #include "delta-ipc.h"
11 #include "delta-mem.h"
38 #define msg_to_ctx(msg) ((struct delta_ipc_ctx *)(msg)->header.host_hdl)
39 #define msg_to_copro_hdl(msg) ((msg)->header.copro_hdl)
43 return (ctx->ipc_buf->paddr + (vaddr - ctx->ipc_buf->vaddr)); in to_paddr()
49 return ((data >= ctx->ipc_buf->vaddr) && in is_valid_data()
50 ((data + size) <= (ctx->ipc_buf->vaddr + ctx->ipc_buf->size))); in is_valid_data()
58 * this IPC shared memory, avoiding de-facto recopies inside delta-ipc.
[all …]
/Linux-v5.15/net/qrtr/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
10 hardware blocks in the system.
12 In order to do service lookups, a userspace daemon is required to
19 depends on RPMSG || (COMPILE_TEST && RPMSG=n)
/Linux-v5.15/drivers/soc/qcom/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
15 the low-power state for resources related to the remoteproc
26 resource on a RPM-hardened platform must use this database to get
43 be called qcom-cpr
52 Engines present in the QUP.
105 purpose of exchanging sector-data between the remote filesystem
111 tristate "Qualcomm RPM-Hardened (RPMH) Communication"
115 Support for communication with the hardened-RPM blocks in
125 QCOM RPMh Power domain driver to support power-domains with
134 QCOM RPM Power domain driver to support power-domains with
[all …]
/Linux-v5.15/drivers/platform/chrome/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
14 If you say N, all options in this submenu will be skipped and disabled.
36 The range of memory used is 0xf00000-0x1000000, traditionally
72 EC through an I2C bus. This uses a simple byte-level protocol with
77 tristate "ChromeOS Embedded Controller (rpmsg)"
78 depends on CROS_EC && RPMSG && OF
81 through rpmsg. This uses a simple byte-level protocol with a
82 checksum. Also since there's no addition EC-to-host interrupt, this
83 use a byte in message to distinguish host event from host command.
95 ISH Transport protocol (ISH-TP). This uses a simple byte-level
[all …]
/Linux-v5.15/drivers/remoteproc/
Dqcom_sysmon.c1 // SPDX-License-Identifier: GPL-2.0
15 #include <linux/rpmsg.h>
76 * sysmon_send_event() - send notification of other remote's SSR event
87 len = snprintf(req, sizeof(req), "ssr:%s:%s", event->subsys_name, in sysmon_send_event()
88 sysmon_state_string[event->ssr_event]); in sysmon_send_event()
92 mutex_lock(&sysmon->lock); in sysmon_send_event()
93 reinit_completion(&sysmon->comp); in sysmon_send_event()
94 sysmon->ssr_ack = false; in sysmon_send_event()
96 ret = rpmsg_send(sysmon->ept, req, len); in sysmon_send_event()
98 dev_err(sysmon->dev, "failed to send sysmon event\n"); in sysmon_send_event()
[all …]

123