1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Samsung's Exynos4412 based Trats 2 board device tree source
4*724ba675SRob Herring *
5*724ba675SRob Herring * Copyright (c) 2013 Samsung Electronics Co., Ltd.
6*724ba675SRob Herring *		http://www.samsung.com
7*724ba675SRob Herring *
8*724ba675SRob Herring * Device tree source file for Samsung's Trats 2 board which is based on
9*724ba675SRob Herring * Samsung's Exynos4412 SoC.
10*724ba675SRob Herring */
11*724ba675SRob Herring
12*724ba675SRob Herring/dts-v1/;
13*724ba675SRob Herring#include "exynos4412.dtsi"
14*724ba675SRob Herring#include "exynos4412-ppmu-common.dtsi"
15*724ba675SRob Herring
16*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
17*724ba675SRob Herring#include <dt-bindings/input/input.h>
18*724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h>
19*724ba675SRob Herring#include <dt-bindings/clock/maxim,max77686.h>
20*724ba675SRob Herring#include "exynos-pinctrl.h"
21*724ba675SRob Herring
22*724ba675SRob Herring/ {
23*724ba675SRob Herring	compatible = "samsung,midas", "samsung,exynos4412", "samsung,exynos4";
24*724ba675SRob Herring
25*724ba675SRob Herring	aliases {
26*724ba675SRob Herring		i2c11 = &i2c_max77693;
27*724ba675SRob Herring		i2c12 = &i2c_max77693_fuel;
28*724ba675SRob Herring		mmc0 = &mshc_0;
29*724ba675SRob Herring		mmc2 = &sdhci_2;
30*724ba675SRob Herring		mmc3 = &sdhci_3;
31*724ba675SRob Herring	};
32*724ba675SRob Herring
33*724ba675SRob Herring	chosen {
34*724ba675SRob Herring		stdout-path = &serial_2;
35*724ba675SRob Herring	};
36*724ba675SRob Herring
37*724ba675SRob Herring	firmware@204f000 {
38*724ba675SRob Herring		compatible = "samsung,secure-firmware";
39*724ba675SRob Herring		reg = <0x0204f000 0x1000>;
40*724ba675SRob Herring	};
41*724ba675SRob Herring
42*724ba675SRob Herring	fixed-rate-clocks {
43*724ba675SRob Herring		xxti {
44*724ba675SRob Herring			compatible = "samsung,clock-xxti";
45*724ba675SRob Herring			clock-frequency = <0>;
46*724ba675SRob Herring		};
47*724ba675SRob Herring
48*724ba675SRob Herring		xusbxti {
49*724ba675SRob Herring			compatible = "samsung,clock-xusbxti";
50*724ba675SRob Herring			clock-frequency = <24000000>;
51*724ba675SRob Herring		};
52*724ba675SRob Herring	};
53*724ba675SRob Herring
54*724ba675SRob Herring	cam_io_reg: voltage-regulator-1 {
55*724ba675SRob Herring		compatible = "regulator-fixed";
56*724ba675SRob Herring		regulator-name = "CAM_SENSOR_A";
57*724ba675SRob Herring		regulator-min-microvolt = <2800000>;
58*724ba675SRob Herring		regulator-max-microvolt = <2800000>;
59*724ba675SRob Herring		enable-active-high;
60*724ba675SRob Herring		status = "disabled";
61*724ba675SRob Herring	};
62*724ba675SRob Herring
63*724ba675SRob Herring	cam_af_reg: voltage-regulator-2 {
64*724ba675SRob Herring		compatible = "regulator-fixed";
65*724ba675SRob Herring		regulator-name = "CAM_AF";
66*724ba675SRob Herring		regulator-min-microvolt = <2800000>;
67*724ba675SRob Herring		regulator-max-microvolt = <2800000>;
68*724ba675SRob Herring		enable-active-high;
69*724ba675SRob Herring		status = "disabled";
70*724ba675SRob Herring	};
71*724ba675SRob Herring
72*724ba675SRob Herring	vsil12: voltage-regulator-3 {
73*724ba675SRob Herring		compatible = "regulator-fixed";
74*724ba675SRob Herring		regulator-name = "VSIL_1.2V";
75*724ba675SRob Herring		regulator-min-microvolt = <1200000>;
76*724ba675SRob Herring		regulator-max-microvolt = <1200000>;
77*724ba675SRob Herring		gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
78*724ba675SRob Herring		enable-active-high;
79*724ba675SRob Herring		vin-supply = <&buck7_reg>;
80*724ba675SRob Herring	};
81*724ba675SRob Herring
82*724ba675SRob Herring	vcc33mhl: voltage-regulator-4 {
83*724ba675SRob Herring		compatible = "regulator-fixed";
84*724ba675SRob Herring		regulator-name = "VCC_3.3_MHL";
85*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
86*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
87*724ba675SRob Herring		gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
88*724ba675SRob Herring		enable-active-high;
89*724ba675SRob Herring	};
90*724ba675SRob Herring
91*724ba675SRob Herring	vcc18mhl: voltage-regulator-5 {
92*724ba675SRob Herring		compatible = "regulator-fixed";
93*724ba675SRob Herring		regulator-name = "VCC_1.8_MHL";
94*724ba675SRob Herring		regulator-min-microvolt = <1800000>;
95*724ba675SRob Herring		regulator-max-microvolt = <1800000>;
96*724ba675SRob Herring		gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
97*724ba675SRob Herring		enable-active-high;
98*724ba675SRob Herring	};
99*724ba675SRob Herring
100*724ba675SRob Herring	touchkey_reg: voltage-regulator-6 {
101*724ba675SRob Herring		compatible = "regulator-fixed";
102*724ba675SRob Herring		regulator-name = "LED_VDD_3.3V";
103*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
104*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
105*724ba675SRob Herring		enable-active-high;
106*724ba675SRob Herring		status = "disabled";
107*724ba675SRob Herring	};
108*724ba675SRob Herring
109*724ba675SRob Herring	vbatt_reg: voltage-regulator-7 {
110*724ba675SRob Herring		compatible = "regulator-fixed";
111*724ba675SRob Herring		regulator-name = "VBATT";
112*724ba675SRob Herring		regulator-min-microvolt = <5000000>;
113*724ba675SRob Herring		regulator-max-microvolt = <5000000>;
114*724ba675SRob Herring		regulator-always-on;
115*724ba675SRob Herring	};
116*724ba675SRob Herring
117*724ba675SRob Herring	mic_bias_reg: voltage-regulator-8 {
118*724ba675SRob Herring		compatible = "regulator-fixed";
119*724ba675SRob Herring		regulator-name = "MICBIAS_LDO_2.8V";
120*724ba675SRob Herring		regulator-min-microvolt = <2800000>;
121*724ba675SRob Herring		regulator-max-microvolt = <2800000>;
122*724ba675SRob Herring		gpio = <&gpf1 7 GPIO_ACTIVE_HIGH>;
123*724ba675SRob Herring		enable-active-high;
124*724ba675SRob Herring	};
125*724ba675SRob Herring
126*724ba675SRob Herring	submic_bias_reg: voltage-regulator-9 {
127*724ba675SRob Herring		compatible = "regulator-fixed";
128*724ba675SRob Herring		regulator-name = "SUB_MICBIAS_LDO_2.8V";
129*724ba675SRob Herring		regulator-min-microvolt = <2800000>;
130*724ba675SRob Herring		regulator-max-microvolt = <2800000>;
131*724ba675SRob Herring	};
132*724ba675SRob Herring
133*724ba675SRob Herring	gpio-keys {
134*724ba675SRob Herring		compatible = "gpio-keys";
135*724ba675SRob Herring		pinctrl-names = "default";
136*724ba675SRob Herring		pinctrl-0 = <&gpio_keys>;
137*724ba675SRob Herring
138*724ba675SRob Herring		key-down {
139*724ba675SRob Herring			gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
140*724ba675SRob Herring			linux,code = <114>;
141*724ba675SRob Herring			label = "volume down";
142*724ba675SRob Herring			debounce-interval = <10>;
143*724ba675SRob Herring		};
144*724ba675SRob Herring
145*724ba675SRob Herring		key-up {
146*724ba675SRob Herring			gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
147*724ba675SRob Herring			linux,code = <115>;
148*724ba675SRob Herring			label = "volume up";
149*724ba675SRob Herring			debounce-interval = <10>;
150*724ba675SRob Herring		};
151*724ba675SRob Herring
152*724ba675SRob Herring		key-power {
153*724ba675SRob Herring			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
154*724ba675SRob Herring			linux,code = <116>;
155*724ba675SRob Herring			label = "power";
156*724ba675SRob Herring			debounce-interval = <10>;
157*724ba675SRob Herring			wakeup-source;
158*724ba675SRob Herring		};
159*724ba675SRob Herring
160*724ba675SRob Herring		key-ok {
161*724ba675SRob Herring			gpios = <&gpx0 1 GPIO_ACTIVE_LOW>;
162*724ba675SRob Herring			linux,code = <139>;
163*724ba675SRob Herring			label = "ok";
164*724ba675SRob Herring			debounce-interval = <10>;
165*724ba675SRob Herring			wakeup-source;
166*724ba675SRob Herring		};
167*724ba675SRob Herring	};
168*724ba675SRob Herring
169*724ba675SRob Herring	i2c_max77693: i2c-gpio-1 {
170*724ba675SRob Herring		compatible = "i2c-gpio";
171*724ba675SRob Herring		sda-gpios = <&gpm2 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
172*724ba675SRob Herring		scl-gpios = <&gpm2 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
173*724ba675SRob Herring		i2c-gpio,delay-us = <2>;
174*724ba675SRob Herring		#address-cells = <1>;
175*724ba675SRob Herring		#size-cells = <0>;
176*724ba675SRob Herring
177*724ba675SRob Herring		pmic@66 {
178*724ba675SRob Herring			compatible = "maxim,max77693";
179*724ba675SRob Herring			interrupt-parent = <&gpx1>;
180*724ba675SRob Herring			interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
181*724ba675SRob Herring			pinctrl-names = "default";
182*724ba675SRob Herring			pinctrl-0 = <&max77693_irq>;
183*724ba675SRob Herring			reg = <0x66>;
184*724ba675SRob Herring
185*724ba675SRob Herring			regulators {
186*724ba675SRob Herring				esafeout1_reg: ESAFEOUT1 {
187*724ba675SRob Herring					regulator-name = "ESAFEOUT1";
188*724ba675SRob Herring				};
189*724ba675SRob Herring				esafeout2_reg: ESAFEOUT2 {
190*724ba675SRob Herring					regulator-name = "ESAFEOUT2";
191*724ba675SRob Herring				};
192*724ba675SRob Herring				charger_reg: CHARGER {
193*724ba675SRob Herring					regulator-name = "CHARGER";
194*724ba675SRob Herring					regulator-min-microamp = <60000>;
195*724ba675SRob Herring					regulator-max-microamp = <2580000>;
196*724ba675SRob Herring				};
197*724ba675SRob Herring			};
198*724ba675SRob Herring
199*724ba675SRob Herring			motor-driver {
200*724ba675SRob Herring				compatible = "maxim,max77693-haptic";
201*724ba675SRob Herring				haptic-supply = <&ldo26_reg>;
202*724ba675SRob Herring				pwms = <&pwm 0 38022 0>;
203*724ba675SRob Herring			};
204*724ba675SRob Herring
205*724ba675SRob Herring			charger {
206*724ba675SRob Herring				compatible = "maxim,max77693-charger";
207*724ba675SRob Herring
208*724ba675SRob Herring				maxim,constant-microvolt = <4350000>;
209*724ba675SRob Herring				maxim,min-system-microvolt = <3600000>;
210*724ba675SRob Herring				maxim,thermal-regulation-celsius = <100>;
211*724ba675SRob Herring				maxim,battery-overcurrent-microamp = <3500000>;
212*724ba675SRob Herring				maxim,charge-input-threshold-microvolt = <4300000>;
213*724ba675SRob Herring			};
214*724ba675SRob Herring		};
215*724ba675SRob Herring	};
216*724ba675SRob Herring
217*724ba675SRob Herring	i2c_max77693_fuel: i2c-gpio-3 {
218*724ba675SRob Herring		compatible = "i2c-gpio";
219*724ba675SRob Herring		sda-gpios = <&gpf1 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
220*724ba675SRob Herring		scl-gpios = <&gpf1 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
221*724ba675SRob Herring		i2c-gpio,delay-us = <2>;
222*724ba675SRob Herring		#address-cells = <1>;
223*724ba675SRob Herring		#size-cells = <0>;
224*724ba675SRob Herring
225*724ba675SRob Herring		fuel-gauge@36 {
226*724ba675SRob Herring			compatible = "maxim,max17047";
227*724ba675SRob Herring			interrupt-parent = <&gpx2>;
228*724ba675SRob Herring			interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
229*724ba675SRob Herring			pinctrl-names = "default";
230*724ba675SRob Herring			pinctrl-0 = <&max77693_fuel_irq>;
231*724ba675SRob Herring			reg = <0x36>;
232*724ba675SRob Herring
233*724ba675SRob Herring			maxim,over-heat-temp = <700>;
234*724ba675SRob Herring			maxim,over-volt = <4500>;
235*724ba675SRob Herring		};
236*724ba675SRob Herring	};
237*724ba675SRob Herring
238*724ba675SRob Herring	i2c-gpio-4 {
239*724ba675SRob Herring		compatible = "i2c-gpio";
240*724ba675SRob Herring		sda-gpios = <&gpl0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
241*724ba675SRob Herring		scl-gpios = <&gpl0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
242*724ba675SRob Herring		i2c-gpio,delay-us = <2>;
243*724ba675SRob Herring		#address-cells = <1>;
244*724ba675SRob Herring		#size-cells = <0>;
245*724ba675SRob Herring
246*724ba675SRob Herring		touchkey@20 {
247*724ba675SRob Herring			compatible = "cypress,midas-touchkey";
248*724ba675SRob Herring			reg = <0x20>;
249*724ba675SRob Herring			vdd-supply = <&touchkey_reg>;
250*724ba675SRob Herring			vcc-supply = <&ldo5_reg>;
251*724ba675SRob Herring			interrupt-parent = <&gpj0>;
252*724ba675SRob Herring			interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
253*724ba675SRob Herring			linux,keycodes = <KEY_BACK KEY_MENU>;
254*724ba675SRob Herring		};
255*724ba675SRob Herring	};
256*724ba675SRob Herring
257*724ba675SRob Herring	i2c-mhl {
258*724ba675SRob Herring		compatible = "i2c-gpio";
259*724ba675SRob Herring		sda-gpios = <&gpf0 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
260*724ba675SRob Herring		scl-gpios = <&gpf0 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
261*724ba675SRob Herring		i2c-gpio,delay-us = <100>;
262*724ba675SRob Herring		#address-cells = <1>;
263*724ba675SRob Herring		#size-cells = <0>;
264*724ba675SRob Herring
265*724ba675SRob Herring		pinctrl-0 = <&i2c_mhl_bus>;
266*724ba675SRob Herring		pinctrl-names = "default";
267*724ba675SRob Herring
268*724ba675SRob Herring		sii9234: hdmi-bridge@39 {
269*724ba675SRob Herring			compatible = "sil,sii9234";
270*724ba675SRob Herring			avcc33-supply = <&vcc33mhl>;
271*724ba675SRob Herring			iovcc18-supply = <&vcc18mhl>;
272*724ba675SRob Herring			avcc12-supply = <&vsil12>;
273*724ba675SRob Herring			cvcc12-supply = <&vsil12>;
274*724ba675SRob Herring			reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>;
275*724ba675SRob Herring			interrupt-parent = <&gpf3>;
276*724ba675SRob Herring			interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
277*724ba675SRob Herring			reg = <0x39>;
278*724ba675SRob Herring
279*724ba675SRob Herring			ports {
280*724ba675SRob Herring				#address-cells = <1>;
281*724ba675SRob Herring				#size-cells = <0>;
282*724ba675SRob Herring
283*724ba675SRob Herring				port@0 {
284*724ba675SRob Herring					reg = <0>;
285*724ba675SRob Herring
286*724ba675SRob Herring					mhl_to_hdmi: endpoint {
287*724ba675SRob Herring						remote-endpoint = <&hdmi_to_mhl>;
288*724ba675SRob Herring					};
289*724ba675SRob Herring				};
290*724ba675SRob Herring			};
291*724ba675SRob Herring		};
292*724ba675SRob Herring	};
293*724ba675SRob Herring
294*724ba675SRob Herring	wlan_pwrseq: sdhci3-pwrseq {
295*724ba675SRob Herring		compatible = "mmc-pwrseq-simple";
296*724ba675SRob Herring		reset-gpios = <&gpj0 0 GPIO_ACTIVE_LOW>;
297*724ba675SRob Herring		clocks = <&max77686 MAX77686_CLK_PMIC>;
298*724ba675SRob Herring		clock-names = "ext_clock";
299*724ba675SRob Herring	};
300*724ba675SRob Herring
301*724ba675SRob Herring	sound: sound {
302*724ba675SRob Herring		compatible = "samsung,midas-audio";
303*724ba675SRob Herring		model = "Midas";
304*724ba675SRob Herring		mic-bias-supply = <&mic_bias_reg>;
305*724ba675SRob Herring		submic-bias-supply = <&submic_bias_reg>;
306*724ba675SRob Herring
307*724ba675SRob Herring		cpu {
308*724ba675SRob Herring			sound-dai = <&i2s0 0>;
309*724ba675SRob Herring		};
310*724ba675SRob Herring		codec {
311*724ba675SRob Herring			sound-dai = <&wm1811>;
312*724ba675SRob Herring		};
313*724ba675SRob Herring	};
314*724ba675SRob Herring
315*724ba675SRob Herring	thermistor-ap {
316*724ba675SRob Herring		compatible = "murata,ncp15wb473";
317*724ba675SRob Herring		pullup-uv = <1800000>;	 /* VCC_1.8V_AP */
318*724ba675SRob Herring		pullup-ohm = <100000>;	 /* 100K */
319*724ba675SRob Herring		pulldown-ohm = <100000>; /* 100K */
320*724ba675SRob Herring		io-channels = <&adc 1>;  /* AP temperature */
321*724ba675SRob Herring	};
322*724ba675SRob Herring
323*724ba675SRob Herring	thermistor-battery {
324*724ba675SRob Herring		compatible = "murata,ncp15wb473";
325*724ba675SRob Herring		pullup-uv = <1800000>;	 /* VCC_1.8V_AP */
326*724ba675SRob Herring		pullup-ohm = <100000>;	 /* 100K */
327*724ba675SRob Herring		pulldown-ohm = <100000>; /* 100K */
328*724ba675SRob Herring		io-channels = <&adc 2>;  /* Battery temperature */
329*724ba675SRob Herring	};
330*724ba675SRob Herring};
331*724ba675SRob Herring
332*724ba675SRob Herring&adc {
333*724ba675SRob Herring	vdd-supply = <&ldo3_reg>;
334*724ba675SRob Herring	status = "okay";
335*724ba675SRob Herring};
336*724ba675SRob Herring
337*724ba675SRob Herring&bus_dmc {
338*724ba675SRob Herring	devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
339*724ba675SRob Herring	vdd-supply = <&buck1_reg>;
340*724ba675SRob Herring	status = "okay";
341*724ba675SRob Herring};
342*724ba675SRob Herring
343*724ba675SRob Herring&bus_acp {
344*724ba675SRob Herring	devfreq = <&bus_dmc>;
345*724ba675SRob Herring	status = "okay";
346*724ba675SRob Herring};
347*724ba675SRob Herring
348*724ba675SRob Herring&bus_c2c {
349*724ba675SRob Herring	devfreq = <&bus_dmc>;
350*724ba675SRob Herring	status = "okay";
351*724ba675SRob Herring};
352*724ba675SRob Herring
353*724ba675SRob Herring&bus_leftbus {
354*724ba675SRob Herring	devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
355*724ba675SRob Herring	vdd-supply = <&buck3_reg>;
356*724ba675SRob Herring	status = "okay";
357*724ba675SRob Herring};
358*724ba675SRob Herring
359*724ba675SRob Herring&bus_rightbus {
360*724ba675SRob Herring	devfreq = <&bus_leftbus>;
361*724ba675SRob Herring	status = "okay";
362*724ba675SRob Herring};
363*724ba675SRob Herring
364*724ba675SRob Herring&bus_display {
365*724ba675SRob Herring	devfreq = <&bus_leftbus>;
366*724ba675SRob Herring	status = "okay";
367*724ba675SRob Herring};
368*724ba675SRob Herring
369*724ba675SRob Herring&bus_fsys {
370*724ba675SRob Herring	devfreq = <&bus_leftbus>;
371*724ba675SRob Herring	status = "okay";
372*724ba675SRob Herring};
373*724ba675SRob Herring
374*724ba675SRob Herring&bus_peri {
375*724ba675SRob Herring	devfreq = <&bus_leftbus>;
376*724ba675SRob Herring	status = "okay";
377*724ba675SRob Herring};
378*724ba675SRob Herring
379*724ba675SRob Herring&bus_mfc {
380*724ba675SRob Herring	devfreq = <&bus_leftbus>;
381*724ba675SRob Herring	status = "okay";
382*724ba675SRob Herring};
383*724ba675SRob Herring
384*724ba675SRob Herring&camera {
385*724ba675SRob Herring	pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>;
386*724ba675SRob Herring	pinctrl-names = "default";
387*724ba675SRob Herring	status = "okay";
388*724ba675SRob Herring	assigned-clocks = <&clock CLK_MOUT_CAM0>,
389*724ba675SRob Herring		<&clock CLK_MOUT_CAM1>;
390*724ba675SRob Herring	assigned-clock-parents = <&clock CLK_XUSBXTI>,
391*724ba675SRob Herring		<&clock CLK_XUSBXTI>;
392*724ba675SRob Herring};
393*724ba675SRob Herring
394*724ba675SRob Herring&cpu0 {
395*724ba675SRob Herring	cpu0-supply = <&buck2_reg>;
396*724ba675SRob Herring};
397*724ba675SRob Herring
398*724ba675SRob Herring&cpu_thermal {
399*724ba675SRob Herring	cooling-maps {
400*724ba675SRob Herring		map0 {
401*724ba675SRob Herring			/* Corresponds to 800MHz at freq_table */
402*724ba675SRob Herring			cooling-device = <&cpu0 7 7>, <&cpu1 7 7>,
403*724ba675SRob Herring					 <&cpu2 7 7>, <&cpu3 7 7>;
404*724ba675SRob Herring		};
405*724ba675SRob Herring		map1 {
406*724ba675SRob Herring			/* Corresponds to 200MHz at freq_table */
407*724ba675SRob Herring			cooling-device = <&cpu0 13 13>, <&cpu1 13 13>,
408*724ba675SRob Herring					 <&cpu2 13 13>, <&cpu3 13 13>;
409*724ba675SRob Herring		};
410*724ba675SRob Herring	};
411*724ba675SRob Herring};
412*724ba675SRob Herring
413*724ba675SRob Herring&csis_0 {
414*724ba675SRob Herring	status = "okay";
415*724ba675SRob Herring	vddcore-supply = <&ldo8_reg>;
416*724ba675SRob Herring	vddio-supply = <&ldo10_reg>;
417*724ba675SRob Herring	assigned-clocks = <&clock CLK_MOUT_CSIS0>,
418*724ba675SRob Herring			<&clock CLK_SCLK_CSIS0>;
419*724ba675SRob Herring	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
420*724ba675SRob Herring	assigned-clock-rates = <0>, <176000000>;
421*724ba675SRob Herring
422*724ba675SRob Herring	/* Camera C (3) MIPI CSI-2 (CSIS0) */
423*724ba675SRob Herring	port@3 {
424*724ba675SRob Herring		reg = <3>;
425*724ba675SRob Herring		csis0_ep: endpoint {
426*724ba675SRob Herring			remote-endpoint = <&s5c73m3_ep>;
427*724ba675SRob Herring			data-lanes = <1 2 3 4>;
428*724ba675SRob Herring			samsung,csis-hs-settle = <12>;
429*724ba675SRob Herring		};
430*724ba675SRob Herring	};
431*724ba675SRob Herring};
432*724ba675SRob Herring
433*724ba675SRob Herring&csis_1 {
434*724ba675SRob Herring	status = "okay";
435*724ba675SRob Herring	vddcore-supply = <&ldo8_reg>;
436*724ba675SRob Herring	vddio-supply = <&ldo10_reg>;
437*724ba675SRob Herring	assigned-clocks = <&clock CLK_MOUT_CSIS1>,
438*724ba675SRob Herring			<&clock CLK_SCLK_CSIS1>;
439*724ba675SRob Herring	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
440*724ba675SRob Herring	assigned-clock-rates = <0>, <176000000>;
441*724ba675SRob Herring
442*724ba675SRob Herring	/* Camera D (4) MIPI CSI-2 (CSIS1) */
443*724ba675SRob Herring	port@4 {
444*724ba675SRob Herring		reg = <4>;
445*724ba675SRob Herring		csis1_ep: endpoint {
446*724ba675SRob Herring			remote-endpoint = <&is_s5k6a3_ep>;
447*724ba675SRob Herring			data-lanes = <1>;
448*724ba675SRob Herring			samsung,csis-hs-settle = <18>;
449*724ba675SRob Herring			samsung,csis-wclk;
450*724ba675SRob Herring		};
451*724ba675SRob Herring	};
452*724ba675SRob Herring};
453*724ba675SRob Herring
454*724ba675SRob Herring&dsi_0 {
455*724ba675SRob Herring	vddcore-supply = <&ldo8_reg>;
456*724ba675SRob Herring	vddio-supply = <&ldo10_reg>;
457*724ba675SRob Herring	samsung,burst-clock-frequency = <500000000>;
458*724ba675SRob Herring	samsung,esc-clock-frequency = <20000000>;
459*724ba675SRob Herring	samsung,pll-clock-frequency = <24000000>;
460*724ba675SRob Herring};
461*724ba675SRob Herring
462*724ba675SRob Herring&exynos_usbphy {
463*724ba675SRob Herring	vbus-supply = <&esafeout1_reg>;
464*724ba675SRob Herring	status = "okay";
465*724ba675SRob Herring};
466*724ba675SRob Herring
467*724ba675SRob Herring&fimc_0 {
468*724ba675SRob Herring	status = "okay";
469*724ba675SRob Herring	assigned-clocks = <&clock CLK_MOUT_FIMC0>,
470*724ba675SRob Herring			<&clock CLK_SCLK_FIMC0>;
471*724ba675SRob Herring	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
472*724ba675SRob Herring	assigned-clock-rates = <0>, <176000000>;
473*724ba675SRob Herring};
474*724ba675SRob Herring
475*724ba675SRob Herring&fimc_1 {
476*724ba675SRob Herring	status = "okay";
477*724ba675SRob Herring	assigned-clocks = <&clock CLK_MOUT_FIMC1>,
478*724ba675SRob Herring			<&clock CLK_SCLK_FIMC1>;
479*724ba675SRob Herring	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
480*724ba675SRob Herring	assigned-clock-rates = <0>, <176000000>;
481*724ba675SRob Herring};
482*724ba675SRob Herring
483*724ba675SRob Herring&fimc_2 {
484*724ba675SRob Herring	status = "okay";
485*724ba675SRob Herring	assigned-clocks = <&clock CLK_MOUT_FIMC2>,
486*724ba675SRob Herring			<&clock CLK_SCLK_FIMC2>;
487*724ba675SRob Herring	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
488*724ba675SRob Herring	assigned-clock-rates = <0>, <176000000>;
489*724ba675SRob Herring};
490*724ba675SRob Herring
491*724ba675SRob Herring&fimc_3 {
492*724ba675SRob Herring	status = "okay";
493*724ba675SRob Herring	assigned-clocks = <&clock CLK_MOUT_FIMC3>,
494*724ba675SRob Herring			<&clock CLK_SCLK_FIMC3>;
495*724ba675SRob Herring	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
496*724ba675SRob Herring	assigned-clock-rates = <0>, <176000000>;
497*724ba675SRob Herring};
498*724ba675SRob Herring
499*724ba675SRob Herring&fimc_is {
500*724ba675SRob Herring	pinctrl-0 = <&fimc_is_uart>;
501*724ba675SRob Herring	pinctrl-names = "default";
502*724ba675SRob Herring	status = "okay";
503*724ba675SRob Herring};
504*724ba675SRob Herring
505*724ba675SRob Herring&fimc_lite_0 {
506*724ba675SRob Herring	status = "okay";
507*724ba675SRob Herring};
508*724ba675SRob Herring
509*724ba675SRob Herring&fimc_lite_1 {
510*724ba675SRob Herring	status = "okay";
511*724ba675SRob Herring};
512*724ba675SRob Herring
513*724ba675SRob Herring&fimd {
514*724ba675SRob Herring	status = "okay";
515*724ba675SRob Herring};
516*724ba675SRob Herring
517*724ba675SRob Herring&gpu {
518*724ba675SRob Herring	mali-supply = <&buck4_reg>;
519*724ba675SRob Herring	status = "okay";
520*724ba675SRob Herring};
521*724ba675SRob Herring
522*724ba675SRob Herring&hdmi {
523*724ba675SRob Herring	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
524*724ba675SRob Herring	pinctrl-names = "default";
525*724ba675SRob Herring	pinctrl-0 = <&hdmi_hpd>;
526*724ba675SRob Herring	vdd-supply = <&ldo3_reg>;
527*724ba675SRob Herring	vdd_osc-supply = <&ldo4_reg>;
528*724ba675SRob Herring	vdd_pll-supply = <&ldo3_reg>;
529*724ba675SRob Herring	ddc = <&i2c_5>;
530*724ba675SRob Herring	status = "okay";
531*724ba675SRob Herring
532*724ba675SRob Herring	ports {
533*724ba675SRob Herring		#address-cells = <1>;
534*724ba675SRob Herring		#size-cells = <0>;
535*724ba675SRob Herring
536*724ba675SRob Herring		port@1 {
537*724ba675SRob Herring			reg = <1>;
538*724ba675SRob Herring			hdmi_to_mhl: endpoint {
539*724ba675SRob Herring				remote-endpoint = <&mhl_to_hdmi>;
540*724ba675SRob Herring			};
541*724ba675SRob Herring		};
542*724ba675SRob Herring	};
543*724ba675SRob Herring};
544*724ba675SRob Herring
545*724ba675SRob Herring&hsotg {
546*724ba675SRob Herring	vusb_d-supply = <&ldo15_reg>;
547*724ba675SRob Herring	vusb_a-supply = <&ldo12_reg>;
548*724ba675SRob Herring	dr_mode = "peripheral";
549*724ba675SRob Herring	status = "okay";
550*724ba675SRob Herring};
551*724ba675SRob Herring
552*724ba675SRob Herring&i2c_0 {
553*724ba675SRob Herring	samsung,i2c-sda-delay = <100>;
554*724ba675SRob Herring	samsung,i2c-slave-addr = <0x10>;
555*724ba675SRob Herring	samsung,i2c-max-bus-freq = <400000>;
556*724ba675SRob Herring	pinctrl-0 = <&i2c0_bus>;
557*724ba675SRob Herring	pinctrl-names = "default";
558*724ba675SRob Herring	status = "okay";
559*724ba675SRob Herring
560*724ba675SRob Herring	s5c73m3: image-sensor@3c {
561*724ba675SRob Herring		compatible = "samsung,s5c73m3";
562*724ba675SRob Herring		reg = <0x3c>;
563*724ba675SRob Herring		xshutdown-gpios = <&gpf1 3 GPIO_ACTIVE_LOW>; /* ISP_RESET */
564*724ba675SRob Herring		vdd-int-supply = <&buck9_reg>;
565*724ba675SRob Herring		vddio-cis-supply = <&ldo9_reg>;
566*724ba675SRob Herring		vddio-host-supply = <&ldo18_reg>;
567*724ba675SRob Herring		vdd-af-supply = <&cam_af_reg>;
568*724ba675SRob Herring		vdd-reg-supply = <&cam_io_reg>;
569*724ba675SRob Herring		clock-frequency = <24000000>;
570*724ba675SRob Herring		/* CAM_A_CLKOUT */
571*724ba675SRob Herring		clocks = <&camera 0>;
572*724ba675SRob Herring		clock-names = "cis_extclk";
573*724ba675SRob Herring		status = "disabled";
574*724ba675SRob Herring		port {
575*724ba675SRob Herring			s5c73m3_ep: endpoint {
576*724ba675SRob Herring				remote-endpoint = <&csis0_ep>;
577*724ba675SRob Herring				data-lanes = <1 2 3 4>;
578*724ba675SRob Herring			};
579*724ba675SRob Herring		};
580*724ba675SRob Herring	};
581*724ba675SRob Herring};
582*724ba675SRob Herring
583*724ba675SRob Herring&i2c1_isp {
584*724ba675SRob Herring	pinctrl-0 = <&fimc_is_i2c1>;
585*724ba675SRob Herring	pinctrl-names = "default";
586*724ba675SRob Herring
587*724ba675SRob Herring	image-sensor@10 {
588*724ba675SRob Herring		compatible = "samsung,s5k6a3";
589*724ba675SRob Herring		reg = <0x10>;
590*724ba675SRob Herring		svdda-supply = <&cam_io_reg>;
591*724ba675SRob Herring		svddio-supply = <&ldo19_reg>;
592*724ba675SRob Herring		afvdd-supply = <&ldo19_reg>;
593*724ba675SRob Herring		clock-frequency = <24000000>;
594*724ba675SRob Herring		/* CAM_B_CLKOUT */
595*724ba675SRob Herring		clocks = <&camera 1>;
596*724ba675SRob Herring		clock-names = "extclk";
597*724ba675SRob Herring		gpios = <&gpm1 6 GPIO_ACTIVE_LOW>;
598*724ba675SRob Herring
599*724ba675SRob Herring		port {
600*724ba675SRob Herring			is_s5k6a3_ep: endpoint {
601*724ba675SRob Herring				remote-endpoint = <&csis1_ep>;
602*724ba675SRob Herring				data-lanes = <1>;
603*724ba675SRob Herring			};
604*724ba675SRob Herring		};
605*724ba675SRob Herring	};
606*724ba675SRob Herring};
607*724ba675SRob Herring
608*724ba675SRob Herring&i2c_3 {
609*724ba675SRob Herring	samsung,i2c-sda-delay = <100>;
610*724ba675SRob Herring	samsung,i2c-slave-addr = <0x10>;
611*724ba675SRob Herring	samsung,i2c-max-bus-freq = <400000>;
612*724ba675SRob Herring	pinctrl-0 = <&i2c3_bus>;
613*724ba675SRob Herring	pinctrl-names = "default";
614*724ba675SRob Herring	status = "okay";
615*724ba675SRob Herring};
616*724ba675SRob Herring
617*724ba675SRob Herring&i2c_4 {
618*724ba675SRob Herring	samsung,i2c-sda-delay = <100>;
619*724ba675SRob Herring	samsung,i2c-slave-addr = <0x10>;
620*724ba675SRob Herring	samsung,i2c-max-bus-freq = <100000>;
621*724ba675SRob Herring	pinctrl-0 = <&i2c4_bus>;
622*724ba675SRob Herring	pinctrl-names = "default";
623*724ba675SRob Herring	status = "okay";
624*724ba675SRob Herring
625*724ba675SRob Herring	wm1811: audio-codec@1a {
626*724ba675SRob Herring		compatible = "wlf,wm1811";
627*724ba675SRob Herring		reg = <0x1a>;
628*724ba675SRob Herring		clocks = <&pmu_system_controller 0>,
629*724ba675SRob Herring			<&max77686 MAX77686_CLK_PMIC>;
630*724ba675SRob Herring		clock-names = "MCLK1", "MCLK2";
631*724ba675SRob Herring		interrupt-controller;
632*724ba675SRob Herring		#interrupt-cells = <2>;
633*724ba675SRob Herring		interrupt-parent = <&gpx3>;
634*724ba675SRob Herring		interrupts = <6 IRQ_TYPE_LEVEL_HIGH>;
635*724ba675SRob Herring
636*724ba675SRob Herring		gpio-controller;
637*724ba675SRob Herring		#gpio-cells = <2>;
638*724ba675SRob Herring		#sound-dai-cells = <0>;
639*724ba675SRob Herring
640*724ba675SRob Herring		wlf,gpio-cfg = <0x3 0x0 0x0 0x0 0x0 0x0
641*724ba675SRob Herring			0x0 0x8000 0x0 0x0 0x0>;
642*724ba675SRob Herring		wlf,micbias-cfg = <0x2f 0x2b>;
643*724ba675SRob Herring
644*724ba675SRob Herring		wlf,lineout1-feedback;
645*724ba675SRob Herring		wlf,lineout1-se;
646*724ba675SRob Herring		wlf,lineout2-se;
647*724ba675SRob Herring		wlf,ldoena-always-driven;
648*724ba675SRob Herring
649*724ba675SRob Herring		AVDD2-supply = <&vbatt_reg>;
650*724ba675SRob Herring		DBVDD1-supply = <&ldo3_reg>;
651*724ba675SRob Herring		DBVDD2-supply = <&vbatt_reg>;
652*724ba675SRob Herring		DBVDD3-supply = <&vbatt_reg>;
653*724ba675SRob Herring		DCVDD-supply = <&ldo3_reg>;
654*724ba675SRob Herring		CPVDD-supply = <&vbatt_reg>;
655*724ba675SRob Herring		SPKVDD1-supply = <&vbatt_reg>;
656*724ba675SRob Herring		SPKVDD2-supply = <&vbatt_reg>;
657*724ba675SRob Herring		wlf,ldo1ena-gpios = <&gpj0 4 GPIO_ACTIVE_HIGH>;
658*724ba675SRob Herring		wlf,ldo2ena-gpios = <&gpj0 4 GPIO_ACTIVE_HIGH>;
659*724ba675SRob Herring	};
660*724ba675SRob Herring};
661*724ba675SRob Herring
662*724ba675SRob Herring&i2c_5 {
663*724ba675SRob Herring	status = "okay";
664*724ba675SRob Herring};
665*724ba675SRob Herring
666*724ba675SRob Herring&i2c_7 {
667*724ba675SRob Herring	samsung,i2c-sda-delay = <100>;
668*724ba675SRob Herring	samsung,i2c-slave-addr = <0x10>;
669*724ba675SRob Herring	samsung,i2c-max-bus-freq = <100000>;
670*724ba675SRob Herring	pinctrl-0 = <&i2c7_bus>;
671*724ba675SRob Herring	pinctrl-names = "default";
672*724ba675SRob Herring	status = "okay";
673*724ba675SRob Herring
674*724ba675SRob Herring	max77686: pmic@9 {
675*724ba675SRob Herring		compatible = "maxim,max77686";
676*724ba675SRob Herring		interrupt-parent = <&gpx0>;
677*724ba675SRob Herring		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
678*724ba675SRob Herring		pinctrl-0 = <&max77686_irq>;
679*724ba675SRob Herring		pinctrl-names = "default";
680*724ba675SRob Herring		wakeup-source;
681*724ba675SRob Herring		reg = <0x09>;
682*724ba675SRob Herring		#clock-cells = <1>;
683*724ba675SRob Herring
684*724ba675SRob Herring		voltage-regulators {
685*724ba675SRob Herring			ldo1_reg: LDO1 {
686*724ba675SRob Herring				regulator-name = "VALIVE_1.0V_AP";
687*724ba675SRob Herring				regulator-min-microvolt = <1000000>;
688*724ba675SRob Herring				regulator-max-microvolt = <1000000>;
689*724ba675SRob Herring				regulator-always-on;
690*724ba675SRob Herring			};
691*724ba675SRob Herring
692*724ba675SRob Herring			ldo2_reg: LDO2 {
693*724ba675SRob Herring				regulator-name = "VM1M2_1.2V_AP";
694*724ba675SRob Herring				regulator-min-microvolt = <1200000>;
695*724ba675SRob Herring				regulator-max-microvolt = <1200000>;
696*724ba675SRob Herring				regulator-always-on;
697*724ba675SRob Herring				regulator-state-mem {
698*724ba675SRob Herring					regulator-on-in-suspend;
699*724ba675SRob Herring				};
700*724ba675SRob Herring			};
701*724ba675SRob Herring
702*724ba675SRob Herring			ldo3_reg: LDO3 {
703*724ba675SRob Herring				regulator-name = "VCC_1.8V_AP";
704*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
705*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
706*724ba675SRob Herring				regulator-always-on;
707*724ba675SRob Herring			};
708*724ba675SRob Herring
709*724ba675SRob Herring			ldo4_reg: LDO4 {
710*724ba675SRob Herring				regulator-name = "VCC_2.8V_AP";
711*724ba675SRob Herring				regulator-min-microvolt = <2800000>;
712*724ba675SRob Herring				regulator-max-microvolt = <2800000>;
713*724ba675SRob Herring				regulator-always-on;
714*724ba675SRob Herring			};
715*724ba675SRob Herring
716*724ba675SRob Herring			ldo5_reg: LDO5 {
717*724ba675SRob Herring				regulator-name = "VCC_1.8V_IO";
718*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
719*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
720*724ba675SRob Herring				regulator-always-on;
721*724ba675SRob Herring			};
722*724ba675SRob Herring
723*724ba675SRob Herring			ldo6_reg: LDO6 {
724*724ba675SRob Herring				regulator-name = "VMPLL_1.0V_AP";
725*724ba675SRob Herring				regulator-min-microvolt = <1000000>;
726*724ba675SRob Herring				regulator-max-microvolt = <1000000>;
727*724ba675SRob Herring				regulator-always-on;
728*724ba675SRob Herring				regulator-state-mem {
729*724ba675SRob Herring					regulator-on-in-suspend;
730*724ba675SRob Herring				};
731*724ba675SRob Herring			};
732*724ba675SRob Herring
733*724ba675SRob Herring			ldo7_reg: LDO7 {
734*724ba675SRob Herring				regulator-name = "VPLL_1.0V_AP";
735*724ba675SRob Herring				regulator-min-microvolt = <1000000>;
736*724ba675SRob Herring				regulator-max-microvolt = <1000000>;
737*724ba675SRob Herring				regulator-always-on;
738*724ba675SRob Herring				regulator-state-mem {
739*724ba675SRob Herring					regulator-on-in-suspend;
740*724ba675SRob Herring				};
741*724ba675SRob Herring			};
742*724ba675SRob Herring
743*724ba675SRob Herring			ldo8_reg: LDO8 {
744*724ba675SRob Herring				regulator-name = "VMIPI_1.0V";
745*724ba675SRob Herring				regulator-min-microvolt = <1000000>;
746*724ba675SRob Herring				regulator-max-microvolt = <1000000>;
747*724ba675SRob Herring				regulator-state-mem {
748*724ba675SRob Herring					regulator-off-in-suspend;
749*724ba675SRob Herring				};
750*724ba675SRob Herring			};
751*724ba675SRob Herring
752*724ba675SRob Herring			ldo9_reg: LDO9 {
753*724ba675SRob Herring				regulator-name = "CAM_ISP_MIPI_1.2V";
754*724ba675SRob Herring				regulator-min-microvolt = <1200000>;
755*724ba675SRob Herring				regulator-max-microvolt = <1200000>;
756*724ba675SRob Herring			};
757*724ba675SRob Herring
758*724ba675SRob Herring			ldo10_reg: LDO10 {
759*724ba675SRob Herring				regulator-name = "VMIPI_1.8V";
760*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
761*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
762*724ba675SRob Herring				regulator-state-mem {
763*724ba675SRob Herring					regulator-off-in-suspend;
764*724ba675SRob Herring				};
765*724ba675SRob Herring			};
766*724ba675SRob Herring
767*724ba675SRob Herring			ldo11_reg: LDO11 {
768*724ba675SRob Herring				regulator-name = "VABB1_1.95V";
769*724ba675SRob Herring				regulator-min-microvolt = <1950000>;
770*724ba675SRob Herring				regulator-max-microvolt = <1950000>;
771*724ba675SRob Herring				regulator-always-on;
772*724ba675SRob Herring				regulator-state-mem {
773*724ba675SRob Herring					regulator-off-in-suspend;
774*724ba675SRob Herring				};
775*724ba675SRob Herring			};
776*724ba675SRob Herring
777*724ba675SRob Herring			ldo12_reg: LDO12 {
778*724ba675SRob Herring				regulator-name = "VUOTG_3.0V";
779*724ba675SRob Herring				regulator-min-microvolt = <3000000>;
780*724ba675SRob Herring				regulator-max-microvolt = <3000000>;
781*724ba675SRob Herring				regulator-state-mem {
782*724ba675SRob Herring					regulator-off-in-suspend;
783*724ba675SRob Herring				};
784*724ba675SRob Herring			};
785*724ba675SRob Herring
786*724ba675SRob Herring			ldo13_reg: LDO13 {
787*724ba675SRob Herring				regulator-name = "NFC_AVDD_1.8V";
788*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
789*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
790*724ba675SRob Herring			};
791*724ba675SRob Herring
792*724ba675SRob Herring			ldo14_reg: LDO14 {
793*724ba675SRob Herring				regulator-name = "VABB2_1.95V";
794*724ba675SRob Herring				regulator-min-microvolt = <1950000>;
795*724ba675SRob Herring				regulator-max-microvolt = <1950000>;
796*724ba675SRob Herring				regulator-always-on;
797*724ba675SRob Herring				regulator-state-mem {
798*724ba675SRob Herring					regulator-off-in-suspend;
799*724ba675SRob Herring				};
800*724ba675SRob Herring			};
801*724ba675SRob Herring
802*724ba675SRob Herring			ldo15_reg: LDO15 {
803*724ba675SRob Herring				regulator-name = "VHSIC_1.0V";
804*724ba675SRob Herring				regulator-min-microvolt = <1000000>;
805*724ba675SRob Herring				regulator-max-microvolt = <1000000>;
806*724ba675SRob Herring				regulator-state-mem {
807*724ba675SRob Herring					regulator-on-in-suspend;
808*724ba675SRob Herring				};
809*724ba675SRob Herring			};
810*724ba675SRob Herring
811*724ba675SRob Herring			ldo16_reg: LDO16 {
812*724ba675SRob Herring				regulator-name = "VHSIC_1.8V";
813*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
814*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
815*724ba675SRob Herring				regulator-state-mem {
816*724ba675SRob Herring					regulator-on-in-suspend;
817*724ba675SRob Herring				};
818*724ba675SRob Herring			};
819*724ba675SRob Herring
820*724ba675SRob Herring			ldo17_reg: LDO17 {
821*724ba675SRob Herring				regulator-name = "CAM_SENSOR_CORE_1.2V";
822*724ba675SRob Herring				regulator-min-microvolt = <1200000>;
823*724ba675SRob Herring				regulator-max-microvolt = <1200000>;
824*724ba675SRob Herring			};
825*724ba675SRob Herring
826*724ba675SRob Herring			ldo18_reg: LDO18 {
827*724ba675SRob Herring				regulator-name = "CAM_ISP_SEN_IO_1.8V";
828*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
829*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
830*724ba675SRob Herring			};
831*724ba675SRob Herring
832*724ba675SRob Herring			ldo19_reg: LDO19 {
833*724ba675SRob Herring				regulator-name = "VT_CAM_1.8V";
834*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
835*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
836*724ba675SRob Herring			};
837*724ba675SRob Herring
838*724ba675SRob Herring			ldo20_reg: LDO20 {
839*724ba675SRob Herring				regulator-name = "VDDQ_PRE_1.8V";
840*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
841*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
842*724ba675SRob Herring			};
843*724ba675SRob Herring
844*724ba675SRob Herring			ldo21_reg: LDO21 {
845*724ba675SRob Herring				regulator-name = "VTF_2.8V";
846*724ba675SRob Herring				regulator-min-microvolt = <2800000>;
847*724ba675SRob Herring				regulator-max-microvolt = <2800000>;
848*724ba675SRob Herring				maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
849*724ba675SRob Herring			};
850*724ba675SRob Herring
851*724ba675SRob Herring			ldo22_reg: LDO22 {
852*724ba675SRob Herring				regulator-name = "VMEM_VDD_2.8V";
853*724ba675SRob Herring				regulator-min-microvolt = <2800000>;
854*724ba675SRob Herring				regulator-max-microvolt = <2800000>;
855*724ba675SRob Herring				maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
856*724ba675SRob Herring			};
857*724ba675SRob Herring
858*724ba675SRob Herring			ldo23_reg: LDO23 {
859*724ba675SRob Herring				regulator-name = "TSP_AVDD_3.3V";
860*724ba675SRob Herring				regulator-min-microvolt = <3300000>;
861*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
862*724ba675SRob Herring			};
863*724ba675SRob Herring
864*724ba675SRob Herring			ldo24_reg: LDO24 {
865*724ba675SRob Herring				regulator-name = "TSP_VDD_1.8V";
866*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
867*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
868*724ba675SRob Herring			};
869*724ba675SRob Herring
870*724ba675SRob Herring			ldo25_reg: LDO25 {
871*724ba675SRob Herring				regulator-name = "LDO25";
872*724ba675SRob Herring			};
873*724ba675SRob Herring
874*724ba675SRob Herring			ldo26_reg: LDO26 {
875*724ba675SRob Herring				regulator-name = "MOTOR_VCC_3.0V";
876*724ba675SRob Herring				regulator-min-microvolt = <3000000>;
877*724ba675SRob Herring				regulator-max-microvolt = <3000000>;
878*724ba675SRob Herring			};
879*724ba675SRob Herring
880*724ba675SRob Herring			buck1_reg: BUCK1 {
881*724ba675SRob Herring				regulator-name = "VDD_MIF";
882*724ba675SRob Herring				regulator-min-microvolt = <850000>;
883*724ba675SRob Herring				regulator-max-microvolt = <1100000>;
884*724ba675SRob Herring				regulator-always-on;
885*724ba675SRob Herring				regulator-boot-on;
886*724ba675SRob Herring				regulator-state-mem {
887*724ba675SRob Herring					regulator-off-in-suspend;
888*724ba675SRob Herring				};
889*724ba675SRob Herring			};
890*724ba675SRob Herring
891*724ba675SRob Herring			buck2_reg: BUCK2 {
892*724ba675SRob Herring				regulator-name = "VDD_ARM";
893*724ba675SRob Herring				regulator-min-microvolt = <850000>;
894*724ba675SRob Herring				regulator-max-microvolt = <1500000>;
895*724ba675SRob Herring				regulator-always-on;
896*724ba675SRob Herring				regulator-boot-on;
897*724ba675SRob Herring				regulator-state-mem {
898*724ba675SRob Herring					regulator-on-in-suspend;
899*724ba675SRob Herring				};
900*724ba675SRob Herring			};
901*724ba675SRob Herring
902*724ba675SRob Herring			buck3_reg: BUCK3 {
903*724ba675SRob Herring				regulator-name = "VDD_INT";
904*724ba675SRob Herring				regulator-min-microvolt = <850000>;
905*724ba675SRob Herring				regulator-max-microvolt = <1150000>;
906*724ba675SRob Herring				regulator-always-on;
907*724ba675SRob Herring				regulator-boot-on;
908*724ba675SRob Herring				regulator-state-mem {
909*724ba675SRob Herring					regulator-off-in-suspend;
910*724ba675SRob Herring				};
911*724ba675SRob Herring			};
912*724ba675SRob Herring
913*724ba675SRob Herring			buck4_reg: BUCK4 {
914*724ba675SRob Herring				regulator-name = "VDD_G3D";
915*724ba675SRob Herring				regulator-min-microvolt = <850000>;
916*724ba675SRob Herring				regulator-max-microvolt = <1150000>;
917*724ba675SRob Herring				regulator-boot-on;
918*724ba675SRob Herring				regulator-state-mem {
919*724ba675SRob Herring					regulator-off-in-suspend;
920*724ba675SRob Herring				};
921*724ba675SRob Herring			};
922*724ba675SRob Herring
923*724ba675SRob Herring			buck5_reg: BUCK5 {
924*724ba675SRob Herring				regulator-name = "VMEM_1.2V_AP";
925*724ba675SRob Herring				regulator-min-microvolt = <1200000>;
926*724ba675SRob Herring				regulator-max-microvolt = <1200000>;
927*724ba675SRob Herring				regulator-always-on;
928*724ba675SRob Herring			};
929*724ba675SRob Herring
930*724ba675SRob Herring			buck6_reg: BUCK6 {
931*724ba675SRob Herring				regulator-name = "VCC_SUB_1.35V";
932*724ba675SRob Herring				regulator-min-microvolt = <1350000>;
933*724ba675SRob Herring				regulator-max-microvolt = <1350000>;
934*724ba675SRob Herring				regulator-always-on;
935*724ba675SRob Herring			};
936*724ba675SRob Herring
937*724ba675SRob Herring			buck7_reg: BUCK7 {
938*724ba675SRob Herring				regulator-name = "VCC_SUB_2.0V";
939*724ba675SRob Herring				regulator-min-microvolt = <2000000>;
940*724ba675SRob Herring				regulator-max-microvolt = <2000000>;
941*724ba675SRob Herring				regulator-always-on;
942*724ba675SRob Herring			};
943*724ba675SRob Herring
944*724ba675SRob Herring			buck8_reg: BUCK8 {
945*724ba675SRob Herring				regulator-name = "VMEM_VDDF_3.0V";
946*724ba675SRob Herring				regulator-min-microvolt = <2850000>;
947*724ba675SRob Herring				regulator-max-microvolt = <2850000>;
948*724ba675SRob Herring				maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
949*724ba675SRob Herring			};
950*724ba675SRob Herring
951*724ba675SRob Herring			buck9_reg: BUCK9 {
952*724ba675SRob Herring				regulator-name = "CAM_ISP_CORE_1.2V";
953*724ba675SRob Herring				regulator-min-microvolt = <1000000>;
954*724ba675SRob Herring				regulator-max-microvolt = <1200000>;
955*724ba675SRob Herring			};
956*724ba675SRob Herring		};
957*724ba675SRob Herring	};
958*724ba675SRob Herring};
959*724ba675SRob Herring
960*724ba675SRob Herring&i2c_8 {
961*724ba675SRob Herring	status = "okay";
962*724ba675SRob Herring};
963*724ba675SRob Herring
964*724ba675SRob Herring&i2s0 {
965*724ba675SRob Herring	pinctrl-0 = <&i2s0_bus>;
966*724ba675SRob Herring	pinctrl-names = "default";
967*724ba675SRob Herring	status = "okay";
968*724ba675SRob Herring};
969*724ba675SRob Herring
970*724ba675SRob Herring&mixer {
971*724ba675SRob Herring	status = "okay";
972*724ba675SRob Herring};
973*724ba675SRob Herring
974*724ba675SRob Herring&mshc_0 {
975*724ba675SRob Herring	broken-cd;
976*724ba675SRob Herring	non-removable;
977*724ba675SRob Herring	card-detect-delay = <200>;
978*724ba675SRob Herring	vmmc-supply = <&ldo22_reg>;
979*724ba675SRob Herring	clock-frequency = <400000000>;
980*724ba675SRob Herring	samsung,dw-mshc-ciu-div = <0>;
981*724ba675SRob Herring	samsung,dw-mshc-sdr-timing = <2 3>;
982*724ba675SRob Herring	samsung,dw-mshc-ddr-timing = <1 2>;
983*724ba675SRob Herring	mmc-ddr-1_8v;
984*724ba675SRob Herring	pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
985*724ba675SRob Herring	pinctrl-names = "default";
986*724ba675SRob Herring	status = "okay";
987*724ba675SRob Herring	bus-width = <8>;
988*724ba675SRob Herring	cap-mmc-highspeed;
989*724ba675SRob Herring};
990*724ba675SRob Herring
991*724ba675SRob Herring&pmu_system_controller {
992*724ba675SRob Herring	assigned-clocks = <&pmu_system_controller 0>;
993*724ba675SRob Herring	assigned-clock-parents =  <&clock CLK_XUSBXTI>;
994*724ba675SRob Herring};
995*724ba675SRob Herring
996*724ba675SRob Herring&pinctrl_0 {
997*724ba675SRob Herring	pinctrl-names = "default";
998*724ba675SRob Herring	pinctrl-0 = <&sleep0>;
999*724ba675SRob Herring
1000*724ba675SRob Herring	mhl_int: mhl-int-pins {
1001*724ba675SRob Herring		samsung,pins = "gpf3-5";
1002*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1003*724ba675SRob Herring	};
1004*724ba675SRob Herring
1005*724ba675SRob Herring	i2c_mhl_bus: i2c-mhl-bus-pins {
1006*724ba675SRob Herring		samsung,pins = "gpf0-4", "gpf0-6";
1007*724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
1008*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
1009*724ba675SRob Herring		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
1010*724ba675SRob Herring	};
1011*724ba675SRob Herring
1012*724ba675SRob Herring	sleep0: sleep-state {
1013*724ba675SRob Herring		PIN_SLP(gpa0-0, INPUT, NONE);
1014*724ba675SRob Herring		PIN_SLP(gpa0-1, OUT0, NONE);
1015*724ba675SRob Herring		PIN_SLP(gpa0-2, INPUT, NONE);
1016*724ba675SRob Herring		PIN_SLP(gpa0-3, INPUT, UP);
1017*724ba675SRob Herring		PIN_SLP(gpa0-4, INPUT, NONE);
1018*724ba675SRob Herring		PIN_SLP(gpa0-5, INPUT, DOWN);
1019*724ba675SRob Herring		PIN_SLP(gpa0-6, INPUT, DOWN);
1020*724ba675SRob Herring		PIN_SLP(gpa0-7, INPUT, UP);
1021*724ba675SRob Herring
1022*724ba675SRob Herring		PIN_SLP(gpa1-0, INPUT, DOWN);
1023*724ba675SRob Herring		PIN_SLP(gpa1-1, INPUT, DOWN);
1024*724ba675SRob Herring		PIN_SLP(gpa1-2, INPUT, DOWN);
1025*724ba675SRob Herring		PIN_SLP(gpa1-3, INPUT, DOWN);
1026*724ba675SRob Herring		PIN_SLP(gpa1-4, INPUT, DOWN);
1027*724ba675SRob Herring		PIN_SLP(gpa1-5, INPUT, DOWN);
1028*724ba675SRob Herring
1029*724ba675SRob Herring		PIN_SLP(gpb-0, INPUT, NONE);
1030*724ba675SRob Herring		PIN_SLP(gpb-1, INPUT, NONE);
1031*724ba675SRob Herring		PIN_SLP(gpb-2, INPUT, NONE);
1032*724ba675SRob Herring		PIN_SLP(gpb-3, INPUT, NONE);
1033*724ba675SRob Herring		PIN_SLP(gpb-4, INPUT, DOWN);
1034*724ba675SRob Herring		PIN_SLP(gpb-5, INPUT, UP);
1035*724ba675SRob Herring		PIN_SLP(gpb-6, INPUT, DOWN);
1036*724ba675SRob Herring		PIN_SLP(gpb-7, INPUT, DOWN);
1037*724ba675SRob Herring
1038*724ba675SRob Herring		PIN_SLP(gpc0-0, INPUT, DOWN);
1039*724ba675SRob Herring		PIN_SLP(gpc0-1, INPUT, DOWN);
1040*724ba675SRob Herring		PIN_SLP(gpc0-2, INPUT, DOWN);
1041*724ba675SRob Herring		PIN_SLP(gpc0-3, INPUT, DOWN);
1042*724ba675SRob Herring		PIN_SLP(gpc0-4, INPUT, DOWN);
1043*724ba675SRob Herring
1044*724ba675SRob Herring		PIN_SLP(gpc1-0, INPUT, NONE);
1045*724ba675SRob Herring		PIN_SLP(gpc1-1, PREV, NONE);
1046*724ba675SRob Herring		PIN_SLP(gpc1-2, INPUT, NONE);
1047*724ba675SRob Herring		PIN_SLP(gpc1-3, INPUT, NONE);
1048*724ba675SRob Herring		PIN_SLP(gpc1-4, INPUT, NONE);
1049*724ba675SRob Herring
1050*724ba675SRob Herring		PIN_SLP(gpd0-0, INPUT, DOWN);
1051*724ba675SRob Herring		PIN_SLP(gpd0-1, INPUT, DOWN);
1052*724ba675SRob Herring		PIN_SLP(gpd0-2, INPUT, NONE);
1053*724ba675SRob Herring		PIN_SLP(gpd0-3, INPUT, NONE);
1054*724ba675SRob Herring
1055*724ba675SRob Herring		PIN_SLP(gpd1-0, INPUT, DOWN);
1056*724ba675SRob Herring		PIN_SLP(gpd1-1, INPUT, DOWN);
1057*724ba675SRob Herring		PIN_SLP(gpd1-2, INPUT, NONE);
1058*724ba675SRob Herring		PIN_SLP(gpd1-3, INPUT, NONE);
1059*724ba675SRob Herring
1060*724ba675SRob Herring		PIN_SLP(gpf0-0, INPUT, NONE);
1061*724ba675SRob Herring		PIN_SLP(gpf0-1, INPUT, NONE);
1062*724ba675SRob Herring		PIN_SLP(gpf0-2, INPUT, DOWN);
1063*724ba675SRob Herring		PIN_SLP(gpf0-3, INPUT, DOWN);
1064*724ba675SRob Herring		PIN_SLP(gpf0-4, INPUT, NONE);
1065*724ba675SRob Herring		PIN_SLP(gpf0-5, INPUT, DOWN);
1066*724ba675SRob Herring		PIN_SLP(gpf0-6, INPUT, NONE);
1067*724ba675SRob Herring		PIN_SLP(gpf0-7, INPUT, DOWN);
1068*724ba675SRob Herring
1069*724ba675SRob Herring		PIN_SLP(gpf1-0, INPUT, DOWN);
1070*724ba675SRob Herring		PIN_SLP(gpf1-1, INPUT, DOWN);
1071*724ba675SRob Herring		PIN_SLP(gpf1-2, INPUT, DOWN);
1072*724ba675SRob Herring		PIN_SLP(gpf1-3, INPUT, DOWN);
1073*724ba675SRob Herring		PIN_SLP(gpf1-4, INPUT, NONE);
1074*724ba675SRob Herring		PIN_SLP(gpf1-5, INPUT, NONE);
1075*724ba675SRob Herring		PIN_SLP(gpf1-6, INPUT, DOWN);
1076*724ba675SRob Herring		PIN_SLP(gpf1-7, PREV, NONE);
1077*724ba675SRob Herring
1078*724ba675SRob Herring		PIN_SLP(gpf2-0, PREV, NONE);
1079*724ba675SRob Herring		PIN_SLP(gpf2-1, INPUT, DOWN);
1080*724ba675SRob Herring		PIN_SLP(gpf2-2, INPUT, DOWN);
1081*724ba675SRob Herring		PIN_SLP(gpf2-3, INPUT, DOWN);
1082*724ba675SRob Herring		PIN_SLP(gpf2-4, INPUT, DOWN);
1083*724ba675SRob Herring		PIN_SLP(gpf2-5, INPUT, DOWN);
1084*724ba675SRob Herring		PIN_SLP(gpf2-6, INPUT, NONE);
1085*724ba675SRob Herring		PIN_SLP(gpf2-7, INPUT, NONE);
1086*724ba675SRob Herring
1087*724ba675SRob Herring		PIN_SLP(gpf3-0, INPUT, NONE);
1088*724ba675SRob Herring		PIN_SLP(gpf3-1, PREV, NONE);
1089*724ba675SRob Herring		PIN_SLP(gpf3-2, PREV, NONE);
1090*724ba675SRob Herring		PIN_SLP(gpf3-3, PREV, NONE);
1091*724ba675SRob Herring		PIN_SLP(gpf3-4, OUT1, NONE);
1092*724ba675SRob Herring		PIN_SLP(gpf3-5, INPUT, DOWN);
1093*724ba675SRob Herring
1094*724ba675SRob Herring		PIN_SLP(gpj0-0, PREV, NONE);
1095*724ba675SRob Herring		PIN_SLP(gpj0-1, PREV, NONE);
1096*724ba675SRob Herring		PIN_SLP(gpj0-2, PREV, NONE);
1097*724ba675SRob Herring		PIN_SLP(gpj0-3, INPUT, DOWN);
1098*724ba675SRob Herring		PIN_SLP(gpj0-4, PREV, NONE);
1099*724ba675SRob Herring		PIN_SLP(gpj0-5, PREV, NONE);
1100*724ba675SRob Herring		PIN_SLP(gpj0-6, INPUT, DOWN);
1101*724ba675SRob Herring		PIN_SLP(gpj0-7, INPUT, DOWN);
1102*724ba675SRob Herring
1103*724ba675SRob Herring		PIN_SLP(gpj1-0, INPUT, DOWN);
1104*724ba675SRob Herring		PIN_SLP(gpj1-1, PREV, NONE);
1105*724ba675SRob Herring		PIN_SLP(gpj1-2, PREV, NONE);
1106*724ba675SRob Herring		PIN_SLP(gpj1-3, INPUT, DOWN);
1107*724ba675SRob Herring		PIN_SLP(gpj1-4, INPUT, DOWN);
1108*724ba675SRob Herring	};
1109*724ba675SRob Herring};
1110*724ba675SRob Herring
1111*724ba675SRob Herring&pinctrl_1 {
1112*724ba675SRob Herring	pinctrl-names = "default";
1113*724ba675SRob Herring	pinctrl-0 = <&sleep1>;
1114*724ba675SRob Herring
1115*724ba675SRob Herring	gpio_keys: gpio-keys-pins {
1116*724ba675SRob Herring		samsung,pins = "gpx0-1", "gpx2-2", "gpx2-7", "gpx3-3";
1117*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1118*724ba675SRob Herring	};
1119*724ba675SRob Herring
1120*724ba675SRob Herring	bt_shutdown: bt-shutdown-pins {
1121*724ba675SRob Herring		samsung,pins = "gpl0-6";
1122*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1123*724ba675SRob Herring	};
1124*724ba675SRob Herring
1125*724ba675SRob Herring	bt_host_wakeup: bt-host-wakeup-pins {
1126*724ba675SRob Herring		samsung,pins = "gpx2-6";
1127*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1128*724ba675SRob Herring	};
1129*724ba675SRob Herring
1130*724ba675SRob Herring	bt_device_wakeup: bt-device-wakeup-pins {
1131*724ba675SRob Herring		samsung,pins = "gpx3-1";
1132*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1133*724ba675SRob Herring	};
1134*724ba675SRob Herring
1135*724ba675SRob Herring	max77686_irq: max77686-irq-pins {
1136*724ba675SRob Herring		samsung,pins = "gpx0-7";
1137*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1138*724ba675SRob Herring	};
1139*724ba675SRob Herring
1140*724ba675SRob Herring	max77693_irq: max77693-irq-pins {
1141*724ba675SRob Herring		samsung,pins = "gpx1-5";
1142*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1143*724ba675SRob Herring	};
1144*724ba675SRob Herring
1145*724ba675SRob Herring	max77693_fuel_irq: max77693-fuel-irq-pins {
1146*724ba675SRob Herring		samsung,pins = "gpx2-3";
1147*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1148*724ba675SRob Herring	};
1149*724ba675SRob Herring
1150*724ba675SRob Herring	sdhci2_cd: sdhci2-cd-irq-pins {
1151*724ba675SRob Herring		samsung,pins = "gpx3-4";
1152*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1153*724ba675SRob Herring	};
1154*724ba675SRob Herring
1155*724ba675SRob Herring	hdmi_hpd: hdmi-hpd-pins {
1156*724ba675SRob Herring		samsung,pins = "gpx3-7";
1157*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
1158*724ba675SRob Herring	};
1159*724ba675SRob Herring
1160*724ba675SRob Herring	sleep1: sleep-state {
1161*724ba675SRob Herring		PIN_SLP(gpk0-0, PREV, NONE);
1162*724ba675SRob Herring		PIN_SLP(gpk0-1, PREV, NONE);
1163*724ba675SRob Herring		PIN_SLP(gpk0-2, OUT0, NONE);
1164*724ba675SRob Herring		PIN_SLP(gpk0-3, PREV, NONE);
1165*724ba675SRob Herring		PIN_SLP(gpk0-4, PREV, NONE);
1166*724ba675SRob Herring		PIN_SLP(gpk0-5, PREV, NONE);
1167*724ba675SRob Herring		PIN_SLP(gpk0-6, PREV, NONE);
1168*724ba675SRob Herring
1169*724ba675SRob Herring		PIN_SLP(gpk1-0, INPUT, DOWN);
1170*724ba675SRob Herring		PIN_SLP(gpk1-1, INPUT, DOWN);
1171*724ba675SRob Herring		PIN_SLP(gpk1-2, INPUT, DOWN);
1172*724ba675SRob Herring		PIN_SLP(gpk1-3, PREV, NONE);
1173*724ba675SRob Herring		PIN_SLP(gpk1-4, PREV, NONE);
1174*724ba675SRob Herring		PIN_SLP(gpk1-5, PREV, NONE);
1175*724ba675SRob Herring		PIN_SLP(gpk1-6, PREV, NONE);
1176*724ba675SRob Herring
1177*724ba675SRob Herring		PIN_SLP(gpk2-0, INPUT, DOWN);
1178*724ba675SRob Herring		PIN_SLP(gpk2-1, INPUT, DOWN);
1179*724ba675SRob Herring		PIN_SLP(gpk2-2, INPUT, DOWN);
1180*724ba675SRob Herring		PIN_SLP(gpk2-3, INPUT, DOWN);
1181*724ba675SRob Herring		PIN_SLP(gpk2-4, INPUT, DOWN);
1182*724ba675SRob Herring		PIN_SLP(gpk2-5, INPUT, DOWN);
1183*724ba675SRob Herring		PIN_SLP(gpk2-6, INPUT, DOWN);
1184*724ba675SRob Herring
1185*724ba675SRob Herring		PIN_SLP(gpk3-0, OUT0, NONE);
1186*724ba675SRob Herring		PIN_SLP(gpk3-1, INPUT, NONE);
1187*724ba675SRob Herring		PIN_SLP(gpk3-2, INPUT, DOWN);
1188*724ba675SRob Herring		PIN_SLP(gpk3-3, INPUT, NONE);
1189*724ba675SRob Herring		PIN_SLP(gpk3-4, INPUT, NONE);
1190*724ba675SRob Herring		PIN_SLP(gpk3-5, INPUT, NONE);
1191*724ba675SRob Herring		PIN_SLP(gpk3-6, INPUT, NONE);
1192*724ba675SRob Herring
1193*724ba675SRob Herring		PIN_SLP(gpl0-0, INPUT, DOWN);
1194*724ba675SRob Herring		PIN_SLP(gpl0-1, INPUT, DOWN);
1195*724ba675SRob Herring		PIN_SLP(gpl0-2, INPUT, DOWN);
1196*724ba675SRob Herring		PIN_SLP(gpl0-3, INPUT, DOWN);
1197*724ba675SRob Herring		PIN_SLP(gpl0-4, PREV, NONE);
1198*724ba675SRob Herring		PIN_SLP(gpl0-6, PREV, NONE);
1199*724ba675SRob Herring
1200*724ba675SRob Herring		PIN_SLP(gpl1-0, INPUT, DOWN);
1201*724ba675SRob Herring		PIN_SLP(gpl1-1, INPUT, DOWN);
1202*724ba675SRob Herring		PIN_SLP(gpl2-0, INPUT, DOWN);
1203*724ba675SRob Herring		PIN_SLP(gpl2-1, INPUT, DOWN);
1204*724ba675SRob Herring		PIN_SLP(gpl2-2, INPUT, DOWN);
1205*724ba675SRob Herring		PIN_SLP(gpl2-3, INPUT, DOWN);
1206*724ba675SRob Herring		PIN_SLP(gpl2-4, INPUT, DOWN);
1207*724ba675SRob Herring		PIN_SLP(gpl2-5, INPUT, DOWN);
1208*724ba675SRob Herring		PIN_SLP(gpl2-6, PREV, NONE);
1209*724ba675SRob Herring		PIN_SLP(gpl2-7, INPUT, DOWN);
1210*724ba675SRob Herring
1211*724ba675SRob Herring		PIN_SLP(gpm0-0, INPUT, DOWN);
1212*724ba675SRob Herring		PIN_SLP(gpm0-1, INPUT, DOWN);
1213*724ba675SRob Herring		PIN_SLP(gpm0-2, INPUT, DOWN);
1214*724ba675SRob Herring		PIN_SLP(gpm0-3, INPUT, DOWN);
1215*724ba675SRob Herring		PIN_SLP(gpm0-4, INPUT, DOWN);
1216*724ba675SRob Herring		PIN_SLP(gpm0-5, INPUT, DOWN);
1217*724ba675SRob Herring		PIN_SLP(gpm0-6, INPUT, DOWN);
1218*724ba675SRob Herring		PIN_SLP(gpm0-7, INPUT, DOWN);
1219*724ba675SRob Herring
1220*724ba675SRob Herring		PIN_SLP(gpm1-0, INPUT, DOWN);
1221*724ba675SRob Herring		PIN_SLP(gpm1-1, INPUT, DOWN);
1222*724ba675SRob Herring		PIN_SLP(gpm1-2, INPUT, NONE);
1223*724ba675SRob Herring		PIN_SLP(gpm1-3, INPUT, NONE);
1224*724ba675SRob Herring		PIN_SLP(gpm1-4, INPUT, NONE);
1225*724ba675SRob Herring		PIN_SLP(gpm1-5, INPUT, NONE);
1226*724ba675SRob Herring		PIN_SLP(gpm1-6, INPUT, DOWN);
1227*724ba675SRob Herring
1228*724ba675SRob Herring		PIN_SLP(gpm2-0, INPUT, NONE);
1229*724ba675SRob Herring		PIN_SLP(gpm2-1, INPUT, NONE);
1230*724ba675SRob Herring		PIN_SLP(gpm2-2, INPUT, DOWN);
1231*724ba675SRob Herring		PIN_SLP(gpm2-3, INPUT, DOWN);
1232*724ba675SRob Herring		PIN_SLP(gpm2-4, INPUT, DOWN);
1233*724ba675SRob Herring
1234*724ba675SRob Herring		PIN_SLP(gpm3-0, PREV, NONE);
1235*724ba675SRob Herring		PIN_SLP(gpm3-1, PREV, NONE);
1236*724ba675SRob Herring		PIN_SLP(gpm3-2, PREV, NONE);
1237*724ba675SRob Herring		PIN_SLP(gpm3-3, OUT1, NONE);
1238*724ba675SRob Herring		PIN_SLP(gpm3-4, INPUT, DOWN);
1239*724ba675SRob Herring		PIN_SLP(gpm3-5, INPUT, DOWN);
1240*724ba675SRob Herring		PIN_SLP(gpm3-6, INPUT, DOWN);
1241*724ba675SRob Herring		PIN_SLP(gpm3-7, INPUT, DOWN);
1242*724ba675SRob Herring
1243*724ba675SRob Herring		PIN_SLP(gpm4-0, INPUT, DOWN);
1244*724ba675SRob Herring		PIN_SLP(gpm4-1, INPUT, DOWN);
1245*724ba675SRob Herring		PIN_SLP(gpm4-2, INPUT, DOWN);
1246*724ba675SRob Herring		PIN_SLP(gpm4-3, INPUT, DOWN);
1247*724ba675SRob Herring		PIN_SLP(gpm4-4, INPUT, DOWN);
1248*724ba675SRob Herring		PIN_SLP(gpm4-5, INPUT, DOWN);
1249*724ba675SRob Herring		PIN_SLP(gpm4-6, INPUT, DOWN);
1250*724ba675SRob Herring		PIN_SLP(gpm4-7, INPUT, DOWN);
1251*724ba675SRob Herring
1252*724ba675SRob Herring		PIN_SLP(gpy0-0, INPUT, DOWN);
1253*724ba675SRob Herring		PIN_SLP(gpy0-1, INPUT, DOWN);
1254*724ba675SRob Herring		PIN_SLP(gpy0-2, INPUT, DOWN);
1255*724ba675SRob Herring		PIN_SLP(gpy0-3, INPUT, DOWN);
1256*724ba675SRob Herring		PIN_SLP(gpy0-4, INPUT, DOWN);
1257*724ba675SRob Herring		PIN_SLP(gpy0-5, INPUT, DOWN);
1258*724ba675SRob Herring
1259*724ba675SRob Herring		PIN_SLP(gpy1-0, INPUT, DOWN);
1260*724ba675SRob Herring		PIN_SLP(gpy1-1, INPUT, DOWN);
1261*724ba675SRob Herring		PIN_SLP(gpy1-2, INPUT, DOWN);
1262*724ba675SRob Herring		PIN_SLP(gpy1-3, INPUT, DOWN);
1263*724ba675SRob Herring
1264*724ba675SRob Herring		PIN_SLP(gpy2-0, PREV, NONE);
1265*724ba675SRob Herring		PIN_SLP(gpy2-1, INPUT, DOWN);
1266*724ba675SRob Herring		PIN_SLP(gpy2-2, INPUT, NONE);
1267*724ba675SRob Herring		PIN_SLP(gpy2-3, INPUT, NONE);
1268*724ba675SRob Herring		PIN_SLP(gpy2-4, INPUT, NONE);
1269*724ba675SRob Herring		PIN_SLP(gpy2-5, INPUT, NONE);
1270*724ba675SRob Herring
1271*724ba675SRob Herring		PIN_SLP(gpy3-0, INPUT, DOWN);
1272*724ba675SRob Herring		PIN_SLP(gpy3-1, INPUT, DOWN);
1273*724ba675SRob Herring		PIN_SLP(gpy3-2, INPUT, DOWN);
1274*724ba675SRob Herring		PIN_SLP(gpy3-3, INPUT, DOWN);
1275*724ba675SRob Herring		PIN_SLP(gpy3-4, INPUT, DOWN);
1276*724ba675SRob Herring		PIN_SLP(gpy3-5, INPUT, DOWN);
1277*724ba675SRob Herring		PIN_SLP(gpy3-6, INPUT, DOWN);
1278*724ba675SRob Herring		PIN_SLP(gpy3-7, INPUT, DOWN);
1279*724ba675SRob Herring
1280*724ba675SRob Herring		PIN_SLP(gpy4-0, INPUT, DOWN);
1281*724ba675SRob Herring		PIN_SLP(gpy4-1, INPUT, DOWN);
1282*724ba675SRob Herring		PIN_SLP(gpy4-2, INPUT, DOWN);
1283*724ba675SRob Herring		PIN_SLP(gpy4-3, INPUT, DOWN);
1284*724ba675SRob Herring		PIN_SLP(gpy4-4, INPUT, DOWN);
1285*724ba675SRob Herring		PIN_SLP(gpy4-5, INPUT, DOWN);
1286*724ba675SRob Herring		PIN_SLP(gpy4-6, INPUT, DOWN);
1287*724ba675SRob Herring		PIN_SLP(gpy4-7, INPUT, DOWN);
1288*724ba675SRob Herring
1289*724ba675SRob Herring		PIN_SLP(gpy5-0, INPUT, DOWN);
1290*724ba675SRob Herring		PIN_SLP(gpy5-1, INPUT, DOWN);
1291*724ba675SRob Herring		PIN_SLP(gpy5-2, INPUT, DOWN);
1292*724ba675SRob Herring		PIN_SLP(gpy5-3, INPUT, DOWN);
1293*724ba675SRob Herring		PIN_SLP(gpy5-4, INPUT, DOWN);
1294*724ba675SRob Herring		PIN_SLP(gpy5-5, INPUT, DOWN);
1295*724ba675SRob Herring		PIN_SLP(gpy5-6, INPUT, DOWN);
1296*724ba675SRob Herring		PIN_SLP(gpy5-7, INPUT, DOWN);
1297*724ba675SRob Herring
1298*724ba675SRob Herring		PIN_SLP(gpy6-0, INPUT, DOWN);
1299*724ba675SRob Herring		PIN_SLP(gpy6-1, INPUT, DOWN);
1300*724ba675SRob Herring		PIN_SLP(gpy6-2, INPUT, DOWN);
1301*724ba675SRob Herring		PIN_SLP(gpy6-3, INPUT, DOWN);
1302*724ba675SRob Herring		PIN_SLP(gpy6-4, INPUT, DOWN);
1303*724ba675SRob Herring		PIN_SLP(gpy6-5, INPUT, DOWN);
1304*724ba675SRob Herring		PIN_SLP(gpy6-6, INPUT, DOWN);
1305*724ba675SRob Herring		PIN_SLP(gpy6-7, INPUT, DOWN);
1306*724ba675SRob Herring	};
1307*724ba675SRob Herring};
1308*724ba675SRob Herring
1309*724ba675SRob Herring&pinctrl_2 {
1310*724ba675SRob Herring	pinctrl-names = "default";
1311*724ba675SRob Herring	pinctrl-0 = <&sleep2>;
1312*724ba675SRob Herring
1313*724ba675SRob Herring	sleep2: sleep-state {
1314*724ba675SRob Herring		PIN_SLP(gpz-0, INPUT, DOWN);
1315*724ba675SRob Herring		PIN_SLP(gpz-1, INPUT, DOWN);
1316*724ba675SRob Herring		PIN_SLP(gpz-2, INPUT, DOWN);
1317*724ba675SRob Herring		PIN_SLP(gpz-3, INPUT, DOWN);
1318*724ba675SRob Herring		PIN_SLP(gpz-4, INPUT, DOWN);
1319*724ba675SRob Herring		PIN_SLP(gpz-5, INPUT, DOWN);
1320*724ba675SRob Herring		PIN_SLP(gpz-6, INPUT, DOWN);
1321*724ba675SRob Herring	};
1322*724ba675SRob Herring};
1323*724ba675SRob Herring
1324*724ba675SRob Herring&pinctrl_3 {
1325*724ba675SRob Herring	pinctrl-names = "default";
1326*724ba675SRob Herring	pinctrl-0 = <&sleep3>;
1327*724ba675SRob Herring
1328*724ba675SRob Herring	sleep3: sleep-state {
1329*724ba675SRob Herring		PIN_SLP(gpv0-0, INPUT, DOWN);
1330*724ba675SRob Herring		PIN_SLP(gpv0-1, INPUT, DOWN);
1331*724ba675SRob Herring		PIN_SLP(gpv0-2, INPUT, DOWN);
1332*724ba675SRob Herring		PIN_SLP(gpv0-3, INPUT, DOWN);
1333*724ba675SRob Herring		PIN_SLP(gpv0-4, INPUT, DOWN);
1334*724ba675SRob Herring		PIN_SLP(gpv0-5, INPUT, DOWN);
1335*724ba675SRob Herring		PIN_SLP(gpv0-6, INPUT, DOWN);
1336*724ba675SRob Herring		PIN_SLP(gpv0-7, INPUT, DOWN);
1337*724ba675SRob Herring
1338*724ba675SRob Herring		PIN_SLP(gpv1-0, INPUT, DOWN);
1339*724ba675SRob Herring		PIN_SLP(gpv1-1, INPUT, DOWN);
1340*724ba675SRob Herring		PIN_SLP(gpv1-2, INPUT, DOWN);
1341*724ba675SRob Herring		PIN_SLP(gpv1-3, INPUT, DOWN);
1342*724ba675SRob Herring		PIN_SLP(gpv1-4, INPUT, DOWN);
1343*724ba675SRob Herring		PIN_SLP(gpv1-5, INPUT, DOWN);
1344*724ba675SRob Herring		PIN_SLP(gpv1-6, INPUT, DOWN);
1345*724ba675SRob Herring		PIN_SLP(gpv1-7, INPUT, DOWN);
1346*724ba675SRob Herring
1347*724ba675SRob Herring		PIN_SLP(gpv2-0, INPUT, DOWN);
1348*724ba675SRob Herring		PIN_SLP(gpv2-1, INPUT, DOWN);
1349*724ba675SRob Herring		PIN_SLP(gpv2-2, INPUT, DOWN);
1350*724ba675SRob Herring		PIN_SLP(gpv2-3, INPUT, DOWN);
1351*724ba675SRob Herring		PIN_SLP(gpv2-4, INPUT, DOWN);
1352*724ba675SRob Herring		PIN_SLP(gpv2-5, INPUT, DOWN);
1353*724ba675SRob Herring		PIN_SLP(gpv2-6, INPUT, DOWN);
1354*724ba675SRob Herring		PIN_SLP(gpv2-7, INPUT, DOWN);
1355*724ba675SRob Herring
1356*724ba675SRob Herring		PIN_SLP(gpv3-0, INPUT, DOWN);
1357*724ba675SRob Herring		PIN_SLP(gpv3-1, INPUT, DOWN);
1358*724ba675SRob Herring		PIN_SLP(gpv3-2, INPUT, DOWN);
1359*724ba675SRob Herring		PIN_SLP(gpv3-3, INPUT, DOWN);
1360*724ba675SRob Herring		PIN_SLP(gpv3-4, INPUT, DOWN);
1361*724ba675SRob Herring		PIN_SLP(gpv3-5, INPUT, DOWN);
1362*724ba675SRob Herring		PIN_SLP(gpv3-6, INPUT, DOWN);
1363*724ba675SRob Herring		PIN_SLP(gpv3-7, INPUT, DOWN);
1364*724ba675SRob Herring
1365*724ba675SRob Herring		PIN_SLP(gpv4-0, INPUT, DOWN);
1366*724ba675SRob Herring	};
1367*724ba675SRob Herring};
1368*724ba675SRob Herring
1369*724ba675SRob Herring&pwm {
1370*724ba675SRob Herring	pinctrl-0 = <&pwm0_out>;
1371*724ba675SRob Herring	pinctrl-names = "default";
1372*724ba675SRob Herring	samsung,pwm-outputs = <0>;
1373*724ba675SRob Herring	status = "okay";
1374*724ba675SRob Herring};
1375*724ba675SRob Herring
1376*724ba675SRob Herring&rtc {
1377*724ba675SRob Herring	status = "okay";
1378*724ba675SRob Herring	clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
1379*724ba675SRob Herring	clock-names = "rtc", "rtc_src";
1380*724ba675SRob Herring};
1381*724ba675SRob Herring
1382*724ba675SRob Herring&sdhci_2 {
1383*724ba675SRob Herring	bus-width = <4>;
1384*724ba675SRob Herring	cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
1385*724ba675SRob Herring	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sdhci2_cd>;
1386*724ba675SRob Herring	pinctrl-names = "default";
1387*724ba675SRob Herring	vmmc-supply = <&ldo21_reg>;
1388*724ba675SRob Herring	status = "okay";
1389*724ba675SRob Herring};
1390*724ba675SRob Herring
1391*724ba675SRob Herring&sdhci_3 {
1392*724ba675SRob Herring	#address-cells = <1>;
1393*724ba675SRob Herring	#size-cells = <0>;
1394*724ba675SRob Herring	non-removable;
1395*724ba675SRob Herring	bus-width = <4>;
1396*724ba675SRob Herring
1397*724ba675SRob Herring	mmc-pwrseq = <&wlan_pwrseq>;
1398*724ba675SRob Herring	pinctrl-names = "default";
1399*724ba675SRob Herring	pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
1400*724ba675SRob Herring	status = "okay";
1401*724ba675SRob Herring
1402*724ba675SRob Herring	brcmf: wifi@1 {
1403*724ba675SRob Herring		reg = <1>;
1404*724ba675SRob Herring		compatible = "brcm,bcm4329-fmac";
1405*724ba675SRob Herring		interrupt-parent = <&gpx2>;
1406*724ba675SRob Herring		interrupts = <5 IRQ_TYPE_NONE>;
1407*724ba675SRob Herring		interrupt-names = "host-wake";
1408*724ba675SRob Herring	};
1409*724ba675SRob Herring};
1410*724ba675SRob Herring
1411*724ba675SRob Herring&serial_0 {
1412*724ba675SRob Herring	pinctrl-0 = <&uart0_data &uart0_fctl>;
1413*724ba675SRob Herring	pinctrl-names = "default";
1414*724ba675SRob Herring	status = "okay";
1415*724ba675SRob Herring
1416*724ba675SRob Herring	bluetooth {
1417*724ba675SRob Herring		compatible = "brcm,bcm4330-bt";
1418*724ba675SRob Herring		pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>;
1419*724ba675SRob Herring		pinctrl-names = "default";
1420*724ba675SRob Herring		max-speed = <3000000>;
1421*724ba675SRob Herring		shutdown-gpios = <&gpl0 6 GPIO_ACTIVE_HIGH>;
1422*724ba675SRob Herring		device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
1423*724ba675SRob Herring		host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
1424*724ba675SRob Herring		clocks = <&max77686 MAX77686_CLK_PMIC>;
1425*724ba675SRob Herring	};
1426*724ba675SRob Herring};
1427*724ba675SRob Herring
1428*724ba675SRob Herring&serial_1 {
1429*724ba675SRob Herring	status = "okay";
1430*724ba675SRob Herring};
1431*724ba675SRob Herring
1432*724ba675SRob Herring&serial_2 {
1433*724ba675SRob Herring	status = "okay";
1434*724ba675SRob Herring};
1435*724ba675SRob Herring
1436*724ba675SRob Herring&serial_3 {
1437*724ba675SRob Herring	status = "okay";
1438*724ba675SRob Herring};
1439*724ba675SRob Herring
1440*724ba675SRob Herring&spi_1 {
1441*724ba675SRob Herring	pinctrl-names = "default";
1442*724ba675SRob Herring	pinctrl-0 = <&spi1_bus>;
1443*724ba675SRob Herring	cs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>;
1444*724ba675SRob Herring	status = "okay";
1445*724ba675SRob Herring
1446*724ba675SRob Herring	s5c73m3_spi: image-sensor@0 {
1447*724ba675SRob Herring		compatible = "samsung,s5c73m3";
1448*724ba675SRob Herring		spi-max-frequency = <50000000>;
1449*724ba675SRob Herring		reg = <0>;
1450*724ba675SRob Herring		controller-data {
1451*724ba675SRob Herring			samsung,spi-feedback-delay = <2>;
1452*724ba675SRob Herring		};
1453*724ba675SRob Herring	};
1454*724ba675SRob Herring};
1455*724ba675SRob Herring
1456*724ba675SRob Herring&tmu {
1457*724ba675SRob Herring	vtmu-supply = <&ldo10_reg>;
1458*724ba675SRob Herring	status = "okay";
1459*724ba675SRob Herring};
1460