xref: /freebsd/sys/contrib/device-tree/Bindings/cpufreq/cpufreq-st.txt (revision c203bd70b5957f85616424b6fa374479372d06e3)
1Binding for ST's CPUFreq driver
2===============================
3
4ST's CPUFreq driver attempts to read 'process' and 'version' attributes
5from the SoC, then supplies the OPP framework with 'prop' and 'supported
6hardware' information respectively.  The framework is then able to read
7the DT and operate in the usual way.
8
9For more information about the expected DT format [See: ../opp/opp.txt].
10
11Frequency Scaling only
12----------------------
13
14No vendor specific driver required for this.
15
16Located in CPU's node:
17
18- operating-points		: [See: ../power/opp.txt]
19
20Example [safe]
21--------------
22
23cpus {
24	cpu@0 {
25				 /* kHz     uV   */
26		operating-points = <1500000 0
27				    1200000 0
28				    800000  0
29				    500000  0>;
30	};
31};
32
33Dynamic Voltage and Frequency Scaling (DVFS)
34--------------------------------------------
35
36This requires the ST CPUFreq driver to supply 'process' and 'version' info.
37
38Located in CPU's node:
39
40- operating-points-v2		: [See ../power/opp.txt]
41
42Example [unsafe]
43----------------
44
45cpus {
46	cpu@0 {
47		operating-points-v2	= <&cpu0_opp_table>;
48	};
49};
50
51cpu0_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};
92