CHROMIUM: spring: dts: Instantiate s5m8767 PMIC.
[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         /*
28          * always de-activate the OHCI controller else it will force turning on
29          * the VBUS power on port 0 triggering an electrical conflict.
30          * We can remove this workaround (and support USB1.1 peripherals)
31          * once the next revision of hardware will modify the VBUS control.
32          */
33         ohci {
34                 status = "disabled";
35         };
36
37         gpio-keys {
38                 compatible = "gpio-keys";
39
40                 lid-switch {
41                         label = "Lid";
42                         gpios = <&gpx3 5 0 0x10000 0>;
43                         linux,input-type = <5>; /* EV_SW */
44                         linux,code = <0>; /* SW_LID */
45                         debounce-interval = <1>;
46                         gpio-key,wakeup;
47                 };
48         };
49
50         dwmmc1@12210000 {
51                 /*
52                  * MMC1 port is used for external Wifi card SDIO connection.
53                  *
54                  * We override the default configuration for this port which
55                  * disables it in cros5250-common.dtsi.
56                  */
57                 status = "okay";
58                 /* high speed is currently not behaving properly */
59                 //supports-highspeed;
60                 card-detection-broken;
61                 no-write-protect;
62                 keep-power-in-suspend;
63                 enable-sdio-wakeup;
64                 fifo-depth = <0x80>;
65                 card-detect-delay = <200>;
66                 samsung,dw-mshc-sdr-timing = <2 3 3>;
67                 samsung,dw-mshc-ddr-timing = <1 2 3>;
68
69                 slot0 {
70                         bus-width = <4>;
71                         gpios = <&gpc2 1 2 3 3>, <&gpc2 0 2 0 3>,
72                                 <&gpc2 3 2 3 3>, <&gpc2 4 2 3 3>,
73                                 <&gpc2 5 2 3 3>, <&gpc2 6 2 3 3>;
74                 };
75         };
76
77         dwmmc2@12220000 {
78                 /* MMC2 pins are used as GPIO for eDP bridge control */
79                 status = "disabled";
80         };
81
82         dwmmc3@12230000 {
83                 /*
84                  * Nothing is connected on MMC3 port : disable it.
85                  *
86                  * We override the default configuration for this port which
87                  * configures it for SDIO in cros5250-common.dtsi.
88                  */
89                 status = "disabled";
90         };
91
92         i2c@12C90000 {
93                 samsung,i2c-sda-delay = <100>;
94                 samsung,i2c-max-bus-freq = <400000>;
95                 gpios = <&gpa1 2 3 3 0>,
96                         <&gpa1 3 3 3 0>;
97
98                 tpm {
99                         compatible = "infineon,slb9645tt";
100                         reg = <0x20>;
101                 };
102         };
103
104         i2c@12C60000 {
105                 s5m8767_pmic@66 {
106                         compatible = "samsung,s5m8767-pmic";
107                         interrupt-parent = <&wakeup_eint>;
108                         interrupts = <26 0>;
109                         wakeup-source;
110                         reg = <0x66>;
111
112                         s5m-core,enable-low-jitter;
113                         s5m-core,device_type = <2>;
114                         s5m8767,buck_ramp_delay = <25>;         /* default */
115                         s5m8767,buck2_ramp_enable;              /* default */
116                         s5m8767,buck3_ramp_enable;              /* default */
117                         s5m8767,buck4_ramp_enable;              /* default */
118
119                         voltage-regulators {
120                                 s5m_ldo6_reg: LDO6 {
121                                         regulator-name = "vdd_ldo6";
122                                         regulator-min-microvolt = <1000000>;
123                                         regulator-max-microvolt = <1000000>;
124                                         regulator-always-on;
125                                         reg_op_mode = <0>; /* Off Mode */
126                                 };
127                                 s5m_ldo7_reg: LDO7 {
128                                         regulator-name = "vdd_ldo7";
129                                         regulator-min-microvolt = <1100000>;
130                                         regulator-max-microvolt = <1100000>;
131                                         regulator-always-on;
132                                         reg_op_mode = <1>; /* Standby Mode */
133                                 };
134                                 s5m_ldo8_reg: LDO8 {
135                                         regulator-name = "vdd_ldo8";
136                                         regulator-min-microvolt = <1000000>;
137                                         regulator-max-microvolt = <1000000>;
138                                         regulator-always-on;
139                                         reg_op_mode = <1>; /* Standby Mode */
140                                 };
141                                 s5m_ldo10_reg: LDO10 {
142                                         regulator-name = "vdd_ldo10";
143                                         regulator-min-microvolt = <1800000>;
144                                         regulator-max-microvolt = <1800000>;
145                                         regulator-always-on;
146                                         reg_op_mode = <1>; /* Standby Mode */
147                                 };
148                                 s5m_ldo11_reg: LDO11 {
149                                         regulator-name = "vdd_ldo11";
150                                         regulator-min-microvolt = <1800000>;
151                                         regulator-max-microvolt = <1800000>;
152                                         regulator-always-on;
153                                         reg_op_mode = <0>; /* Off Mode */
154                                 };
155                                 s5m_ldo12_reg: LDO12 {
156                                         regulator-name = "vdd_ldo12";
157                                         regulator-min-microvolt = <3000000>;
158                                         regulator-max-microvolt = <3000000>;
159                                         regulator-always-on;
160                                         reg_op_mode = <1>; /* Standby Mode */
161                                 };
162                                 s5m_ldo13_reg: LDO13 {
163                                         regulator-name = "vdd_ldo13";
164                                         regulator-min-microvolt = <1800000>;
165                                         regulator-max-microvolt = <1800000>;
166                                         regulator-always-on;
167                                         reg_op_mode = <0>; /* Off Mode */
168                                 };
169                                 s5m_ldo14_reg: LDO14 {
170                                         regulator-name = "vdd_ldo14";
171                                         regulator-min-microvolt = <1800000>;
172                                         regulator-max-microvolt = <1800000>;
173                                         regulator-always-on;
174                                         reg_op_mode = <1>; /* Standby Mode */
175                                 };
176                                 s5m_ldo15_reg: LDO15 {
177                                         regulator-name = "vdd_ldo15";
178                                         regulator-min-microvolt = <1000000>;
179                                         regulator-max-microvolt = <1000000>;
180                                         regulator-always-on;
181                                         reg_op_mode = <1>; /* Standby Mode */
182                                 };
183                                 s5m_ldo16_reg: LDO16 {
184                                         regulator-name = "vdd_ldo16";
185                                         regulator-min-microvolt = <1800000>;
186                                         regulator-max-microvolt = <1800000>;
187                                         regulator-always-on;
188                                         reg_op_mode = <1>; /* Standby Mode */
189                                 };
190                                 s5m_ldo25_reg: LDO25 {
191                                         regulator-name = "vdd_bridge";
192                                         regulator-min-microvolt = <1200000>;
193                                         regulator-max-microvolt = <1200000>;
194                                         regulator-always-on;
195                                         reg_op_mode = <3>; /* Normal Mode */
196                                 };
197
198                                 s5m_buck1_reg: BUCK1 {
199                                         regulator-name = "vdd_mif";
200                                         regulator-min-microvolt = <950000>;
201                                         regulator-max-microvolt = <1300000>;
202                                         regulator-always-on;
203                                         regulator-boot-on;
204                                         reg_op_mode = <1>; /* Standby Mode */
205                                 };
206
207                                 s5m_buck2_reg: BUCK2 {
208                                         regulator-name = "vdd_arm";
209                                         regulator-min-microvolt = <850000>;
210                                         regulator-max-microvolt = <1350000>;
211                                         regulator-boot-on;
212                                         reg_op_mode = <1>; /* Standby Mode */
213                                 };
214
215                                 s5m_buck3_reg: BUCK3 {
216                                         regulator-name = "vdd_int";
217                                         regulator-min-microvolt = <900000>;
218                                         regulator-max-microvolt = <1200000>;
219                                         regulator-boot-on;
220                                         reg_op_mode = <1>; /* Standby Mode */
221                                 };
222
223                                 s5m_buck4_reg: BUCK4 {
224                                         regulator-name = "vdd_g3d";
225                                         regulator-min-microvolt = <850000>;
226                                         regulator-max-microvolt = <1300000>;
227                                         regulator-boot-on;
228                                         reg_op_mode = <1>; /* Standby Mode */
229                                 };
230
231                                 s5m_buck5_reg: BUCK5 {
232                                         regulator-name = "vdd_1v8";
233                                         regulator-min-microvolt = <1800000>;
234                                         regulator-max-microvolt = <1800000>;
235                                         regulator-always-on;
236                                         regulator-boot-on;
237                                         /* No Standby/Low Power mode for BUCK5 */
238                                         reg_op_mode = <3>; /* Normal Mode */
239                                 };
240
241                                 s5m_buck8_reg: BUCK8 {
242                                         regulator-name = "vdd_ummc";
243                                         regulator-min-microvolt = <900000>;
244                                         regulator-max-microvolt = <3000000>;
245                                         regulator-always-on;
246                                         regulator-boot-on;
247                                         /* Turn BUCK8 off when ENB8 is low */
248                                         reg_op_mode = <1>;
249                                 };
250
251                                 s5m_en32khz_ap: EN32KHZ_AP {
252                                         regulator-name = "en32khz_ap";
253                                         regulator-boot-on;
254                                         reg_op_mode = <1>; /* Normal Mode */
255                                 };
256
257                                 s5m_en32khz_cp: EN32KHZ_CP {
258                                         regulator-name = "en32khz_cp";
259                                         regulator-boot-on;
260                                         reg_op_mode = <1>; /* Normal Mode */
261                                 };
262
263                                 s5m_enp32kh: ENP32KHZ {
264                                         regulator-name = "enp32khz";
265                                         regulator-boot-on;
266                                         reg_op_mode = <1>; /* Normal Mode */
267                                 };
268                         };
269                 };
270         };
271
272         i2c@12CD0000 {
273                 ps8622-bridge@8 {
274                         compatible = "parade,ps8622";
275                         reg = <0x08>;
276                         sleep-gpio = <&gpc3 6 1 0 0>;
277                         reset-gpio = <&gpc3 1 1 0 0>;
278                         hpd-gpio = <&gpc3 0 0 0 0>;
279                 };
280
281                 codec {
282                         mclk-pin = <2>;
283                 };
284
285                 temp-sensor {
286                         compatible = "gmt,g781";
287                         reg = <0x4c>;
288                 };
289         };
290
291         sound {
292                 samsung,mic-det-gpios = <&gpx2 0 2 0x10000 0>;
293                 samsung,hp-det-gpios = <&gpx2 2 2 0 0>;
294         };
295
296         gpio-controllers {
297                 gpa0: gpio-controller@11400000 {
298                         powerdown-settings = <6 6 6 6 3 3 2 2>;
299                 };
300
301                 gpa1: gpio-controller@11400020 {
302                         powerdown-settings = <3 3 2 2 3 3>;
303                 };
304
305                 gpa2: gpio-controller@11400040 {
306                         powerdown-settings = <2 2 2 2 3 2 2 2>;
307                 };
308
309                 gpb0: gpio-controller@11400060 {
310                         powerdown-settings = <3 3 3 3 3>;
311                 };
312
313                 gpb1: gpio-controller@11400080 {
314                         powerdown-settings = <3 3 3 3 3>;
315                 };
316
317                 gpb2: gpio-controller@114000A0 {
318                         powerdown-settings = <3 3 2 2>;
319                 };
320
321                 gpb3: gpio-controller@114000C0 {
322                         powerdown-settings = <2 2 2 2>;
323                 };
324
325                 gpc0: gpio-controller@114000E0 {
326                         powerdown-settings = <6 2 2 2 2 2 2>;
327                 };
328
329                 gpc1: gpio-controller@11400100 {
330                         powerdown-settings = <2 2 2 2>;
331                 };
332
333                 gpc2: gpio-controller@11400120 {
334                         powerdown-settings = <3 1 3 3 3 3 3>;
335                 };
336
337                 gpc3: gpio-controller@11400140 {
338                         powerdown-settings = <6 2 1 2 2 2 2>;
339                 };
340
341                 gpc4: gpio-controller@114002E0 {
342                         powerdown-settings = <6 2 3 2 2 2 2>;
343                 };
344
345                 gpd0: gpio-controller@11400160 {
346                         powerdown-settings = <6 6 3 3>;
347                 };
348
349                 gpd1: gpio-controller@11400180 {
350                         powerdown-settings = <6 6 6 3 3 6 1 1>;
351                 };
352
353                 gpy0: gpio-controller@114001A0 {
354                         powerdown-settings = <3 3 6 3 3 3>;
355                 };
356
357                 gpy1: gpio-controller@114001C0 {
358                         powerdown-settings = <5 3 3 3>;
359                 };
360
361                 gpy2: gpio-controller@114001E0 {
362                         powerdown-settings = <3 3 3 3 3 2>;
363                 };
364
365                 gpy3: gpio-controller@11400200 {
366                         powerdown-settings = <3 3 3 3 3 3 3 3>;
367                 };
368
369                 gpy4: gpio-controller@11400220 {
370                         powerdown-settings = <3 3 3 3 3 3 3 3>;
371                 };
372
373                 gpy5: gpio-controller@11400240 {
374                         powerdown-settings = <3 3 3 3 3 3 3 3>;
375                 };
376
377                 gpy6: gpio-controller@11400260 {
378                         powerdown-settings = <3 3 3 3 3 3 3 3>;
379                 };
380
381                 /* gpx0: No powerdown mode, uses active mode on suspend */
382                 /* gpx1: No powerdown mode, uses active mode on suspend */
383                 /* gpx2: No powerdown mode, uses active mode on suspend */
384                 /* gpx3: No powerdown mode, uses active mode on suspend */
385
386                 gpe0: gpio-controller@13400000 {
387                         powerdown-settings = <5 3 3 3 2 2 3 3>;
388                 };
389
390                 gpe1: gpio-controller@13400020 {
391                         powerdown-settings = <5 3>;
392                 };
393
394                 gpf0: gpio-controller@13400040 {
395                         powerdown-settings = <3 3 1 2>;
396                 };
397
398                 gpf1: gpio-controller@13400060 {
399                         powerdown-settings = <3 3 3 3>;
400                 };
401
402                 gpg0: gpio-controller@13400080 {
403                         powerdown-settings = <3 3 3 3 3 3 3 3>;
404                 };
405
406                 gpg1: gpio-controller@134000A0 {
407                         powerdown-settings = <3 3 3 3 3 3 3 3>;
408                 };
409
410                 gpg2: gpio-controller@134000C0 {
411                         powerdown-settings = <3 3>;
412                 };
413
414                 gph0: gpio-controller@134000E0 {
415                         powerdown-settings = <3 3 3 3>;
416                 };
417
418                 gph1: gpio-controller@13400100 {
419                         powerdown-settings = <3 3 3 3 3 3 3 3>;
420                 };
421
422                 gpv0: gpio-controller@10D10000 {
423                         powerdown-settings = <3 3 3 3 3 3 3 3>;
424                 };
425
426                 gpv1: gpio-controller@10D10020 {
427                         powerdown-settings = <3 3 3 3 3 3 3 3>;
428                 };
429
430                 gpv2: gpio-controller@10D10040 {
431                         powerdown-settings = <3 3 3 3 3 3 3 3>;
432                 };
433
434                 gpv3: gpio-controller@10D10060 {
435                         powerdown-settings = <3 3 3 3 3 3 3 3>;
436                 };
437
438                 gpv4: gpio-controller@10D10080 {
439                         powerdown-settings = <3 3>;
440                 };
441
442                 gpz: gpio-controller@03860000 {
443                         powerdown-settings = <6 3 6 6 6 3 3>;
444                 };
445         };
446
447         ehci {
448                 /*
449                  * disable port 0 to avoid electrical conflict on VBUS
450                  * port 2 is not used
451                  */
452                 samsung,port_used_bitmap = <0x2>;
453         };
454 };