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