Linux Audio

Check our new training course

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