123456789101112131415161718192021222324252627282930313233343536373839404142 |
- Resource Power Manager(RPM)
- RPM is a dedicated hardware engine for managing shared SoC resources,
- which includes buses, clocks, power rails, etc. The goal of RPM is
- to achieve the maximum power savings while satisfying the SoC's
- operational and performance requirements. RPM accepts resource
- requests from multiple RPM masters. It arbitrates and aggregates the
- requests, and configures the shared resources. The RPM masters are
- the application processor, the modem processor, as well as hardware
- accelerators. The RPM driver communicates with the hardware engine using
- SMD.
- The devicetree representation of the SPM block should be:
- Required properties
- - compatible: "qcom,rpm-smd"
- - rpm-channel-name: The string corresponding to the channel name of the
- peripheral subsystem
- - rpm-channel-type: The interal SMD edge for this subsystem found in
- <mach/msm_smd.h>
- Optional properties
- - rpm-standlone: Allow the driver to run in standalone mode. This is a
- suggestion to the RPM driver and if the SMD
- channel is made available for RPM, the driver
- would continue to send requests to RPM processor,
- but if the SMD channel is unavailable, driver will
- return success even though the data is not sent
- to the RPM processor. In the absence of this
- option, the driver will fail if the SMD channel
- is unavailable.
- Example:
- qcom,rpm-smd {
- compatible = "qcom,rpm-smd"
- qcom,rpm-channel-name = "rpm_requests";
- qcom,rpm-channel-type = 15; /* SMD_APPS_RPM */
- }
- }
|