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