1e8419c24SCristian Marussi# SPDX-License-Identifier: GPL-2.0-only 2e8419c24SCristian Marussimenu "ARM System Control and Management Interface Protocol" 3e8419c24SCristian Marussi 4e8419c24SCristian Marussiconfig ARM_SCMI_PROTOCOL 5e8419c24SCristian Marussi tristate "ARM System Control and Management Interface (SCMI) Message Protocol" 6e8419c24SCristian Marussi depends on ARM || ARM64 || COMPILE_TEST 7e8419c24SCristian Marussi help 8e8419c24SCristian Marussi ARM System Control and Management Interface (SCMI) protocol is a 9e8419c24SCristian Marussi set of operating system-independent software interfaces that are 10e8419c24SCristian Marussi used in system management. SCMI is extensible and currently provides 11e8419c24SCristian Marussi interfaces for: Discovery and self-description of the interfaces 12e8419c24SCristian Marussi it supports, Power domain management which is the ability to place 13e8419c24SCristian Marussi a given device or domain into the various power-saving states that 14e8419c24SCristian Marussi it supports, Performance management which is the ability to control 15e8419c24SCristian Marussi the performance of a domain that is composed of compute engines 16e8419c24SCristian Marussi such as application processors and other accelerators, Clock 17e8419c24SCristian Marussi management which is the ability to set and inquire rates on platform 18e8419c24SCristian Marussi managed clocks and Sensor management which is the ability to read 19e8419c24SCristian Marussi sensor data, and be notified of sensor value. 20e8419c24SCristian Marussi 21e8419c24SCristian Marussi This protocol library provides interface for all the client drivers 22e8419c24SCristian Marussi making use of the features offered by the SCMI. 23e8419c24SCristian Marussi 24e8419c24SCristian Marussiif ARM_SCMI_PROTOCOL 25e8419c24SCristian Marussi 26e8419c24SCristian Marussiconfig ARM_SCMI_HAVE_TRANSPORT 27e8419c24SCristian Marussi bool 28e8419c24SCristian Marussi help 29e8419c24SCristian Marussi This declares whether at least one SCMI transport has been configured. 30e8419c24SCristian Marussi Used to trigger a build bug when trying to build SCMI without any 31e8419c24SCristian Marussi configured transport. 32e8419c24SCristian Marussi 33*a7b1138bSIgor Skalkinconfig ARM_SCMI_HAVE_SHMEM 34*a7b1138bSIgor Skalkin bool 35*a7b1138bSIgor Skalkin help 36*a7b1138bSIgor Skalkin This declares whether a shared memory based transport for SCMI is 37*a7b1138bSIgor Skalkin available. 38*a7b1138bSIgor Skalkin 39e8419c24SCristian Marussiconfig ARM_SCMI_TRANSPORT_MAILBOX 40e8419c24SCristian Marussi bool "SCMI transport based on Mailbox" 41e8419c24SCristian Marussi depends on MAILBOX 42e8419c24SCristian Marussi select ARM_SCMI_HAVE_TRANSPORT 43*a7b1138bSIgor Skalkin select ARM_SCMI_HAVE_SHMEM 44e8419c24SCristian Marussi default y 45e8419c24SCristian Marussi help 46e8419c24SCristian Marussi Enable mailbox based transport for SCMI. 47e8419c24SCristian Marussi 48e8419c24SCristian Marussi If you want the ARM SCMI PROTOCOL stack to include support for a 49e8419c24SCristian Marussi transport based on mailboxes, answer Y. 50e8419c24SCristian Marussi 51e8419c24SCristian Marussiconfig ARM_SCMI_TRANSPORT_SMC 52e8419c24SCristian Marussi bool "SCMI transport based on SMC" 53e8419c24SCristian Marussi depends on HAVE_ARM_SMCCC_DISCOVERY 54e8419c24SCristian Marussi select ARM_SCMI_HAVE_TRANSPORT 55*a7b1138bSIgor Skalkin select ARM_SCMI_HAVE_SHMEM 56e8419c24SCristian Marussi default y 57e8419c24SCristian Marussi help 58e8419c24SCristian Marussi Enable SMC based transport for SCMI. 59e8419c24SCristian Marussi 60e8419c24SCristian Marussi If you want the ARM SCMI PROTOCOL stack to include support for a 61e8419c24SCristian Marussi transport based on SMC, answer Y. 62e8419c24SCristian Marussi 63e8419c24SCristian Marussiendif #ARM_SCMI_PROTOCOL 64e8419c24SCristian Marussi 65e8419c24SCristian Marussiconfig ARM_SCMI_POWER_DOMAIN 66e8419c24SCristian Marussi tristate "SCMI power domain driver" 67e8419c24SCristian Marussi depends on ARM_SCMI_PROTOCOL || (COMPILE_TEST && OF) 68e8419c24SCristian Marussi default y 69e8419c24SCristian Marussi select PM_GENERIC_DOMAINS if PM 70e8419c24SCristian Marussi help 71e8419c24SCristian Marussi This enables support for the SCMI power domains which can be 72e8419c24SCristian Marussi enabled or disabled via the SCP firmware 73e8419c24SCristian Marussi 74e8419c24SCristian Marussi This driver can also be built as a module. If so, the module 75e8419c24SCristian Marussi will be called scmi_pm_domain. Note this may needed early in boot 76e8419c24SCristian Marussi before rootfs may be available. 77e8419c24SCristian Marussi 78e8419c24SCristian Marussiendmenu 79