Linux Audio

Check our new training course

Loading...
v5.4
  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};
v4.10.11
 
  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 0>;
 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 0>;
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 8>;
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	num-slots = <1>;
430	broken-cd;
431	non-removable;
432	cap-mmc-highspeed;
433	desc-num = <4>;
434	mmc-hs200-1_8v;
435	card-detect-delay = <200>;
436	vmmc-supply = <&vemmc_reg>;
437	clock-frequency = <100000000>;
438	max-frequency = <100000000>;
439	samsung,dw-mshc-ciu-div = <1>;
440	samsung,dw-mshc-sdr-timing = <0 1>;
441	samsung,dw-mshc-ddr-timing = <1 2>;
442	pinctrl-names = "default";
443	pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
444	bus-width = <8>;
445	status = "okay";
446};
447
448&serial_0 {
449	assigned-clocks = <&cmu CLK_SCLK_UART0>;
450	assigned-clock-rates = <100000000>;
451	status = "okay";
452};
453
454&serial_1 {
455	status = "okay";
456};
457
458&tmu {
459	vtmu-supply = <&ldo7_reg>;
460	status = "okay";
461};
462
463&rtc {
464	clocks = <&cmu CLK_RTC>, <&s2mps14_osc S2MPS11_CLK_AP>;
465	clock-names = "rtc", "rtc_src";
466	status = "okay";
467};
468
469&xusbxti {
470	clock-frequency = <24000000>;
471};
472
473&pinctrl_0 {
474	pinctrl-names = "default";
475	pinctrl-0 = <&sleep0>;
476
477	sleep0: sleep-state {
478		PIN_SLP(gpa0-0, INPUT, DOWN);
479		PIN_SLP(gpa0-1, INPUT, DOWN);
480		PIN_SLP(gpa0-2, INPUT, DOWN);
481		PIN_SLP(gpa0-3, INPUT, DOWN);
482		PIN_SLP(gpa0-4, INPUT, DOWN);
483		PIN_SLP(gpa0-5, INPUT, DOWN);
484		PIN_SLP(gpa0-6, INPUT, DOWN);
485		PIN_SLP(gpa0-7, INPUT, DOWN);
486
487		PIN_SLP(gpa1-0, INPUT, DOWN);
488		PIN_SLP(gpa1-1, INPUT, DOWN);
489		PIN_SLP(gpa1-2, INPUT, DOWN);
490		PIN_SLP(gpa1-3, INPUT, DOWN);
491		PIN_SLP(gpa1-4, INPUT, DOWN);
492		PIN_SLP(gpa1-5, INPUT, DOWN);
493
494		PIN_SLP(gpb-0, PREV, NONE);
495		PIN_SLP(gpb-1, PREV, NONE);
496		PIN_SLP(gpb-2, PREV, NONE);
497		PIN_SLP(gpb-3, PREV, NONE);
498		PIN_SLP(gpb-4, INPUT, DOWN);
499		PIN_SLP(gpb-5, INPUT, DOWN);
500		PIN_SLP(gpb-6, INPUT, DOWN);
501		PIN_SLP(gpb-7, INPUT, DOWN);
502
503		PIN_SLP(gpc0-0, INPUT, DOWN);
504		PIN_SLP(gpc0-1, INPUT, DOWN);
505		PIN_SLP(gpc0-2, INPUT, DOWN);
506		PIN_SLP(gpc0-3, INPUT, DOWN);
507		PIN_SLP(gpc0-4, INPUT, DOWN);
508
509		PIN_SLP(gpc1-0, INPUT, DOWN);
510		PIN_SLP(gpc1-1, INPUT, DOWN);
511		PIN_SLP(gpc1-2, INPUT, DOWN);
512		PIN_SLP(gpc1-3, INPUT, DOWN);
513		PIN_SLP(gpc1-4, INPUT, DOWN);
514
515		PIN_SLP(gpd0-0, INPUT, DOWN);
516		PIN_SLP(gpd0-1, INPUT, DOWN);
517		PIN_SLP(gpd0-2, INPUT, NONE);
518		PIN_SLP(gpd0-3, INPUT, NONE);
519
520		PIN_SLP(gpd1-0, INPUT, NONE);
521		PIN_SLP(gpd1-1, INPUT, NONE);
522		PIN_SLP(gpd1-2, INPUT, NONE);
523		PIN_SLP(gpd1-3, INPUT, NONE);
524	};
525};
526
527&pinctrl_1 {
528	pinctrl-names = "default";
529	pinctrl-0 = <&initial1 &sleep1>;
530
531	initial1: initial-state {
532		PIN_IN(gpk2-0, DOWN, LV1);
533		PIN_IN(gpk2-1, DOWN, LV1);
534		PIN_IN(gpk2-2, DOWN, LV1);
535		PIN_IN(gpk2-3, DOWN, LV1);
536		PIN_IN(gpk2-4, DOWN, LV1);
537		PIN_IN(gpk2-5, DOWN, LV1);
538		PIN_IN(gpk2-6, DOWN, LV1);
539	};
540
541	sleep1: sleep-state {
542		PIN_SLP(gpe0-0, PREV, NONE);
543		PIN_SLP(gpe0-1, PREV, NONE);
544		PIN_SLP(gpe0-2, INPUT, DOWN);
545		PIN_SLP(gpe0-3, INPUT, DOWN);
546		PIN_SLP(gpe0-4, PREV, NONE);
547		PIN_SLP(gpe0-5, INPUT, DOWN);
548		PIN_SLP(gpe0-6, INPUT, DOWN);
549		PIN_SLP(gpe0-7, INPUT, DOWN);
550
551		PIN_SLP(gpe1-0, INPUT, DOWN);
552		PIN_SLP(gpe1-1, PREV, NONE);
553		PIN_SLP(gpe1-2, INPUT, DOWN);
554		PIN_SLP(gpe1-3, INPUT, DOWN);
555		PIN_SLP(gpe1-4, INPUT, DOWN);
556		PIN_SLP(gpe1-5, INPUT, DOWN);
557		PIN_SLP(gpe1-6, INPUT, DOWN);
558		PIN_SLP(gpe1-7, INPUT, NONE);
559
560		PIN_SLP(gpe2-0, INPUT, NONE);
561		PIN_SLP(gpe2-1, INPUT, NONE);
562		PIN_SLP(gpe2-2, INPUT, NONE);
563
564		PIN_SLP(gpk0-0, INPUT, DOWN);
565		PIN_SLP(gpk0-1, INPUT, DOWN);
566		PIN_SLP(gpk0-2, OUT0, NONE);
567		PIN_SLP(gpk0-3, INPUT, DOWN);
568		PIN_SLP(gpk0-4, INPUT, DOWN);
569		PIN_SLP(gpk0-5, INPUT, DOWN);
570		PIN_SLP(gpk0-6, INPUT, DOWN);
571		PIN_SLP(gpk0-7, INPUT, DOWN);
572
573		PIN_SLP(gpk1-0, PREV, NONE);
574		PIN_SLP(gpk1-1, PREV, NONE);
575		PIN_SLP(gpk1-2, INPUT, DOWN);
576		PIN_SLP(gpk1-3, PREV, NONE);
577		PIN_SLP(gpk1-4, PREV, NONE);
578		PIN_SLP(gpk1-5, PREV, NONE);
579		PIN_SLP(gpk1-6, PREV, NONE);
580
581		PIN_SLP(gpk2-0, INPUT, DOWN);
582		PIN_SLP(gpk2-1, INPUT, DOWN);
583		PIN_SLP(gpk2-2, INPUT, DOWN);
584		PIN_SLP(gpk2-3, INPUT, DOWN);
585		PIN_SLP(gpk2-4, INPUT, DOWN);
586		PIN_SLP(gpk2-5, INPUT, DOWN);
587		PIN_SLP(gpk2-6, INPUT, DOWN);
588
589		PIN_SLP(gpl0-0, INPUT, DOWN);
590		PIN_SLP(gpl0-1, INPUT, DOWN);
591		PIN_SLP(gpl0-2, INPUT, DOWN);
592		PIN_SLP(gpl0-3, INPUT, DOWN);
593
594		PIN_SLP(gpm0-0, INPUT, DOWN);
595		PIN_SLP(gpm0-1, INPUT, DOWN);
596		PIN_SLP(gpm0-2, INPUT, DOWN);
597		PIN_SLP(gpm0-3, INPUT, DOWN);
598		PIN_SLP(gpm0-4, INPUT, DOWN);
599		PIN_SLP(gpm0-5, INPUT, DOWN);
600		PIN_SLP(gpm0-6, INPUT, DOWN);
601		PIN_SLP(gpm0-7, INPUT, DOWN);
602
603		PIN_SLP(gpm1-0, INPUT, DOWN);
604		PIN_SLP(gpm1-1, INPUT, DOWN);
605		PIN_SLP(gpm1-2, INPUT, DOWN);
606		PIN_SLP(gpm1-3, INPUT, DOWN);
607		PIN_SLP(gpm1-4, INPUT, DOWN);
608		PIN_SLP(gpm1-5, INPUT, DOWN);
609		PIN_SLP(gpm1-6, INPUT, DOWN);
610
611		PIN_SLP(gpm2-0, INPUT, DOWN);
612		PIN_SLP(gpm2-1, INPUT, DOWN);
613		PIN_SLP(gpm2-2, INPUT, DOWN);
614		PIN_SLP(gpm2-3, INPUT, DOWN);
615		PIN_SLP(gpm2-4, INPUT, DOWN);
616
617		PIN_SLP(gpm3-0, INPUT, DOWN);
618		PIN_SLP(gpm3-1, INPUT, DOWN);
619		PIN_SLP(gpm3-2, INPUT, DOWN);
620		PIN_SLP(gpm3-3, INPUT, DOWN);
621		PIN_SLP(gpm3-4, INPUT, DOWN);
622		PIN_SLP(gpm3-5, INPUT, DOWN);
623		PIN_SLP(gpm3-6, INPUT, DOWN);
624		PIN_SLP(gpm3-7, INPUT, DOWN);
625
626		PIN_SLP(gpm4-0, INPUT, DOWN);
627		PIN_SLP(gpm4-1, INPUT, DOWN);
628		PIN_SLP(gpm4-2, INPUT, DOWN);
629		PIN_SLP(gpm4-3, INPUT, DOWN);
630		PIN_SLP(gpm4-4, INPUT, DOWN);
631		PIN_SLP(gpm4-5, INPUT, DOWN);
632		PIN_SLP(gpm4-6, INPUT, DOWN);
633		PIN_SLP(gpm4-7, INPUT, DOWN);
634	};
635};