0e62bca41bd88580bb02ef3b0ce958c293abcc50
[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         rk_key: rockchip-key {
104                 compatible = "rockchip,key";
105                 status = "disabled";
106
107                 io-channels = <&saradc 1>;
108
109                 vol-up-key {
110                         linux,code = <115>;
111                         label = "volume up";
112                         rockchip,adc_value = <1>;
113                 };
114
115                 vol-down-key {
116                         linux,code = <114>;
117                         label = "volume down";
118                         rockchip,adc_value = <170>;
119                 };
120
121                 power-key {
122                         gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
123                         linux,code = <116>;
124                         label = "power";
125                         gpio-key,wakeup;
126                 };
127
128                 menu-key {
129                         linux,code = <59>;
130                         label = "menu";
131                         rockchip,adc_value = <355>;
132                 };
133
134                 home-key {
135                         linux,code = <102>;
136                         label = "home";
137                         rockchip,adc_value = <746>;
138                 };
139
140                 back-key {
141                         linux,code = <158>;
142                         label = "back";
143                         rockchip,adc_value = <560>;
144                 };
145
146                 camera-key {
147                         linux,code = <212>;
148                         label = "camera";
149                         rockchip,adc_value = <450>;
150                 };
151         };
152 };
153
154 &emmc {
155         bus-width = <8>;
156         cap-mmc-highspeed;
157         supports-emmc;
158         disable-wp;
159         non-removable;
160         num-slots = <1>;
161         pinctrl-names = "default";
162         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
163         status = "okay";
164 };
165
166 &i2c0 {
167         status = "okay";
168
169         syr827: syr827@40 {
170                 compatible = "silergy,syr827";
171                 status = "disabled";
172                 reg = <0x40>;
173
174                 regulator-compatible = "fan53555-reg";
175                 regulator-name = "vdd_arm";
176                 regulator-min-microvolt = <712500>;
177                 regulator-max-microvolt = <1500000>;
178                 fcs,suspend-voltage-selector = <1>;
179                 regulator-always-on;
180                 regulator-boot-on;
181                 regulator-initial-state = <3>;
182                 regulator-state-mem {
183                         regulator-off-in-suspend;
184                         regulator-suspend-microvolt = <900000>;
185                 };
186         };
187
188         syr828: syr828@41 {
189                 compatible = "silergy,syr828";
190                 status = "disabled";
191                 reg = <0x41>;
192
193                 regulator-compatible = "fan53555-reg";
194                 regulator-name = "vdd_gpu";
195                 regulator-min-microvolt = <712500>;
196                 regulator-max-microvolt = <1500000>;
197                 fcs,suspend-voltage-selector = <1>;
198                 regulator-always-on;
199                 regulator-boot-on;
200                 regulator-initial-state = <3>;
201                 regulator-state-mem {
202                         regulator-on-in-suspend;
203                         regulator-suspend-microvolt = <900000>;
204                 };
205         };
206
207         act8846: act8846@5a {
208                 /*
209                  * Note: u-boot ONLY match old compatible,
210                  * it's better to add both instances here.
211                  */
212                 compatible = "act,act8846", "active-semi,act8846";
213                 status = "disabled";
214                 reg = <0x5a>;
215                 system-power-controller;
216
217                 regulators {
218                         act8846_reg1: REG1 {
219                                 regulator-name = "VCC_DDR";
220                                 regulator-min-microvolt = <1200000>;
221                                 regulator-max-microvolt = <1200000>;
222                                 regulator-always-on;
223                         };
224
225                         act8846_reg2: REG2 {
226                                 regulator-name = "VCC_IO";
227                                 regulator-min-microvolt = <3300000>;
228                                 regulator-max-microvolt = <3300000>;
229                                 regulator-always-on;
230                         };
231
232                         act8846_reg3: REG3 {
233                                 regulator-name = "VDD_LOG";
234                                 regulator-min-microvolt = <700000>;
235                                 regulator-max-microvolt = <1500000>;
236                                 regulator-always-on;
237                         };
238
239                         act8846_reg4: REG4 {
240                                 regulator-name = "VCC_20";
241                                 regulator-min-microvolt = <2000000>;
242                                 regulator-max-microvolt = <2000000>;
243                                 regulator-always-on;
244                         };
245
246                         act8846_reg5: REG5 {
247                                 regulator-name = "VCCIO_SD";
248                                 regulator-min-microvolt = <1800000>;
249                                 regulator-max-microvolt = <3300000>;
250                                 regulator-always-on;
251                         };
252
253                         act8846_reg6: REG6 {
254                                 regulator-name = "VDD10_LCD";
255                                 regulator-min-microvolt = <1000000>;
256                                 regulator-max-microvolt = <1000000>;
257                                 regulator-always-on;
258                         };
259
260                         act8846_reg7: REG7 {
261                                 regulator-name = "VCCA_CODEC";
262                                 regulator-min-microvolt = <3300000>;
263                                 regulator-max-microvolt = <3300000>;
264                                 regulator-always-on;
265                         };
266
267                         act8846_reg8: REG8 {
268                                 regulator-name = "VCCA_TP";
269                                 regulator-min-microvolt = <3300000>;
270                                 regulator-max-microvolt = <3300000>;
271                                 regulator-always-on;
272                         };
273
274                         act8846_reg9: REG9 {
275                                 regulator-name = "VCCIO_PMU";
276                                 regulator-min-microvolt = <3300000>;
277                                 regulator-max-microvolt = <3300000>;
278                                 regulator-always-on;
279                         };
280
281                         act8846_reg10: REG10 {
282                                 regulator-name = "VDD_10";
283                                 regulator-min-microvolt = <1000000>;
284                                 regulator-max-microvolt = <1000000>;
285                                 regulator-always-on;
286                         };
287
288                         act8846_reg11: REG11 {
289                                 regulator-name = "VCC_18";
290                                 regulator-min-microvolt = <1800000>;
291                                 regulator-max-microvolt = <1800000>;
292                                 regulator-always-on;
293                         };
294
295                         act8846_reg12: REG12 {
296                                 regulator-name = "VCC18_LCD";
297                                 regulator-min-microvolt = <1800000>;
298                                 regulator-max-microvolt = <1800000>;
299                                 regulator-always-on;
300                         };
301                 };
302         };
303 };
304
305 &i2c2 {
306         status = "okay";
307
308         gt911: gt911@14 {
309                 compatible = "goodix,gt911";
310                 reg = <0x14>;
311                 interrupt-parent = <&gpio0>;
312                 interrupts = <12 0>;
313                 status = "disabled";
314         };
315
316         gt9xx: gt9xx@14 {
317                 compatible = "goodix,gt9xx";
318                 reg = <0x14>;
319                 touch-gpio = <&gpio0 12 IRQ_TYPE_LEVEL_LOW>;
320                 reset-gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
321                 max-x = <1200>;
322                 max-y = <1900>;
323                 tp-size = <911>;
324                 status = "disabled";
325         };
326 };
327
328 &pwm0 {
329         status = "okay";
330 };
331
332 &uart2 {
333         status = "okay";
334 };
335
336 &fb {
337         status = "okay";
338         rockchip,disp-mode = <NO_DUAL>;
339         rockchip,uboot-logo-on = <0>;
340 };
341
342 &lcdc {
343         status = "okay";
344         backlight = <&backlight>;
345         rockchip,mirror = <NO_MIRROR>;
346         rockchip,cabc_mode = <0>;
347         rockchip,fb-win-map = <FB_DEFAULT_ORDER>;
348         power_ctr: power_ctr {
349                 rockchip,debug = <0>;
350                 lcd_en: lcd-en {
351                         rockchip,power_type = <GPIO>;
352                         gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;/*GPIO_C6 = 22*/
353                         rockchip,delay = <10>;
354                 };
355
356                 lcd_cs: lcd-cs {
357                         rockchip,power_type = <GPIO>;
358                         gpios = <&gpio0 21 GPIO_ACTIVE_HIGH>;/*GPIO_C5 = 21*/
359                         rockchip,delay = <10>;
360                 };
361
362                 /*lcd_rst: lcd-rst {
363                         rockchip,power_type = <GPIO>;
364                         gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
365                         rockchip,delay = <5>;
366                 };*/
367         };
368 };
369
370 &lvds {
371         pinctrl-names = "lcdc", "sleep";
372         pinctrl-0 = <&lcdc_lcdc>;
373         pinctrl-1 = <&lcdc_gpio>;
374         status = "disabled";
375 };
376
377 &saradc {
378         status = "okay";
379 };
380
381 &vopb_mmu {
382         status = "okay";
383 };
384