GNU Linux-libre 4.14.266-gnu1
[releases.git] / arch / arm64 / boot / dts / rockchip / rk3399-opp.dtsi
1 /*
2  * Copyright (c) 2016-2017 Fuzhou Rockchip Electronics Co., Ltd
3  *
4  * This file is dual-licensed: you can use it either under the terms
5  * of the GPL or the X11 license, at your option. Note that this dual
6  * licensing only applies to this file, and not this project as a
7  * whole.
8  *
9  *  a) This library is free software; you can redistribute it and/or
10  *     modify it under the terms of the GNU General Public License as
11  *     published by the Free Software Foundation; either version 2 of the
12  *     License, or (at your option) any later version.
13  *
14  *     This library is distributed in the hope that it will be useful,
15  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  *     GNU General Public License for more details.
18  *
19  * Or, alternatively,
20  *
21  *  b) Permission is hereby granted, free of charge, to any person
22  *     obtaining a copy of this software and associated documentation
23  *     files (the "Software"), to deal in the Software without
24  *     restriction, including without limitation the rights to use,
25  *     copy, modify, merge, publish, distribute, sublicense, and/or
26  *     sell copies of the Software, and to permit persons to whom the
27  *     Software is furnished to do so, subject to the following
28  *     conditions:
29  *
30  *     The above copyright notice and this permission notice shall be
31  *     included in all copies or substantial portions of the Software.
32  *
33  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40  *     OTHER DEALINGS IN THE SOFTWARE.
41  */
42
43 / {
44         cluster0_opp: opp-table0 {
45                 compatible = "operating-points-v2";
46                 opp-shared;
47
48                 opp00 {
49                         opp-hz = /bits/ 64 <408000000>;
50                         opp-microvolt = <800000>;
51                         clock-latency-ns = <40000>;
52                 };
53                 opp01 {
54                         opp-hz = /bits/ 64 <600000000>;
55                         opp-microvolt = <800000>;
56                 };
57                 opp02 {
58                         opp-hz = /bits/ 64 <816000000>;
59                         opp-microvolt = <850000>;
60                 };
61                 opp03 {
62                         opp-hz = /bits/ 64 <1008000000>;
63                         opp-microvolt = <925000>;
64                 };
65                 opp04 {
66                         opp-hz = /bits/ 64 <1200000000>;
67                         opp-microvolt = <1000000>;
68                 };
69                 opp05 {
70                         opp-hz = /bits/ 64 <1416000000>;
71                         opp-microvolt = <1125000>;
72                 };
73         };
74
75         cluster1_opp: opp-table1 {
76                 compatible = "operating-points-v2";
77                 opp-shared;
78
79                 opp00 {
80                         opp-hz = /bits/ 64 <408000000>;
81                         opp-microvolt = <800000>;
82                         clock-latency-ns = <40000>;
83                 };
84                 opp01 {
85                         opp-hz = /bits/ 64 <600000000>;
86                         opp-microvolt = <800000>;
87                 };
88                 opp02 {
89                         opp-hz = /bits/ 64 <816000000>;
90                         opp-microvolt = <825000>;
91                 };
92                 opp03 {
93                         opp-hz = /bits/ 64 <1008000000>;
94                         opp-microvolt = <875000>;
95                 };
96                 opp04 {
97                         opp-hz = /bits/ 64 <1200000000>;
98                         opp-microvolt = <950000>;
99                 };
100                 opp05 {
101                         opp-hz = /bits/ 64 <1416000000>;
102                         opp-microvolt = <1025000>;
103                 };
104                 opp06 {
105                         opp-hz = /bits/ 64 <1608000000>;
106                         opp-microvolt = <1100000>;
107                 };
108                 opp07 {
109                         opp-hz = /bits/ 64 <1800000000>;
110                         opp-microvolt = <1200000>;
111                 };
112         };
113
114         gpu_opp_table: opp-table2 {
115                 compatible = "operating-points-v2";
116
117                 opp00 {
118                         opp-hz = /bits/ 64 <200000000>;
119                         opp-microvolt = <800000>;
120                 };
121                 opp01 {
122                         opp-hz = /bits/ 64 <297000000>;
123                         opp-microvolt = <800000>;
124                 };
125                 opp02 {
126                         opp-hz = /bits/ 64 <400000000>;
127                         opp-microvolt = <825000>;
128                 };
129                 opp03 {
130                         opp-hz = /bits/ 64 <500000000>;
131                         opp-microvolt = <875000>;
132                 };
133                 opp04 {
134                         opp-hz = /bits/ 64 <600000000>;
135                         opp-microvolt = <925000>;
136                 };
137                 opp05 {
138                         opp-hz = /bits/ 64 <800000000>;
139                         opp-microvolt = <1100000>;
140                 };
141         };
142 };
143
144 &cpu_l0 {
145         operating-points-v2 = <&cluster0_opp>;
146 };
147
148 &cpu_l1 {
149         operating-points-v2 = <&cluster0_opp>;
150 };
151
152 &cpu_l2 {
153         operating-points-v2 = <&cluster0_opp>;
154 };
155
156 &cpu_l3 {
157         operating-points-v2 = <&cluster0_opp>;
158 };
159
160 &cpu_b0 {
161         operating-points-v2 = <&cluster1_opp>;
162 };
163
164 &cpu_b1 {
165         operating-points-v2 = <&cluster1_opp>;
166 };
167
168 &gpu {
169         operating-points-v2 = <&gpu_opp_table>;
170 };