Home
last modified time | relevance | path

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

123

/Linux-v5.15/sound/soc/fsl/
Dfsl_rpmsg.c12 #include <linux/rpmsg.h>
44 struct fsl_rpmsg *rpmsg = snd_soc_dai_get_drvdata(dai); in fsl_rpmsg_hw_params() local
45 struct clk *p = rpmsg->mclk, *pll = NULL, *npll = NULL; in fsl_rpmsg_hw_params()
50 while (p && rpmsg->pll8k && rpmsg->pll11k) { in fsl_rpmsg_hw_params()
53 if (clk_is_match(pp, rpmsg->pll8k) || in fsl_rpmsg_hw_params()
54 clk_is_match(pp, rpmsg->pll11k)) { in fsl_rpmsg_hw_params()
63 npll = (do_div(rate, 8000) ? rpmsg->pll11k : rpmsg->pll8k); in fsl_rpmsg_hw_params()
72 if (!(rpmsg->mclk_streams & BIT(substream->stream))) { in fsl_rpmsg_hw_params()
73 ret = clk_prepare_enable(rpmsg->mclk); in fsl_rpmsg_hw_params()
79 rpmsg->mclk_streams |= BIT(substream->stream); in fsl_rpmsg_hw_params()
[all …]
Dimx-audio-rpmsg.c5 #include <linux/rpmsg.h>
6 #include "imx-pcm-rpmsg.h"
20 struct imx_audio_rpmsg *rpmsg = dev_get_drvdata(&rpdev->dev); in imx_audio_rpmsg_cb() local
26 if (!rpmsg->rpmsg_pdev) in imx_audio_rpmsg_cb()
29 info = platform_get_drvdata(rpmsg->rpmsg_pdev); in imx_audio_rpmsg_cb()
88 /* Register platform driver for rpmsg routine */ in imx_audio_rpmsg_probe()
94 dev_err(&rpdev->dev, "failed to register rpmsg platform.\n"); in imx_audio_rpmsg_probe()
108 dev_info(&rpdev->dev, "audio rpmsg driver is removed\n"); in imx_audio_rpmsg_remove()
112 { .name = "rpmsg-audio-channel" },
127 MODULE_DESCRIPTION("Freescale SoC Audio RPMSG interface");
Dimx-rpmsg.c17 #include "imx-pcm-rpmsg.h"
35 /* rpmsg_pdev is the platform device for the rpmsg node that probed us */ in imx_rpmsg_probe()
63 data->dai.name = "rpmsg hifi"; in imx_rpmsg_probe()
64 data->dai.stream_name = "rpmsg hifi"; in imx_rpmsg_probe()
90 if (of_property_read_bool(np, "fsl,rpmsg-out")) in imx_rpmsg_probe()
93 if (of_property_read_bool(np, "fsl,rpmsg-in")) in imx_rpmsg_probe()
97 dev_err(&pdev->dev, "no enabled rpmsg DAI link\n"); in imx_rpmsg_probe()
139 .name = "imx-audio-rpmsg",
146 MODULE_DESCRIPTION("Freescale SoC Audio RPMSG Machine Driver");
148 MODULE_ALIAS("platform:imx-audio-rpmsg");
DMakefile30 snd-soc-fsl-rpmsg-objs := fsl_rpmsg.o
46 obj-$(CONFIG_SND_SOC_FSL_RPMSG) += snd-soc-fsl-rpmsg.o
63 obj-$(CONFIG_SND_SOC_IMX_AUDIO_RPMSG) += imx-audio-rpmsg.o
64 obj-$(CONFIG_SND_SOC_IMX_PCM_RPMSG) += imx-pcm-rpmsg.o
73 snd-soc-imx-rpmsg-objs := imx-rpmsg.o
82 obj-$(CONFIG_SND_SOC_IMX_RPMSG) += snd-soc-imx-rpmsg.o
Dimx-pcm-rpmsg.c8 #include <linux/rpmsg.h>
17 #include "imx-pcm-rpmsg.h"
43 dev_err(info->dev, "rpmsg channel not ready\n"); in imx_rpmsg_pcm_send_message()
67 /* wait response from rpmsg */ in imx_rpmsg_pcm_send_message()
317 struct fsl_rpmsg *rpmsg = dev_get_drvdata(cpu_dai->dev); in imx_rpmsg_pcm_prepare() local
325 rpmsg->enable_lpa) { in imx_rpmsg_pcm_prepare()
331 rpmsg->force_lpa = 1; in imx_rpmsg_pcm_prepare()
333 rpmsg->force_lpa = 0; in imx_rpmsg_pcm_prepare()
462 struct fsl_rpmsg *rpmsg = dev_get_drvdata(cpu_dai->dev); in imx_rpmsg_pcm_trigger() local
473 if (rpmsg->force_lpa) in imx_rpmsg_pcm_trigger()
[all …]
DKconfig119 tristate "NXP Audio Base On RPMSG support"
121 depends on RPMSG
125 Say Y if you want to add rpmsg audio support for the Freescale CPUs.
135 depends on RPMSG
344 tristate "SoC Audio support for i.MX boards with rpmsg"
345 depends on RPMSG
349 SoC Audio support for i.MX boards with rpmsg.
350 There should be rpmsg devices defined in other core (M core)
352 a rpmsg devices.
/Linux-v5.15/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-v5.15/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.
19 tristate "RPMSG name service announcement"
20 depends on RPMSG
23 channel that probes the associated RPMsg device on remote endpoint
[all …]
Drpmsg_core.c16 #include <linux/rpmsg.h>
24 * rpmsg_create_channel() - create a new rpmsg channel
26 * @rpdev: rpmsg device
29 * Returns a pointer to the new rpmsg device on success, or NULL on error.
46 * rpmsg_release_channel() - release a rpmsg channel
48 * @rpdev: rpmsg device
69 * @rpdev: rpmsg channel device
72 * @chinfo: channel_info with the local rpmsg address to bind with @cb
74 * Every rpmsg address in the system is bound to an rx callback (so when
75 * inbound messages arrive, they are dispatched by the rpmsg bus using the
[all …]
Drpmsg_ns.c8 #include <linux/rpmsg.h>
9 #include <linux/rpmsg/ns.h>
19 * basis for the rpmsg name service device.
86 * Create the NS announcement service endpoint associated to the RPMsg in rpmsg_ns_probe()
87 * device. The endpoint will be automatically destroyed when the RPMsg in rpmsg_ns_probe()
111 pr_err("%s: Failed to register rpmsg driver\n", __func__); in rpmsg_ns_init()
123 MODULE_DESCRIPTION("Name service announcement rpmsg driver");
125 MODULE_ALIAS("rpmsg:" KBUILD_MODNAME);
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
381 dev_set_name(dev, "rpmsg%d", ret); in rpmsg_eptdev_create()
553 ret = alloc_chrdev_region(&rpmsg_major, 0, RPMSG_DEV_MAX, "rpmsg"); in rpmsg_chrdev_init()
555 pr_err("rpmsg: failed to allocate char dev region\n"); in rpmsg_chrdev_init()
[all …]
Dvirtio_rpmsg_bus.c21 #include <linux/rpmsg.h>
22 #include <linux/rpmsg/byteorder.h>
23 #include <linux/rpmsg/ns.h>
53 * This structure stores the rpmsg state of a given virtio remote processor
72 /* The feature bitmap for virtio rpmsg */
76 * struct rpmsg_hdr - common header for all rpmsg messages
84 * Every message sent(/received) on the rpmsg bus begins with this header.
97 * struct virtio_rpmsg_channel - rpmsg channel descriptor
98 * @rpdev: the rpmsg channel device
101 * 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>
29 * Indirection table for the operations that a rpmsg backend should implement.
57 * Indirection table for the operations that a rpmsg backend should implement.
89 * basis for the rpmsg chrdev.
/Linux-v5.15/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).
/Linux-v5.15/include/linux/
Drpmsg.h20 #include <linux/rpmsg/byteorder.h>
21 #include <uapi/linux/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
67 * struct rpmsg_endpoint - binds a local rpmsg address to its user
68 * @rpdev: rpmsg channel device
72 * @addr: local rpmsg address
75 * In essence, an rpmsg endpoint represents a listener on the rpmsg bus, as
[all …]
/Linux-v5.15/Documentation/devicetree/bindings/sound/
Dfsl,rpmsg.yaml4 $id: http://devicetree.org/schemas/sound/fsl,rpmsg.yaml#
7 title: NXP Audio RPMSG CPU DAI Controller
15 side is a device which provides audio service by rpmsg channel.
20 - fsl,imx7ulp-rpmsg-audio
21 - fsl,imx8mn-rpmsg-audio
22 - fsl,imx8mm-rpmsg-audio
23 - fsl,imx8mp-rpmsg-audio
24 - fsl,imx8ulp-rpmsg-audio
76 fsl,rpmsg-out:
82 fsl,rpmsg-in:
[all …]
/Linux-v5.15/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()
164 dev_warn(ec_dev->dev, "rpmsg received empty response"); in cros_ec_rpmsg_callback()
[all …]
/Linux-v5.15/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
158 - google,cros-ec-rpmsg
213 # Example for RPMSG
217 compatible = "google,cros-ec-rpmsg";
/Linux-v5.15/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.
/Linux-v5.15/include/linux/rpmsg/
Dns.h7 #include <linux/rpmsg.h>
8 #include <linux/rpmsg/byteorder.h>
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
/Linux-v5.15/drivers/net/wwan/
DKconfig54 tristate "RPMSG WWAN control driver"
55 depends on RPMSG
57 RPMSG WWAN CTRL allows modems available via RPMSG channels to expose
Drpmsg_wwan_ctrl.c7 #include <linux/rpmsg.h>
11 /* Lower level is a rpmsg dev, upper level is a wwan port */
149 /* RPMSG channels for Qualcomm SoCs with integrated modem */
154 MODULE_DEVICE_TABLE(rpmsg, rpmsg_wwan_ctrl_id_table);
165 MODULE_DESCRIPTION("RPMSG WWAN CTRL Driver");
/Linux-v5.15/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);

123