ACPI power management with SCMI on RdN2 platforms

Through the RDN2 infrastructure developed at ARM it is possible to set up a test environment

in order to verify sending SCMI commands within AML power methods.

This code lays the groundwork for testing and validating the ACPI power management features

(device frequency scaling, device power management, power capping) implemented on top

of the SCMI protocols.

 

To set up the platform the steps described in

https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-docs/-/tree/master/docs/infra/rdn2

should be followed.

 

The release tag currently used to carry out the experiment is:

https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-docs/-/blob/master/docs/infra/releases/RD-INFRA-2022.08.18/release_note.rst

 

The test carried out is the buildroot boot, as described in:

https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-docs/-/blob/master/docs/infra/common/buildroot-boot.rst

 

The code that implements the testbench is split into three components, edk2-platform, scp and arm-TF.

They should be applied on top of the code pulled by the RD-infrastructure with the release tag provided

above (2022.08.18).

 

The scp patch

adds:

  • the MHU2 non-secure channel required by OSPM to communicate to the SCP over PCC

  • a virtual power domain to control power states

  • SCMI agent to handle MHU2 communication

The EDK2 patches

add:

  • PCCT table

  • DMA PL330 PSx power methods (and PCC opregion)

 

The ARM-TF patch

is a hack required to make MHU2 protocol work on the FVP.

 

Boostrapping the platform through the buildroot test for rdn2 should trigger a power state change

for DMA PL330, proving that the SCMI command sent in the PS3 method was executed and received

by the SCP. The power domain in the SCP is a virtual one so it does nothing to handle the state

transition but that’s enough to verify the flow is working from ACPI power methods into SCP.