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