exynos3250-monk.dts revision 295436
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};
658