xref: /aosp_15_r20/external/arm-trusted-firmware/docs/components/mpmm.rst (revision 54fd6939e177f8ff529b10183254802c76df6d08)
1*54fd6939SJiyong ParkMaximum Power Mitigation Mechanism (MPMM)
2*54fd6939SJiyong Park^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3*54fd6939SJiyong Park
4*54fd6939SJiyong Park|MPMM| is an optional microarchitectural power management mechanism supported by
5*54fd6939SJiyong Parksome Arm Armv9-A cores, beginning with the Cortex-X2, Cortex-A710 and
6*54fd6939SJiyong ParkCortex-A510 cores. This mechanism detects and limits high-activity events to
7*54fd6939SJiyong Parkassist in |SoC| processor power domain dynamic power budgeting and limit the
8*54fd6939SJiyong Parktriggering of whole-rail (i.e. clock chopping) responses to overcurrent
9*54fd6939SJiyong Parkconditions.
10*54fd6939SJiyong Park
11*54fd6939SJiyong Park|MPMM| is enabled on a per-core basis by the EL3 runtime firmware. The presence
12*54fd6939SJiyong Parkof |MPMM| cannot be determined at runtime by the firmware, and therefore the
13*54fd6939SJiyong Parkplatform must expose this information through one of two possible mechanisms:
14*54fd6939SJiyong Park
15*54fd6939SJiyong Park- |FCONF|, controlled by the ``ENABLE_MPMM_FCONF`` build option.
16*54fd6939SJiyong Park- A platform implementation of the ``plat_mpmm_topology`` function (the
17*54fd6939SJiyong Park  default).
18*54fd6939SJiyong Park
19*54fd6939SJiyong ParkSee :ref:`Maximum Power Mitigation Mechanism (MPMM) Bindings` for documentation
20*54fd6939SJiyong Parkon the |FCONF| device tree bindings.
21*54fd6939SJiyong Park
22*54fd6939SJiyong Park.. warning::
23*54fd6939SJiyong Park
24*54fd6939SJiyong Park    |MPMM| exposes gear metrics through the auxiliary |AMU| counters. An
25*54fd6939SJiyong Park    external power controller can use these metrics to budget SoC power by
26*54fd6939SJiyong Park    limiting the number of cores that can execute higher-activity workloads or
27*54fd6939SJiyong Park    switching to a different DVFS operating point. When this is the case, the
28*54fd6939SJiyong Park    |AMU| counters that make up the |MPMM| gears must be enabled by the EL3
29*54fd6939SJiyong Park    runtime firmware - please see :ref:`Activity Monitor Auxiliary Counters` for
30*54fd6939SJiyong Park    documentation on enabling auxiliary |AMU| counters.
31