/linux-5.10/Documentation/ABI/testing/ |
D | sysfs-bus-rpmsg | 1 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/ |
D | rpmsg.rst | 2 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 …]
|
D | remoteproc.rst | 20 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).
|
D | index.rst | 12 rpmsg
|
/linux-5.10/drivers/rpmsg/ |
D | Kconfig | 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 16 receive rpmsg packets. 21 select RPMSG 29 select RPMSG 55 select RPMSG [all …]
|
D | rpmsg_core.c | 16 #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 …]
|
D | rpmsg_char.c | 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> 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 …]
|
D | virtio_rpmsg_bus.c | 21 #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 …]
|
D | mtk_rpmsg.c | 10 #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");
|
D | rpmsg_internal.h | 15 #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/ |
D | rpmsg.h | 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 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/ |
D | cros_ec_rpmsg.c | 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 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 …]
|
D | Kconfig | 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
|
/linux-5.10/Documentation/devicetree/bindings/mfd/ |
D | google,cros-ec.yaml | 30 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/ |
D | mtk,scp.txt | 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: 24 - mtk,rpmsg-name Contains the name for the rpmsg device. Used to match 25 the subnode to rpmsg device announced by SCP.
|
D | st,stm32-rproc.yaml | 55 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/ |
D | rpmsg_client_sample.c | 14 #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/ |
D | delta-ipc.c | 7 #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/ |
D | Kconfig | 95 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/ |
D | Kconfig | 6 depends on RPMSG || RPMSG=n
|
/linux-5.10/net/qrtr/ |
D | Kconfig | 19 depends on RPMSG || (COMPILE_TEST && RPMSG=n)
|
D | smd.c | 9 #include <linux/rpmsg.h> 109 MODULE_ALIAS("rpmsg:IPCRTR");
|
/linux-5.10/drivers/soc/qcom/ |
D | Kconfig | 150 depends on RPMSG 195 depends on RPMSG 203 depends on RPMSG
|
/linux-5.10/drivers/remoteproc/ |
D | qcom_sysmon.c | 15 #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/ |
D | wcnss_ctrl.h | 5 #include <linux/rpmsg.h>
|