]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - arch/arm/boot/dts/exynos3250-rinato.dts
Merge branches 'acpi-fan', 'acpi-video' and 'acpi-ec'
[mirror_ubuntu-focal-kernel.git] / arch / arm / boot / dts / exynos3250-rinato.dts
1 /*
2 * Samsung's Exynos3250 based Rinato 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 Rinato 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 Rinato board";
21 compatible = "samsung,rinato", "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 i2c_max77836: i2c-gpio-0 {
51 compatible = "i2c-gpio";
52 gpios = <&gpd0 2 0>, <&gpd0 3 0>;
53 #address-cells = <1>;
54 #size-cells = <0>;
55
56 max77836: subpmic@25 {
57 compatible = "maxim,max77836";
58 interrupt-parent = <&gpx1>;
59 interrupts = <5 0>;
60 reg = <0x25>;
61 wakeup;
62
63 muic: max77836-muic {
64 compatible = "maxim,max77836-muic";
65 };
66
67 regulators {
68 compatible = "maxim,max77836-regulator";
69 safeout_reg: SAFEOUT {
70 regulator-name = "SAFEOUT";
71 };
72
73 charger_reg: CHARGER {
74 regulator-name = "CHARGER";
75 regulator-min-microamp = <45000>;
76 regulator-max-microamp = <475000>;
77 regulator-boot-on;
78 };
79
80 motor_reg: LDO1 {
81 regulator-name = "MOT_2.7V";
82 regulator-min-microvolt = <1100000>;
83 regulator-max-microvolt = <2700000>;
84 };
85
86 LDO2 {
87 regulator-name = "UNUSED_LDO2";
88 regulator-min-microvolt = <800000>;
89 regulator-max-microvolt = <3950000>;
90 };
91 };
92
93 charger {
94 compatible = "maxim,max77836-charger";
95
96 maxim,constant-uvolt = <4350000>;
97 maxim,fast-charge-uamp = <225000>;
98 maxim,eoc-uamp = <7500>;
99 maxim,ovp-uvolt = <6500000>;
100 };
101 };
102 };
103 };
104
105 &adc {
106 vdd-supply = <&ldo3_reg>;
107 status = "okay";
108 assigned-clocks = <&cmu CLK_SCLK_TSADC>;
109 assigned-clock-rates = <6000000>;
110
111 thermistor-ap {
112 compatible = "ntc,ncp15wb473";
113 pullup-uv = <1800000>;
114 pullup-ohm = <100000>;
115 pulldown-ohm = <100000>;
116 io-channels = <&adc 0>;
117 };
118
119 thermistor-battery {
120 compatible = "ntc,ncp15wb473";
121 pullup-uv = <1800000>;
122 pullup-ohm = <100000>;
123 pulldown-ohm = <100000>;
124 io-channels = <&adc 1>;
125 };
126 };
127
128 &i2c_0 {
129 #address-cells = <1>;
130 #size-cells = <0>;
131 samsung,i2c-sda-delay = <100>;
132 samsung,i2c-slave-addr = <0x10>;
133 samsung,i2c-max-bus-freq = <100000>;
134 status = "okay";
135
136 s2mps14_pmic@66 {
137 compatible = "samsung,s2mps14-pmic";
138 interrupt-parent = <&gpx0>;
139 interrupts = <7 0>;
140 reg = <0x66>;
141 wakeup;
142
143 s2mps14_osc: clocks {
144 compatible = "samsung,s2mps14-clk";
145 #clock-cells = <1>;
146 clock-output-names = "s2mps14_ap", "unused",
147 "s2mps14_bt";
148 };
149
150 regulators {
151 ldo1_reg: LDO1 {
152 regulator-name = "VAP_ALIVE_1.0V";
153 regulator-min-microvolt = <1000000>;
154 regulator-max-microvolt = <1000000>;
155 regulator-always-on;
156
157 regulator-state-mem {
158 regulator-on-in-suspend;
159 };
160 };
161
162 ldo2_reg: LDO2 {
163 regulator-name = "VAP_M1_1.2V";
164 regulator-min-microvolt = <1200000>;
165 regulator-max-microvolt = <1200000>;
166 regulator-always-on;
167
168 regulator-state-mem {
169 regulator-off-in-suspend;
170 };
171 };
172
173 ldo3_reg: LDO3 {
174 regulator-name = "VCC_AP_1.8V";
175 regulator-min-microvolt = <1800000>;
176 regulator-max-microvolt = <1800000>;
177 regulator-always-on;
178
179 regulator-state-mem {
180 regulator-off-in-suspend;
181 };
182 };
183
184 ldo4_reg: LDO4 {
185 regulator-name = "VAP_AVDD_PLL1";
186 regulator-min-microvolt = <1800000>;
187 regulator-max-microvolt = <1800000>;
188 regulator-always-on;
189
190 regulator-state-mem {
191 regulator-off-in-suspend;
192 };
193 };
194
195 ldo5_reg: LDO5 {
196 regulator-name = "VAP_PLL_ISO_1.0V";
197 regulator-min-microvolt = <1000000>;
198 regulator-max-microvolt = <1000000>;
199 regulator-always-on;
200
201 regulator-state-mem {
202 regulator-off-in-suspend;
203 };
204 };
205
206 ldo6_reg: LDO6 {
207 regulator-name = "VAP_VMIPI_1.0V";
208 regulator-min-microvolt = <1000000>;
209 regulator-max-microvolt = <1000000>;
210 regulator-always-on;
211
212 regulator-state-mem {
213 regulator-off-in-suspend;
214 };
215 };
216
217 ldo7_reg: LDO7 {
218 regulator-name = "VAP_AVDD_1.8V";
219 regulator-min-microvolt = <1800000>;
220 regulator-max-microvolt = <1800000>;
221 regulator-always-on;
222
223 regulator-state-mem {
224 regulator-off-in-suspend;
225 };
226 };
227
228 ldo8_reg: LDO8 {
229 regulator-name = "VAP_USB_3.0V";
230 regulator-min-microvolt = <3000000>;
231 regulator-max-microvolt = <3000000>;
232 regulator-always-on;
233
234 regulator-state-mem {
235 regulator-off-in-suspend;
236 };
237 };
238
239 ldo9_reg: LDO9 {
240 regulator-name = "V_LPDDR_1.2V";
241 regulator-min-microvolt = <1200000>;
242 regulator-max-microvolt = <1200000>;
243 regulator-always-on;
244
245 regulator-state-mem {
246 regulator-on-in-suspend;
247 };
248 };
249
250 ldo10_reg: LDO10 {
251 regulator-name = "UNUSED_LDO10";
252 regulator-min-microvolt = <1000000>;
253 regulator-max-microvolt = <1000000>;
254
255 regulator-state-mem {
256 regulator-off-in-suspend;
257 };
258 };
259
260 ldo11_reg: LDO11 {
261 regulator-name = "V_EMMC_1.8V";
262 regulator-min-microvolt = <1800000>;
263 regulator-max-microvolt = <1800000>;
264 samsung,ext-control-gpios = <&gpk0 2 0>;
265 };
266
267 ldo12_reg: LDO12 {
268 regulator-name = "V_EMMC_2.8V";
269 regulator-min-microvolt = <2800000>;
270 regulator-max-microvolt = <2800000>;
271 samsung,ext-control-gpios = <&gpk0 2 0>;
272 };
273
274 ldo13_reg: LDO13 {
275 regulator-name = "CAM_AVDD_2.8V";
276 regulator-min-microvolt = <2800000>;
277 regulator-max-microvolt = <2800000>;
278
279 regulator-state-mem {
280 regulator-off-in-suspend;
281 };
282 };
283
284 ldo14_reg: LDO14 {
285 regulator-name = "UNUSED_LDO14";
286 regulator-min-microvolt = <2700000>;
287 regulator-max-microvolt = <2700000>;
288
289 regulator-state-mem {
290 regulator-off-in-suspend;
291 };
292 };
293
294 ldo15_reg: LDO15 {
295 regulator-name = "TSP_AVDD_3.3V";
296 regulator-min-microvolt = <3300000>;
297 regulator-max-microvolt = <3300000>;
298
299 regulator-state-mem {
300 regulator-off-in-suspend;
301 };
302 };
303
304 ldo16_reg: LDO16 {
305 regulator-name = "LCD_VDD_3.3V";
306 regulator-min-microvolt = <3300000>;
307 regulator-max-microvolt = <3300000>;
308
309 regulator-state-mem {
310 regulator-off-in-suspend;
311 };
312 };
313
314 ldo17_reg: LDO17 {
315 regulator-name = "V_IRLED_3.3V";
316 regulator-min-microvolt = <3300000>;
317 regulator-max-microvolt = <3300000>;
318
319 regulator-state-mem {
320 regulator-off-in-suspend;
321 };
322 };
323
324 ldo18_reg: LDO18 {
325 regulator-name = "CAM_AF_2.8V";
326 regulator-min-microvolt = <2800000>;
327 regulator-max-microvolt = <2800000>;
328
329 regulator-state-mem {
330 regulator-off-in-suspend;
331 };
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 regulator-state-mem {
340 regulator-off-in-suspend;
341 };
342 };
343
344 ldo20_reg: LDO20 {
345 regulator-name = "LCD_VDD_1.8V";
346 regulator-min-microvolt = <1800000>;
347 regulator-max-microvolt = <1800000>;
348
349 regulator-state-mem {
350 regulator-off-in-suspend;
351 };
352 };
353
354 ldo21_reg: LDO21 {
355 regulator-name = "CAM_IO_1.8V";
356 regulator-min-microvolt = <1800000>;
357 regulator-max-microvolt = <1800000>;
358
359 regulator-state-mem {
360 regulator-off-in-suspend;
361 };
362 };
363
364 ldo22_reg: LDO22 {
365 regulator-name = "CAM_DVDD_1.2V";
366 regulator-min-microvolt = <1200000>;
367 regulator-max-microvolt = <1200000>;
368
369 regulator-state-mem {
370 regulator-off-in-suspend;
371 };
372 };
373
374 ldo23_reg: LDO23 {
375 regulator-name = "HRM_VCC_1.8V";
376 regulator-min-microvolt = <1800000>;
377 regulator-max-microvolt = <1800000>;
378 regulator-always-on;
379 };
380
381 ldo24_reg: LDO24 {
382 regulator-name = "HRM_VCC_3.3V";
383 regulator-min-microvolt = <3000000>;
384 regulator-max-microvolt = <3000000>;
385
386 regulator-state-mem {
387 regulator-off-in-suspend;
388 };
389 };
390
391 ldo25_reg: LDO25 {
392 regulator-name = "UNUSED_LDO25";
393 regulator-min-microvolt = <3000000>;
394 regulator-max-microvolt = <3000000>;
395
396 regulator-state-mem {
397 regulator-off-in-suspend;
398 };
399 };
400
401 buck1_reg: BUCK1 {
402 regulator-name = "VAP_MIF_1.0V";
403 regulator-min-microvolt = <800000>;
404 regulator-max-microvolt = <900000>;
405 regulator-always-on;
406
407 regulator-state-mem {
408 regulator-off-in-suspend;
409 };
410 };
411
412 buck2_reg: BUCK2 {
413 regulator-name = "VAP_ARM_1.0V";
414 regulator-min-microvolt = <850000>;
415 regulator-max-microvolt = <1150000>;
416 regulator-always-on;
417
418 regulator-state-mem {
419 regulator-off-in-suspend;
420 };
421 };
422
423 buck3_reg: BUCK3 {
424 regulator-name = "VAP_INT3D_1.0V";
425 regulator-min-microvolt = <850000>;
426 regulator-max-microvolt = <1000000>;
427 regulator-always-on;
428
429 regulator-state-mem {
430 regulator-off-in-suspend;
431 };
432 };
433
434 buck4_reg: BUCK4 {
435 regulator-name = "VCC_SUB_1.95V";
436 regulator-min-microvolt = <1950000>;
437 regulator-max-microvolt = <1950000>;
438 regulator-always-on;
439
440 regulator-state-mem {
441 regulator-on-in-suspend;
442 };
443 };
444
445 buck5_reg: BUCK5 {
446 regulator-name = "VCC_SUB_1.35V";
447 regulator-min-microvolt = <1350000>;
448 regulator-max-microvolt = <1350000>;
449 regulator-always-on;
450
451 regulator-state-mem {
452 regulator-on-in-suspend;
453 };
454 };
455 };
456 };
457 };
458
459 &i2c_1 {
460 #address-cells = <1>;
461 #size-cells = <0>;
462 samsung,i2c-sda-delay = <100>;
463 samsung,i2c-slave-addr = <0x10>;
464 samsung,i2c-max-bus-freq = <400000>;
465 status = "okay";
466
467 fuelgauge@36 {
468 compatible = "maxim,max77836-battery";
469 interrupt-parent = <&gpx1>;
470 interrupts = <2 8>;
471 reg = <0x36>;
472 };
473 };
474
475 &i2s2 {
476 status = "okay";
477 };
478
479 &mfc {
480 status = "okay";
481 };
482
483 &mshc_0 {
484 #address-cells = <1>;
485 #size-cells = <0>;
486 num-slots = <1>;
487 broken-cd;
488 non-removable;
489 cap-mmc-highspeed;
490 desc-num = <4>;
491 mmc-hs200-1_8v;
492 card-detect-delay = <200>;
493 vmmc-supply = <&ldo12_reg>;
494 clock-frequency = <100000000>;
495 clock-freq-min-max = <400000 100000000>;
496 samsung,dw-mshc-ciu-div = <1>;
497 samsung,dw-mshc-sdr-timing = <0 1>;
498 samsung,dw-mshc-ddr-timing = <1 2>;
499 pinctrl-names = "default";
500 pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
501 bus-width = <8>;
502 status = "okay";
503 };
504
505 &serial_0 {
506 assigned-clocks = <&cmu CLK_SCLK_UART0>;
507 assigned-clock-rates = <100000000>;
508 status = "okay";
509 };
510
511 &serial_1 {
512 status = "okay";
513 };
514
515 &tmu {
516 vtmu-supply = <&ldo7_reg>;
517 status = "okay";
518 };
519
520 &rtc {
521 clocks = <&cmu CLK_RTC>, <&s2mps14_osc 0>;
522 clock-names = "rtc", "rtc_src";
523 status = "okay";
524 };
525
526 &xusbxti {
527 clock-frequency = <24000000>;
528 };
529
530 &pinctrl_0 {
531 pinctrl-names = "default";
532 pinctrl-0 = <&sleep0>;
533
534 sleep0: sleep-state {
535 PIN_SLP(gpa0-0, INPUT, DOWN);
536 PIN_SLP(gpa0-1, INPUT, DOWN);
537 PIN_SLP(gpa0-2, INPUT, DOWN);
538 PIN_SLP(gpa0-3, INPUT, DOWN);
539 PIN_SLP(gpa0-4, INPUT, DOWN);
540 PIN_SLP(gpa0-5, INPUT, DOWN);
541 PIN_SLP(gpa0-6, INPUT, DOWN);
542 PIN_SLP(gpa0-7, INPUT, DOWN);
543
544 PIN_SLP(gpa1-0, INPUT, DOWN);
545 PIN_SLP(gpa1-1, INPUT, DOWN);
546 PIN_SLP(gpa1-2, INPUT, DOWN);
547 PIN_SLP(gpa1-3, INPUT, DOWN);
548 PIN_SLP(gpa1-4, INPUT, DOWN);
549 PIN_SLP(gpa1-5, INPUT, DOWN);
550
551 PIN_SLP(gpb-0, PREV, NONE);
552 PIN_SLP(gpb-1, PREV, NONE);
553 PIN_SLP(gpb-2, PREV, NONE);
554 PIN_SLP(gpb-3, PREV, NONE);
555 PIN_SLP(gpb-4, INPUT, DOWN);
556 PIN_SLP(gpb-5, INPUT, DOWN);
557 PIN_SLP(gpb-6, INPUT, DOWN);
558 PIN_SLP(gpb-7, INPUT, DOWN);
559
560 PIN_SLP(gpc0-0, INPUT, DOWN);
561 PIN_SLP(gpc0-1, INPUT, DOWN);
562 PIN_SLP(gpc0-2, INPUT, DOWN);
563 PIN_SLP(gpc0-3, INPUT, DOWN);
564 PIN_SLP(gpc0-4, INPUT, DOWN);
565
566 PIN_SLP(gpc1-0, INPUT, DOWN);
567 PIN_SLP(gpc1-1, INPUT, DOWN);
568 PIN_SLP(gpc1-2, INPUT, DOWN);
569 PIN_SLP(gpc1-3, INPUT, DOWN);
570 PIN_SLP(gpc1-4, INPUT, DOWN);
571
572 PIN_SLP(gpd0-0, INPUT, DOWN);
573 PIN_SLP(gpd0-1, INPUT, DOWN);
574 PIN_SLP(gpd0-2, INPUT, NONE);
575 PIN_SLP(gpd0-3, INPUT, NONE);
576
577 PIN_SLP(gpd1-0, INPUT, NONE);
578 PIN_SLP(gpd1-1, INPUT, NONE);
579 PIN_SLP(gpd1-2, INPUT, NONE);
580 PIN_SLP(gpd1-3, INPUT, NONE);
581 };
582 };
583
584 &pinctrl_1 {
585 pinctrl-names = "default";
586 pinctrl-0 = <&sleep1>;
587
588 sleep1: sleep-state {
589 PIN_SLP(gpe0-0, PREV, NONE);
590 PIN_SLP(gpe0-1, PREV, NONE);
591 PIN_SLP(gpe0-2, INPUT, DOWN);
592 PIN_SLP(gpe0-3, INPUT, UP);
593 PIN_SLP(gpe0-4, INPUT, DOWN);
594 PIN_SLP(gpe0-5, INPUT, DOWN);
595 PIN_SLP(gpe0-6, INPUT, DOWN);
596 PIN_SLP(gpe0-7, INPUT, DOWN);
597
598 PIN_SLP(gpe1-0, INPUT, DOWN);
599 PIN_SLP(gpe1-1, PREV, NONE);
600 PIN_SLP(gpe1-2, INPUT, DOWN);
601 PIN_SLP(gpe1-3, INPUT, DOWN);
602 PIN_SLP(gpe1-4, INPUT, DOWN);
603 PIN_SLP(gpe1-5, INPUT, DOWN);
604 PIN_SLP(gpe1-6, INPUT, DOWN);
605 PIN_SLP(gpe1-7, INPUT, NONE);
606
607 PIN_SLP(gpe2-0, INPUT, NONE);
608 PIN_SLP(gpe2-1, INPUT, NONE);
609 PIN_SLP(gpe2-2, INPUT, NONE);
610
611 PIN_SLP(gpk0-0, INPUT, DOWN);
612 PIN_SLP(gpk0-1, INPUT, DOWN);
613 PIN_SLP(gpk0-2, OUT0, NONE);
614 PIN_SLP(gpk0-3, INPUT, DOWN);
615 PIN_SLP(gpk0-4, INPUT, DOWN);
616 PIN_SLP(gpk0-5, INPUT, DOWN);
617 PIN_SLP(gpk0-6, INPUT, DOWN);
618 PIN_SLP(gpk0-7, INPUT, DOWN);
619
620 PIN_SLP(gpk1-0, INPUT, DOWN);
621 PIN_SLP(gpk1-1, INPUT, DOWN);
622 PIN_SLP(gpk1-2, INPUT, DOWN);
623 PIN_SLP(gpk1-3, INPUT, DOWN);
624 PIN_SLP(gpk1-4, INPUT, DOWN);
625 PIN_SLP(gpk1-5, INPUT, DOWN);
626 PIN_SLP(gpk1-6, INPUT, DOWN);
627
628 PIN_SLP(gpk2-0, INPUT, DOWN);
629 PIN_SLP(gpk2-1, INPUT, DOWN);
630 PIN_SLP(gpk2-2, INPUT, DOWN);
631 PIN_SLP(gpk2-3, INPUT, DOWN);
632 PIN_SLP(gpk2-4, INPUT, DOWN);
633 PIN_SLP(gpk2-5, INPUT, DOWN);
634 PIN_SLP(gpk2-6, INPUT, DOWN);
635
636 PIN_SLP(gpl0-0, INPUT, DOWN);
637 PIN_SLP(gpl0-1, INPUT, DOWN);
638 PIN_SLP(gpl0-2, INPUT, DOWN);
639 PIN_SLP(gpl0-3, INPUT, DOWN);
640
641 PIN_SLP(gpm0-0, INPUT, DOWN);
642 PIN_SLP(gpm0-1, INPUT, DOWN);
643 PIN_SLP(gpm0-2, INPUT, DOWN);
644 PIN_SLP(gpm0-3, INPUT, DOWN);
645 PIN_SLP(gpm0-4, INPUT, DOWN);
646 PIN_SLP(gpm0-5, INPUT, DOWN);
647 PIN_SLP(gpm0-6, INPUT, DOWN);
648 PIN_SLP(gpm0-7, INPUT, DOWN);
649
650 PIN_SLP(gpm1-0, INPUT, DOWN);
651 PIN_SLP(gpm1-1, INPUT, DOWN);
652 PIN_SLP(gpm1-2, INPUT, DOWN);
653 PIN_SLP(gpm1-3, INPUT, DOWN);
654 PIN_SLP(gpm1-4, INPUT, DOWN);
655 PIN_SLP(gpm1-5, INPUT, DOWN);
656 PIN_SLP(gpm1-6, INPUT, DOWN);
657
658 PIN_SLP(gpm2-0, INPUT, DOWN);
659 PIN_SLP(gpm2-1, INPUT, DOWN);
660 PIN_SLP(gpm2-2, INPUT, DOWN);
661 PIN_SLP(gpm2-3, INPUT, DOWN);
662 PIN_SLP(gpm2-4, INPUT, DOWN);
663
664 PIN_SLP(gpm3-0, INPUT, DOWN);
665 PIN_SLP(gpm3-1, INPUT, DOWN);
666 PIN_SLP(gpm3-2, INPUT, DOWN);
667 PIN_SLP(gpm3-3, INPUT, DOWN);
668 PIN_SLP(gpm3-4, INPUT, DOWN);
669 PIN_SLP(gpm3-5, INPUT, DOWN);
670 PIN_SLP(gpm3-6, INPUT, DOWN);
671 PIN_SLP(gpm3-7, INPUT, DOWN);
672
673 PIN_SLP(gpm4-0, INPUT, DOWN);
674 PIN_SLP(gpm4-1, INPUT, DOWN);
675 PIN_SLP(gpm4-2, INPUT, DOWN);
676 PIN_SLP(gpm4-3, INPUT, DOWN);
677 PIN_SLP(gpm4-4, INPUT, DOWN);
678 PIN_SLP(gpm4-5, INPUT, DOWN);
679 PIN_SLP(gpm4-6, INPUT, DOWN);
680 PIN_SLP(gpm4-7, INPUT, DOWN);
681 };
682 };