ARM64: dts: add rk818 node for rk3368.
[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         vcc_sys: vcc-sys {
154                 compatible = "regulator-fixed";
155                 regulator-name = "vcc_sys";
156                 regulator-always-on;
157                 regulator-boot-on;
158                 regulator-min-microvolt = <3800000>;
159                 regulator-max-microvolt = <3800000>;
160         };
161 };
162
163 &emmc {
164         bus-width = <8>;
165         cap-mmc-highspeed;
166         supports-emmc;
167         disable-wp;
168         non-removable;
169         num-slots = <1>;
170         pinctrl-names = "default";
171         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
172         status = "okay";
173 };
174
175 &i2c0 {
176         status = "okay";
177
178         syr827: syr827@40 {
179                 compatible = "silergy,syr827";
180                 status = "disabled";
181                 reg = <0x40>;
182
183                 regulator-compatible = "fan53555-reg";
184                 regulator-name = "vdd_arm";
185                 regulator-min-microvolt = <712500>;
186                 regulator-max-microvolt = <1500000>;
187                 fcs,suspend-voltage-selector = <1>;
188                 regulator-always-on;
189                 regulator-boot-on;
190                 regulator-initial-state = <3>;
191                 regulator-state-mem {
192                         regulator-off-in-suspend;
193                         regulator-suspend-microvolt = <900000>;
194                 };
195         };
196
197         syr828: syr828@41 {
198                 compatible = "silergy,syr828";
199                 status = "disabled";
200                 reg = <0x41>;
201
202                 regulator-compatible = "fan53555-reg";
203                 regulator-name = "vdd_gpu";
204                 regulator-min-microvolt = <712500>;
205                 regulator-max-microvolt = <1500000>;
206                 fcs,suspend-voltage-selector = <1>;
207                 regulator-always-on;
208                 regulator-boot-on;
209                 regulator-initial-state = <3>;
210                 regulator-state-mem {
211                         regulator-on-in-suspend;
212                         regulator-suspend-microvolt = <900000>;
213                 };
214         };
215
216         act8846: act8846@5a {
217                 /*
218                  * Note: u-boot ONLY match old compatible,
219                  * it's better to add both instances here.
220                  */
221                 compatible = "act,act8846", "active-semi,act8846";
222                 status = "disabled";
223                 reg = <0x5a>;
224                 system-power-controller;
225
226                 regulators {
227                         act8846_reg1: REG1 {
228                                 regulator-name = "VCC_DDR";
229                                 regulator-min-microvolt = <1200000>;
230                                 regulator-max-microvolt = <1200000>;
231                                 regulator-always-on;
232                         };
233
234                         act8846_reg2: REG2 {
235                                 regulator-name = "VCC_IO";
236                                 regulator-min-microvolt = <3300000>;
237                                 regulator-max-microvolt = <3300000>;
238                                 regulator-always-on;
239                         };
240
241                         act8846_reg3: REG3 {
242                                 regulator-name = "VDD_LOG";
243                                 regulator-min-microvolt = <700000>;
244                                 regulator-max-microvolt = <1500000>;
245                                 regulator-always-on;
246                         };
247
248                         act8846_reg4: REG4 {
249                                 regulator-name = "VCC_20";
250                                 regulator-min-microvolt = <2000000>;
251                                 regulator-max-microvolt = <2000000>;
252                                 regulator-always-on;
253                         };
254
255                         act8846_reg5: REG5 {
256                                 regulator-name = "VCCIO_SD";
257                                 regulator-min-microvolt = <1800000>;
258                                 regulator-max-microvolt = <3300000>;
259                                 regulator-always-on;
260                         };
261
262                         act8846_reg6: REG6 {
263                                 regulator-name = "VDD10_LCD";
264                                 regulator-min-microvolt = <1000000>;
265                                 regulator-max-microvolt = <1000000>;
266                                 regulator-always-on;
267                         };
268
269                         act8846_reg7: REG7 {
270                                 regulator-name = "VCCA_CODEC";
271                                 regulator-min-microvolt = <3300000>;
272                                 regulator-max-microvolt = <3300000>;
273                                 regulator-always-on;
274                         };
275
276                         act8846_reg8: REG8 {
277                                 regulator-name = "VCCA_TP";
278                                 regulator-min-microvolt = <3300000>;
279                                 regulator-max-microvolt = <3300000>;
280                                 regulator-always-on;
281                         };
282
283                         act8846_reg9: REG9 {
284                                 regulator-name = "VCCIO_PMU";
285                                 regulator-min-microvolt = <3300000>;
286                                 regulator-max-microvolt = <3300000>;
287                                 regulator-always-on;
288                         };
289
290                         act8846_reg10: REG10 {
291                                 regulator-name = "VDD_10";
292                                 regulator-min-microvolt = <1000000>;
293                                 regulator-max-microvolt = <1000000>;
294                                 regulator-always-on;
295                         };
296
297                         act8846_reg11: REG11 {
298                                 regulator-name = "VCC_18";
299                                 regulator-min-microvolt = <1800000>;
300                                 regulator-max-microvolt = <1800000>;
301                                 regulator-always-on;
302                         };
303
304                         act8846_reg12: REG12 {
305                                 regulator-name = "VCC18_LCD";
306                                 regulator-min-microvolt = <1800000>;
307                                 regulator-max-microvolt = <1800000>;
308                                 regulator-always-on;
309                         };
310                 };
311         };
312
313         rk818: pmic@1c {
314                 compatible = "rockchip,rk818";
315                 status = "disabled";
316                 reg = <0x1c>;
317                 clock-output-names = "xin32k", "wifibt_32kin";
318                 interrupt-parent = <&gpio0>;
319                 interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
320                 pinctrl-names = "default";
321                 pinctrl-0 = <&pmic_int_l>;
322                 rockchip,system-power-controller;
323                 wakeup-source;
324                 #clock-cells = <1>;
325
326                 vcc1-supply = <&vcc_sys>;
327                 vcc2-supply = <&vcc_sys>;
328                 vcc3-supply = <&vcc_sys>;
329                 vcc4-supply = <&vcc_sys>;
330                 vcc6-supply = <&vcc_sys>;
331                 vcc7-supply = <&vcc_sys>;
332                 vcc8-supply = <&vcc_sys>;
333                 vcc9-supply = <&vcc33_io>;
334
335                 regulators {
336                         vdd_logic: DCDC_REG1 {
337                                 regulator-name = "vdd_logic";
338                                 regulator-always-on;
339                                 regulator-boot-on;
340                                 regulator-min-microvolt = <750000>;
341                                 regulator-max-microvolt = <1450000>;
342                                 regulator-ramp-delay = <6001>;
343                                 regulator-state-mem {
344                                         regulator-off-in-suspend;
345                                 };
346                         };
347
348                         vdd_gpu: DCDC_REG2 {
349                                 regulator-name = "vdd_gpu";
350                                 regulator-always-on;
351                                 regulator-boot-on;
352                                 regulator-min-microvolt = <800000>;
353                                 regulator-max-microvolt = <1250000>;
354                                 regulator-ramp-delay = <6001>;
355                                 regulator-state-mem {
356                                 regulator-on-in-suspend;
357                                         regulator-suspend-microvolt = <1000000>;
358                                 };
359                         };
360
361                         vcc_ddr: DCDC_REG3 {
362                                 regulator-always-on;
363                                 regulator-boot-on;
364                                 regulator-name = "vcc_ddr";
365                                 regulator-state-mem {
366                                         regulator-on-in-suspend;
367                                 };
368                         };
369
370                         vcc33_io: DCDC_REG4 {
371                                 regulator-always-on;
372                                 regulator-boot-on;
373                                 regulator-min-microvolt = <3300000>;
374                                 regulator-max-microvolt = <3300000>;
375                                 regulator-name = "vcc33_io";
376                                 regulator-state-mem {
377                                 regulator-on-in-suspend;
378                                         regulator-suspend-microvolt = <3300000>;
379                                 };
380                         };
381
382                         vccio_pmu: LDO_REG1 {
383                                 regulator-always-on;
384                                 regulator-boot-on;
385                                 regulator-min-microvolt = <3300000>;
386                                 regulator-max-microvolt = <3300000>;
387                                 regulator-name = "vccio_pmu";
388                                 regulator-state-mem {
389                                         regulator-on-in-suspend;
390                                         regulator-suspend-microvolt = <3300000>;
391                                 };
392                         };
393
394                         vcc_tp: LDO_REG2 {
395                                 regulator-always-on;
396                                 regulator-boot-on;
397                                 regulator-min-microvolt = <3300000>;
398                                 regulator-max-microvolt = <3300000>;
399                                 regulator-name = "vcc_tp";
400                                         regulator-state-mem {
401                                         regulator-off-in-suspend;
402                                 };
403                         };
404
405                         vdd_10: LDO_REG3 {
406                                 regulator-always-on;
407                                 regulator-boot-on;
408                                 regulator-min-microvolt = <1000000>;
409                                 regulator-max-microvolt = <1000000>;
410                                 regulator-name = "vdd_10";
411                                 regulator-state-mem {
412                                         regulator-on-in-suspend;
413                                         regulator-suspend-microvolt = <1000000>;
414                                 };
415                         };
416
417                         vcc18_lcd: LDO_REG4 {
418                                 regulator-always-on;
419                                 regulator-boot-on;
420                                 regulator-min-microvolt = <1800000>;
421                                 regulator-max-microvolt = <1800000>;
422                                 regulator-name = "vcc18_lcd";
423                                 regulator-state-mem {
424                                         regulator-on-in-suspend;
425                                         regulator-suspend-microvolt = <1800000>;
426                                 };
427                         };
428
429                         vccio_sd: LDO_REG5 {
430                                 regulator-always-on;
431                                 regulator-boot-on;
432                                 regulator-min-microvolt = <1800000>;
433                                 regulator-max-microvolt = <3300000>;
434                                 regulator-name = "vccio_sd";
435                                 regulator-state-mem {
436                                         regulator-on-in-suspend;
437                                         regulator-suspend-microvolt = <3300000>;
438                                 };
439                         };
440
441                         vdd10_lcd: LDO_REG6 {
442                                 regulator-always-on;
443                                 regulator-boot-on;
444                                 regulator-min-microvolt = <1000000>;
445                                 regulator-max-microvolt = <1000000>;
446                                 regulator-name = "vdd10_lcd";
447                                 regulator-state-mem {
448                                         regulator-on-in-suspend;
449                                         regulator-suspend-microvolt = <1000000>;
450                                 };
451                         };
452
453                         vcc_18: LDO_REG7 {
454                                 regulator-always-on;
455                                 regulator-boot-on;
456                                 regulator-min-microvolt = <1800000>;
457                                 regulator-max-microvolt = <1800000>;
458                                 regulator-name = "vcc_18";
459                                 regulator-state-mem {
460                                         regulator-on-in-suspend;
461                                         regulator-suspend-microvolt = <1800000>;
462                                 };
463                         };
464
465                         vcca_codec: LDO_REG8 {
466                                 regulator-always-on;
467                                 regulator-boot-on;
468                                 regulator-min-microvolt = <3300000>;
469                                 regulator-max-microvolt = <3300000>;
470                                 regulator-name = "vcca_codec";
471                                 regulator-state-mem {
472                                         regulator-on-in-suspend;
473                                         regulator-suspend-microvolt = <3300000>;
474                                 };
475                         };
476
477                         vcc_wl: LDO_REG9 {
478                                 regulator-always-on;
479                                 regulator-boot-on;
480                                 regulator-min-microvolt = <3300000>;
481                                 regulator-max-microvolt = <3300000>;
482                                 regulator-name = "vcc_wl";
483                                 regulator-state-mem {
484                                         regulator-on-in-suspend;
485                                         regulator-suspend-microvolt = <3300000>;
486                                 };
487                         };
488
489                         vcc_lcd: SWITCH_REG {
490                                 regulator-always-on;
491                                 regulator-boot-on;
492                                 regulator-name = "vcc_lcd";
493                                 regulator-state-mem {
494                                         regulator-on-in-suspend;
495                                 };
496                         };
497                 };
498         };
499
500 };
501
502 &i2c2 {
503         status = "okay";
504
505         gt911: gt911@14 {
506                 compatible = "goodix,gt911";
507                 reg = <0x14>;
508                 interrupt-parent = <&gpio0>;
509                 interrupts = <12 0>;
510                 status = "disabled";
511         };
512
513         gt9xx: gt9xx@14 {
514                 compatible = "goodix,gt9xx";
515                 reg = <0x14>;
516                 touch-gpio = <&gpio0 12 IRQ_TYPE_LEVEL_LOW>;
517                 reset-gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
518                 max-x = <1200>;
519                 max-y = <1900>;
520                 tp-size = <911>;
521                 status = "disabled";
522         };
523 };
524
525 &pwm0 {
526         status = "okay";
527 };
528
529 &uart2 {
530         status = "okay";
531 };
532
533 &fb {
534         status = "okay";
535         rockchip,disp-mode = <NO_DUAL>;
536         rockchip,uboot-logo-on = <0>;
537 };
538
539 &lcdc {
540         status = "okay";
541         backlight = <&backlight>;
542         rockchip,mirror = <NO_MIRROR>;
543         rockchip,cabc_mode = <0>;
544         rockchip,fb-win-map = <FB_DEFAULT_ORDER>;
545         power_ctr: power_ctr {
546                 rockchip,debug = <0>;
547                 lcd_en: lcd-en {
548                         rockchip,power_type = <GPIO>;
549                         gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;/*GPIO_C6 = 22*/
550                         rockchip,delay = <10>;
551                 };
552
553                 lcd_cs: lcd-cs {
554                         rockchip,power_type = <GPIO>;
555                         gpios = <&gpio0 21 GPIO_ACTIVE_HIGH>;/*GPIO_C5 = 21*/
556                         rockchip,delay = <10>;
557                 };
558
559                 /*lcd_rst: lcd-rst {
560                         rockchip,power_type = <GPIO>;
561                         gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
562                         rockchip,delay = <5>;
563                 };*/
564         };
565 };
566
567 &lvds {
568         pinctrl-names = "lcdc", "sleep";
569         pinctrl-0 = <&lcdc_lcdc>;
570         pinctrl-1 = <&lcdc_gpio>;
571         status = "disabled";
572 };
573
574 &saradc {
575         status = "okay";
576 };
577
578 &vopb_mmu {
579         status = "okay";
580 };
581
582 &pinctrl {
583         pmic {
584                 pmic_int_l: pmic-int-l {
585                         rockchip,pins = <RK_GPIO0 1 RK_FUNC_GPIO &pcfg_pull_up>;
586                 };
587         };
588 };