/Linux-v6.1/sound/soc/fsl/ |
D | fsl_rpmsg.c | 12 #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 …]
|
D | imx-audio-rpmsg.c | 5 #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");
|
D | imx-rpmsg.c | 17 #include "imx-pcm-rpmsg.h" 57 /* rpmsg_pdev is the platform device for the rpmsg node that probed us */ in imx_rpmsg_probe() 85 data->dai.name = "rpmsg hifi"; in imx_rpmsg_probe() 86 data->dai.stream_name = "rpmsg hifi"; in imx_rpmsg_probe() 118 if (of_property_read_bool(np, "fsl,rpmsg-out")) in imx_rpmsg_probe() 121 if (of_property_read_bool(np, "fsl,rpmsg-in")) in imx_rpmsg_probe() 125 dev_err(&pdev->dev, "no enabled rpmsg DAI link\n"); in imx_rpmsg_probe() 168 .name = "imx-audio-rpmsg", 175 MODULE_DESCRIPTION("Freescale SoC Audio RPMSG Machine Driver"); 177 MODULE_ALIAS("platform:imx-audio-rpmsg");
|
D | Makefile | 30 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
|
D | imx-pcm-rpmsg.c | 8 #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 …]
|
D | Kconfig | 122 tristate "NXP Audio Base On RPMSG support" 124 depends on RPMSG 128 Say Y if you want to add rpmsg audio support for the Freescale CPUs. 138 depends on RPMSG 348 tristate "SoC Audio support for i.MX boards with rpmsg" 349 depends on RPMSG 353 SoC Audio support for i.MX boards with rpmsg. 354 There should be rpmsg devices defined in other core (M core) 356 a rpmsg devices.
|
/Linux-v6.1/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-v6.1/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. 19 tristate "RPMSG control interface" 20 depends on RPMSG && ( RPMSG_CHAR || RPMSG_CHAR=n ) 27 tristate "RPMSG name service announcement" [all …]
|
D | rpmsg_core.c | 16 #include <linux/rpmsg.h> 27 * rpmsg_create_channel() - create a new rpmsg channel 29 * @rpdev: rpmsg device 32 * Return: a pointer to the new rpmsg device on success, or NULL on error. 49 * rpmsg_release_channel() - release a rpmsg channel 51 * @rpdev: rpmsg device 72 * @rpdev: rpmsg channel device 75 * @chinfo: channel_info with the local rpmsg address to bind with @cb 77 * Every rpmsg address in the system is bound to an rx callback (so when 78 * inbound messages arrive, they are dispatched by the rpmsg bus using the [all …]
|
D | rpmsg_ns.c | 8 #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);
|
D | rpmsg_char.c | 10 * 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 79 /* The default endpoint is released by the rpmsg core */ in rpmsg_chrdev_eptdev_destroy() 134 * If the default_ept is set, the rpmsg device default endpoint is used. in rpmsg_eptdev_open() 403 dev_set_name(dev, "rpmsg%d", ret); in rpmsg_chrdev_eptdev_add() 452 /* Set the default_ept to the rpmsg device endpoint */ in rpmsg_chrdev_probe() [all …]
|
D | rpmsg_ctrl.c | 10 * Based on rpmsg performance statistics driver by Michal Simek, which in turn 11 * was based on TI & Google OMX rpmsg driver. 22 #include <linux/rpmsg.h> 26 #include <uapi/linux/rpmsg.h> 43 * @rpdev: underlaying rpmsg device 226 pr_err("failed to register rpmsg driver\n"); in rpmsg_ctrldev_init() 241 MODULE_DESCRIPTION("rpmsg control interface"); 242 MODULE_ALIAS("rpmsg:" KBUILD_MODNAME);
|
D | virtio_rpmsg_bus.c | 20 #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 …]
|
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, "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-v6.1/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 …]
|
/Linux-v6.1/include/linux/ |
D | rpmsg.h | 20 #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 69 * struct rpmsg_endpoint - binds a local rpmsg address to its user 70 * @rpdev: rpmsg channel device 74 * @addr: local rpmsg address 77 * In essence, an rpmsg endpoint represents a listener on the rpmsg bus, as [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/sound/ |
D | fsl,rpmsg.yaml | 4 $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-v6.1/drivers/tty/ |
D | rpmsg_tty.c | 5 * 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 */ 93 * hung until a rpmsg buffer is available. In such case rpmsg_trysend returns -ENOMEM. in rpmsg_tty_write() 206 dev_dbg(&rpdev->dev, "Removing rpmsg tty device %d\n", cport->id); in rpmsg_tty_remove() 217 { .name = "rpmsg-tty" }, [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/remoteproc/ |
D | mtk,scp.yaml | 95 Subnodes of the SCP represent rpmsg devices. The names of the devices 97 individual bindings for the rpmsg devices. 99 mediatek,rpmsg-name: 102 Contains the name for the rpmsg device. Used to match 103 the subnode to rpmsg device announced by SCP. 106 - mediatek,rpmsg-name 122 mediatek,rpmsg-name = "cros-ec-rpmsg";
|
/Linux-v6.1/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 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-v6.1/Documentation/devicetree/bindings/mfd/ |
D | google,cros-ec.yaml | 29 For implementations of the EC is connected through RPMSG. 30 const: google,cros-ec-rpmsg 57 mediatek,rpmsg-name: 59 Must be defined if the cros-ec is a rpmsg device for a Mediatek 60 ARM Cortex M4 Co-processor. Contains the name of the rpmsg 61 device. Used to match the subnode to the rpmsg device announced by 161 - google,cros-ec-rpmsg 218 # Example for RPMSG 222 compatible = "google,cros-ec-rpmsg";
|
/Linux-v6.1/include/linux/rpmsg/ |
D | ns.h | 7 #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-v6.1/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-v6.1/drivers/net/wwan/ |
D | rpmsg_wwan_ctrl.c | 7 #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-v6.1/include/uapi/linux/ |
D | rpmsg.h | 32 * 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.
|