Merge tag 'mvebu-dt-3.20-3' of git://git.infradead.org/linux-mvebu into next/dt
[pandora-kernel.git] / arch / arm / boot / dts / exynos5420-peach-pit.dts
1 /*
2  * Google Peach Pit Rev 6+ board device tree source
3  *
4  * Copyright (c) 2014 Google, Inc
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  */
10
11 /dts-v1/;
12 #include <dt-bindings/input/input.h>
13 #include <dt-bindings/gpio/gpio.h>
14 #include <dt-bindings/interrupt-controller/irq.h>
15 #include <dt-bindings/clock/maxim,max77802.h>
16 #include <dt-bindings/regulator/maxim,max77802.h>
17 #include "exynos5420.dtsi"
18
19 / {
20         model = "Google Peach Pit Rev 6+";
21
22         compatible = "google,pit-rev16",
23                 "google,pit-rev15", "google,pit-rev14",
24                 "google,pit-rev13", "google,pit-rev12",
25                 "google,pit-rev11", "google,pit-rev10",
26                 "google,pit-rev9", "google,pit-rev8",
27                 "google,pit-rev7", "google,pit-rev6",
28                 "google,pit", "google,peach","samsung,exynos5420",
29                 "samsung,exynos5";
30
31         aliases {
32                 /* Assign 20 so we don't get confused w/ builtin ones */
33                 i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel";
34         };
35
36         backlight: backlight {
37                 compatible = "pwm-backlight";
38                 pwms = <&pwm 0 1000000 0>;
39                 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
40                 default-brightness-level = <7>;
41                 power-supply = <&tps65090_fet1>;
42                 pinctrl-0 = <&pwm0_out>;
43                 pinctrl-names = "default";
44         };
45
46         fixed-rate-clocks {
47                 oscclk {
48                         compatible = "samsung,exynos5420-oscclk";
49                         clock-frequency = <24000000>;
50                 };
51         };
52
53         gpio-keys {
54                 compatible = "gpio-keys";
55
56                 pinctrl-names = "default";
57                 pinctrl-0 = <&power_key_irq &lid_irq>;
58
59                 power {
60                         label = "Power";
61                         gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
62                         linux,code = <KEY_POWER>;
63                         gpio-key,wakeup;
64                 };
65
66                 lid-switch {
67                         label = "Lid";
68                         gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
69                         linux,input-type = <5>; /* EV_SW */
70                         linux,code = <0>; /* SW_LID */
71                         debounce-interval = <1>;
72                         gpio-key,wakeup;
73                 };
74         };
75
76         memory {
77                 reg = <0x20000000 0x80000000>;
78         };
79
80         sound {
81                 compatible = "google,snow-audio-max98090";
82
83                 samsung,model = "Peach-Pit-I2S-MAX98090";
84                 samsung,i2s-controller = <&i2s0>;
85                 samsung,audio-codec = <&max98090>;
86         };
87
88         usb300_vbus_reg: regulator-usb300 {
89                 compatible = "regulator-fixed";
90                 regulator-name = "P5.0V_USB3CON0";
91                 regulator-min-microvolt = <5000000>;
92                 regulator-max-microvolt = <5000000>;
93                 gpio = <&gph0 0 0>;
94                 pinctrl-names = "default";
95                 pinctrl-0 = <&usb300_vbus_en>;
96                 enable-active-high;
97         };
98
99         usb301_vbus_reg: regulator-usb301 {
100                 compatible = "regulator-fixed";
101                 regulator-name = "P5.0V_USB3CON1";
102                 regulator-min-microvolt = <5000000>;
103                 regulator-max-microvolt = <5000000>;
104                 gpio = <&gph0 1 0>;
105                 pinctrl-names = "default";
106                 pinctrl-0 = <&usb301_vbus_en>;
107                 enable-active-high;
108         };
109
110         vbat: fixed-regulator {
111                 compatible = "regulator-fixed";
112                 regulator-name = "vbat-supply";
113                 regulator-boot-on;
114                 regulator-always-on;
115         };
116
117         panel: panel {
118                 compatible = "auo,b116xw03";
119                 power-supply = <&tps65090_fet6>;
120                 backlight = <&backlight>;
121         };
122 };
123
124 &adc {
125         status = "okay";
126         vdd-supply = <&ldo9_reg>;
127 };
128
129 &dp {
130         status = "okay";
131         pinctrl-names = "default";
132         pinctrl-0 = <&dp_hpd_gpio>;
133         samsung,color-space = <0>;
134         samsung,dynamic-range = <0>;
135         samsung,ycbcr-coeff = <0>;
136         samsung,color-depth = <1>;
137         samsung,link-rate = <0x06>;
138         samsung,lane-count = <2>;
139         samsung,hpd-gpio = <&gpx2 6 0>;
140         bridge = <&ps8625>;
141 };
142
143 &fimd {
144         status = "okay";
145         samsung,invert-vclk;
146 };
147
148 &hdmi {
149         status = "okay";
150         hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
151         pinctrl-names = "default";
152         pinctrl-0 = <&hdmi_hpd_irq>;
153         ddc = <&i2c_2>;
154
155         hdmi-en-supply = <&tps65090_fet7>;
156         vdd-supply = <&ldo8_reg>;
157         vdd_osc-supply = <&ldo10_reg>;
158         vdd_pll-supply = <&ldo8_reg>;
159 };
160
161 &hsi2c_4 {
162         status = "okay";
163         clock-frequency = <400000>;
164
165         max77802: max77802-pmic@9 {
166                 compatible = "maxim,max77802";
167                 interrupt-parent = <&gpx3>;
168                 interrupts = <1 IRQ_TYPE_NONE>;
169                 pinctrl-names = "default";
170                 pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
171                             <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>;
172                 wakeup-source;
173                 reg = <0x9>;
174                 #clock-cells = <1>;
175
176                 inb1-supply = <&tps65090_dcdc2>;
177                 inb2-supply = <&tps65090_dcdc1>;
178                 inb3-supply = <&tps65090_dcdc2>;
179                 inb4-supply = <&tps65090_dcdc2>;
180                 inb5-supply = <&tps65090_dcdc1>;
181                 inb6-supply = <&tps65090_dcdc2>;
182                 inb7-supply = <&tps65090_dcdc1>;
183                 inb8-supply = <&tps65090_dcdc1>;
184                 inb9-supply = <&tps65090_dcdc1>;
185                 inb10-supply = <&tps65090_dcdc1>;
186
187                 inl1-supply = <&buck5_reg>;
188                 inl2-supply = <&buck7_reg>;
189                 inl3-supply = <&buck9_reg>;
190                 inl4-supply = <&buck9_reg>;
191                 inl5-supply = <&buck9_reg>;
192                 inl6-supply = <&tps65090_dcdc2>;
193                 inl7-supply = <&buck9_reg>;
194                 inl9-supply = <&tps65090_dcdc2>;
195                 inl10-supply = <&buck7_reg>;
196
197                 regulators {
198                         buck1_reg: BUCK1 {
199                                 regulator-name = "vdd_mif";
200                                 regulator-min-microvolt = <800000>;
201                                 regulator-max-microvolt = <1300000>;
202                                 regulator-always-on;
203                                 regulator-boot-on;
204                                 regulator-ramp-delay = <12500>;
205                                 regulator-state-mem {
206                                         regulator-off-in-suspend;
207                                 };
208                         };
209
210                         buck2_reg: BUCK2 {
211                                 regulator-name = "vdd_arm";
212                                 regulator-min-microvolt = <800000>;
213                                 regulator-max-microvolt = <1500000>;
214                                 regulator-always-on;
215                                 regulator-boot-on;
216                                 regulator-ramp-delay = <12500>;
217                                 regulator-state-mem {
218                                         regulator-off-in-suspend;
219                                 };
220                         };
221
222                         buck3_reg: BUCK3 {
223                                 regulator-name = "vdd_int";
224                                 regulator-min-microvolt = <800000>;
225                                 regulator-max-microvolt = <1400000>;
226                                 regulator-always-on;
227                                 regulator-boot-on;
228                                 regulator-ramp-delay = <12500>;
229                                 regulator-state-mem {
230                                         regulator-off-in-suspend;
231                                 };
232                         };
233
234                         buck4_reg: BUCK4 {
235                                 regulator-name = "vdd_g3d";
236                                 regulator-min-microvolt = <700000>;
237                                 regulator-max-microvolt = <1400000>;
238                                 regulator-always-on;
239                                 regulator-boot-on;
240                                 regulator-ramp-delay = <12500>;
241                                 regulator-state-mem {
242                                         regulator-off-in-suspend;
243                                 };
244                         };
245
246                         buck5_reg: BUCK5 {
247                                 regulator-name = "vdd_1v2";
248                                 regulator-min-microvolt = <1200000>;
249                                 regulator-max-microvolt = <1200000>;
250                                 regulator-always-on;
251                                 regulator-boot-on;
252                                 regulator-state-mem {
253                                         regulator-off-in-suspend;
254                                 };
255                         };
256
257                         buck6_reg: BUCK6 {
258                                 regulator-name = "vdd_kfc";
259                                 regulator-min-microvolt = <800000>;
260                                 regulator-max-microvolt = <1500000>;
261                                 regulator-always-on;
262                                 regulator-boot-on;
263                                 regulator-ramp-delay = <12500>;
264                                 regulator-state-mem {
265                                         regulator-off-in-suspend;
266                                 };
267                         };
268
269                         buck7_reg: BUCK7 {
270                                 regulator-name = "vdd_1v35";
271                                 regulator-min-microvolt = <1350000>;
272                                 regulator-max-microvolt = <1350000>;
273                                 regulator-always-on;
274                                 regulator-boot-on;
275                                 regulator-state-mem {
276                                         regulator-on-in-suspend;
277                                 };
278                         };
279
280                         buck8_reg: BUCK8 {
281                                 regulator-name = "vdd_emmc";
282                                 regulator-min-microvolt = <2850000>;
283                                 regulator-max-microvolt = <2850000>;
284                                 regulator-always-on;
285                                 regulator-boot-on;
286                                 regulator-state-mem {
287                                         regulator-off-in-suspend;
288                                 };
289                         };
290
291                         buck9_reg: BUCK9 {
292                                 regulator-name = "vdd_2v";
293                                 regulator-min-microvolt = <2000000>;
294                                 regulator-max-microvolt = <2000000>;
295                                 regulator-always-on;
296                                 regulator-boot-on;
297                                 regulator-state-mem {
298                                         regulator-on-in-suspend;
299                                 };
300                         };
301
302                         buck10_reg: BUCK10 {
303                                 regulator-name = "vdd_1v8";
304                                 regulator-min-microvolt = <1800000>;
305                                 regulator-max-microvolt = <1800000>;
306                                 regulator-always-on;
307                                 regulator-boot-on;
308                                 regulator-state-mem {
309                                         regulator-on-in-suspend;
310                                 };
311                         };
312
313                         ldo1_reg: LDO1 {
314                                 regulator-name = "vdd_1v0";
315                                 regulator-min-microvolt = <1000000>;
316                                 regulator-max-microvolt = <1000000>;
317                                 regulator-always-on;
318                                 regulator-state-mem {
319                                         regulator-on-in-suspend;
320                                         regulator-mode = <MAX77802_OPMODE_LP>;
321                                 };
322                         };
323
324                         ldo2_reg: LDO2 {
325                                 regulator-name = "vdd_1v2_2";
326                                 regulator-min-microvolt = <1200000>;
327                                 regulator-max-microvolt = <1200000>;
328                         };
329
330                         ldo3_reg: LDO3 {
331                                 regulator-name = "vdd_1v8_3";
332                                 regulator-min-microvolt = <1800000>;
333                                 regulator-max-microvolt = <1800000>;
334                                 regulator-always-on;
335                                 regulator-state-mem {
336                                         regulator-on-in-suspend;
337                                         regulator-mode = <MAX77802_OPMODE_LP>;
338                                 };
339                         };
340
341                         vqmmc_sdcard: ldo4_reg: LDO4 {
342                                 regulator-name = "vdd_sd";
343                                 regulator-min-microvolt = <1800000>;
344                                 regulator-max-microvolt = <2800000>;
345                                 regulator-always-on;
346                                 regulator-state-mem {
347                                         regulator-off-in-suspend;
348                                 };
349                         };
350
351                         ldo5_reg: LDO5 {
352                                 regulator-name = "vdd_1v8_5";
353                                 regulator-min-microvolt = <1800000>;
354                                 regulator-max-microvolt = <1800000>;
355                                 regulator-always-on;
356                                 regulator-state-mem {
357                                         regulator-off-in-suspend;
358                                 };
359                         };
360
361                         ldo6_reg: LDO6 {
362                                 regulator-name = "vdd_1v8_6";
363                                 regulator-min-microvolt = <1800000>;
364                                 regulator-max-microvolt = <1800000>;
365                                 regulator-always-on;
366                                 regulator-state-mem {
367                                         regulator-off-in-suspend;
368                                 };
369                         };
370
371                         ldo7_reg: LDO7 {
372                                 regulator-name = "vdd_1v8_7";
373                                 regulator-min-microvolt = <1800000>;
374                                 regulator-max-microvolt = <1800000>;
375                         };
376
377                         ldo8_reg: LDO8 {
378                                 regulator-name = "vdd_ldo8";
379                                 regulator-min-microvolt = <1000000>;
380                                 regulator-max-microvolt = <1000000>;
381                                 regulator-always-on;
382                                 regulator-state-mem {
383                                         regulator-off-in-suspend;
384                                 };
385                         };
386
387                         ldo9_reg: LDO9 {
388                                 regulator-name = "vdd_ldo9";
389                                 regulator-min-microvolt = <1800000>;
390                                 regulator-max-microvolt = <1800000>;
391                                 regulator-always-on;
392                                 regulator-state-mem {
393                                         regulator-on-in-suspend;
394                                         regulator-mode = <MAX77802_OPMODE_LP>;
395                                 };
396                         };
397
398                         ldo10_reg: LDO10 {
399                                 regulator-name = "vdd_ldo10";
400                                 regulator-min-microvolt = <1800000>;
401                                 regulator-max-microvolt = <1800000>;
402                                 regulator-always-on;
403                                 regulator-state-mem {
404                                         regulator-off-in-suspend;
405                                 };
406                         };
407
408                         ldo11_reg: LDO11 {
409                                 regulator-name = "vdd_ldo11";
410                                 regulator-min-microvolt = <1800000>;
411                                 regulator-max-microvolt = <1800000>;
412                                 regulator-always-on;
413                                 regulator-state-mem {
414                                         regulator-on-in-suspend;
415                                         regulator-mode = <MAX77802_OPMODE_LP>;
416                                 };
417                         };
418
419                         ldo12_reg: LDO12 {
420                                 regulator-name = "vdd_ldo12";
421                                 regulator-min-microvolt = <3000000>;
422                                 regulator-max-microvolt = <3000000>;
423                                 regulator-always-on;
424                                 regulator-state-mem {
425                                         regulator-off-in-suspend;
426                                 };
427                         };
428
429                         ldo13_reg: LDO13 {
430                                 regulator-name = "vdd_ldo13";
431                                 regulator-min-microvolt = <1800000>;
432                                 regulator-max-microvolt = <1800000>;
433                                 regulator-always-on;
434                                 regulator-state-mem {
435                                         regulator-on-in-suspend;
436                                         regulator-mode = <MAX77802_OPMODE_LP>;
437                                 };
438                         };
439
440                         ldo14_reg: LDO14 {
441                                 regulator-name = "vdd_ldo14";
442                                 regulator-min-microvolt = <1800000>;
443                                 regulator-max-microvolt = <1800000>;
444                                 regulator-always-on;
445                                 regulator-state-mem {
446                                         regulator-off-in-suspend;
447                                 };
448                         };
449
450                         ldo15_reg: LDO15 {
451                                 regulator-name = "vdd_ldo15";
452                                 regulator-min-microvolt = <1000000>;
453                                 regulator-max-microvolt = <1000000>;
454                                 regulator-always-on;
455                                 regulator-state-mem {
456                                         regulator-off-in-suspend;
457                                 };
458                         };
459
460                         ldo17_reg: LDO17 {
461                                 regulator-name = "vdd_g3ds";
462                                 regulator-min-microvolt = <900000>;
463                                 regulator-max-microvolt = <1400000>;
464                                 regulator-always-on;
465                                 regulator-state-mem {
466                                         regulator-off-in-suspend;
467                                 };
468                         };
469
470                         ldo18_reg: LDO18 {
471                                 regulator-name = "ldo_18";
472                                 regulator-min-microvolt = <1800000>;
473                                 regulator-max-microvolt = <1800000>;
474                         };
475
476                         ldo19_reg: LDO19 {
477                                 regulator-name = "ldo_19";
478                                 regulator-min-microvolt = <1800000>;
479                                 regulator-max-microvolt = <1800000>;
480                         };
481
482                         ldo20_reg: LDO20 {
483                                 regulator-name = "ldo_20";
484                                 regulator-min-microvolt = <1800000>;
485                                 regulator-max-microvolt = <1800000>;
486                                 regulator-always-on;
487                         };
488
489                         ldo21_reg: LDO21 {
490                                 regulator-name = "ldo_21";
491                                 regulator-min-microvolt = <2800000>;
492                                 regulator-max-microvolt = <2800000>;
493                         };
494
495                         ldo23_reg: LDO23 {
496                                 regulator-name = "ldo_23";
497                                 regulator-min-microvolt = <3300000>;
498                                 regulator-max-microvolt = <3300000>;
499                         };
500                         ldo24_reg: LDO24 {
501                                 regulator-name = "ldo_24";
502                                 regulator-min-microvolt = <2800000>;
503                                 regulator-max-microvolt = <2800000>;
504                         };
505
506                         ldo25_reg: LDO25 {
507                                 regulator-name = "ldo_25";
508                                 regulator-min-microvolt = <3300000>;
509                                 regulator-max-microvolt = <3300000>;
510                         };
511
512                         ldo26_reg: LDO26 {
513                                 regulator-name = "ldo_26";
514                                 regulator-min-microvolt = <1200000>;
515                                 regulator-max-microvolt = <1200000>;
516                         };
517
518                         ldo27_reg: LDO27 {
519                                 regulator-name = "ldo_27";
520                                 regulator-min-microvolt = <1200000>;
521                                 regulator-max-microvolt = <1200000>;
522                         };
523
524                         ldo28_reg: LDO28 {
525                                 regulator-name = "ldo_28";
526                                 regulator-min-microvolt = <1800000>;
527                                 regulator-max-microvolt = <1800000>;
528                         };
529
530                         ldo29_reg: LDO29 {
531                                 regulator-name = "ldo_29";
532                                 regulator-min-microvolt = <1800000>;
533                                 regulator-max-microvolt = <1800000>;
534                         };
535
536                         ldo30_reg: LDO30 {
537                                 regulator-name = "vdd_mifs";
538                                 regulator-min-microvolt = <1000000>;
539                                 regulator-max-microvolt = <1000000>;
540                                 regulator-always-on;
541                                 regulator-state-mem {
542                                         regulator-off-in-suspend;
543                                 };
544                         };
545
546                         ldo32_reg: LDO32 {
547                                 regulator-name = "ldo_32";
548                                 regulator-min-microvolt = <3000000>;
549                                 regulator-max-microvolt = <3000000>;
550                         };
551
552                         ldo33_reg: LDO33 {
553                                 regulator-name = "ldo_33";
554                                 regulator-min-microvolt = <2800000>;
555                                 regulator-max-microvolt = <2800000>;
556                         };
557
558                         ldo34_reg: LDO34 {
559                                 regulator-name = "ldo_34";
560                                 regulator-min-microvolt = <3000000>;
561                                 regulator-max-microvolt = <3000000>;
562                         };
563
564                         ldo35_reg: LDO35 {
565                                 regulator-name = "ldo_35";
566                                 regulator-min-microvolt = <1200000>;
567                                 regulator-max-microvolt = <1200000>;
568                         };
569                 };
570         };
571 };
572
573 &hsi2c_7 {
574         status = "okay";
575         clock-frequency = <400000>;
576
577         max98090: codec@10 {
578                 compatible = "maxim,max98090";
579                 reg = <0x10>;
580                 interrupts = <2 0>;
581                 interrupt-parent = <&gpx0>;
582                 pinctrl-names = "default";
583                 pinctrl-0 = <&max98090_irq>;
584         };
585
586         light-sensor@44 {
587                 compatible = "isil,isl29018";
588                 reg = <0x44>;
589                 vcc-supply = <&tps65090_fet5>;
590         };
591
592         ps8625: lvds-bridge@48 {
593                 compatible = "parade,ps8625";
594                 reg = <0x48>;
595                 sleep-gpios = <&gpx3 5 GPIO_ACTIVE_HIGH>;
596                 reset-gpios = <&gpy7 7 GPIO_ACTIVE_HIGH>;
597                 lane-count = <2>;
598                 panel = <&panel>;
599                 use-external-pwm;
600         };
601 };
602
603 &hsi2c_8 {
604         status = "okay";
605         clock-frequency = <333000>;
606
607         /* Atmel mXT336S */
608         trackpad@4b {
609                 compatible = "atmel,maxtouch";
610                 reg = <0x4b>;
611                 interrupt-parent = <&gpx1>;
612                 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
613                 wakeup-source;
614                 pinctrl-names = "default";
615                 pinctrl-0 = <&trackpad_irq>;
616                 linux,gpio-keymap = <KEY_RESERVED
617                                      KEY_RESERVED
618                                      KEY_RESERVED       /* GPIO0 */
619                                      KEY_RESERVED       /* GPIO1 */
620                                      KEY_RESERVED       /* GPIO2 */
621                                      BTN_LEFT>;         /* GPIO3 */
622         };
623 };
624
625 &hsi2c_9 {
626         status = "okay";
627         clock-frequency = <400000>;
628
629         tpm@20 {
630                 compatible = "infineon,slb9645tt";
631                 reg = <0x20>;
632
633                 /* Unused irq; but still need to configure the pins */
634                 pinctrl-names = "default";
635                 pinctrl-0 = <&tpm_irq>;
636         };
637 };
638
639 &i2c_2 {
640         status = "okay";
641         samsung,i2c-sda-delay = <100>;
642         samsung,i2c-max-bus-freq = <66000>;
643         samsung,i2c-slave-addr = <0x50>;
644 };
645
646 &i2s0 {
647         status = "okay";
648 };
649
650 &mmc_0 {
651         status = "okay";
652         num-slots = <1>;
653         broken-cd;
654         mmc-hs200-1_8v;
655         cap-mmc-highspeed;
656         non-removable;
657         card-detect-delay = <200>;
658         clock-frequency = <400000000>;
659         samsung,dw-mshc-ciu-div = <3>;
660         samsung,dw-mshc-sdr-timing = <0 4>;
661         samsung,dw-mshc-ddr-timing = <0 2>;
662         pinctrl-names = "default";
663         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
664         bus-width = <8>;
665 };
666
667 &mmc_2 {
668         status = "okay";
669         num-slots = <1>;
670         cap-sd-highspeed;
671         card-detect-delay = <200>;
672         clock-frequency = <400000000>;
673         samsung,dw-mshc-ciu-div = <3>;
674         samsung,dw-mshc-sdr-timing = <2 3>;
675         samsung,dw-mshc-ddr-timing = <1 2>;
676         pinctrl-names = "default";
677         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
678         bus-width = <4>;
679 };
680
681
682 &pinctrl_0 {
683         pinctrl-names = "default";
684         pinctrl-0 = <&mask_tpm_reset>;
685
686         max98090_irq: max98090-irq {
687                 samsung,pins = "gpx0-2";
688                 samsung,pin-function = <0>;
689                 samsung,pin-pud = <0>;
690                 samsung,pin-drv = <0>;
691         };
692
693         /* We need GPX0_6 to be low at sleep time; just keep it low always */
694         mask_tpm_reset: mask-tpm-reset {
695                 samsung,pins = "gpx0-6";
696                 samsung,pin-function = <1>;
697                 samsung,pin-pud = <0>;
698                 samsung,pin-drv = <0>;
699                 samsung,pin-val = <0>;
700         };
701
702         tpm_irq: tpm-irq {
703                 samsung,pins = "gpx1-0";
704                 samsung,pin-function = <0>;
705                 samsung,pin-pud = <0>;
706                 samsung,pin-drv = <0>;
707         };
708
709         trackpad_irq: trackpad-irq {
710                 samsung,pins = "gpx1-1";
711                 samsung,pin-function = <0xf>;
712                 samsung,pin-pud = <0>;
713                 samsung,pin-drv = <0>;
714         };
715
716         power_key_irq: power-key-irq {
717                 samsung,pins = "gpx1-2";
718                 samsung,pin-function = <0>;
719                 samsung,pin-pud = <0>;
720                 samsung,pin-drv = <0>;
721         };
722
723         ec_irq: ec-irq {
724                 samsung,pins = "gpx1-5";
725                 samsung,pin-function = <0>;
726                 samsung,pin-pud = <0>;
727                 samsung,pin-drv = <0>;
728         };
729
730         tps65090_irq: tps65090-irq {
731                 samsung,pins = "gpx2-5";
732                 samsung,pin-function = <0>;
733                 samsung,pin-pud = <0>;
734                 samsung,pin-drv = <0>;
735         };
736
737         dp_hpd_gpio: dp_hpd_gpio {
738                 samsung,pins = "gpx2-6";
739                 samsung,pin-function = <0>;
740                 samsung,pin-pud = <3>;
741                 samsung,pin-drv = <0>;
742         };
743
744         max77802_irq: max77802-irq {
745                 samsung,pins = "gpx3-1";
746                 samsung,pin-function = <0>;
747                 samsung,pin-pud = <0>;
748                 samsung,pin-drv = <0>;
749         };
750
751         lid_irq: lid-irq {
752                 samsung,pins = "gpx3-4";
753                 samsung,pin-function = <0xf>;
754                 samsung,pin-pud = <0>;
755                 samsung,pin-drv = <0>;
756         };
757
758         hdmi_hpd_irq: hdmi-hpd-irq {
759                 samsung,pins = "gpx3-7";
760                 samsung,pin-function = <0>;
761                 samsung,pin-pud = <1>;
762                 samsung,pin-drv = <0>;
763         };
764
765         pmic_dvs_1: pmic-dvs-1 {
766                 samsung,pins = "gpy7-6";
767                 samsung,pin-function = <1>;
768                 samsung,pin-pud = <0>;
769                 samsung,pin-drv = <0>;
770         };
771 };
772
773 &pinctrl_2 {
774         pmic_dvs_2: pmic-dvs-2 {
775                 samsung,pins = "gpj4-2";
776                 samsung,pin-function = <1>;
777                 samsung,pin-pud = <0>;
778                 samsung,pin-drv = <0>;
779         };
780
781         pmic_dvs_3: pmic-dvs-3 {
782                 samsung,pins = "gpj4-3";
783                 samsung,pin-function = <1>;
784                 samsung,pin-pud = <0>;
785                 samsung,pin-drv = <0>;
786         };
787 };
788
789 &pinctrl_3 {
790         /* Drive SPI lines at x2 for better integrity */
791         spi2-bus {
792                 samsung,pin-drv = <2>;
793         };
794
795         /* Drive SPI chip select at x2 for better integrity */
796         ec_spi_cs: ec-spi-cs {
797                 samsung,pins = "gpb1-2";
798                 samsung,pin-function = <1>;
799                 samsung,pin-pud = <0>;
800                 samsung,pin-drv = <2>;
801         };
802
803         usb300_vbus_en: usb300-vbus-en {
804                 samsung,pins = "gph0-0";
805                 samsung,pin-function = <1>;
806                 samsung,pin-pud = <0>;
807                 samsung,pin-drv = <0>;
808         };
809
810         usb301_vbus_en: usb301-vbus-en {
811                 samsung,pins = "gph0-1";
812                 samsung,pin-function = <1>;
813                 samsung,pin-pud = <0>;
814                 samsung,pin-drv = <0>;
815         };
816
817         pmic_selb: pmic-selb {
818                 samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
819                                "gph0-6";
820                 samsung,pin-function = <1>;
821                 samsung,pin-pud = <0>;
822                 samsung,pin-drv = <0>;
823         };
824 };
825
826 &rtc {
827         status = "okay";
828         clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>;
829         clock-names = "rtc", "rtc_src";
830 };
831
832 &spi_2 {
833         status = "okay";
834         num-cs = <1>;
835         samsung,spi-src-clk = <0>;
836         cs-gpios = <&gpb1 2 0>;
837
838         cros_ec: cros-ec@0 {
839                 compatible = "google,cros-ec-spi";
840                 interrupt-parent = <&gpx1>;
841                 interrupts = <5 0>;
842                 pinctrl-names = "default";
843                 pinctrl-0 = <&ec_spi_cs &ec_irq>;
844                 reg = <0>;
845                 spi-max-frequency = <3125000>;
846
847                 controller-data {
848                         samsung,spi-feedback-delay = <1>;
849                 };
850
851                 i2c-tunnel {
852                         compatible = "google,cros-ec-i2c-tunnel";
853                         #address-cells = <1>;
854                         #size-cells = <0>;
855                         google,remote-bus = <0>;
856
857                         battery: sbs-battery@b {
858                                 compatible = "sbs,sbs-battery";
859                                 reg = <0xb>;
860                                 sbs,poll-retry-count = <1>;
861                                 sbs,i2c-retry-count = <2>;
862                         };
863
864                         power-regulator@48 {
865                                 compatible = "ti,tps65090";
866                                 reg = <0x48>;
867
868                                 /*
869                                  * Config irq to disable internal pulls
870                                  * even though we run in polling mode.
871                                  */
872                                 pinctrl-names = "default";
873                                 pinctrl-0 = <&tps65090_irq>;
874
875                                 vsys1-supply = <&vbat>;
876                                 vsys2-supply = <&vbat>;
877                                 vsys3-supply = <&vbat>;
878                                 infet1-supply = <&vbat>;
879                                 infet2-supply = <&tps65090_dcdc1>;
880                                 infet3-supply = <&tps65090_dcdc2>;
881                                 infet4-supply = <&tps65090_dcdc2>;
882                                 infet5-supply = <&tps65090_dcdc2>;
883                                 infet6-supply = <&tps65090_dcdc2>;
884                                 infet7-supply = <&tps65090_dcdc1>;
885                                 vsys-l1-supply = <&vbat>;
886                                 vsys-l2-supply = <&vbat>;
887
888                                 regulators {
889                                         tps65090_dcdc1: dcdc1 {
890                                                 ti,enable-ext-control;
891                                         };
892                                         tps65090_dcdc2: dcdc2 {
893                                                 ti,enable-ext-control;
894                                         };
895                                         tps65090_dcdc3: dcdc3 {
896                                                 ti,enable-ext-control;
897                                         };
898                                         tps65090_fet1: fet1 {
899                                                 regulator-name = "vcd_led";
900                                         };
901                                         tps65090_fet2: fet2 {
902                                                 regulator-name = "video_mid";
903                                                 regulator-always-on;
904                                         };
905                                         tps65090_fet3: fet3 {
906                                                 regulator-name = "wwan_r";
907                                                 regulator-always-on;
908                                         };
909                                         tps65090_fet4: fet4 {
910                                                 regulator-name = "sdcard";
911                                                 regulator-always-on;
912                                         };
913                                         tps65090_fet5: fet5 {
914                                                 regulator-name = "camout";
915                                                 regulator-always-on;
916                                         };
917                                         tps65090_fet6: fet6 {
918                                                 regulator-name = "lcd_vdd";
919                                         };
920                                         tps65090_fet7: fet7 {
921                                                 regulator-name = "video_mid_1a";
922                                                 regulator-always-on;
923                                         };
924                                         tps65090_ldo1: ldo1 {
925                                         };
926                                         tps65090_ldo2: ldo2 {
927                                         };
928                                 };
929
930                                 charger {
931                                         compatible = "ti,tps65090-charger";
932                                 };
933                         };
934                 };
935         };
936 };
937
938 &uart_3 {
939         status = "okay";
940 };
941
942 &usbdrd_dwc3_0 {
943         dr_mode = "host";
944 };
945
946 &usbdrd_dwc3_1 {
947         dr_mode = "host";
948 };
949
950 &usbdrd_phy0 {
951         vbus-supply = <&usb300_vbus_reg>;
952 };
953
954 &usbdrd_phy1 {
955         vbus-supply = <&usb301_vbus_reg>;
956 };
957
958 /*
959  * Use longest HW watchdog in SoC (32 seconds) since the hardware
960  * watchdog provides no debugging information (compared to soft/hard
961  * lockup detectors) and so should be last resort.
962  */
963 &watchdog {
964         timeout-sec = <32>;
965 };
966
967 #include "cros-ec-keyboard.dtsi"
968 #include "cros-adc-thermistors.dtsi"