qcom-lmh-dcvs.txt 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. Limits Management Hardware - DCVS
  2. The LMH-DCVS block is a hardware IP for every CPU cluster, to handle quick
  3. changes in thermal limits. The hardware responds to thermal variation amongst
  4. the CPUs in the cluster by requesting limits on the clock frequency and
  5. voltage on the OSM hardware.
  6. The LMH DCVS driver exports a virtual sensor that can be used to set the
  7. thermal limits on the hardware. LMH DCVS driver can be a platform CPU Cooling
  8. device, which registers with the CPU cooling device interface. All CPU device
  9. nodes should reference the corresponding LMH DCVS hardware in device tree.
  10. CPUs referencing the same LMH DCVS node will be associated with the
  11. corresponding cooling device as related CPUs.
  12. Properties:
  13. - compatible:
  14. Usage: required
  15. Value type: <string>
  16. Definition: shall be "qcom,msm-hw-limits"
  17. - interrupts:
  18. Usage: required
  19. Value type: <interrupt_type interrupt_number interrupt_trigger_type>
  20. Definition: Should specify interrupt information about the debug
  21. interrupt generated by the LMH DCVSh hardware. LMH
  22. DCVSh hardware will generate this interrupt whenever
  23. it makes a new cpu DCVS decision.
  24. - qcom,affinity:
  25. Usage: Required
  26. Value type: <u32>
  27. Definition: Should specify the cluster affinity this hardware
  28. corresponds to.
  29. - isens_vref-supply:
  30. Usage: optional
  31. Value type: <phandle>
  32. Definition: Should specify the phandle of the vref regulator used by
  33. the isens hardware. This active only regulator will be
  34. enabled by LMH DCVSh.
  35. - isens-vref-settings:
  36. Usage: optional
  37. Value type: <u32 array>
  38. Definition: Should specify the min voltage(uV), max voltage(uV) and
  39. max load(uA) for the isens vref regulator. This
  40. property is valid only if there is valid entry for
  41. isens_vref-supply.
  42. Example:
  43. lmh_dcvs0: qcom,limits-dcvs@0 {
  44. compatible = "qcom,msm-hw-limits";
  45. interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  46. qcom,affinity = <0>;
  47. isens_vref-supply = <&pm8998_l1_ao>;
  48. isens-vref-settings = <880000 880000 36000>;
  49. };
  50. CPU0: cpu@0 {
  51. device_type = "cpu";
  52. compatible = "arm,armv8";
  53. reg = <0x0 0x0>;
  54. qcom,lmh-dcvs = <&lmh_dcvs0>;;
  55. };