apm.txt 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. MSM Array Power Mux (msm-apm)
  2. In some MSM designs, the CPU and caches contain logic which can be powered by
  3. multiple rails. The APM controller exists to enable the selection of the power
  4. rail supplying these arrays. Since a given supply may drop below the array
  5. SRAM minimum operating voltage, the APM controller can be used to request a
  6. switch to a power supply that will guarantee logic state retention.
  7. Required properties
  8. - compatible: "qcom,msm-apm", "qcom,msm8996pro-apm", "qcom,msm8953-apm"
  9. - reg: Specifies physical base address and size of memory mapped regions
  10. containing the APM controller, APCS CSR, APC PLL controller, and
  11. SPM event registers.
  12. - reg-names: List of strings identifying the reg property entries. This list must
  13. contain: "pm-apcc-glb", "apcs-csr", "apc0-pll-ctl", "apc1-pll-ctl",
  14. "apc0-cpu0-spm", "apc0-cpu1-spm", "apc1-cpu0-spm", "apc1-cpu1-spm",
  15. "apc0-l2-spm", and "apc1-l2-spm".
  16. Optional properties
  17. - qcom,clock-source-override: Specify this property to request a switch of the APC0 and APC1
  18. clock sources to GPLL0 before the APM switch begins and to
  19. switch back to the original clock source after the APM switch
  20. completes.
  21. - qcom,apm-post-halt-delay: The APM controller post halt delay counter value that SW needs
  22. to program one time before starting the APM HW controller for
  23. msm8953 target.
  24. - qcom,apm-halt-clk-delay: The APM controller halt clock delay counter value that SW
  25. needs to program one time before starting the APM HW controller
  26. for msm8953 target.
  27. - qcom,apm-resume-clk-delay: The APM controller resume clock delay counter value that SW
  28. needs to program one time before starting the APM HW controller
  29. for msm8953 target.
  30. - qcom,apm-sel-switch-delay: The APM controller switch selection delay counter value that SW
  31. needs to program one time before starting the APM HW controller
  32. for msm8953 target.
  33. MSM APM Users
  34. Required properties:
  35. - qcom,apm-ctrl: phandle of APM controller device node
  36. Example:
  37. apc_apm: apm@099e0000 {
  38. compatible = "qcom,msm-apm";
  39. reg = <0x099e0000 0x1000>,
  40. <0x09820000 0x10000>,
  41. <0x06400050 0x8>,
  42. <0x06480050 0x8>,
  43. <0x09981068 0x8>,
  44. <0x09991068 0x8>,
  45. <0x099b1068 0x8>,
  46. <0x099c1068 0x8>,
  47. <0x099a1068 0x8>,
  48. <0x099d1068 0x8>;
  49. reg-names = "pm-apcc-glb",
  50. "apcs-csr",
  51. "apc0-pll-ctl",
  52. "apc1-pll-ctl",
  53. "apc0-cpu0-spm",
  54. "apc0-cpu1-spm",
  55. "apc1-cpu0-spm",
  56. "apc1-cpu1-spm",
  57. "apc0-l2-spm",
  58. "apc1-l2-spm";
  59. qcom,apm-post-halt-delay = <0x2>;
  60. qcom,apm-halt-clk-delay = <0x11>;
  61. qcom,apm-resume-clk-delay = <0x10>;
  62. qcom,apm-sel-switch-delay = <0x01>;
  63. foo_user {
  64. ...
  65. qcom,apm-ctrl = <&apc_apm>;
  66. };