Merge tag 'v4.4-rc6'
[firefly-linux-kernel-4.4.55.git] / arch / arm64 / boot / dts / rockchip / rk3368-tb.dtsi
1 /*
2  * Copyright (c) 2015 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 file 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 file 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 #include <dt-bindings/pwm/pwm.h>
44 #include "rk3368.dtsi"
45
46 / {
47         compatible = "rockchip,tb", "rockchip,rk3368";
48
49         chosen {
50                 bootargs = "console=uart,mmio32,0xff690000";
51         };
52
53         ion {
54                 compatible = "rockchip,ion";
55                 #address-cells = <1>;
56                 #size-cells = <0>;
57
58                 system-heap {
59                         rockchip,ion_heap = <0>;
60                 };
61         };
62
63         backlight: backlight {
64                 compatible = "pwm-backlight";
65                 pwms = <&pwm0 0 25000 PWM_POLARITY_INVERTED>;
66                 brightness-levels = <
67                           0   1   2   3   4   5   6   7
68                           8   9  10  11  12  13  14  15
69                          16  17  18  19  20  21  22  23
70                          24  25  26  27  28  29  30  31
71                          32  33  34  35  36  37  38  39
72                          40  41  42  43  44  45  46  47
73                          48  49  50  51  52  53  54  55
74                          56  57  58  59  60  61  62  63
75                          64  65  66  67  68  69  70  71
76                          72  73  74  75  76  77  78  79
77                          80  81  82  83  84  85  86  87
78                          88  89  90  91  92  93  94  95
79                          96  97  98  99 100 101 102 103
80                         104 105 106 107 108 109 110 111
81                         112 113 114 115 116 117 118 119
82                         120 121 122 123 124 125 126 127
83                         128 129 130 131 132 133 134 135
84                         136 137 138 139 140 141 142 143
85                         144 145 146 147 148 149 150 151
86                         152 153 154 155 156 157 158 159
87                         160 161 162 163 164 165 166 167
88                         168 169 170 171 172 173 174 175
89                         176 177 178 179 180 181 182 183
90                         184 185 186 187 188 189 190 191
91                         192 193 194 195 196 197 198 199
92                         200 201 202 203 204 205 206 207
93                         208 209 210 211 212 213 214 215
94                         216 217 218 219 220 221 222 223
95                         224 225 226 227 228 229 230 231
96                         232 233 234 235 236 237 238 239
97                         240 241 242 243 244 245 246 247
98                         248 249 250 251 252 253 254 255>;
99                 default-brightness-level = <200>;
100                 enable-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
101         };
102 };
103
104 &emmc {
105         bus-width = <8>;
106         cap-mmc-highspeed;
107         supports-emmc;
108         disable-wp;
109         non-removable;
110         num-slots = <1>;
111         pinctrl-names = "default";
112         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
113         status = "okay";
114 };
115
116 &i2c0 {
117         status = "okay";
118
119         syr827: syr827@40 {
120                 compatible = "silergy,syr82x";
121                 status = "disabled";
122                 reg = <0x40>;
123                 regulators {
124                         #address-cells = <1>;
125                         #size-cells = <0>;
126                         syr827_dc1: regulator@0 {
127                                 reg = <0>;
128                                 regulator-compatible = "syr82x_dcdc1";
129                                 regulator-name = "vdd_arm";
130                                 regulator-min-microvolt = <712500>;
131                                 regulator-max-microvolt = <1500000>;
132                                 regulator-always-on;
133                                 regulator-boot-on;
134                                 regulator-initial-state = <3>;
135                                 regulator-state-mem {
136                                         regulator-mode = <0x2>;
137                                         regulator-off-in-suspend;
138                                         regulator-suspend-microvolt = <900000>;
139                                 };
140                         };
141                 };
142         };
143
144         syr828: syr828@41 {
145                 compatible = "silergy,syr82x";
146                 status = "disabled";
147                 reg = <0x41>;
148                 regulators {
149                         #address-cells = <1>;
150                         #size-cells = <0>;
151                         syr828_dc1: regulator@0 {
152                                 reg = <0>;
153                                 regulator-compatible = "syr82x_dcdc1";
154                                 regulator-name = "vdd_gpu";
155                                 regulator-min-microvolt = <712500>;
156                                 regulator-max-microvolt = <1500000>;
157                                 regulator-always-on;
158                                 regulator-boot-on;
159                                 regulator-initial-state = <3>;
160                                 regulator-state-mem {
161                                         regulator-mode = <0x2>;
162                                         regulator-on-in-suspend;
163                                         regulator-suspend-microvolt = <900000>;
164                                 };
165                         };
166                 };
167         };
168
169         act8846: act8846@5a {
170                 /*
171                  * Note: u-boot ONLY match old compatible,
172                  * it's better to add both instances here.
173                  */
174                 compatible = "act,act8846", "active-semi,act8846";
175                 status = "disabled";
176                 reg = <0x5a>;
177                 system-power-controller;
178
179                 regulators {
180                         act8846_reg1: REG1 {
181                                 regulator-name = "VCC_DDR";
182                                 regulator-min-microvolt = <1200000>;
183                                 regulator-max-microvolt = <1200000>;
184                                 regulator-always-on;
185                         };
186
187                         act8846_reg2: REG2 {
188                                 regulator-name = "VCC_IO";
189                                 regulator-min-microvolt = <3300000>;
190                                 regulator-max-microvolt = <3300000>;
191                                 regulator-always-on;
192                         };
193
194                         act8846_reg3: REG3 {
195                                 regulator-name = "VDD_LOG";
196                                 regulator-min-microvolt = <700000>;
197                                 regulator-max-microvolt = <1500000>;
198                                 regulator-always-on;
199                         };
200
201                         act8846_reg4: REG4 {
202                                 regulator-name = "VCC_20";
203                                 regulator-min-microvolt = <2000000>;
204                                 regulator-max-microvolt = <2000000>;
205                                 regulator-always-on;
206                         };
207
208                         act8846_reg5: REG5 {
209                                 regulator-name = "VCCIO_SD";
210                                 regulator-min-microvolt = <1800000>;
211                                 regulator-max-microvolt = <3300000>;
212                                 regulator-always-on;
213                         };
214
215                         act8846_reg6: REG6 {
216                                 regulator-name = "VDD10_LCD";
217                                 regulator-min-microvolt = <1000000>;
218                                 regulator-max-microvolt = <1000000>;
219                                 regulator-always-on;
220                         };
221
222                         act8846_reg7: REG7 {
223                                 regulator-name = "VCCA_CODEC";
224                                 regulator-min-microvolt = <3300000>;
225                                 regulator-max-microvolt = <3300000>;
226                                 regulator-always-on;
227                         };
228
229                         act8846_reg8: REG8 {
230                                 regulator-name = "VCCA_TP";
231                                 regulator-min-microvolt = <3300000>;
232                                 regulator-max-microvolt = <3300000>;
233                                 regulator-always-on;
234                         };
235
236                         act8846_reg9: REG9 {
237                                 regulator-name = "VCCIO_PMU";
238                                 regulator-min-microvolt = <3300000>;
239                                 regulator-max-microvolt = <3300000>;
240                                 regulator-always-on;
241                         };
242
243                         act8846_reg10: REG10 {
244                                 regulator-name = "VDD_10";
245                                 regulator-min-microvolt = <1000000>;
246                                 regulator-max-microvolt = <1000000>;
247                                 regulator-always-on;
248                         };
249
250                         act8846_reg11: REG11 {
251                                 regulator-name = "VCC_18";
252                                 regulator-min-microvolt = <1800000>;
253                                 regulator-max-microvolt = <1800000>;
254                                 regulator-always-on;
255                         };
256
257                         act8846_reg12: REG12 {
258                                 regulator-name = "VCC18_LCD";
259                                 regulator-min-microvolt = <1800000>;
260                                 regulator-max-microvolt = <1800000>;
261                                 regulator-always-on;
262                         };
263                 };
264         };
265 };
266
267 &pwm0 {
268         status = "okay";
269 };
270
271 &uart2 {
272         status = "okay";
273 };
274
275 &fb {
276         status = "okay";
277         rockchip,disp-mode = <NO_DUAL>;
278         rockchip,uboot-logo-on = <0>;
279 };
280
281 &lcdc {
282         status = "okay";
283         backlight = <&backlight>;
284         rockchip,mirror = <NO_MIRROR>;
285         rockchip,cabc_mode = <0>;
286         rockchip,fb-win-map = <FB_DEFAULT_ORDER>;
287         power_ctr: power_ctr {
288                 rockchip,debug = <0>;
289                 lcd_en: lcd-en {
290                         rockchip,power_type = <GPIO>;
291                         gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;/*GPIO_C6 = 22*/
292                         rockchip,delay = <10>;
293                 };
294
295                 lcd_cs: lcd-cs {
296                         rockchip,power_type = <GPIO>;
297                         gpios = <&gpio0 21 GPIO_ACTIVE_HIGH>;/*GPIO_C5 = 21*/
298                         rockchip,delay = <10>;
299                 };
300
301                 /*lcd_rst: lcd-rst {
302                         rockchip,power_type = <GPIO>;
303                         gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
304                         rockchip,delay = <5>;
305                 };*/
306         };
307 };
308
309 &lvds {
310         pinctrl-names = "lcdc", "sleep";
311         pinctrl-0 = <&lcdc_lcdc>;
312         pinctrl-1 = <&lcdc_gpio>;
313         status = "disabled";
314 };
315
316 &vopb_mmu {
317         status = "okay";
318 };
319