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