ARM: dts: Add missing pinctrl for uart0/1 for exynos3250
[cascardo/linux.git] / arch / arm / boot / dts / exynos5250-snow.dts
1 /*
2  * Google Snow board device tree source
3  *
4  * Copyright (c) 2012 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 "exynos5250.dtsi"
13 #include "exynos5250-cros-common.dtsi"
14
15 / {
16         model = "Google Snow";
17         compatible = "google,snow", "samsung,exynos5250", "samsung,exynos5";
18
19         aliases {
20                 i2c104 = &i2c_104;
21         };
22
23         rtc@101E0000 {
24                 status = "okay";
25         };
26
27         pinctrl@11400000 {
28                 ec_irq: ec-irq {
29                         samsung,pins = "gpx1-6";
30                         samsung,pin-function = <0>;
31                         samsung,pin-pud = <0>;
32                         samsung,pin-drv = <0>;
33                 };
34
35                 sd3_clk: sd3-clk {
36                         samsung,pin-drv = <0>;
37                 };
38
39                 sd3_cmd: sd3-cmd {
40                         samsung,pin-pud = <3>;
41                         samsung,pin-drv = <0>;
42                 };
43
44                 sd3_bus4: sd3-bus-width4 {
45                         samsung,pin-drv = <0>;
46                 };
47
48                 max98095_en: max98095-en {
49                         samsung,pins = "gpx1-7";
50                         samsung,pin-function = <0>;
51                         samsung,pin-pud = <3>;
52                         samsung,pin-drv = <0>;
53                 };
54
55                 tps65090_irq: tps65090-irq {
56                         samsung,pins = "gpx2-6";
57                         samsung,pin-function = <0>;
58                         samsung,pin-pud = <0>;
59                         samsung,pin-drv = <0>;
60                 };
61
62                 usb3_vbus_en: usb3-vbus-en {
63                         samsung,pins = "gpx2-7";
64                         samsung,pin-function = <1>;
65                         samsung,pin-pud = <0>;
66                         samsung,pin-drv = <0>;
67                 };
68
69                 hdmi_hpd_irq: hdmi-hpd-irq {
70                         samsung,pins = "gpx3-7";
71                         samsung,pin-function = <0>;
72                         samsung,pin-pud = <1>;
73                         samsung,pin-drv = <0>;
74                 };
75         };
76
77         pinctrl@13400000 {
78                 arb_their_claim: arb-their-claim {
79                         samsung,pins = "gpe0-4";
80                         samsung,pin-function = <0>;
81                         samsung,pin-pud = <3>;
82                         samsung,pin-drv = <0>;
83                 };
84
85                 arb_our_claim: arb-our-claim {
86                         samsung,pins = "gpf0-3";
87                         samsung,pin-function = <1>;
88                         samsung,pin-pud = <0>;
89                         samsung,pin-drv = <0>;
90                 };
91         };
92
93         gpio-keys {
94                 compatible = "gpio-keys";
95
96                 lid-switch {
97                         label = "Lid";
98                         gpios = <&gpx3 5 1>;
99                         linux,input-type = <5>; /* EV_SW */
100                         linux,code = <0>; /* SW_LID */
101                         debounce-interval = <1>;
102                         gpio-key,wakeup;
103                 };
104         };
105
106         vbat: vbat-fixed-regulator {
107                 compatible = "regulator-fixed";
108                 regulator-name = "vbat-supply";
109                 regulator-boot-on;
110         };
111
112         i2c-arbitrator {
113                 compatible = "i2c-arb-gpio-challenge";
114                 #address-cells = <1>;
115                 #size-cells = <0>;
116
117                 i2c-parent = <&{/i2c@12CA0000}>;
118
119                 our-claim-gpio = <&gpf0 3 1>;
120                 their-claim-gpios = <&gpe0 4 1>;
121                 slew-delay-us = <10>;
122                 wait-retry-us = <3000>;
123                 wait-free-us = <50000>;
124
125                 pinctrl-names = "default";
126                 pinctrl-0 = <&arb_our_claim &arb_their_claim>;
127
128                 /* Use ID 104 as a hint that we're on physical bus 4 */
129                 i2c_104: i2c@0 {
130                         reg = <0>;
131                         #address-cells = <1>;
132                         #size-cells = <0>;
133
134                         battery: sbs-battery@b {
135                                 compatible = "sbs,sbs-battery";
136                                 reg = <0xb>;
137                                 sbs,poll-retry-count = <1>;
138                         };
139
140                         ec: embedded-controller {
141                                 compatible = "google,cros-ec-i2c";
142                                 reg = <0x1e>;
143                                 interrupts = <6 0>;
144                                 interrupt-parent = <&gpx1>;
145                                 pinctrl-names = "default";
146                                 pinctrl-0 = <&ec_irq>;
147                                 wakeup-source;
148
149                                 keyboard-controller {
150                                         compatible = "google,cros-ec-keyb";
151                                         keypad,num-rows = <8>;
152                                         keypad,num-columns = <13>;
153                                         google,needs-ghost-filter;
154                                         linux,keymap = <0x0001007d      /* L_META */
155                                                         0x0002003b      /* F1 */
156                                                         0x00030030      /* B */
157                                                         0x00040044      /* F10 */
158                                                         0x00060031      /* N */
159                                                         0x0008000d      /* = */
160                                                         0x000a0064      /* R_ALT */
161
162                                                         0x01010001      /* ESC */
163                                                         0x0102003e      /* F4 */
164                                                         0x01030022      /* G */
165                                                         0x01040041      /* F7 */
166                                                         0x01060023      /* H */
167                                                         0x01080028      /* ' */
168                                                         0x01090043      /* F9 */
169                                                         0x010b000e      /* BKSPACE */
170
171                                                         0x0200001d      /* L_CTRL */
172                                                         0x0201000f      /* TAB */
173                                                         0x0202003d      /* F3 */
174                                                         0x02030014      /* T */
175                                                         0x02040040      /* F6 */
176                                                         0x0205001b      /* ] */
177                                                         0x02060015      /* Y */
178                                                         0x02070056      /* 102ND */
179                                                         0x0208001a      /* [ */
180                                                         0x02090042      /* F8 */
181
182                                                         0x03010029      /* GRAVE */
183                                                         0x0302003c      /* F2 */
184                                                         0x03030006      /* 5 */
185                                                         0x0304003f      /* F5 */
186                                                         0x03060007      /* 6 */
187                                                         0x0308000c      /* - */
188                                                         0x030b002b      /* \ */
189
190                                                         0x04000061      /* R_CTRL */
191                                                         0x0401001e      /* A */
192                                                         0x04020020      /* D */
193                                                         0x04030021      /* F */
194                                                         0x0404001f      /* S */
195                                                         0x04050025      /* K */
196                                                         0x04060024      /* J */
197                                                         0x04080027      /* ; */
198                                                         0x04090026      /* L */
199                                                         0x040a002b      /* \ */
200                                                         0x040b001c      /* ENTER */
201
202                                                         0x0501002c      /* Z */
203                                                         0x0502002e      /* C */
204                                                         0x0503002f      /* V */
205                                                         0x0504002d      /* X */
206                                                         0x05050033      /* , */
207                                                         0x05060032      /* M */
208                                                         0x0507002a      /* L_SHIFT */
209                                                         0x05080035      /* / */
210                                                         0x05090034      /* . */
211                                                         0x050B0039      /* SPACE */
212
213                                                         0x06010002      /* 1 */
214                                                         0x06020004      /* 3 */
215                                                         0x06030005      /* 4 */
216                                                         0x06040003      /* 2 */
217                                                         0x06050009      /* 8 */
218                                                         0x06060008      /* 7 */
219                                                         0x0608000b      /* 0 */
220                                                         0x0609000a      /* 9 */
221                                                         0x060a0038      /* L_ALT */
222                                                         0x060b006c      /* DOWN */
223                                                         0x060c006a      /* RIGHT */
224
225                                                         0x07010010      /* Q */
226                                                         0x07020012      /* E */
227                                                         0x07030013      /* R */
228                                                         0x07040011      /* W */
229                                                         0x07050017      /* I */
230                                                         0x07060016      /* U */
231                                                         0x07070036      /* R_SHIFT */
232                                                         0x07080019      /* P */
233                                                         0x07090018      /* O */
234                                                         0x070b0067      /* UP */
235                                                         0x070c0069>;    /* LEFT */
236                                 };
237                         };
238
239                         power-regulator {
240                                 compatible = "ti,tps65090";
241                                 reg = <0x48>;
242
243                                 /*
244                                  * Config irq to disable internal pulls
245                                  * even though we run in polling mode.
246                                  */
247                                 pinctrl-names = "default";
248                                 pinctrl-0 = <&tps65090_irq>;
249
250                                 vsys1-supply = <&vbat>;
251                                 vsys2-supply = <&vbat>;
252                                 vsys3-supply = <&vbat>;
253                                 infet1-supply = <&vbat>;
254                                 infet2-supply = <&vbat>;
255                                 infet3-supply = <&vbat>;
256                                 infet4-supply = <&vbat>;
257                                 infet5-supply = <&vbat>;
258                                 infet6-supply = <&vbat>;
259                                 infet7-supply = <&vbat>;
260                                 vsys-l1-supply = <&vbat>;
261                                 vsys-l2-supply = <&vbat>;
262
263                                 regulators {
264                                         dcdc1 {
265                                                 ti,enable-ext-control;
266                                         };
267                                         dcdc2 {
268                                                 ti,enable-ext-control;
269                                         };
270                                         dcdc3 {
271                                                 ti,enable-ext-control;
272                                         };
273                                         fet1 {
274                                                 regulator-name = "vcd_led";
275                                                 ti,overcurrent-wait = <3>;
276                                         };
277                                         tps65090_fet2: fet2 {
278                                                 regulator-name = "video_mid";
279                                                 regulator-always-on;
280                                                 ti,overcurrent-wait = <3>;
281                                         };
282                                         fet3 {
283                                                 regulator-name = "wwan_r";
284                                                 regulator-always-on;
285                                                 ti,overcurrent-wait = <3>;
286                                         };
287                                         fet4 {
288                                                 regulator-name = "sdcard";
289                                                 ti,overcurrent-wait = <3>;
290                                         };
291                                         fet5 {
292                                                 regulator-name = "camout";
293                                                 regulator-always-on;
294                                                 ti,overcurrent-wait = <3>;
295                                         };
296                                         fet6 {
297                                                 regulator-name = "lcd_vdd";
298                                                 ti,overcurrent-wait = <3>;
299                                         };
300                                         tps65090_fet7: fet7 {
301                                                 regulator-name = "video_mid_1a";
302                                                 regulator-always-on;
303                                                 ti,overcurrent-wait = <3>;
304                                         };
305                                         ldo1 {
306                                         };
307                                         ldo2 {
308                                         };
309                                 };
310
311                                 charger {
312                                         compatible = "ti,tps65090-charger";
313                                 };
314                         };
315                 };
316         };
317
318         mmc@12200000 {
319                 status = "okay";
320         };
321
322         mmc@12220000 {
323                 status = "okay";
324         };
325
326         /*
327          * On Snow we've got SIP WiFi and so can keep drive strengths low to
328          * reduce EMI.
329          */
330         mmc@12230000 {
331                 status = "okay";
332                 slot@0 {
333                         pinctrl-names = "default";
334                         pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
335                 };
336         };
337
338         i2c@12CD0000 {
339                 max98095: codec@11 {
340                         compatible = "maxim,max98095";
341                         reg = <0x11>;
342                         pinctrl-0 = <&max98095_en>;
343                         pinctrl-names = "default";
344                 };
345         };
346
347         i2s0: i2s@03830000 {
348                 status = "okay";
349         };
350
351         sound {
352                 compatible = "google,snow-audio-max98095";
353
354                 samsung,model = "Snow-I2S-MAX98095";
355                 samsung,i2s-controller = <&i2s0>;
356                 samsung,audio-codec = <&max98095>;
357         };
358
359         usb3_vbus_reg: regulator-usb3 {
360                 compatible = "regulator-fixed";
361                 regulator-name = "P5.0V_USB3CON";
362                 regulator-min-microvolt = <5000000>;
363                 regulator-max-microvolt = <5000000>;
364                 gpio = <&gpx2 7 0>;
365                 pinctrl-names = "default";
366                 pinctrl-0 = <&usb3_vbus_en>;
367                 enable-active-high;
368         };
369
370         phy@12100000 {
371                 vbus-supply = <&usb3_vbus_reg>;
372         };
373
374         usb@12110000 {
375                 samsung,vbus-gpio = <&gpx1 1 0>;
376         };
377
378         fixed-rate-clocks {
379                 xxti {
380                         compatible = "samsung,clock-xxti";
381                         clock-frequency = <24000000>;
382                 };
383         };
384
385         hdmi {
386                 hdmi-en-supply = <&tps65090_fet7>;
387                 vdd-supply = <&ldo8_reg>;
388                 vdd_osc-supply = <&ldo10_reg>;
389                 vdd_pll-supply = <&ldo8_reg>;
390         };
391
392         backlight {
393                 compatible = "pwm-backlight";
394                 pwms = <&pwm 0 1000000 0>;
395                 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
396                 default-brightness-level = <7>;
397                 pinctrl-0 = <&pwm0_out>;
398                 pinctrl-names = "default";
399         };
400
401         fimd@14400000 {
402                 status = "okay";
403                 samsung,invert-vclk;
404         };
405
406         dp-controller@145B0000 {
407                 status = "okay";
408                 pinctrl-names = "default";
409                 pinctrl-0 = <&dp_hpd>;
410                 samsung,color-space = <0>;
411                 samsung,dynamic-range = <0>;
412                 samsung,ycbcr-coeff = <0>;
413                 samsung,color-depth = <1>;
414                 samsung,link-rate = <0x0a>;
415                 samsung,lane-count = <2>;
416                 samsung,hpd-gpio = <&gpx0 7 0>;
417
418                 display-timings {
419                         native-mode = <&timing1>;
420
421                         timing1: timing@1 {
422                                 clock-frequency = <70589280>;
423                                 hactive = <1366>;
424                                 vactive = <768>;
425                                 hfront-porch = <40>;
426                                 hback-porch = <40>;
427                                 hsync-len = <32>;
428                                 vback-porch = <10>;
429                                 vfront-porch = <12>;
430                                 vsync-len = <6>;
431                         };
432                 };
433         };
434 };
435
436 &i2c_0 {
437         max77686@09 {
438                 compatible = "maxim,max77686";
439                 interrupt-parent = <&gpx3>;
440                 interrupts = <2 0>;
441                 pinctrl-names = "default";
442                 pinctrl-0 = <&max77686_irq>;
443                 wakeup-source;
444                 reg = <0x09>;
445                 #clock-cells = <1>;
446
447                 voltage-regulators {
448                         ldo1_reg: LDO1 {
449                                 regulator-name = "P1.0V_LDO_OUT1";
450                                 regulator-min-microvolt = <1000000>;
451                                 regulator-max-microvolt = <1000000>;
452                                 regulator-always-on;
453                         };
454
455                         ldo2_reg: LDO2 {
456                                 regulator-name = "P1.8V_LDO_OUT2";
457                                 regulator-min-microvolt = <1800000>;
458                                 regulator-max-microvolt = <1800000>;
459                                 regulator-always-on;
460                         };
461
462                         ldo3_reg: LDO3 {
463                                 regulator-name = "P1.8V_LDO_OUT3";
464                                 regulator-min-microvolt = <1800000>;
465                                 regulator-max-microvolt = <1800000>;
466                                 regulator-always-on;
467                         };
468
469                         ldo7_reg: LDO7 {
470                                 regulator-name = "P1.1V_LDO_OUT7";
471                                 regulator-min-microvolt = <1100000>;
472                                 regulator-max-microvolt = <1100000>;
473                                 regulator-always-on;
474                         };
475
476                         ldo8_reg: LDO8 {
477                                 regulator-name = "P1.0V_LDO_OUT8";
478                                 regulator-min-microvolt = <1000000>;
479                                 regulator-max-microvolt = <1000000>;
480                                 regulator-always-on;
481                         };
482
483                         ldo10_reg: LDO10 {
484                                 regulator-name = "P1.8V_LDO_OUT10";
485                                 regulator-min-microvolt = <1800000>;
486                                 regulator-max-microvolt = <1800000>;
487                                 regulator-always-on;
488                         };
489
490                         ldo12_reg: LDO12 {
491                                 regulator-name = "P3.0V_LDO_OUT12";
492                                 regulator-min-microvolt = <3000000>;
493                                 regulator-max-microvolt = <3000000>;
494                                 regulator-always-on;
495                         };
496
497                         ldo14_reg: LDO14 {
498                                 regulator-name = "P1.8V_LDO_OUT14";
499                                 regulator-min-microvolt = <1800000>;
500                                 regulator-max-microvolt = <1800000>;
501                                 regulator-always-on;
502                         };
503
504                         ldo15_reg: LDO15 {
505                                 regulator-name = "P1.0V_LDO_OUT15";
506                                 regulator-min-microvolt = <1000000>;
507                                 regulator-max-microvolt = <1000000>;
508                                 regulator-always-on;
509                         };
510
511                         ldo16_reg: LDO16 {
512                                 regulator-name = "P1.8V_LDO_OUT16";
513                                 regulator-min-microvolt = <1800000>;
514                                 regulator-max-microvolt = <1800000>;
515                                 regulator-always-on;
516                         };
517
518                         buck1_reg: BUCK1 {
519                                 regulator-name = "vdd_mif";
520                                 regulator-min-microvolt = <950000>;
521                                 regulator-max-microvolt = <1300000>;
522                                 regulator-always-on;
523                                 regulator-boot-on;
524                         };
525
526                         buck2_reg: BUCK2 {
527                                 regulator-name = "vdd_arm";
528                                 regulator-min-microvolt = <850000>;
529                                 regulator-max-microvolt = <1350000>;
530                                 regulator-always-on;
531                                 regulator-boot-on;
532                         };
533
534                         buck3_reg: BUCK3 {
535                                 regulator-name = "vdd_int";
536                                 regulator-min-microvolt = <900000>;
537                                 regulator-max-microvolt = <1200000>;
538                                 regulator-always-on;
539                                 regulator-boot-on;
540                         };
541
542                         buck4_reg: BUCK4 {
543                                 regulator-name = "vdd_g3d";
544                                 regulator-min-microvolt = <850000>;
545                                 regulator-max-microvolt = <1300000>;
546                                 regulator-always-on;
547                                 regulator-boot-on;
548                         };
549
550                         buck5_reg: BUCK5 {
551                                 regulator-name = "P1.8V_BUCK_OUT5";
552                                 regulator-min-microvolt = <1800000>;
553                                 regulator-max-microvolt = <1800000>;
554                                 regulator-always-on;
555                                 regulator-boot-on;
556                         };
557
558                         buck6_reg: BUCK6 {
559                                 regulator-name = "P1.35V_BUCK_OUT6";
560                                 regulator-min-microvolt = <1350000>;
561                                 regulator-max-microvolt = <1350000>;
562                                 regulator-always-on;
563                         };
564
565                         buck7_reg: BUCK7 {
566                                 regulator-name = "P2.0V_BUCK_OUT7";
567                                 regulator-min-microvolt = <2000000>;
568                                 regulator-max-microvolt = <2000000>;
569                                 regulator-always-on;
570                         };
571
572                         buck8_reg: BUCK8 {
573                                 regulator-name = "P2.85V_BUCK_OUT8";
574                                 regulator-min-microvolt = <2850000>;
575                                 regulator-max-microvolt = <2850000>;
576                                 regulator-always-on;
577                         };
578                 };
579         };
580 };
581
582 &i2c_1 {
583         trackpad {
584                 reg = <0x67>;
585                 compatible = "cypress,cyapa";
586                 interrupts = <2 0>;
587                 interrupt-parent = <&gpx1>;
588                 wakeup-source;
589         };
590 };
591
592 &pinctrl_0 {
593         max77686_irq: max77686-irq {
594                 samsung,pins = "gpx3-2";
595                 samsung,pin-function = <0>;
596                 samsung,pin-pud = <0>;
597                 samsung,pin-drv = <0>;
598         };
599 };