rpm-smd.txt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. Resource Power Manager(RPM)
  2. RPM is a dedicated hardware engine for managing shared SoC resources,
  3. which includes buses, clocks, power rails, etc. The goal of RPM is
  4. to achieve the maximum power savings while satisfying the SoC's
  5. operational and performance requirements. RPM accepts resource
  6. requests from multiple RPM masters. It arbitrates and aggregates the
  7. requests, and configures the shared resources. The RPM masters are
  8. the application processor, the modem processor, as well as hardware
  9. accelerators. The RPM driver communicates with the hardware engine using
  10. SMD.
  11. The devicetree representation of the SPM block should be:
  12. Required properties
  13. - compatible: "qcom,rpm-smd"
  14. - rpm-channel-name: The string corresponding to the channel name of the
  15. peripheral subsystem
  16. - rpm-channel-type: The interal SMD edge for this subsystem found in
  17. <mach/msm_smd.h>
  18. Optional properties
  19. - rpm-standlone: Allow the driver to run in standalone mode. This is a
  20. suggestion to the RPM driver and if the SMD
  21. channel is made available for RPM, the driver
  22. would continue to send requests to RPM processor,
  23. but if the SMD channel is unavailable, driver will
  24. return success even though the data is not sent
  25. to the RPM processor. In the absence of this
  26. option, the driver will fail if the SMD channel
  27. is unavailable.
  28. Example:
  29. qcom,rpm-smd {
  30. compatible = "qcom,rpm-smd"
  31. qcom,rpm-channel-name = "rpm_requests";
  32. qcom,rpm-channel-type = 15; /* SMD_APPS_RPM */
  33. }
  34. }