Home
last modified time | relevance | path

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

123

/openbmc/linux/Documentation/staging/
H A 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 …]
H A 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 …]
/openbmc/linux/drivers/rpmsg/
H A 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 …]
H A Drpmsg_core.c1 // SPDX-License-Identifier: GPL-2.0
8 * Ohad Ben-Cohen <ohad@wizery.com>
16 #include <linux/rpmsg.h>
27 * rpmsg_create_channel() - create a new rpmsg channel
29 * @rpdev: rpmsg device
32 * Return: a pointer to the new rpmsg device on success, or NULL on error.
39 if (!rpdev->ops || !rpdev->ops->create_channel) { in rpmsg_create_channel()
40 dev_err(&rpdev->dev, "no create_channel ops found\n"); in rpmsg_create_channel()
44 return rpdev->ops->create_channel(rpdev, chinfo); in rpmsg_create_channel()
49 * rpmsg_release_channel() - release a rpmsg channel
[all …]
H A 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 …]
H A 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 …]
H A 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 …]
H A 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 …]
H A 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 …]
/openbmc/linux/Documentation/ABI/testing/
H A 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 …]
/openbmc/linux/Documentation/devicetree/bindings/sound/
H A 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 …]
/openbmc/linux/include/linux/
H A 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 …]
/openbmc/linux/sound/soc/fsl/
H A 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"
35 struct snd_soc_pcm_runtime *rtd = list_first_entry(&card->rtd_list, in imx_rpmsg_late_probe()
38 struct device *dev = card->dev; in imx_rpmsg_late_probe()
41 if (!data->sysclk) in imx_rpmsg_late_probe()
44 ret = snd_soc_dai_set_sysclk(codec_dai, 0, data->sysclk, SND_SOC_CLOCK_IN); in imx_rpmsg_late_probe()
45 if (ret && ret != -ENOTSUPP) { in imx_rpmsg_late_probe()
46 dev_err(dev, "failed to set sysclk in %s\n", __func__); in imx_rpmsg_late_probe()
[all …]
H A 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 …]
H A 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 …]
/openbmc/linux/Documentation/devicetree/bindings/mfd/
H A 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 …]
/openbmc/linux/drivers/tty/
H A 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 …]
H A 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 …]
/openbmc/linux/include/linux/rpmsg/
H A 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
/openbmc/linux/drivers/net/wwan/
H A 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 …]
/openbmc/linux/drivers/media/platform/st/sti/delta/
H A 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 …]
/openbmc/linux/net/qrtr/
H A 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)
/openbmc/linux/samples/
H A 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 …]
/openbmc/linux/drivers/soc/qcom/
H A 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.
98 depends on RPMSG
107 USB and battery firmware running on one of the coprocessors in
110 Say yes here to support USB-C and battery status on modern Qualcomm
133 purpose of exchanging sector-data between the remote filesystem
142 The RPM Master sleep stats driver provides detailed per-subsystem
[all …]
/openbmc/linux/drivers/cdx/controller/
H A 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