| /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 14 Modern SoCs typically employ heterogeneous remote processor devices in 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, 22 its own instance of RTOS in an AMP 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 [all …]
|
| D | remoteproc.rst | 8 Modern SoCs typically have heterogeneous remote processor devices in asymmetric 10 of operating system, whether it's Linux or any other flavor of real-time OS. 12 OMAP4, for example, has dual Cortex-A9, dual Cortex-M3 and a C64x+ DSP. 13 In a typical configuration, the dual cortex-A9 is running Linux in a SMP 15 is running its own instance of RTOS in an AMP configuration. 20 duplicated. In addition, this framework also adds rpmsg virtio devices 22 platform-specific remoteproc drivers only need to provide a few low-level 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). [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 14 Modern SoCs typically employ heterogeneous remote processor devices in 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, 22 its own instance of RTOS in an AMP 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 [all …]
|
| D | remoteproc.rst | 8 Modern SoCs typically have heterogeneous remote processor devices in asymmetric 10 of operating system, whether it's Linux or any other flavor of real-time OS. 12 OMAP4, for example, has dual Cortex-A9, dual Cortex-M3 and a C64x+ DSP. 13 In a typical configuration, the dual cortex-A9 is running Linux in a SMP 15 is running its own instance of RTOS in an AMP configuration. 20 duplicated. In addition, this framework also adds rpmsg virtio devices 22 platform-specific remoteproc drivers only need to provide a few low-level 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). [all …]
|
| /kernel/linux/linux-6.6/drivers/rpmsg/ |
| 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 | 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 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() 49 * rpmsg_release_channel() - release a rpmsg channel [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_char.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. 23 #include <linux/rpmsg.h> 27 #include <uapi/linux/rpmsg.h> 43 * struct rpmsg_eptdev - endpoint device context 46 * @rpdev: underlaying rpmsg device 49 * @ept: rpmsg endpoint reference, when open 53 * @default_ept: set to channel default endpoint if the default endpoint should be re-used 81 mutex_lock(&eptdev->ept_lock); in rpmsg_chrdev_eptdev_destroy() [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 …]
|
| /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 8 which is maximum 32 bytes long (defined as RPMSG_NAME_SIZE in 9 rpmsg.h). 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, 20 and remote ("destination") rpmsg address. When an entity [all …]
|
| /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 8 which is maximum 32 bytes long (defined as RPMSG_NAME_SIZE in 9 rpmsg.h). 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, 20 and remote ("destination") rpmsg address. When an entity [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/drivers/rpmsg/ |
| 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. 21 select RPMSG [all …]
|
| 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 36 * (either one that is known in advance, or one that will be dynamically [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 53 * This structure stores the rpmsg state of a given virtio remote processor 73 /* The feature bitmap for virtio rpmsg */ 77 * struct rpmsg_hdr - common header for all rpmsg messages 81 * @len: length of payload (in bytes) [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 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 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 …]
|
| /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 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 [all …]
|
| /kernel/linux/linux-6.6/sound/soc/fsl/ |
| 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() 46 dev_err(dev, "failed to set sysclk in %s\n", __func__); in imx_rpmsg_late_probe() [all …]
|
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 14 This option is only useful for out-of-tree drivers since 15 in-tree drivers select it automatically. 26 This option is only useful for out-of-tree drivers since 27 in-tree drivers select it automatically. 36 This option is only useful for out-of-tree drivers since 37 in-tree drivers select it automatically. 54 This option is only useful for out-of-tree drivers since 55 in-tree drivers select it automatically. 67 This option is only useful for out-of-tree drivers since [all …]
|
| D | imx-pcm-rpmsg.c | 1 // 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 …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/mfd/ |
| D | google,cros-ec.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mfd/google,cros-ec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Benson Leung <bleung@chromium.org> 11 - Enric Balletbo i Serra <enric.balletbo@collabora.com> 12 - Guenter Roeck <groeck@chromium.org> 23 - description: 25 const: google,cros-ec-i2c 26 - description: [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/mfd/ |
| D | google,cros-ec.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mfd/google,cros-ec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Benson Leung <bleung@chromium.org> 11 - Guenter Roeck <groeck@chromium.org> 22 - description: 24 const: google,cros-ec-i2c 25 - description: 27 const: google,cros-ec-spi [all …]
|
| /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/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 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). 30 * enum rpmsg_ns_flags - dynamic name service announcement flags
|