Tom Rini 80bdc86db5 scmi: Rework SCMI_FIRMWARE implementation
As exposed by "make randconfig", how we have SCMI_FIRMWARE today is
incomplete, and in one case, used incorrectly. First, SCMI_FIRMWARE has
a build-time dependency on OF_CONTROL being enabled, so add that.
Second, RESET_SCMI depends on SCMI_FIRMWARE being enabled, it should not
select that symbol. In turn, a number of platforms need to now enable
SCMI_FIRMWARE explicitly and not rely on RESET_SCMI to enable it for
them.

Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Anshul Dalal <anshuld@ti.com>
Acked-by: Michal Simek <michal.simek@amd.com> # Versal Gen 2
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-03-23 10:55:01 +08:00

53 lines
1.6 KiB
Plaintext

config SCMI_FIRMWARE
bool "Enable SCMI support"
select FIRMWARE
select OF_TRANSLATE
depends on SANDBOX || DM_MAILBOX || ARM_SMCCC || OPTEE
depends on OF_CONTROL
help
System Control and Management Interface (SCMI) is a communication
protocol that defines standard interfaces for power, performance
and system management. The SCMI specification is available at
https://developer.arm.com/architectures/system-architectures/software-standards/scmi
An SCMI agent communicates with a related SCMI server firmware
located in another sub-system, as a companion micro controller
or a companion host in the CPU system.
Communications between agent (client) and the SCMI server are
based on message exchange. Messages can be exchanged over transport
channels as a mailbox device or an Arm SMCCC service with some
piece of identified shared memory.
config SCMI_AGENT_MAILBOX
bool "Enable SCMI agent mailbox"
depends on SCMI_FIRMWARE && DM_MAILBOX
default y
help
Enable the SCMI communication channel based on mailbox
for compatible "arm,scmi".
config SCMI_AGENT_SMCCC
bool "Enable SCMI agent SMCCC"
depends on SCMI_FIRMWARE && ARM_SMCCC
default y
help
Enable the SCMI communication channel based on Arm SMCCC service for
compatible "arm,scmi-smc".
config SCMI_AGENT_OPTEE
bool "Enable SCMI agent OP-TEE"
depends on SCMI_FIRMWARE && OPTEE
default y
help
Enable the SCMI communication channel based on OP-TEE transport
for compatible "linaro,scmi-optee".
config SCMI_ID_VENDOR_80
bool
config SCMI_ID_VENDOR_82
bool
source "drivers/firmware/scmi/vendors/imx/Kconfig"