About this project

System Control and Management Interface (SCMI) has been designed to standardize the interface between a power coprocessor and other parts of a SoC. That includes the application processor (AP) on which we can have both rich OS like Linux but also a TEE like OP-TEE.

Each client of the power coprocessor has its own access points with specific control permissions on the power resources. But on some “medium/small” systems, the power coprocessor may not be present or doesn’t provide enough access points. In such a case, the AP itself has to control and filter the access to the power resources.

For security reason, the TEE must have the control of shared resources and populates the authorized resources to the non secure world. The TEE acts as a power coprocessor from Linux PoV and we can keep using the same SCMI interface.

Even if OP-tee is our primary target, this configuration can be extended to any execution environment on a system like a guest VM as an example:

Wherever it runs, the core of the SCMI server remains the same and only the execution environment interface will change. In order to ease the port of the SCMI server in different context, several features need to be enabled like new transport methods. Or easing the porting on a different OSes.

Get Involved


Attache PDF to the latest approved PoR

Attach a PDF to the project health deck 

The following items are on the project backlog but not currently planned. If you are interested in contributing to any of these items, please state your intention on the project's mailing list (found above)

Linaro Ltd.