| # SPDX-License-Identifier: GPL-2.0-only | |
| menu "ARM System Control and Management Interface Protocol" | |
| config ARM_SCMI_PROTOCOL | |
| tristate "ARM System Control and Management Interface (SCMI) Message Protocol" | |
| depends on ARM || ARM64 || COMPILE_TEST | |
| help | |
| ARM System Control and Management Interface (SCMI) protocol is a | |
| set of operating system-independent software interfaces that are | |
| used in system management. SCMI is extensible and currently provides | |
| interfaces for: Discovery and self-description of the interfaces | |
| it supports, Power domain management which is the ability to place | |
| a given device or domain into the various power-saving states that | |
| it supports, Performance management which is the ability to control | |
| the performance of a domain that is composed of compute engines | |
| such as application processors and other accelerators, Clock | |
| management which is the ability to set and inquire rates on platform | |
| managed clocks and Sensor management which is the ability to read | |
| sensor data, and be notified of sensor value. | |
| This protocol library provides interface for all the client drivers | |
| making use of the features offered by the SCMI. | |
| if ARM_SCMI_PROTOCOL | |
| config ARM_SCMI_NEED_DEBUGFS | |
| bool | |
| help | |
| This declares whether at least one SCMI facility is configured | |
| which needs debugfs support. When selected causess the creation | |
| of a common SCMI debugfs root directory. | |
| config ARM_SCMI_RAW_MODE_SUPPORT | |
| bool "Enable support for SCMI Raw transmission mode" | |
| depends on DEBUG_FS | |
| select ARM_SCMI_NEED_DEBUGFS | |
| help | |
| Enable support for SCMI Raw transmission mode. | |
| If enabled allows the direct injection and snooping of SCMI bare | |
| messages through a dedicated debugfs interface. | |
| It is meant to be used by SCMI compliance/testing suites. | |
| When enabled regular SCMI drivers interactions are inhibited in | |
| order to avoid unexpected interactions with the SCMI Raw message | |
| flow. If unsure say N. | |
| config ARM_SCMI_RAW_MODE_SUPPORT_COEX | |
| bool "Allow SCMI Raw mode coexistence with normal SCMI stack" | |
| depends on ARM_SCMI_RAW_MODE_SUPPORT | |
| help | |
| Allow SCMI Raw transmission mode to coexist with normal SCMI stack. | |
| This will allow regular SCMI drivers to register with the core and | |
| operate normally, thing which could make an SCMI test suite using the | |
| SCMI Raw mode support unreliable. If unsure, say N. | |
| config ARM_SCMI_DEBUG_COUNTERS | |
| bool "Enable SCMI communication debug metrics tracking" | |
| select ARM_SCMI_NEED_DEBUGFS | |
| depends on DEBUG_FS | |
| default n | |
| help | |
| Enables tracking of some key communication metrics for debug | |
| purposes. It may track metrics like how many messages were sent | |
| or received, were there any failures, what kind of failures, ..etc. | |
| Enable this option to create a new debugfs directory which contains | |
| such useful debug counters. This can be helpful for debugging and | |
| SCMI monitoring. | |
| config ARM_SCMI_QUIRKS | |
| bool "Enable SCMI Quirks framework" | |
| depends on JUMP_LABEL || COMPILE_TEST | |
| default y | |
| help | |
| Enables support for SCMI Quirks framework to workaround SCMI platform | |
| firmware bugs on system already deployed in the wild. | |
| The framework allows the definition of platform-specific code quirks | |
| that will be associated and enabled only on the desired platforms | |
| depending on the SCMI firmware advertised versions and/or machine | |
| compatibles. | |
| source "drivers/firmware/arm_scmi/transports/Kconfig" | |
| source "drivers/firmware/arm_scmi/vendors/imx/Kconfig" | |
| endif #ARM_SCMI_PROTOCOL | |
| config ARM_SCMI_POWER_CONTROL | |
| tristate "SCMI system power control driver" | |
| depends on ARM_SCMI_PROTOCOL || (COMPILE_TEST && OF) | |
| help | |
| This enables System Power control logic which binds system shutdown or | |
| reboot actions to SCMI System Power notifications generated by SCP | |
| firmware. | |
| This driver can also be built as a module. If so, the module will be | |
| called scmi_power_control. Note this may be needed early in boot to | |
| catch early shutdown/reboot SCMI requests. | |
| endmenu |