| /kernel/linux/linux-6.6/Documentation/ABI/testing/ |
| D | sysfs-bus-rpmsg | 1 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 …]
|
| /kernel/linux/linux-5.10/Documentation/ABI/testing/ |
| D | sysfs-bus-rpmsg | 1 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 …]
|
| /kernel/linux/linux-5.10/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 17 flavor of real-time OS. 19 OMAP4, for example, has dual Cortex-A9, dual Cortex-M3 and a C64x+ DSP. 20 Typically, the dual cortex-A9 is running Linux in a SMP configuration, 25 hardware accelerators, and therefore are often used to offload CPU-intensive 28 These remote processors could also be used to control latency-sensitive 34 hardware accessible only by the remote processor, reserving kernel-controlled 37 Rpmsg is a virtio-based messaging bus that allows kernel drivers to communicate [all …]
|
| /kernel/linux/linux-6.6/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 17 flavor of real-time OS. 19 OMAP4, for example, has dual Cortex-A9, dual Cortex-M3 and a C64x+ DSP. 20 Typically, the dual cortex-A9 is running Linux in a SMP configuration, 25 hardware accelerators, and therefore are often used to offload CPU-intensive 28 These remote processors could also be used to control latency-sensitive 34 hardware accessible only by the remote processor, reserving kernel-controlled 37 Rpmsg is a virtio-based messaging bus that allows kernel drivers to communicate [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/sound/ |
| D | fsl,rpmsg.yaml | 1 # 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 …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | rpmsg.h | 1 /* SPDX-License-Identifier: BSD-3-Clause */ 29 * struct rpmsg_channel_info - channel info representation 30 * @name: name of service 35 char name[RPMSG_NAME_SIZE]; member 41 * rpmsg_device - device that belong to the rpmsg bus 43 * @id: device id (used to match between rpmsg drivers and devices) 44 * @driver_override: driver name to force a match; do not set directly, 49 * @ept: the rpmsg endpoint of this channel 50 * @announce: if set, rpmsg will announce the creation/removal of this channel 67 * struct rpmsg_endpoint - binds a local rpmsg address to its user [all …]
|
| /kernel/linux/linux-6.6/drivers/rpmsg/ |
| D | rpmsg_core.c | 1 // SPDX-License-Identifier: GPL-2.0 8 * Ohad Ben-Cohen <ohad@wizery.com> 16 #include <linux/rpmsg.h> 27 * rpmsg_create_channel() - create a new rpmsg channel 28 * using its name and address info. 29 * @rpdev: rpmsg device 32 * Return: a pointer to the new rpmsg device on success, or NULL on error. 39 if (!rpdev->ops || !rpdev->ops->create_channel) { in rpmsg_create_channel() 40 dev_err(&rpdev->dev, "no create_channel ops found\n"); in rpmsg_create_channel() 44 return rpdev->ops->create_channel(rpdev, chinfo); in rpmsg_create_channel() [all …]
|
| D | Kconfig | 1 # 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 …]
|
| D | mtk_rpmsg.c | 1 // 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 …]
|
| D | virtio_rpmsg_bus.c | 1 // 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 …]
|
| D | rpmsg_ctrl.c | 1 // SPDX-License-Identifier: GPL-2.0 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> 42 * struct rpmsg_ctrldev - control device for instantiating endpoint devices 43 * @rpdev: underlaying rpmsg device 57 struct rpmsg_ctrldev *ctrldev = cdev_to_ctrldev(inode->i_cdev); in rpmsg_ctrldev_open() 59 get_device(&ctrldev->dev); in rpmsg_ctrldev_open() 60 filp->private_data = ctrldev; in rpmsg_ctrldev_open() [all …]
|
| D | rpmsg_ns.c | 1 // 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 …]
|
| /kernel/linux/linux-5.10/drivers/rpmsg/ |
| D | rpmsg_core.c | 1 // SPDX-License-Identifier: GPL-2.0 8 * Ohad Ben-Cohen <ohad@wizery.com> 16 #include <linux/rpmsg.h> 24 * rpmsg_create_ept() - create a new rpmsg_endpoint 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 [all …]
|
| D | mtk_rpmsg.c | 1 // 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 …]
|
| D | virtio_rpmsg_bus.c | 1 // 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> 21 #include <linux/rpmsg.h> 34 * struct virtproc_info - virtual remote processor state 51 * @ns_ept: the bus's name service endpoint 53 * This structure stores the rpmsg state of a given virtio remote processor 73 /* The feature bitmap for virtio rpmsg */ 74 #define VIRTIO_RPMSG_F_NS 0 /* RP supports name service notifications */ [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | rpmsg.h | 1 /* 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 of service 35 char name[RPMSG_NAME_SIZE]; member 41 * rpmsg_device - device that belong to the rpmsg bus 43 * @id: device id (used to match between rpmsg drivers and devices) 44 * @driver_override: driver name to force a match; do not set directly, 49 * @ept: the rpmsg endpoint of this channel [all …]
|
| /kernel/linux/linux-6.6/sound/soc/fsl/ |
| D | imx-audio-rpmsg.c | 1 // SPDX-License-Identifier: GPL-2.0+ 2 // Copyright 2017-2020 NXP 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() 31 dev_dbg(&rpdev->dev, "get from%d: cmd:%d. %d\n", in imx_audio_rpmsg_cb() 32 src, r_msg->header.cmd, r_msg->param.resp); in imx_audio_rpmsg_cb() 34 switch (r_msg->header.type) { in imx_audio_rpmsg_cb() [all …]
|
| D | imx-rpmsg.c | 1 // SPDX-License-Identifier: GPL-2.0+ 2 // Copyright 2017-2020 NXP 16 #include <sound/soc-dapm.h> 17 #include "imx-pcm-rpmsg.h" 35 struct snd_soc_pcm_runtime *rtd = list_first_entry(&card->rtd_list, in imx_rpmsg_late_probe() 38 struct device *dev = card->dev; in imx_rpmsg_late_probe() 41 if (!data->sysclk) in imx_rpmsg_late_probe() 44 ret = snd_soc_dai_set_sysclk(codec_dai, 0, data->sysclk, SND_SOC_CLOCK_IN); in imx_rpmsg_late_probe() 45 if (ret && ret != -ENOTSUPP) { in imx_rpmsg_late_probe() 56 struct device *dev = pdev->dev.parent; in imx_rpmsg_probe() [all …]
|
| /kernel/linux/patches/linux-5.10/imx8mm_patch/patches/drivers/ |
| D | 0032_linux_drivers_regulator_remoteproc_reset_rpmsg_rtc.patch | 7 Change-Id: I70798f1381ce7dac1b89f11aa3a0c5633845487e 9 diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c 11 --- a/drivers/regulator/core.c 13 @@ -3499,6 +3499,16 @@ static int _regulator_do_set_suspend_voltage(struct regulator_dev *rdev, 21 + if (rdev->desc->ops->get_bypass) 22 + rdev->desc->ops->get_bypass(rdev, &bypassed); 30 @@ -3568,8 +3578,9 @@ int regulator_set_voltage_rdev(struct regulator_dev *rdev, int min_uV, 31 if (rdev->supply && 32 regulator_ops_is_valid(rdev->supply->rdev, 34 - (rdev->desc->min_dropout_uV || !(rdev->desc->ops->get_voltage || [all …]
|
| /kernel/linux/linux-6.6/include/linux/rpmsg/ |
| D | ns.h | 1 /* 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
|
| /kernel/linux/linux-6.6/drivers/tty/ |
| D | rpmsg_tty.c | 1 // 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 …]
|
| /kernel/linux/linux-5.10/samples/rpmsg/ |
| D | rpmsg_client_sample.c | 1 // 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 …]
|
| /kernel/linux/linux-6.6/samples/rpmsg/ |
| D | rpmsg_client_sample.c | 1 // 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 …]
|
| /kernel/linux/linux-6.6/drivers/platform/chrome/ |
| D | cros_ec_rpmsg.c | 1 // SPDX-License-Identifier: GPL-2.0 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 63 * Return: -EINVAL 68 return -EINVAL; in cros_ec_cmd_xfer_rpmsg() 72 * cros_ec_pkt_xfer_rpmsg - Transfer a packet over rpmsg and receive the reply [all …]
|
| /kernel/linux/linux-5.10/drivers/platform/chrome/ |
| D | cros_ec_rpmsg.c | 1 // SPDX-License-Identifier: GPL-2.0 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 63 * Return: -EINVAL 68 return -EINVAL; in cros_ec_cmd_xfer_rpmsg() 72 * cros_ec_pkt_xfer_rpmsg - Transfer a packet over rpmsg and receive the reply [all …]
|