0032-dt-bindings-mediatek-Add-MT8173-cpufreq-driver-bindi.patch 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. From d83532fe7eb9cc7b8cc39dd9f2bbd9873d4e390b Mon Sep 17 00:00:00 2001
  2. From: "pi-cheng.chen" <[email protected]>
  3. Date: Mon, 8 Jun 2015 20:29:20 +0800
  4. Subject: [PATCH 32/76] dt-bindings: mediatek: Add MT8173 cpufreq driver
  5. binding
  6. This patch adds device tree binding document for MT8173 cpufreq driver.
  7. Signed-off-by: Pi-Cheng Chen <[email protected]>
  8. ---
  9. .../devicetree/bindings/cpufreq/cpufreq-mt8173.txt | 127 ++++++++++++++++++++
  10. 1 file changed, 127 insertions(+)
  11. create mode 100644 Documentation/devicetree/bindings/cpufreq/cpufreq-mt8173.txt
  12. --- /dev/null
  13. +++ b/Documentation/devicetree/bindings/cpufreq/cpufreq-mt8173.txt
  14. @@ -0,0 +1,127 @@
  15. +
  16. +Mediatek MT8173 cpufreq driver
  17. +-------------------
  18. +
  19. +Mediatek MT8173 cpufreq driver for CPU frequency scaling.
  20. +
  21. +Required properties:
  22. +- clocks: A list of phandle + clock-specifier pairs for the clocks listed in clock names.
  23. +- clock-names: Should contain the following:
  24. + "cpu" - The multiplexer for clock input of CPU cluster.
  25. + "intermediate" - A parent of "cpu" clock which is used as "intermediate" clock
  26. + source (usually MAINPLL) when the original CPU PLL is under
  27. + transition and not stable yet.
  28. +- operating-points: Table of frequencies and voltage CPU could be transitioned into,
  29. + Frequency should be in KHz units and voltage should be in microvolts.
  30. +- proc-supply: Regulator for Vproc of CPU cluster.
  31. +
  32. +Optional properties:
  33. +- sram-supply: Regulator for Vsram of CPU cluster. When present, the cpufreq driver
  34. + needs to do "voltage trace" to step by step scale up/down Vproc and
  35. + Vsram to fit SoC specific needs. When absent, the voltage scaling
  36. + flow is handled by hardware, hence no software "voltage trace" is
  37. + needed.
  38. +
  39. +Example:
  40. +--------
  41. + cpu0: cpu@0 {
  42. + device_type = "cpu";
  43. + compatible = "arm,cortex-a53";
  44. + reg = <0x000>;
  45. + enable-method = "psci";
  46. + cpu-idle-states = <&CPU_SLEEP_0>;
  47. + clocks = <&infracfg CLK_INFRA_CA53SEL>,
  48. + <&apmixedsys CLK_APMIXED_MAINPLL>;
  49. + clock-names = "cpu", "intermediate";
  50. + operating-points = <
  51. + 507000 859000
  52. + 702000 908000
  53. + 1001000 983000
  54. + 1105000 1009000
  55. + 1183000 1028000
  56. + 1404000 1083000
  57. + 1508000 1109000
  58. + 1573000 1125000
  59. + >;
  60. + };
  61. +
  62. + cpu1: cpu@1 {
  63. + device_type = "cpu";
  64. + compatible = "arm,cortex-a53";
  65. + reg = <0x001>;
  66. + enable-method = "psci";
  67. + cpu-idle-states = <&CPU_SLEEP_0>;
  68. + clocks = <&infracfg CLK_INFRA_CA53SEL>,
  69. + <&apmixedsys CLK_APMIXED_MAINPLL>;
  70. + clock-names = "cpu", "intermediate";
  71. + operating-points = <
  72. + 507000 859000
  73. + 702000 908000
  74. + 1001000 983000
  75. + 1105000 1009000
  76. + 1183000 1028000
  77. + 1404000 1083000
  78. + 1508000 1109000
  79. + 1573000 1125000
  80. + >;
  81. + };
  82. +
  83. + cpu2: cpu@100 {
  84. + device_type = "cpu";
  85. + compatible = "arm,cortex-a57";
  86. + reg = <0x100>;
  87. + enable-method = "psci";
  88. + cpu-idle-states = <&CPU_SLEEP_0>;
  89. + clocks = <&infracfg CLK_INFRA_CA57SEL>,
  90. + <&apmixedsys CLK_APMIXED_MAINPLL>;
  91. + clock-names = "cpu", "intermediate";
  92. + operating-points = <
  93. + 507000 828000
  94. + 702000 867000
  95. + 1001000 927000
  96. + 1209000 968000
  97. + 1404000 1007000
  98. + 1612000 1049000
  99. + 1807000 1089000
  100. + 1989000 1125000
  101. + >;
  102. + };
  103. +
  104. + cpu3: cpu@101 {
  105. + device_type = "cpu";
  106. + compatible = "arm,cortex-a57";
  107. + reg = <0x101>;
  108. + enable-method = "psci";
  109. + cpu-idle-states = <&CPU_SLEEP_0>;
  110. + clocks = <&infracfg CLK_INFRA_CA57SEL>,
  111. + <&apmixedsys CLK_APMIXED_MAINPLL>;
  112. + clock-names = "cpu", "intermediate";
  113. + operating-points = <
  114. + 507000 828000
  115. + 702000 867000
  116. + 1001000 927000
  117. + 1209000 968000
  118. + 1404000 1007000
  119. + 1612000 1049000
  120. + 1807000 1089000
  121. + 1989000 1125000
  122. + >;
  123. + };
  124. +
  125. + &cpu0 {
  126. + proc-supply = <&mt6397_vpca15_reg>;
  127. + };
  128. +
  129. + &cpu1 {
  130. + proc-supply = <&mt6397_vpca15_reg>;
  131. + };
  132. +
  133. + &cpu2 {
  134. + proc-supply = <&da9211_vcpu_reg>;
  135. + sram-supply = <&mt6397_vsramca7_reg>;
  136. + };
  137. +
  138. + &cpu3 {
  139. + proc-supply = <&da9211_vcpu_reg>;
  140. + sram-supply = <&mt6397_vsramca7_reg>;
  141. + };