Commit | Line | Data |
---|---|---|
b122bcd9 LJ |
1 | Binding for ST's CPUFreq driver |
2 | =============================== | |
3 | ||
4 | ST's CPUFreq driver attempts to read 'process' and 'version' attributes | |
5 | from the SoC, then supplies the OPP framework with 'prop' and 'supported | |
6 | hardware' information respectively. The framework is then able to read | |
7 | the DT and operate in the usual way. | |
8 | ||
9 | For more information about the expected DT format [See: ../opp/opp.txt]. | |
10 | ||
11 | Frequency Scaling only | |
12 | ---------------------- | |
13 | ||
14 | No vendor specific driver required for this. | |
15 | ||
16 | Located in CPU's node: | |
17 | ||
18 | - operating-points : [See: ../power/opp.txt] | |
19 | ||
20 | Example [safe] | |
21 | -------------- | |
22 | ||
23 | cpus { | |
24 | cpu@0 { | |
25 | /* kHz uV */ | |
26 | operating-points = <1500000 0 | |
27 | 1200000 0 | |
28 | 800000 0 | |
29 | 500000 0>; | |
30 | }; | |
31 | }; | |
32 | ||
33 | Dynamic Voltage and Frequency Scaling (DVFS) | |
34 | -------------------------------------------- | |
35 | ||
36 | This requires the ST CPUFreq driver to supply 'process' and 'version' info. | |
37 | ||
38 | Located in CPU's node: | |
39 | ||
40 | - operating-points-v2 : [See ../power/opp.txt] | |
41 | ||
42 | Example [unsafe] | |
43 | ---------------- | |
44 | ||
45 | cpus { | |
46 | cpu@0 { | |
47 | operating-points-v2 = <&cpu0_opp_table>; | |
48 | }; | |
49 | }; | |
50 | ||
51 | cpu0_opp_table: opp_table { | |
52 | compatible = "operating-points-v2"; | |
53 | ||
54 | /* ############################################################### */ | |
55 | /* # WARNING: Do not attempt to copy/replicate these nodes, # */ | |
56 | /* # they are only to be supplied by the bootloader !!! # */ | |
57 | /* ############################################################### */ | |
58 | opp0 { | |
59 | /* Major Minor Substrate */ | |
60 | /* 2 all all */ | |
61 | opp-supported-hw = <0x00000004 0xffffffff 0xffffffff>; | |
62 | opp-hz = /bits/ 64 <1500000000>; | |
63 | clock-latency-ns = <10000000>; | |
64 | ||
65 | opp-microvolt-pcode0 = <1200000>; | |
66 | opp-microvolt-pcode1 = <1200000>; | |
67 | opp-microvolt-pcode2 = <1200000>; | |
68 | opp-microvolt-pcode3 = <1200000>; | |
69 | opp-microvolt-pcode4 = <1170000>; | |
70 | opp-microvolt-pcode5 = <1140000>; | |
71 | opp-microvolt-pcode6 = <1100000>; | |
72 | opp-microvolt-pcode7 = <1070000>; | |
73 | }; | |
74 | ||
75 | opp1 { | |
76 | /* Major Minor Substrate */ | |
77 | /* all all all */ | |
78 | opp-supported-hw = <0xffffffff 0xffffffff 0xffffffff>; | |
79 | opp-hz = /bits/ 64 <1200000000>; | |
80 | clock-latency-ns = <10000000>; | |
81 | ||
82 | opp-microvolt-pcode0 = <1110000>; | |
83 | opp-microvolt-pcode1 = <1150000>; | |
84 | opp-microvolt-pcode2 = <1100000>; | |
85 | opp-microvolt-pcode3 = <1080000>; | |
86 | opp-microvolt-pcode4 = <1040000>; | |
87 | opp-microvolt-pcode5 = <1020000>; | |
88 | opp-microvolt-pcode6 = <980000>; | |
89 | opp-microvolt-pcode7 = <930000>; | |
90 | }; | |
91 | }; |