Home
last modified time | relevance | path

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

123

/linux-6.12.1/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-6.12.1/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 control interface"
[all …]
Drpmsg_core.c1 // SPDX-License-Identifier: GPL-2.0
8 * Ohad Ben-Cohen <ohad@wizery.com>
16 #include <linux/rpmsg.h>
24 .name = "rpmsg",
29 * rpmsg_create_channel() - create a new rpmsg channel
31 * @rpdev: rpmsg device
34 * Return: a pointer to the new rpmsg device on success, or NULL on error.
41 if (!rpdev->ops || !rpdev->ops->create_channel) { in rpmsg_create_channel()
42 dev_err(&rpdev->dev, "no create_channel ops found\n"); in rpmsg_create_channel()
46 return rpdev->ops->create_channel(rpdev, chinfo); in rpmsg_create_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>
20 #include <linux/rpmsg.h>
21 #include <linux/rpmsg/byteorder.h>
22 #include <linux/rpmsg/ns.h>
34 * struct virtproc_info - virtual remote processor state
52 * This structure stores the rpmsg state of a given virtio remote processor
71 /* The feature bitmap for virtio rpmsg */
[all …]
Drpmsg_char.c1 // SPDX-License-Identifier: GPL-2.0
10 * Based on rpmsg performance statistics driver by Michal Simek, which in turn
11 * was based on TI & Google OMX rpmsg driver.
23 #include <linux/rpmsg.h>
27 #include <uapi/linux/rpmsg.h>
43 * struct rpmsg_eptdev - endpoint device context
46 * @rpdev: underlaying rpmsg device
49 * @ept: rpmsg endpoint reference, when open
53 * @default_ept: set to channel default endpoint if the default endpoint should be re-used
81 mutex_lock(&eptdev->ept_lock); in rpmsg_chrdev_eptdev_destroy()
[all …]
Drpmsg_ctrl.c1 // SPDX-License-Identifier: GPL-2.0
10 * Based on rpmsg performance statistics driver by Michal Simek, which in turn
11 * was based on TI & Google OMX rpmsg driver.
22 #include <linux/rpmsg.h>
26 #include <uapi/linux/rpmsg.h>
42 * struct rpmsg_ctrldev - control device for instantiating endpoint devices
43 * @rpdev: underlaying rpmsg device
57 struct rpmsg_ctrldev *ctrldev = cdev_to_ctrldev(inode->i_cdev); in rpmsg_ctrldev_open()
59 get_device(&ctrldev->dev); in rpmsg_ctrldev_open()
60 filp->private_data = ctrldev; in rpmsg_ctrldev_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>
24 * struct rpmsg_device_ops - indirection table for the rpmsg_device operations
25 * @create_channel: create backend-specific channel, optional
26 * @release_channel: release backend-specific channel, optional
27 * @create_ept: create backend-specific endpoint, required
31 * Indirection table for the operations that a rpmsg backend should implement.
49 * struct rpmsg_endpoint_ops - indirection table for rpmsg_endpoint operations
61 * Indirection table for the operations that a rpmsg backend should implement.
[all …]
/linux-6.12.1/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-6.12.1/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 Linux side is a device which provides audio service by rpmsg channel.
17 such as SAI, MICFIL, .etc through building rpmsg channels between
18 Cortex-A and Cortex-M.
21 - $ref: sound-card-common.yaml#
[all …]
/linux-6.12.1/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)
49 * @ept: the rpmsg endpoint of this channel
50 * @announce: if set, rpmsg will announce the creation/removal of this channel
70 * struct rpmsg_endpoint - binds a local rpmsg address to its user
71 * @rpdev: rpmsg channel device
[all …]
/linux-6.12.1/sound/soc/fsl/
Dimx-rpmsg.c1 // SPDX-License-Identifier: GPL-2.0+
2 // Copyright 2017-2020 NXP
14 #include <sound/soc-dapm.h>
15 #include "imx-pcm-rpmsg.h"
36 struct snd_soc_pcm_runtime *rtd = list_first_entry(&card->rtd_list, in imx_rpmsg_late_probe()
39 struct device *dev = card->dev; in imx_rpmsg_late_probe()
42 if (data->lpa) { in imx_rpmsg_late_probe()
48 codec_np = data->dai.codecs->of_node; in imx_rpmsg_late_probe()
55 codec_dev = &codec_i2c->dev; in imx_rpmsg_late_probe()
59 codec_dev = &codec_pdev->dev; in imx_rpmsg_late_probe()
[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"
39 struct rpmsg_device *rpdev = info->rpdev; in imx_rpmsg_pcm_send_message()
42 mutex_lock(&info->msg_lock); in imx_rpmsg_pcm_send_message()
44 dev_err(info->dev, "rpmsg channel not ready\n"); in imx_rpmsg_pcm_send_message()
45 mutex_unlock(&info->msg_lock); in imx_rpmsg_pcm_send_message()
[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.
26 This option is only useful for out-of-tree drivers since
27 in-tree drivers select it automatically.
36 This option is only useful for out-of-tree drivers since
37 in-tree drivers select it automatically.
54 This option is only useful for out-of-tree drivers since
55 in-tree drivers select it automatically.
67 This option is only useful for out-of-tree drivers since
[all …]
/linux-6.12.1/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 - Guenter Roeck <groeck@chromium.org>
22 - description:
24 const: google,cros-ec-i2c
25 - description:
27 const: google,cros-ec-spi
[all …]
/linux-6.12.1/drivers/tty/
Drpmsg_tty.c1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) 2021 STMicroelectronics - All Rights Reserved
5 * The rpmsg tty driver implements serial communication on the RPMsg bus to makes
6 * possible for user-space programs to send and receive rpmsg messages as a standard
9 * The remote processor can instantiate a new tty by requesting a "rpmsg-tty" RPMsg service.
10 * The "rpmsg-tty" service is directly used for data exchange. No flow control is implemented yet.
16 #include <linux/rpmsg.h>
31 int id; /* TTY rpmsg index */
32 struct rpmsg_device *rpdev; /* rpmsg device */
37 struct rpmsg_tty_port *cport = dev_get_drvdata(&rpdev->dev); in rpmsg_tty_cb()
[all …]
DKconfig1 # SPDX-License-Identifier: GPL-2.0
7 blocks features that require TTY from inclusion in the kernel.
23 one can be used for a text-mode user session, and a third could run
24 an X session, all in parallel. Switching between virtual terminals
25 is done with certain key combinations, usually Alt-<function key>.
35 You need at least one virtual terminal device in order to make use
37 embedded system would want to say N here in order to save some
42 shiny Linux system :-)
47 bool "Enable character translations in console" if EXPERT
58 and warnings and which allows logins in single user mode. If you
[all …]
/linux-6.12.1/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
/linux-6.12.1/drivers/net/wwan/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
27 elements for each WWAN device in a directory that is corresponding to
40 tristate "MHI WWAN control driver for QCOM-based PCIe modems"
43 MHI WWAN CTRL allows QCOM-based PCIe modems to expose different modem
53 tristate "MHI WWAN MBIM network driver for QCOM-based PCIe modems"
56 MHI WWAN MBIM is a WWAN network driver for QCOM-based PCIe modems.
65 tristate "Qualcomm BAM-DMUX WWAN network driver"
78 tristate "RPMSG WWAN control driver"
79 depends on RPMSG
81 RPMSG WWAN CTRL allows modems available via RPMSG channels to expose
[all …]
/linux-6.12.1/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
36 Engines present in the QUP.
84 and instances handled by the remote DSPs. This is a kernel-space
99 depends on RPMSG
103 the ADSP firmware PDCharger module in charge of Battery and Power
111 depends on RPMSG
121 USB and battery firmware running on one of the coprocessors in
124 Say yes here to support USB-C and battery status on modern Qualcomm
[all …]
/linux-6.12.1/drivers/media/platform/st/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-6.12.1/samples/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
14 tristate "Build trace_events examples -- loadable modules only"
20 tristate "Build custom trace event example -- loadable modules only"
26 tristate "Build trace_printk module - tests various trace_printk formats"
70 If in doubt, say "N" here.
73 tristate "Build kprobes examples -- loadable modules only"
79 tristate "Build kretprobes example -- loadable modules only"
84 tristate "Build kernel hardware breakpoint examples -- loadable module only"
90 tristate "Build fprobe examples -- loadable modules only"
97 tristate "Build kfifo examples -- loadable modules only"
[all …]
/linux-6.12.1/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-6.12.1/drivers/cdx/controller/
Dmcdi.h1 /* SPDX-License-Identifier: GPL-2.0
3 * Copyright 2008-2013 Solarflare Communications Inc.
4 * Copyright (C) 2022-2023, Advanced Micro Devices, Inc.
12 #include <linux/rpmsg.h>
26 * enum cdx_mcdi_mode - MCDI transaction mode
28 * @MCDI_MODE_FAIL: we think MCDI is dead, so fail-fast all calls
42 * enum cdx_mcdi_cmd_state - State for an individual MCDI command
62 * struct cdx_mcdi - CDX MCDI Firmware interface, to interact
67 * @rpdev: RPMsg device
68 * @ept: RPMsg endpoint
[all …]

123