Home
last modified time | relevance | path

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

1234

/OK3568_Linux_fs/kernel/Documentation/ABI/testing/
H A 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 …]
/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
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 …]
H A 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).
/OK3568_Linux_fs/kernel/drivers/rpmsg/
H A 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 …]
H A 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 …]
H A 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
377 dev_set_name(dev, "rpmsg%d", ret); in rpmsg_eptdev_create()
536 ret = alloc_chrdev_region(&rpmsg_major, 0, RPMSG_DEV_MAX, "rpmsg"); in rpmsg_char_init()
538 pr_err("rpmsg: failed to allocate char dev region\n"); in rpmsg_char_init()
[all …]
H A Drockchip_rpmsg_test.c11 #include <linux/rpmsg.h>
12 #include <linux/rpmsg/rockchip_rpmsg.h>
16 #define LINUX_TEST_MSG_2 "Rockchip rpmsg linux test pingpong!"
36 dev_info(&rp->dev, "Rockchip rpmsg test exit!\n"); in rockchip_rpmsg_test_cb()
84 dev_info(&rp->dev, "rockchip rpmsg test is removed\n"); in rockchip_rpmsg_test_remove()
88 { .name = "rpmsg-ap3-ch0" },
H A Drockchip_rpmsg.c20 #include <linux/rpmsg/rockchip_rpmsg.h>
74 dev_dbg(dev, "rpmsg master: receive cmd=0x%x data=0x%x\n", in rk_rpmsg_rx_callback()
77 dev_err(dev, "rpmsg master: mailbox data error!\n"); in rk_rpmsg_rx_callback()
82 dev_dbg(dev, "rpmsg master: rx link_id=0x%x flag=0x%x\n", link_id, rpdev->flags); in rk_rpmsg_rx_callback()
106 dev_dbg(dev, "rpmsg first_notify\n"); in rk_rpmsg_notify()
213 /* Each rpmsg instance has two virtqueues. vqs[0] is rvq and vqs[1] is tvq */ in rk_rpmsg_find_vqs()
309 dev_info(dev, "rockchip rpmsg platform probe.\n"); in rockchip_rpmsg_probe()
318 rpdev->mbox_rx_chan = mbox_request_channel_byname(cl, "rpmsg-rx"); in rockchip_rpmsg_probe()
324 rpdev->mbox_tx_chan = mbox_request_channel_byname(cl, "rpmsg-tx"); in rockchip_rpmsg_probe()
403 { .compatible = "rockchip,rk3562-rpmsg", .data = (void *)RK3562, },
[all …]
H A 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 …]
H A 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()
285 * the name service ept does _not_ belong to a real rpmsg channel, in mtk_rpmsg_ns_cb()
286 * and is handled by the rpmsg bus itself. in mtk_rpmsg_ns_cb()
302 dev_err(dev, "create rpmsg device failed\n"); in mtk_rpmsg_ns_cb()
410 MODULE_DESCRIPTION("MediaTek scp rpmsg driver");
H A Drpmsg_internal.h16 #include <linux/rpmsg.h>
28 * Indirection table for the operations that a rpmsg backend should implement.
54 * Indirection table for the operations that a rpmsg backend should implement.
88 * basis for the rpmsg chrdev.
/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.
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";
21 mbox-names = "rpmsg-rx", "rpmsg-tx";
[all …]
/OK3568_Linux_fs/kernel/include/linux/
H A Drpmsg.h42 * rpmsg_device - device that belong to the rpmsg bus
44 * @id: device id (used to match between rpmsg drivers and devices)
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
68 * @rpdev: rpmsg channel device
73 * @addr: local rpmsg address
76 * In essence, an rpmsg endpoint represents a listener on the rpmsg bus, as
77 * it binds an rpmsg address with an rx callback handler.
79 * Simple rpmsg drivers shouldn't use this struct directly, because
[all …]
/OK3568_Linux_fs/kernel/drivers/platform/chrome/
H A 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 …]
/OK3568_Linux_fs/kernel/arch/arm64/boot/dts/rockchip/
H A Drk3562-amp.dtsi20 rpmsg: rpmsg@a0000000 { label
21 compatible = "rockchip,rk3562-rpmsg";
22 mbox-names = "rpmsg-rx", "rpmsg-tx";
43 rpmsg_reserved: rpmsg@a0000000 {
48 rpmsg_dma_reserved: rpmsg-dma@a0400000 {
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mfd/
H A 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";
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/remoteproc/
H A 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.
/OK3568_Linux_fs/kernel/include/linux/rpmsg/
H A Drockchip_rpmsg.h8 /* rpmsg flag bit definition
20 /* rpmsg buffer size is formed by payload size and struct rpmsg_hdr */
22 /* rpmsg buffer count for each direction */
24 /* rpmsg endpoint size is equal to rpmsg buffer size */
/OK3568_Linux_fs/kernel/samples/rpmsg/
H A 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);
/OK3568_Linux_fs/kernel/drivers/media/platform/sti/delta/
H A 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"},
/OK3568_Linux_fs/kernel/samples/
H A 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.
/OK3568_Linux_fs/kernel/init/
H A DKconfig.gki153 bool "Hidden RPMSG configuration needed for GKI"
154 select RPMSG
156 Dummy config option used to enable the hidden RPMSG config.
161 out-of-kernel build RPMSG drivers, say N here.
/OK3568_Linux_fs/kernel/android/
H A Dabi_gki_aarch64_imx1449 # required by gpio-imx-rpmsg.ko
1566 # required by imx-pcm-rpmsg.ko
2066 # required by rtc-imx-rpmsg.ko
2166 # required by snd-soc-imx-pcm512x-rpmsg.ko
2172 # required by snd-soc-imx-rpmsg.ko
2176 # required by snd-soc-rpmsg-ak4497.ko
2181 # required by snd-soc-rpmsg-pcm512x.ko
/OK3568_Linux_fs/kernel/drivers/net/wireless/ath/wcn36xx/
H A DKconfig6 depends on RPMSG || RPMSG=n
/OK3568_Linux_fs/kernel/net/qrtr/
H A DKconfig19 depends on RPMSG || (COMPILE_TEST && RPMSG=n)

1234