1config SCMI_FIRMWARE
2	bool "Enable SCMI support"
3	select FIRMWARE
4	select OF_TRANSLATE
5	depends on SANDBOX || DM_MAILBOX || ARM_SMCCC || OPTEE
6	help
7	  System Control and Management Interface (SCMI) is a communication
8	  protocol that defines standard interfaces for power, performance
9	  and system management. The SCMI specification is available at
10	  https://developer.arm.com/architectures/system-architectures/software-standards/scmi
11
12	  An SCMI agent communicates with a related SCMI server firmware
13	  located in another sub-system, as a companion micro controller
14	  or a companion host in the CPU system.
15
16	  Communications between agent (client) and the SCMI server are
17	  based on message exchange. Messages can be exchanged over transport
18	  channels as a mailbox device or an Arm SMCCC service with some
19	  piece of identified shared memory.
20
21config SCMI_AGENT_MAILBOX
22	bool "Enable SCMI agent mailbox"
23	depends on SCMI_FIRMWARE && DM_MAILBOX
24	default y
25	help
26	  Enable the SCMI communication channel based on mailbox
27	  for compatible "arm,scmi".
28
29config SCMI_AGENT_SMCCC
30	bool "Enable SCMI agent SMCCC"
31	depends on SCMI_FIRMWARE && ARM_SMCCC
32	default y
33	help
34	  Enable the SCMI communication channel based on Arm SMCCC service for
35	  compatible "arm,scmi-smc".
36
37config SCMI_AGENT_OPTEE
38	bool "Enable SCMI agent OP-TEE"
39	depends on SCMI_FIRMWARE && OPTEE
40	default y
41	help
42	  Enable the SCMI communication channel based on OP-TEE transport
43	  for compatible "linaro,scmi-optee".
44