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