Merge tag 'mfd-for-linus-3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
[pandora-kernel.git] / arch / arm / boot / dts / exynos5800-peach-pi.dts
1 /*
2  * Google Peach Pi Rev 10+ 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 "exynos5800.dtsi"
18
19 / {
20         model = "Google Peach Pi Rev 10+";
21
22         compatible = "google,pi-rev16",
23                 "google,pi-rev15", "google,pi-rev14",
24                 "google,pi-rev13", "google,pi-rev12",
25                 "google,pi-rev11", "google,pi-rev10",
26                 "google,pi", "google,peach", "samsung,exynos5800",
27                 "samsung,exynos5";
28
29         aliases {
30                 /* Assign 20 so we don't get confused w/ builtin ones */
31                 i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel";
32         };
33
34         backlight: backlight {
35                 compatible = "pwm-backlight";
36                 pwms = <&pwm 0 1000000 0>;
37                 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
38                 default-brightness-level = <7>;
39                 enable-gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
40                 power-supply = <&tps65090_fet1>;
41                 pinctrl-0 = <&pwm0_out>;
42                 pinctrl-names = "default";
43         };
44
45         fixed-rate-clocks {
46                 oscclk {
47                         compatible = "samsung,exynos5420-oscclk";
48                         clock-frequency = <24000000>;
49                 };
50         };
51
52         gpio-keys {
53                 compatible = "gpio-keys";
54
55                 pinctrl-names = "default";
56                 pinctrl-0 = <&power_key_irq &lid_irq>;
57
58                 power {
59                         label = "Power";
60                         gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
61                         linux,code = <KEY_POWER>;
62                         gpio-key,wakeup;
63                 };
64
65                 lid-switch {
66                         label = "Lid";
67                         gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
68                         linux,input-type = <5>; /* EV_SW */
69                         linux,code = <0>; /* SW_LID */
70                         debounce-interval = <1>;
71                         gpio-key,wakeup;
72                 };
73
74         };
75
76         memory {
77                 reg = <0x20000000 0x80000000>;
78         };
79
80         sound {
81                 compatible = "google,snow-audio-max98091";
82
83                 samsung,model = "Peach-Pi-I2S-MAX98091";
84                 samsung,i2s-controller = <&i2s0>;
85                 samsung,audio-codec = <&max98091>;
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,b133htn01";
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 = <0x0a>;
138         samsung,lane-count = <2>;
139         samsung,hpd-gpio = <&gpx2 6 0>;
140         panel = <&panel>;
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         max98091: codec@10 {
578                 compatible = "maxim,max98091";
579                 reg = <0x10>;
580                 interrupts = <2 0>;
581                 interrupt-parent = <&gpx0>;
582                 pinctrl-names = "default";
583                 pinctrl-0 = <&max98091_irq>;
584         };
585
586         light-sensor@44 {
587                 compatible = "isil,isl29018";
588                 reg = <0x44>;
589                 vcc-supply = <&tps65090_fet5>;
590         };
591 };
592
593 &hsi2c_8 {
594         status = "okay";
595         clock-frequency = <333000>;
596         /* Atmel mXT540S */
597         trackpad@4b {
598                 compatible = "atmel,maxtouch";
599                 reg = <0x4b>;
600                 interrupt-parent = <&gpx1>;
601                 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
602                 wakeup-source;
603                 pinctrl-names = "default";
604                 pinctrl-0 = <&trackpad_irq>;
605                 linux,gpio-keymap = <KEY_RESERVED
606                                      KEY_RESERVED
607                                      KEY_RESERVED       /* GPIO 0 */
608                                      KEY_RESERVED       /* GPIO 1 */
609                                      BTN_LEFT           /* GPIO 2 */
610                                      KEY_RESERVED>;     /* GPIO 3 */
611         };
612 };
613
614 &hsi2c_9 {
615         status = "okay";
616         clock-frequency = <400000>;
617
618         tpm@20 {
619                 compatible = "infineon,slb9645tt";
620                 reg = <0x20>;
621
622                 /* Unused irq; but still need to configure the pins */
623                 pinctrl-names = "default";
624                 pinctrl-0 = <&tpm_irq>;
625         };
626 };
627
628 &i2c_2 {
629         status = "okay";
630         samsung,i2c-sda-delay = <100>;
631         samsung,i2c-max-bus-freq = <66000>;
632         samsung,i2c-slave-addr = <0x50>;
633 };
634
635 &i2s0 {
636         status = "okay";
637 };
638
639 &mmc_0 {
640         status = "okay";
641         num-slots = <1>;
642         broken-cd;
643         mmc-hs200-1_8v;
644         cap-mmc-highspeed;
645         non-removable;
646         card-detect-delay = <200>;
647         clock-frequency = <400000000>;
648         samsung,dw-mshc-ciu-div = <3>;
649         samsung,dw-mshc-sdr-timing = <0 4>;
650         samsung,dw-mshc-ddr-timing = <0 2>;
651         pinctrl-names = "default";
652         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
653         bus-width = <8>;
654 };
655
656 &mmc_2 {
657         status = "okay";
658         num-slots = <1>;
659         cap-sd-highspeed;
660         card-detect-delay = <200>;
661         clock-frequency = <400000000>;
662         samsung,dw-mshc-ciu-div = <3>;
663         samsung,dw-mshc-sdr-timing = <2 3>;
664         samsung,dw-mshc-ddr-timing = <1 2>;
665         pinctrl-names = "default";
666         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
667         bus-width = <4>;
668 };
669
670
671 &pinctrl_0 {
672         pinctrl-names = "default";
673         pinctrl-0 = <&mask_tpm_reset>;
674
675         max98091_irq: max98091-irq {
676                 samsung,pins = "gpx0-2";
677                 samsung,pin-function = <0>;
678                 samsung,pin-pud = <0>;
679                 samsung,pin-drv = <0>;
680         };
681
682         /* We need GPX0_6 to be low at sleep time; just keep it low always */
683         mask_tpm_reset: mask-tpm-reset {
684                 samsung,pins = "gpx0-6";
685                 samsung,pin-function = <1>;
686                 samsung,pin-pud = <0>;
687                 samsung,pin-drv = <0>;
688                 samsung,pin-val = <0>;
689         };
690
691         tpm_irq: tpm-irq {
692                 samsung,pins = "gpx1-0";
693                 samsung,pin-function = <0>;
694                 samsung,pin-pud = <0>;
695                 samsung,pin-drv = <0>;
696         };
697
698         trackpad_irq: trackpad-irq {
699                 samsung,pins = "gpx1-1";
700                 samsung,pin-function = <0xf>;
701                 samsung,pin-pud = <0>;
702                 samsung,pin-drv = <0>;
703         };
704
705         power_key_irq: power-key-irq {
706                 samsung,pins = "gpx1-2";
707                 samsung,pin-function = <0>;
708                 samsung,pin-pud = <0>;
709                 samsung,pin-drv = <0>;
710         };
711
712         ec_irq: ec-irq {
713                 samsung,pins = "gpx1-5";
714                 samsung,pin-function = <0>;
715                 samsung,pin-pud = <0>;
716                 samsung,pin-drv = <0>;
717         };
718
719         tps65090_irq: tps65090-irq {
720                 samsung,pins = "gpx2-5";
721                 samsung,pin-function = <0>;
722                 samsung,pin-pud = <0>;
723                 samsung,pin-drv = <0>;
724         };
725
726         dp_hpd_gpio: dp_hpd_gpio {
727                 samsung,pins = "gpx2-6";
728                 samsung,pin-function = <0>;
729                 samsung,pin-pud = <3>;
730                 samsung,pin-drv = <0>;
731         };
732
733         max77802_irq: max77802-irq {
734                 samsung,pins = "gpx3-1";
735                 samsung,pin-function = <0>;
736                 samsung,pin-pud = <0>;
737                 samsung,pin-drv = <0>;
738         };
739
740         lid_irq: lid-irq {
741                 samsung,pins = "gpx3-4";
742                 samsung,pin-function = <0xf>;
743                 samsung,pin-pud = <0>;
744                 samsung,pin-drv = <0>;
745         };
746
747         hdmi_hpd_irq: hdmi-hpd-irq {
748                 samsung,pins = "gpx3-7";
749                 samsung,pin-function = <0>;
750                 samsung,pin-pud = <1>;
751                 samsung,pin-drv = <0>;
752         };
753
754         pmic_dvs_1: pmic-dvs-1 {
755                 samsung,pins = "gpy7-6";
756                 samsung,pin-function = <1>;
757                 samsung,pin-pud = <0>;
758                 samsung,pin-drv = <0>;
759         };
760 };
761
762 &pinctrl_2 {
763         pmic_dvs_2: pmic-dvs-2 {
764                 samsung,pins = "gpj4-2";
765                 samsung,pin-function = <1>;
766                 samsung,pin-pud = <0>;
767                 samsung,pin-drv = <0>;
768         };
769
770         pmic_dvs_3: pmic-dvs-3 {
771                 samsung,pins = "gpj4-3";
772                 samsung,pin-function = <1>;
773                 samsung,pin-pud = <0>;
774                 samsung,pin-drv = <0>;
775         };
776 };
777
778 &pinctrl_3 {
779         /* Drive SPI lines at x2 for better integrity */
780         spi2-bus {
781                 samsung,pin-drv = <2>;
782         };
783
784         /* Drive SPI chip select at x2 for better integrity */
785         ec_spi_cs: ec-spi-cs {
786                 samsung,pins = "gpb1-2";
787                 samsung,pin-function = <1>;
788                 samsung,pin-pud = <0>;
789                 samsung,pin-drv = <2>;
790         };
791
792         usb300_vbus_en: usb300-vbus-en {
793                 samsung,pins = "gph0-0";
794                 samsung,pin-function = <1>;
795                 samsung,pin-pud = <0>;
796                 samsung,pin-drv = <0>;
797         };
798
799         usb301_vbus_en: usb301-vbus-en {
800                 samsung,pins = "gph0-1";
801                 samsung,pin-function = <1>;
802                 samsung,pin-pud = <0>;
803                 samsung,pin-drv = <0>;
804         };
805
806         pmic_selb: pmic-selb {
807                 samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
808                                "gph0-6";
809                 samsung,pin-function = <1>;
810                 samsung,pin-pud = <0>;
811                 samsung,pin-drv = <0>;
812         };
813 };
814
815 &rtc {
816         status = "okay";
817         clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>;
818         clock-names = "rtc", "rtc_src";
819 };
820
821 &spi_2 {
822         status = "okay";
823         num-cs = <1>;
824         samsung,spi-src-clk = <0>;
825         cs-gpios = <&gpb1 2 0>;
826
827         cros_ec: cros-ec@0 {
828                 compatible = "google,cros-ec-spi";
829                 interrupt-parent = <&gpx1>;
830                 interrupts = <5 0>;
831                 pinctrl-names = "default";
832                 pinctrl-0 = <&ec_spi_cs &ec_irq>;
833                 reg = <0>;
834                 spi-max-frequency = <3125000>;
835
836                 controller-data {
837                         samsung,spi-feedback-delay = <1>;
838                 };
839
840                 i2c-tunnel {
841                         compatible = "google,cros-ec-i2c-tunnel";
842                         #address-cells = <1>;
843                         #size-cells = <0>;
844                         google,remote-bus = <0>;
845
846                         battery: sbs-battery@b {
847                                 compatible = "sbs,sbs-battery";
848                                 reg = <0xb>;
849                                 sbs,poll-retry-count = <1>;
850                                 sbs,i2c-retry-count = <2>;
851                         };
852
853                         power-regulator@48 {
854                                 compatible = "ti,tps65090";
855                                 reg = <0x48>;
856
857                                 /*
858                                  * Config irq to disable internal pulls
859                                  * even though we run in polling mode.
860                                  */
861                                 pinctrl-names = "default";
862                                 pinctrl-0 = <&tps65090_irq>;
863
864                                 vsys1-supply = <&vbat>;
865                                 vsys2-supply = <&vbat>;
866                                 vsys3-supply = <&vbat>;
867                                 infet1-supply = <&vbat>;
868                                 infet2-supply = <&tps65090_dcdc1>;
869                                 infet3-supply = <&tps65090_dcdc2>;
870                                 infet4-supply = <&tps65090_dcdc2>;
871                                 infet5-supply = <&tps65090_dcdc2>;
872                                 infet6-supply = <&tps65090_dcdc2>;
873                                 infet7-supply = <&tps65090_dcdc1>;
874                                 vsys-l1-supply = <&vbat>;
875                                 vsys-l2-supply = <&vbat>;
876
877                                 regulators {
878                                         tps65090_dcdc1: dcdc1 {
879                                                 ti,enable-ext-control;
880                                         };
881                                         tps65090_dcdc2: dcdc2 {
882                                                 ti,enable-ext-control;
883                                         };
884                                         tps65090_dcdc3: dcdc3 {
885                                                 ti,enable-ext-control;
886                                         };
887                                         tps65090_fet1: fet1 {
888                                                 regulator-name = "vcd_led";
889                                         };
890                                         tps65090_fet2: fet2 {
891                                                 regulator-name = "video_mid";
892                                                 regulator-always-on;
893                                         };
894                                         tps65090_fet3: fet3 {
895                                                 regulator-name = "wwan_r";
896                                                 regulator-always-on;
897                                         };
898                                         tps65090_fet4: fet4 {
899                                                 regulator-name = "sdcard";
900                                                 regulator-always-on;
901                                         };
902                                         tps65090_fet5: fet5 {
903                                                 regulator-name = "camout";
904                                                 regulator-always-on;
905                                         };
906                                         tps65090_fet6: fet6 {
907                                                 regulator-name = "lcd_vdd";
908                                         };
909                                         tps65090_fet7: fet7 {
910                                                 regulator-name = "video_mid_1a";
911                                                 regulator-always-on;
912                                         };
913                                         tps65090_ldo1: ldo1 {
914                                         };
915                                         tps65090_ldo2: ldo2 {
916                                         };
917                                 };
918
919                                 charger {
920                                         compatible = "ti,tps65090-charger";
921                                 };
922                         };
923                 };
924         };
925 };
926
927 &uart_3 {
928         status = "okay";
929 };
930
931 &usbdrd_dwc3_0 {
932         dr_mode = "host";
933 };
934
935 &usbdrd_dwc3_1 {
936         dr_mode = "host";
937 };
938
939 &usbdrd_phy0 {
940         vbus-supply = <&usb300_vbus_reg>;
941 };
942
943 &usbdrd_phy1 {
944         vbus-supply = <&usb301_vbus_reg>;
945 };
946
947 /*
948  * Use longest HW watchdog in SoC (32 seconds) since the hardware
949  * watchdog provides no debugging information (compared to soft/hard
950  * lockup detectors) and so should be last resort.
951  */
952 &watchdog {
953         timeout-sec = <32>;
954 };
955
956 #include "cros-ec-keyboard.dtsi"
957 #include "cros-adc-thermistors.dtsi"