Home
last modified time | relevance | path

Searched +full:rpmsg +full:- +full:channel +full:- +full:name (Results 1 – 25 of 27) sorted by relevance

12

/linux/Documentation/ABI/testing/
H A Dsysfs-bus-rpmsg1 What: /sys/bus/rpmsg/devices/.../name
4 Contact: Ohad Ben-Cohen <ohad@wizery.com>
6 Every rpmsg device is a communication channel with a remote
7 processor. Channels are identified with a (textual) name,
9 rpmsg.h).
11 This sysfs entry contains the name of this channel.
13 What: /sys/bus/rpmsg/devices/.../src
16 Contact: Ohad Ben-Cohen <ohad@wizery.com>
18 Every rpmsg device is a communication channel with a remote
19 processor. Channels have a local ("source") rpmsg address,
[all …]
/linux/Documentation/devicetree/bindings/sound/
H A Dfsl,rpmsg.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/sound/fsl,rpmsg.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: NXP Audio RPMSG CPU DAI Controller
10 - Shengjiu Wang <shengjiu.wang@nxp.com>
15 Linux side is a device which provides audio service by rpmsg channel.
17 such as SAI, MICFIL, .etc through building rpmsg channels between
18 Cortex-A and Cortex-M.
21 - $ref: sound-card-common.yaml#
[all …]
/linux/sound/soc/fsl/
H A Dfsl_rpmsg.c1 // SPDX-License-Identifier: GPL-2.0+
2 // Copyright 2018-2021 NXP
5 #include <linux/clk-provider.h>
11 #include <linux/rpmsg.h>
18 #include "imx-pcm.h"
45 struct fsl_rpmsg *rpmsg = snd_soc_dai_get_drvdata(dai); in fsl_rpmsg_hw_params() local
46 struct clk *p = rpmsg->mclk, *pll = NULL, *npll = NULL; in fsl_rpmsg_hw_params()
51 while (p && rpmsg->pll8k && rpmsg->pll11k) { in fsl_rpmsg_hw_params()
54 if (clk_is_match(pp, rpmsg->pll8k) || in fsl_rpmsg_hw_params()
55 clk_is_match(pp, rpmsg->pll11k)) { in fsl_rpmsg_hw_params()
[all …]
H A Dimx-audio-rpmsg.c1 // SPDX-License-Identifier: GPL-2.0+
2 // Copyright 2017-2020 NXP
5 #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()
32 dev_dbg(&rpdev->dev, "get from%d: cmd:%d. %d\n", in imx_audio_rpmsg_cb()
33 src, r_msg->header.cmd, r_msg->param.resp); in imx_audio_rpmsg_cb()
35 switch (r_msg->header.type) { in imx_audio_rpmsg_cb()
[all …]
H A Dimx-pcm-rpmsg.c1 // SPDX-License-Identifier: GPL-2.0+
2 // Copyright 2017-2021 NXP
4 #include <linux/dma-mapping.h>
8 #include <linux/rpmsg.h>
15 #include "imx-pcm.h"
17 #include "imx-pcm-rpmsg.h"
39 struct rpmsg_device *rpdev = info->rpdev; in imx_rpmsg_pcm_send_message()
42 mutex_lock(&info->msg_lock); in imx_rpmsg_pcm_send_message()
44 dev_err(info->dev, "rpmsg channel not ready\n"); in imx_rpmsg_pcm_send_message()
45 mutex_unlock(&info->msg_lock); in imx_rpmsg_pcm_send_message()
[all …]
/linux/include/linux/
H A Drpmsg.h1 /* SPDX-License-Identifier: BSD-3-Clause */
20 #include <linux/rpmsg/byteorder.h>
21 #include <uapi/linux/rpmsg.h>
29 * struct rpmsg_channel_info - channel info representation
30 * @name: name o
35 char name[RPMSG_NAME_SIZE]; global() member
[all...]
H A Dmod_devicetable.h1 /* SPDX-License-Identifier: GPL-2.0 */
25 * struct pci_device_id - PCI device ID structure
35 * @class_mask: Limit which sub-fields of the class field are compared.
42 * @override_only: Match only when dev->driver_override is this driver.
47 __u32 class, class_mask; /* (class,subclass,prog-if) triplet */
69 * Device table entry for "new style" table-driven USB drivers.
77 * Terminate the driver's table with an all-zeroes entry.
82 * struct usb_device_id - identifies USB devices for probing and hotplugging
90 * @idProduct: Vendor-assigned product ID.
91 * @bcdDevice_lo: Low end of range of vendor-assigned product version numbers.
[all …]
/linux/drivers/rpmsg/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0
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
15 in /dev. They make it possible for user-space programs to send and
16 receive rpmsg packets.
19 tristate "RPMSG control interface"
[all …]
H A Dvirtio_rpmsg_bus.c1 // SPDX-License-Identifier: GPL-2.0
3 * Virtio-based remote processor messaging bus
8 * Ohad Ben-Cohen <ohad@wizery.com>
14 #include <linux/dma-mapping.h>
20 #include <linux/rpmsg.h>
21 #include <linux/rpmsg/byteorder.h>
22 #include <linux/rpmsg/ns.h>
34 * struct virtproc_info - virtual remote processor state
52 * This structure stores the rpmsg state of a given virtio remote processor
71 /* The feature bitmap for virtio rpmsg */
[all …]
H A Dmtk_rpmsg.c1 // SPDX-License-Identifier: GPL-2.0
10 #include <linux/rpmsg/mtk_rpmsg.h>
36 * struct rpmsg_ns_msg - dynamic name service announcement message
37 * @name: name of remote service that is published
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
43 * (if/as-soon-as one is registered).
46 char name[RPMSG_NAME_SIZE]; member
75 struct rpmsg_endpoint *ept = &mept->ept; in mtk_rpmsg_ipi_handler()
78 ret = (*ept->cb)(ept->rpdev, data, len, ept->priv, ept->addr); in mtk_rpmsg_ipi_handler()
[all …]
H A Drpmsg_ns.c1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) STMicroelectronics 2020 - All Rights Reserved
8 #include <linux/rpmsg.h>
9 #include <linux/rpmsg/ns.h>
15 * rpmsg_ns_register_device() - register name service device based on rpdev
19 * basis for the rpmsg name service device.
23 rpdev->src = RPMSG_NS_ADDR; in rpmsg_ns_register_device()
24 rpdev->dst = RPMSG_NS_ADDR; in rpmsg_ns_register_device()
30 /* invoked when a name service announcement arrives */
37 struct device *dev = rpdev->dev.parent; in rpmsg_ns_cb()
[all …]
H A Dqcom_glink_rpm.c1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (c) 2016-2017, Linaro Ltd
17 #include <linux/rpmsg.h>
27 #define RPM_TOC_MAX_ENTRIES ((RPM_TOC_SIZE - sizeof(struct rpm_toc)) / \
75 head = readl(pipe->head); in glink_rpm_rx_avail()
76 tail = readl(pipe->tail); in glink_rpm_rx_avail()
79 return pipe->native.length - tail + head; in glink_rpm_rx_avail()
81 return head - tail; in glink_rpm_rx_avail()
91 tail = readl(pipe->tail); in glink_rpm_rx_peek()
93 if (tail >= pipe->native.length) in glink_rpm_rx_peek()
[all …]
/linux/include/linux/rpmsg/
H A Dns.h1 /* SPDX-License-Identifier: GPL-2.0 */
7 #include <linux/rpmsg.h>
8 #include <linux/rpmsg/byteorder.h>
12 * struct rpmsg_ns_msg - dynamic name service announcement message
13 * @name: name of remote service that is published
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
21 * (if/as-soon-as one is registered).
24 char name[RPMSG_NAME_SIZE]; member
30 * enum rpmsg_ns_flags - dynamic name service announcement flags
/linux/drivers/tty/
H A Drpmsg_tty.c1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) 2021 STMicroelectronics - All Rights Reserved
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 */
37 struct rpmsg_tty_port *cport = dev_get_drvdata(&rpdev->dev); in rpmsg_tty_cb()
[all …]
/linux/samples/rpmsg/
H A Drpmsg_client_sample.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Remote processor messaging - sample client driver
8 * Ohad Ben-Cohen <ohad@wizery.com>
14 #include <linux/rpmsg.h>
29 struct instance_data *idata = dev_get_drvdata(&rpdev->dev); in rpmsg_sample_cb()
31 dev_info(&rpdev->dev, "incoming msg %d (src: 0x%x)\n", in rpmsg_sample_cb()
32 ++idata->rx_count, src); in rpmsg_sample_cb()
38 if (idata->rx_count >= count) { in rpmsg_sample_cb()
39 dev_info(&rpdev->dev, "goodbye!\n"); in rpmsg_sample_cb()
44 ret = rpmsg_send(rpdev->ept, MSG, strlen(MSG)); in rpmsg_sample_cb()
[all …]
/linux/drivers/cdx/controller/
H A Dcdx_rpmsg.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2022-2023, Advanced Micro Devices, Inc.
8 #include <linux/rpmsg.h>
21 { .name = "mcdi_ipc" },
24 MODULE_DEVICE_TABLE(rpmsg, cdx_rpmsg_id_table);
35 return -ENOMEM; in cdx_rpmsg_send()
40 ret = rpmsg_send(cdx_mcdi->ept, send_buf, hdr_len + sdu_len); in cdx_rpmsg_send()
55 dev = &pdev->dev; in cdx_attach_to_rproc()
57 cdx_mcdi = cdx_c->priv; in cdx_attach_to_rproc()
59 r5_core_node = of_parse_phandle(dev->of_node, "xlnx,rproc", 0); in cdx_attach_to_rproc()
[all …]
/linux/net/qrtr/
H A Dsmd.c1 // SPDX-License-Identifier: GPL-2.0-only
9 #include <linux/rpmsg.h>
15 struct rpmsg_endpoint *channel; member
23 struct qrtr_smd_dev *qdev = dev_get_drvdata(&rpdev->dev); in qcom_smd_qrtr_callback()
27 return -EAGAIN; in qcom_smd_qrtr_callback()
29 rc = qrtr_endpoint_post(&qdev->ep, data, len); in qcom_smd_qrtr_callback()
30 if (rc == -EINVAL) { in qcom_smd_qrtr_callback()
31 dev_err(qdev->dev, "invalid ipcrouter packet\n"); in qcom_smd_qrtr_callback()
49 rc = rpmsg_send(qdev->channel, skb->data, skb->len); in qcom_smd_qrtr_send()
64 qdev = devm_kzalloc(&rpdev->dev, sizeof(*qdev), GFP_KERNEL); in qcom_smd_qrtr_probe()
[all …]
/linux/drivers/edac/
H A Dversalnet_edac.c1 // SPDX-License-Identifier: GPL-2.0
13 #include <linux/rpmsg.h>
74 * struct ecc_error_info - ECC error log information.
122 * struct ecc_status - ECC status information to report.
125 * @channel: Channel number.
131 u8 channel; member
136 * struct mc_priv - DDR memory controller private instance data.
143 * @regs: The registers sent on the rpmsg.
146 * @ept: rpmsg endpoint.
227 p = &priv->stat; in get_ddr_info()
[all …]
/linux/drivers/soc/qcom/
H A Dwcnss_ctrl.c1 // SPDX-License-Identifier: GPL-2.0-only
14 #include <linux/rpmsg.h>
27 * struct wcnss_ctrl - driver context
29 * @channel: SMD channel handle
37 struct rpmsg_endpoint *channel; member
64 * struct wcnss_msg_hdr - common packet header for requests and responses
74 * struct wcnss_version_resp - version request response
85 * struct wcnss_download_nv_req - firmware fragment request
101 * struct wcnss_download_nv_resp - firmware download response
111 * wcnss_ctrl_smd_callback() - handler from SMD responses
[all …]
H A Dsmd-rpm.c1 // SPDX-License-Identifier: GPL-2.0-only
4 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
14 #include <linux/rpmsg.h>
15 #include <linux/soc/qcom/smd-rpm.h>
20 * struct qcom_smd_rpm - state of the rpm device driver
21 * @rpm_channel: reference to the smd channel
37 * struct qcom_rpm_header - header for all rpm requests and responses
47 * struct qcom_rpm_request - request message to the rpm
63 * struct qcom_rpm_message - response message from the rpm
86 * qcom_rpm_smd_write - write @buf to @type:@id
[all …]
/linux/drivers/remoteproc/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
54 This can be either built-in or a loadable module.
80 use-cases to run on your platform (multimedia codecs are
105 Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed
111 tristate "DA8xx/OMAP-L13x remoteproc support"
115 Say y here to support DA8xx/OMAP-L13x remote processors via the
119 use-cases to run on your platform (multimedia codecs are
122 This module controls the name of the firmware file that gets
126 "rproc-dsp-fw".
157 Support for TI PRU remote processors present within a PRU-ICSS
[all …]
H A Domap_remoteproc.c1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 2011-2020 Texas Instruments Incorporated - http://www.ti.com/
8 * Ohad Ben-Cohen <ohad@wizery.com>
12 * Suman Anna <s-anna@ti.com>
13 * Hari Kanigeri <h-kanigeri2@ti.com>
27 #include <linux/dma-mapping.h>
31 #include <linux/omap-iommu.h>
32 #include <linux/omap-mailbox.h>
36 #include <clocksource/timer-ti-dm.h>
38 #include <linux/platform_data/dmtimer-omap.h>
[all …]
/linux/drivers/misc/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
27 See Documentation/misc-devices/ad525x_dpot.rst for the
40 module will be called ad525x_dpot-i2c.
51 module will be called ad525x_dpot-spi.
65 This option enables device driver support for in-band access to the
78 website <https://www-03.ibm.com/systems/info/x86servers/serverproven/compat/us/>
83 tristate "IBM Virtual Management Channel support"
86 This is the IBM POWER Virtual Management Channel
89 Management Channel virtual adapter on the PowerVM
104 If you choose to build module, its name will be phantom. If unsure,
[all …]
H A Dfastrpc.c1 // SPDX-License-Identifier: GPL-2.0
2 // Copyright (c) 2011-2018, The Linux Foundation. All rights reserved.
7 #include <linux/dma-buf.h>
8 #include <linux/dma-mapping.h>
9 #include <linux/dma-resv.h>
19 #include <linux/rpmsg.h>
314 if (map->table) { in fastrpc_free_map()
315 if (map->attr & FASTRPC_ATTR_SECUREMAP) { in fastrpc_free_map()
317 int vmid = map->fl->cctx->vmperms[0].vmid; in fastrpc_free_map()
323 err = qcom_scm_assign_mem(map->phys, map->len, in fastrpc_free_map()
[all …]
/linux/drivers/net/wireless/ath/wcn36xx/
H A Dmain.c24 #include <linux/rpmsg.h>
50 /* The wcn firmware expects channel values to matching
53 CHAN2G(2412, 1), /* Channel 1 */
54 CHAN2G(2417, 2), /* Channel 2 */
55 CHAN2G(2422, 3), /* Channel 3 */
56 CHAN2G(2427, 4), /* Channel 4 */
57 CHAN2G(2432, 5), /* Channel 5 */
58 CHAN2G(2437, 6), /* Channel 6 */
59 CHAN2G(2442, 7), /* Channel 7 */
60 CHAN2G(2447, 8), /* Channel 8 */
[all …]

12