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