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