spm-v2.txt 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. * MSM Subsystem Power Manager (spm-v2)
  2. S4 generation of MSMs have SPM hardware blocks to control the Application
  3. Processor Sub-System power. These SPM blocks run individual state machine
  4. to determine what the core (L2 or Krait/Scorpion) would do when the WFI
  5. instruction is executed by the core. The SAW hardware block handles SPM and
  6. AVS functionality for the cores.
  7. The devicetree representation of the SPM block should be:
  8. Required properties
  9. - compatible: "qcom,spm-v2"
  10. - reg: The physical address and the size of the SPM's memory mapped registers
  11. - qcom, core-id: The core id the SPM block is attached to.
  12. {0..n} for cores {0..n}
  13. {0xffff} for L2
  14. - qcom,saw2-ver-reg: The location of the version register
  15. - qcom,saw2-cfg: SAW2 configuration register
  16. - qcom,saw2-avs-ctl: The AVS control register
  17. - qcom,saw2-avs-hysterisis: The AVS hysterisis register to delay the AVS
  18. controller requests
  19. - qcom,saw2-spm-dly: Provides the values for the SPM delay command in the SPM
  20. sequence
  21. - qcom,saw2-spm-ctl: The SPM control register
  22. - qcom,saw2-vctl-timeout-us: The timeout value to wait for voltage to change
  23. after sending the voltage command to the PMIC
  24. Optional properties
  25. - qcom,saw2-avs-limit: The AVS limit register
  26. - qcom,saw2-avs-dly: The AVS delay register is used to specify the delay values
  27. between AVS controller requests
  28. - qcom,saw2-pmic-data0..7: Specify the pmic data value and the associated FTS
  29. index to send the PMIC data to
  30. - qcom,saw2-vctl-port: The PVC (PMIC Virtual Channel) port used for changing
  31. voltage
  32. - qcom,saw2-phase-port: The PVC port used for changing the number of phases
  33. - qcom,saw2-pfm-port: The PVC port used for enabling PWM/PFM modes
  34. - qcom,saw2-spm-cmd-wfi: The WFI command sequence
  35. - qcom,saw2-spm-cmd-ret: The Retention command sequence
  36. - qcom,saw2-spm-cmd-spc: The Standalone PC command sequence
  37. - qcom,saw2-spm-cmd-pc-no-rpm: The Power Collapse command sequence where APPS
  38. proc won't inform the RPM.
  39. - qcom,saw2-spm-cmd-pc: The Power Collapse command sequence
  40. - qcom,saw2-spm-cmd-gdhs: L2 GDHS command sequence
  41. - qcom,L2-spm-is-apcs-master: Boolean indicates if the target uses L2 SAW to
  42. control the gang rail. If this is not specified the driver assumes
  43. that the cpus run with their own separate rails and each cpu's spm
  44. talks to its regulator.
  45. Example:
  46. qcom,spm@f9089000 {
  47. compatible = "qcom,spm-v2";
  48. #address-cells = <1>;
  49. #size-cells = <1>;
  50. reg = <0xf9089000 0x1000>;
  51. qcom,core-id = <0>;
  52. qcom,saw2-ver-reg = <0xfd0>;
  53. qcom,saw2-cfg = <0x1b>;
  54. qcom,saw2-avs-ctl = <0>;
  55. qcom,saw2-avs-hysteresis = <0>;
  56. qcom,saw2-avs-limit = <0>;
  57. qcom,saw2-avs-dly= <0>;
  58. qcom,saw2-spm-dly= <0x20000400>;
  59. qcom,saw2-spm-ctl = <0x1>;
  60. qcom,saw2-spm-cmd-wfi = [03 0b 0f];
  61. qcom,saw2-spm-cmd-spc = [00 20 50 80 60 70 10 92
  62. a0 b0 03 68 70 3b 92 a0 b0
  63. 82 2b 50 10 30 02 22 30 0f];
  64. qcom,saw2-spm-cmd-pc = [00 20 10 92 a0 b0 07 3b 92
  65. a0 b0 82 10 30 02 22 30 0f];
  66. };