a3d5e04908bf59e4c232d41f0b62d5ab05ef1691
[cascardo/linux.git] / arch / arm / boot / dts / exynos5250-spring.dts
1 /*
2  * Google Spring 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/ "cros5250-common.dtsi"
14
15 / {
16         model = "Google Spring";
17         compatible = "google,spring", "samsung,exynos5250";
18
19         adc@12D10000 {
20                 status = "disabled";
21         };
22
23         mipi {
24                 status = "disabled";
25         };
26
27         gpio-keys {
28                 compatible = "gpio-keys";
29
30                 lid-switch {
31                         label = "Lid";
32                         gpios = <&gpx3 5 0 0x10000 0>;
33                         linux,input-type = <5>; /* EV_SW */
34                         linux,code = <0>; /* SW_LID */
35                         debounce-interval = <1>;
36                         gpio-key,wakeup;
37                 };
38         };
39
40         dwmmc1@12210000 {
41                 /*
42                  * MMC1 port is used for external Wifi card SDIO connection.
43                  *
44                  * We override the default configuration for this port which
45                  * disables it in cros5250-common.dtsi.
46                  */
47                 status = "okay";
48                 /* high speed is currently not behaving properly */
49                 //supports-highspeed;
50                 card-detection-broken;
51                 no-write-protect;
52                 keep-power-in-suspend;
53                 enable-sdio-wakeup;
54                 fifo-depth = <0x80>;
55                 card-detect-delay = <200>;
56                 samsung,dw-mshc-sdr-timing = <2 3 3>;
57                 samsung,dw-mshc-ddr-timing = <1 2 3>;
58
59                 slot0 {
60                         bus-width = <4>;
61                         gpios = <&gpc2 1 2 3 3>, <&gpc2 0 2 0 3>,
62                                 <&gpc2 3 2 3 3>, <&gpc2 4 2 3 3>,
63                                 <&gpc2 5 2 3 3>, <&gpc2 6 2 3 3>;
64                 };
65         };
66
67         dwmmc2@12220000 {
68                 /* MMC2 pins are used as GPIO for eDP bridge control */
69                 status = "disabled";
70         };
71
72         dwmmc3@12230000 {
73                 /*
74                  * Nothing is connected on MMC3 port : disable it.
75                  *
76                  * We override the default configuration for this port which
77                  * configures it for SDIO in cros5250-common.dtsi.
78                  */
79                 status = "disabled";
80         };
81
82         i2c@12C90000 {
83                 samsung,i2c-sda-delay = <100>;
84                 samsung,i2c-max-bus-freq = <400000>;
85                 gpios = <&gpa1 2 3 3 0>,
86                         <&gpa1 3 3 3 0>;
87
88                 tpm {
89                         compatible = "infineon,slb9645tt";
90                         reg = <0x20>;
91                 };
92         };
93
94         i2c@12C60000 {
95                 s5m8767_pmic@66 {
96                         compatible = "samsung,s5m8767-pmic";
97                         interrupt-parent = <&wakeup_eint>;
98                         interrupts = <26 0>;
99                         wakeup-source;
100                         reg = <0x66>;
101
102                         s5m-core,enable-low-jitter;
103                         s5m-core,device_type = <2>;
104                         s5m8767,buck_ramp_delay = <25>;         /* default */
105                         s5m8767,buck2_ramp_enable;              /* default */
106                         s5m8767,buck3_ramp_enable;              /* default */
107                         s5m8767,buck4_ramp_enable;              /* default */
108
109                         voltage-regulators {
110                                 s5m_ldo6_reg: LDO6 {
111                                         regulator-name = "vdd_ldo6";
112                                         regulator-min-microvolt = <1000000>;
113                                         regulator-max-microvolt = <1000000>;
114                                         regulator-always-on;
115                                         reg_op_mode = <1>; /* Standby Mode */
116                                 };
117                                 s5m_ldo7_reg: LDO7 {
118                                         regulator-name = "vdd_ldo7";
119                                         regulator-min-microvolt = <1100000>;
120                                         regulator-max-microvolt = <1100000>;
121                                         regulator-always-on;
122                                         reg_op_mode = <1>; /* Standby Mode */
123                                 };
124                                 s5m_ldo8_reg: LDO8 {
125                                         regulator-name = "vdd_ldo8";
126                                         regulator-min-microvolt = <1000000>;
127                                         regulator-max-microvolt = <1000000>;
128                                         regulator-always-on;
129                                         reg_op_mode = <1>; /* Standby Mode */
130                                 };
131                                 s5m_ldo10_reg: LDO10 {
132                                         regulator-name = "vdd_ldo10";
133                                         regulator-min-microvolt = <1800000>;
134                                         regulator-max-microvolt = <1800000>;
135                                         regulator-always-on;
136                                         reg_op_mode = <1>; /* Standby Mode */
137                                 };
138                                 s5m_ldo11_reg: LDO11 {
139                                         regulator-name = "vdd_ldo11";
140                                         regulator-min-microvolt = <1800000>;
141                                         regulator-max-microvolt = <1800000>;
142                                         regulator-always-on;
143                                         reg_op_mode = <0>; /* Off Mode */
144                                 };
145                                 s5m_ldo12_reg: LDO12 {
146                                         regulator-name = "vdd_ldo12";
147                                         regulator-min-microvolt = <3000000>;
148                                         regulator-max-microvolt = <3000000>;
149                                         regulator-always-on;
150                                         reg_op_mode = <1>; /* Standby Mode */
151                                 };
152                                 s5m_ldo13_reg: LDO13 {
153                                         regulator-name = "vdd_ldo13";
154                                         regulator-min-microvolt = <1800000>;
155                                         regulator-max-microvolt = <1800000>;
156                                         regulator-always-on;
157                                         reg_op_mode = <0>; /* Off Mode */
158                                 };
159                                 s5m_ldo14_reg: LDO14 {
160                                         regulator-name = "vdd_ldo14";
161                                         regulator-min-microvolt = <1800000>;
162                                         regulator-max-microvolt = <1800000>;
163                                         regulator-always-on;
164                                         reg_op_mode = <1>; /* Standby Mode */
165                                 };
166                                 s5m_ldo15_reg: LDO15 {
167                                         regulator-name = "vdd_ldo15";
168                                         regulator-min-microvolt = <1000000>;
169                                         regulator-max-microvolt = <1000000>;
170                                         regulator-always-on;
171                                         reg_op_mode = <1>; /* Standby Mode */
172                                 };
173                                 s5m_ldo16_reg: LDO16 {
174                                         regulator-name = "vdd_ldo16";
175                                         regulator-min-microvolt = <1800000>;
176                                         regulator-max-microvolt = <1800000>;
177                                         regulator-always-on;
178                                         reg_op_mode = <1>; /* Standby Mode */
179                                 };
180                                 s5m_ldo17_reg: LDO17 {
181                                         regulator-name = "vdd_ldo17";
182                                         regulator-min-microvolt = <2800000>;
183                                         regulator-max-microvolt = <2800000>;
184                                         regulator-always-on;
185                                         reg_op_mode = <0>; /* Off Mode */
186                                 };
187                                 s5m_ldo25_reg: LDO25 {
188                                         regulator-name = "vdd_bridge";
189                                         regulator-min-microvolt = <1200000>;
190                                         regulator-max-microvolt = <1200000>;
191                                         reg_op_mode = <3>; /* Normal Mode */
192                                 };
193                                 s5m_buck1_reg: BUCK1 {
194                                         regulator-name = "vdd_mif";
195                                         regulator-min-microvolt = <950000>;
196                                         regulator-max-microvolt = <1300000>;
197                                         regulator-always-on;
198                                         regulator-boot-on;
199                                         reg_op_mode = <1>; /* Standby Mode */
200                                 };
201
202                                 s5m_buck2_reg: BUCK2 {
203                                         regulator-name = "vdd_arm";
204                                         regulator-min-microvolt = <850000>;
205                                         regulator-max-microvolt = <1350000>;
206                                         regulator-boot-on;
207                                         reg_op_mode = <1>; /* Standby Mode */
208                                 };
209
210                                 s5m_buck3_reg: BUCK3 {
211                                         regulator-name = "vdd_int";
212                                         regulator-min-microvolt = <900000>;
213                                         regulator-max-microvolt = <1200000>;
214                                         regulator-boot-on;
215                                         reg_op_mode = <1>; /* Standby Mode */
216                                 };
217
218                                 s5m_buck4_reg: BUCK4 {
219                                         regulator-name = "vdd_g3d";
220                                         regulator-min-microvolt = <850000>;
221                                         regulator-max-microvolt = <1300000>;
222                                         regulator-boot-on;
223                                         reg_op_mode = <1>; /* Standby Mode */
224                                 };
225
226                                 s5m_buck5_reg: BUCK5 {
227                                         regulator-name = "vdd_1v8";
228                                         regulator-min-microvolt = <1800000>;
229                                         regulator-max-microvolt = <1800000>;
230                                         regulator-always-on;
231                                         regulator-boot-on;
232                                         reg_op_mode = <3>; /* Normal Mode */
233                                 };
234
235                                 s5m_buck6_reg: BUCK6 {
236                                         regulator-name = "vdd_buck6";
237                                         regulator-min-microvolt = <1200000>;
238                                         regulator-max-microvolt = <1200000>;
239                                         regulator-always-on;
240                                         regulator-boot-on;
241                                         reg_op_mode = <0>; /* Off Mode */
242                                 };
243
244                                 s5m_buck9_reg: BUCK9 {
245                                         regulator-name = "vdd_ummc";
246                                         regulator-min-microvolt = <900000>;
247                                         regulator-max-microvolt = <3000000>;
248                                         regulator-always-on;
249                                         regulator-boot-on;
250                                         reg_op_mode = <1>;
251                                 };
252
253                                 s5m_en32khz_ap: EN32KHZ_AP {
254                                         regulator-name = "en32khz_ap";
255                                         regulator-boot-on;
256                                         reg_op_mode = <1>; /* Normal Mode */
257                                 };
258
259                                 s5m_en32khz_cp: EN32KHZ_CP {
260                                         regulator-name = "en32khz_cp";
261                                         regulator-boot-on;
262                                         reg_op_mode = <1>; /* Normal Mode */
263                                 };
264
265                                 s5m_en32khz_bt: EN32KHZ_BT {
266                                         regulator-name = "en32khz_bt";
267                                         regulator-boot-on;
268                                         reg_op_mode = <1>; /* Normal Mode */
269                                 };
270                         };
271                 };
272         };
273
274         i2c@12C70000 {
275                 trackpad-alt {
276                         reg=<0x4b>;
277                         compatible="atmel,atmel_mxt_tp";
278                         interrupts=<10 0>;
279                         interrupt-parent=<&wakeup_eint>;
280                         wakeup-source;
281                 };
282                 trackpad-bootloader {
283                         reg=<0x25>;
284                         compatible="atmel,atmel_mxt_tp";
285                         interrupts=<10 0>;
286                         interrupt-parent=<&wakeup_eint>;
287                         wakeup-source;
288                 };
289         };
290
291         i2c@12CA0000 {
292                 ec: chromeos-ec@0 {
293                         i2c-passthrough {
294                                 battery: sbs-battery@b {
295                                         compatible = "sbs,sbs-battery";
296                                         reg = <0xb>;
297                                         sbs,poll-retry-count = <1>;
298                                 };
299                         };
300
301                         charger {
302                                 compatible = "ti,cros_ec-charger";
303                         };
304                         power-regulator {
305                                 compatible = "ti,cros_ec-tps65090";
306
307                                 voltage-regulators {
308                                         VFET1 {
309                                                 tps65090-control-reg = <0x0f>;
310                                                 regulator-name = "vcd_led";
311                                                 regulator-min-microvolt = <12000000>;
312                                                 regulator-max-microvolt = <12000000>;
313                                         };
314                                         VFET3 {
315                                                 tps65090-control-reg = <0x11>;
316                                                 regulator-name = "wwan_r";
317                                                 regulator-min-microvolt = <3300000>;
318                                                 regulator-max-microvolt = <3300000>;
319                                                 regulator-always-on;
320                                         };
321                                         VFET6 {
322                                                 tps65090-control-reg = <0x14>;
323                                                 regulator-name = "lcd_vdd";
324                                                 regulator-min-microvolt = <3300000>;
325                                                 regulator-max-microvolt = <3300000>;
326                                         };
327                                         VFET7 {
328                                                 tps65090-control-reg = <0x15>;
329                                                 regulator-name = "ts";
330                                                 regulator-min-microvolt = <5000000>;
331                                                 regulator-max-microvolt = <5000000>;
332                                         };
333                                 };
334                         };
335                 };
336         };
337
338         i2c@12CD0000 {
339                 ps8622-bridge@8 {
340                         compatible = "parade,ps8622";
341                         reg = <0x08>;
342                         sleep-gpio = <&gpc3 6 1 0 0>;
343                         reset-gpio = <&gpc3 1 1 0 0>;
344                         hpd-gpio = <&gpc3 0 0 0 0>;
345                 };
346
347                 codec {
348                         compatible = "maxim,max98089", "maxim,max98088";
349                         reg = <0x10>;
350                         mic-left-digital;
351                         mic-right-digital;
352                         mclk-pin = <2>;
353                 };
354
355                 temp-sensor {
356                         compatible = "gmt,g781";
357                         reg = <0x4c>;
358                 };
359         };
360
361         sound {
362                 compatible = "google,daisy-audio-max98089";
363                 samsung,mic-det-gpios = <&gpx2 0 2 0x10000 0>;
364                 samsung,hp-det-gpios = <&gpx2 2 2 0 0>;
365         };
366
367         gpio-controllers {
368                 gpa0: gpio-controller@11400000 {
369                         powerdown-settings = <6 6 6 6 3 3 2 2>;
370                 };
371
372                 gpa1: gpio-controller@11400020 {
373                         powerdown-settings = <3 3 2 2 3 3>;
374                 };
375
376                 gpa2: gpio-controller@11400040 {
377                         powerdown-settings = <2 2 2 2 3 2 2 2>;
378                 };
379
380                 gpb0: gpio-controller@11400060 {
381                         powerdown-settings = <3 3 3 3 3>;
382                 };
383
384                 gpb1: gpio-controller@11400080 {
385                         powerdown-settings = <3 3 3 3 3>;
386                 };
387
388                 gpb2: gpio-controller@114000A0 {
389                         powerdown-settings = <3 3 2 2>;
390                 };
391
392                 gpb3: gpio-controller@114000C0 {
393                         powerdown-settings = <2 2 2 2>;
394                 };
395
396                 gpc0: gpio-controller@114000E0 {
397                         powerdown-settings = <6 2 2 2 2 2 2>;
398                 };
399
400                 gpc1: gpio-controller@11400100 {
401                         powerdown-settings = <2 2 2 2>;
402                 };
403
404                 gpc2: gpio-controller@11400120 {
405                         powerdown-settings = <3 1 3 3 3 3 3>;
406                 };
407
408                 gpc3: gpio-controller@11400140 {
409                         powerdown-settings = <6 2 1 2 2 2 2>;
410                 };
411
412                 gpc4: gpio-controller@114002E0 {
413                         powerdown-settings = <6 2 3 2 2 2 2>;
414                 };
415
416                 gpd0: gpio-controller@11400160 {
417                         powerdown-settings = <6 6 3 3>;
418                 };
419
420                 gpd1: gpio-controller@11400180 {
421                         powerdown-settings = <6 6 6 3 3 6 1 1>;
422                 };
423
424                 gpy0: gpio-controller@114001A0 {
425                         powerdown-settings = <3 3 6 3 3 3>;
426                 };
427
428                 gpy1: gpio-controller@114001C0 {
429                         powerdown-settings = <5 3 3 3>;
430                 };
431
432                 gpy2: gpio-controller@114001E0 {
433                         powerdown-settings = <3 3 3 3 3 2>;
434                 };
435
436                 gpy3: gpio-controller@11400200 {
437                         powerdown-settings = <3 3 3 3 3 3 3 3>;
438                 };
439
440                 gpy4: gpio-controller@11400220 {
441                         powerdown-settings = <3 3 3 3 3 3 3 3>;
442                 };
443
444                 gpy5: gpio-controller@11400240 {
445                         powerdown-settings = <3 3 3 3 3 3 3 3>;
446                 };
447
448                 gpy6: gpio-controller@11400260 {
449                         powerdown-settings = <3 3 3 3 3 3 3 3>;
450                 };
451
452                 /* gpx0: No powerdown mode, uses active mode on suspend */
453                 /* gpx1: No powerdown mode, uses active mode on suspend */
454                 /* gpx2: No powerdown mode, uses active mode on suspend */
455                 /* gpx3: No powerdown mode, uses active mode on suspend */
456
457                 gpe0: gpio-controller@13400000 {
458                         powerdown-settings = <5 3 3 3 2 2 3 3>;
459                 };
460
461                 gpe1: gpio-controller@13400020 {
462                         powerdown-settings = <5 3>;
463                 };
464
465                 gpf0: gpio-controller@13400040 {
466                         powerdown-settings = <3 3 1 2>;
467                 };
468
469                 gpf1: gpio-controller@13400060 {
470                         powerdown-settings = <3 3 3 3>;
471                 };
472
473                 gpg0: gpio-controller@13400080 {
474                         powerdown-settings = <3 3 3 3 3 3 3 3>;
475                 };
476
477                 gpg1: gpio-controller@134000A0 {
478                         powerdown-settings = <3 3 3 3 3 3 3 3>;
479                 };
480
481                 gpg2: gpio-controller@134000C0 {
482                         powerdown-settings = <3 3>;
483                 };
484
485                 gph0: gpio-controller@134000E0 {
486                         powerdown-settings = <3 3 3 3>;
487                 };
488
489                 gph1: gpio-controller@13400100 {
490                         powerdown-settings = <3 3 3 3 3 3 3 3>;
491                 };
492
493                 gpv0: gpio-controller@10D10000 {
494                         powerdown-settings = <3 3 3 3 3 3 3 3>;
495                 };
496
497                 gpv1: gpio-controller@10D10020 {
498                         powerdown-settings = <3 3 3 3 3 3 3 3>;
499                 };
500
501                 gpv2: gpio-controller@10D10040 {
502                         powerdown-settings = <3 3 3 3 3 3 3 3>;
503                 };
504
505                 gpv3: gpio-controller@10D10060 {
506                         powerdown-settings = <3 3 3 3 3 3 3 3>;
507                 };
508
509                 gpv4: gpio-controller@10D10080 {
510                         powerdown-settings = <3 3>;
511                 };
512
513                 gpz: gpio-controller@03860000 {
514                         powerdown-settings = <6 3 6 6 6 3 3>;
515                 };
516         };
517 };