xref: /freebsd/sys/contrib/device-tree/src/arm/samsung/s5pv210-aries.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Samsung's S5PV210 based Galaxy Aries board device tree source
4*f126890aSEmmanuel Vadot */
5*f126890aSEmmanuel Vadot
6*f126890aSEmmanuel Vadot/dts-v1/;
7*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
8*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
9*f126890aSEmmanuel Vadot#include "s5pv210.dtsi"
10*f126890aSEmmanuel Vadot
11*f126890aSEmmanuel Vadot/ {
12*f126890aSEmmanuel Vadot	compatible = "samsung,aries", "samsung,s5pv210";
13*f126890aSEmmanuel Vadot
14*f126890aSEmmanuel Vadot	aliases: aliases {
15*f126890aSEmmanuel Vadot		i2c4 = &i2c_sound;
16*f126890aSEmmanuel Vadot		i2c5 = &i2c_accel;
17*f126890aSEmmanuel Vadot		i2c6 = &i2c_pmic;
18*f126890aSEmmanuel Vadot		i2c7 = &i2c_musb;
19*f126890aSEmmanuel Vadot		i2c9 = &i2c_fuel;
20*f126890aSEmmanuel Vadot		i2c10 = &i2c_touchkey;
21*f126890aSEmmanuel Vadot		i2c11 = &i2c_prox;
22*f126890aSEmmanuel Vadot		i2c12 = &i2c_magnetometer;
23*f126890aSEmmanuel Vadot	};
24*f126890aSEmmanuel Vadot
25*f126890aSEmmanuel Vadot	memory@30000000 {
26*f126890aSEmmanuel Vadot		device_type = "memory";
27*f126890aSEmmanuel Vadot		reg = <0x30000000 0x05000000>,
28*f126890aSEmmanuel Vadot			<0x40000000 0x10000000>,
29*f126890aSEmmanuel Vadot			<0x50000000 0x08000000>;
30*f126890aSEmmanuel Vadot	};
31*f126890aSEmmanuel Vadot
32*f126890aSEmmanuel Vadot	reserved-memory {
33*f126890aSEmmanuel Vadot		#address-cells = <1>;
34*f126890aSEmmanuel Vadot		#size-cells = <1>;
35*f126890aSEmmanuel Vadot		ranges;
36*f126890aSEmmanuel Vadot
37*f126890aSEmmanuel Vadot		mfc_left: region@43000000 {
38*f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
39*f126890aSEmmanuel Vadot			no-map;
40*f126890aSEmmanuel Vadot			reg = <0x43000000 0x2000000>;
41*f126890aSEmmanuel Vadot		};
42*f126890aSEmmanuel Vadot
43*f126890aSEmmanuel Vadot		mfc_right: region@51000000 {
44*f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
45*f126890aSEmmanuel Vadot			no-map;
46*f126890aSEmmanuel Vadot			reg = <0x51000000 0x2000000>;
47*f126890aSEmmanuel Vadot		};
48*f126890aSEmmanuel Vadot	};
49*f126890aSEmmanuel Vadot
50*f126890aSEmmanuel Vadot	pmic_ap_clk: clock-0 {
51*f126890aSEmmanuel Vadot		/* Workaround for missing clock on PMIC */
52*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
53*f126890aSEmmanuel Vadot		#clock-cells = <0>;
54*f126890aSEmmanuel Vadot		clock-frequency = <32768>;
55*f126890aSEmmanuel Vadot	};
56*f126890aSEmmanuel Vadot
57*f126890aSEmmanuel Vadot	bt_codec: bt-sco {
58*f126890aSEmmanuel Vadot		compatible = "linux,bt-sco";
59*f126890aSEmmanuel Vadot		#sound-dai-cells = <0>;
60*f126890aSEmmanuel Vadot	};
61*f126890aSEmmanuel Vadot
62*f126890aSEmmanuel Vadot	vibrator_pwr: regulator-fixed-0 {
63*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
64*f126890aSEmmanuel Vadot		regulator-name = "vibrator-en";
65*f126890aSEmmanuel Vadot		enable-active-high;
66*f126890aSEmmanuel Vadot		gpio = <&gpj1 1 GPIO_ACTIVE_HIGH>;
67*f126890aSEmmanuel Vadot
68*f126890aSEmmanuel Vadot		pinctrl-names = "default";
69*f126890aSEmmanuel Vadot		pinctrl-0 = <&vibrator_ena>;
70*f126890aSEmmanuel Vadot	};
71*f126890aSEmmanuel Vadot
72*f126890aSEmmanuel Vadot	touchkey_vdd: regulator-fixed-1 {
73*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
74*f126890aSEmmanuel Vadot		regulator-name = "VTOUCH_3.3V";
75*f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
76*f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
77*f126890aSEmmanuel Vadot		enable-active-high;
78*f126890aSEmmanuel Vadot		gpio = <&gpj3 2 GPIO_ACTIVE_HIGH>;
79*f126890aSEmmanuel Vadot
80*f126890aSEmmanuel Vadot		pinctrl-names = "default";
81*f126890aSEmmanuel Vadot		pinctrl-0 = <&touchkey_vdd_ena>;
82*f126890aSEmmanuel Vadot	};
83*f126890aSEmmanuel Vadot
84*f126890aSEmmanuel Vadot	gp2a_vled: regulator-fixed-2 {
85*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
86*f126890aSEmmanuel Vadot		regulator-name = "VLED";
87*f126890aSEmmanuel Vadot		enable-active-high;
88*f126890aSEmmanuel Vadot		gpio = <&gpj1 4 GPIO_ACTIVE_HIGH>;
89*f126890aSEmmanuel Vadot		regulator-min-microvolt = <2800000>;
90*f126890aSEmmanuel Vadot		regulator-max-microvolt = <2800000>;
91*f126890aSEmmanuel Vadot
92*f126890aSEmmanuel Vadot		pinctrl-names = "default";
93*f126890aSEmmanuel Vadot		pinctrl-0 = <&gp2a_power>;
94*f126890aSEmmanuel Vadot	};
95*f126890aSEmmanuel Vadot
96*f126890aSEmmanuel Vadot	wifi_pwrseq: wifi-pwrseq {
97*f126890aSEmmanuel Vadot		compatible = "mmc-pwrseq-simple";
98*f126890aSEmmanuel Vadot		reset-gpios = <&gpg1 2 GPIO_ACTIVE_LOW>;
99*f126890aSEmmanuel Vadot		pinctrl-names = "default";
100*f126890aSEmmanuel Vadot		pinctrl-0 = <&wlan_gpio_rst>;
101*f126890aSEmmanuel Vadot		post-power-on-delay-ms = <500>;
102*f126890aSEmmanuel Vadot		power-off-delay-us = <500>;
103*f126890aSEmmanuel Vadot	};
104*f126890aSEmmanuel Vadot
105*f126890aSEmmanuel Vadot	i2c_sound: i2c-gpio-0 {
106*f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
107*f126890aSEmmanuel Vadot		sda-gpios = <&mp05 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
108*f126890aSEmmanuel Vadot		scl-gpios = <&mp05 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
109*f126890aSEmmanuel Vadot		i2c-gpio,delay-us = <2>;
110*f126890aSEmmanuel Vadot		#address-cells = <1>;
111*f126890aSEmmanuel Vadot		#size-cells = <0>;
112*f126890aSEmmanuel Vadot
113*f126890aSEmmanuel Vadot		pinctrl-names = "default";
114*f126890aSEmmanuel Vadot		pinctrl-0 = <&sound_i2c_pins>;
115*f126890aSEmmanuel Vadot
116*f126890aSEmmanuel Vadot		wm8994: audio-codec@1a {
117*f126890aSEmmanuel Vadot			compatible = "wlf,wm8994";
118*f126890aSEmmanuel Vadot			reg = <0x1a>;
119*f126890aSEmmanuel Vadot
120*f126890aSEmmanuel Vadot			#sound-dai-cells = <0>;
121*f126890aSEmmanuel Vadot
122*f126890aSEmmanuel Vadot			gpio-controller;
123*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
124*f126890aSEmmanuel Vadot
125*f126890aSEmmanuel Vadot			clocks = <&clocks MOUT_CLKOUT>;
126*f126890aSEmmanuel Vadot			clock-names = "MCLK1";
127*f126890aSEmmanuel Vadot
128*f126890aSEmmanuel Vadot			AVDD2-supply = <&buck3_reg>;
129*f126890aSEmmanuel Vadot			DBVDD-supply = <&buck3_reg>;
130*f126890aSEmmanuel Vadot			CPVDD-supply = <&buck3_reg>;
131*f126890aSEmmanuel Vadot			SPKVDD1-supply = <&buck3_reg>;
132*f126890aSEmmanuel Vadot			SPKVDD2-supply = <&buck3_reg>;
133*f126890aSEmmanuel Vadot
134*f126890aSEmmanuel Vadot			wlf,gpio-cfg = <0xa101 0x8100 0x0100 0x0100 0x8100
135*f126890aSEmmanuel Vadot					0xa101 0x0100 0x8100 0x0100 0x0100
136*f126890aSEmmanuel Vadot					0x0100>;
137*f126890aSEmmanuel Vadot
138*f126890aSEmmanuel Vadot			wlf,ldo1ena-gpios = <&gpf3 4 GPIO_ACTIVE_HIGH>;
139*f126890aSEmmanuel Vadot			wlf,ldo2ena-gpios = <&gpf3 4 GPIO_ACTIVE_HIGH>;
140*f126890aSEmmanuel Vadot
141*f126890aSEmmanuel Vadot			wlf,lineout1-se;
142*f126890aSEmmanuel Vadot			wlf,lineout2-se;
143*f126890aSEmmanuel Vadot
144*f126890aSEmmanuel Vadot			assigned-clocks = <&clocks MOUT_CLKOUT>;
145*f126890aSEmmanuel Vadot			assigned-clock-rates = <0>;
146*f126890aSEmmanuel Vadot			assigned-clock-parents = <&xusbxti>;
147*f126890aSEmmanuel Vadot
148*f126890aSEmmanuel Vadot			pinctrl-names = "default";
149*f126890aSEmmanuel Vadot			pinctrl-0 = <&codec_ldo>;
150*f126890aSEmmanuel Vadot		};
151*f126890aSEmmanuel Vadot	};
152*f126890aSEmmanuel Vadot
153*f126890aSEmmanuel Vadot	i2c_accel: i2c-gpio-1 {
154*f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
155*f126890aSEmmanuel Vadot		sda-gpios = <&gpj3 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
156*f126890aSEmmanuel Vadot		scl-gpios = <&gpj3 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
157*f126890aSEmmanuel Vadot		i2c-gpio,delay-us = <2>;
158*f126890aSEmmanuel Vadot		#address-cells = <1>;
159*f126890aSEmmanuel Vadot		#size-cells = <0>;
160*f126890aSEmmanuel Vadot
161*f126890aSEmmanuel Vadot		pinctrl-names = "default";
162*f126890aSEmmanuel Vadot		pinctrl-0 = <&accel_i2c_pins>;
163*f126890aSEmmanuel Vadot
164*f126890aSEmmanuel Vadot		accelerometer@38 {
165*f126890aSEmmanuel Vadot			compatible = "bosch,bma023";
166*f126890aSEmmanuel Vadot			reg = <0x38>;
167*f126890aSEmmanuel Vadot
168*f126890aSEmmanuel Vadot			vdd-supply = <&ldo9_reg>;
169*f126890aSEmmanuel Vadot			vddio-supply = <&ldo9_reg>;
170*f126890aSEmmanuel Vadot		};
171*f126890aSEmmanuel Vadot	};
172*f126890aSEmmanuel Vadot
173*f126890aSEmmanuel Vadot	i2c_pmic: i2c-gpio-2 {
174*f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
175*f126890aSEmmanuel Vadot		sda-gpios = <&gpj4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
176*f126890aSEmmanuel Vadot		scl-gpios = <&gpj4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
177*f126890aSEmmanuel Vadot		i2c-gpio,delay-us = <2>;
178*f126890aSEmmanuel Vadot		#address-cells = <1>;
179*f126890aSEmmanuel Vadot		#size-cells = <0>;
180*f126890aSEmmanuel Vadot
181*f126890aSEmmanuel Vadot		pinctrl-names = "default";
182*f126890aSEmmanuel Vadot		pinctrl-0 = <&pmic_i2c_pins>;
183*f126890aSEmmanuel Vadot
184*f126890aSEmmanuel Vadot		pmic@66 {
185*f126890aSEmmanuel Vadot			compatible = "maxim,max8998";
186*f126890aSEmmanuel Vadot			reg = <0x66>;
187*f126890aSEmmanuel Vadot			interrupt-parent = <&gph0>;
188*f126890aSEmmanuel Vadot			interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
189*f126890aSEmmanuel Vadot
190*f126890aSEmmanuel Vadot			max8998,pmic-buck1-default-dvs-idx = <1>;
191*f126890aSEmmanuel Vadot			max8998,pmic-buck1-dvs-gpios = <&gph0 3 GPIO_ACTIVE_HIGH>,
192*f126890aSEmmanuel Vadot							<&gph0 4 GPIO_ACTIVE_HIGH>;
193*f126890aSEmmanuel Vadot			max8998,pmic-buck1-dvs-voltage = <1275000>, <1200000>,
194*f126890aSEmmanuel Vadot							<1050000>, <950000>;
195*f126890aSEmmanuel Vadot
196*f126890aSEmmanuel Vadot			max8998,pmic-buck2-default-dvs-idx = <0>;
197*f126890aSEmmanuel Vadot			max8998,pmic-buck2-dvs-gpio = <&gph0 5 GPIO_ACTIVE_HIGH>;
198*f126890aSEmmanuel Vadot			max8998,pmic-buck2-dvs-voltage = <1100000>, <1000000>;
199*f126890aSEmmanuel Vadot
200*f126890aSEmmanuel Vadot			pinctrl-names = "default";
201*f126890aSEmmanuel Vadot			pinctrl-0 = <&pmic_dvs_pins &pmic_irq>;
202*f126890aSEmmanuel Vadot
203*f126890aSEmmanuel Vadot			regulators {
204*f126890aSEmmanuel Vadot				ldo2_reg: LDO2 {
205*f126890aSEmmanuel Vadot					regulator-name = "VALIVE_1.2V";
206*f126890aSEmmanuel Vadot					regulator-min-microvolt = <1200000>;
207*f126890aSEmmanuel Vadot					regulator-max-microvolt = <1200000>;
208*f126890aSEmmanuel Vadot					regulator-always-on;
209*f126890aSEmmanuel Vadot
210*f126890aSEmmanuel Vadot					regulator-state-mem {
211*f126890aSEmmanuel Vadot						regulator-on-in-suspend;
212*f126890aSEmmanuel Vadot					};
213*f126890aSEmmanuel Vadot				};
214*f126890aSEmmanuel Vadot
215*f126890aSEmmanuel Vadot				ldo3_reg: LDO3 {
216*f126890aSEmmanuel Vadot					regulator-name = "VUSB_1.1V";
217*f126890aSEmmanuel Vadot					regulator-min-microvolt = <1100000>;
218*f126890aSEmmanuel Vadot					regulator-max-microvolt = <1100000>;
219*f126890aSEmmanuel Vadot
220*f126890aSEmmanuel Vadot					regulator-state-mem {
221*f126890aSEmmanuel Vadot						regulator-off-in-suspend;
222*f126890aSEmmanuel Vadot					};
223*f126890aSEmmanuel Vadot				};
224*f126890aSEmmanuel Vadot
225*f126890aSEmmanuel Vadot				ldo4_reg: LDO4 {
226*f126890aSEmmanuel Vadot					regulator-name = "VADC_3.3V";
227*f126890aSEmmanuel Vadot					regulator-min-microvolt = <3300000>;
228*f126890aSEmmanuel Vadot					regulator-max-microvolt = <3300000>;
229*f126890aSEmmanuel Vadot
230*f126890aSEmmanuel Vadot					regulator-state-mem {
231*f126890aSEmmanuel Vadot						regulator-off-in-suspend;
232*f126890aSEmmanuel Vadot					};
233*f126890aSEmmanuel Vadot				};
234*f126890aSEmmanuel Vadot
235*f126890aSEmmanuel Vadot				ldo5_reg: LDO5 {
236*f126890aSEmmanuel Vadot					regulator-name = "VTF_2.8V";
237*f126890aSEmmanuel Vadot					regulator-min-microvolt = <2800000>;
238*f126890aSEmmanuel Vadot					regulator-max-microvolt = <2800000>;
239*f126890aSEmmanuel Vadot
240*f126890aSEmmanuel Vadot					regulator-state-mem {
241*f126890aSEmmanuel Vadot						regulator-off-in-suspend;
242*f126890aSEmmanuel Vadot					};
243*f126890aSEmmanuel Vadot				};
244*f126890aSEmmanuel Vadot
245*f126890aSEmmanuel Vadot				ldo6_reg: LDO6 {
246*f126890aSEmmanuel Vadot					regulator-name = "LDO6";
247*f126890aSEmmanuel Vadot					regulator-min-microvolt = <1600000>;
248*f126890aSEmmanuel Vadot					regulator-max-microvolt = <3600000>;
249*f126890aSEmmanuel Vadot				};
250*f126890aSEmmanuel Vadot
251*f126890aSEmmanuel Vadot				ldo7_reg: LDO7 {
252*f126890aSEmmanuel Vadot					regulator-name = "VLCD_1.8V";
253*f126890aSEmmanuel Vadot					regulator-min-microvolt = <1800000>;
254*f126890aSEmmanuel Vadot					regulator-max-microvolt = <1800000>;
255*f126890aSEmmanuel Vadot
256*f126890aSEmmanuel Vadot					regulator-state-mem {
257*f126890aSEmmanuel Vadot						regulator-off-in-suspend;
258*f126890aSEmmanuel Vadot					};
259*f126890aSEmmanuel Vadot				};
260*f126890aSEmmanuel Vadot
261*f126890aSEmmanuel Vadot				ldo8_reg: LDO8 {
262*f126890aSEmmanuel Vadot					regulator-name = "VUSB_3.3V";
263*f126890aSEmmanuel Vadot					regulator-min-microvolt = <3300000>;
264*f126890aSEmmanuel Vadot					regulator-max-microvolt = <3300000>;
265*f126890aSEmmanuel Vadot
266*f126890aSEmmanuel Vadot					regulator-state-mem {
267*f126890aSEmmanuel Vadot						regulator-off-in-suspend;
268*f126890aSEmmanuel Vadot					};
269*f126890aSEmmanuel Vadot				};
270*f126890aSEmmanuel Vadot
271*f126890aSEmmanuel Vadot				ldo9_reg: LDO9 {
272*f126890aSEmmanuel Vadot					regulator-name = "VCC_2.8V_PDA";
273*f126890aSEmmanuel Vadot					regulator-min-microvolt = <2800000>;
274*f126890aSEmmanuel Vadot					regulator-max-microvolt = <2800000>;
275*f126890aSEmmanuel Vadot					regulator-always-on;
276*f126890aSEmmanuel Vadot				};
277*f126890aSEmmanuel Vadot
278*f126890aSEmmanuel Vadot				ldo10_reg: LDO10 {
279*f126890aSEmmanuel Vadot					regulator-name = "VPLL_1.2V";
280*f126890aSEmmanuel Vadot					regulator-min-microvolt = <1200000>;
281*f126890aSEmmanuel Vadot					regulator-max-microvolt = <1200000>;
282*f126890aSEmmanuel Vadot					regulator-always-on;
283*f126890aSEmmanuel Vadot
284*f126890aSEmmanuel Vadot					regulator-state-mem {
285*f126890aSEmmanuel Vadot						regulator-on-in-suspend;
286*f126890aSEmmanuel Vadot					};
287*f126890aSEmmanuel Vadot				};
288*f126890aSEmmanuel Vadot
289*f126890aSEmmanuel Vadot				ldo11_reg: LDO11 {
290*f126890aSEmmanuel Vadot					regulator-name = "CAM_AF_3.0V";
291*f126890aSEmmanuel Vadot					regulator-min-microvolt = <3000000>;
292*f126890aSEmmanuel Vadot					regulator-max-microvolt = <3000000>;
293*f126890aSEmmanuel Vadot
294*f126890aSEmmanuel Vadot					regulator-state-mem {
295*f126890aSEmmanuel Vadot						regulator-off-in-suspend;
296*f126890aSEmmanuel Vadot					};
297*f126890aSEmmanuel Vadot				};
298*f126890aSEmmanuel Vadot
299*f126890aSEmmanuel Vadot				ldo12_reg: LDO12 {
300*f126890aSEmmanuel Vadot					regulator-name = "CAM_SENSOR_CORE_1.2V";
301*f126890aSEmmanuel Vadot					regulator-min-microvolt = <1200000>;
302*f126890aSEmmanuel Vadot					regulator-max-microvolt = <1200000>;
303*f126890aSEmmanuel Vadot
304*f126890aSEmmanuel Vadot					regulator-state-mem {
305*f126890aSEmmanuel Vadot						regulator-off-in-suspend;
306*f126890aSEmmanuel Vadot					};
307*f126890aSEmmanuel Vadot				};
308*f126890aSEmmanuel Vadot
309*f126890aSEmmanuel Vadot				ldo13_reg: LDO13 {
310*f126890aSEmmanuel Vadot					regulator-name = "VGA_VDDIO_2.8V";
311*f126890aSEmmanuel Vadot					regulator-min-microvolt = <2800000>;
312*f126890aSEmmanuel Vadot					regulator-max-microvolt = <2800000>;
313*f126890aSEmmanuel Vadot
314*f126890aSEmmanuel Vadot					regulator-state-mem {
315*f126890aSEmmanuel Vadot						regulator-off-in-suspend;
316*f126890aSEmmanuel Vadot					};
317*f126890aSEmmanuel Vadot				};
318*f126890aSEmmanuel Vadot
319*f126890aSEmmanuel Vadot				ldo14_reg: LDO14 {
320*f126890aSEmmanuel Vadot					regulator-name = "VGA_DVDD_1.8V";
321*f126890aSEmmanuel Vadot					regulator-min-microvolt = <1800000>;
322*f126890aSEmmanuel Vadot					regulator-max-microvolt = <1800000>;
323*f126890aSEmmanuel Vadot
324*f126890aSEmmanuel Vadot					regulator-state-mem {
325*f126890aSEmmanuel Vadot						regulator-off-in-suspend;
326*f126890aSEmmanuel Vadot					};
327*f126890aSEmmanuel Vadot				};
328*f126890aSEmmanuel Vadot
329*f126890aSEmmanuel Vadot				ldo15_reg: LDO15 {
330*f126890aSEmmanuel Vadot					regulator-name = "CAM_ISP_HOST_2.8V";
331*f126890aSEmmanuel Vadot					regulator-min-microvolt = <2800000>;
332*f126890aSEmmanuel Vadot					regulator-max-microvolt = <2800000>;
333*f126890aSEmmanuel Vadot
334*f126890aSEmmanuel Vadot					regulator-state-mem {
335*f126890aSEmmanuel Vadot						regulator-off-in-suspend;
336*f126890aSEmmanuel Vadot					};
337*f126890aSEmmanuel Vadot				};
338*f126890aSEmmanuel Vadot
339*f126890aSEmmanuel Vadot				ldo16_reg: LDO16 {
340*f126890aSEmmanuel Vadot					regulator-name = "VGA_AVDD_2.8V";
341*f126890aSEmmanuel Vadot					regulator-min-microvolt = <2800000>;
342*f126890aSEmmanuel Vadot					regulator-max-microvolt = <2800000>;
343*f126890aSEmmanuel Vadot
344*f126890aSEmmanuel Vadot					regulator-state-mem {
345*f126890aSEmmanuel Vadot						regulator-off-in-suspend;
346*f126890aSEmmanuel Vadot					};
347*f126890aSEmmanuel Vadot				};
348*f126890aSEmmanuel Vadot
349*f126890aSEmmanuel Vadot				ldo17_reg: LDO17 {
350*f126890aSEmmanuel Vadot					regulator-name = "VCC_3.0V_LCD";
351*f126890aSEmmanuel Vadot					regulator-min-microvolt = <3000000>;
352*f126890aSEmmanuel Vadot					regulator-max-microvolt = <3000000>;
353*f126890aSEmmanuel Vadot
354*f126890aSEmmanuel Vadot					regulator-state-mem {
355*f126890aSEmmanuel Vadot						regulator-off-in-suspend;
356*f126890aSEmmanuel Vadot					};
357*f126890aSEmmanuel Vadot				};
358*f126890aSEmmanuel Vadot
359*f126890aSEmmanuel Vadot				buck1_reg: BUCK1 {
360*f126890aSEmmanuel Vadot					regulator-name = "vddarm";
361*f126890aSEmmanuel Vadot					regulator-min-microvolt = <750000>;
362*f126890aSEmmanuel Vadot					regulator-max-microvolt = <1500000>;
363*f126890aSEmmanuel Vadot
364*f126890aSEmmanuel Vadot					regulator-state-mem {
365*f126890aSEmmanuel Vadot						regulator-off-in-suspend;
366*f126890aSEmmanuel Vadot						regulator-suspend-microvolt = <1250000>;
367*f126890aSEmmanuel Vadot					};
368*f126890aSEmmanuel Vadot				};
369*f126890aSEmmanuel Vadot
370*f126890aSEmmanuel Vadot				buck2_reg: BUCK2 {
371*f126890aSEmmanuel Vadot					regulator-name = "vddint";
372*f126890aSEmmanuel Vadot					regulator-min-microvolt = <750000>;
373*f126890aSEmmanuel Vadot					regulator-max-microvolt = <1500000>;
374*f126890aSEmmanuel Vadot
375*f126890aSEmmanuel Vadot					regulator-state-mem {
376*f126890aSEmmanuel Vadot						regulator-off-in-suspend;
377*f126890aSEmmanuel Vadot						regulator-suspend-microvolt = <1100000>;
378*f126890aSEmmanuel Vadot					};
379*f126890aSEmmanuel Vadot				};
380*f126890aSEmmanuel Vadot
381*f126890aSEmmanuel Vadot				buck3_reg: BUCK3 {
382*f126890aSEmmanuel Vadot					regulator-name = "VCC_1.8V";
383*f126890aSEmmanuel Vadot					regulator-min-microvolt = <1800000>;
384*f126890aSEmmanuel Vadot					regulator-max-microvolt = <1800000>;
385*f126890aSEmmanuel Vadot					regulator-always-on;
386*f126890aSEmmanuel Vadot				};
387*f126890aSEmmanuel Vadot
388*f126890aSEmmanuel Vadot				buck4_reg: BUCK4 {
389*f126890aSEmmanuel Vadot					regulator-name = "CAM_ISP_CORE_1.2V";
390*f126890aSEmmanuel Vadot					regulator-min-microvolt = <1200000>;
391*f126890aSEmmanuel Vadot					regulator-max-microvolt = <1200000>;
392*f126890aSEmmanuel Vadot
393*f126890aSEmmanuel Vadot					regulator-state-mem {
394*f126890aSEmmanuel Vadot						regulator-off-in-suspend;
395*f126890aSEmmanuel Vadot					};
396*f126890aSEmmanuel Vadot				};
397*f126890aSEmmanuel Vadot
398*f126890aSEmmanuel Vadot				ap32khz_reg: EN32KHz-AP {
399*f126890aSEmmanuel Vadot					regulator-name = "32KHz AP";
400*f126890aSEmmanuel Vadot					regulator-always-on;
401*f126890aSEmmanuel Vadot				};
402*f126890aSEmmanuel Vadot
403*f126890aSEmmanuel Vadot				cp32khz_reg: EN32KHz-CP {
404*f126890aSEmmanuel Vadot					regulator-name = "32KHz CP";
405*f126890aSEmmanuel Vadot				};
406*f126890aSEmmanuel Vadot
407*f126890aSEmmanuel Vadot				vichg_reg: ENVICHG {
408*f126890aSEmmanuel Vadot					regulator-name = "VICHG";
409*f126890aSEmmanuel Vadot					regulator-always-on;
410*f126890aSEmmanuel Vadot				};
411*f126890aSEmmanuel Vadot
412*f126890aSEmmanuel Vadot				safe1_sreg: ESAFEOUT1 {
413*f126890aSEmmanuel Vadot					regulator-name = "SAFEOUT1";
414*f126890aSEmmanuel Vadot				};
415*f126890aSEmmanuel Vadot
416*f126890aSEmmanuel Vadot				safe2_sreg: ESAFEOUT2 {
417*f126890aSEmmanuel Vadot					regulator-name = "SAFEOUT2";
418*f126890aSEmmanuel Vadot				};
419*f126890aSEmmanuel Vadot			};
420*f126890aSEmmanuel Vadot		};
421*f126890aSEmmanuel Vadot	};
422*f126890aSEmmanuel Vadot
423*f126890aSEmmanuel Vadot	i2c_musb: i2c-gpio-3 {
424*f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
425*f126890aSEmmanuel Vadot		sda-gpios = <&gpj3 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
426*f126890aSEmmanuel Vadot		scl-gpios = <&gpj3 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
427*f126890aSEmmanuel Vadot		i2c-gpio,delay-us = <2>;
428*f126890aSEmmanuel Vadot		#address-cells = <1>;
429*f126890aSEmmanuel Vadot		#size-cells = <0>;
430*f126890aSEmmanuel Vadot
431*f126890aSEmmanuel Vadot		pinctrl-names = "default";
432*f126890aSEmmanuel Vadot		pinctrl-0 = <&musb_i2c_pins>;
433*f126890aSEmmanuel Vadot
434*f126890aSEmmanuel Vadot		fsa9480: musb@25 {
435*f126890aSEmmanuel Vadot			compatible = "fcs,fsa9480";
436*f126890aSEmmanuel Vadot			reg = <0x25>;
437*f126890aSEmmanuel Vadot			interrupt-parent = <&gph2>;
438*f126890aSEmmanuel Vadot			interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
439*f126890aSEmmanuel Vadot
440*f126890aSEmmanuel Vadot			pinctrl-names = "default";
441*f126890aSEmmanuel Vadot			pinctrl-0 = <&musb_irq>;
442*f126890aSEmmanuel Vadot		};
443*f126890aSEmmanuel Vadot	};
444*f126890aSEmmanuel Vadot
445*f126890aSEmmanuel Vadot	i2c_fuel: i2c-gpio-4 {
446*f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
447*f126890aSEmmanuel Vadot		sda-gpios = <&mp05 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
448*f126890aSEmmanuel Vadot		scl-gpios = <&mp05 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
449*f126890aSEmmanuel Vadot		i2c-gpio,delay-us = <2>;
450*f126890aSEmmanuel Vadot		#address-cells = <1>;
451*f126890aSEmmanuel Vadot		#size-cells = <0>;
452*f126890aSEmmanuel Vadot
453*f126890aSEmmanuel Vadot		pinctrl-names = "default";
454*f126890aSEmmanuel Vadot		pinctrl-0 = <&fg_i2c_pins>;
455*f126890aSEmmanuel Vadot
456*f126890aSEmmanuel Vadot		fg: fuelgauge@36 {
457*f126890aSEmmanuel Vadot			compatible = "maxim,max17040";
458*f126890aSEmmanuel Vadot			reg = <0x36>;
459*f126890aSEmmanuel Vadot		};
460*f126890aSEmmanuel Vadot	};
461*f126890aSEmmanuel Vadot
462*f126890aSEmmanuel Vadot	i2c_touchkey: i2c-gpio-5 {
463*f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
464*f126890aSEmmanuel Vadot		sda-gpios = <&gpj3 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
465*f126890aSEmmanuel Vadot		scl-gpios = <&gpj3 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
466*f126890aSEmmanuel Vadot		i2c-gpio,delay-us = <2>;
467*f126890aSEmmanuel Vadot		#address-cells = <1>;
468*f126890aSEmmanuel Vadot		#size-cells = <0>;
469*f126890aSEmmanuel Vadot
470*f126890aSEmmanuel Vadot		pinctrl-names = "default";
471*f126890aSEmmanuel Vadot		pinctrl-0 = <&touchkey_i2c_pins>;
472*f126890aSEmmanuel Vadot
473*f126890aSEmmanuel Vadot		touchkey@20 {
474*f126890aSEmmanuel Vadot			compatible = "cypress,aries-touchkey";
475*f126890aSEmmanuel Vadot			reg = <0x20>;
476*f126890aSEmmanuel Vadot			vdd-supply = <&touchkey_vdd>;
477*f126890aSEmmanuel Vadot			vcc-supply = <&buck3_reg>;
478*f126890aSEmmanuel Vadot			linux,keycodes = <KEY_MENU KEY_BACK
479*f126890aSEmmanuel Vadot					  KEY_HOMEPAGE KEY_SEARCH>;
480*f126890aSEmmanuel Vadot			interrupt-parent = <&gpj4>;
481*f126890aSEmmanuel Vadot			interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
482*f126890aSEmmanuel Vadot
483*f126890aSEmmanuel Vadot			pinctrl-names = "default";
484*f126890aSEmmanuel Vadot			pinctrl-0 = <&touchkey_irq>;
485*f126890aSEmmanuel Vadot		};
486*f126890aSEmmanuel Vadot	};
487*f126890aSEmmanuel Vadot
488*f126890aSEmmanuel Vadot	i2c_prox: i2c-gpio-6 {
489*f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
490*f126890aSEmmanuel Vadot		sda-gpios = <&gpg2 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
491*f126890aSEmmanuel Vadot		scl-gpios = <&gpg0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
492*f126890aSEmmanuel Vadot		i2c-gpio,delay-us = <2>;
493*f126890aSEmmanuel Vadot		#address-cells = <1>;
494*f126890aSEmmanuel Vadot		#size-cells = <0>;
495*f126890aSEmmanuel Vadot
496*f126890aSEmmanuel Vadot		pinctrl-names = "default";
497*f126890aSEmmanuel Vadot		pinctrl-0 = <&prox_i2c_pins>;
498*f126890aSEmmanuel Vadot
499*f126890aSEmmanuel Vadot		light-sensor@44 {
500*f126890aSEmmanuel Vadot			compatible = "sharp,gp2ap002a00f";
501*f126890aSEmmanuel Vadot			reg = <0x44>;
502*f126890aSEmmanuel Vadot			interrupt-parent = <&gph0>;
503*f126890aSEmmanuel Vadot			interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
504*f126890aSEmmanuel Vadot			vdd-supply = <&gp2a_vled>;
505*f126890aSEmmanuel Vadot			vio-supply = <&gp2a_vled>;
506*f126890aSEmmanuel Vadot			io-channels = <&gp2a_shunt>;
507*f126890aSEmmanuel Vadot			io-channel-names = "alsout";
508*f126890aSEmmanuel Vadot			sharp,proximity-far-hysteresis = /bits/ 8 <0x40>;
509*f126890aSEmmanuel Vadot			sharp,proximity-close-hysteresis = /bits/ 8 <0x20>;
510*f126890aSEmmanuel Vadot
511*f126890aSEmmanuel Vadot			pinctrl-names = "default";
512*f126890aSEmmanuel Vadot			pinctrl-0 = <&gp2a_irq>;
513*f126890aSEmmanuel Vadot		};
514*f126890aSEmmanuel Vadot	};
515*f126890aSEmmanuel Vadot
516*f126890aSEmmanuel Vadot	i2c_magnetometer: i2c-gpio-7 {
517*f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
518*f126890aSEmmanuel Vadot		sda-gpios = <&gpj0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
519*f126890aSEmmanuel Vadot		scl-gpios = <&gpj0 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
520*f126890aSEmmanuel Vadot		i2c-gpio,delay-us = <2>;
521*f126890aSEmmanuel Vadot		#address-cells = <1>;
522*f126890aSEmmanuel Vadot		#size-cells = <0>;
523*f126890aSEmmanuel Vadot
524*f126890aSEmmanuel Vadot		pinctrl-names = "default";
525*f126890aSEmmanuel Vadot		pinctrl-0 = <&magnetometer_i2c_pins>;
526*f126890aSEmmanuel Vadot
527*f126890aSEmmanuel Vadot		status = "disabled";
528*f126890aSEmmanuel Vadot
529*f126890aSEmmanuel Vadot		/* Yamaha yas529 magnetometer, no mainline binding */
530*f126890aSEmmanuel Vadot	};
531*f126890aSEmmanuel Vadot
532*f126890aSEmmanuel Vadot	vibrator: pwm-vibrator {
533*f126890aSEmmanuel Vadot		compatible = "pwm-vibrator";
534*f126890aSEmmanuel Vadot		pwms = <&pwm 1 44642 0>;
535*f126890aSEmmanuel Vadot		pwm-names = "enable";
536*f126890aSEmmanuel Vadot		vcc-supply = <&vibrator_pwr>;
537*f126890aSEmmanuel Vadot		pinctrl-names = "default";
538*f126890aSEmmanuel Vadot		pinctrl-0 = <&pwm1_out>;
539*f126890aSEmmanuel Vadot	};
540*f126890aSEmmanuel Vadot
541*f126890aSEmmanuel Vadot	poweroff: syscon-poweroff {
542*f126890aSEmmanuel Vadot		compatible = "syscon-poweroff";
543*f126890aSEmmanuel Vadot		regmap = <&pmu_syscon>;
544*f126890aSEmmanuel Vadot		offset = <0x681c>; /* PS_HOLD_CONTROL */
545*f126890aSEmmanuel Vadot		value = <0x5200>;
546*f126890aSEmmanuel Vadot	};
547*f126890aSEmmanuel Vadot
548*f126890aSEmmanuel Vadot	spi_lcd: spi-2 {
549*f126890aSEmmanuel Vadot		compatible = "spi-gpio";
550*f126890aSEmmanuel Vadot		#address-cells = <1>;
551*f126890aSEmmanuel Vadot		#size-cells = <0>;
552*f126890aSEmmanuel Vadot
553*f126890aSEmmanuel Vadot		sck-gpios = <&mp04 1 GPIO_ACTIVE_HIGH>;
554*f126890aSEmmanuel Vadot		mosi-gpios = <&mp04 3 GPIO_ACTIVE_HIGH>;
555*f126890aSEmmanuel Vadot		cs-gpios = <&mp01 1 GPIO_ACTIVE_HIGH>;
556*f126890aSEmmanuel Vadot		num-chipselects = <1>;
557*f126890aSEmmanuel Vadot
558*f126890aSEmmanuel Vadot		pinctrl-names = "default";
559*f126890aSEmmanuel Vadot		pinctrl-0 = <&lcd_spi_pins>;
560*f126890aSEmmanuel Vadot
561*f126890aSEmmanuel Vadot		panel@0 {
562*f126890aSEmmanuel Vadot			compatible = "samsung,s6e63m0";
563*f126890aSEmmanuel Vadot			reg = <0>;
564*f126890aSEmmanuel Vadot			reset-gpios = <&mp05 5 GPIO_ACTIVE_LOW>;
565*f126890aSEmmanuel Vadot			vdd3-supply = <&ldo7_reg>;
566*f126890aSEmmanuel Vadot			vci-supply = <&ldo17_reg>;
567*f126890aSEmmanuel Vadot			spi-max-frequency = <1200000>;
568*f126890aSEmmanuel Vadot
569*f126890aSEmmanuel Vadot			pinctrl-names = "default";
570*f126890aSEmmanuel Vadot			pinctrl-0 = <&panel_rst>;
571*f126890aSEmmanuel Vadot
572*f126890aSEmmanuel Vadot			port {
573*f126890aSEmmanuel Vadot				lcd_ep: endpoint {
574*f126890aSEmmanuel Vadot					remote-endpoint = <&fimd_ep>;
575*f126890aSEmmanuel Vadot				};
576*f126890aSEmmanuel Vadot			};
577*f126890aSEmmanuel Vadot		};
578*f126890aSEmmanuel Vadot	};
579*f126890aSEmmanuel Vadot};
580*f126890aSEmmanuel Vadot
581*f126890aSEmmanuel Vadot&adc {
582*f126890aSEmmanuel Vadot	vdd-supply = <&ldo4_reg>;
583*f126890aSEmmanuel Vadot
584*f126890aSEmmanuel Vadot	status = "okay";
585*f126890aSEmmanuel Vadot
586*f126890aSEmmanuel Vadot	gp2a_shunt: current-sense-shunt {
587*f126890aSEmmanuel Vadot		compatible = "current-sense-shunt";
588*f126890aSEmmanuel Vadot		io-channels = <&adc 9>;
589*f126890aSEmmanuel Vadot		shunt-resistor-micro-ohms = <47000000>; /* 47 ohms */
590*f126890aSEmmanuel Vadot		#io-channel-cells = <0>;
591*f126890aSEmmanuel Vadot	};
592*f126890aSEmmanuel Vadot};
593*f126890aSEmmanuel Vadot
594*f126890aSEmmanuel Vadot&fimd {
595*f126890aSEmmanuel Vadot	pinctrl-names = "default";
596*f126890aSEmmanuel Vadot	pinctrl-0 = <&lcd_clk &lcd_data24>;
597*f126890aSEmmanuel Vadot	status = "okay";
598*f126890aSEmmanuel Vadot
599*f126890aSEmmanuel Vadot	samsung,invert-vden;
600*f126890aSEmmanuel Vadot	samsung,invert-vclk;
601*f126890aSEmmanuel Vadot
602*f126890aSEmmanuel Vadot	#address-cells = <1>;
603*f126890aSEmmanuel Vadot	#size-cells = <0>;
604*f126890aSEmmanuel Vadot
605*f126890aSEmmanuel Vadot	port@3 {
606*f126890aSEmmanuel Vadot		reg = <3>;
607*f126890aSEmmanuel Vadot		fimd_ep: endpoint {
608*f126890aSEmmanuel Vadot			remote-endpoint = <&lcd_ep>;
609*f126890aSEmmanuel Vadot		};
610*f126890aSEmmanuel Vadot	};
611*f126890aSEmmanuel Vadot};
612*f126890aSEmmanuel Vadot
613*f126890aSEmmanuel Vadot&hsotg {
614*f126890aSEmmanuel Vadot	vusb_a-supply = <&ldo8_reg>;
615*f126890aSEmmanuel Vadot	vusb_d-supply = <&ldo3_reg>;
616*f126890aSEmmanuel Vadot	dr_mode = "peripheral";
617*f126890aSEmmanuel Vadot	status = "okay";
618*f126890aSEmmanuel Vadot};
619*f126890aSEmmanuel Vadot
620*f126890aSEmmanuel Vadot&i2c2 {
621*f126890aSEmmanuel Vadot	samsung,i2c-sda-delay = <100>;
622*f126890aSEmmanuel Vadot	samsung,i2c-max-bus-freq = <400000>;
623*f126890aSEmmanuel Vadot	samsung,i2c-slave-addr = <0x10>;
624*f126890aSEmmanuel Vadot	status = "okay";
625*f126890aSEmmanuel Vadot
626*f126890aSEmmanuel Vadot	touchscreen@4a {
627*f126890aSEmmanuel Vadot		compatible = "atmel,maxtouch";
628*f126890aSEmmanuel Vadot		reg = <0x4a>;
629*f126890aSEmmanuel Vadot		interrupt-parent = <&gpj0>;
630*f126890aSEmmanuel Vadot		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
631*f126890aSEmmanuel Vadot		pinctrl-names = "default";
632*f126890aSEmmanuel Vadot		pinctrl-0 = <&ts_irq>;
633*f126890aSEmmanuel Vadot		reset-gpios = <&gpj1 3 GPIO_ACTIVE_LOW>;
634*f126890aSEmmanuel Vadot	};
635*f126890aSEmmanuel Vadot};
636*f126890aSEmmanuel Vadot
637*f126890aSEmmanuel Vadot&i2s0 {
638*f126890aSEmmanuel Vadot	dmas = <&pdma0 10>, <&pdma0 9>, <&pdma0 11>;
639*f126890aSEmmanuel Vadot	status = "okay";
640*f126890aSEmmanuel Vadot};
641*f126890aSEmmanuel Vadot
642*f126890aSEmmanuel Vadot&mfc {
643*f126890aSEmmanuel Vadot	memory-region = <&mfc_left>, <&mfc_right>;
644*f126890aSEmmanuel Vadot};
645*f126890aSEmmanuel Vadot
646*f126890aSEmmanuel Vadot&pinctrl0 {
647*f126890aSEmmanuel Vadot	bt_reset: bt-reset-pins {
648*f126890aSEmmanuel Vadot		samsung,pins = "gpb-3";
649*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
650*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
651*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
652*f126890aSEmmanuel Vadot	};
653*f126890aSEmmanuel Vadot
654*f126890aSEmmanuel Vadot	wlan_bt_en: wlan-bt-en-pins {
655*f126890aSEmmanuel Vadot		samsung,pins = "gpb-5";
656*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
657*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
658*f126890aSEmmanuel Vadot		samsung,pin-val = <1>;
659*f126890aSEmmanuel Vadot	};
660*f126890aSEmmanuel Vadot
661*f126890aSEmmanuel Vadot	codec_ldo: codec-ldo-pins {
662*f126890aSEmmanuel Vadot		samsung,pins = "gpf3-4";
663*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
664*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
665*f126890aSEmmanuel Vadot	};
666*f126890aSEmmanuel Vadot
667*f126890aSEmmanuel Vadot	prox_i2c_pins: gp2a-i2c-pins {
668*f126890aSEmmanuel Vadot		samsung,pins = "gpg0-2", "gpg2-2";
669*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
670*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
671*f126890aSEmmanuel Vadot	};
672*f126890aSEmmanuel Vadot
673*f126890aSEmmanuel Vadot	wlan_gpio_rst: wlan-gpio-rst-pins {
674*f126890aSEmmanuel Vadot		samsung,pins = "gpg1-2";
675*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
676*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
677*f126890aSEmmanuel Vadot	};
678*f126890aSEmmanuel Vadot
679*f126890aSEmmanuel Vadot	bt_wake: bt-wake-pins {
680*f126890aSEmmanuel Vadot		samsung,pins = "gpg3-4";
681*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
682*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
683*f126890aSEmmanuel Vadot	};
684*f126890aSEmmanuel Vadot
685*f126890aSEmmanuel Vadot	gp2a_irq: gp2a-irq-pins {
686*f126890aSEmmanuel Vadot		samsung,pins = "gph0-2";
687*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_F>;
688*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_DOWN>;
689*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
690*f126890aSEmmanuel Vadot	};
691*f126890aSEmmanuel Vadot
692*f126890aSEmmanuel Vadot	pmic_dvs_pins: pmic-dvs-pins {
693*f126890aSEmmanuel Vadot		samsung,pins = "gph0-3", "gph0-4", "gph0-5";
694*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
695*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
696*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
697*f126890aSEmmanuel Vadot		samsung,pin-val = <0>;
698*f126890aSEmmanuel Vadot	};
699*f126890aSEmmanuel Vadot
700*f126890aSEmmanuel Vadot	pmic_irq: pmic-irq-pins {
701*f126890aSEmmanuel Vadot		samsung,pins = "gph0-7";
702*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_F>;
703*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
704*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
705*f126890aSEmmanuel Vadot	};
706*f126890aSEmmanuel Vadot
707*f126890aSEmmanuel Vadot	wifi_host_wake: wifi-host-wake-pins {
708*f126890aSEmmanuel Vadot		samsung,pins = "gph2-4";
709*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_INPUT>;
710*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_DOWN>;
711*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
712*f126890aSEmmanuel Vadot	};
713*f126890aSEmmanuel Vadot
714*f126890aSEmmanuel Vadot	bt_host_wake: bt-host-wake-pins {
715*f126890aSEmmanuel Vadot		samsung,pins = "gph2-5";
716*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_INPUT>;
717*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_DOWN>;
718*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
719*f126890aSEmmanuel Vadot	};
720*f126890aSEmmanuel Vadot
721*f126890aSEmmanuel Vadot	musb_irq: musq-irq-pins {
722*f126890aSEmmanuel Vadot		samsung,pins = "gph2-7";
723*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_INPUT>;
724*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
725*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
726*f126890aSEmmanuel Vadot	};
727*f126890aSEmmanuel Vadot
728*f126890aSEmmanuel Vadot	tf_detect: tf-detect-pins {
729*f126890aSEmmanuel Vadot		samsung,pins = "gph3-4";
730*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_INPUT>;
731*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_DOWN>;
732*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
733*f126890aSEmmanuel Vadot	};
734*f126890aSEmmanuel Vadot
735*f126890aSEmmanuel Vadot	wifi_wake: wifi-wake-pins {
736*f126890aSEmmanuel Vadot		samsung,pins = "gph3-5";
737*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
738*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
739*f126890aSEmmanuel Vadot	};
740*f126890aSEmmanuel Vadot
741*f126890aSEmmanuel Vadot	magnetometer_i2c_pins: yas529-i2c-pins {
742*f126890aSEmmanuel Vadot		samsung,pins = "gpj0-0", "gpj0-1";
743*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
744*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
745*f126890aSEmmanuel Vadot	};
746*f126890aSEmmanuel Vadot
747*f126890aSEmmanuel Vadot	ts_irq: ts-irq-pins {
748*f126890aSEmmanuel Vadot		samsung,pins = "gpj0-5";
749*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_INPUT>;
750*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
751*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
752*f126890aSEmmanuel Vadot	};
753*f126890aSEmmanuel Vadot
754*f126890aSEmmanuel Vadot	vibrator_ena: vibrator-ena-pins {
755*f126890aSEmmanuel Vadot		samsung,pins = "gpj1-1";
756*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
757*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
758*f126890aSEmmanuel Vadot	};
759*f126890aSEmmanuel Vadot
760*f126890aSEmmanuel Vadot	gp2a_power: gp2a-power-pins {
761*f126890aSEmmanuel Vadot		samsung,pins = "gpj1-4";
762*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
763*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
764*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
765*f126890aSEmmanuel Vadot	};
766*f126890aSEmmanuel Vadot
767*f126890aSEmmanuel Vadot	touchkey_i2c_pins: touchkey-i2c-pins {
768*f126890aSEmmanuel Vadot		samsung,pins = "gpj3-0", "gpj3-1";
769*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
770*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
771*f126890aSEmmanuel Vadot	};
772*f126890aSEmmanuel Vadot
773*f126890aSEmmanuel Vadot	touchkey_vdd_ena: touchkey-vdd-ena-pins {
774*f126890aSEmmanuel Vadot		samsung,pins = "gpj3-2";
775*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
776*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
777*f126890aSEmmanuel Vadot	};
778*f126890aSEmmanuel Vadot
779*f126890aSEmmanuel Vadot	musb_i2c_pins: musb-i2c-pins {
780*f126890aSEmmanuel Vadot		samsung,pins = "gpj3-4", "gpj3-5";
781*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
782*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
783*f126890aSEmmanuel Vadot	};
784*f126890aSEmmanuel Vadot
785*f126890aSEmmanuel Vadot	accel_i2c_pins: accel-i2c-pins {
786*f126890aSEmmanuel Vadot		samsung,pins = "gpj3-6", "gpj3-7";
787*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
788*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
789*f126890aSEmmanuel Vadot	};
790*f126890aSEmmanuel Vadot
791*f126890aSEmmanuel Vadot	pmic_i2c_pins: pmic-i2c-pins {
792*f126890aSEmmanuel Vadot		samsung,pins = "gpj4-0", "gpj4-3";
793*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
794*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
795*f126890aSEmmanuel Vadot	};
796*f126890aSEmmanuel Vadot
797*f126890aSEmmanuel Vadot	touchkey_irq: touchkey-irq-pins {
798*f126890aSEmmanuel Vadot		samsung,pins = "gpj4-1";
799*f126890aSEmmanuel Vadot		samsung,pin-function = <S5PV210_PIN_FUNC_INPUT>;
800*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_UP>;
801*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
802*f126890aSEmmanuel Vadot	};
803*f126890aSEmmanuel Vadot
804*f126890aSEmmanuel Vadot	lcd_spi_pins: spi-lcd-pins {
805*f126890aSEmmanuel Vadot		samsung,pins = "mp01-1", "mp04-1", "mp04-3";
806*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
807*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
808*f126890aSEmmanuel Vadot	};
809*f126890aSEmmanuel Vadot
810*f126890aSEmmanuel Vadot	fg_i2c_pins: fg-i2c-pins {
811*f126890aSEmmanuel Vadot		samsung,pins = "mp05-0", "mp05-1";
812*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
813*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
814*f126890aSEmmanuel Vadot	};
815*f126890aSEmmanuel Vadot
816*f126890aSEmmanuel Vadot	sound_i2c_pins: sound-i2c-pins {
817*f126890aSEmmanuel Vadot		samsung,pins = "mp05-2", "mp05-3";
818*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
819*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
820*f126890aSEmmanuel Vadot	};
821*f126890aSEmmanuel Vadot
822*f126890aSEmmanuel Vadot	panel_rst: panel-rst-pins {
823*f126890aSEmmanuel Vadot		samsung,pins = "mp05-5";
824*f126890aSEmmanuel Vadot		samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
825*f126890aSEmmanuel Vadot		samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
826*f126890aSEmmanuel Vadot	};
827*f126890aSEmmanuel Vadot};
828*f126890aSEmmanuel Vadot
829*f126890aSEmmanuel Vadot&pwm {
830*f126890aSEmmanuel Vadot	samsung,pwm-outputs = <1>;
831*f126890aSEmmanuel Vadot};
832*f126890aSEmmanuel Vadot
833*f126890aSEmmanuel Vadot&rtc {
834*f126890aSEmmanuel Vadot	clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>;
835*f126890aSEmmanuel Vadot	clock-names = "rtc", "rtc_src";
836*f126890aSEmmanuel Vadot};
837*f126890aSEmmanuel Vadot
838*f126890aSEmmanuel Vadot&sdhci1 {
839*f126890aSEmmanuel Vadot	#address-cells = <1>;
840*f126890aSEmmanuel Vadot	#size-cells = <0>;
841*f126890aSEmmanuel Vadot
842*f126890aSEmmanuel Vadot	bus-width = <4>;
843*f126890aSEmmanuel Vadot	max-frequency = <38400000>;
844*f126890aSEmmanuel Vadot	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4 &wifi_wake &wifi_host_wake &wlan_bt_en>;
845*f126890aSEmmanuel Vadot	pinctrl-names = "default";
846*f126890aSEmmanuel Vadot	cap-sd-highspeed;
847*f126890aSEmmanuel Vadot	cap-mmc-highspeed;
848*f126890aSEmmanuel Vadot	keep-power-in-suspend;
849*f126890aSEmmanuel Vadot
850*f126890aSEmmanuel Vadot	mmc-pwrseq = <&wifi_pwrseq>;
851*f126890aSEmmanuel Vadot	non-removable;
852*f126890aSEmmanuel Vadot	status = "okay";
853*f126890aSEmmanuel Vadot
854*f126890aSEmmanuel Vadot	assigned-clocks = <&clocks MOUT_MMC1>, <&clocks SCLK_MMC1>;
855*f126890aSEmmanuel Vadot	assigned-clock-rates = <0>, <50000000>;
856*f126890aSEmmanuel Vadot	assigned-clock-parents = <&clocks MOUT_MPLL>;
857*f126890aSEmmanuel Vadot
858*f126890aSEmmanuel Vadot	wlan@1 {
859*f126890aSEmmanuel Vadot		reg = <1>;
860*f126890aSEmmanuel Vadot		compatible = "brcm,bcm4329-fmac";
861*f126890aSEmmanuel Vadot		interrupt-parent = <&gph2>;
862*f126890aSEmmanuel Vadot		interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
863*f126890aSEmmanuel Vadot		interrupt-names = "host-wake";
864*f126890aSEmmanuel Vadot	};
865*f126890aSEmmanuel Vadot};
866*f126890aSEmmanuel Vadot
867*f126890aSEmmanuel Vadot&sdhci2 {
868*f126890aSEmmanuel Vadot	bus-width = <4>;
869*f126890aSEmmanuel Vadot	cd-gpios = <&gph3 4 GPIO_ACTIVE_LOW>;
870*f126890aSEmmanuel Vadot	vmmc-supply = <&ldo5_reg>;
871*f126890aSEmmanuel Vadot	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &tf_detect>;
872*f126890aSEmmanuel Vadot	pinctrl-names = "default";
873*f126890aSEmmanuel Vadot	status = "okay";
874*f126890aSEmmanuel Vadot
875*f126890aSEmmanuel Vadot	assigned-clocks = <&clocks MOUT_MMC2>, <&clocks SCLK_MMC2>;
876*f126890aSEmmanuel Vadot	assigned-clock-rates = <0>, <50000000>;
877*f126890aSEmmanuel Vadot	assigned-clock-parents = <&clocks MOUT_MPLL>;
878*f126890aSEmmanuel Vadot};
879*f126890aSEmmanuel Vadot
880*f126890aSEmmanuel Vadot&uart0 {
881*f126890aSEmmanuel Vadot	assigned-clocks = <&clocks MOUT_UART0>, <&clocks SCLK_UART0>;
882*f126890aSEmmanuel Vadot	assigned-clock-rates = <0>, <111166667>;
883*f126890aSEmmanuel Vadot	assigned-clock-parents = <&clocks MOUT_MPLL>;
884*f126890aSEmmanuel Vadot
885*f126890aSEmmanuel Vadot	status = "okay";
886*f126890aSEmmanuel Vadot
887*f126890aSEmmanuel Vadot	bluetooth {
888*f126890aSEmmanuel Vadot		compatible = "brcm,bcm4329-bt";
889*f126890aSEmmanuel Vadot		max-speed = <3000000>;
890*f126890aSEmmanuel Vadot		pinctrl-names = "default";
891*f126890aSEmmanuel Vadot		pinctrl-0 = <&uart0_data &uart0_fctl &bt_host_wake
892*f126890aSEmmanuel Vadot			     &bt_reset &bt_wake>;
893*f126890aSEmmanuel Vadot		shutdown-gpios = <&gpb 3 GPIO_ACTIVE_HIGH>;
894*f126890aSEmmanuel Vadot		device-wakeup-gpios = <&gpg3 4 GPIO_ACTIVE_HIGH>;
895*f126890aSEmmanuel Vadot		interrupt-parent = <&gph2>;
896*f126890aSEmmanuel Vadot		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
897*f126890aSEmmanuel Vadot		interrupt-names = "host-wakeup";
898*f126890aSEmmanuel Vadot	};
899*f126890aSEmmanuel Vadot};
900*f126890aSEmmanuel Vadot
901*f126890aSEmmanuel Vadot&uart1 {
902*f126890aSEmmanuel Vadot	status = "okay";
903*f126890aSEmmanuel Vadot};
904*f126890aSEmmanuel Vadot
905*f126890aSEmmanuel Vadot&uart2 {
906*f126890aSEmmanuel Vadot	status = "okay";
907*f126890aSEmmanuel Vadot};
908*f126890aSEmmanuel Vadot
909*f126890aSEmmanuel Vadot&usbphy {
910*f126890aSEmmanuel Vadot	status = "okay";
911*f126890aSEmmanuel Vadot	vbus-supply = <&safe1_sreg>;
912*f126890aSEmmanuel Vadot};
913*f126890aSEmmanuel Vadot
914*f126890aSEmmanuel Vadot&xusbxti {
915*f126890aSEmmanuel Vadot	clock-frequency = <24000000>;
916*f126890aSEmmanuel Vadot};
917