Home
last modified time | relevance | path

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

123

/OK3568_Linux_fs/kernel/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
7 processor. Channels are identified with a (textual) name,
9 rpmsg.h).
11 This sysfs entry contains the name of this channel.
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,
[all …]
/OK3568_Linux_fs/kernel/drivers/rpmsg/
H A Drpmsg_core.c1 // SPDX-License-Identifier: GPL-2.0
8 * Ohad Ben-Cohen <ohad@wizery.com>
16 #include <linux/rpmsg.h>
24 * rpmsg_create_ept() - create a new rpmsg_endpoint
25 * @rpdev: rpmsg channel device
28 * @chinfo: channel_info with the local rpmsg address to bind with @cb
30 * Every rpmsg address in the system is bound to an rx callback (so when
31 * inbound messages arrive, they are dispatched by the rpmsg bus using the
35 * bind a callback, and possibly some private data too, to an rpmsg address
39 * Simple rpmsg drivers need not call rpmsg_create_ept, because an endpoint
[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>
21 #include <linux/rpmsg.h>
34 * struct virtproc_info - virtual remote processor state
51 * @ns_ept: the bus's name service endpoint
53 * This structure stores the rpmsg state of a given virtio remote processor
73 /* The feature bitmap for virtio rpmsg */
74 #define VIRTIO_RPMSG_F_NS 0 /* RP supports name service notifications */
[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
37 * @name: name of remote service that is published
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).
46 char name[RPMSG_NAME_SIZE]; member
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()
[all …]
H A 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 …]
H A Drockchip_rpmsg_test.c1 // SPDX-License-Identifier: GPL-2.0
6 * Author: Hongming Zou <hongming.zou@rock-chips.com>
11 #include <linux/rpmsg.h>
12 #include <linux/rpmsg/rockchip_rpmsg.h>
16 #define LINUX_TEST_MSG_2 "Rockchip rpmsg linux test pingpong!"
28 struct instance_data *idata = dev_get_drvdata(&rp->dev); in rockchip_rpmsg_test_cb()
31 dev_info(&rp->dev, "rx msg %s rx_count %d(remote_ept_id: 0x%x)\n", in rockchip_rpmsg_test_cb()
32 (char *)payload, ++idata->rx_count, remote_ept_id); in rockchip_rpmsg_test_cb()
35 if (idata->rx_count >= MSG_LIMIT) { in rockchip_rpmsg_test_cb()
36 dev_info(&rp->dev, "Rockchip rpmsg test exit!\n"); in rockchip_rpmsg_test_cb()
[all …]
H A Drockchip_rpmsg.c1 // SPDX-License-Identifier: GPL-2.0
6 * Author: Steven Liu <steven.liu@rock-chips.com>
20 #include <linux/rpmsg/rockchip_rpmsg.h>
25 #include <soc/rockchip/rockchip-mailbox.h>
69 struct platform_device *pdev = rpdev->pdev; in rk_rpmsg_rx_callback()
70 struct device *dev = &pdev->dev; in rk_rpmsg_rx_callback()
74 dev_dbg(dev, "rpmsg master: receive cmd=0x%x data=0x%x\n", in rk_rpmsg_rx_callback()
75 rx_msg->cmd, rx_msg->data); in rk_rpmsg_rx_callback()
76 if (rx_msg->data != RPMSG_MBOX_MAGIC) in rk_rpmsg_rx_callback()
77 dev_err(dev, "rpmsg master: mailbox data error!\n"); in rk_rpmsg_rx_callback()
[all …]
H A Drpmsg_internal.h1 /* SPDX-License-Identifier: GPL-2.0 */
9 * Ohad Ben-Cohen <ohad@wizery.com>
16 #include <linux/rpmsg.h>
23 * struct rpmsg_device_ops - indirection table for the rpmsg_device operations
24 * @create_ept: create backend-specific endpoint, required
28 * Indirection table for the operations that a rpmsg backend should implement.
42 * struct rpmsg_endpoint_ops - indirection table for rpmsg_endpoint operations
54 * Indirection table for the operations that a rpmsg backend should implement.
56 * @trysend, while the variants sending data off-channel are optional.
84 * rpmsg_chrdev_register_device() - register chrdev device based on rpdev
[all …]
/OK3568_Linux_fs/kernel/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
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,
25 hardware accelerators, and therefore are often used to offload CPU-intensive
28 These remote processors could also be used to control latency-sensitive
34 hardware accessible only by the remote processor, reserving kernel-controlled
37 Rpmsg is a virtio-based messaging bus that allows kernel drivers to communicate
[all …]
H A Dremoteproc.rst10 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
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).
111 struct rproc *rproc_alloc(struct device *dev, const char *name,
117 name of this remote processor, platform-specific ops handlers,
[all …]
/OK3568_Linux_fs/kernel/include/linux/
H A Drpmsg.h1 /* SPDX-License-Identifier: BSD-3-Clause */
30 * struct rpmsg_channel_info - channel info representation
31 * @name: name of service
36 char name[RPMSG_NAME_SIZE]; member
42 * rpmsg_device - device that belong to the rpmsg bus
44 * @id: device id (used to match between rpmsg drivers and devices)
45 * @driver_override: driver name to force a match
48 * @ept: the rpmsg endpoint of this channel
49 * @announce: if set, rpmsg will announce the creation/removal of this channel
67 * struct rpmsg_endpoint - binds a local rpmsg address to its user
[all …]
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/rpmsg/
H A Drpmsg-rockchip.txt1 * Rockchip RPMsg Platform Driver
3 The Rockchip RPMsg Platform Driver is used for Remote Processors Messaging.
7 - compatible: should be one of the following.
8 "rockchip,rk3568-rpmsg" for rk3568 SoCs.
9 - mbox-names: mailbox name for "rpmsg-rx" or "rpmsg-tx".
10 - mboxes: mailbox channel for rpmsg.
11 - rockchip,vdev-nums: number of rpmsg instance.
12 - rockchip,link-id: link_id of rpmsg instance. 4bit for master cpu_id and 4bit
19 rpmsg: rpmsg {
20 compatible = "rockchip,rk3568-rpmsg";
[all …]
/OK3568_Linux_fs/kernel/drivers/platform/chrome/
H A Dcros_ec_rpmsg.c1 // SPDX-License-Identifier: GPL-2.0
13 #include <linux/rpmsg.h>
23 * struct cros_ec_rpmsg_response - rpmsg message format from from EC.
36 * struct cros_ec_rpmsg - information about a EC over rpmsg.
38 * @rpdev: rpmsg device we are connected to
41 * @ept: The rpmsg endpoint of this channel.
55 * cros_ec_cmd_xfer_rpmsg - Transfer a message over rpmsg and receive the reply
63 * Return: -EINVAL
68 return -EINVAL; in cros_ec_cmd_xfer_rpmsg()
72 * cros_ec_pkt_xfer_rpmsg - Transfer a packet over rpmsg and receive the reply
[all …]
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/remoteproc/
H A Dmtk,scp.txt2 ----------------------------------------
4 This binding provides support for ARM Cortex M4 Co-processor found on some
8 - compatible Should be "mediatek,mt8183-scp"
9 - reg Should contain the address ranges for the two memory
11 - reg-names Contains the corresponding names for the two memory
13 - clocks Clock for co-processor (See: ../clock/clock-bindings.txt)
14 - clock-names Contains the corresponding name for the clock. This
18 --------
20 Subnodes of the SCP represent rpmsg devices. The names of the devices are not
22 for the rpmsg devices - but must contain the following property:
[all …]
/OK3568_Linux_fs/kernel/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 - 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 …]
/OK3568_Linux_fs/kernel/drivers/media/platform/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 …]
H A Ddelta.h1 /* SPDX-License-Identifier: GPL-2.0 */
10 #include <linux/rpmsg.h>
11 #include <media/v4l2-device.h>
12 #include <media/v4l2-mem2mem.h>
14 #include "delta-cfg.h"
17 * enum delta_state - state of decoding instance
46 * struct delta_streaminfo - information about stream to decode
89 * struct delta_au - access unit structure.
112 * struct delta_frameinfo - information about decoded frame
153 * struct delta_frame - frame structure.
[all …]
/OK3568_Linux_fs/kernel/samples/rpmsg/
H A Drpmsg_client_sample.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Remote processor messaging - sample client driver
8 * Ohad Ben-Cohen <ohad@wizery.com>
14 #include <linux/rpmsg.h>
29 struct instance_data *idata = dev_get_drvdata(&rpdev->dev); in rpmsg_sample_cb()
31 dev_info(&rpdev->dev, "incoming msg %d (src: 0x%x)\n", in rpmsg_sample_cb()
32 ++idata->rx_count, src); in rpmsg_sample_cb()
38 if (idata->rx_count >= count) { in rpmsg_sample_cb()
39 dev_info(&rpdev->dev, "goodbye!\n"); in rpmsg_sample_cb()
44 ret = rpmsg_send(rpdev->ept, MSG, strlen(MSG)); in rpmsg_sample_cb()
[all …]
/OK3568_Linux_fs/kernel/drivers/remoteproc/
H A Dqcom_sysmon.c1 // SPDX-License-Identifier: GPL-2.0
15 #include <linux/rpmsg.h>
30 const char *name; member
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()
[all …]
H A Dqcom_common.c1 // SPDX-License-Identifier: GPL-2.0-only
7 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
16 #include <linux/rpmsg/qcom_glink.h>
17 #include <linux/rpmsg/qcom_smd.h>
29 const char *name; member
41 glink->edge = qcom_glink_smem_register(glink->dev, glink->node); in glink_subdev_start()
43 return PTR_ERR_OR_ZERO(glink->edge); in glink_subdev_start()
50 qcom_glink_smem_unregister(glink->edge); in glink_subdev_stop()
51 glink->edge = NULL; in glink_subdev_stop()
58 qcom_glink_ssr_notify(glink->ssr_name); in glink_subdev_unprepare()
[all …]
/OK3568_Linux_fs/u-boot/arch/arm/dts/
H A Dimx7ulp-evk.dts9 /dts-v1/;
15 compatible = "fsl,imx7ulp-evk", "fsl,imx7ulp", "Generic DT based system";
19 stdout-path = &lpuart4;
24 wlreg_on-supply = <&wlreg_on>;
35 compatible = "gpio-backlight";
36 pinctrl-names = "default";
37 pinctrl-0 = <&pinctrl_backlight>;
39 default-on;
43 mipi_dsi_reset: mipi-dsi-reset {
44 compatible = "gpio-reset";
[all …]
/OK3568_Linux_fs/kernel/net/qrtr/
H A Dsmd.c1 // SPDX-License-Identifier: GPL-2.0-only
9 #include <linux/rpmsg.h>
23 struct qrtr_smd_dev *qdev = dev_get_drvdata(&rpdev->dev); in qcom_smd_qrtr_callback()
27 return -EAGAIN; in qcom_smd_qrtr_callback()
29 rc = qrtr_endpoint_post(&qdev->ep, data, len); in qcom_smd_qrtr_callback()
30 if (rc == -EINVAL) { in qcom_smd_qrtr_callback()
31 dev_err(qdev->dev, "invalid ipcrouter packet\n"); in qcom_smd_qrtr_callback()
49 rc = rpmsg_send(qdev->channel, skb->data, skb->len); in qcom_smd_qrtr_send()
64 qdev = devm_kzalloc(&rpdev->dev, sizeof(*qdev), GFP_KERNEL); in qcom_smd_qrtr_probe()
66 return -ENOMEM; in qcom_smd_qrtr_probe()
[all …]
/OK3568_Linux_fs/kernel/include/linux/soc/qcom/
H A Dwcnss_ctrl.h1 /* SPDX-License-Identifier: GPL-2.0 */
5 #include <linux/rpmsg.h>
9 struct rpmsg_endpoint *qcom_wcnss_open_channel(void *wcnss, const char *name,
15 const char *name, in qcom_wcnss_open_channel() argument
20 return ERR_PTR(-ENXIO); in qcom_wcnss_open_channel()
/OK3568_Linux_fs/kernel/include/linux/rpmsg/
H A Dmtk_rpmsg.h1 /* SPDX-License-Identifier: GPL-2.0 */
15 * struct mtk_rpmsg_info - IPI functions tied to the rpmsg device.
20 * @ns_ipi_id: the IPI id used for name service, or -1 if name service isn't
/OK3568_Linux_fs/kernel/arch/arm64/boot/dts/mediatek/
H A Dmt8183-kukui.dtsi1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/input/input.h>
19 stdout-path = "serial0:115200n8";
28 compatible = "fixed-clock";
29 #clock-cells = <0>;
30 clock-frequency = <32768>;
31 clock-output-names = "clk32k";
35 compatible = "regulator-fixed";
36 regulator-name = "it6505_pp18";
[all …]

123