xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/power/rockchip-cpu-avs.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1Rockchip cpu avs device tree bindings
2-------------------------------------
3
4Under the same frequency, the operating voltage tends to decrease with
5increasing leakage. so it is necessary to adjust opp's voltage according
6to leakage for power.
7
8
9Required properties:
10- cluster-id: At runtime, the platform can find a cpu's cluster_id
11  according to it's cpu_id and match cluster-id property.
12- min-volt: The minimum voltage in uV. Even though opp's voltage will be
13  adjusted, it must be bigger than or equal to the minimum.
14- min-freq: The minimum frequency in KHz. If an opp's frequency is bigger
15  than or equal to the minimum, its volatge will be adjusted.
16- leakage-adjust-volt: The property is an array of 3-tuples items, and
17  each item consists of leakage and voltage like
18  <min-leakage-mA max-leakage-mA volt-uV>.
19	min-leakage: minimum leakage in mA, ranges from 0 to 254.
20	max-leakage: maximum leakage in mA, ranges from 0 to 254.
21	volt: voltage offset in uV to apply to the opp table entries.
22- nvmem-cells: A phandle to the leakage data provided by efuse.
23- nvmem-cell-names: Should be "cpu_leakage".
24
25Example:
26
27	cpu_avs: cpu-avs {
28		cluster0-avs {
29			cluster-id = <0>;
30			min-volt = <800000>; /* uV */
31			min-freq = <408000>; /* KHz */
32			leakage-adjust-volt = <
33			/*  mA        mA         uV */
34			    0         254        0
35			>;
36			nvmem-cells = <&cpul_leakage>;
37			nvmem-cell-names = "cpu_leakage";
38		};
39		cluster1-avs {
40			cluster-id = <1>;
41			min-volt = <800000>; /* uV */
42			min-freq = <408000>; /* KHz */
43			leakage-adjust-volt = <
44			/*  mA        mA         uV */
45			    0         254        0
46			>;
47			nvmem-cells = <&cpub_leakage>;
48			nvmem-cell-names = "cpu_leakage";
49		};
50	};
51