Home
last modified time | relevance | path

Searched full:scmi (Results 1 – 25 of 72) sorted by relevance

123

/linux/drivers/firmware/arm_scmi/transports/
H A DKconfig2 menu "SCMI Transport Drivers"
7 This declares whether at least one SCMI transport has been configured.
8 Used to trigger a build bug when trying to build SCMI without any
14 This declares whether a shared memory based transport for SCMI is
20 This declares whether a message passing based transport for SCMI is
24 tristate "SCMI transport based on Mailbox"
30 Enable mailbox based transport for SCMI.
32 If you want the ARM SCMI PROTOCOL stack to include support for a
38 tristate "SCMI transport based on SMC"
44 Enable SMC based transport for SCMI.
[all …]
/linux/drivers/firmware/arm_scmi/
H A DKconfig5 tristate "ARM System Control and Management Interface (SCMI) Message Protocol"
8 ARM System Control and Management Interface (SCMI) protocol is a
10 used in system management. SCMI is extensible and currently provides
22 making use of the features offered by the SCMI.
29 This declares whether at least one SCMI facility is configured
31 of a common SCMI debugfs root directory.
34 bool "Enable support for SCMI Raw transmission mode"
38 Enable support for SCMI Raw transmission mode.
40 If enabled allows the direct injection and snooping of SCMI bare
42 It is meant to be used by SCMI compliance/testing suites.
[all …]
H A DMakefile2 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_QUIRKS) += quirks.o
7 scmi-driver-$(CONFIG_ARM_SCMI_RAW_MODE_SUPPORT) += raw_mode.o
8 scmi-transport-$(CONFIG_ARM_SCMI_HAVE_SHMEM) = shmem.o
9 scmi-transport-$(CONFIG_ARM_SCMI_HAVE_MSG) += msg.o
10 scmi-protocols-y := base.o clock.o perf.o power.o reset.o sensors.o system.o voltage.o powercap.o
11 scmi-protocols-y += pinctrl.o
12 scmi-module-objs := $(scmi-driver-y) $(scmi-protocols-y) $(scmi-transport-y)
[all …]
H A Dscmi_power_control.c3 * SCMI Generic SystemPower Control driver.
8 * In order to handle platform originated SCMI SystemPower requests (like
9 * shutdowns or cold/warm resets) we register an SCMI Notification notifier
10 * block to react when such SCMI SystemPower events are emitted by platform.
20 * by the SCMI platform to an OSPM like Linux.
32 * Given the peculiar nature of SCMI SystemPower protocol, that is being in
34 * only one SCMI platform actively emitting SystemPower events.
35 * For this reason the SCMI core takes care to enforce the creation of one
36 * single unique device associated to the SCMI System Power protocol; no matter
37 * how many SCMI platforms are defined on the system, only one can be designated
[all …]
H A Draw_mode.c3 * System Control and Management Interface (SCMI) Raw mode support
10 * When enabled the SCMI Raw mode support exposes a userspace API which allows
11 * to send and receive SCMI commands, replies and notifications from a user
12 * application through injection and snooping of bare SCMI messages in binary
15 * Such injected SCMI transactions will then be routed through the SCMI core
16 * stack towards the SCMI backend server using whatever SCMI transport is
19 * It is meant to help in running any sort of SCMI backend server testing, no
26 * In order to avoid possible interferences between the SCMI Raw transactions
27 * originated from a test-suite and the normal operations of the SCMI drivers,
28 * when Raw mode is enabled, by default, all the regular SCMI drivers are
[all …]
H A Ddriver.c3 * System Control and Management Interface (SCMI) Message Protocol driver
5 * SCMI Message Protocol is used between the System Control Processor(SCP)
48 #include <trace/events/scmi.h>
50 #define SCMI_VENDOR_MODULE_ALIAS_FMT "scmi-protocol-0x%02x-%s"
56 /* List of all SCMI devices active in system */
89 * @handle: Reference to the SCMI handle associated to this protocol instance.
104 * Each protocol is initialized independently once for each SCMI platform in
105 * which is defined by DT and implemented by the SCMI server fw.
121 * struct scmi_info - Structure representing a SCMI instance
126 * @version: SCMI revision information containing protocol version,
[all …]
H A Dmsg.c18 * The SCMI specification requires all parameters, message headers, return
64 * msg_read_header() - Read SCMI header from transport SDU.
68 * Return: SCMI header
76 * msg_fetch_response() - Fetch response SCMI payload from transport SDU.
100 * @max_len: maximum SCMI payload size to fetch
/linux/Documentation/ABI/testing/
H A Ddebugfs-scmi-raw1 What: /sys/kernel/debug/scmi/<n>/raw/message
5 Description: SCMI Raw synchronous message injection/snooping facility; write
6 a complete SCMI synchronous command message (header included)
8 backend SCMI server for instance <n>.
16 What: /sys/kernel/debug/scmi/<n>/raw/message_async
20 Description: SCMI Raw asynchronous message injection/snooping facility; write
21 a complete SCMI asynchronous command message (header included)
23 backend SCMI server for instance <n>.
34 What: /sys/kernel/debug/scmi/<n>/raw/message_poll
38 Description: SCMI Raw message injection/snooping facility using polling mode;
[all …]
H A Ddebugfs-scmi1 What: /sys/kernel/debug/scmi/<n>/instance_name
5 Description: The name of the underlying SCMI instance <n> described by
6 all the debugfs accessors rooted at /sys/kernel/debug/scmi/<n>,
7 expressed as the full name of the top DT SCMI node under which
8 this SCMI instance is rooted.
11 What: /sys/kernel/debug/scmi/<n>/atomic_threshold_us
16 on this SCMI instance <n>, the threshold above which any SCMI
22 What: /sys/kernel/debug/scmi/<n>/transport/type
27 SCMI instance <n>.
30 What: /sys/kernel/debug/scmi/<n>/transport/is_atomic
[all …]
/linux/drivers/iio/common/scmi_sensors/
H A DKconfig2 # IIO over SCMI
6 menu "IIO SCMI Sensors"
9 tristate "IIO SCMI"
14 Say yes here to build support for IIO SCMI Driver.
15 This provides ARM SCMI Protocol based IIO device.
17 sensors available on SCMI based platforms.
/linux/drivers/powercap/
H A Darm_scmi_powercap.c3 * SCMI Powercap support.
247 return "SCMI power-cap"; in scmi_powercap_get_name()
332 * scmi_zones_register- Register SCMI powercap zones starting from parent zones
334 * @dev: A reference to the SCMI device
337 * When registering SCMI powercap zones with the powercap framework we should
341 * Unfortunately we cannot assume that the array of available SCMI powercap
342 * zones provided by the SCMI platform firmware is built to comply with such
345 * This function, given the set of SCMI powercap zones to register, takes care
346 * to walk the SCMI powercap zones trees up to the root registering any
355 * sporting an SCMI abstract power scale) as long as they are positioned as
[all …]
/linux/drivers/reset/
H A Dreset-scmi.c3 * ARM System Control and Management Interface (ARM SCMI) reset driver
19 * @ph: ARM SCMI protocol handle used for communication with system controller
35 * using the ARM SCMI protocol.
53 * using the ARM SCMI protocol.
71 * reset signal using the ARM SCMI protocol.
121 MODULE_DEVICE_TABLE(scmi, scmi_id_table);
124 .name = "scmi-reset",
131 MODULE_DESCRIPTION("ARM SCMI reset controller driver");
/linux/drivers/firmware/imx/
H A DKconfig27 tristate "IMX SCMI CPU Protocol driver"
31 The System Controller Management Interface firmware (SCMI FW) is
38 tristate "IMX SCMI LMM Protocol driver"
42 The System Controller Management Interface firmware (SCMI FW) is
49 tristate "IMX SCMI MISC Protocol driver"
53 The System Controller Management Interface firmware (SCMI FW) is
/linux/drivers/clk/
H A Dclk-scmi.c3 * System Control and Power Interface (SCMI) Protocol based clock driver
16 #include "clk-scmi.h"
165 /* SCMI OEM Duty Cycle is expressed as a percentage */ in scmi_clk_set_duty_cycle()
207 * specifically required SCMI clock features.
223 * underlying SCMI transport for an SCMI instance is configured to in scmi_clk_ops_alloc()
224 * handle SCMI commands in an atomic manner. in scmi_clk_ops_alloc()
226 * When no SCMI atomic transport support is available we instead provide in scmi_clk_ops_alloc()
270 * @sdev: pointer to the SCMI device
271 * @sclk: A reference to an SCMI clock descriptor
282 * needed by this SCMI clock, at first use it to lookup into the set of
[all …]
H A Dclk-scmi-oem.c3 * The Vendor OEM extension for System Control and Power Interface (SCMI)
14 #include "clk-scmi.h"
22 * Selection is based on SCMI vendor_id/sub_vendor_id and optional machine
24 * should be considered a bug and handled via SCMI Quirk framework.
/linux/drivers/firmware/arm_scmi/vendors/imx/
H A DKconfig2 menu "ARM SCMI NXP i.MX Vendor Protocols"
5 tristate "i.MX SCMI BBM EXTENSION"
16 tristate "i.MX SCMI CPU EXTENSION"
28 tristate "i.MX SCMI LMM EXTENSION"
40 tristate "i.MX SCMI MISC EXTENSION"
/linux/arch/arm64/boot/dts/arm/
H A Djuno-scmi.dtsi45 scmi {
46 compatible = "arm,scmi";
205 compatible = "arm,scmi-shmem";
210 compatible = "arm,scmi-shmem";
215 compatible = "arm,scmi-shmem";
220 compatible = "arm,scmi-shmem";
/linux/drivers/pinctrl/freescale/
H A Dpinctrl-imx-scmi.c3 * System Control and Power Interface (SCMI) Protocol based i.MX pinctrl driver
29 #define DRV_NAME "scmi-pinctrl-imx"
39 /* SCMI pin control types, aligned with SCMI firmware */
80 dev_err(pctldev->dev, "platform not support scmi pinctrl\n"); in pinctrl_scmi_imx_dt_node_to_map()
174 * For i.MX SCMI PINCTRL , postpone the mux setting in pinctrl_scmi_imx_func_set_mux()
201 /* Convert SCMI error code to PINCTRL expected error code */ in pinctrl_scmi_imx_pinconf_get()
360 MODULE_DEVICE_TABLE(scmi, scmi_id_table);
370 MODULE_DESCRIPTION("i.MX SCMI pin controller driver");
/linux/drivers/cpufreq/
H A Dscmi-cpufreq.c3 * System Control and Management Interface (SCMI) based CPUFreq Interface driver
61 * subscribed for by the SCMI firmware
226 /* Obtain CPUs that share SCMI performance controls */ in scmi_cpufreq_init()
242 * Use the CPU mask from SCMI to designate CPUs sharing an OPP in scmi_cpufreq_init()
293 /* SCMI allows DVFS request for any domain from any CPU */ in scmi_cpufreq_init()
384 .name = "scmi",
431 * that did not match the SCMI performance protocol node, if we got in scmi_dev_used_by_cpus()
485 MODULE_DEVICE_TABLE(scmi, scmi_id_table);
488 .name = "scmi-cpufreq",
496 MODULE_DESCRIPTION("ARM SCMI CPUFreq interface driver");
/linux/arch/arm64/boot/dts/renesas/
H A Dr8a78000-ironhide.dts25 scmi: scmi { label
26 compatible = "arm,scmi";
177 compatible = "arm,scmi-shmem";
182 compatible = "arm,scmi-shmem";
/linux/arch/arm64/boot/dts/blaize/
H A Dblaize-blzp1600.dtsi44 scmi {
45 compatible = "arm,scmi-smc";
81 /* SCMI reserved buffer space on DDR space */
82 scmi0_shm: scmi-shmem@800 {
83 compatible = "arm,scmi-shmem";
/linux/arch/arm/boot/dts/st/
H A Dstm32mp157a-dk1-scmi.dts10 #include "stm32mp15-scmi.dtsi"
13 model = "STMicroelectronics STM32MP157A-DK1 SCMI Discovery Board";
14 compatible = "st,stm32mp157a-dk1-scmi", "st,stm32mp157";
H A Dstm32mp157c-ed1-scmi.dts10 #include "stm32mp15-scmi.dtsi"
13 model = "STMicroelectronics STM32MP157C-ED1 SCMI eval daughter";
14 compatible = "st,stm32mp157c-ed1-scmi", "st,stm32mp157";
H A Dstm32mp157c-dk2-scmi.dts10 #include "stm32mp15-scmi.dtsi"
13 model = "STMicroelectronics STM32MP157C-DK2 SCMI Discovery Board";
14 compatible = "st,stm32mp157c-dk2-scmi", "st,stm32mp157";
/linux/drivers/pinctrl/
H A Dpinctrl-scmi.c3 * System Control and Power Interface (SCMI) Protocol based pinctrl driver
28 #define DRV_NAME "scmi-pinctrl"
314 /* Convert SCMI error code to PINCTRL expected error code */ in pinctrl_scmi_pinconf_get()
470 /* Convert SCMI error code to PINCTRL expected error code */ in pinctrl_scmi_pinconf_group_get()
499 * npins will never be zero, the scmi pinctrl driver has bailed out in pinctrl_scmi_get_pins()
509 * The memory for name is handled by the scmi firmware driver, in pinctrl_scmi_get_pins()
587 MODULE_DEVICE_TABLE(scmi, scmi_id_table);
598 MODULE_DESCRIPTION("ARM SCMI pin controller driver");

123