Home
last modified time | relevance | path

Searched +full:scmi +full:- +full:shmem (Results 1 – 22 of 22) sorted by relevance

/kernel/linux/linux-6.6/Documentation/devicetree/bindings/firmware/
Darm,scmi.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
4 ---
5 $id: http://devicetree.org/schemas/firmware/arm,scmi.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
8 title: System Control and Management Interface (SCMI) Message Protocol
11 - Sudeep Holla <sudeep.holla@arm.com>
14 The SCMI is intended to allow agents such as OSPM to manage various functions
19 the SCMI as described in ARM document number ARM DEN 0056 ("ARM System Control
27 const: scmi
31 - description: SCMI compliant firmware with mailbox transport
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/arm/
Darm,scmi.txt1 System Control and Management Interface (SCMI) Message Protocol
2 ----------------------------------------------------------
4 The SCMI is intended to allow agents such as OSPM to manage various functions
9 the SCMI as described in ARM document number ARM DEN 0056A ("ARM System Control
15 The scmi node with the following properties shall be under the /firmware/ node.
17 - compatible : shall be "arm,scmi" or "arm,scmi-smc" for smc/hvc transports
18 - mboxes: List of phandle and mailbox channel specifiers. It should contain
22 - shmem : List of phandle pointing to the shared memory(SHM) area as per
24 - #address-cells : should be '1' if the device has sub-nodes, maps to
25 protocol identifier for a given sub-node.
[all …]
/kernel/linux/linux-6.6/drivers/firmware/arm_scmi/
Dsmc.c1 // SPDX-License-Identifier: GPL-2.0
3 * System Control and Management Interface (SCMI) Message SMC/HVC
9 #include <linux/arm-smccc.h>
24 * The shmem address is split into 4K page and offset.
27 * This however limits the shmem address to 44 bit.
30 * scmi instances that are using the same smc-id.
38 #define SHMEM_OFFSET(x) ((x) & (SHMEM_SIZE - 1))
41 * struct scmi_smc - Structure representing a SCMI smc transport
44 * @cinfo: SCMI channel info
45 * @shmem: Transmit/Receive shared memory area
[all …]
Dmailbox.c1 // SPDX-License-Identifier: GPL-2.0
3 * System Control and Management Interface (SCMI) Message Mailbox Transport
19 * struct scmi_mailbox - Structure representing a SCMI mailbox transport
22 * @chan: Transmit/Receive mailbox uni/bi-directional channel
24 * @cinfo: SCMI channel info
25 * @shmem: Transmit/Receive shared memory area
33 struct scmi_shared_mem __iomem *shmem; member
43 shmem_tx_prepare(smbox->shmem, m, smbox->cinfo); in tx_prepare()
56 * a previous timed-out reply which arrived late could be wrongly in rx_callback()
59 if (cl->knows_txdone && !shmem_channel_free(smbox->shmem)) { in rx_callback()
[all …]
Doptee.c1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) 2019-2021 Linaro Ltd.
23 * PTA_SCMI_CMD_CAPABILITIES - Get channel capabilities
31 * PTA_SCMI_CMD_PROCESS_SMT_CHANNEL - Process SCMI message in SMT buffer
35 * Shared memory used for SCMI message/response exhange is expected
36 * already identified and bound to channel handle in both SCMI agent
37 * and SCMI server (OP-TEE) parts.
38 * The memory uses SMT header to carry SCMI meta-data (protocol ID and
44 * PTA_SCMI_CMD_PROCESS_SMT_CHANNEL_MESSAGE - Process SMT/SCMI message
47 * [in/out] memref[1]: Message/response buffer (SMT and SCMI payload)
[all …]
Dcommon.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 * System Control and Management Interface (SCMI) Message Protocol
5 * and function prototypes used in all the different SCMI protocols.
7 * Copyright (C) 2018-2022 ARM Ltd.
36 SCMI_ERR_SUPPORT = -1, /* Not supported */
37 SCMI_ERR_PARAMS = -2, /* Invalid Parameters */
38 SCMI_ERR_ACCESS = -3, /* Invalid access/permission denied */
39 SCMI_ERR_ENTRY = -4, /* Not found */
40 SCMI_ERR_RANGE = -5, /* Value out of range */
41 SCMI_ERR_BUSY = -6, /* Device busy */
[all …]
Dshmem.c1 // SPDX-License-Identifier: GPL-2.0
13 #include <asm-generic/bug.h>
18 * SCMI specification requires all parameters, message headers, return
35 void shmem_tx_prepare(struct scmi_shared_mem __iomem *shmem, in shmem_tx_prepare() argument
44 * overwriting its response with new message payload or vice-versa. in shmem_tx_prepare()
46 * not to bail-out on intermittent issues where the platform is in shmem_tx_prepare()
49 * Note that after a timeout is detected we bail-out and carry on but in shmem_tx_prepare()
52 * due to a misbehaving SCMI firmware. in shmem_tx_prepare()
54 stop = ktime_add_ms(ktime_get(), 2 * cinfo->rx_timeout_ms); in shmem_tx_prepare()
55 spin_until_cond((ioread32(&shmem->channel_status) & in shmem_tx_prepare()
[all …]
DMakefile1 # SPDX-License-Identifier: GPL-2.0-only
2 scmi-bus-y = bus.o
3 scmi-core-objs := $(scmi-bus-y)
5 scmi-driver-y = driver.o notify.o
6 scmi-driver-$(CONFIG_ARM_SCMI_RAW_MODE_SUPPORT) += raw_mode.o
7 scmi-transport-$(CONFIG_ARM_SCMI_HAVE_SHMEM) = shmem.o
8 scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_MAILBOX) += mailbox.o
9 scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_SMC) += smc.o
10 scmi-transport-$(CONFIG_ARM_SCMI_HAVE_MSG) += msg.o
11 scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_VIRTIO) += virtio.o
[all …]
/kernel/linux/linux-5.10/drivers/firmware/arm_scmi/
Dmailbox.c1 // SPDX-License-Identifier: GPL-2.0
3 * System Control and Management Interface (SCMI) Message Mailbox Transport
19 * struct scmi_mailbox - Structure representing a SCMI mailbox transport
23 * @cinfo: SCMI channel info
24 * @shmem: Transmit/Receive shared memory area
30 struct scmi_shared_mem __iomem *shmem; member
39 shmem_tx_prepare(smbox->shmem, m); in tx_prepare()
52 * a previous timed-out reply which arrived late could be wrongly in rx_callback()
55 if (cl->knows_txdone && !shmem_channel_free(smbox->shmem)) { in rx_callback()
56 dev_warn(smbox->cinfo->dev, "Ignoring spurious A2P IRQ !\n"); in rx_callback()
[all …]
Dsmc.c1 // SPDX-License-Identifier: GPL-2.0
3 * System Control and Management Interface (SCMI) Message SMC/HVC
9 #include <linux/arm-smccc.h>
20 * struct scmi_smc - Structure representing a SCMI smc transport
22 * @cinfo: SCMI channel info
23 * @shmem: Transmit/Receive shared memory area
30 struct scmi_shared_mem __iomem *shmem; member
37 struct device_node *np = of_parse_phandle(dev->of_node, "shmem", 0); in smc_chan_available()
48 struct device *cdev = cinfo->dev; in smc_chan_setup()
57 return -ENODEV; in smc_chan_setup()
[all …]
Dcommon.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 * System Control and Management Interface (SCMI) Message Protocol
5 * and function prototypes used in all the different SCMI protocols.
36 * struct scmi_msg_resp_prot_version - Response for a message
66 * struct scmi_msg_hdr - Message(Tx/Rx) header
86 * pack_scmi_header() - packs and returns 32-bit header
91 * Return: 32-bit packed message header to be sent to the platform.
95 return FIELD_PREP(MSG_ID_MASK, hdr->id) | in pack_scmi_header()
96 FIELD_PREP(MSG_TOKEN_ID_MASK, hdr->seq) | in pack_scmi_header()
97 FIELD_PREP(MSG_PROTOCOL_ID_MASK, hdr->protocol_id); in pack_scmi_header()
[all …]
DMakefile1 # SPDX-License-Identifier: GPL-2.0-only
2 scmi-bus-y = bus.o
3 scmi-driver-y = driver.o notify.o
4 scmi-transport-y = shmem.o
5 scmi-transport-$(CONFIG_MAILBOX) += mailbox.o
6 scmi-transport-$(CONFIG_HAVE_ARM_SMCCC_DISCOVERY) += smc.o
7 scmi-protocols-y = base.o clock.o perf.o power.o reset.o sensors.o system.o
8 scmi-module-objs := $(scmi-bus-y) $(scmi-driver-y) $(scmi-protocols-y) \
9 $(scmi-transport-y)
10 obj-$(CONFIG_ARM_SCMI_PROTOCOL) += scmi-module.o
[all …]
Dshmem.c1 // SPDX-License-Identifier: GPL-2.0
15 * SCMI specification requires all parameters, message headers, return
32 void shmem_tx_prepare(struct scmi_shared_mem __iomem *shmem, in shmem_tx_prepare() argument
39 * overwriting its response with new message payload or vice-versa in shmem_tx_prepare()
41 spin_until_cond(ioread32(&shmem->channel_status) & in shmem_tx_prepare()
44 iowrite32(0x0, &shmem->channel_status); in shmem_tx_prepare()
45 iowrite32(xfer->hdr.poll_completion ? 0 : SCMI_SHMEM_FLAG_INTR_ENABLED, in shmem_tx_prepare()
46 &shmem->flags); in shmem_tx_prepare()
47 iowrite32(sizeof(shmem->msg_header) + xfer->tx.len, &shmem->length); in shmem_tx_prepare()
48 iowrite32(pack_scmi_header(&xfer->hdr), &shmem->msg_header); in shmem_tx_prepare()
[all …]
/kernel/linux/linux-6.6/arch/arm64/boot/dts/arm/
Djuno-scmi.dtsi3 power-domains = <&scmi_devpd 8>;
7 power-domains = <&scmi_devpd 8>;
11 power-domains = <&scmi_devpd 8>;
15 power-domains = <&scmi_devpd 8>;
19 power-domains = <&scmi_devpd 8>;
23 power-domains = <&scmi_devpd 8>;
27 power-domains = <&scmi_devpd 8>;
31 power-domains = <&scmi_devpd 8>;
42 /delete-node/ scpi;
45 scmi {
[all …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/mailbox/
Darm,mhu.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Jassi Brar <jaswinder.singh@linaro.org>
13 The ARM's Message-Handling-Unit (MHU) is a mailbox controller that has 3
22 interrupt signal using a 32-bit register, with all 32-bits logically ORed
28 interrupt. Each of the 32-bits can be used as "doorbell" to alert the remote
37 - arm,mhu
38 - arm,mhu-doorbell
40 - compatible
[all …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/sram/
Dsram.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Generic on-chip SRAM
10 - Rob Herring <robh@kernel.org>
19 Following the generic-names recommended practice, node names should
30 - mmio-sram
31 - amlogic,meson-gxbb-sram
32 - arm,juno-sram-ns
33 - atmel,sama5d2-securam
[all …]
/kernel/linux/linux-6.6/arch/arm64/boot/dts/freescale/
Dimx8ulp.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 #include <dt-bindings/clock/imx8ulp-clock.h>
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 #include <dt-bindings/power/imx8ulp-power.h>
10 #include <dt-bindings/thermal/thermal.h>
12 #include "imx8ulp-pinfunc.h"
15 interrupt-parent = <&gic>;
16 #address-cells = <2>;
17 #size-cells = <2>;
[all …]
/kernel/linux/linux-6.6/arch/arm64/boot/dts/rockchip/
Drk356x.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 #include <dt-bindings/clock/rk3568-cru.h>
7 #include <dt-bindings/interrupt-controller/arm-gic.h>
8 #include <dt-bindings/interrupt-controller/irq.h>
9 #include <dt-bindings/phy/phy.h>
10 #include <dt-bindings/pinctrl/rockchip.h>
11 #include <dt-bindings/power/rk3568-power.h>
12 #include <dt-bindings/soc/rockchip,boot-mode.h>
13 #include <dt-bindings/thermal/thermal.h>
16 interrupt-parent = <&gic>;
[all …]
Drk3588s.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 #include <dt-bindings/clock/rockchip,rk3588-cru.h>
7 #include <dt-bindings/interrupt-controller/arm-gic.h>
8 #include <dt-bindings/interrupt-controller/irq.h>
9 #include <dt-bindings/power/rk3588-power.h>
10 #include <dt-bindings/reset/rockchip,rk3588-cru.h>
11 #include <dt-bindings/phy/phy.h>
12 #include <dt-bindings/ata/ahci.h>
17 interrupt-parent = <&gic>;
18 #address-cells = <2>;
[all …]
/kernel/linux/patches/linux-5.10/imx8mm_patch/patches/drivers/
D0018_linux_drivers_firmware.patch7 Change-Id: I36b7f7c1c8a25ed6657505008ad1251ef7273f99
9 diff --git a/drivers/firmware/arm_scmi/common.h b/drivers/firmware/arm_scmi/common.h
11 --- a/drivers/firmware/arm_scmi/common.h
13 @@ -169,6 +169,7 @@ DECLARE_SCMI_REGISTER_UNREGISTER(perf);
21 diff --git a/drivers/firmware/arm_scmi/smc.c b/drivers/firmware/arm_scmi/smc.c
23 --- a/drivers/firmware/arm_scmi/smc.c
25 @@ -9,9 +9,11 @@
26 #include <linux/arm-smccc.h>
37 @@ -23,6 +25,8 @@
38 * @shmem: Transmit/Receive shared memory area
[all …]
/kernel/linux/linux-6.6/
DMAINTAINERS5 ---------------------------------------------------
21 W: *Web-page* with status/info
23 B: URI for where to file *bugs*. A web-page with detailed bug
28 patches to the given subsystem. This is either an in-tree file,
29 or a URI. See Documentation/maintainer/maintainer-entry-profile.rst
46 N: [^a-z]tegra all files whose path contains tegra
64 ----------------
83 3WARE SAS/SATA-RAID SCSI DRIVERS (3W-XXXX, 3W-9XXX, 3W-SAS)
85 L: linux-scsi@vger.kernel.org
88 F: drivers/scsi/3w-*
[all …]
/kernel/linux/linux-5.10/
DMAINTAINERS9 -------------------------
30 ``diff -u`` to make the patch easy to merge. Be prepared to get your
40 See Documentation/process/coding-style.rst for guidance here.
46 See Documentation/process/submitting-patches.rst for details.
57 include a Signed-off-by: line. The current version of this
59 Documentation/process/submitting-patches.rst.
70 that the bug would present a short-term risk to other users if it
76 Documentation/admin-guide/security-bugs.rst for details.
81 ---------------------------------------------------
97 W: *Web-page* with status/info
[all …]