1279377Simp/*
2279377Simp * Samsung's Exynos4412 based Trats 2 board device tree source
3279377Simp *
4279377Simp * Copyright (c) 2013 Samsung Electronics Co., Ltd.
5279377Simp *		http://www.samsung.com
6279377Simp *
7279377Simp * Device tree source file for Samsung's Trats 2 board which is based on
8279377Simp * Samsung's Exynos4412 SoC.
9279377Simp *
10279377Simp * This program is free software; you can redistribute it and/or modify
11279377Simp * it under the terms of the GNU General Public License version 2 as
12279377Simp * published by the Free Software Foundation.
13279377Simp*/
14279377Simp
15279377Simp/dts-v1/;
16279377Simp#include "exynos4412.dtsi"
17279377Simp#include <dt-bindings/gpio/gpio.h>
18279377Simp#include <dt-bindings/interrupt-controller/irq.h>
19295436Sandrew#include <dt-bindings/clock/maxim,max77686.h>
20279377Simp
21279377Simp/ {
22279377Simp	model = "Samsung Trats 2 based on Exynos4412";
23279377Simp	compatible = "samsung,trats2", "samsung,exynos4412", "samsung,exynos4";
24279377Simp
25279377Simp	aliases {
26279377Simp		i2c9 = &i2c_ak8975;
27279377Simp		i2c10 = &i2c_cm36651;
28279377Simp		i2c11 = &i2c_max77693;
29279377Simp		i2c12 = &i2c_max77693_fuel;
30279377Simp	};
31279377Simp
32279377Simp	memory {
33279377Simp		reg =  <0x40000000 0x40000000>;
34279377Simp	};
35279377Simp
36279377Simp	chosen {
37279377Simp		bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
38279377Simp		stdout-path = &serial_2;
39279377Simp	};
40279377Simp
41279377Simp	firmware@0204F000 {
42279377Simp		compatible = "samsung,secure-firmware";
43279377Simp		reg = <0x0204F000 0x1000>;
44279377Simp	};
45279377Simp
46279377Simp	fixed-rate-clocks {
47279377Simp		xxti {
48279377Simp			compatible = "samsung,clock-xxti", "fixed-clock";
49279377Simp			clock-frequency = <0>;
50279377Simp		};
51279377Simp
52279377Simp		xusbxti {
53279377Simp			compatible = "samsung,clock-xusbxti", "fixed-clock";
54279377Simp			clock-frequency = <24000000>;
55279377Simp		};
56279377Simp	};
57279377Simp
58279377Simp	regulators {
59279377Simp		compatible = "simple-bus";
60279377Simp		#address-cells = <1>;
61279377Simp		#size-cells = <0>;
62279377Simp
63279377Simp		cam_io_reg: voltage-regulator-1 {
64279377Simp			compatible = "regulator-fixed";
65279377Simp			regulator-name = "CAM_SENSOR_A";
66279377Simp			regulator-min-microvolt = <2800000>;
67279377Simp			regulator-max-microvolt = <2800000>;
68295436Sandrew			gpio = <&gpm0 2 GPIO_ACTIVE_HIGH>;
69279377Simp			enable-active-high;
70279377Simp		};
71279377Simp
72279377Simp		lcd_vdd3_reg: voltage-regulator-2 {
73279377Simp			compatible = "regulator-fixed";
74279377Simp			regulator-name = "LCD_VDD_2.2V";
75279377Simp			regulator-min-microvolt = <2200000>;
76279377Simp			regulator-max-microvolt = <2200000>;
77295436Sandrew			gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;
78279377Simp			enable-active-high;
79279377Simp		};
80279377Simp
81279377Simp		cam_af_reg: voltage-regulator-3 {
82279377Simp			compatible = "regulator-fixed";
83279377Simp			regulator-name = "CAM_AF";
84279377Simp			regulator-min-microvolt = <2800000>;
85279377Simp			regulator-max-microvolt = <2800000>;
86295436Sandrew			gpio = <&gpm0 4 GPIO_ACTIVE_HIGH>;
87279377Simp			enable-active-high;
88279377Simp		};
89279377Simp
90279377Simp		ps_als_reg: voltage-regulator-5 {
91279377Simp			compatible = "regulator-fixed";
92279377Simp			regulator-name = "LED_A_3.0V";
93279377Simp			regulator-min-microvolt = <3000000>;
94279377Simp			regulator-max-microvolt = <3000000>;
95295436Sandrew			gpio = <&gpj0 5 GPIO_ACTIVE_HIGH>;
96279377Simp			enable-active-high;
97279377Simp		};
98279377Simp	};
99279377Simp
100279377Simp	gpio-keys {
101279377Simp		compatible = "gpio-keys";
102279377Simp
103279377Simp		key-down {
104295436Sandrew			gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
105279377Simp			linux,code = <114>;
106279377Simp			label = "volume down";
107279377Simp			debounce-interval = <10>;
108279377Simp		};
109279377Simp
110279377Simp		key-up {
111295436Sandrew			gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
112279377Simp			linux,code = <115>;
113279377Simp			label = "volume up";
114279377Simp			debounce-interval = <10>;
115279377Simp		};
116279377Simp
117279377Simp		key-power {
118295436Sandrew			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
119279377Simp			linux,code = <116>;
120279377Simp			label = "power";
121279377Simp			debounce-interval = <10>;
122279377Simp			gpio-key,wakeup;
123279377Simp		};
124279377Simp
125279377Simp		key-ok {
126295436Sandrew			gpios = <&gpx0 1 GPIO_ACTIVE_LOW>;
127279377Simp			linux,code = <139>;
128279377Simp			label = "ok";
129279377Simp			debounce-inteval = <10>;
130279377Simp			gpio-key,wakeup;
131279377Simp		};
132279377Simp	};
133279377Simp
134279377Simp	i2c_max77693: i2c-gpio-1 {
135279377Simp		compatible = "i2c-gpio";
136279377Simp		gpios = <&gpm2 0 GPIO_ACTIVE_HIGH>, <&gpm2 1 GPIO_ACTIVE_HIGH>;
137279377Simp		i2c-gpio,delay-us = <2>;
138279377Simp		#address-cells = <1>;
139279377Simp		#size-cells = <0>;
140279377Simp		status = "okay";
141279377Simp
142279377Simp		max77693@66 {
143279377Simp			compatible = "maxim,max77693";
144279377Simp			interrupt-parent = <&gpx1>;
145279377Simp			interrupts = <5 2>;
146279377Simp			reg = <0x66>;
147279377Simp
148279377Simp			regulators {
149279377Simp				esafeout1_reg: ESAFEOUT1@1 {
150279377Simp					regulator-name = "ESAFEOUT1";
151279377Simp				};
152279377Simp				esafeout2_reg: ESAFEOUT2@2 {
153279377Simp					regulator-name = "ESAFEOUT2";
154279377Simp				};
155279377Simp				charger_reg: CHARGER@0 {
156279377Simp					regulator-name = "CHARGER";
157279377Simp					regulator-min-microamp = <60000>;
158279377Simp					regulator-max-microamp = <2580000>;
159279377Simp				};
160279377Simp			};
161279377Simp
162279377Simp			max77693_haptic {
163279377Simp				compatible = "maxim,max77693-haptic";
164279377Simp				haptic-supply = <&ldo26_reg>;
165279377Simp				pwms = <&pwm 0 38022 0>;
166279377Simp			};
167279377Simp
168279377Simp			charger {
169279377Simp				compatible = "maxim,max77693-charger";
170279377Simp
171279377Simp				maxim,constant-microvolt = <4350000>;
172279377Simp				maxim,min-system-microvolt = <3600000>;
173279377Simp				maxim,thermal-regulation-celsius = <100>;
174279377Simp				maxim,battery-overcurrent-microamp = <3500000>;
175279377Simp				maxim,charge-input-threshold-microvolt = <4300000>;
176279377Simp			};
177279377Simp		};
178279377Simp	};
179279377Simp
180279377Simp	i2c_max77693_fuel: i2c-gpio-3 {
181279377Simp		compatible = "i2c-gpio";
182279377Simp		gpios = <&gpf1 5 GPIO_ACTIVE_HIGH>, <&gpf1 4 GPIO_ACTIVE_HIGH>;
183279377Simp		i2c-gpio,delay-us = <2>;
184279377Simp		#address-cells = <1>;
185279377Simp		#size-cells = <0>;
186279377Simp		status = "okay";
187279377Simp
188279377Simp		max77693-fuel-gauge@36 {
189279377Simp			compatible = "maxim,max17047";
190279377Simp			interrupt-parent = <&gpx2>;
191279377Simp			interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
192279377Simp			reg = <0x36>;
193295436Sandrew
194295436Sandrew			maxim,over-heat-temp = <700>;
195295436Sandrew			maxim,over-volt = <4500>;
196279377Simp		};
197279377Simp	};
198279377Simp
199279377Simp	i2c_ak8975: i2c-gpio-0 {
200279377Simp		compatible = "i2c-gpio";
201295436Sandrew		gpios = <&gpy2 4 GPIO_ACTIVE_HIGH>, <&gpy2 5 GPIO_ACTIVE_HIGH>;
202279377Simp		i2c-gpio,delay-us = <2>;
203279377Simp		#address-cells = <1>;
204279377Simp		#size-cells = <0>;
205279377Simp		status = "okay";
206279377Simp
207279377Simp		ak8975@0c {
208279377Simp			compatible = "asahi-kasei,ak8975";
209279377Simp			reg = <0x0c>;
210295436Sandrew			gpios = <&gpj0 7 GPIO_ACTIVE_HIGH>;
211279377Simp		};
212279377Simp	};
213279377Simp
214279377Simp	i2c_cm36651: i2c-gpio-2 {
215279377Simp		compatible = "i2c-gpio";
216295436Sandrew		gpios = <&gpf0 0 GPIO_ACTIVE_LOW>, <&gpf0 1 GPIO_ACTIVE_LOW>;
217279377Simp		i2c-gpio,delay-us = <2>;
218279377Simp		#address-cells = <1>;
219279377Simp		#size-cells = <0>;
220279377Simp
221279377Simp		cm36651@18 {
222279377Simp			compatible = "capella,cm36651";
223279377Simp			reg = <0x18>;
224279377Simp			interrupt-parent = <&gpx0>;
225279377Simp			interrupts = <2 2>;
226279377Simp			vled-supply = <&ps_als_reg>;
227279377Simp		};
228279377Simp	};
229279377Simp
230295436Sandrew	camera: camera {
231295436Sandrew		pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>;
232279377Simp		pinctrl-names = "default";
233279377Simp		status = "okay";
234295436Sandrew		assigned-clocks = <&clock CLK_MOUT_CAM0>,
235295436Sandrew				  <&clock CLK_MOUT_CAM1>;
236295436Sandrew		assigned-clock-parents = <&clock CLK_XUSBXTI>,
237295436Sandrew					 <&clock CLK_XUSBXTI>;
238279377Simp
239295436Sandrew
240279377Simp	};
241279377Simp
242295436Sandrew	sound {
243295436Sandrew		compatible = "samsung,trats2-audio";
244295436Sandrew		samsung,i2s-controller = <&i2s0>;
245295436Sandrew		samsung,model = "Trats2";
246295436Sandrew		samsung,audio-codec = <&wm1811>;
247295436Sandrew		samsung,audio-routing =
248295436Sandrew			"SPK", "SPKOUTLN",
249295436Sandrew			"SPK", "SPKOUTLP",
250295436Sandrew			"SPK", "SPKOUTRN",
251295436Sandrew			"SPK", "SPKOUTRP";
252279377Simp	};
253279377Simp
254295436Sandrew	thermistor-ap@0 {
255295436Sandrew		compatible = "ntc,ncp15wb473";
256295436Sandrew		pullup-uv = <1800000>;	 /* VCC_1.8V_AP */
257295436Sandrew		pullup-ohm = <100000>;	 /* 100K */
258295436Sandrew		pulldown-ohm = <100000>; /* 100K */
259295436Sandrew		io-channels = <&adc 1>;  /* AP temperature */
260295436Sandrew	};
261279377Simp
262295436Sandrew	thermistor-battery@1 {
263295436Sandrew		compatible = "ntc,ncp15wb473";
264295436Sandrew		pullup-uv = <1800000>;	 /* VCC_1.8V_AP */
265295436Sandrew		pullup-ohm = <100000>;	 /* 100K */
266295436Sandrew		pulldown-ohm = <100000>; /* 100K */
267295436Sandrew		io-channels = <&adc 2>;  /* Battery temperature */
268295436Sandrew	};
269279377Simp
270295436Sandrew	thermal-zones {
271295436Sandrew		cpu_thermal: cpu-thermal {
272295436Sandrew			cooling-maps {
273295436Sandrew				map0 {
274295436Sandrew				     /* Corresponds to 800MHz at freq_table */
275295436Sandrew				     cooling-device = <&cpu0 7 7>;
276279377Simp				};
277295436Sandrew				map1 {
278295436Sandrew				     /* Corresponds to 200MHz at freq_table */
279295436Sandrew				     cooling-device = <&cpu0 13 13>;
280295436Sandrew			       };
281295436Sandrew		       };
282279377Simp		};
283295436Sandrew	};
284295436Sandrew};
285279377Simp
286295436Sandrew&adc {
287295436Sandrew	vdd-supply = <&ldo3_reg>;
288295436Sandrew	status = "okay";
289295436Sandrew};
290279377Simp
291295436Sandrew&cpu0 {
292295436Sandrew	cpu0-supply = <&buck2_reg>;
293295436Sandrew};
294279377Simp
295295436Sandrew&csis_0 {
296295436Sandrew	status = "okay";
297295436Sandrew	vddcore-supply = <&ldo8_reg>;
298295436Sandrew	vddio-supply = <&ldo10_reg>;
299295436Sandrew	assigned-clocks = <&clock CLK_MOUT_CSIS0>,
300295436Sandrew			<&clock CLK_SCLK_CSIS0>;
301295436Sandrew	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
302295436Sandrew	assigned-clock-rates = <0>, <176000000>;
303295436Sandrew
304295436Sandrew	/* Camera C (3) MIPI CSI-2 (CSIS0) */
305295436Sandrew	port@3 {
306295436Sandrew		reg = <3>;
307295436Sandrew		csis0_ep: endpoint {
308295436Sandrew			remote-endpoint = <&s5c73m3_ep>;
309295436Sandrew			data-lanes = <1 2 3 4>;
310295436Sandrew			samsung,csis-hs-settle = <12>;
311279377Simp		};
312279377Simp	};
313295436Sandrew};
314279377Simp
315295436Sandrew&csis_1 {
316295436Sandrew	status = "okay";
317295436Sandrew	vddcore-supply = <&ldo8_reg>;
318295436Sandrew	vddio-supply = <&ldo10_reg>;
319295436Sandrew	assigned-clocks = <&clock CLK_MOUT_CSIS1>,
320295436Sandrew			<&clock CLK_SCLK_CSIS1>;
321295436Sandrew	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
322295436Sandrew	assigned-clock-rates = <0>, <176000000>;
323295436Sandrew
324295436Sandrew	/* Camera D (4) MIPI CSI-2 (CSIS1) */
325295436Sandrew	port@4 {
326295436Sandrew		reg = <4>;
327295436Sandrew		csis1_ep: endpoint {
328295436Sandrew			remote-endpoint = <&is_s5k6a3_ep>;
329295436Sandrew			data-lanes = <1>;
330295436Sandrew			samsung,csis-hs-settle = <18>;
331295436Sandrew			samsung,csis-wclk;
332295436Sandrew		};
333279377Simp	};
334295436Sandrew};
335279377Simp
336295436Sandrew&dsi_0 {
337295436Sandrew	vddcore-supply = <&ldo8_reg>;
338295436Sandrew	vddio-supply = <&ldo10_reg>;
339295436Sandrew	samsung,pll-clock-frequency = <24000000>;
340295436Sandrew	status = "okay";
341279377Simp
342295436Sandrew	ports {
343295436Sandrew		#address-cells = <1>;
344295436Sandrew		#size-cells = <0>;
345279377Simp
346295436Sandrew		port@1 {
347295436Sandrew			reg = <1>;
348279377Simp
349295436Sandrew			dsi_out: endpoint {
350295436Sandrew				remote-endpoint = <&dsi_in>;
351295436Sandrew				samsung,burst-clock-frequency = <500000000>;
352295436Sandrew				samsung,esc-clock-frequency = <20000000>;
353295436Sandrew			};
354279377Simp		};
355295436Sandrew	};
356279377Simp
357295436Sandrew	panel@0 {
358295436Sandrew		compatible = "samsung,s6e8aa0";
359295436Sandrew		reg = <0>;
360295436Sandrew		vdd3-supply = <&lcd_vdd3_reg>;
361295436Sandrew		vci-supply = <&ldo25_reg>;
362295436Sandrew		reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
363295436Sandrew		power-on-delay= <50>;
364295436Sandrew		reset-delay = <100>;
365295436Sandrew		init-delay = <100>;
366295436Sandrew		flip-horizontal;
367295436Sandrew		flip-vertical;
368295436Sandrew		panel-width-mm = <58>;
369295436Sandrew		panel-height-mm = <103>;
370295436Sandrew
371295436Sandrew		display-timings {
372295436Sandrew			timing-0 {
373295436Sandrew				clock-frequency = <57153600>;
374295436Sandrew				hactive = <720>;
375295436Sandrew				vactive = <1280>;
376295436Sandrew				hfront-porch = <5>;
377295436Sandrew				hback-porch = <5>;
378295436Sandrew				hsync-len = <5>;
379295436Sandrew				vfront-porch = <13>;
380295436Sandrew				vback-porch = <1>;
381295436Sandrew				vsync-len = <2>;
382295436Sandrew			};
383279377Simp		};
384279377Simp
385295436Sandrew		port {
386295436Sandrew			dsi_in: endpoint {
387295436Sandrew				remote-endpoint = <&dsi_out>;
388279377Simp			};
389279377Simp		};
390295436Sandrew	};
391295436Sandrew};
392279377Simp
393295436Sandrew&exynos_usbphy {
394295436Sandrew	vbus-supply = <&esafeout1_reg>;
395295436Sandrew	status = "okay";
396295436Sandrew};
397279377Simp
398295436Sandrew&fimc_0 {
399295436Sandrew	status = "okay";
400295436Sandrew	assigned-clocks = <&clock CLK_MOUT_FIMC0>,
401295436Sandrew			<&clock CLK_SCLK_FIMC0>;
402295436Sandrew	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
403295436Sandrew	assigned-clock-rates = <0>, <176000000>;
404295436Sandrew};
405295436Sandrew
406295436Sandrew&fimc_1 {
407295436Sandrew	status = "okay";
408295436Sandrew	assigned-clocks = <&clock CLK_MOUT_FIMC1>,
409295436Sandrew			<&clock CLK_SCLK_FIMC1>;
410295436Sandrew	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
411295436Sandrew	assigned-clock-rates = <0>, <176000000>;
412295436Sandrew};
413295436Sandrew
414295436Sandrew&fimc_2 {
415295436Sandrew	status = "okay";
416295436Sandrew	assigned-clocks = <&clock CLK_MOUT_FIMC2>,
417295436Sandrew			<&clock CLK_SCLK_FIMC2>;
418295436Sandrew	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
419295436Sandrew	assigned-clock-rates = <0>, <176000000>;
420295436Sandrew};
421295436Sandrew
422295436Sandrew&fimc_3 {
423295436Sandrew	status = "okay";
424295436Sandrew	assigned-clocks = <&clock CLK_MOUT_FIMC3>,
425295436Sandrew			<&clock CLK_SCLK_FIMC3>;
426295436Sandrew	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
427295436Sandrew	assigned-clock-rates = <0>, <176000000>;
428295436Sandrew};
429295436Sandrew
430295436Sandrew&fimc_is {
431295436Sandrew	pinctrl-0 = <&fimc_is_uart>;
432295436Sandrew	pinctrl-names = "default";
433295436Sandrew	status = "okay";
434295436Sandrew
435295436Sandrew	i2c1_isp: i2c-isp@12140000 {
436295436Sandrew		pinctrl-0 = <&fimc_is_i2c1>;
437295436Sandrew		pinctrl-names = "default";
438295436Sandrew
439295436Sandrew		s5k6a3@10 {
440295436Sandrew			compatible = "samsung,s5k6a3";
441295436Sandrew			reg = <0x10>;
442295436Sandrew			svdda-supply = <&cam_io_reg>;
443295436Sandrew			svddio-supply = <&ldo19_reg>;
444295436Sandrew			afvdd-supply = <&ldo19_reg>;
445295436Sandrew			clock-frequency = <24000000>;
446295436Sandrew			/* CAM_B_CLKOUT */
447295436Sandrew			clocks = <&camera 1>;
448295436Sandrew			clock-names = "extclk";
449295436Sandrew			samsung,camclk-out = <1>;
450295436Sandrew			gpios = <&gpm1 6 GPIO_ACTIVE_HIGH>;
451295436Sandrew
452295436Sandrew			port {
453295436Sandrew				is_s5k6a3_ep: endpoint {
454295436Sandrew					remote-endpoint = <&csis1_ep>;
455279377Simp					data-lanes = <1>;
456279377Simp				};
457279377Simp			};
458279377Simp		};
459295436Sandrew	};
460295436Sandrew};
461279377Simp
462295436Sandrew&fimc_lite_0 {
463295436Sandrew	status = "okay";
464295436Sandrew};
465279377Simp
466295436Sandrew&fimc_lite_1 {
467295436Sandrew	status = "okay";
468295436Sandrew};
469279377Simp
470295436Sandrew&fimd {
471295436Sandrew	status = "okay";
472295436Sandrew};
473279377Simp
474295436Sandrew&hsotg {
475295436Sandrew	vusb_d-supply = <&ldo15_reg>;
476295436Sandrew	vusb_a-supply = <&ldo12_reg>;
477295436Sandrew	dr_mode = "peripheral";
478295436Sandrew	status = "okay";
479295436Sandrew};
480279377Simp
481295436Sandrew&i2c_0 {
482295436Sandrew	samsung,i2c-sda-delay = <100>;
483295436Sandrew	samsung,i2c-slave-addr = <0x10>;
484295436Sandrew	samsung,i2c-max-bus-freq = <400000>;
485295436Sandrew	pinctrl-0 = <&i2c0_bus>;
486295436Sandrew	pinctrl-names = "default";
487295436Sandrew	status = "okay";
488279377Simp
489295436Sandrew	s5c73m3@3c {
490295436Sandrew		compatible = "samsung,s5c73m3";
491295436Sandrew		reg = <0x3c>;
492295436Sandrew		standby-gpios = <&gpm0 1 GPIO_ACTIVE_LOW>;   /* ISP_STANDBY */
493295436Sandrew		xshutdown-gpios = <&gpf1 3 GPIO_ACTIVE_LOW>; /* ISP_RESET */
494295436Sandrew		vdd-int-supply = <&buck9_reg>;
495295436Sandrew		vddio-cis-supply = <&ldo9_reg>;
496295436Sandrew		vdda-supply = <&ldo17_reg>;
497295436Sandrew		vddio-host-supply = <&ldo18_reg>;
498295436Sandrew		vdd-af-supply = <&cam_af_reg>;
499295436Sandrew		vdd-reg-supply = <&cam_io_reg>;
500295436Sandrew		clock-frequency = <24000000>;
501295436Sandrew		/* CAM_A_CLKOUT */
502295436Sandrew		clocks = <&camera 0>;
503295436Sandrew		clock-names = "cis_extclk";
504295436Sandrew		port {
505295436Sandrew			s5c73m3_ep: endpoint {
506295436Sandrew				remote-endpoint = <&csis0_ep>;
507295436Sandrew				data-lanes = <1 2 3 4>;
508279377Simp			};
509279377Simp		};
510279377Simp	};
511295436Sandrew};
512279377Simp
513295436Sandrew&i2c_3 {
514295436Sandrew	samsung,i2c-sda-delay = <100>;
515295436Sandrew	samsung,i2c-slave-addr = <0x10>;
516295436Sandrew	samsung,i2c-max-bus-freq = <400000>;
517295436Sandrew	pinctrl-0 = <&i2c3_bus>;
518295436Sandrew	pinctrl-names = "default";
519295436Sandrew	status = "okay";
520279377Simp
521295436Sandrew	mms114-touchscreen@48 {
522295436Sandrew		compatible = "melfas,mms114";
523295436Sandrew		reg = <0x48>;
524295436Sandrew		interrupt-parent = <&gpm2>;
525295436Sandrew		interrupts = <3 2>;
526295436Sandrew		x-size = <720>;
527295436Sandrew		y-size = <1280>;
528295436Sandrew		avdd-supply = <&ldo23_reg>;
529295436Sandrew		vdd-supply = <&ldo24_reg>;
530279377Simp	};
531295436Sandrew};
532279377Simp
533295436Sandrew&i2c_4 {
534295436Sandrew	samsung,i2c-sda-delay = <100>;
535295436Sandrew	samsung,i2c-slave-addr = <0x10>;
536295436Sandrew	samsung,i2c-max-bus-freq = <100000>;
537295436Sandrew	pinctrl-0 = <&i2c4_bus>;
538295436Sandrew	pinctrl-names = "default";
539295436Sandrew	status = "okay";
540279377Simp
541295436Sandrew	wm1811: wm1811@1a {
542295436Sandrew		compatible = "wlf,wm1811";
543295436Sandrew		reg = <0x1a>;
544295436Sandrew		clocks = <&pmu_system_controller 0>;
545295436Sandrew		clock-names = "MCLK1";
546295436Sandrew		DCVDD-supply = <&ldo3_reg>;
547295436Sandrew		DBVDD1-supply = <&ldo3_reg>;
548295436Sandrew		wlf,ldo1ena = <&gpj0 4 0>;
549279377Simp	};
550295436Sandrew};
551279377Simp
552295436Sandrew&i2c_7 {
553295436Sandrew	samsung,i2c-sda-delay = <100>;
554295436Sandrew	samsung,i2c-slave-addr = <0x10>;
555295436Sandrew	samsung,i2c-max-bus-freq = <100000>;
556295436Sandrew	pinctrl-0 = <&i2c7_bus>;
557295436Sandrew	pinctrl-names = "default";
558295436Sandrew	status = "okay";
559279377Simp
560295436Sandrew	max77686: max77686_pmic@09 {
561295436Sandrew		compatible = "maxim,max77686";
562295436Sandrew		interrupt-parent = <&gpx0>;
563295436Sandrew		interrupts = <7 0>;
564295436Sandrew		reg = <0x09>;
565295436Sandrew		#clock-cells = <1>;
566295436Sandrew
567295436Sandrew		voltage-regulators {
568295436Sandrew			ldo1_reg: LDO1 {
569295436Sandrew				regulator-name = "VALIVE_1.0V_AP";
570295436Sandrew				regulator-min-microvolt = <1000000>;
571295436Sandrew				regulator-max-microvolt = <1000000>;
572295436Sandrew				regulator-always-on;
573295436Sandrew			};
574295436Sandrew
575295436Sandrew			ldo2_reg: LDO2 {
576295436Sandrew				regulator-name = "VM1M2_1.2V_AP";
577295436Sandrew				regulator-min-microvolt = <1200000>;
578295436Sandrew				regulator-max-microvolt = <1200000>;
579295436Sandrew				regulator-always-on;
580295436Sandrew				regulator-state-mem {
581295436Sandrew					regulator-on-in-suspend;
582295436Sandrew				};
583295436Sandrew			};
584295436Sandrew
585295436Sandrew			ldo3_reg: LDO3 {
586295436Sandrew				regulator-name = "VCC_1.8V_AP";
587295436Sandrew				regulator-min-microvolt = <1800000>;
588295436Sandrew				regulator-max-microvolt = <1800000>;
589295436Sandrew				regulator-always-on;
590295436Sandrew			};
591295436Sandrew
592295436Sandrew			ldo4_reg: LDO4 {
593295436Sandrew				regulator-name = "VCC_2.8V_AP";
594295436Sandrew				regulator-min-microvolt = <2800000>;
595295436Sandrew				regulator-max-microvolt = <2800000>;
596295436Sandrew				regulator-always-on;
597295436Sandrew			};
598295436Sandrew
599295436Sandrew			ldo5_reg: LDO5 {
600295436Sandrew				regulator-name = "VCC_1.8V_IO";
601295436Sandrew				regulator-min-microvolt = <1800000>;
602295436Sandrew				regulator-max-microvolt = <1800000>;
603295436Sandrew				regulator-always-on;
604295436Sandrew			};
605295436Sandrew
606295436Sandrew			ldo6_reg: LDO6 {
607295436Sandrew				regulator-name = "VMPLL_1.0V_AP";
608295436Sandrew				regulator-min-microvolt = <1000000>;
609295436Sandrew				regulator-max-microvolt = <1000000>;
610295436Sandrew				regulator-always-on;
611295436Sandrew				regulator-state-mem {
612295436Sandrew					regulator-on-in-suspend;
613295436Sandrew				};
614295436Sandrew			};
615295436Sandrew
616295436Sandrew			ldo7_reg: LDO7 {
617295436Sandrew				regulator-name = "VPLL_1.0V_AP";
618295436Sandrew				regulator-min-microvolt = <1000000>;
619295436Sandrew				regulator-max-microvolt = <1000000>;
620295436Sandrew				regulator-always-on;
621295436Sandrew				regulator-state-mem {
622295436Sandrew					regulator-on-in-suspend;
623295436Sandrew				};
624295436Sandrew			};
625295436Sandrew
626295436Sandrew			ldo8_reg: LDO8 {
627295436Sandrew				regulator-name = "VMIPI_1.0V";
628295436Sandrew				regulator-min-microvolt = <1000000>;
629295436Sandrew				regulator-max-microvolt = <1000000>;
630295436Sandrew				regulator-state-mem {
631295436Sandrew					regulator-off-in-suspend;
632295436Sandrew				};
633295436Sandrew			};
634295436Sandrew
635295436Sandrew			ldo9_reg: LDO9 {
636295436Sandrew				regulator-name = "CAM_ISP_MIPI_1.2V";
637295436Sandrew				regulator-min-microvolt = <1200000>;
638295436Sandrew				regulator-max-microvolt = <1200000>;
639295436Sandrew			};
640295436Sandrew
641295436Sandrew			ldo10_reg: LDO10 {
642295436Sandrew				regulator-name = "VMIPI_1.8V";
643295436Sandrew				regulator-min-microvolt = <1800000>;
644295436Sandrew				regulator-max-microvolt = <1800000>;
645295436Sandrew				regulator-state-mem {
646295436Sandrew					regulator-off-in-suspend;
647295436Sandrew				};
648295436Sandrew			};
649295436Sandrew
650295436Sandrew			ldo11_reg: LDO11 {
651295436Sandrew				regulator-name = "VABB1_1.95V";
652295436Sandrew				regulator-min-microvolt = <1950000>;
653295436Sandrew				regulator-max-microvolt = <1950000>;
654295436Sandrew				regulator-always-on;
655295436Sandrew				regulator-state-mem {
656295436Sandrew					regulator-off-in-suspend;
657295436Sandrew				};
658295436Sandrew			};
659295436Sandrew
660295436Sandrew			ldo12_reg: LDO12 {
661295436Sandrew				regulator-name = "VUOTG_3.0V";
662295436Sandrew				regulator-min-microvolt = <3000000>;
663295436Sandrew				regulator-max-microvolt = <3000000>;
664295436Sandrew				regulator-state-mem {
665295436Sandrew					regulator-off-in-suspend;
666295436Sandrew				};
667295436Sandrew			};
668295436Sandrew
669295436Sandrew			ldo13_reg: LDO13 {
670295436Sandrew				regulator-name = "NFC_AVDD_1.8V";
671295436Sandrew				regulator-min-microvolt = <1800000>;
672295436Sandrew				regulator-max-microvolt = <1800000>;
673295436Sandrew			};
674295436Sandrew
675295436Sandrew			ldo14_reg: LDO14 {
676295436Sandrew				regulator-name = "VABB2_1.95V";
677295436Sandrew				regulator-min-microvolt = <1950000>;
678295436Sandrew				regulator-max-microvolt = <1950000>;
679295436Sandrew				regulator-always-on;
680295436Sandrew				regulator-state-mem {
681295436Sandrew					regulator-off-in-suspend;
682295436Sandrew				};
683295436Sandrew			};
684295436Sandrew
685295436Sandrew			ldo15_reg: LDO15 {
686295436Sandrew				regulator-name = "VHSIC_1.0V";
687295436Sandrew				regulator-min-microvolt = <1000000>;
688295436Sandrew				regulator-max-microvolt = <1000000>;
689295436Sandrew				regulator-state-mem {
690295436Sandrew					regulator-on-in-suspend;
691295436Sandrew				};
692295436Sandrew			};
693295436Sandrew
694295436Sandrew			ldo16_reg: LDO16 {
695295436Sandrew				regulator-name = "VHSIC_1.8V";
696295436Sandrew				regulator-min-microvolt = <1800000>;
697295436Sandrew				regulator-max-microvolt = <1800000>;
698295436Sandrew				regulator-state-mem {
699295436Sandrew					regulator-on-in-suspend;
700295436Sandrew				};
701295436Sandrew			};
702295436Sandrew
703295436Sandrew			ldo17_reg: LDO17 {
704295436Sandrew				regulator-name = "CAM_SENSOR_CORE_1.2V";
705295436Sandrew				regulator-min-microvolt = <1200000>;
706295436Sandrew				regulator-max-microvolt = <1200000>;
707295436Sandrew			};
708295436Sandrew
709295436Sandrew			ldo18_reg: LDO18 {
710295436Sandrew				regulator-name = "CAM_ISP_SEN_IO_1.8V";
711295436Sandrew				regulator-min-microvolt = <1800000>;
712295436Sandrew				regulator-max-microvolt = <1800000>;
713295436Sandrew			};
714295436Sandrew
715295436Sandrew			ldo19_reg: LDO19 {
716295436Sandrew				regulator-name = "VT_CAM_1.8V";
717295436Sandrew				regulator-min-microvolt = <1800000>;
718295436Sandrew				regulator-max-microvolt = <1800000>;
719295436Sandrew			};
720295436Sandrew
721295436Sandrew			ldo20_reg: LDO20 {
722295436Sandrew				regulator-name = "VDDQ_PRE_1.8V";
723295436Sandrew				regulator-min-microvolt = <1800000>;
724295436Sandrew				regulator-max-microvolt = <1800000>;
725295436Sandrew			};
726295436Sandrew
727295436Sandrew			ldo21_reg: LDO21 {
728295436Sandrew				regulator-name = "VTF_2.8V";
729295436Sandrew				regulator-min-microvolt = <2800000>;
730295436Sandrew				regulator-max-microvolt = <2800000>;
731295436Sandrew				maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
732295436Sandrew			};
733295436Sandrew
734295436Sandrew			ldo22_reg: LDO22 {
735295436Sandrew				regulator-name = "VMEM_VDD_2.8V";
736295436Sandrew				regulator-min-microvolt = <2800000>;
737295436Sandrew				regulator-max-microvolt = <2800000>;
738295436Sandrew				maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
739295436Sandrew			};
740295436Sandrew
741295436Sandrew			ldo23_reg: LDO23 {
742295436Sandrew				regulator-name = "TSP_AVDD_3.3V";
743295436Sandrew				regulator-min-microvolt = <3300000>;
744295436Sandrew				regulator-max-microvolt = <3300000>;
745295436Sandrew			};
746295436Sandrew
747295436Sandrew			ldo24_reg: LDO24 {
748295436Sandrew				regulator-name = "TSP_VDD_1.8V";
749295436Sandrew				regulator-min-microvolt = <1800000>;
750295436Sandrew				regulator-max-microvolt = <1800000>;
751295436Sandrew			};
752295436Sandrew
753295436Sandrew			ldo25_reg: LDO25 {
754295436Sandrew				regulator-name = "LCD_VCC_3.3V";
755295436Sandrew				regulator-min-microvolt = <2800000>;
756295436Sandrew				regulator-max-microvolt = <2800000>;
757295436Sandrew			};
758295436Sandrew
759295436Sandrew			ldo26_reg: LDO26 {
760295436Sandrew				regulator-name = "MOTOR_VCC_3.0V";
761295436Sandrew				regulator-min-microvolt = <3000000>;
762295436Sandrew				regulator-max-microvolt = <3000000>;
763295436Sandrew			};
764295436Sandrew
765295436Sandrew			buck1_reg: BUCK1 {
766295436Sandrew				regulator-name = "vdd_mif";
767295436Sandrew				regulator-min-microvolt = <850000>;
768295436Sandrew				regulator-max-microvolt = <1100000>;
769295436Sandrew				regulator-always-on;
770295436Sandrew				regulator-boot-on;
771295436Sandrew				regulator-state-mem {
772295436Sandrew					regulator-off-in-suspend;
773295436Sandrew				};
774295436Sandrew			};
775295436Sandrew
776295436Sandrew			buck2_reg: BUCK2 {
777295436Sandrew				regulator-name = "vdd_arm";
778295436Sandrew				regulator-min-microvolt = <850000>;
779295436Sandrew				regulator-max-microvolt = <1500000>;
780295436Sandrew				regulator-always-on;
781295436Sandrew				regulator-boot-on;
782295436Sandrew				regulator-state-mem {
783295436Sandrew					regulator-on-in-suspend;
784295436Sandrew				};
785295436Sandrew			};
786295436Sandrew
787295436Sandrew			buck3_reg: BUCK3 {
788295436Sandrew				regulator-name = "vdd_int";
789295436Sandrew				regulator-min-microvolt = <850000>;
790295436Sandrew				regulator-max-microvolt = <1150000>;
791295436Sandrew				regulator-always-on;
792295436Sandrew				regulator-boot-on;
793295436Sandrew				regulator-state-mem {
794295436Sandrew					regulator-off-in-suspend;
795295436Sandrew				};
796295436Sandrew			};
797295436Sandrew
798295436Sandrew			buck4_reg: BUCK4 {
799295436Sandrew				regulator-name = "vdd_g3d";
800295436Sandrew				regulator-min-microvolt = <850000>;
801295436Sandrew				regulator-max-microvolt = <1150000>;
802295436Sandrew				regulator-boot-on;
803295436Sandrew				regulator-state-mem {
804295436Sandrew					regulator-off-in-suspend;
805295436Sandrew				};
806295436Sandrew			};
807295436Sandrew
808295436Sandrew			buck5_reg: BUCK5 {
809295436Sandrew				regulator-name = "VMEM_1.2V_AP";
810295436Sandrew				regulator-min-microvolt = <1200000>;
811295436Sandrew				regulator-max-microvolt = <1200000>;
812295436Sandrew				regulator-always-on;
813295436Sandrew			};
814295436Sandrew
815295436Sandrew			buck6_reg: BUCK6 {
816295436Sandrew				regulator-name = "VCC_SUB_1.35V";
817295436Sandrew				regulator-min-microvolt = <1350000>;
818295436Sandrew				regulator-max-microvolt = <1350000>;
819295436Sandrew				regulator-always-on;
820295436Sandrew			};
821295436Sandrew
822295436Sandrew			buck7_reg: BUCK7 {
823295436Sandrew				regulator-name = "VCC_SUB_2.0V";
824295436Sandrew				regulator-min-microvolt = <2000000>;
825295436Sandrew				regulator-max-microvolt = <2000000>;
826295436Sandrew				regulator-always-on;
827295436Sandrew			};
828295436Sandrew
829295436Sandrew			buck8_reg: BUCK8 {
830295436Sandrew				regulator-name = "VMEM_VDDF_3.0V";
831295436Sandrew				regulator-min-microvolt = <2850000>;
832295436Sandrew				regulator-max-microvolt = <2850000>;
833295436Sandrew				maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
834295436Sandrew			};
835295436Sandrew
836295436Sandrew			buck9_reg: BUCK9 {
837295436Sandrew				regulator-name = "CAM_ISP_CORE_1.2V";
838295436Sandrew				regulator-min-microvolt = <1000000>;
839295436Sandrew				regulator-max-microvolt = <1200000>;
840295436Sandrew				maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
841295436Sandrew			};
842295436Sandrew		};
843279377Simp	};
844279377Simp};
845279377Simp
846295436Sandrew&i2s0 {
847295436Sandrew	pinctrl-0 = <&i2s0_bus>;
848295436Sandrew	pinctrl-names = "default";
849295436Sandrew	status = "okay";
850295436Sandrew};
851295436Sandrew
852295436Sandrew&mshc_0 {
853295436Sandrew	num-slots = <1>;
854295436Sandrew	broken-cd;
855295436Sandrew	non-removable;
856295436Sandrew	card-detect-delay = <200>;
857295436Sandrew	vmmc-supply = <&ldo22_reg>;
858295436Sandrew	clock-frequency = <400000000>;
859295436Sandrew	samsung,dw-mshc-ciu-div = <0>;
860295436Sandrew	samsung,dw-mshc-sdr-timing = <2 3>;
861295436Sandrew	samsung,dw-mshc-ddr-timing = <1 2>;
862295436Sandrew	pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
863295436Sandrew	pinctrl-names = "default";
864295436Sandrew	status = "okay";
865295436Sandrew	bus-width = <8>;
866295436Sandrew	cap-mmc-highspeed;
867295436Sandrew};
868295436Sandrew
869279377Simp&pmu_system_controller {
870279377Simp	assigned-clocks = <&pmu_system_controller 0>;
871279377Simp	assigned-clock-parents =  <&clock CLK_XUSBXTI>;
872279377Simp};
873279377Simp
874279377Simp&ppmu_dmc0 {
875279377Simp	status = "okay";
876279377Simp
877279377Simp	events {
878279377Simp		ppmu_dmc0_3: ppmu-event3-dmc0 {
879279377Simp			event-name = "ppmu-event3-dmc0";
880279377Simp		};
881279377Simp	};
882279377Simp};
883279377Simp
884279377Simp&ppmu_dmc1 {
885279377Simp	status = "okay";
886279377Simp
887279377Simp	events {
888279377Simp		ppmu_dmc1_3: ppmu-event3-dmc1 {
889279377Simp			event-name = "ppmu-event3-dmc1";
890279377Simp		};
891279377Simp	};
892279377Simp};
893279377Simp
894279377Simp&ppmu_leftbus {
895279377Simp	status = "okay";
896279377Simp
897279377Simp	events {
898279377Simp		ppmu_leftbus_3: ppmu-event3-leftbus {
899279377Simp			event-name = "ppmu-event3-leftbus";
900279377Simp		};
901279377Simp	};
902279377Simp};
903279377Simp
904279377Simp&ppmu_rightbus {
905279377Simp	status = "okay";
906279377Simp
907279377Simp	events {
908279377Simp		ppmu_rightbus_3: ppmu-event3-rightbus {
909279377Simp			event-name = "ppmu-event3-rightbus";
910279377Simp		};
911279377Simp	};
912279377Simp};
913279377Simp
914279377Simp&pinctrl_0 {
915279377Simp	pinctrl-names = "default";
916279377Simp	pinctrl-0 = <&sleep0>;
917279377Simp
918279377Simp	sleep0: sleep-states {
919279377Simp		PIN_SLP(gpa0-0, INPUT, NONE);
920279377Simp		PIN_SLP(gpa0-1, OUT0, NONE);
921279377Simp		PIN_SLP(gpa0-2, INPUT, NONE);
922279377Simp		PIN_SLP(gpa0-3, INPUT, UP);
923279377Simp		PIN_SLP(gpa0-4, INPUT, NONE);
924279377Simp		PIN_SLP(gpa0-5, INPUT, DOWN);
925279377Simp		PIN_SLP(gpa0-6, INPUT, DOWN);
926279377Simp		PIN_SLP(gpa0-7, INPUT, UP);
927279377Simp
928279377Simp		PIN_SLP(gpa1-0, INPUT, DOWN);
929279377Simp		PIN_SLP(gpa1-1, INPUT, DOWN);
930279377Simp		PIN_SLP(gpa1-2, INPUT, DOWN);
931279377Simp		PIN_SLP(gpa1-3, INPUT, DOWN);
932279377Simp		PIN_SLP(gpa1-4, INPUT, DOWN);
933279377Simp		PIN_SLP(gpa1-5, INPUT, DOWN);
934279377Simp
935279377Simp		PIN_SLP(gpb-0, INPUT, NONE);
936279377Simp		PIN_SLP(gpb-1, INPUT, NONE);
937279377Simp		PIN_SLP(gpb-2, INPUT, NONE);
938279377Simp		PIN_SLP(gpb-3, INPUT, NONE);
939279377Simp		PIN_SLP(gpb-4, INPUT, DOWN);
940279377Simp		PIN_SLP(gpb-5, INPUT, UP);
941279377Simp		PIN_SLP(gpb-6, INPUT, DOWN);
942279377Simp		PIN_SLP(gpb-7, INPUT, DOWN);
943279377Simp
944279377Simp		PIN_SLP(gpc0-0, INPUT, DOWN);
945279377Simp		PIN_SLP(gpc0-1, INPUT, DOWN);
946279377Simp		PIN_SLP(gpc0-2, INPUT, DOWN);
947279377Simp		PIN_SLP(gpc0-3, INPUT, DOWN);
948279377Simp		PIN_SLP(gpc0-4, INPUT, DOWN);
949279377Simp
950279377Simp		PIN_SLP(gpc1-0, INPUT, NONE);
951279377Simp		PIN_SLP(gpc1-1, PREV, NONE);
952279377Simp		PIN_SLP(gpc1-2, INPUT, NONE);
953279377Simp		PIN_SLP(gpc1-3, INPUT, NONE);
954279377Simp		PIN_SLP(gpc1-4, INPUT, NONE);
955279377Simp
956279377Simp		PIN_SLP(gpd0-0, INPUT, DOWN);
957279377Simp		PIN_SLP(gpd0-1, INPUT, DOWN);
958279377Simp		PIN_SLP(gpd0-2, INPUT, NONE);
959279377Simp		PIN_SLP(gpd0-3, INPUT, NONE);
960279377Simp
961279377Simp		PIN_SLP(gpd1-0, INPUT, DOWN);
962279377Simp		PIN_SLP(gpd1-1, INPUT, DOWN);
963279377Simp		PIN_SLP(gpd1-2, INPUT, NONE);
964279377Simp		PIN_SLP(gpd1-3, INPUT, NONE);
965279377Simp
966279377Simp		PIN_SLP(gpf0-0, INPUT, NONE);
967279377Simp		PIN_SLP(gpf0-1, INPUT, NONE);
968279377Simp		PIN_SLP(gpf0-2, INPUT, DOWN);
969279377Simp		PIN_SLP(gpf0-3, INPUT, DOWN);
970279377Simp		PIN_SLP(gpf0-4, INPUT, NONE);
971279377Simp		PIN_SLP(gpf0-5, INPUT, DOWN);
972279377Simp		PIN_SLP(gpf0-6, INPUT, NONE);
973279377Simp		PIN_SLP(gpf0-7, INPUT, DOWN);
974279377Simp
975279377Simp		PIN_SLP(gpf1-0, INPUT, DOWN);
976279377Simp		PIN_SLP(gpf1-1, INPUT, DOWN);
977279377Simp		PIN_SLP(gpf1-2, INPUT, DOWN);
978279377Simp		PIN_SLP(gpf1-3, INPUT, DOWN);
979279377Simp		PIN_SLP(gpf1-4, INPUT, NONE);
980279377Simp		PIN_SLP(gpf1-5, INPUT, NONE);
981279377Simp		PIN_SLP(gpf1-6, INPUT, DOWN);
982279377Simp		PIN_SLP(gpf1-7, PREV, NONE);
983279377Simp
984279377Simp		PIN_SLP(gpf2-0, PREV, NONE);
985279377Simp		PIN_SLP(gpf2-1, INPUT, DOWN);
986279377Simp		PIN_SLP(gpf2-2, INPUT, DOWN);
987279377Simp		PIN_SLP(gpf2-3, INPUT, DOWN);
988279377Simp		PIN_SLP(gpf2-4, INPUT, DOWN);
989279377Simp		PIN_SLP(gpf2-5, INPUT, DOWN);
990279377Simp		PIN_SLP(gpf2-6, INPUT, NONE);
991279377Simp		PIN_SLP(gpf2-7, INPUT, NONE);
992279377Simp
993279377Simp		PIN_SLP(gpf3-0, INPUT, NONE);
994279377Simp		PIN_SLP(gpf3-1, PREV, NONE);
995279377Simp		PIN_SLP(gpf3-2, PREV, NONE);
996279377Simp		PIN_SLP(gpf3-3, PREV, NONE);
997279377Simp		PIN_SLP(gpf3-4, OUT1, NONE);
998279377Simp		PIN_SLP(gpf3-5, INPUT, DOWN);
999279377Simp
1000279377Simp		PIN_SLP(gpj0-0, PREV, NONE);
1001279377Simp		PIN_SLP(gpj0-1, PREV, NONE);
1002279377Simp		PIN_SLP(gpj0-2, PREV, NONE);
1003279377Simp		PIN_SLP(gpj0-3, INPUT, DOWN);
1004279377Simp		PIN_SLP(gpj0-4, PREV, NONE);
1005279377Simp		PIN_SLP(gpj0-5, PREV, NONE);
1006279377Simp		PIN_SLP(gpj0-6, INPUT, DOWN);
1007279377Simp		PIN_SLP(gpj0-7, INPUT, DOWN);
1008279377Simp
1009279377Simp		PIN_SLP(gpj1-0, INPUT, DOWN);
1010279377Simp		PIN_SLP(gpj1-1, PREV, NONE);
1011279377Simp		PIN_SLP(gpj1-2, PREV, NONE);
1012279377Simp		PIN_SLP(gpj1-3, INPUT, DOWN);
1013279377Simp		PIN_SLP(gpj1-4, INPUT, DOWN);
1014279377Simp	};
1015279377Simp};
1016279377Simp
1017279377Simp&pinctrl_1 {
1018279377Simp	pinctrl-names = "default";
1019279377Simp	pinctrl-0 = <&sleep1>;
1020279377Simp
1021279377Simp	sleep1: sleep-states {
1022279377Simp		PIN_SLP(gpk0-0, PREV, NONE);
1023279377Simp		PIN_SLP(gpk0-1, PREV, NONE);
1024279377Simp		PIN_SLP(gpk0-2, OUT0, NONE);
1025279377Simp		PIN_SLP(gpk0-3, PREV, NONE);
1026279377Simp		PIN_SLP(gpk0-4, PREV, NONE);
1027279377Simp		PIN_SLP(gpk0-5, PREV, NONE);
1028279377Simp		PIN_SLP(gpk0-6, PREV, NONE);
1029279377Simp
1030279377Simp		PIN_SLP(gpk1-0, INPUT, DOWN);
1031279377Simp		PIN_SLP(gpk1-1, INPUT, DOWN);
1032279377Simp		PIN_SLP(gpk1-2, INPUT, DOWN);
1033279377Simp		PIN_SLP(gpk1-3, PREV, NONE);
1034279377Simp		PIN_SLP(gpk1-4, PREV, NONE);
1035279377Simp		PIN_SLP(gpk1-5, PREV, NONE);
1036279377Simp		PIN_SLP(gpk1-6, PREV, NONE);
1037279377Simp
1038279377Simp		PIN_SLP(gpk2-0, INPUT, DOWN);
1039279377Simp		PIN_SLP(gpk2-1, INPUT, DOWN);
1040279377Simp		PIN_SLP(gpk2-2, INPUT, DOWN);
1041279377Simp		PIN_SLP(gpk2-3, INPUT, DOWN);
1042279377Simp		PIN_SLP(gpk2-4, INPUT, DOWN);
1043279377Simp		PIN_SLP(gpk2-5, INPUT, DOWN);
1044279377Simp		PIN_SLP(gpk2-6, INPUT, DOWN);
1045279377Simp
1046279377Simp		PIN_SLP(gpk3-0, OUT0, NONE);
1047279377Simp		PIN_SLP(gpk3-1, INPUT, NONE);
1048279377Simp		PIN_SLP(gpk3-2, INPUT, DOWN);
1049279377Simp		PIN_SLP(gpk3-3, INPUT, NONE);
1050279377Simp		PIN_SLP(gpk3-4, INPUT, NONE);
1051279377Simp		PIN_SLP(gpk3-5, INPUT, NONE);
1052279377Simp		PIN_SLP(gpk3-6, INPUT, NONE);
1053279377Simp
1054279377Simp		PIN_SLP(gpl0-0, INPUT, DOWN);
1055279377Simp		PIN_SLP(gpl0-1, INPUT, DOWN);
1056279377Simp		PIN_SLP(gpl0-2, INPUT, DOWN);
1057279377Simp		PIN_SLP(gpl0-3, INPUT, DOWN);
1058279377Simp		PIN_SLP(gpl0-4, PREV, NONE);
1059279377Simp		PIN_SLP(gpl0-6, PREV, NONE);
1060279377Simp
1061279377Simp		PIN_SLP(gpl1-0, INPUT, DOWN);
1062279377Simp		PIN_SLP(gpl1-1, INPUT, DOWN);
1063279377Simp		PIN_SLP(gpl2-0, INPUT, DOWN);
1064279377Simp		PIN_SLP(gpl2-1, INPUT, DOWN);
1065279377Simp		PIN_SLP(gpl2-2, INPUT, DOWN);
1066279377Simp		PIN_SLP(gpl2-3, INPUT, DOWN);
1067279377Simp		PIN_SLP(gpl2-4, INPUT, DOWN);
1068279377Simp		PIN_SLP(gpl2-5, INPUT, DOWN);
1069279377Simp		PIN_SLP(gpl2-6, PREV, NONE);
1070279377Simp		PIN_SLP(gpl2-7, INPUT, DOWN);
1071279377Simp
1072279377Simp		PIN_SLP(gpm0-0, INPUT, DOWN);
1073279377Simp		PIN_SLP(gpm0-1, INPUT, DOWN);
1074279377Simp		PIN_SLP(gpm0-2, INPUT, DOWN);
1075279377Simp		PIN_SLP(gpm0-3, INPUT, DOWN);
1076279377Simp		PIN_SLP(gpm0-4, INPUT, DOWN);
1077279377Simp		PIN_SLP(gpm0-5, INPUT, DOWN);
1078279377Simp		PIN_SLP(gpm0-6, INPUT, DOWN);
1079279377Simp		PIN_SLP(gpm0-7, INPUT, DOWN);
1080279377Simp
1081279377Simp		PIN_SLP(gpm1-0, INPUT, DOWN);
1082279377Simp		PIN_SLP(gpm1-1, INPUT, DOWN);
1083279377Simp		PIN_SLP(gpm1-2, INPUT, NONE);
1084279377Simp		PIN_SLP(gpm1-3, INPUT, NONE);
1085279377Simp		PIN_SLP(gpm1-4, INPUT, NONE);
1086279377Simp		PIN_SLP(gpm1-5, INPUT, NONE);
1087279377Simp		PIN_SLP(gpm1-6, INPUT, DOWN);
1088279377Simp
1089279377Simp		PIN_SLP(gpm2-0, INPUT, NONE);
1090279377Simp		PIN_SLP(gpm2-1, INPUT, NONE);
1091279377Simp		PIN_SLP(gpm2-2, INPUT, DOWN);
1092279377Simp		PIN_SLP(gpm2-3, INPUT, DOWN);
1093279377Simp		PIN_SLP(gpm2-4, INPUT, DOWN);
1094279377Simp
1095279377Simp		PIN_SLP(gpm3-0, PREV, NONE);
1096279377Simp		PIN_SLP(gpm3-1, PREV, NONE);
1097279377Simp		PIN_SLP(gpm3-2, PREV, NONE);
1098279377Simp		PIN_SLP(gpm3-3, OUT1, NONE);
1099279377Simp		PIN_SLP(gpm3-4, INPUT, DOWN);
1100279377Simp		PIN_SLP(gpm3-5, INPUT, DOWN);
1101279377Simp		PIN_SLP(gpm3-6, INPUT, DOWN);
1102279377Simp		PIN_SLP(gpm3-7, INPUT, DOWN);
1103279377Simp
1104279377Simp		PIN_SLP(gpm4-0, INPUT, DOWN);
1105279377Simp		PIN_SLP(gpm4-1, INPUT, DOWN);
1106279377Simp		PIN_SLP(gpm4-2, INPUT, DOWN);
1107279377Simp		PIN_SLP(gpm4-3, INPUT, DOWN);
1108279377Simp		PIN_SLP(gpm4-4, INPUT, DOWN);
1109279377Simp		PIN_SLP(gpm4-5, INPUT, DOWN);
1110279377Simp		PIN_SLP(gpm4-6, INPUT, DOWN);
1111279377Simp		PIN_SLP(gpm4-7, INPUT, DOWN);
1112279377Simp
1113279377Simp		PIN_SLP(gpy0-0, INPUT, DOWN);
1114279377Simp		PIN_SLP(gpy0-1, INPUT, DOWN);
1115279377Simp		PIN_SLP(gpy0-2, INPUT, DOWN);
1116279377Simp		PIN_SLP(gpy0-3, INPUT, DOWN);
1117279377Simp		PIN_SLP(gpy0-4, INPUT, DOWN);
1118279377Simp		PIN_SLP(gpy0-5, INPUT, DOWN);
1119279377Simp
1120279377Simp		PIN_SLP(gpy1-0, INPUT, DOWN);
1121279377Simp		PIN_SLP(gpy1-1, INPUT, DOWN);
1122279377Simp		PIN_SLP(gpy1-2, INPUT, DOWN);
1123279377Simp		PIN_SLP(gpy1-3, INPUT, DOWN);
1124279377Simp
1125279377Simp		PIN_SLP(gpy2-0, PREV, NONE);
1126279377Simp		PIN_SLP(gpy2-1, INPUT, DOWN);
1127279377Simp		PIN_SLP(gpy2-2, INPUT, NONE);
1128279377Simp		PIN_SLP(gpy2-3, INPUT, NONE);
1129279377Simp		PIN_SLP(gpy2-4, INPUT, NONE);
1130279377Simp		PIN_SLP(gpy2-5, INPUT, NONE);
1131279377Simp
1132279377Simp		PIN_SLP(gpy3-0, INPUT, DOWN);
1133279377Simp		PIN_SLP(gpy3-1, INPUT, DOWN);
1134279377Simp		PIN_SLP(gpy3-2, INPUT, DOWN);
1135279377Simp		PIN_SLP(gpy3-3, INPUT, DOWN);
1136279377Simp		PIN_SLP(gpy3-4, INPUT, DOWN);
1137279377Simp		PIN_SLP(gpy3-5, INPUT, DOWN);
1138279377Simp		PIN_SLP(gpy3-6, INPUT, DOWN);
1139279377Simp		PIN_SLP(gpy3-7, INPUT, DOWN);
1140279377Simp
1141279377Simp		PIN_SLP(gpy4-0, INPUT, DOWN);
1142279377Simp		PIN_SLP(gpy4-1, INPUT, DOWN);
1143279377Simp		PIN_SLP(gpy4-2, INPUT, DOWN);
1144279377Simp		PIN_SLP(gpy4-3, INPUT, DOWN);
1145279377Simp		PIN_SLP(gpy4-4, INPUT, DOWN);
1146279377Simp		PIN_SLP(gpy4-5, INPUT, DOWN);
1147279377Simp		PIN_SLP(gpy4-6, INPUT, DOWN);
1148279377Simp		PIN_SLP(gpy4-7, INPUT, DOWN);
1149279377Simp
1150279377Simp		PIN_SLP(gpy5-0, INPUT, DOWN);
1151279377Simp		PIN_SLP(gpy5-1, INPUT, DOWN);
1152279377Simp		PIN_SLP(gpy5-2, INPUT, DOWN);
1153279377Simp		PIN_SLP(gpy5-3, INPUT, DOWN);
1154279377Simp		PIN_SLP(gpy5-4, INPUT, DOWN);
1155279377Simp		PIN_SLP(gpy5-5, INPUT, DOWN);
1156279377Simp		PIN_SLP(gpy5-6, INPUT, DOWN);
1157279377Simp		PIN_SLP(gpy5-7, INPUT, DOWN);
1158279377Simp
1159279377Simp		PIN_SLP(gpy6-0, INPUT, DOWN);
1160279377Simp		PIN_SLP(gpy6-1, INPUT, DOWN);
1161279377Simp		PIN_SLP(gpy6-2, INPUT, DOWN);
1162279377Simp		PIN_SLP(gpy6-3, INPUT, DOWN);
1163279377Simp		PIN_SLP(gpy6-4, INPUT, DOWN);
1164279377Simp		PIN_SLP(gpy6-5, INPUT, DOWN);
1165279377Simp		PIN_SLP(gpy6-6, INPUT, DOWN);
1166279377Simp		PIN_SLP(gpy6-7, INPUT, DOWN);
1167279377Simp	};
1168279377Simp};
1169279377Simp
1170279377Simp&pinctrl_2 {
1171279377Simp	pinctrl-names = "default";
1172279377Simp	pinctrl-0 = <&sleep2>;
1173279377Simp
1174279377Simp	sleep2: sleep-states {
1175279377Simp		PIN_SLP(gpz-0, INPUT, DOWN);
1176279377Simp		PIN_SLP(gpz-1, INPUT, DOWN);
1177279377Simp		PIN_SLP(gpz-2, INPUT, DOWN);
1178279377Simp		PIN_SLP(gpz-3, INPUT, DOWN);
1179279377Simp		PIN_SLP(gpz-4, INPUT, DOWN);
1180279377Simp		PIN_SLP(gpz-5, INPUT, DOWN);
1181279377Simp		PIN_SLP(gpz-6, INPUT, DOWN);
1182279377Simp	};
1183279377Simp};
1184279377Simp
1185279377Simp&pinctrl_3 {
1186279377Simp	pinctrl-names = "default";
1187279377Simp	pinctrl-0 = <&sleep3>;
1188279377Simp
1189279377Simp	sleep3: sleep-states {
1190279377Simp		PIN_SLP(gpv0-0, INPUT, DOWN);
1191279377Simp		PIN_SLP(gpv0-1, INPUT, DOWN);
1192279377Simp		PIN_SLP(gpv0-2, INPUT, DOWN);
1193279377Simp		PIN_SLP(gpv0-3, INPUT, DOWN);
1194279377Simp		PIN_SLP(gpv0-4, INPUT, DOWN);
1195279377Simp		PIN_SLP(gpv0-5, INPUT, DOWN);
1196279377Simp		PIN_SLP(gpv0-6, INPUT, DOWN);
1197279377Simp		PIN_SLP(gpv0-7, INPUT, DOWN);
1198279377Simp
1199279377Simp		PIN_SLP(gpv1-0, INPUT, DOWN);
1200279377Simp		PIN_SLP(gpv1-1, INPUT, DOWN);
1201279377Simp		PIN_SLP(gpv1-2, INPUT, DOWN);
1202279377Simp		PIN_SLP(gpv1-3, INPUT, DOWN);
1203279377Simp		PIN_SLP(gpv1-4, INPUT, DOWN);
1204279377Simp		PIN_SLP(gpv1-5, INPUT, DOWN);
1205279377Simp		PIN_SLP(gpv1-6, INPUT, DOWN);
1206279377Simp		PIN_SLP(gpv1-7, INPUT, DOWN);
1207279377Simp
1208279377Simp		PIN_SLP(gpv2-0, INPUT, DOWN);
1209279377Simp		PIN_SLP(gpv2-1, INPUT, DOWN);
1210279377Simp		PIN_SLP(gpv2-2, INPUT, DOWN);
1211279377Simp		PIN_SLP(gpv2-3, INPUT, DOWN);
1212279377Simp		PIN_SLP(gpv2-4, INPUT, DOWN);
1213279377Simp		PIN_SLP(gpv2-5, INPUT, DOWN);
1214279377Simp		PIN_SLP(gpv2-6, INPUT, DOWN);
1215279377Simp		PIN_SLP(gpv2-7, INPUT, DOWN);
1216279377Simp
1217279377Simp		PIN_SLP(gpv3-0, INPUT, DOWN);
1218279377Simp		PIN_SLP(gpv3-1, INPUT, DOWN);
1219279377Simp		PIN_SLP(gpv3-2, INPUT, DOWN);
1220279377Simp		PIN_SLP(gpv3-3, INPUT, DOWN);
1221279377Simp		PIN_SLP(gpv3-4, INPUT, DOWN);
1222279377Simp		PIN_SLP(gpv3-5, INPUT, DOWN);
1223279377Simp		PIN_SLP(gpv3-6, INPUT, DOWN);
1224279377Simp		PIN_SLP(gpv3-7, INPUT, DOWN);
1225279377Simp
1226279377Simp		PIN_SLP(gpv4-0, INPUT, DOWN);
1227279377Simp	};
1228279377Simp};
1229295436Sandrew
1230295436Sandrew&pwm {
1231295436Sandrew	pinctrl-0 = <&pwm0_out>;
1232295436Sandrew	pinctrl-names = "default";
1233295436Sandrew	samsung,pwm-outputs = <0>;
1234295436Sandrew	status = "okay";
1235295436Sandrew};
1236295436Sandrew
1237295436Sandrew&prng {
1238295436Sandrew	status = "okay";
1239295436Sandrew};
1240295436Sandrew
1241295436Sandrew&rtc {
1242295436Sandrew	status = "okay";
1243295436Sandrew	clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
1244295436Sandrew	clock-names = "rtc", "rtc_src";
1245295436Sandrew};
1246295436Sandrew
1247295436Sandrew&sdhci_2 {
1248295436Sandrew	bus-width = <4>;
1249295436Sandrew	cd-gpios = <&gpx3 4 GPIO_ACTIVE_HIGH>;
1250295436Sandrew	cd-inverted;
1251295436Sandrew	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
1252295436Sandrew	pinctrl-names = "default";
1253295436Sandrew	vmmc-supply = <&ldo21_reg>;
1254295436Sandrew	status = "okay";
1255295436Sandrew};
1256295436Sandrew
1257295436Sandrew&serial_0 {
1258295436Sandrew	status = "okay";
1259295436Sandrew};
1260295436Sandrew
1261295436Sandrew&serial_1 {
1262295436Sandrew	status = "okay";
1263295436Sandrew};
1264295436Sandrew
1265295436Sandrew&serial_2 {
1266295436Sandrew	status = "okay";
1267295436Sandrew};
1268295436Sandrew
1269295436Sandrew&serial_3 {
1270295436Sandrew	status = "okay";
1271295436Sandrew};
1272295436Sandrew
1273295436Sandrew&spi_1 {
1274295436Sandrew	pinctrl-names = "default";
1275295436Sandrew	pinctrl-0 = <&spi1_bus>;
1276295436Sandrew	cs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>;
1277295436Sandrew	status = "okay";
1278295436Sandrew
1279295436Sandrew	s5c73m3_spi: s5c73m3 {
1280295436Sandrew		compatible = "samsung,s5c73m3";
1281295436Sandrew		spi-max-frequency = <50000000>;
1282295436Sandrew		reg = <0>;
1283295436Sandrew		controller-data {
1284295436Sandrew			samsung,spi-feedback-delay = <2>;
1285295436Sandrew		};
1286295436Sandrew	};
1287295436Sandrew};
1288295436Sandrew
1289295436Sandrew&tmu {
1290295436Sandrew	vtmu-supply = <&ldo10_reg>;
1291295436Sandrew	status = "okay";
1292295436Sandrew};
1293