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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/opp/opp-v2.yaml

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 ] ~

Diff markup

Differences between /Documentation/devicetree/bindings/opp/opp-v2.yaml (Version linux-6.12-rc7) and /Documentation/devicetree/bindings/opp/opp-v2.yaml (Version linux-4.20.17)


  1 # SPDX-License-Identifier: (GPL-2.0-only OR BS    
  2 %YAML 1.2                                         
  3 ---                                               
  4 $id: http://devicetree.org/schemas/opp/opp-v2.    
  5 $schema: http://devicetree.org/meta-schemas/co    
  6                                                   
  7 title: Generic OPP (Operating Performance Poin    
  8                                                   
  9 maintainers:                                      
 10   - Viresh Kumar <viresh.kumar@linaro.org>         
 11                                                   
 12 allOf:                                            
 13   - $ref: opp-v2-base.yaml#                       
 14                                                   
 15 properties:                                       
 16   compatible:                                     
 17     const: operating-points-v2                    
 18                                                   
 19 unevaluatedProperties: false                      
 20                                                   
 21 examples:                                         
 22   - |                                             
 23     /*                                            
 24      * Example 1: Single cluster Dual-core ARM    
 25      * together.                                  
 26      */                                           
 27     cpus {                                        
 28         #address-cells = <1>;                     
 29         #size-cells = <0>;                        
 30                                                   
 31         cpu@0 {                                   
 32             compatible = "arm,cortex-a9";         
 33             device_type = "cpu";                  
 34             reg = <0>;                            
 35             next-level-cache = <&L2>;             
 36             clocks = <&clk_controller 0>;         
 37             clock-names = "cpu";                  
 38             cpu-supply = <&cpu_supply0>;          
 39             operating-points-v2 = <&cpu0_opp_t    
 40         };                                        
 41                                                   
 42         cpu@1 {                                   
 43             compatible = "arm,cortex-a9";         
 44             device_type = "cpu";                  
 45             reg = <1>;                            
 46             next-level-cache = <&L2>;             
 47             clocks = <&clk_controller 0>;         
 48             clock-names = "cpu";                  
 49             cpu-supply = <&cpu_supply0>;          
 50             operating-points-v2 = <&cpu0_opp_t    
 51         };                                        
 52     };                                            
 53                                                   
 54     cpu0_opp_table0: opp-table {                  
 55         compatible = "operating-points-v2";       
 56         opp-shared;                               
 57                                                   
 58         opp-1000000000 {                          
 59             opp-hz = /bits/ 64 <1000000000>;      
 60             opp-microvolt = <975000 970000 985    
 61             opp-microamp = <70000>;               
 62             clock-latency-ns = <300000>;          
 63             opp-suspend;                          
 64         };                                        
 65         opp-1100000000 {                          
 66             opp-hz = /bits/ 64 <1100000000>;      
 67             opp-microvolt = <1000000 980000 10    
 68             opp-microamp = <80000>;               
 69             clock-latency-ns = <310000>;          
 70         };                                        
 71         opp-1200000000 {                          
 72             opp-hz = /bits/ 64 <1200000000>;      
 73             opp-microvolt = <1025000>;            
 74             clock-latency-ns = <290000>;          
 75             turbo-mode;                           
 76         };                                        
 77     };                                            
 78                                                   
 79   - |                                             
 80     /*                                            
 81      * Example 2: Single cluster, Quad-core Qu    
 82      * independently.                             
 83      */                                           
 84     cpus {                                        
 85         #address-cells = <1>;                     
 86         #size-cells = <0>;                        
 87                                                   
 88         cpu@0 {                                   
 89             compatible = "qcom,krait";            
 90             device_type = "cpu";                  
 91             reg = <0>;                            
 92             next-level-cache = <&L2>;             
 93             clocks = <&clk_controller 0>;         
 94             clock-names = "cpu";                  
 95             cpu-supply = <&cpu_supply0>;          
 96             operating-points-v2 = <&cpu_opp_ta    
 97         };                                        
 98                                                   
 99         cpu@1 {                                   
100             compatible = "qcom,krait";            
101             device_type = "cpu";                  
102             reg = <1>;                            
103             next-level-cache = <&L2>;             
104             clocks = <&clk_controller 1>;         
105             clock-names = "cpu";                  
106             cpu-supply = <&cpu_supply1>;          
107             operating-points-v2 = <&cpu_opp_ta    
108         };                                        
109                                                   
110         cpu@2 {                                   
111             compatible = "qcom,krait";            
112             device_type = "cpu";                  
113             reg = <2>;                            
114             next-level-cache = <&L2>;             
115             clocks = <&clk_controller 2>;         
116             clock-names = "cpu";                  
117             cpu-supply = <&cpu_supply2>;          
118             operating-points-v2 = <&cpu_opp_ta    
119         };                                        
120                                                   
121         cpu@3 {                                   
122             compatible = "qcom,krait";            
123             device_type = "cpu";                  
124             reg = <3>;                            
125             next-level-cache = <&L2>;             
126             clocks = <&clk_controller 3>;         
127             clock-names = "cpu";                  
128             cpu-supply = <&cpu_supply3>;          
129             operating-points-v2 = <&cpu_opp_ta    
130         };                                        
131     };                                            
132                                                   
133     cpu_opp_table: opp-table {                    
134         compatible = "operating-points-v2";       
135                                                   
136         /*                                        
137          * Missing opp-shared property means C    
138          * independently.                         
139          */                                       
140                                                   
141         opp-1000000000 {                          
142             opp-hz = /bits/ 64 <1000000000>;      
143             opp-microvolt = <975000 970000 985    
144             opp-microamp = <70000>;               
145             clock-latency-ns = <300000>;          
146             opp-suspend;                          
147         };                                        
148         opp-1100000000 {                          
149             opp-hz = /bits/ 64 <1100000000>;      
150             opp-microvolt = <1000000 980000 10    
151             opp-microamp = <80000>;               
152             clock-latency-ns = <310000>;          
153         };                                        
154         opp-1200000000 {                          
155             opp-hz = /bits/ 64 <1200000000>;      
156             opp-microvolt = <1025000>;            
157             opp-microamp = <90000>;               
158             clock-latency-ns = <290000>;          
159             turbo-mode;                           
160         };                                        
161     };                                            
162                                                   
163   - |                                             
164     /*                                            
165      * Example 3: Dual-cluster, Dual-core per     
166      * DVFS state together.                       
167      */                                           
168     cpus {                                        
169         #address-cells = <1>;                     
170         #size-cells = <0>;                        
171                                                   
172         cpu@0 {                                   
173             compatible = "arm,cortex-a7";         
174             device_type = "cpu";                  
175             reg = <0>;                            
176             next-level-cache = <&L2>;             
177             clocks = <&clk_controller 0>;         
178             clock-names = "cpu";                  
179             cpu-supply = <&cpu_supply0>;          
180             operating-points-v2 = <&cluster0_o    
181         };                                        
182                                                   
183         cpu@1 {                                   
184             compatible = "arm,cortex-a7";         
185             device_type = "cpu";                  
186             reg = <1>;                            
187             next-level-cache = <&L2>;             
188             clocks = <&clk_controller 0>;         
189             clock-names = "cpu";                  
190             cpu-supply = <&cpu_supply0>;          
191             operating-points-v2 = <&cluster0_o    
192         };                                        
193                                                   
194         cpu@100 {                                 
195             compatible = "arm,cortex-a15";        
196             device_type = "cpu";                  
197             reg = <100>;                          
198             next-level-cache = <&L2>;             
199             clocks = <&clk_controller 1>;         
200             clock-names = "cpu";                  
201             cpu-supply = <&cpu_supply1>;          
202             operating-points-v2 = <&cluster1_o    
203         };                                        
204                                                   
205         cpu@101 {                                 
206             compatible = "arm,cortex-a15";        
207             device_type = "cpu";                  
208             reg = <101>;                          
209             next-level-cache = <&L2>;             
210             clocks = <&clk_controller 1>;         
211             clock-names = "cpu";                  
212             cpu-supply = <&cpu_supply1>;          
213             operating-points-v2 = <&cluster1_o    
214         };                                        
215     };                                            
216                                                   
217     cluster0_opp: opp-table-0 {                   
218         compatible = "operating-points-v2";       
219         opp-shared;                               
220                                                   
221         opp-1000000000 {                          
222             opp-hz = /bits/ 64 <1000000000>;      
223             opp-microvolt = <975000 970000 985    
224             opp-microamp = <70000>;               
225             clock-latency-ns = <300000>;          
226             opp-suspend;                          
227         };                                        
228         opp-1100000000 {                          
229             opp-hz = /bits/ 64 <1100000000>;      
230             opp-microvolt = <1000000 980000 10    
231             opp-microamp = <80000>;               
232             clock-latency-ns = <310000>;          
233         };                                        
234         opp-1200000000 {                          
235             opp-hz = /bits/ 64 <1200000000>;      
236             opp-microvolt = <1025000>;            
237             opp-microamp = <90000>;               
238             clock-latency-ns = <290000>;          
239             turbo-mode;                           
240         };                                        
241     };                                            
242                                                   
243     cluster1_opp: opp-table-1 {                   
244         compatible = "operating-points-v2";       
245         opp-shared;                               
246                                                   
247         opp-1300000000 {                          
248             opp-hz = /bits/ 64 <1300000000>;      
249             opp-microvolt = <1050000 1045000 1    
250             opp-microamp = <95000>;               
251             clock-latency-ns = <400000>;          
252             opp-suspend;                          
253         };                                        
254         opp-1400000000 {                          
255             opp-hz = /bits/ 64 <1400000000>;      
256             opp-microvolt = <1075000>;            
257             opp-microamp = <100000>;              
258             clock-latency-ns = <400000>;          
259         };                                        
260         opp-1500000000 {                          
261             opp-hz = /bits/ 64 <1500000000>;      
262             opp-microvolt = <1100000 1010000 1    
263             opp-microamp = <95000>;               
264             clock-latency-ns = <400000>;          
265             turbo-mode;                           
266         };                                        
267     };                                            
268                                                   
269   - |                                             
270     /* Example 4: Handling multiple regulators    
271     cpus {                                        
272         #address-cells = <1>;                     
273         #size-cells = <0>;                        
274                                                   
275         cpu@0 {                                   
276             compatible = "foo,cpu-type";          
277             device_type = "cpu";                  
278             reg = <0>;                            
279                                                   
280             vcc0-supply = <&cpu_supply0>;         
281             vcc1-supply = <&cpu_supply1>;         
282             vcc2-supply = <&cpu_supply2>;         
283             operating-points-v2 = <&cpu0_opp_t    
284         };                                        
285     };                                            
286                                                   
287     cpu0_opp_table4: opp-table-0 {                
288         compatible = "operating-points-v2";       
289         opp-shared;                               
290                                                   
291         opp-1000000000 {                          
292             opp-hz = /bits/ 64 <1000000000>;      
293             opp-microvolt = <970000>, /* Suppl    
294                             <960000>, /* Suppl    
295                             <960000>; /* Suppl    
296             opp-microamp =  <70000>,  /* Suppl    
297                             <70000>,  /* Suppl    
298                             <70000>;  /* Suppl    
299             clock-latency-ns = <300000>;          
300         };                                        
301                                                   
302         /* OR */                                  
303                                                   
304         opp-1000000001 {                          
305             opp-hz = /bits/ 64 <1000000001>;      
306             opp-microvolt = <975000 970000 985    
307                             <965000 960000 975    
308                             <965000 960000 975    
309             opp-microamp =  <70000>,    /* Sup    
310                 <70000>,    /* Supply 1 */        
311                 <70000>;    /* Supply 2 */        
312             clock-latency-ns = <300000>;          
313         };                                        
314                                                   
315         /* OR */                                  
316                                                   
317         opp-1000000002 {                          
318             opp-hz = /bits/ 64 <1000000002>;      
319             opp-microvolt = <975000 970000 985    
320                 <965000 960000 975000>, /* Sup    
321                 <965000 960000 975000>; /* Sup    
322             opp-microamp =  <70000>,    /* Sup    
323                 <0>,      /* Supply 1 doesn't     
324                 <70000>;    /* Supply 2 */        
325             clock-latency-ns = <300000>;          
326         };                                        
327     };                                            
328                                                   
329   - |                                             
330     /*                                            
331      * Example 5: opp-supported-hw                
332      * (example: three level hierarchy of vers    
333      */                                           
334     cpus {                                        
335         #address-cells = <1>;                     
336         #size-cells = <0>;                        
337                                                   
338         cpu@0 {                                   
339             compatible = "arm,cortex-a7";         
340             device_type = "cpu";                  
341             reg = <0>;                            
342             cpu-supply = <&cpu_supply>;           
343             operating-points-v2 = <&cpu0_opp_t    
344         };                                        
345     };                                            
346                                                   
347     cpu0_opp_table_slow: opp-table {              
348         compatible = "operating-points-v2";       
349         opp-shared;                               
350                                                   
351         opp-600000000 {                           
352             /*                                    
353              * Supports all substrate and proc    
354              * cuts, i.e. only first four cuts    
355              */                                   
356             opp-supported-hw = <0xF 0xFFFFFFFF    
357             opp-hz = /bits/ 64 <600000000>;       
358         };                                        
359                                                   
360         opp-800000000 {                           
361             /*                                    
362              * Supports:                          
363              * - cuts: only one, 6th cut (repr    
364              * - substrate: supports 16 differ    
365              * - process: supports 9 different    
366              */                                   
367             opp-supported-hw = <0x20 0xff0000f    
368             opp-hz = /bits/ 64 <800000000>;       
369         };                                        
370                                                   
371         opp-900000000 {                           
372             /*                                    
373              * Supports:                          
374              * - All cuts and substrate where     
375              * - All cuts and process where su    
376              */                                   
377             opp-supported-hw = <0xFFFFFFFF 0xF    
378                                <0xFFFFFFFF 0x0    
379             opp-hz = /bits/ 64 <900000000>;       
380         };                                        
381     };                                            
382                                                   
383   - |                                             
384     /*                                            
385      * Example 6: opp-microvolt-<name>, opp-mi    
386      * (example: device with two possible micr    
387      */                                           
388     cpus {                                        
389         #address-cells = <1>;                     
390         #size-cells = <0>;                        
391                                                   
392         cpu@0 {                                   
393             compatible = "arm,cortex-a7";         
394             device_type = "cpu";                  
395             reg = <0>;                            
396             operating-points-v2 = <&cpu0_opp_t    
397         };                                        
398     };                                            
399                                                   
400     cpu0_opp_table6: opp-table-0 {                
401         compatible = "operating-points-v2";       
402         opp-shared;                               
403                                                   
404         opp-1000000000 {                          
405             opp-hz = /bits/ 64 <1000000000>;      
406             opp-microvolt-slow = <915000 90000    
407             opp-microvolt-fast = <975000 97000    
408             opp-microamp-slow =  <70000>;         
409             opp-microamp-fast =  <71000>;         
410         };                                        
411                                                   
412         opp-1200000000 {                          
413             opp-hz = /bits/ 64 <1200000000>;      
414             opp-microvolt-slow = <915000 90000    
415                                  <925000 91000    
416             opp-microvolt-fast = <975000 97000    
417                                  <965000 96000    
418             opp-microamp =  <70000>; /* Will b    
419         };                                        
420     };                                            
421                                                   
422   - |                                             
423     /*                                            
424      * Example 7: Single cluster Quad-core ARM    
425      * distinct clock controls but two sets of    
426      */                                           
427     cpus {                                        
428         #address-cells = <2>;                     
429         #size-cells = <0>;                        
430                                                   
431         cpu@0 {                                   
432             compatible = "arm,cortex-a53";        
433             device_type = "cpu";                  
434             reg = <0x0 0x100>;                    
435             next-level-cache = <&A53_L2>;         
436             clocks = <&dvfs_controller 0>;        
437             operating-points-v2 = <&cpu_opp0_t    
438         };                                        
439         cpu@1 {                                   
440             compatible = "arm,cortex-a53";        
441             device_type = "cpu";                  
442             reg = <0x0 0x101>;                    
443             next-level-cache = <&A53_L2>;         
444             clocks = <&dvfs_controller 1>;        
445             operating-points-v2 = <&cpu_opp0_t    
446         };                                        
447         cpu@2 {                                   
448             compatible = "arm,cortex-a53";        
449             device_type = "cpu";                  
450             reg = <0x0 0x102>;                    
451             next-level-cache = <&A53_L2>;         
452             clocks = <&dvfs_controller 2>;        
453             operating-points-v2 = <&cpu_opp1_t    
454         };                                        
455         cpu@3 {                                   
456             compatible = "arm,cortex-a53";        
457             device_type = "cpu";                  
458             reg = <0x0 0x103>;                    
459             next-level-cache = <&A53_L2>;         
460             clocks = <&dvfs_controller 3>;        
461             operating-points-v2 = <&cpu_opp1_t    
462         };                                        
463                                                   
464     };                                            
465                                                   
466     cpu_opp0_table: opp-table-0 {                 
467         compatible = "operating-points-v2";       
468         opp-shared;                               
469     };                                            
470                                                   
471     cpu_opp1_table: opp-table-1 {                 
472         compatible = "operating-points-v2";       
473         opp-shared;                               
474     };                                            
475 ...                                               
                                                      

~ [ 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