Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / drivers / firmware / arm_scmi / Kconfig
blobdabd874641d0b13889cabb4219a4b23c6de7b721
1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "ARM System Control and Management Interface Protocol"
4 config ARM_SCMI_PROTOCOL
5         tristate "ARM System Control and Management Interface (SCMI) Message Protocol"
6         depends on ARM || ARM64 || COMPILE_TEST
7         help
8           ARM System Control and Management Interface (SCMI) protocol is a
9           set of operating system-independent software interfaces that are
10           used in system management. SCMI is extensible and currently provides
11           interfaces for: Discovery and self-description of the interfaces
12           it supports, Power domain management which is the ability to place
13           a given device or domain into the various power-saving states that
14           it supports, Performance management which is the ability to control
15           the performance of a domain that is composed of compute engines
16           such as application processors and other accelerators, Clock
17           management which is the ability to set and inquire rates on platform
18           managed clocks and Sensor management which is the ability to read
19           sensor data, and be notified of sensor value.
21           This protocol library provides interface for all the client drivers
22           making use of the features offered by the SCMI.
24 if ARM_SCMI_PROTOCOL
26 config ARM_SCMI_NEED_DEBUGFS
27         bool
28         help
29           This declares whether at least one SCMI facility is configured
30           which needs debugfs support. When selected causess the creation
31           of a common SCMI debugfs root directory.
33 config ARM_SCMI_RAW_MODE_SUPPORT
34         bool "Enable support for SCMI Raw transmission mode"
35         depends on DEBUG_FS
36         select ARM_SCMI_NEED_DEBUGFS
37         help
38           Enable support for SCMI Raw transmission mode.
40           If enabled allows the direct injection and snooping of SCMI bare
41           messages through a dedicated debugfs interface.
42           It is meant to be used by SCMI compliance/testing suites.
44           When enabled regular SCMI drivers interactions are inhibited in
45           order to avoid unexpected interactions with the SCMI Raw message
46           flow. If unsure say N.
48 config ARM_SCMI_RAW_MODE_SUPPORT_COEX
49         bool "Allow SCMI Raw mode coexistence with normal SCMI stack"
50         depends on ARM_SCMI_RAW_MODE_SUPPORT
51         help
52           Allow SCMI Raw transmission mode to coexist with normal SCMI stack.
54           This will allow regular SCMI drivers to register with the core and
55           operate normally, thing which could make an SCMI test suite using the
56           SCMI Raw mode support unreliable. If unsure, say N.
58 config ARM_SCMI_DEBUG_COUNTERS
59         bool "Enable SCMI communication debug metrics tracking"
60         select ARM_SCMI_NEED_DEBUGFS
61         depends on DEBUG_FS
62         default n
63         help
64           Enables tracking of some key communication metrics for debug
65           purposes. It may track metrics like how many messages were sent
66           or received, were there any failures, what kind of failures, ..etc.
68           Enable this option to create a new debugfs directory which contains
69           such useful debug counters. This can be helpful for debugging and
70           SCMI monitoring.
72 source "drivers/firmware/arm_scmi/transports/Kconfig"
73 source "drivers/firmware/arm_scmi/vendors/imx/Kconfig"
75 endif #ARM_SCMI_PROTOCOL
77 config ARM_SCMI_POWER_CONTROL
78         tristate "SCMI system power control driver"
79         depends on ARM_SCMI_PROTOCOL || (COMPILE_TEST && OF)
80         help
81           This enables System Power control logic which binds system shutdown or
82           reboot actions to SCMI System Power notifications generated by SCP
83           firmware.
85           This driver can also be built as a module.  If so, the module will be
86           called scmi_power_control. Note this may needed early in boot to catch
87           early shutdown/reboot SCMI requests.
89 endmenu