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