Home
last modified time | relevance | path

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

1234

/linux/sound/soc/fsl/
H A Dfsl_rpmsg.c11 #include <linux/rpmsg.h>
43 struct fsl_rpmsg *rpmsg = snd_soc_dai_get_drvdata(dai); in fsl_rpmsg_hw_params() local
44 struct clk *p = rpmsg->mclk, *pll = NULL, *npll = NULL; in fsl_rpmsg_hw_params()
49 while (p && rpmsg->pll8k && rpmsg->pll11k) { in fsl_rpmsg_hw_params()
52 if (clk_is_match(pp, rpmsg->pll8k) || in fsl_rpmsg_hw_params()
53 clk_is_match(pp, rpmsg->pll11k)) { in fsl_rpmsg_hw_params()
62 npll = (do_div(rate, 8000) ? rpmsg->pll11k : rpmsg->pll8k); in fsl_rpmsg_hw_params()
71 if (!(rpmsg->mclk_streams & BIT(substream->stream))) { in fsl_rpmsg_hw_params()
72 ret = clk_prepare_enable(rpmsg->mclk); in fsl_rpmsg_hw_params()
78 rpmsg->mclk_streams |= BIT(substream->stream); in fsl_rpmsg_hw_params()
[all …]
H A Dimx-audio-rpmsg.c5 #include <linux/rpmsg.h>
6 #include "imx-pcm-rpmsg.h"
21 struct imx_audio_rpmsg *rpmsg = dev_get_drvdata(&rpdev->dev); in imx_audio_rpmsg_cb() local
27 if (!rpmsg->rpmsg_pdev) in imx_audio_rpmsg_cb()
30 info = platform_get_drvdata(rpmsg->rpmsg_pdev); in imx_audio_rpmsg_cb()
89 /* Register platform driver for rpmsg routine */ in imx_audio_rpmsg_probe()
95 dev_err(&rpdev->dev, "failed to register rpmsg platform.\n"); in imx_audio_rpmsg_probe()
100 "imx-audio-rpmsg", in imx_audio_rpmsg_probe()
105 dev_err(&rpdev->dev, "failed to register rpmsg card.\n"); in imx_audio_rpmsg_probe()
122 dev_info(&rpdev->dev, "audio rpmsg driver is removed\n"); in imx_audio_rpmsg_remove()
[all …]
H A Dimx-rpmsg.c15 #include "imx-pcm-rpmsg.h"
133 data->dai.name = "rpmsg hifi"; in imx_rpmsg_probe()
134 data->dai.stream_name = "rpmsg hifi"; in imx_rpmsg_probe()
140 * i.MX rpmsg sound cards work on codec slave mode. MCLK will be in imx_rpmsg_probe()
182 if (!of_property_read_string(np, "fsl,rpmsg-channel-name", &platform_name)) in imx_rpmsg_probe()
185 data->dai.platforms->name = "rpmsg-audio-channel"; in imx_rpmsg_probe()
191 if (of_property_read_bool(np, "fsl,rpmsg-out")) in imx_rpmsg_probe()
194 if (of_property_read_bool(np, "fsl,rpmsg-in")) in imx_rpmsg_probe()
198 dev_err(&pdev->dev, "no enabled rpmsg DAI link\n"); in imx_rpmsg_probe()
244 .name = "imx-audio-rpmsg",
[all …]
H A Dimx-pcm-rpmsg.c8 #include <linux/rpmsg.h>
17 #include "imx-pcm-rpmsg.h"
44 dev_err(info->dev, "rpmsg channel not ready\n"); in imx_rpmsg_pcm_send_message()
68 /* wait response from rpmsg */ in imx_rpmsg_pcm_send_message()
234 struct fsl_rpmsg *rpmsg = dev_get_drvdata(cpu_dai->dev); in imx_rpmsg_pcm_open() local
264 pcm_hardware.buffer_bytes_max = rpmsg->buffer_size; in imx_rpmsg_pcm_open()
321 struct fsl_rpmsg *rpmsg = dev_get_drvdata(cpu_dai->dev); in imx_rpmsg_pcm_prepare() local
329 rpmsg->enable_lpa) { in imx_rpmsg_pcm_prepare()
335 rpmsg->force_lpa = 1; in imx_rpmsg_pcm_prepare()
337 rpmsg->force_lpa = 0; in imx_rpmsg_pcm_prepare()
[all …]
H A DMakefile27 snd-soc-fsl-rpmsg-y := fsl_rpmsg.o
45 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
72 snd-soc-imx-rpmsg-y := imx-rpmsg.o
80 obj-$(CONFIG_SND_SOC_IMX_RPMSG) += snd-soc-imx-rpmsg.o
H A DKconfig123 tristate "NXP Audio Base On RPMSG support"
126 depends on RPMSG
130 Say Y if you want to add rpmsg audio support for the Freescale CPUs.
147 depends on RPMSG
349 tristate "SoC Audio support for i.MX boards with rpmsg"
350 depends on RPMSG
355 SoC Audio support for i.MX boards with rpmsg.
356 There should be rpmsg devices defined in other core (M core)
358 a rpmsg devices.
/linux/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 …]
/linux/Documentation/devicetree/bindings/sound/
H A Dfsl,rpmsg.yaml4 $id: http://devicetree.org/schemas/sound/fsl,rpmsg.yaml#
7 title: NXP Audio RPMSG CPU DAI Controller
15 Linux side is a device which provides audio service by rpmsg channel.
17 such as SAI, MICFIL, .etc through building rpmsg channels between
26 - fsl,imx7ulp-rpmsg-audio
27 - fsl,imx8mn-rpmsg-audio
28 - fsl,imx8mm-rpmsg-audio
29 - fsl,imx8mp-rpmsg-audio
30 - fsl,imx8ulp-rpmsg-audio
31 - fsl,imx93-rpmsg-audio
[all …]
/linux/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.
19 tristate "RPMSG control interface"
20 depends on RPMSG && ( RPMSG_CHAR || RPMSG_CHAR=n )
27 tristate "RPMSG name service announcement"
[all …]
H A Drpmsg_core.c16 #include <linux/rpmsg.h>
24 .name = "rpmsg",
29 * rpmsg_create_channel() - create a new rpmsg channel
31 * @rpdev: rpmsg device
34 * Return: a pointer to the new rpmsg device on success, or NULL on error.
51 * rpmsg_release_channel() - release a rpmsg channel
53 * @rpdev: rpmsg device
74 * @rpdev: rpmsg channel device
77 * @chinfo: channel_info with the local rpmsg address to bind with @cb
79 * Every rpmsg address in the system is bound to an rx callback (so when
[all …]
H A Drpmsg_ns.c8 #include <linux/rpmsg.h>
9 #include <linux/rpmsg/ns.h>
19 * basis for the rpmsg name service device.
84 * Create the NS announcement service endpoint associated to the RPMsg in rpmsg_ns_probe()
85 * device. The endpoint will be automatically destroyed when the RPMsg in rpmsg_ns_probe()
109 pr_err("%s: Failed to register rpmsg driver\n", __func__); in rpmsg_ns_init()
121 MODULE_DESCRIPTION("Name service announcement rpmsg driver");
123 MODULE_ALIAS("rpmsg:" KBUILD_MODNAME);
H A Drpmsg_char.c10 * Based on rpmsg performance statistics driver by Michal Simek, which in turn
11 * was based on TI & Google OMX rpmsg driver.
23 #include <linux/rpmsg.h>
27 #include <uapi/linux/rpmsg.h>
46 * @rpdev: underlaying rpmsg device
49 * @ept: rpmsg endpoint reference, when open
84 /* The default endpoint is released by the rpmsg core */ in rpmsg_chrdev_eptdev_destroy()
156 * If the default_ept is set, the rpmsg device default endpoint is used. in rpmsg_eptdev_open()
453 dev_set_name(dev, "rpmsg%d", ret); in rpmsg_chrdev_eptdev_add()
502 /* Set the default_ept to the rpmsg device endpoint */ in rpmsg_chrdev_probe()
[all …]
H A Dvirtio_rpmsg_bus.c20 #include <linux/rpmsg.h>
21 #include <linux/rpmsg/byteorder.h>
22 #include <linux/rpmsg/ns.h>
52 * This structure stores the rpmsg state of a given virtio remote processor
71 /* The feature bitmap for virtio rpmsg */
75 * struct rpmsg_hdr - common header for all rpmsg messages
83 * Every message sent(/received) on the rpmsg bus begins with this header.
96 * struct virtio_rpmsg_channel - rpmsg channel descriptor
97 * @rpdev: the rpmsg channel device
100 * 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, "mediatek,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");
/linux/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).
212 handlers. If rpmsg/virtio functionality is also desired, then the ->kick handler
355 rpmsg virtio devices this way, if desired).
359 using the rpmsg bus (similar to how we already do dynamic allocations of
360 rpmsg channels; read more about it in rpmsg.txt).
/linux/Documentation/devicetree/bindings/remoteproc/
H A Dmtk,scp.yaml60 cros-ec-rpmsg:
63 This subnode represents the rpmsg device. The properties
65 the rpmsg devices.
68 - mediatek,rpmsg-name
128 cros-ec-rpmsg:
131 This subnode represents the rpmsg device. The properties
133 the rpmsg devices.
136 - mediatek,rpmsg-name
224 cros-ec-rpmsg {
225 compatible = "google,cros-ec-rpmsg";
[all …]
/linux/include/linux/
H A 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)
49 * @ept: the rpmsg endpoint of this channel
50 * @announce: if set, rpmsg will announce the creation/removal of this channel
70 * struct rpmsg_endpoint - binds a local rpmsg address to its user
71 * @rpdev: rpmsg channel device
76 * @addr: local rpmsg address
79 * In essence, an rpmsg endpoint represents a listener on the rpmsg bus, as
[all …]
/linux/drivers/tty/
H A Drpmsg_tty.c5 * The rpmsg tty driver implements serial communication on the RPMsg bus to makes
6 * possible for user-space programs to send and receive rpmsg messages as a standard
9 * The remote processor can instantiate a new tty by requesting a "rpmsg-tty" RPMsg service.
10 * The "rpmsg-tty" service is directly used for data exchange. No flow control is implemented yet.
16 #include <linux/rpmsg.h>
31 int id; /* TTY rpmsg index */
32 struct rpmsg_device *rpdev; /* rpmsg device */
94 * hung until a rpmsg buffer is available. In such case rpmsg_trysend returns -ENOMEM. in rpmsg_tty_write()
207 dev_dbg(&rpdev->dev, "Removing rpmsg tty device %d\n", cport->id); in rpmsg_tty_remove()
218 { .name = "rpmsg-tty" },
[all …]
/linux/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
99 dev_err(ec_dev->dev, "rpmsg send failed\n"); in cros_ec_pkt_xfer_rpmsg()
106 dev_err(ec_dev->dev, "rpmsg send timeout\n"); in cros_ec_pkt_xfer_rpmsg()
166 dev_warn(ec_dev->dev, "rpmsg received empty response"); in cros_ec_rpmsg_callback()
[all …]
/linux/Documentation/devicetree/bindings/mfd/
H A Dgoogle,cros-ec.yaml34 For implementations of the EC connected through RPMSG.
35 const: google,cros-ec-rpmsg
62 mediatek,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 of the rpmsg
66 device. Used to match the subnode to the rpmsg device announced by
193 const: google,cros-ec-rpmsg
196 mediatek,rpmsg-name: false
204 - google,cros-ec-rpmsg
296 # Example for RPMSG
[all …]
/linux/include/uapi/linux/
H A Drpmsg.h32 * Destroy a rpmsg char device endpoint created by the RPMSG_CREATE_EPT_IOCTL.
37 * Instantiate a new local rpmsg service device.
42 * Release a local rpmsg device.
47 * Get the flow control state of the remote rpmsg char device.
52 * Set the flow control state of the local rpmsg char device.
/linux/include/linux/rpmsg/
H A 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/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);
/linux/drivers/net/wwan/
H A 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 */
155 MODULE_DEVICE_TABLE(rpmsg, rpmsg_wwan_ctrl_id_table);
166 MODULE_DESCRIPTION("RPMSG WWAN CTRL Driver");

1234