Merge branch 'cleanup/blocksize-diet-part2' of git://git.kernel.org/pub/scm/linux...
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / exynos3250-monk.dts
1 /*
2  * Samsung's Exynos3250 based Monk board device tree source
3  *
4  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
5  *              http://www.samsung.com
6  *
7  * Device tree source file for Samsung's Monk board which is based on
8  * Samsung Exynos3250 SoC.
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License version 2 as
12  * published by the Free Software Foundation.
13  */
14
15 /dts-v1/;
16 #include "exynos3250.dtsi"
17 #include <dt-bindings/input/input.h>
18
19 / {
20         model = "Samsung Monk board";
21         compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
22
23         aliases {
24                 i2c7 = &i2c_max77836;
25         };
26
27         memory {
28                 reg =  <0x40000000 0x1ff00000>;
29         };
30
31         firmware@0205F000 {
32                 compatible = "samsung,secure-firmware";
33                 reg = <0x0205F000 0x1000>;
34         };
35
36         gpio_keys {
37                 compatible = "gpio-keys";
38
39                 power_key {
40                         interrupt-parent = <&gpx2>;
41                         interrupts = <7 0>;
42                         gpios = <&gpx2 7 1>;
43                         linux,code = <KEY_POWER>;
44                         label = "power key";
45                         debounce-interval = <10>;
46                         gpio-key,wakeup;
47                 };
48         };
49
50         vemmc_reg: voltage-regulator-0 {
51                 compatible = "regulator-fixed";
52                 regulator-name = "V_EMMC_2.8V-fixed";
53                 regulator-min-microvolt = <2800000>;
54                 regulator-max-microvolt = <2800000>;
55                 gpio = <&gpk0 2 0>;
56                 enable-active-high;
57         };
58
59         i2c_max77836: i2c-gpio-0 {
60                 compatible = "i2c-gpio";
61                 gpios = <&gpd0 2 0>, <&gpd0 3 0>;
62                 #address-cells = <1>;
63                 #size-cells = <0>;
64
65                 max77836: subpmic@25 {
66                         compatible = "maxim,max77836";
67                         interrupt-parent = <&gpx1>;
68                         interrupts = <5 0>;
69                         reg = <0x25>;
70                         wakeup;
71
72                         muic: max77836-muic {
73                                 compatible = "maxim,max77836-muic";
74                         };
75
76                         regulators {
77                                 compatible = "maxim,max77836-regulator";
78                                 safeout_reg: SAFEOUT {
79                                         regulator-name = "SAFEOUT";
80                                 };
81
82                                 charger_reg: CHARGER {
83                                         regulator-name = "CHARGER";
84                                         regulator-min-microamp = <45000>;
85                                         regulator-max-microamp = <475000>;
86                                         regulator-boot-on;
87                                 };
88
89                                 motor_reg: LDO1 {
90                                         regulator-name = "MOT_2.7V";
91                                         regulator-min-microvolt = <1100000>;
92                                         regulator-max-microvolt = <2700000>;
93                                 };
94
95                                 LDO2 {
96                                         regulator-name = "UNUSED_LDO2";
97                                         regulator-min-microvolt = <800000>;
98                                         regulator-max-microvolt = <3950000>;
99                                 };
100                         };
101
102                         charger {
103                                 compatible = "maxim,max77836-charger";
104
105                                 maxim,constant-uvolt = <4350000>;
106                                 maxim,fast-charge-uamp = <225000>;
107                                 maxim,eoc-uamp = <7500>;
108                                 maxim,ovp-uvolt = <6500000>;
109                         };
110                 };
111         };
112 };
113
114 &adc {
115         vdd-supply = <&ldo3_reg>;
116         status = "okay";
117         assigned-clocks = <&cmu CLK_SCLK_TSADC>;
118         assigned-clock-rates = <6000000>;
119
120         thermistor-ap {
121                 compatible = "ntc,ncp15wb473";
122                 pullup-uv = <1800000>;
123                 pullup-ohm = <100000>;
124                 pulldown-ohm = <100000>;
125                 io-channels = <&adc 0>;
126         };
127
128         thermistor-battery {
129                 compatible = "ntc,ncp15wb473";
130                 pullup-uv = <1800000>;
131                 pullup-ohm = <100000>;
132                 pulldown-ohm = <100000>;
133                 io-channels = <&adc 1>;
134         };
135 };
136
137 &i2c_0 {
138         #address-cells = <1>;
139         #size-cells = <0>;
140         samsung,i2c-sda-delay = <100>;
141         samsung,i2c-slave-addr = <0x10>;
142         samsung,i2c-max-bus-freq = <100000>;
143         status = "okay";
144
145         s2mps14_pmic@66 {
146                 compatible = "samsung,s2mps14-pmic";
147                 interrupt-parent = <&gpx0>;
148                 interrupts = <7 0>;
149                 reg = <0x66>;
150                 wakeup;
151
152                 s2mps14_osc: clocks {
153                         compatible = "samsung,s2mps14-clk";
154                         #clock-cells = <1>;
155                         clock-output-names = "s2mps14_ap", "unused",
156                                 "s2mps14_bt";
157                 };
158
159                 regulators {
160                         ldo1_reg: LDO1 {
161                                 regulator-name = "VAP_ALIVE_1.0V";
162                                 regulator-min-microvolt = <1000000>;
163                                 regulator-max-microvolt = <1000000>;
164                                 regulator-always-on;
165                         };
166
167                         ldo2_reg: LDO2 {
168                                 regulator-name = "VAP_M1_1.2V";
169                                 regulator-min-microvolt = <1200000>;
170                                 regulator-max-microvolt = <1200000>;
171                                 regulator-always-on;
172                         };
173
174                         ldo3_reg: LDO3 {
175                                 regulator-name = "VCC_AP_1.8V";
176                                 regulator-min-microvolt = <1800000>;
177                                 regulator-max-microvolt = <1800000>;
178                                 regulator-always-on;
179                         };
180
181                         ldo4_reg: LDO4 {
182                                 regulator-name = "VAP_AVDD_PLL1";
183                                 regulator-min-microvolt = <1800000>;
184                                 regulator-max-microvolt = <1800000>;
185                                 regulator-always-on;
186                         };
187
188                         ldo5_reg: LDO5 {
189                                 regulator-name = "VAP_PLL_ISO_1.0V";
190                                 regulator-min-microvolt = <1000000>;
191                                 regulator-max-microvolt = <1000000>;
192                                 regulator-always-on;
193                         };
194
195                         ldo6_reg: LDO6 {
196                                 regulator-name = "VAP_MIPI_1.0V";
197                                 regulator-min-microvolt = <1000000>;
198                                 regulator-max-microvolt = <1000000>;
199                         };
200
201                         ldo7_reg: LDO7 {
202                                 regulator-name = "VAP_AVDD_1.8V";
203                                 regulator-min-microvolt = <1800000>;
204                                 regulator-max-microvolt = <1800000>;
205                                 regulator-always-on;
206                         };
207
208                         ldo8_reg: LDO8 {
209                                 regulator-name = "VAP_USB_3.0V";
210                                 regulator-min-microvolt = <3000000>;
211                                 regulator-max-microvolt = <3000000>;
212                                 regulator-always-on;
213                         };
214
215                         ldo9_reg: LDO9 {
216                                 regulator-name = "V_LPDDR_1.2V";
217                                 regulator-min-microvolt = <1200000>;
218                                 regulator-max-microvolt = <1200000>;
219                                 regulator-always-on;
220                         };
221
222                         ldo10_reg: LDO10 {
223                                 regulator-name = "UNUSED_LDO10";
224                                 regulator-min-microvolt = <1000000>;
225                                 regulator-max-microvolt = <1000000>;
226                         };
227
228                         ldo11_reg: LDO11 {
229                                 regulator-name = "V_EMMC_1.8V";
230                                 regulator-min-microvolt = <1800000>;
231                                 regulator-max-microvolt = <1800000>;
232                                 samsung,ext-control-gpios = <&gpk0 2 0>;
233                         };
234
235                         ldo12_reg: LDO12 {
236                                 regulator-name = "V_EMMC_2.8V";
237                                 regulator-min-microvolt = <2800000>;
238                                 regulator-max-microvolt = <2800000>;
239                                 samsung,ext-control-gpios = <&gpk0 2 0>;
240                         };
241
242                         ldo13_reg: LDO13 {
243                                 regulator-name = "VSENSOR_2.85V";
244                                 regulator-min-microvolt = <2850000>;
245                                 regulator-max-microvolt = <2850000>;
246                                 regulator-always-on;
247                         };
248
249                         ldo14_reg: LDO14 {
250                                 regulator-name = "UNUSED_LDO14";
251                                 regulator-min-microvolt = <1800000>;
252                                 regulator-max-microvolt = <1800000>;
253                         };
254
255                         ldo15_reg: LDO15 {
256                                 regulator-name = "TSP_AVDD_3.3V";
257                                 regulator-min-microvolt = <3300000>;
258                                 regulator-max-microvolt = <3300000>;
259                         };
260
261                         ldo16_reg: LDO16 {
262                                 regulator-name = "LCD_VDD_3.3V";
263                                 regulator-min-microvolt = <3300000>;
264                                 regulator-max-microvolt = <3300000>;
265                         };
266
267                         ldo17_reg: LDO17 {
268                                 regulator-name = "UNUSED_LDO17";
269                                 regulator-min-microvolt = <1800000>;
270                                 regulator-max-microvolt = <1800000>;
271                         };
272
273                         ldo18_reg: LDO18 {
274                                 regulator-name = "UNUSED_LDO18";
275                                 regulator-min-microvolt = <1800000>;
276                                 regulator-max-microvolt = <1800000>;
277                         };
278
279                         ldo19_reg: LDO19 {
280                                 regulator-name = "TSP_VDD_1.8V";
281                                 regulator-min-microvolt = <1800000>;
282                                 regulator-max-microvolt = <1800000>;
283                         };
284
285                         ldo20_reg: LDO20 {
286                                 regulator-name = "LCD_VDD_1.8V";
287                                 regulator-min-microvolt = <1800000>;
288                                 regulator-max-microvolt = <1800000>;
289                         };
290
291                         ldo21_reg: LDO21 {
292                                 regulator-name = "UNUSED_LDO21";
293                                 regulator-min-microvolt = <1000000>;
294                                 regulator-max-microvolt = <1000000>;
295                         };
296
297                         ldo22_reg: LDO22 {
298                                 regulator-name = "UNUSED_LDO22";
299                                 regulator-min-microvolt = <1000000>;
300                                 regulator-max-microvolt = <1000000>;
301                         };
302
303                         ldo23_reg: LDO23 {
304                                 regulator-name = "UNUSED_LDO23";
305                                 regulator-min-microvolt = <1000000>;
306                                 regulator-max-microvolt = <1000000>;
307                                 regulator-always-on;
308                         };
309
310                         ldo24_reg: LDO24 {
311                                 regulator-name = "UNUSED_LDO24";
312                                 regulator-min-microvolt = <1800000>;
313                                 regulator-max-microvolt = <1800000>;
314                         };
315
316                         ldo25_reg: LDO25 {
317                                 regulator-name = "UNUSED_LDO25";
318                                 regulator-min-microvolt = <1800000>;
319                                 regulator-max-microvolt = <1800000>;
320                         };
321
322                         buck1_reg: BUCK1 {
323                                 regulator-name = "VAP_MIF_1.0V";
324                                 regulator-min-microvolt = <800000>;
325                                 regulator-max-microvolt = <900000>;
326                                 regulator-always-on;
327                         };
328
329                         buck2_reg: BUCK2 {
330                                 regulator-name = "VAP_ARM_1.0V";
331                                 regulator-min-microvolt = <850000>;
332                                 regulator-max-microvolt = <1150000>;
333                                 regulator-always-on;
334                         };
335
336                         buck3_reg: BUCK3 {
337                                 regulator-name = "VAP_INT3D_1.0V";
338                                 regulator-min-microvolt = <850000>;
339                                 regulator-max-microvolt = <1000000>;
340                                 regulator-always-on;
341                         };
342
343                         buck4_reg: BUCK4 {
344                                 regulator-name = "VCC_SUB_1.95V";
345                                 regulator-min-microvolt = <1950000>;
346                                 regulator-max-microvolt = <1950000>;
347                                 regulator-always-on;
348                         };
349
350                         buck5_reg: BUCK5 {
351                                 regulator-name = "VCC_SUB_1.35V";
352                                 regulator-min-microvolt = <1350000>;
353                                 regulator-max-microvolt = <1350000>;
354                                 regulator-always-on;
355                         };
356                 };
357         };
358 };
359
360 &i2c_1 {
361         #address-cells = <1>;
362         #size-cells = <0>;
363         samsung,i2c-sda-delay = <100>;
364         samsung,i2c-slave-addr = <0x10>;
365         samsung,i2c-max-bus-freq = <400000>;
366         status = "okay";
367
368         fuelgauge@36 {
369                 compatible = "maxim,max77836-battery";
370                 interrupt-parent = <&gpx1>;
371                 interrupts = <2 8>;
372                 reg = <0x36>;
373         };
374 };
375
376 &i2s2 {
377         status = "okay";
378 };
379
380 &mshc_0 {
381         #address-cells = <1>;
382         #size-cells = <0>;
383         num-slots = <1>;
384         broken-cd;
385         non-removable;
386         cap-mmc-highspeed;
387         desc-num = <4>;
388         mmc-hs200-1_8v;
389         card-detect-delay = <200>;
390         vmmc-supply = <&vemmc_reg>;
391         clock-frequency = <100000000>;
392         clock-freq-min-max = <400000 100000000>;
393         samsung,dw-mshc-ciu-div = <1>;
394         samsung,dw-mshc-sdr-timing = <0 1>;
395         samsung,dw-mshc-ddr-timing = <1 2>;
396         pinctrl-names = "default";
397         pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
398         bus-width = <8>;
399         status = "okay";
400 };
401
402 &serial_0 {
403         assigned-clocks = <&cmu CLK_SCLK_UART0>;
404         assigned-clock-rates = <100000000>;
405         status = "okay";
406 };
407
408 &serial_1 {
409         status = "okay";
410 };
411
412 &tmu {
413         vtmu-supply = <&ldo7_reg>;
414         status = "okay";
415 };
416
417 &rtc {
418         clocks = <&cmu CLK_RTC>, <&s2mps14_osc 0>;
419         clock-names = "rtc", "rtc_src";
420         status = "okay";
421 };
422
423 &xusbxti {
424         clock-frequency = <24000000>;
425 };
426
427 &pinctrl_0 {
428         pinctrl-names = "default";
429         pinctrl-0 = <&sleep0>;
430
431         sleep0: sleep-state {
432                 PIN_SLP(gpa0-0, INPUT, DOWN);
433                 PIN_SLP(gpa0-1, INPUT, DOWN);
434                 PIN_SLP(gpa0-2, INPUT, DOWN);
435                 PIN_SLP(gpa0-3, INPUT, DOWN);
436                 PIN_SLP(gpa0-4, INPUT, DOWN);
437                 PIN_SLP(gpa0-5, INPUT, DOWN);
438                 PIN_SLP(gpa0-6, INPUT, DOWN);
439                 PIN_SLP(gpa0-7, INPUT, DOWN);
440
441                 PIN_SLP(gpa1-0, INPUT, DOWN);
442                 PIN_SLP(gpa1-1, INPUT, DOWN);
443                 PIN_SLP(gpa1-2, INPUT, DOWN);
444                 PIN_SLP(gpa1-3, INPUT, DOWN);
445                 PIN_SLP(gpa1-4, INPUT, DOWN);
446                 PIN_SLP(gpa1-5, INPUT, DOWN);
447
448                 PIN_SLP(gpb-0, PREV, NONE);
449                 PIN_SLP(gpb-1, PREV, NONE);
450                 PIN_SLP(gpb-2, PREV, NONE);
451                 PIN_SLP(gpb-3, PREV, NONE);
452                 PIN_SLP(gpb-4, INPUT, DOWN);
453                 PIN_SLP(gpb-5, INPUT, DOWN);
454                 PIN_SLP(gpb-6, INPUT, DOWN);
455                 PIN_SLP(gpb-7, INPUT, DOWN);
456
457                 PIN_SLP(gpc0-0, INPUT, DOWN);
458                 PIN_SLP(gpc0-1, INPUT, DOWN);
459                 PIN_SLP(gpc0-2, INPUT, DOWN);
460                 PIN_SLP(gpc0-3, INPUT, DOWN);
461                 PIN_SLP(gpc0-4, INPUT, DOWN);
462
463                 PIN_SLP(gpc1-0, INPUT, DOWN);
464                 PIN_SLP(gpc1-1, INPUT, DOWN);
465                 PIN_SLP(gpc1-2, INPUT, DOWN);
466                 PIN_SLP(gpc1-3, INPUT, DOWN);
467                 PIN_SLP(gpc1-4, INPUT, DOWN);
468
469                 PIN_SLP(gpd0-0, INPUT, DOWN);
470                 PIN_SLP(gpd0-1, INPUT, DOWN);
471                 PIN_SLP(gpd0-2, INPUT, NONE);
472                 PIN_SLP(gpd0-3, INPUT, NONE);
473
474                 PIN_SLP(gpd1-0, INPUT, NONE);
475                 PIN_SLP(gpd1-1, INPUT, NONE);
476                 PIN_SLP(gpd1-2, INPUT, NONE);
477                 PIN_SLP(gpd1-3, INPUT, NONE);
478         };
479 };
480
481 &pinctrl_1 {
482         pinctrl-names = "default";
483         pinctrl-0 = <&sleep1>;
484
485         sleep1: sleep-state {
486                 PIN_SLP(gpe0-0, PREV, NONE);
487                 PIN_SLP(gpe0-1, PREV, NONE);
488                 PIN_SLP(gpe0-2, INPUT, DOWN);
489                 PIN_SLP(gpe0-3, INPUT, DOWN);
490                 PIN_SLP(gpe0-4, PREV, NONE);
491                 PIN_SLP(gpe0-5, INPUT, DOWN);
492                 PIN_SLP(gpe0-6, INPUT, DOWN);
493                 PIN_SLP(gpe0-7, INPUT, DOWN);
494
495                 PIN_SLP(gpe1-0, INPUT, DOWN);
496                 PIN_SLP(gpe1-1, PREV, NONE);
497                 PIN_SLP(gpe1-2, INPUT, DOWN);
498                 PIN_SLP(gpe1-3, INPUT, DOWN);
499                 PIN_SLP(gpe1-4, INPUT, DOWN);
500                 PIN_SLP(gpe1-5, INPUT, DOWN);
501                 PIN_SLP(gpe1-6, INPUT, DOWN);
502                 PIN_SLP(gpe1-7, INPUT, NONE);
503
504                 PIN_SLP(gpe2-0, INPUT, NONE);
505                 PIN_SLP(gpe2-1, INPUT, NONE);
506                 PIN_SLP(gpe2-2, INPUT, NONE);
507
508                 PIN_SLP(gpk0-0, INPUT, DOWN);
509                 PIN_SLP(gpk0-1, INPUT, DOWN);
510                 PIN_SLP(gpk0-2, OUT0, NONE);
511                 PIN_SLP(gpk0-3, INPUT, DOWN);
512                 PIN_SLP(gpk0-4, INPUT, DOWN);
513                 PIN_SLP(gpk0-5, INPUT, DOWN);
514                 PIN_SLP(gpk0-6, INPUT, DOWN);
515                 PIN_SLP(gpk0-7, INPUT, DOWN);
516
517                 PIN_SLP(gpk1-0, PREV, NONE);
518                 PIN_SLP(gpk1-1, PREV, NONE);
519                 PIN_SLP(gpk1-2, INPUT, DOWN);
520                 PIN_SLP(gpk1-3, PREV, NONE);
521                 PIN_SLP(gpk1-4, PREV, NONE);
522                 PIN_SLP(gpk1-5, PREV, NONE);
523                 PIN_SLP(gpk1-6, PREV, NONE);
524
525                 PIN_SLP(gpk2-0, INPUT, DOWN);
526                 PIN_SLP(gpk2-1, INPUT, DOWN);
527                 PIN_SLP(gpk2-2, INPUT, DOWN);
528                 PIN_SLP(gpk2-3, INPUT, DOWN);
529                 PIN_SLP(gpk2-4, INPUT, DOWN);
530                 PIN_SLP(gpk2-5, INPUT, DOWN);
531                 PIN_SLP(gpk2-6, INPUT, DOWN);
532
533                 PIN_SLP(gpl0-0, INPUT, DOWN);
534                 PIN_SLP(gpl0-1, INPUT, DOWN);
535                 PIN_SLP(gpl0-2, INPUT, DOWN);
536                 PIN_SLP(gpl0-3, INPUT, DOWN);
537
538                 PIN_SLP(gpm0-0, INPUT, DOWN);
539                 PIN_SLP(gpm0-1, INPUT, DOWN);
540                 PIN_SLP(gpm0-2, INPUT, DOWN);
541                 PIN_SLP(gpm0-3, INPUT, DOWN);
542                 PIN_SLP(gpm0-4, INPUT, DOWN);
543                 PIN_SLP(gpm0-5, INPUT, DOWN);
544                 PIN_SLP(gpm0-6, INPUT, DOWN);
545                 PIN_SLP(gpm0-7, INPUT, DOWN);
546
547                 PIN_SLP(gpm1-0, INPUT, DOWN);
548                 PIN_SLP(gpm1-1, INPUT, DOWN);
549                 PIN_SLP(gpm1-2, INPUT, DOWN);
550                 PIN_SLP(gpm1-3, INPUT, DOWN);
551                 PIN_SLP(gpm1-4, INPUT, DOWN);
552                 PIN_SLP(gpm1-5, INPUT, DOWN);
553                 PIN_SLP(gpm1-6, INPUT, DOWN);
554
555                 PIN_SLP(gpm2-0, INPUT, DOWN);
556                 PIN_SLP(gpm2-1, INPUT, DOWN);
557                 PIN_SLP(gpm2-2, INPUT, DOWN);
558                 PIN_SLP(gpm2-3, INPUT, DOWN);
559                 PIN_SLP(gpm2-4, INPUT, DOWN);
560
561                 PIN_SLP(gpm3-0, INPUT, DOWN);
562                 PIN_SLP(gpm3-1, INPUT, DOWN);
563                 PIN_SLP(gpm3-2, INPUT, DOWN);
564                 PIN_SLP(gpm3-3, INPUT, DOWN);
565                 PIN_SLP(gpm3-4, INPUT, DOWN);
566                 PIN_SLP(gpm3-5, INPUT, DOWN);
567                 PIN_SLP(gpm3-6, INPUT, DOWN);
568                 PIN_SLP(gpm3-7, INPUT, DOWN);
569
570                 PIN_SLP(gpm4-0, INPUT, DOWN);
571                 PIN_SLP(gpm4-1, INPUT, DOWN);
572                 PIN_SLP(gpm4-2, INPUT, DOWN);
573                 PIN_SLP(gpm4-3, INPUT, DOWN);
574                 PIN_SLP(gpm4-4, INPUT, DOWN);
575                 PIN_SLP(gpm4-5, INPUT, DOWN);
576                 PIN_SLP(gpm4-6, INPUT, DOWN);
577                 PIN_SLP(gpm4-7, INPUT, DOWN);
578         };
579 };