]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/exynos5250-snow.dts
KARO: cleanup after merge of Freescale 3.10.17 stuff
[karo-tx-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,i2s-controller = <&i2s0>;
355                 samsung,audio-codec = <&max98095>;
356         };
357
358         usb3_vbus_reg: regulator-usb3 {
359                 compatible = "regulator-fixed";
360                 regulator-name = "P5.0V_USB3CON";
361                 regulator-min-microvolt = <5000000>;
362                 regulator-max-microvolt = <5000000>;
363                 gpio = <&gpx2 7 0>;
364                 pinctrl-names = "default";
365                 pinctrl-0 = <&usb3_vbus_en>;
366                 enable-active-high;
367         };
368
369         phy@12100000 {
370                 vbus-supply = <&usb3_vbus_reg>;
371         };
372
373         usb@12110000 {
374                 samsung,vbus-gpio = <&gpx1 1 0>;
375         };
376
377         fixed-rate-clocks {
378                 xxti {
379                         compatible = "samsung,clock-xxti";
380                         clock-frequency = <24000000>;
381                 };
382         };
383
384         hdmi {
385                 hdmi-en-supply = <&tps65090_fet7>;
386                 vdd-supply = <&ldo8_reg>;
387                 vdd_osc-supply = <&ldo10_reg>;
388                 vdd_pll-supply = <&ldo8_reg>;
389         };
390
391         backlight {
392                 compatible = "pwm-backlight";
393                 pwms = <&pwm 0 1000000 0>;
394                 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
395                 default-brightness-level = <7>;
396                 pinctrl-0 = <&pwm0_out>;
397                 pinctrl-names = "default";
398         };
399
400         fimd@14400000 {
401                 status = "okay";
402                 samsung,invert-vclk;
403         };
404
405         dp-controller@145B0000 {
406                 status = "okay";
407                 pinctrl-names = "default";
408                 pinctrl-0 = <&dp_hpd>;
409                 samsung,color-space = <0>;
410                 samsung,dynamic-range = <0>;
411                 samsung,ycbcr-coeff = <0>;
412                 samsung,color-depth = <1>;
413                 samsung,link-rate = <0x0a>;
414                 samsung,lane-count = <2>;
415                 samsung,hpd-gpio = <&gpx0 7 0>;
416
417                 display-timings {
418                         native-mode = <&timing1>;
419
420                         timing1: timing@1 {
421                                 clock-frequency = <70589280>;
422                                 hactive = <1366>;
423                                 vactive = <768>;
424                                 hfront-porch = <40>;
425                                 hback-porch = <40>;
426                                 hsync-len = <32>;
427                                 vback-porch = <10>;
428                                 vfront-porch = <12>;
429                                 vsync-len = <6>;
430                         };
431                 };
432         };
433 };