~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/cpufreq/cpufreq-mediatek.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 Binding for MediaTek's CPUFreq driver
  2 =====================================
  3 
  4 Required properties:
  5 - clocks: A list of phandle + clock-specifier pairs for the clocks listed in clock names.
  6 - clock-names: Should contain the following:
  7         "cpu"           - The multiplexer for clock input of CPU cluster.
  8         "intermediate"  - A parent of "cpu" clock which is used as "intermediate" clock
  9                           source (usually MAINPLL) when the original CPU PLL is under
 10                           transition and not stable yet.
 11         Please refer to Documentation/devicetree/bindings/clock/clock-bindings.txt for
 12         generic clock consumer properties.
 13 - operating-points-v2: Please refer to Documentation/devicetree/bindings/opp/opp-v2.yaml
 14         for detail.
 15 - proc-supply: Regulator for Vproc of CPU cluster.
 16 
 17 Optional properties:
 18 - sram-supply: Regulator for Vsram of CPU cluster. When present, the cpufreq driver
 19                needs to do "voltage tracking" to step by step scale up/down Vproc and
 20                Vsram to fit SoC specific needs. When absent, the voltage scaling
 21                flow is handled by hardware, hence no software "voltage tracking" is
 22                needed.
 23 - mediatek,cci:
 24         Used to confirm the link status between cpufreq and mediatek cci. Because
 25         cpufreq and mediatek cci could share the same regulator in some MediaTek SoCs.
 26         To prevent the issue of high frequency and low voltage, we need to use this
 27         property to make sure mediatek cci is ready.
 28         For details of mediatek cci, please refer to
 29         Documentation/devicetree/bindings/interconnect/mediatek,cci.yaml
 30 - #cooling-cells:
 31         For details, please refer to
 32         Documentation/devicetree/bindings/thermal/thermal-cooling-devices.yaml
 33 
 34 Example 1 (MT7623 SoC):
 35 
 36         cpu_opp_table: opp_table {
 37                 compatible = "operating-points-v2";
 38                 opp-shared;
 39 
 40                 opp-598000000 {
 41                         opp-hz = /bits/ 64 <598000000>;
 42                         opp-microvolt = <1050000>;
 43                 };
 44 
 45                 opp-747500000 {
 46                         opp-hz = /bits/ 64 <747500000>;
 47                         opp-microvolt = <1050000>;
 48                 };
 49 
 50                 opp-1040000000 {
 51                         opp-hz = /bits/ 64 <1040000000>;
 52                         opp-microvolt = <1150000>;
 53                 };
 54 
 55                 opp-1196000000 {
 56                         opp-hz = /bits/ 64 <1196000000>;
 57                         opp-microvolt = <1200000>;
 58                 };
 59 
 60                 opp-1300000000 {
 61                         opp-hz = /bits/ 64 <1300000000>;
 62                         opp-microvolt = <1300000>;
 63                 };
 64         };
 65 
 66         cpu0: cpu@0 {
 67                 device_type = "cpu";
 68                 compatible = "arm,cortex-a7";
 69                 reg = <0x0>;
 70                 clocks = <&infracfg CLK_INFRA_CPUSEL>,
 71                          <&apmixedsys CLK_APMIXED_MAINPLL>;
 72                 clock-names = "cpu", "intermediate";
 73                 operating-points-v2 = <&cpu_opp_table>;
 74                 #cooling-cells = <2>;
 75         };
 76         cpu@1 {
 77                 device_type = "cpu";
 78                 compatible = "arm,cortex-a7";
 79                 reg = <0x1>;
 80                 operating-points-v2 = <&cpu_opp_table>;
 81         };
 82         cpu@2 {
 83                 device_type = "cpu";
 84                 compatible = "arm,cortex-a7";
 85                 reg = <0x2>;
 86                 operating-points-v2 = <&cpu_opp_table>;
 87         };
 88         cpu@3 {
 89                 device_type = "cpu";
 90                 compatible = "arm,cortex-a7";
 91                 reg = <0x3>;
 92                 operating-points-v2 = <&cpu_opp_table>;
 93         };
 94 
 95 Example 2 (MT8173 SoC):
 96         cpu_opp_table_a: opp_table_a {
 97                 compatible = "operating-points-v2";
 98                 opp-shared;
 99 
100                 opp-507000000 {
101                         opp-hz = /bits/ 64 <507000000>;
102                         opp-microvolt = <859000>;
103                 };
104 
105                 opp-702000000 {
106                         opp-hz = /bits/ 64 <702000000>;
107                         opp-microvolt = <908000>;
108                 };
109 
110                 opp-1001000000 {
111                         opp-hz = /bits/ 64 <1001000000>;
112                         opp-microvolt = <983000>;
113                 };
114 
115                 opp-1105000000 {
116                         opp-hz = /bits/ 64 <1105000000>;
117                         opp-microvolt = <1009000>;
118                 };
119 
120                 opp-1183000000 {
121                         opp-hz = /bits/ 64 <1183000000>;
122                         opp-microvolt = <1028000>;
123                 };
124 
125                 opp-1404000000 {
126                         opp-hz = /bits/ 64 <1404000000>;
127                         opp-microvolt = <1083000>;
128                 };
129 
130                 opp-1508000000 {
131                         opp-hz = /bits/ 64 <1508000000>;
132                         opp-microvolt = <1109000>;
133                 };
134 
135                 opp-1573000000 {
136                         opp-hz = /bits/ 64 <1573000000>;
137                         opp-microvolt = <1125000>;
138                 };
139         };
140 
141         cpu_opp_table_b: opp_table_b {
142                 compatible = "operating-points-v2";
143                 opp-shared;
144 
145                 opp-507000000 {
146                         opp-hz = /bits/ 64 <507000000>;
147                         opp-microvolt = <828000>;
148                 };
149 
150                 opp-702000000 {
151                         opp-hz = /bits/ 64 <702000000>;
152                         opp-microvolt = <867000>;
153                 };
154 
155                 opp-1001000000 {
156                         opp-hz = /bits/ 64 <1001000000>;
157                         opp-microvolt = <927000>;
158                 };
159 
160                 opp-1209000000 {
161                         opp-hz = /bits/ 64 <1209000000>;
162                         opp-microvolt = <968000>;
163                 };
164 
165                 opp-1404000000 {
166                         opp-hz = /bits/ 64 <1007000000>;
167                         opp-microvolt = <1028000>;
168                 };
169 
170                 opp-1612000000 {
171                         opp-hz = /bits/ 64 <1612000000>;
172                         opp-microvolt = <1049000>;
173                 };
174 
175                 opp-1807000000 {
176                         opp-hz = /bits/ 64 <1807000000>;
177                         opp-microvolt = <1089000>;
178                 };
179 
180                 opp-1989000000 {
181                         opp-hz = /bits/ 64 <1989000000>;
182                         opp-microvolt = <1125000>;
183                 };
184         };
185 
186         cpu0: cpu@0 {
187                 device_type = "cpu";
188                 compatible = "arm,cortex-a53";
189                 reg = <0x000>;
190                 enable-method = "psci";
191                 cpu-idle-states = <&CPU_SLEEP_0>;
192                 clocks = <&infracfg CLK_INFRA_CA53SEL>,
193                          <&apmixedsys CLK_APMIXED_MAINPLL>;
194                 clock-names = "cpu", "intermediate";
195                 operating-points-v2 = <&cpu_opp_table_a>;
196         };
197 
198         cpu1: cpu@1 {
199                 device_type = "cpu";
200                 compatible = "arm,cortex-a53";
201                 reg = <0x001>;
202                 enable-method = "psci";
203                 cpu-idle-states = <&CPU_SLEEP_0>;
204                 clocks = <&infracfg CLK_INFRA_CA53SEL>,
205                          <&apmixedsys CLK_APMIXED_MAINPLL>;
206                 clock-names = "cpu", "intermediate";
207                 operating-points-v2 = <&cpu_opp_table_a>;
208         };
209 
210         cpu2: cpu@100 {
211                 device_type = "cpu";
212                 compatible = "arm,cortex-a72";
213                 reg = <0x100>;
214                 enable-method = "psci";
215                 cpu-idle-states = <&CPU_SLEEP_0>;
216                 clocks = <&infracfg CLK_INFRA_CA72SEL>,
217                          <&apmixedsys CLK_APMIXED_MAINPLL>;
218                 clock-names = "cpu", "intermediate";
219                 operating-points-v2 = <&cpu_opp_table_b>;
220         };
221 
222         cpu3: cpu@101 {
223                 device_type = "cpu";
224                 compatible = "arm,cortex-a72";
225                 reg = <0x101>;
226                 enable-method = "psci";
227                 cpu-idle-states = <&CPU_SLEEP_0>;
228                 clocks = <&infracfg CLK_INFRA_CA72SEL>,
229                          <&apmixedsys CLK_APMIXED_MAINPLL>;
230                 clock-names = "cpu", "intermediate";
231                 operating-points-v2 = <&cpu_opp_table_b>;
232         };
233 
234         &cpu0 {
235                 proc-supply = <&mt6397_vpca15_reg>;
236         };
237 
238         &cpu1 {
239                 proc-supply = <&mt6397_vpca15_reg>;
240         };
241 
242         &cpu2 {
243                 proc-supply = <&da9211_vcpu_reg>;
244                 sram-supply = <&mt6397_vsramca7_reg>;
245         };
246 
247         &cpu3 {
248                 proc-supply = <&da9211_vcpu_reg>;
249                 sram-supply = <&mt6397_vsramca7_reg>;
250         };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php