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