Home
last modified time | relevance | path

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

123

/linux-5.10/Documentation/ABI/testing/
Dsysfs-bus-rpmsg1 What: /sys/bus/rpmsg/devices/.../name
6 Every rpmsg device is a communication channel with a remote
9 rpmsg.h).
13 What: /sys/bus/rpmsg/devices/.../src
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
22 a unique rpmsg address (a 32 bits integer). This way when
23 inbound messages arrive to this address, the rpmsg core
26 This sysfs entry contains the src (local) rpmsg address
[all …]
/linux-5.10/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
37 Rpmsg is a virtio-based messaging bus that allows kernel drivers to communicate
41 When writing a driver that exposes rpmsg communication to userland, please
50 desired to limit userland to specific rpmsg channels (see definition below)
54 Every rpmsg device is a communication channel with a remote processor (thus
55 rpmsg devices are called channels). Channels are identified by a textual name
56 and have a local ("source") rpmsg address, and remote ("destination") rpmsg
60 a unique rpmsg local address (a 32-bit integer). This way when inbound messages
[all …]
Dremoteproc.rst20 duplicated. In addition, this framework also adds rpmsg virtio devices
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).
211 handlers. If rpmsg/virtio functionality is also desired, then the ->kick handler
354 rpmsg virtio devices this way, if desired).
358 using the rpmsg bus (similar to how we already do dynamic allocations of
359 rpmsg channels; read more about it in rpmsg.txt).
Dindex.rst12 rpmsg
/linux-5.10/drivers/rpmsg/
DKconfig3 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
16 receive rpmsg packets.
21 select RPMSG
29 select RPMSG
55 select RPMSG
[all …]
Drpmsg_core.c16 #include <linux/rpmsg.h>
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
40 * is already created for them when they are probed by the rpmsg bus
41 * (using the rx callback provided when they registered to the rpmsg bus).
44 * endpoint, their rx callback is bound to their rpmsg address, and when
[all …]
Drpmsg_char.c9 * 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>
44 * @rpdev: underlaying rpmsg device
58 * @rpdev: underlaying rpmsg device
61 * @ept: rpmsg endpoint reference, when open
378 dev_set_name(dev, "rpmsg%d", ret); in rpmsg_eptdev_create()
550 ret = alloc_chrdev_region(&rpmsg_major, 0, RPMSG_DEV_MAX, "rpmsg"); in rpmsg_char_init()
552 pr_err("rpmsg: failed to allocate char dev region\n"); in rpmsg_char_init()
[all …]
Dvirtio_rpmsg_bus.c21 #include <linux/rpmsg.h>
53 * This structure stores the rpmsg state of a given virtio remote processor
73 /* The feature bitmap for virtio rpmsg */
77 * struct rpmsg_hdr - common header for all rpmsg messages
85 * Every message sent(/received) on the rpmsg bus begins with this header.
104 * rpmsg channel (i.e device) is created/destroyed. In turn, the ->probe()
105 * or ->remove() handler of the appropriate rpmsg driver will be invoked
126 * struct virtio_rpmsg_channel - rpmsg channel descriptor
127 * @rpdev: the rpmsg channel device
130 * This structure stores the channel that links the rpmsg device to the virtio
[all …]
Dmtk_rpmsg.c10 #include <linux/rpmsg/mtk_rpmsg.h>
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
80 dev_warn(&ept->rpdev->dev, "rpmsg handler return error = %d", in mtk_rpmsg_ipi_handler()
186 ret = of_property_read_string(child, "mtk,rpmsg-name", &name); in mtk_rpmsg_match_device_subnode()
283 * the name service ept does _not_ belong to a real rpmsg channel, in mtk_rpmsg_ns_cb()
284 * and is handled by the rpmsg bus itself. in mtk_rpmsg_ns_cb()
300 dev_err(dev, "create rpmsg device failed\n"); in mtk_rpmsg_ns_cb()
408 MODULE_DESCRIPTION("MediaTek scp rpmsg driver");
Drpmsg_internal.h15 #include <linux/rpmsg.h>
27 * Indirection table for the operations that a rpmsg backend should implement.
51 * Indirection table for the operations that a rpmsg backend should implement.
83 * basis for the rpmsg chrdev.
/linux-5.10/include/linux/
Drpmsg.h41 * 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
65 * struct rpmsg_endpoint - binds a local rpmsg address to its user
66 * @rpdev: rpmsg channel device
70 * @addr: local rpmsg address
73 * In essence, an rpmsg endpoint represents a listener on the rpmsg bus, as
74 * it binds an rpmsg address with an rx callback handler.
76 * Simple rpmsg drivers shouldn't use this struct directly, because
[all …]
/linux-5.10/drivers/platform/chrome/
Dcros_ec_rpmsg.c13 #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
72 * cros_ec_pkt_xfer_rpmsg - Transfer a packet over rpmsg and receive the reply
97 dev_err(ec_dev->dev, "rpmsg send failed\n"); in cros_ec_pkt_xfer_rpmsg()
104 dev_err(ec_dev->dev, "rpmsg send timeout\n"); in cros_ec_pkt_xfer_rpmsg()
168 dev_warn(ec_dev->dev, "rpmsg received empty response"); in cros_ec_rpmsg_callback()
[all …]
DKconfig77 tristate "ChromeOS Embedded Controller (rpmsg)"
78 depends on CROS_EC && RPMSG && OF
81 through rpmsg. This uses a simple byte-level protocol with a
/linux-5.10/Documentation/devicetree/bindings/mfd/
Dgoogle,cros-ec.yaml30 For implementations of the EC is connected through RPMSG.
31 const: google,cros-ec-rpmsg
62 mtk,rpmsg-name:
64 Must be defined if the cros-ec is a rpmsg device for a Mediatek
65 ARM Cortex M4 Co-processor. Contains the name pf the rpmsg
66 device. Used to match the subnode to the rpmsg device announced by
139 - google,cros-ec-rpmsg
186 # Example for RPMSG
190 compatible = "google,cros-ec-rpmsg";
/linux-5.10/Documentation/devicetree/bindings/remoteproc/
Dmtk,scp.txt20 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:
24 - mtk,rpmsg-name Contains the name for the rpmsg device. Used to match
25 the subnode to rpmsg device announced by SCP.
Dst,stm32-rproc.yaml55 This property is required only if the rpmsg/virtio functionality is used.
86 the remote processor (e.g. remoteproc firmware and carveouts, rpmsg
/linux-5.10/samples/rpmsg/
Drpmsg_client_sample.c14 #include <linux/rpmsg.h>
77 dev_info(&rpdev->dev, "rpmsg sample client driver is removed\n"); in rpmsg_sample_remove()
81 { .name = "rpmsg-client-sample" },
84 MODULE_DEVICE_TABLE(rpmsg, rpmsg_driver_sample_id_table);
/linux-5.10/drivers/media/platform/sti/delta/
Ddelta-ipc.c7 #include <linux/rpmsg.h>
123 "%s ipc: failed to open, rpmsg is not initialized\n", in delta_ipc_open()
172 /* build rpmsg message */ in delta_ipc_open()
247 "%s ipc: failed to set stream, rpmsg is not initialized\n", in delta_ipc_set_stream()
278 /* build rpmsg message */ in delta_ipc_set_stream()
338 "%s ipc: failed to decode, rpmsg is not initialized\n", in delta_ipc_decode()
389 /* build rpmsg message */ in delta_ipc_decode()
456 "%s ipc: failed to close, rpmsg is not initialized\n", in delta_ipc_close()
461 /* build rpmsg message */ in delta_ipc_close()
570 {.name = "rpmsg-delta"},
/linux-5.10/samples/
DKconfig95 tristate "Build rpmsg client sample -- loadable modules only"
96 depends on RPMSG && m
98 Build an rpmsg client sample driver, which demonstrates how
100 the rpmsg bus.
/linux-5.10/drivers/net/wireless/ath/wcn36xx/
DKconfig6 depends on RPMSG || RPMSG=n
/linux-5.10/net/qrtr/
DKconfig19 depends on RPMSG || (COMPILE_TEST && RPMSG=n)
Dsmd.c9 #include <linux/rpmsg.h>
109 MODULE_ALIAS("rpmsg:IPCRTR");
/linux-5.10/drivers/soc/qcom/
DKconfig150 depends on RPMSG
195 depends on RPMSG
203 depends on RPMSG
/linux-5.10/drivers/remoteproc/
Dqcom_sysmon.c15 #include <linux/rpmsg.h>
669 * @rpdev: rpmsg device handle
672 * this rpmsg device with said sysmon context.
709 * @rpdev: rpmsg device handle
711 * Disassociate the rpmsg device with the sysmon instance.
/linux-5.10/include/linux/soc/qcom/
Dwcnss_ctrl.h5 #include <linux/rpmsg.h>

123